Update to FreeType 2.9.1

Change-Id: Id9fd666d5ee6b7ca0c5f3befa054b714d5440f5a
diff --git a/.gitignore b/.gitignore
index b5db9d8..a47f568 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,3 @@
 config.mk
 objs/vc2010/
+build
diff --git a/.mailmap b/.mailmap
index a3c5f94..c406e23 100644
--- a/.mailmap
+++ b/.mailmap
@@ -5,3 +5,5 @@
 Suzuki, Toshiya (鈴木俊哉) <mpsuzuki@hiroshima-u.ac.jp> <sssa@flavor1.ipc.hiroshima-u.ac.jp>
 Suzuki, Toshiya (鈴木俊哉) <mpsuzuki@hiroshima-u.ac.jp> sssa <sssa@IPA2004-mps.local>
 Suzuki, Toshiya (鈴木俊哉) <mpsuzuki@hiroshima-u.ac.jp> suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+Ben Wagner <bungeman@gmail.com> Bungeman <bungeman@gmail.com>
+Ewald Hew (Hew Yih Shiuan 丘毅宣) <ewaldhew@gmail.com>
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 6631fde..ad8ded0 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,9 +1,9 @@
 # CMakeLists.txt
 #
-# Copyright 2013-2015 by
+# Copyright 2013-2018 by
 # David Turner, Robert Wilhelm, and Werner Lemberg.
 #
-# Written by John Cary <cary@txcorp.com>
+# Written originally by John Cary <cary@txcorp.com>
 #
 # This file is part of the FreeType project, and may only be used, modified,
 # and distributed under the terms of the FreeType project license,
@@ -12,45 +12,84 @@
 # fully.
 #
 #
-# Say
+# The following will 1. create a build directory and 2. change into it and
+# call cmake to configure the build with default parameters as a static
+# library.
 #
-#   cmake CMakeLists.txt
-#
-# to create a Makefile that builds a static version of the library.
+#   cmake -E make_directory build
+#   cmake -E chdir build cmake ..
 #
 # For a dynamic library, use
 #
-#   cmake CMakeLists.txt -DBUILD_SHARED_LIBS:BOOL=true
+#   cmake -E chdir build cmake -D BUILD_SHARED_LIBS:BOOL=true ..
 #
 # For a framework on OS X, use
 #
-#   cmake CMakeLists.txt -DBUILD_FRAMEWORK:BOOL=true -G Xcode
-#
-# instead.
+#   cmake -E chdir build cmake -G Xcode -D BUILD_FRAMEWORK:BOOL=true ..
 #
 # For an iOS static library, use
 #
-#   cmake CMakeLists.txt -DIOS_PLATFORM=OS -G Xcode
+#   cmake -E chdir build cmake -G Xcode -D IOS_PLATFORM=OS ..
 #
 # or
 #
-#   cmake CMakeLists.txt -DIOS_PLATFORM=SIMULATOR -G Xcode
+#   cmake -E chdir build cmake -G Xcode -D IOS_PLATFORM=SIMULATOR ..
+#
+# Finally, build the project with:
+#
+#   cmake --build build
+#
+# Install it with
+#
+#   (sudo) cmake --build build --target install
+#
+# A binary distribution can be made with
+#
+#   cmake --build build --config Release --target package
 #
 # Please refer to the cmake manual for further options, in particular, how
 # to modify compilation and linking parameters.
 #
 # Some notes.
 #
-# . `cmake' will overwrite FreeType's original (top-level) `Makefile' file.
+# . `cmake' creates configuration files in
+#
+#     <build-directory>/include/freetype/config
+#
+#   which should be further modified if necessary.
 #
 # . You can use `cmake' directly on a freshly cloned FreeType git
 #   repository.
 #
-# . `CMakeLists.txt'  is provided as-is since it is not used by the
+# . `CMakeLists.txt' is provided as-is since it is normally not used by the
 #   developer team.
+#
+# . Set the `FT_WITH_ZLIB', `FT_WITH_BZIP2', `FT_WITH_PNG', and
+#   `FT_WITH_HARFBUZZ' CMake variables to `ON' to force using a dependency.
+#   Leave a variable undefined (which is the default) to use the dependency
+#   only if it is available.  Set `CMAKE_DISABLE_FIND_PACKAGE_HarfBuzz=TRUE' to
+#   disable a dependency completely (CMake package name, so `BZip2' instead of
+#   `BZIP2'). Example:
+#
+#     cmake -DFT_WITH_ZLIB=ON -DCMAKE_DISABLE_FIND_PACKAGE_HarfBuzz=TRUE [...]
+#
+# . Installation of FreeType can be controlled with the CMake variables
+#   `SKIP_INSTALL_HEADERS', `SKIP_INSTALL_LIBRARIES', and `SKIP_INSTALL_ALL'
+#   (this is compatible with the same CMake variables in zlib's CMake
+#   support).
 
+# FreeType explicitly marks the API to be exported and relies on the compiler
+# to hide all other symbols. CMake supports a C_VISBILITY_PRESET property
+# starting with 2.8.12.
+cmake_minimum_required(VERSION 2.8.12)
 
-cmake_minimum_required(VERSION 2.6)
+if (NOT CMAKE_VERSION VERSION_LESS 3.3)
+  # Allow symbol visibility settings also on static libraries. CMake < 3.3
+  # only sets the propery on a shared library build.
+  cmake_policy(SET CMP0063 NEW)
+endif ()
+
+include(CheckIncludeFile)
 
 # CMAKE_TOOLCHAIN_FILE must be set before `project' is called, which
 # configures the base build environment and references the toolchain file
@@ -78,7 +117,7 @@
     set(BUILD_SHARED_LIBS OFF)
 
     set(CMAKE_TOOLCHAIN_FILE
-      ${PROJECT_SOURCE_DIR}/builds/cmake/iOS.cmake)
+      ${CMAKE_SOURCE_DIR}/builds/cmake/iOS.cmake)
   endif ()
 else ()
   if (DEFINED IOS_PLATFORM)
@@ -86,7 +125,49 @@
   endif ()
 endif ()
 
-project(freetype)
+
+project(freetype C)
+
+set(VERSION_MAJOR "2")
+set(VERSION_MINOR "9")
+set(VERSION_PATCH "1")
+
+# SOVERSION scheme: CURRENT.AGE.REVISION
+#   If there was an incompatible interface change:
+#     Increment CURRENT. Set AGE and REVISION to 0
+#   If there was a compatible interface change:
+#     Increment AGE. Set REVISION to 0
+#   If the source code was changed, but there were no interface changes:
+#     Increment REVISION.
+set(LIBRARY_VERSION "6.16.0")
+set(LIBRARY_SOVERSION "6")
+
+# These options mean "require x and complain if not found". They'll get
+# optionally found anyway. Use `-DCMAKE_DISABLE_FIND_PACKAGE_x=TRUE` to disable
+# searching for a packge entirely (x is the CMake package name, so "BZip2"
+# instead of "BZIP2").
+option(FT_WITH_ZLIB "Use system zlib instead of internal library." OFF)
+option(FT_WITH_BZIP2 "Support bzip2 compressed fonts." OFF)
+option(FT_WITH_PNG "Support PNG compressed OpenType embedded bitmaps." OFF)
+option(FT_WITH_HARFBUZZ "Improve auto-hinting of OpenType fonts." OFF)
+
+
+# Disallow in-source builds
+if ("${PROJECT_BINARY_DIR}" STREQUAL "${PROJECT_SOURCE_DIR}")
+  message(FATAL_ERROR
+    "In-source builds are not permitted!  Make a separate folder for"
+    " building, e.g.,\n"
+    "  cmake -E make_directory build\n"
+    "  cmake -E chdir build cmake ..\n"
+    "Before that, remove the files created by this failed run with\n"
+    "  cmake -E remove CMakeCache.txt\n"
+    "  cmake -E remove_directory CMakeFiles")
+endif ()
+
+
+# Add local cmake modules
+list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/builds/cmake)
+
 
 if (BUILD_FRAMEWORK)
   if (NOT "${CMAKE_GENERATOR}" STREQUAL "Xcode")
@@ -97,67 +178,114 @@
   set(BUILD_SHARED_LIBS ON)
 endif ()
 
-set(VERSION_MAJOR "2")
-set(VERSION_MINOR "6")
-set(VERSION_PATCH "0")
-set(PROJECT_VERSION ${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH})
 
-# Compiler definitions for building the library
-add_definitions(-DFT2_BUILD_LIBRARY)
+# Find dependencies
+if (FT_WITH_HARFBUZZ)
+  find_package(HarfBuzz 1.3.0 REQUIRED)
+else ()
+  find_package(HarfBuzz 1.3.0)
+endif ()
 
-# Specify library include directories
-include_directories("${PROJECT_SOURCE_DIR}/include")
+if (FT_WITH_PNG)
+  find_package(PNG REQUIRED)
+else ()
+  find_package(PNG)
+endif ()
+
+if (FT_WITH_ZLIB)
+  find_package(ZLIB REQUIRED)
+else ()
+  find_package(ZLIB)
+endif ()
+
+if (FT_WITH_BZIP2)
+  find_package(BZip2 REQUIRED)
+else ()
+  find_package(BZip2)
+endif ()
 
 # Create the configuration file
-message(STATUS "Creating directory, ${PROJECT_BINARY_DIR}/include/freetype2.")
-file(MAKE_DIRECTORY ${PROJECT_BINARY_DIR}/include/freetype2)
+if (UNIX)
+  check_include_file("unistd.h" HAVE_UNISTD_H)
+  check_include_file("fcntl.h" HAVE_FCNTL_H)
+  check_include_file("stdint.h" HAVE_STDINT_H)
 
-# For the auto-generated ftconfig.h file
-include_directories(BEFORE "${PROJECT_BINARY_DIR}/include/freetype2")
-message(STATUS "Creating ${PROJECT_BINARY_DIR}/include/freetype2/ftconfig.h.")
-execute_process(
-  COMMAND sed -e "s/FT_CONFIG_OPTIONS_H/<ftoption.h>/" -e "s/FT_CONFIG_STANDARD_LIBRARY_H/<ftstdlib.h>/" -e "s?/undef ?#undef ?"
-  INPUT_FILE ${PROJECT_SOURCE_DIR}/builds/unix/ftconfig.in
-  OUTPUT_FILE ${PROJECT_BINARY_DIR}/include/freetype2/ftconfig.h
-)
+  file(READ "${PROJECT_SOURCE_DIR}/builds/unix/ftconfig.in"
+    FTCONFIG_H)
+  if (HAVE_UNISTD_H)
+    string(REGEX REPLACE
+      "#undef +(HAVE_UNISTD_H)" "#define \\1 1"
+      FTCONFIG_H "${FTCONFIG_H}")
+  endif ()
+  if (HAVE_FCNTL_H)
+    string(REGEX REPLACE
+      "#undef +(HAVE_FCNTL_H)" "#define \\1 1"
+      FTCONFIG_H "${FTCONFIG_H}")
+  endif ()
+  if (HAVE_STDINT_H)
+    string(REGEX REPLACE
+      "#undef +(HAVE_STDINT_H)" "#define \\1 1"
+      FTCONFIG_H "${FTCONFIG_H}")
+  endif ()
+  string(REPLACE "/undef " "#undef "
+    FTCONFIG_H "${FTCONFIG_H}")
+  file(WRITE "${PROJECT_BINARY_DIR}/include/freetype/config/ftconfig.h"
+    "${FTCONFIG_H}")
+endif ()
 
-file(GLOB PUBLIC_HEADERS "include/*.h")
-file(GLOB PUBLIC_CONFIG_HEADERS "include/config/*.h")
-file(GLOB PRIVATE_HEADERS "include/internal/*.h")
+
+# Create the options file
+file(READ "${PROJECT_SOURCE_DIR}/include/freetype/config/ftoption.h"
+  FTOPTION_H)
+if (ZLIB_FOUND)
+  string(REGEX REPLACE
+    "/\\* +(#define +FT_CONFIG_OPTION_SYSTEM_ZLIB) +\\*/" "\\1"
+    FTOPTION_H "${FTOPTION_H}")
+endif ()
+if (BZIP2_FOUND)
+  string(REGEX REPLACE
+    "/\\* +(#define +FT_CONFIG_OPTION_USE_BZIP2) +\\*/" "\\1"
+    FTOPTION_H "${FTOPTION_H}")
+endif ()
+if (PNG_FOUND)
+  string(REGEX REPLACE
+    "/\\* +(#define +FT_CONFIG_OPTION_USE_PNG) +\\*/" "\\1"
+    FTOPTION_H "${FTOPTION_H}")
+endif ()
+if (HARFBUZZ_FOUND)
+  string(REGEX REPLACE
+    "/\\* +(#define +FT_CONFIG_OPTION_USE_HARFBUZZ) +\\*/" "\\1"
+    FTOPTION_H "${FTOPTION_H}")
+endif ()
+file(WRITE "${PROJECT_BINARY_DIR}/include/freetype/config/ftoption.h"
+  "${FTOPTION_H}")
+
+
+file(GLOB PUBLIC_HEADERS "include/ft2build.h" "include/freetype/*.h")
+file(GLOB PUBLIC_CONFIG_HEADERS "include/freetype/config/*.h")
+file(GLOB PRIVATE_HEADERS "include/freetype/internal/*.h")
+
 
 set(BASE_SRCS
   src/autofit/autofit.c
-  src/base/ftadvanc.c
+  src/base/ftbase.c
   src/base/ftbbox.c
   src/base/ftbdf.c
   src/base/ftbitmap.c
-  src/base/ftcalc.c
   src/base/ftcid.c
-  src/base/ftdbgmem.c
-  src/base/ftdebug.c
-  src/base/ftfntfmt.c
   src/base/ftfstype.c
   src/base/ftgasp.c
-  src/base/ftgloadr.c
   src/base/ftglyph.c
   src/base/ftgxval.c
   src/base/ftinit.c
-  src/base/ftlcdfil.c
   src/base/ftmm.c
-  src/base/ftobjs.c
   src/base/ftotval.c
-  src/base/ftoutln.c
   src/base/ftpatent.c
   src/base/ftpfr.c
-  src/base/ftrfork.c
-  src/base/ftsnames.c
-  src/base/ftstream.c
   src/base/ftstroke.c
   src/base/ftsynth.c
   src/base/ftsystem.c
-  src/base/fttrigon.c
   src/base/fttype1.c
-  src/base/ftutil.c
   src/base/ftwinfnt.c
   src/bdf/bdf.c
   src/bzip2/ftbzip2.c
@@ -170,7 +298,7 @@
   src/pfr/pfr.c
   src/psaux/psaux.c
   src/pshinter/pshinter.c
-  src/psnames/psmodule.c
+  src/psnames/psnames.c
   src/raster/raster.c
   src/sfnt/sfnt.c
   src/smooth/smooth.c
@@ -180,21 +308,26 @@
   src/winfonts/winfnt.c
 )
 
-include_directories("src/truetype")
-include_directories("src/sfnt")
-include_directories("src/autofit")
-include_directories("src/smooth")
-include_directories("src/raster")
-include_directories("src/psaux")
-include_directories("src/psnames")
+if (WIN32)
+  enable_language(RC)
+  list(APPEND BASE_SRCS builds/windows/ftdebug.c
+                        src/base/ftver.rc)
+elseif (WINCE)
+  list(APPEND BASE_SRCS builds/wince/ftdebug.c)
+else ()
+  list(APPEND BASE_SRCS src/base/ftdebug.c)
+endif ()
 
 if (BUILD_FRAMEWORK)
-  set(BASE_SRCS
-    ${BASE_SRCS}
-    builds/mac/freetype-Info.plist
-  )
+  list(APPEND BASE_SRCS builds/mac/freetype-Info.plist)
 endif ()
 
+
+if (NOT DISABLE_FORCE_DEBUG_POSTFIX)
+  set(CMAKE_DEBUG_POSTFIX d)
+endif()
+
+
 add_library(freetype
   ${PUBLIC_HEADERS}
   ${PUBLIC_CONFIG_HEADERS}
@@ -202,6 +335,36 @@
   ${BASE_SRCS}
 )
 
+set_target_properties(
+  freetype PROPERTIES
+    C_VISIBILITY_PRESET hidden)
+
+target_compile_definitions(
+  freetype PRIVATE FT2_BUILD_LIBRARY)
+
+if (WIN32)
+  target_compile_definitions(
+    freetype PRIVATE _CRT_SECURE_NO_WARNINGS _CRT_NONSTDC_NO_WARNINGS)
+endif ()
+
+if (BUILD_SHARED_LIBS)
+  set_target_properties(freetype PROPERTIES
+    VERSION ${LIBRARY_VERSION}
+    SOVERSION ${LIBRARY_SOVERSION})
+endif ()
+
+target_include_directories(
+  freetype BEFORE  # Pick up ftconfig.h and ftoption.h generated above.
+    PRIVATE "${PROJECT_BINARY_DIR}/include")
+
+target_include_directories(
+  freetype
+    PRIVATE "${PROJECT_SOURCE_DIR}/include")
+
+target_include_directories(
+  freetype
+    PUBLIC $<INSTALL_INTERFACE:include/freetype2>)
+
 if (BUILD_FRAMEWORK)
   set_property(SOURCE ${PUBLIC_CONFIG_HEADERS}
     PROPERTY MACOSX_PACKAGE_LOCATION Headers/config
@@ -214,40 +377,121 @@
   )
 endif ()
 
-# Installations
-# Note the trailing slash in the argument to the `DIRECTORY' directive
-install(DIRECTORY ${PROJECT_SOURCE_DIR}/include/
-  DESTINATION include/freetype2
-  PATTERN "internal" EXCLUDE
-)
-install(TARGETS freetype
-  RUNTIME DESTINATION bin
-  LIBRARY DESTINATION lib
-  ARCHIVE DESTINATION lib
-  FRAMEWORK DESTINATION Library/Frameworks
-)
+
+set(PKG_CONFIG_REQUIRED_PRIVATE "")
+
+if (ZLIB_FOUND)
+  target_link_libraries(freetype PRIVATE ${ZLIB_LIBRARIES})
+  target_include_directories(freetype PRIVATE ${ZLIB_INCLUDE_DIRS})
+  list(APPEND PKG_CONFIG_REQUIRED_PRIVATE zlib)
+endif ()
+if (BZIP2_FOUND)
+  target_link_libraries(freetype PRIVATE ${BZIP2_LIBRARIES})
+  target_include_directories(freetype PRIVATE ${BZIP2_INCLUDE_DIR}) # not BZIP2_INCLUDE_DIRS
+  list(APPEND PKG_CONFIG_REQUIRED_PRIVATE bzip2)
+endif ()
+if (PNG_FOUND)
+  target_link_libraries(freetype PRIVATE ${PNG_LIBRARIES})
+  target_compile_definitions(freetype PRIVATE ${PNG_DEFINITIONS})
+  target_include_directories(freetype PRIVATE ${PNG_INCLUDE_DIRS})
+  list(APPEND PKG_CONFIG_REQUIRED_PRIVATE libpng)
+endif ()
+if (HARFBUZZ_FOUND)
+  target_link_libraries(freetype PRIVATE ${HARFBUZZ_LIBRARIES})
+  target_include_directories(freetype PRIVATE ${HARFBUZZ_INCLUDE_DIRS})
+  list(APPEND PKG_CONFIG_REQUIRED_PRIVATE harfbuzz)
+endif ()
+
+
+# Installation
+include(GNUInstallDirs)
+
+if (NOT SKIP_INSTALL_HEADERS AND NOT SKIP_INSTALL_ALL)
+  install(
+    # Note the trailing slash in the argument to `DIRECTORY'!
+    DIRECTORY ${PROJECT_SOURCE_DIR}/include/
+      DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/freetype2
+      COMPONENT headers
+      PATTERN "internal" EXCLUDE
+      PATTERN "ftconfig.h" EXCLUDE
+      PATTERN "ftoption.h" EXCLUDE)
+  install(
+    FILES ${PROJECT_BINARY_DIR}/include/freetype/config/ftconfig.h
+          ${PROJECT_BINARY_DIR}/include/freetype/config/ftoption.h
+      DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/freetype2/freetype/config
+      COMPONENT headers)
+endif ()
+
+if (NOT SKIP_INSTALL_LIBRARIES AND NOT SKIP_INSTALL_ALL)
+  # Generate the pkg-config file
+  if (UNIX)
+    file(READ ${PROJECT_SOURCE_DIR}/builds/unix/freetype2.in FREETYPE2_PC_IN)
+
+    string(REPLACE ";" ", " PKG_CONFIG_REQUIRED_PRIVATE "${PKG_CONFIG_REQUIRED_PRIVATE}")
+
+    string(REPLACE "%prefix%" ${CMAKE_INSTALL_PREFIX}
+           FREETYPE2_PC_IN ${FREETYPE2_PC_IN})
+    string(REPLACE "%exec_prefix%" "\${prefix}"
+           FREETYPE2_PC_IN ${FREETYPE2_PC_IN})
+    string(REPLACE "%libdir%" "\${prefix}/${CMAKE_INSTALL_LIBDIR}"
+           FREETYPE2_PC_IN ${FREETYPE2_PC_IN})
+    string(REPLACE "%includedir%" "\${prefix}/${CMAKE_INSTALL_INCLUDEDIR}"
+           FREETYPE2_PC_IN ${FREETYPE2_PC_IN})
+    string(REPLACE "%ft_version%" "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}"
+           FREETYPE2_PC_IN ${FREETYPE2_PC_IN})
+    string(REPLACE "%REQUIRES_PRIVATE%" "${PKG_CONFIG_REQUIRED_PRIVATE}"
+           FREETYPE2_PC_IN ${FREETYPE2_PC_IN})
+    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})
+
+    install(
+      FILES ${PROJECT_BINARY_DIR}/freetype2.pc
+      DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig
+      COMPONENT pkgconfig)
+  endif ()
+
+  install(
+    TARGETS freetype
+      EXPORT freetype-targets
+      LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+      ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
+      FRAMEWORK DESTINATION Library/Frameworks
+      COMPONENT libraries)
+  install(
+    EXPORT freetype-targets
+      DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/freetype
+      FILE freetype-config.cmake
+      COMPONENT headers)
+endif ()
+
 
 # Packaging
-# CPack version numbers for release tarball name.
+set(CPACK_PACKAGE_NAME ${CMAKE_PROJECT_NAME})
+set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "The FreeType font rendering library.")
+set(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/README")
+set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/docs/LICENSE.TXT")
+
 set(CPACK_PACKAGE_VERSION_MAJOR ${VERSION_MAJOR})
 set(CPACK_PACKAGE_VERSION_MINOR ${VERSION_MINOR})
-set(CPACK_PACKAGE_VERSION_PATCH ${VERSION_PATCH}})
-if (NOT DEFINED CPACK_PACKAGE_DESCRIPTION_SUMMARY)
-  set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "${CMAKE_PROJECT_NAME}")
-endif ()
-if (NOT DEFINED CPACK_SOURCE_PACKAGE_FILE_NAME)
-  set(CPACK_SOURCE_PACKAGE_FILE_NAME
-    "${CMAKE_PROJECT_NAME}-${PROJECT_VERSION}-r${PROJECT_REV}"
-    CACHE INTERNAL "tarball basename"
-  )
-endif ()
-set(CPACK_SOURCE_GENERATOR TGZ)
-set(CPACK_SOURCE_IGNORE_FILES
-  "/CVS/;/.svn/;.swp$;.#;/#;/build/;/serial/;/ser/;/parallel/;/par/;~;/preconfig.out;/autom4te.cache/;/.config")
-set(CPACK_GENERATOR TGZ)
+set(CPACK_PACKAGE_VERSION_PATCH ${VERSION_PATCH})
+set(CPACK_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}")
+
+if (WIN32)
+  set(CPACK_GENERATOR ZIP)
+else()
+  set(CPACK_GENERATOR TGZ)
+endif()
+
+set(CPACK_COMPONENT_LIBRARIES_DISPLAY_NAME "Libraries")
+set(CPACK_COMPONENT_HEADERS_DISPLAY_NAME "C/C++ Headers")
+set(CPACK_COMPONENT_LIBRARIES_DESCRIPTION
+  "Library used to build programs which use FreeType")
+set(CPACK_COMPONENT_HEADERS_DESCRIPTION
+  "C/C++ header files for use with FreeType")
+set(CPACK_COMPONENT_HEADERS_DEPENDS libraries)
+set(CPACK_COMPONENT_LIBRARIES_GROUP "Development")
+set(CPACK_COMPONENT_HEADERS_GROUP "Development")
+
 include(CPack)
-
-# add make dist target
-add_custom_target(dist COMMAND ${CMAKE_MAKE_PROGRAM} package_source)
-
-# eof
diff --git a/ChangeLog b/ChangeLog
index fea19b9..806b835 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,16 +1,16 @@
-2015-06-07  Werner Lemberg  <wl@gnu.org>
+2018-05-01  Werner Lemberg  <wl@gnu.org>
 
-	* Version 2.6 released.
-	=======================
+	* Version 2.9.1 released.
+	=========================
 
 
-	Tag sources with `VER-2-6'.
+	Tag sources with `VER-2-9-1'.
 
-	* docs/VERSION.DLL: Update documentation and bump version number to
-	2.6.
+	* docs/VERSION.TXT: Add entry for version 2.9.1.
+	* docs/CHANGES: Updated.
 
 	* README, Jamfile (RefDoc), builds/windows/vc2005/freetype.vcproj,
-	builds/windows/vc2005/index.html,
+	src/base/ftver.rc, builds/windows/vc2005/index.html,
 	builds/windows/vc2008/freetype.vcproj,
 	builds/windows/vc2008/index.html,
 	builds/windows/vc2010/freetype.vcxproj,
@@ -24,485 +24,271 @@
 	builds/wince/vc2005-ce/freetype.vcproj,
 	builds/wince/vc2005-ce/index.html,
 	builds/wince/vc2008-ce/freetype.vcproj,
-	builds/wince/vc2008-ce/index.html: s/2.5.5/2.6/, s/255/26/.
+	builds/wince/vc2008-ce/index.html: s/2.9/2.9.1/, s/29/291/.
 
-	* include/freetype/freetype.h (FREETYPE_MINOR): Set to 6.
-	(FREETYPE_PATCH): Set to 0.
+	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 1.
 
-	* builds/unix/configure.raw (version_info): Set to 18:0:12.
-	* CMakeLists.txt (VERSION_MINOR): Set to 0.
-	(VERSION_PATCH): Set to 6.
+	* builds/unix/configure.raw (version_info): Set to 22:1:16.
+	* CMakeLists.txt (VERSION_PATCH): Set to 1.
 
-	* src/autofit/afmodule.c [!FT_MAKE_OPTION_SINGLE_OBJECT]: Add
-	declarations for dumping functions.
+	* include/freetype/ftgasp.h: Use FT_BEGIN_HEADER and FT_END_HEADER.
 
-	* src/truetype/ttinterp.c (TT_New_Context): Pacify compiler.
+2018-04-26  Werner Lemberg  <wl@gnu.org>
 
-	* builds/toplevel.mk: Use `freetype.mk's code to compute the version
-	string.
-	Don't include a zero patch level in version string.
-	* builds/freetype.mk: Remove code for computing the version string.
+	Another fix for handling invalid format 2 cmaps.
 
-2015-06-06  Ashish Azad  <ashish.azad@samsung.com>
+	Sigh.
 
-	Fix Savannah bug #45260.
+	Reported as
 
-	* src/pfr/pfrdrivr.c (pfr_get_kerning): Fix typo.
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=8003
 
-2015-06-03  Werner Lemberg  <wl@gnu.org>
+	* src/sfnt/ttcmap.c (tt_cmap2_char_next): Adjust condition to avoid
+	an endless loop.
 
-	[truetype] Fix memory leak.
+2018-04-24  Ben Wagner  <bungeman@google.com>
 
-	Problem reported by Grissiom <chaos.proton@gmail.com>; in
+	[base] Avoid undefined behaviour in lcd filtering code (#53727).
 
-	  http://lists.nongnu.org/archive/html/freetype/2015-05/msg00013.html
+	* src/base/ftlcdfil.c (ft_lcd_filter_fir, _ft_lcd_filter_legacy):
+	Ensure `height > 0'.
 
-	there is an example code to trigger the bug.
+2018-04-22  Werner Lemberg  <wl@gnu.org>
 
-	* src/truetype/ttobjs.c (tt_size_init_bytecode): Free old `size'
-	data before allocating again.  Bug most probably introduced four
-	years ago in version 2.4.3.
+	* src/base/ftoutln.c (FT_Outline_Decompose): Improve error tracing.
 
-2015-06-02  Werner Lemberg  <wl@gnu.org>
+2018-04-22  Alexei Podtelezhnikov  <apodtele@gmail.com>
 
-	[raster] Add more tracing.
+	[base] Fix bitmap emboldening.
 
-	* src/raster/ftraster.c (FT_TRACE7) [_STANDALONE_]: Define.
-	(Vertical_Sweep_Span, Vertical_Sweep_Drop, Horizontal_Sweep_Span,
-	Horizontal_Sweep_Drop, Render_Glyph): Add tracing calls.
+	Bug introduced after release 2.8.
 
-2015-06-01  Werner Lemberg  <wl@gnu.org>
+	* 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.
 
-	[truetype] While tracing opcodes, show code position and stack.
+2018-04-22  Werner Lemberg  <wl@gnu.org>
 
-	* src/truetype/ttinterp.c: Change all existing TRACE7 calls to
-	TRACE6.
-	(opcode_name): Add string lengths.
-	(TT_RunIns): Implement display of code position and stack.
+	Another fix for handling invalid format 2 cmaps.
 
-2015-05-31  Werner Lemberg  <wl@gnu.org>
+	The previous commit was incomplete.
 
-	[truetype] In GX, make private point numbers work correctly.
+	Reported as
 
-	This is completely missing in Apple's documentation: If a `gvar'
-	tuple uses private point numbers (this is, deltas are specified for
-	some points only), the uncovered points must be interpolated for
-	this tuple similar to the IUP bytecode instruction.  Examples that
-	need this functionality are glyphs `Oslash' and `Q' in Skia.ttf.
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=7928
 
-	* src/truetype/ttgxvar.c (tt_delta_shift, tt_delta_interpolate,
-	tt_handle_deltas): New functions.
-	(TT_Vary_Get_Glyph_Deltas): Renamed to...
-	(TT_Vary_Apply_Glyph_Deltas): ... this; it directly processes the
-	points and does no longer return an array of deltas.
-	Add tracing information.
-	Call `tt_handle_deltas' to interpolate missing deltas.
-	Also fix a minor memory leak in case of error.
+	* src/sfnt/ttcmap.c (tt_cmap2_char_next): Adjust condition to avoid
+	an endless loop.
 
-	* src/truetype/ttgxvar.h: Updated.
+2018-04-19  Werner Lemberg  <wl@gnu.org
 
-	* src/truetype/ttgload.c (TT_Process_Simple_Glyph,
-	load_truetype_glyph): Updated.
+	[autofit] Add support for Georgian Mtavruli characters.
 
-2015-05-31  Werner Lemberg  <wl@gnu.org>
+	This will be part of the forthcoming Unicode 11.0.
 
-	[truetype] In GX, make intermediate tuplets work at extrema.
-
-	* src/truetype/ttgxvar.c (ft_var_apply_tuple): Fix range condition.
-
-2015-05-31  Werner Lemberg  <wl@gnu.org>
-
-	[truetype] Add tracing information to GX code.
-
-	* src/truetype/ttgxvar.c (ft_var_load_avar, ft_var_load_gvar,
-	ft_var_apply_tuple, TT_Get_MM_Var, TT_Set_MM_Blend,
-	TT_Set_Var_Design, tt_face_vary_cvt): Do it.
-
-2015-05-28  Werner Lemberg  <wl@gnu.org>
-
-	* src/tools/apinames.c (names_dump): Fix invalid reference.
-
-	Problem reported by Guzman Mosqueda, Jose R
-	<jose.r.guzman.mosqueda@intel.com>.
-
-2015-05-24  Werner Lemberg  <wl@gnu.org>
-
-	[truetype] Fix commit from 2015-05-22.
-
-	* src/truetype/ttgload.c, src/truetype/ttinterp.c: Guard new code
-	with `TT_CONFIG_OPTION_SUBPIXEL_HINTING'.
-
-	Problem reported by Nikolaus Waxweiler <madigens@gmail.com>.
-
-2015-05-23  Werner Lemberg  <wl@gnu.org>
-
-	[truetype] Fix return values of GETINFO bytecode instruction.
-
-	* src/truetype/ttinterp.h (TT_ExecContextRec): New fields
-	`vertical_lcd' and `gray_cleartype'.
-
-	* src/truetype/ttgload.c (tt_loader_init): Initialize new fields.
-	Change `symmetrical smoothing' to TRUE, since FreeType produces
-	exactly this.
-
-	* src/truetype/ttinterp.c (Ins_GETINFO): Fix selector/return bit
-	values for symmetrical smoothing, namely 11/18.
-	Handle bits for vertical LCD subpixels (8/15) and Gray ClearType
-	(12/19).
-
-2015-05-23  Werner Lemberg  <wl@gnu.org>
-
-	[truetype] Minor.
-
-	* src/truetype/ttinterp.h (TT_ExecContext):
-	 s/subpixel/subpixel_hinting.
-
-	* src/truetype/ttgload.c, src/truetype/ttgload.h: Updated.
-
-2015-05-22  Werner Lemberg  <wl@gnu.org>
-
-	[truetype] Support selector index 3 of the INSTCTRL instruction.
-
-	This flag activates `native ClearType hinting', disabling backwards
-	compatibility mode as described in Greg Hitchcocks whitepaper.  In
-	other words, it enables unrestricted functionality of all TrueType
-	instructions in ClearType.
-
-	* src/truetype/ttgload.c (tt_get_metrics): Call `sph_set_tweaks'
-	unconditionally.
-	(tt_loader_init): Unset `ignore_x_mode' flag if bit 2 of
-	`GS.instruct_control' is active.
-
-	* src/truetype/ttinterp.c (Ins_INSTCTRL): Handle selector index 3.
-	(Ins_GETINFO): Updated.
-
-	* docs/CHANGES: Document it.
-
-2015-05-20  Werner Lemberg  <wl@gnu.org>
-
-	[truetype] Minor.
-
-	* src/truetype/ttinterp.h (SetSuperRound): Fix type of `GridPeriod'
-	argument.
-
-2015-05-17  Werner Lemberg  <wl@gnu.org>
-
-	[truetype] Fix loading of composite glyphs.
-
-	* src/truetype/ttgload.c (TT_Load_Composite_Glyph): If the
-	ARGS_ARE_XY_VALUES flag is not set, handle argument values as
-	unsigned.  I trust `ttx' (which has exactly such code) that it does
-	the right thing here...
-
-	The reason that noone has ever noticed this bug is probably the fact
-	that point-aligned subglyphs are rare, as are subglyphs with a
-	number of points in the range [128;255], which is quite large (or
-	even in the range [32768;65535], which is extremely unlikely).
-
-2015-05-12  Chris Liddell  <chris.liddell@artifex.com>
-
-	[cff] Make the `*curveto' operators more tolerant.
-
-	* src/cff/cf2intrp.c (cf2_interpT2CharString): The opcodes
-	`vvcurveto', `hhcurveto', `vhcurveto', and `hvcurveto' all iterate,
-	pulling values off the stack until the stack is exhausted.
-	Implicitly the stack must be a multiple (or for subtly different
-	behaviour) a multiple plus a specific number of extra values deep.
-	If that's not the case, enforce it (as the old code did).
-
-2015-05-12  Chris Liddell  <chris.liddell@artifex.com>
-
-	[cff] fix incremental interface with new cff code.
-
-	* src/cff/cf2ft.c (cf2_getSeacComponent): When using the incremental
-	interface to retrieve glyph data for a SEAC, it be left to the
-	incremental interface callback to apply the encoding to raw
-	character index (as it was in the previous code).
-
-2015-04-29  Alexei Podtelezhnikov <apodtele@gmail.com>
-
-	[autofit] Speed up IUP.
-
-	* src/autofit/afhints.c (af_iup_interp): Separate trivial snapping to
-	the same position from true interpolation, use `scale' to reduce
-	divisions.
-
-2015-04-28  Werner Lemberg  <wl@gnu.org>
-
-	[cff] Use `name' table for PS name if we have a SFNT-CFF.
-
-	This follows the OpenType 1.7 specification.  See
-
-	  http://tug.org/pipermail/tex-live/2015-April/036634.html
-
-	for a discussion.
-
-	* src/cff/cffdrivr.c (cff_get_ps_name): Use the `sfnt' service if we
-	have an SFNT.
-
-2015-04-27  Alexei Podtelezhnikov <apodtele@gmail.com>
-
-	[truetype] Speed up IUP.
-
-	* src/truetype/ttinterp.c (_iup_worker_interpolate): Separate trivial
-	snapping to the same position from true interpolation.
-
-2015-04-21  Werner Lemberg  <wl@gnu.org>
-
-	[autofit] By default, enable warping code but switch off warping.
-
-	Suggested by Behdad.
-
-	* include/config/ftoption.h: Define AF_CONFIG_OPTION_USE_WARPER.
-
-	* src/autofit/afmodule.c (af_autofitter_init): Initialize `warping'
-	with `false'.
-
-2015-04-21  Werner Lemberg  <wl@gnu.org>
-
-	* docs/CHANGES: Updated.
-
-2015-04-21  Werner Lemberg  <wl@gnu.org>
-
-	[autofit] Introduce `warping' property.
-
-	This code replaces the debugging hook from the previous commit with
-	a better, more generic solution.
-
-	* include/ftautoh.h: Document it.
-
-	* src/autofit/afmodule.h (AF_ModuleRec)
-	[AF_CONFIG_OPTION_USE_WARPER]: Add `warping' field.
-
-	* src/autofit/afmodule.c (_af_debug_disable_warper): Remove.
-	(af_property_set, af_property_get, af_autofitter_init)
-	[AF_CONFIG_OPTION_USE_WARPER]: Handle `warping' option.
-
-	* src/autofit/afhints.h (AF_HINTS_DO_WARP): Remove use of the no
-	longer existing `_af_debug_disable_warper'.
-
-	* src/autofit/afcjk.c (af_cjk_hints_init), src/autofit/aflatin.c
-	(af_latin_hints_init), src/autofit/aflatin2.c (af_latin2_hints_init)
-	[AF_CONFIG_OPTION_USE_WARPER]: Add `AF_SCALER_FLAG_NO_WARPER' to the
-	scaler flags if warping is off.
-
-	* src/autofit/aftypes.h: Updated.
-
-2015-04-16  Werner Lemberg  <wl@gnu.org>
-
-	[autofit] Add debugging hook to disable warper.
-
-	* src/autofit/afmodule.c (_af_debug_disable_warper)
-	[FT_DEBUG_AUTOFIT]: New global variable.
-
-	* src/autofit/aftypes.h: Updated.
-	(AF_SCALER_FLAG_NO_WARPER): New macro (not actively used yet).
-
-	* src/autofit/afhints.h (AF_HINTS_DO_WARP): New macro.
-
-	* src/autofi/aflatin.c (af_latin_hints_apply)
-	[AF_CONFIG_OPTION_USE_WARPER]: Use `AF_HINTS_DO_WARP' to control use
-	of warper.
-
-	* src/autofit/afcjk.c (af_cjk_hints_init, af_cjk_hints_apply)
-	[AF_CONFIG_OPTION_USE_WARPER]: Synchronize with `aflatin.c'.
-
-	* src/autofit/aflatin2.c (af_latin2_hints_apply)
-	[AF_CONFIG_OPTION_USE_WARPER]: Synchronize with `aflatin.c'.
-
-2015-04-10  Werner Lemberg  <wl@gnu.org>
-
-	[cff] Update advance width handling to OpenType 1.7.
-
-	Problem reported by Behdad.
-
-	* src/cff/cffdrivr.c (cff_get_advances): Handle SFNT case
-	separately.
-
-	* src/cff/cffgload.c (cff_slot_load): Use advance width and side
-	bearing values from `hmtx' table if present.
-
-2015-04-03  Alexei Podtelezhnikov <apodtele@gmail.com>
-
-	* src/autofit/afhints.c (af_glyph_hints_reload): Use do-while loop.
-
-2015-04-02  Alexei Podtelezhnikov <apodtele@gmail.com>
-
-	* src/autofit/aflatin.c (af_latin_hint_edges): Reduce logic.
-
-2015-04-01  Alexei Podtelezhnikov <apodtele@gmail.com>
-
-	[autofit] Finish the thought.
-
-	* src/autofit/afhints.c (af_direction_compute): make sure the long arm
-	is never negative so that its `FT_ABS' is not necessary.
-
-2015-04-01  Werner Lemberg  <wl@gnu.org>
-
-	[autofit] Call dumper functions for tracing.
-
-	* src/autofit/afcjk.c (af_cjk_hints_apply): Remove dead code.
-	* src/autofit/afhints.c (af_glyph_hints_dump_points): Minor
-	improvement.
-	* src/autofit/afmodule.c (af_autofitter_load_glyph): Implement it.
-
-2015-04-01  Werner Lemberg  <wl@gnu.org>
-
-	[autofit] Make debugging stuff work again.
-
-	The interface to ftgrid was broken in the series of commits starting
-	with
-
-	  [autofit] Allocate AF_Loader on the stack instead of AF_Module.
-
-	from 2015-01-14.
-
-	* src/autofit/afmodule.c (_af_debug_hints_rec) [FT_DEBUG_AUTOFIT]:
-	Use a global AF_GlyphHintsRec object for debugging.
-	(af_autofitter_done, af_autofitter_load_glyph): Updated.
-
-	* src/autofit/afloader.c (af_loader_init, af_loader_done): Updated.
-
-2015-04-01  Werner Lemberg  <wl@gnu.org>
-
-	* src/autofit/afhints.c (af_glyph_hints_done): Fix minor thinko.
-
-2015-03-29  Werner Lemberg  <wl@gnu.org>
-
-	[cff] Fix Savannah bug #44629.
-
-	* src/cff/cf2font.h (CF2_MAX_SUBR), src/cff/cffgload.h
-	(CFF_MAX_SUBRS_CALLS): Set to 16.
-
-2015-03-29  Werner Lemberg  <wl@gnu.org>
-
-	[type1, truetype] Make the MM API more flexible w.r.t. `num_coords'.
-
-	This commit allows `num_coords' to be larger or smaller than the
-	number of available axes while selecting a design instance, either
-	ignoring excess data or using defaults if data is missing.
-
-	* src/truetype/ttgxvar.c (TT_Set_MM_Blend, TT_Set_Var_Design):
-	Implement it.
-
-	* src/type1/t1load.c (T1_Set_MM_Blend, T1_Set_MM_Design,
-	T1_Set_Var_Design): Ditto.
-
-2015-03-29  Werner Lemberg  <wl@gnu.org>
-
-	[type1] Minor.
-
-	* src/type1/t1load.c (T1_Set_MM_Blend, T1_Set_MM_Design): Use
-	FT_THROW.
-	(T1_Set_Var_Design): Use T1_MAX_MM_AXIS and FT_THROW.
-
-2015-03-27  Werner Lemberg  <wl@gnu.org>
-
-	[cff] Trace charstring nesting levels.
-
-	* src/cff/cf2intrp.c (cf2_interpT2CharString) <cf2_cmdCALLGSUBR,
-	cf2_cmdCALLSUBR, cf2_cmdRETURN>: Implement it.
-
-	* src/cff/cffgload.c (cff_decoder_parse_charstrings)
-	<cff_op_callsubr, cff_op_callgsubr, cff_op_return>: Ditto.
-
-2015-03-21  Alexei Podtelezhnikov <apodtele@gmail.com>
-
-	[base] Optimize `FT_Angle_Diff'.
-
-	Under normal circumstances we are usually close to the desired range
-	of angle values, so that the remainder is not really necessary.
-
-	* src/base/fttrigon.c (FT_Angle_Diff): Use loops instead of remainder.
-
-	* src/autofit/aftypes.h (AF_ANGLE_DIFF): Ditto in the unused macro.
-
-2015-03-21  Werner Lemberg  <wl@gnu.org>
-
-	[truetype] Improve `gvar' handling.
-
-	* src/truetype/ttgxvar.c (ft_var_readpackedpoints): Correctly handle
-	single-element runs.  Cf. glyph `Q' in Skia.ttf with weights larger
-	than the default.
-
-2015-03-20  Alexei Podtelezhnikov <apodtele@gmail.com>
-
-	* src/base/fttrigon.c (FT_Vector_Rotate): Minor refactoring.
-
-2015-03-17  Alexei Podtelezhnikov <apodtele@gmail.com>
-
-	Fix Savannah bug #44412 (part 2).
-
-	* src/base/fttrigon.c (FT_Sin, FT_Cos, FT_Tan): Call `FT_Vector_Unit'.
-
-2015-03-11  Werner Lemberg  <wl@gnu.org>
-
-	[autofit] Add support for Arabic script.
-
-	Thanks to Titus Nemeth <tn@tntypography.eu> for guidance!
-
-	* src/autofit/afblue.dat: Add blue zone data for Arabic.
-
+	* src/autofit/afblue.dat: Add blue zone data for Mtavruli.
 	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
 
-	* src/autofit/afscript.h: Add Arabic standard characters.
+	* src/autofit/afscript.h: Add Mtavruli standard character.
 
-	* src/autofit/afranges.c: Add Arabic data.
+2018-04-18  Werner Lemberg  <wl@gnu.org>
 
-	* src/autofit/afstyles.h: Add Arabic data.
+	Fix handling of invalid format 2 cmaps.
 
-	* docs/CHANGES: Document it.
+	The problem was introduced after the last release.
 
-2015-03-11  Werner Lemberg  <wl@gnu.org>
+	Reported as
 
-	Rename `svxf86nm.h' to `svfntfmt.h'; update related symbols.
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=7828
 
-	* include/internal/ftserv.h (FT_SERVICE_XFREE86_NAME_H): Renamed
-	to...
-	(FT_SERVICE_FONT_FORMAT_H): This.
+	* src/sfnt/ttcmap.c (tt_cmap2_char_next): Avoid endless loop.
 
-	* include/internal/services/svfntfmt.h (FT_XF86_FORMAT_*): Renamed
-	to ...
-	(FT_FONT_FORMAT_*): This.
+2018-04-17  Werner Lemberg  <wl@gnu.org>
 
-	src/base/ftfntfmt.c, src/bdf/bdfdrivr.c, src/cff/cffdrivr.c,
-	src/cid/cidriver.c, src/pcf/pcfdrivr.c, src/pfr/pfrdrivr.c,
-	src/truetype/ttdriver.c, src/type1/t1driver.c,
-	src/type42/t42drivr.c, src/winfonts/winfnt.c: Updated.
+	[truetype] Integer overflow issues.
 
-2015-03-11  Werner Lemberg  <wl@gnu.org>
+	Reported as
 
-	[base] Rename `FT_XFREE86_H' to `FT_FONT_FORMATS_H'.
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=7739
 
-	* include/config/ftheader.h: Implement it.
-	* src/base/ftfntfmt.c, docs/CHANGES: Updated.
+	* src/truetype/ttinterp.c (Ins_CEILING): Use FT_PIX_CEIL_LONG.
 
-2015-03-11  Werner Lemberg  <wl@gnu.org>
+2018-04-16  Werner Lemberg  <wl@gnu.org>
 
-	[base] Rename `FT_Get_X11_Font_Format' to `FT_Get_Font_Format'.
+	[truetype] Integer overflow issues.
 
-	* include/ftfntfmt.h, src/base/ftfntfmt.c: Implement it.
+	Reported as
 
-	* docs/CHANGES: Updated.
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=7718
 
-2015-03-11  Werner Lemberg  <wl@gnu.org>
+	* src/truetype/ttinterp.c (Ins_MIRP): Use ADD_LONG.
 
-	Fix automatic copyright updating.
+2018-04-15  Alexei Podtelezhnikov  <apodtele@gmail.com>
 
-	* src/tools/update-copyright: Make scanning of `no-copyright'
-	actually work.
+	[build] Use `info' function of make 3.81.
 
-	* src/tools/no-copyright: Don't include README in general.
+	* configure, docs/INSTALL, docs/INSTALL.CROSS, docs/INSTALL.GNU,
+	docs/INSTALL.UNIX, docs/MAKEPP: Bump make version requirements.
 
-2015-03-11  Werner Lemberg  <wl@gnu.org>
+	* 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.
 
-	Rename `ftxf86.[ch]' to `ftfntfmt.[ch]'.
+2018-04-15  Werner Lemberg  <wl@gnu.org>
 
-	CMakeLists.txt, builds/amiga/makefile, builds/amiga/makefile.os4,
+	[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 maintainters 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/bld.inf,
+	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,
@@ -512,6275 +298,2045 @@
 	builds/windows/visualc/freetype.dsp,
 	builds/windows/visualc/freetype.vcproj,
 	builds/windows/visualce/freetype.dsp,
-	builds/windows/visualce/freetype.vcproj, docs/INSTALL.ANY,
-	include/config/ftheader.h, include/ftfntfmt.h, modules.cfg,
-	src/base/ftfntfmt.c, vms_make.com: Updated.
+	builds/windows/visualce/freetype.vcproj, vms_make.com: Do it.
 
-2015-03-10  Alexei Podtelezhnikov <apodtele@gmail.com>
+2018-03-13  Werner Lemberg  <wl@gnu.org>
 
-	Fix Savannah bug #44412 (part 1).
+	* src/sfnt/ttcmap.c (tt_cmap2_validate): Fix potential numeric
+	overflow.
 
-	* src/base/ftstroke.c (ft_stroker_inside): Handle near U-turns.
+2018-03-13  Werner Lemberg  <wl@gnu.org>
 
-2015-03-10  Werner Lemberg  <wl@gnu.org>
+	Fix cmap format 2 handling (#53320).
 
-	[base] Rename `FT_Bitmap_New' to `FT_Bitmap_Init'.
+	The patch introduced for #52646 was not correct.
 
-	* include/ftbitmap.h, src/base/ftbitmap.c: Implement it.
-	Update all callers.
+	* 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.
 
-2015-03-06  Werner Lemberg  <wl@gnu.org>
+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): Exlicitly 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.
 
-	Found by Alexei.
+2017-09-25  Werner Lemberg  <wl@gnu.org>
 
-2015-03-05  Alexei Podtelezhnikov <apodtele@gmail.com>
+	[psaux] Fix compiler warnings.
 
-	* src/base/ftstroke.c: Simplify.
+	* src/psaux/psft.c (cf2_initLocalRegionBuffer): Remove redundant
+	test.
 
-2015-03-04  Werner Lemberg  <wl@gnu.org>
+	* src/psaux/psintrp.c (cf2_interpT2CharString)
+	<cf2_escCALLOTHERSUBR>: Add casts.
 
-	[truetype] Some fixes and code refactoring in `ttgxvar.c'.
+	* src/psaux/psobjs.c (ps_decoder_init): Add cast.
 
-	* src/truetype/ttgxvar.c (ft_var_readpackedpoints): Fix return value
-	of `point_cnt' if two bytes are read.
-	Use a more vertical coding style.
-	(ft_var_readpackeddeltas): Use FT_UInt for `delta_cnt' parameter.
-	Use a more vertical coding style.
+2017-09-25  Ewald Hew  <ewaldhew@gmail.com>
 
-2015-03-03  Werner Lemberg  <wl@gnu.org>
+	[psaux] Minor fixes.
 
-	[autofit] Fix Savannah bug #44241.
+	* include/freetype/internal/psaux.h, src/psaux/psobjs.{c,h}:
+	Rearrange `ps_builder_init' arguments to conventional order.
 
-	* src/autofit/aflatin.c (af_latin_metrics_init_blues): Reject glyphs
-	with less than 3 points.
+	* src/psaux/psft.c (cf2_decoder_parse_charstrings): Add a check and
+	notice for `SubFont' in Type 1 mode.
 
-2015-03-02  Werner Lemberg  <wl@gnu.org>
+2017-09-25  Ewald Hew  <ewaldhew@gmail.com>
 
-	Simplify `TYPEOF' macro.
+	[psaux] Move `psdecode' into `psobjs'.
 
-	No need for two arguments.
+	As the former only contains a single procedure, move it into
+	`psobjs' for simplicity.  Also change the parameter order to the
+	conventional one.
 
-	* include/config/ftconfig.h, builds/unix/ftconfig.in,
-	builds/vms/ftconfig.h (TYPEOF): Updated.
+	* src/psaux/psdecode.c (ps_decoder_init): Moved to...
+	* src/psaux/psobjs.c: ...Here.
+	* src/psaux/psdecode.h, src/psaux/psobjs.h: Ditto.
 
-	* include/internal/ftobjs.h (FT_PAD_FLOOR, FT_PIX_FLOOR),
-	src/autofit/afwarp.h (AF_WARPER_FLOOR): Updated.
+	* include/freetype/internal/psaux.h (PSAux_ServiceRec): Update
+	`ps_decoder_init' function signature.
 
-2015-03-01  Werner Lemberg  <wl@gnu.org>
+	* src/cff/cffgload.c, src/cid/cidgload.c, src/type1/t1gload.c:
+	Update calls.
 
-	Various compiler warning fixes for `make multi'.
+	* src/psaux/psaux.c, src/psaux/psauxmod.c: Update includes.
 
-	* src/autofit/afcjk.c (af_cjk_hints_compute_blue_edges),
-	src/autofit/aflatin.c (af_latin_hint_compute_blue_edges,
-	af_latin_hint_edges), src/autofit/aflatin2.c
-	(af_latin2_hints_compute_blue_edges, af_latin2_hint_edges): Declare
-	as `static'.
+	* src/psaux/Jamfile (_sources), src/psaux/rules.mk (PSAUX_DRV_SRC):
+	Update file references.
 
-	* src/cache/ftccmap.c (FTC_CMAP_QUERY_HASH, FTC_CMAP_NODE_HASH):
-	Removed.  Unused.
-	* src/cache/ftcimage.c: Include FT_INTERNAL_OBJECTS_H.
-	* src/cache/ftcmanag.c (FTC_LRU_GET_MANAGER): Removed.  Unused.
+2017-09-25  Ewald Hew  <ewaldhew@gmail.com>
 
-	* src/cff/cf2intrp.c: Include `cf2intrp.h'.
-	* src/cff/cffdrivr.c (PAIR_TAG): Removed.  Unused.
+	[psaux] Fix Type 1 hinting.
 
-	* src/gzip/ftgzip.c (NO_DUMMY_DECL): Removed.  Unused.
+	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/afmparse.c (afm_parser_read_int): Declare as `static'.
+	* 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.
 
-	* src/pshinter/pshalgo.c (STRONGER, PSH_ZONE_MIN, PSH_ZONE_MAX):
-	Removed.  Unused.
+2017-09-25  Ewald Hew  <ewaldhew@gmail.com>
 
-	* src/raster/ftraster.c (Render_Glyph): Declare as `static'.
+	[psaux] Add tracing for hints.
 
-	* src/sfnt/ttpost.c (load_format_20): Fix signedness warning.
+	* 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.
 
-	* src/truetype/ttdriver.c (PAIR_TAG): Removed.  Unused.
-	* src/truetype/ttsubpix.c (is_member_of_family_class,
-	is_member_of_style_class): Declare as `static'.
+2017-09-25  Ewald Hew  <ewaldhew@gmail.com>
 
-	* src/type1/t1gload.c (T1_Parse_Glyph_And_Get_Char_String): Declare
-	as `static'.
-	* src/type1/t1load.c (mm_axis_unmap, mm_weights_unmap): Declare as
-	`static'.
-	(T1_FIELD_COUNT): Removed.  Unused.
-	* src/type1/t1parse.h (T1_Done_Table): Removed.  Unused.
+	[psaux] Minor fixes.
 
-	* src/type42/t42parse.c (T1_Done_Table): Removed.  Unused.
+	* 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.
 
-2015-02-25  Werner Lemberg  <wl@gnu.org>
+2017-09-25  Ewald Hew  <ewaldhew@gmail.com>
 
-	[psaux] Signedness fixes.
+	[cid] Use the new engine.
 
-	* include/internal/psaux.h, src/psaux/afmparse.c,
-	src/psaux/afmparse.h, src/psaux/psconv.c, src/psaux/psobjs.c,
-	src/psaux/t1cmap.c, src/psaux/t1decode.c: Apply.
+	* src/cid/cidgload.c: Update includes.
+	(cid_load_glyph, cid_slot_load_glyph): Implement changes to glyph
+	loading code as with `type1' module.
 
-2015-02-25  Werner Lemberg  <wl@gnu.org>
+2017-09-25  Ewald Hew  <ewaldhew@gmail.com>
 
-	[otvalid] Signedness fixes.
+	[cid] Add Adobe engine configuration.
 
-	* src/otvalid/otvcommn.c, src/otvalid/otvgdef.c,
-	src/otvalid/otvgpos.c, src/otvalid/otvgsub.c, src/otvalid/otvmath.c:
-	Apply.
+	This is similar to what was done in the `type1' module.
 
-2015-02-25  Werner Lemberg  <wl@gnu.org>
+	* src/cid/cidriver.c (t1cid_driver_class): Update declaration.
+	* src/cid/cidobjs.c: Include FT_TYPE1_DRIVER_H.
+	(cid_driver_init): Update code.
 
-	* src/bzip2/ftbzip2.c (ft_bzip2_alloc): Signedness fix.
+2017-09-25  Ewald Hew  <ewaldhew@gmail.com>
 
-2015-02-25  Werner Lemberg  <wl@gnu.org>
+	[psaux] Change subfont synthesis for CID fonts.
 
-	[lzw] Signedness fixes.
+	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/lzw/ftzopen.c, src/lzw/ftzopen.h: Apply.
+	* 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.
 
-2015-02-25  Werner Lemberg  <wl@gnu.org>
+	* include/freetype/internal/psaux.h, src/psaux/psobjs.h: Update
+	declaration.
 
-	[gxvalid] Signedness fixes.
+	* src/type1/t1gload.c (T1_Parse_Glyph_And_Get_Char_String): Update
+	call.
 
-	* src/gxvalid/gxvbsln.c, src/gxvalid/gxvcommn.c,
-	src/gxvalid/gxvcommn.h, src/gxvalid/gxvjust.c,
-	src/gxvalid/gxvkern.c, src/gxvalid/gxvlcar.c, src/gxvalid/gxvmort.c,
-	src/gxvalid/gxvmort1.c, src/gxvalid/gxvmort2.c,
-	src/gxvalid/gxvmorx.c, src/gxvalid/gxvmorx1.c,
-	src/gxvalid/gxvmorx2.c, src/gxvalid/gxvopbd.c,
-	src/gxvalid/gxvprop.c, src/gxvalid/gxvtrak.c: Apply.
+2017-09-25  Ewald Hew  <ewaldhew@gmail.com>
 
-2015-02-25  Werner Lemberg  <wl@gnu.org>
+	[type1] Switch to Adobe engine.
 
-	[cache] Signedness fixes.
+	* src/type1/t1objs.c (T1_Driver_Init): Set default to Adobe engine.
 
-	* src/cache/ftcbasic.c, src/cache/ftccmap.c, src/cache/ftcimage.c,
-	src/cache/ftcmanag.c, src/cache/ftcsbits.c: Apply.
+2017-09-25  Ewald Hew  <ewaldhew@gmail.com>
 
-2015-02-25  Werner Lemberg  <wl@gnu.org>
+	[psaux] Extend Adobe interpreter (seac).
 
-	Change dimension fields in `FTC_ImageTypeRec' to unsigned type.
+	This concludes the changes needed to add Type 1 support.
 
-	This doesn't break ABI.
+	* src/psaux/psintrp.c: Update includes.
+	(cf2_interpT2CharString) <cf2_escSEAC>: Implement this similarly to
+	implied seac for CFF.
 
-	* include/ftcache.h (FTC_ImageTypeRec): Use unsigned types for
-	`width' and `height'.
+	* src/psaux/t1decode.c (t1_lookup_glyph_by_stdcharcode_ps): New
+	function to look up the glyph index.
 
-	* docs/CHANGES: Document it.
+	* src/psaux/psft.c (cf2_getT1SeacComponent,
+	cf2_freeT1SeacComponent): New functions to get the charstrings for
+	seac components.
 
-2015-02-25  Werner Lemberg  <wl@gnu.org>
+	* src/psaux/t1decode.h, src/psaux/psft.h: Update declarations.
 
-	[cache] Don't use `labs'.
+2017-09-25  Ewald Hew  <ewaldhew@gmail.com>
 
-	This is the only place in FreeType where this function was used.
+	[psaux] Extend Adobe interpreter (flex in callothersubr).
 
-	* include/config/ftstdlib.h (ft_labs): Remove.
+	* 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.
 
-	* src/cache/ftcimage.c (ftc_inode_weight): Replace `ft_labs' with
-	`FT_ABS'.
+2017-09-25  Ewald Hew  <ewaldhew@gmail.com>
 
-2015-02-23  Werner Lemberg  <wl@gnu.org>
+	[psaux] Extend Adobe interpreter (callothersubr).
 
-	[cache] Replace `FT_PtrDist' with `FT_Offset'.
+	* 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.
 
-	* src/cache/ftccache.h (FTC_NodeRec): `FT_Offset' (a.k.a. `size_t')
-	is a better choice for `hash' to hold a pointer than `FT_PtrDist'
-	(a.k.a. `ptrdiff_t'), especially since the latter is signed,
-	causing zillions of signedness warnings.  [Note that `hash' was of
-	type `FT_UInt32' before the change to `FT_PtrDist'.]
-	Update all users.
+2017-09-25  Ewald Hew  <ewaldhew@gmail.com>
 
-	* src/cache/ftcbasic.c, src/cache/ftccache.c, src/cache/ftccmap.c,
-	src/cache/ftcglyph.c, src/cache/ftcglyph.h: Updated.
+	[psaux] Extend Adobe interpreter (pop).
 
-2015-02-23  Werner Lemberg  <wl@gnu.org>
+	* 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.
 
-	[smooth, raster] Re-enable standalone compilation.
+2017-09-25  Ewald Hew  <ewaldhew@gmail.com>
 
-	* src/raster/ftraster.c (FT_RENDER_POOL_SIZE, FT_MAX)
-	[_STANDALONE_]: Define macros.
+	[psaux] Extend Adobe interpreter (callsubr).
 
-	* src/smooth/ftgrays.c (FT_RENDER_POOL_SIZE, FT_MAX, FT_ABS,
-	FT_HYPOT) [_STANDALONE_]: Define macros.
+	* src/psaux/psintrp.c (cf2_interpT2CharString) <cf2_cmdCALLSUBR>:
+	Type 1 mode.
 
-2015-02-22  Werner Lemberg  <wl@gnu.org>
+	* src/psaux/psft.c (cf2_initLocalRegionBuffer): Add Type 1 mode.
 
-	[smooth] Signedness fixes.
+2017-09-25  Ewald Hew  <ewaldhew@gmail.com>
 
-	* src/smooth/ftgrays.c, src/smooth/ftsmooth.c: Apply.
+	[psaux] Extend Adobe interpreter (div, four-byte numbers).
 
-2015-02-22  Werner Lemberg  <wl@gnu.org>
+	* 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.
 
-	* src/raster/ftraster.c: Use the file's typedefs everywhere.
+2017-09-25  Ewald Hew  <ewaldhew@gmail.com>
 
-2015-02-22  Werner Lemberg  <wl@gnu.org>
+	[psaux] Extend Adobe interpreter (hints).
 
-	* src/sfnt/ttpost.c (load_format_20): Fix error tracing message.
+	* 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.
 
-	Bug introduced 6 commits earlier.
+2017-09-25  Ewald Hew  <ewaldhew@gmail.com>
 
-2015-02-22  Werner Lemberg  <wl@gnu.org>
+	[psaux] Extend Adobe interpreter (hsbw, sbw).
 
-	[pshinter] Fix thinko.
+	* 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.
 
-	* src/pshinter/pshalgo.c (psh_glyph_find_strong_points): Correctly
-	check `count'.
-	Bug introduced two commits earlier.
+2017-09-25  Ewald Hew  <ewaldhew@gmail.com>
 
-2015-02-22  Werner Lemberg  <wl@gnu.org>
+	[psaux] Extend Adobe interpreter (setcurrentpoint).
 
-	[raster] Signedness fixes.
+	* src/psaux/psintrp.c (cf2_interpT2CharString)
+	<cf2_escSETCURRENTPT>: Fix stack access.
 
-	* src/raster/ftraster.c, src/raster/ftrend1.c: Apply.
+2017-09-25  Ewald Hew  <ewaldhew@gmail.com>
 
-2015-02-22  Werner Lemberg  <wl@gnu.org>
+	[psaux] Extend Adobe interpreter (closepath).
 
-	[pshinter] Signedness fixes.
+	* 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'.
 
-	* src/pshinter/pshalgo.c, src/pshinter/pshglob.c,
-	src/pshinter/pshrec.c: Apply.
+2017-09-25  Ewald Hew  <ewaldhew@gmail.com>
 
-2015-02-22  Werner Lemberg  <wl@gnu.org>
+	[psaux] Add Type 1 operations to Adobe CFF interpreter.
 
-	[pshinter] Use macros for (unsigned) flags, not enumerations.
+	The following Type 1 specific ops have been added (copied from
+	`t1decode'):
 
-	* src/pshinter/pshalgo.h (PSH_Hint_Flags): Replace with macros.
-	Updated.
-	* src/pshinter/pshrec.h (PS_Hint_Flags): Replace with macros.
+	  closepath
+	  vstem3
+	  hstem3
+	  seac
+	  sbw
+	  callothersubr
+	  pop
+	  setcurrentpoint
+	  hsbw
 
-2015-02-22  Werner Lemberg  <wl@gnu.org>
+	The following require a Type 1 mode, because of differences in
+	specification:
 
-	* src/pshinter/pshrec.c: Simplify.
-	(ps_hints_open, ps_hints_stem): Remove switch statement.
-
-2015-02-22  Werner Lemberg  <wl@gnu.org>
-
-	[sfnt] Signedness fixes.
-
-	* src/sfnt/pngshim.c, src/sfnt/sfobjs.c, src/sfnt/ttcmap.c,
-	src/sfnt/ttkern.c, src/sfnt/ttload.c, src/sfnt/ttpost.c,
-	src/sfnt/ttsbit.c: Apply.
-	* src/sfnt/sfdriver.c: Apply.
-	(sfnt_get_ps_name): Simplify.
-
-2015-02-22  Werner Lemberg  <wl@gnu.org>
-
-	[bdf] Signedness fixes.
-
-	* src/bdf/bdf.h, src/bdf/bdfdrivr.c, src/bdf/bdfdrivr.h,
-	src/bdf/bdflib.c: Apply.
-
-2015-02-22  Werner Lemberg  <wl@gnu.org>
-
-	* src/bdf/bdflib.c (_bdf_atous): New function.
-	(_bdf_parse_glyphs, _bdf_parse_start): Use it.
-
-2015-02-22  Werner Lemberg  <wl@gnu.org>
-
-	[pcf] Signedness fixes.
-
-	* src/pcf/pcf.h, src/pcf/pcfdrivr.c: Apply.
-	* src/pcf/pcfread.c: Apply.
-	(pcf_get_encodings): Ignore invalid negative encoding offsets.
-
-2015-02-21  Werner Lemberg  <wl@gnu.org>
-
-	* src/winfonts/winfnt.c: Signedness fixes.
-
-2015-02-21  Werner Lemberg  <wl@gnu.org>
-
-	[type42] Signedness fixes.
-
-	* src/type42/t42parse.c, src/type42/t42parse.h,
-	src/type42/t42types.h: Apply.
-
-2015-02-21  Werner Lemberg  <wl@gnu.org>
-
-	[pfr] Signedness fixes.
-
-	* src/pfr/pfrdrivr.c, src/pfr/pfrgload.c, src/pfr/pfrload.c,
-	src/pfr/pfrload.h, src/pfr/pfrobjs.c, src/pfr/pfrsbit.c,
-	src/pfr/pfrtypes.h: Apply.
-
-2015-02-21  Werner Lemberg  <wl@gnu.org>
-
-	[cff] Minor signedness fixes related to last commit.
-
-	* src/cff/cf2ft.c, src/cff/cf2intrp.c, src/cff/cffgload.c: Apply.
-
-2015-02-20  Werner Lemberg  <wl@gnu.org>
-
-	[cff] Thinkos in bias handling.
-
-	Only the final result is always positive.
-
-	Bug introduced three commits earlier.
-
-	* src/cff/cffgload.c, src/cff/cffgload.h: Apply.
-
-2015-02-20  Werner Lemberg  <wl@gnu.org>
-
-	[cid] Fix signedness issues and emit some better error codes.
-
-	* src/cid/cidgload.c, src/cid/cidload.h, src/cid/cidobjs.c,
-	src/cid/cidparse.h: Apply.
-	* src/cid/cidload.c: Apply.
-	(parse_fd_array): Reject negative values for number of dictionaries.
-	* src/cid/cidparse.c: Apply.
-	(cid_parser_new): Reject negative values for hex data length.
-
-2015-02-20  Werner Lemberg  <wl@gnu.org>
-
-	[cff] Signedness fixes for new engine.
-
-	* src/cff/cf2arrst.c, src/cff/cf2fixed.h, src/cff/cf2ft.c,
-	src/cff/cf2ft.h, src/cff/cf2hints.c, src/cff/cf2intrp.c: Apply.
-
-2015-02-20  Werner Lemberg  <wl@gnu.org>
-
-	[cff] Signedness fixes for basic infrastructure and old engine.
-
-	* include/internal/pshints.h, src/cff/cffdrivr.c,
-	src/cff/cffgload.c, src/cff/cffgload.h, src/cff/cffload.c,
-	src/cff/cffobjs.c, src/cff/cffparse.c, src/pshinter/pshrec.c: Apply.
-
-2015-02-19  Werner Lemberg  <wl@gnu.org>
-
-	* src/truetype/ttgxvar.c (TT_Get_MM_Var): Ignore `countSizePairs'.
-
-	This is hard-coded to value 2 in `fvar' version 1.0 (and no newer
-	version exists), but some fonts set it incorrectly.
-
-	Problem reported by Adam Twardoch <adam@fontlab.com>.
-
-2015-02-19  Werner Lemberg  <wl@gnu.org>
-
-	[cff] Emit better error code for invalid private dict size.
-
-	* src/cff/cffparse.c (cff_parse_private_dict): Reject negative
-	values for size and offset.
-
-2015-02-19  Werner Lemberg  <wl@gnu.org>
-
-	[autofit] Fix signedness issues.
-
-	* src/autofit/afangles.c, src/autofit/afcjk.c,
-	src/autofit/afglobal.c, src/autofit/afhints.c,
-	src/autofit/aflatin.c, src/autofit/aflatin2.c, src/autofit/afwarp.c,
-	src/autofit/hbshim.c: Apply.
-
-2015-02-19  Werner Lemberg  <wl@gnu.org>
-
-	[autofit] Use macros for (unsigned) flags, not enumerations.
-
-	This harmonizes with other code in FreeType (and reduces the number
-	of necessary casts to avoid compiler warnings).
-
-	* src/autofit/afblue.hin: Make flag macros unsigned.
-	* src/autofit/afblue.h: Regenerated.
-
-	* src/autofit/afcjk.h: Replace flag enumeration with macros.
-	* src/autofit/afcjk.c: Updated.
-
-	* src/autofit/afhints.h (AF_Flags, AF_Edge_Flags): Replace with
-	macros.
-	* src/autofit/afhints.c: Updated.
-
-	* src/autofit/aflatin.h: Replace flag enumerations with macros.
-	* src/autofit/aflatin.c, src/autofit/aflatin2.c: Updated.
-
-	* src/autofit/aftypes.h (AF_ScalerFlags): Replace with macros.
-
-2015-02-18  Werner Lemberg  <wl@gnu.org>
-
-	[type1] Fix signedness issues.
-
-	* include/internal/psaux.h, include/internal/t1types.h,
-	src/psaux/psobjs.c, src/psaux/psobjs.h, src/psaux/t1decode.c,
-	src/type1/t1gload.c, src/type1/t1load.c, src/type1/t1parse.c: Apply.
-
-2015-02-18  Werner Lemberg  <wl@gnu.org>
-
-	[psaux, type1] Fix minor AFM issues.
-
-	* include/internal/t1types.h (AFM_KernPairRec): Make indices
-	unsigned.
-	Update users.
-	(AFM_FontInfoRec): Make element counters unsigned.
-	Update users.
-	* src/psaux/afmparse.h (AFM_ValueRec): Add union member for unsigned
-	int.
-
-	* src/psaux/afmparse.c (afm_parse_track_kern, afm_parse_kern_pairs):
-	Reject negative values for number of kerning elements.
-
-	* src/type1/t1afm.c, src/tools/test_afm.c: Updated.
-
-2015-02-18  Werner Lemberg  <wl@gnu.org>
-
-	Don't use `FT_PtrDist' for lengths.
-
-	Use FT_UInt instead.
-
-	* include/internal/psaux.h (PS_Table_FuncsRec, PS_TableRec,
-	T1_DecoderRec): Do it.
-
-	* include/internal/t1types.h (T1_FontRec): Ditto.
-
-	* src/cid/cidload.c (cid_parse_dict): Updated.
-	* src/pfr/pfrload.c (pfr_extra_item_load_font_id): Ditto.
-	* src/psaux/psobjs.c (ps_table_add), src/psaux/psobjs.h: Ditto.
-	* src/type1/t1load.c (parse_blend_axis_types, parse_encoding,
-	parse_chharstrings, parse_dict): Ditto.
-	* src/type42/t42parse.c (t42_parse_encoding, t42_parse_charstrings,
-	t42_parse_dict): Ditto.
-
-2015-02-18  Werner Lemberg  <wl@gnu.org>
-
-	* src/type1/t1driver.c (t1_ps_get_font_value): Clean up.
-	This handles negative values better, avoiding many casts.
-
-2015-02-17  Werner Lemberg  <wl@gnu.org>
-
-	[base] Fix Savannah bug #44284.
-
-	* src/base/ftcalc.c (FT_MulFix): Typos.
-
-2015-02-17  Werner Lemberg  <wl@gnu.org>
-
-	[truetype] Finish compiler warning fixes for signedness issues.
-
-	* src/truetype/ttgxvar.c, src/truetype/ttsubpix.c,
-	src/truetype/ttsubpix.h: Apply.
-
-2015-02-17  Werner Lemberg  <wl@gnu.org>
-
-	* src/truetype/ttsubpix.c: Adding missing `static' keywords.
-
-2015-02-17  Werner Lemberg  <wl@gnu.org>
-
-	[truetype] More signedness fixes.
-
-	* include/internal/tttypes.h, src/truetype/ttinterp.h,
-	src/truetype/ttobjs.h, src/truetype/ttinterp.c,
-	src/truetype/ttobjs.c: Apply.
-
-2015-02-17  Werner Lemberg  <wl@gnu.org>
-
-	[truetype] Various signedness fixes.
-
-	* include/internal/ftgloadr.h, src/truetype/ttpload.c: Apply.
-
-	* src/truetype/ttgload.c: Apply.
-	(TT_Get_VMetrics): Protect against invalid ascenders and descenders
-	while constructing advance height.
-
-2015-02-16  Werner Lemberg  <wl@gnu.org>
-
-	[base] Finish compiler warning fixes for signedness issues.
-
-	* src/base/ftglyph.c, src/base/ftlcdfil.c, src/base/ftstroke.c:
-	Apply.
-
-2015-02-16  Werner Lemberg  <wl@gnu.org>
-
-	* include/tttables.h (TT_OS2): `fsType' must be FT_UShort.
-
-2015-02-16  Werner Lemberg  <wl@gnu.org>
-
-	More minor signedness warning fixes.
-
-	* src/base/ftbbox.c, src/base/ftbitmap.c, src/base/fttrigon.c,
-	src/base/ftutil.c: Apply.
-
-2015-02-16  Werner Lemberg  <wl@gnu.org>
-
-	Next round of minor compiler warning fixes.
-
-	* include/internal/ftrfork.h (FT_RFork_Ref): Change `offset' member
-	type to `FT_Long'.
-	(CONST_FT_RFORK_RULE_ARRAY_BEGIN): Add `static' keyword.
-
-	* include/internal/ftstream.h (FT_Stream_Pos): Return `FT_ULong'.
-
-	* src/base/ftoutln.c, src/base/ftrfork.c, src/base/ftstream.c:
-	Signedess fixes.
-
-2015-02-16  Werner Lemberg  <wl@gnu.org>
-
-	Various minor signedness fixes.
-
-	* include/ftadvanc.h, include/internal/ftobjs.h,
-	src/base/ftgloadr.c, src/base/ftobjs.c: Apply.
-
-2015-02-16  Werner Lemberg  <wl@gnu.org>
-
-	New `TYPEOF' macro.
-
-	This helps suppress signedness warnings, avoiding issues with
-	implicit conversion changes.
-
-	* include/config/ftconfig.h, builds/unix/ftconfig.in,
-	builds/vms/ftconfig.h (TYPEOF): Define.
-
-	* include/internal/ftobjs.h (FT_PAD_FLOOR, FT_PIX_FLOOR),
-	src/autofit/afwarp.h (AF_WARPER_FLOOR): Use it.
-
-2015-02-16  Werner Lemberg  <wl@gnu.org>
-
-	* src/base/ftsystem.c: Use casts in standard C function wrappers.
-	(ft_alloc, ft_realloc, ft_ansi_stream_io, FT_Stream_Open): Do it.
-
-2015-02-16  Werner Lemberg  <wl@gnu.org>
-
-	Fix Savannah bug #44261.
-
-	* builds/unix/detect.mk (setup) [unix]: Set `CONFIG_SHELL' in the
-	environment also while calling the configure script.
-
-2015-02-16  Werner Lemberg  <wl@gnu.org>
-
-	* include/internal/ftmemory.h: Add some `FT_Offset' casts.
-	(FT_MEM_SET, FT_MEM_COPY, FT_MEM_MOVE, FT_ARRAY_ZERO, FT_ARRAY_COPY,
-	FT_MEM_MOVE): Do it.
-
-2015-02-15  Werner Lemberg  <wl@gnu.org>
-
-	[base] Clean up signedness issues in `ftdbgmem.c'.
-
-	Also fix other minor issues.
-
-	* src/base/ftdbgmem.c (FT_MemTableRec): Replace all FT_ULong types
-	with FT_Long for consistency.
-	(ft_mem_primes): Change type to `FT_Int'.
-	(ft_mem_closest_prime, ft_mem_table_set): Updated.
-
-	(ft_mem_debug_panic, ft_mem_debug_alloc, ft_mem_debug_free,
-	ft_mem_debug_realloc): Use `static' keyword and fix signedness
-	warnings where necessary.
-
-	(ft_mem_table_resize, ft_mem_table_new, ft_mem_table_destroy,
-	ft_mem_table_get_nodep, ft_mem_debug_init, FT_DumpMemory): Fix types
-	and add or remove casts to avoid signedness warnings.
-
-2015-02-15  Werner Lemberg  <wl@gnu.org>
-
-	[base] Clean up signedness in arithmetic functions.
-
-	This makes the code more readable and reduces compiler warnings.
-
-	* src/base/ftcalc.c (FT_MulDiv, FT_MulDiv_No_Round, FT_MulFix,
-	FT_DivFix): Convert input parameters to unsigned, do the
-	computation, then convert the result back to signed.
-	(ft_corner_orientation): Fix casts.
-
-2015-02-07  Werner Lemberg  <wl@gnu.org>
-
-	[sfnt] Fix Savannah bug #44184.
-
-	* src/sfnt/ttload.c (check_table_dir, tt_face_load_font_dir): No
-	longer reject `htmx' and `vmtx' tables with invalid length but
-	sanitize them.
-
-2015-02-06  Jon Anderson  <jon@websupergoo.com>
-
-	[truetype] Fix regression in the incremental glyph loader.
-
-	* src/truetype/ttgload.c (load_truetype_glyph): For incremental
-	fonts, the glyph index may be greater than the number of glyphs
-	indicated, so guard the check with a preprocessor conditional.
-
-2015-02-06  Werner Lemberg  <wl@gnu.org>
-
-	[autofit] Fix potential memory leak.
-
-	While this doesn't show up with FreeType, exactly the same code
-	leaks with ttfautohint's modified auto-hinter code (which gets used
-	in a slightly different way).
-
-	It certainly doesn't harm since it is similar to already existing
-	checks in the code for embedded arrays.
-
-	* src/autofit/afhints.c (af_glyph_hints_reload): Set `max_contours'
-	and `max_points' for all cases.
-
-2015-01-31  Werner Lemberg  <wl@gnu.org>
-
-	[autofit] Add support for Thai script.
-
-	Thanks to Ben Mitchell <ben@rosettatype.com> for guidance with blue
-	zone characters!
-
-	* src/autofit/afblue.dat: Add blue zone data for Thai.
-
-	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
-
-	* src/autofit/afscript.h: Add Thai standard characters.
-
-	* src/autofit/afranges.c: Add Thai data.
-
-	* src/autofit/afstyles.h: Add Thai data.
-
-2015-01-23  Behdad Esfahbod  <behdad@behdad.org>
-
-	[raster] Handle `FT_RASTER_FLAG_AA' correctly.
-
-	This fixes a breakage caused by the commit `[raster] Remove
-	5-level gray AA mode from monochrome rasterizer.'.
-
-	Problem reported by Markus Trippelsdorf <markus@trippelsdorf.de>.
-
-	* src/raster/ftraster.c (ft_black_render): Handle
-	`FT_RASTER_FLAG_AA'.
-
-	* src/raster/ftrend1.c (ft_raster1_render): Remove gray AA mode
-	remnants.
-
-2015-01-18  Werner Lemberg  <wl@gnu.org>
-
-	* src/base/ftobjs.c (FT_New_Library): Fix compiler warning.
-
-2015-01-18  Chris Liddell  <chris.liddell@artifex.com>
-
-	[raster] Fix Savannah bug #44022.
-
-	Add fallback for glyphs with degenerate bounding boxes.
-
-	If a glyph has only one very narrow feature, the bbox can end up
-	with either the width or height of the bbox being 0, in which case
-	no raster memory is allocated and no attempt is made to render the
-	glyph.  This is less than ideal when the drop-out compensation in
-	the rendering code would actually result in the glyph being
-	rendered.
-
-	This problem can be observed with the `I' glyph (gid 47) in the
-	Autodesk RomanS TrueType font.
-
-	* src/raster/ftrend1.c (ft_raster1_render): Add a fallback if either
-	dimension is zero to explicitly round up/down (instead of simply
-	round).
-
-2015-01-17  Werner Lemberg  <wl@gnu.org>
-
-	Add some tools to handle yearly copyright notice updates.
-
-	We are now following the GNU guidelines: A new release automatically
-	means that the copyright year of all affected files gets updated; it
-	is no longer used to track years of modification changes.
-
-	* src/tools/update-copyright-year: New Perl script.
-	* src/tools/update-copyright: New shell script that calls
-	`update-copyright-year' on all files.
-	* src/tools/no-copyright: Exceptions that should not be handled by
-	`update-copyright'
-
-2015-01-14  Werner Lemberg  <wl@gnu.org>
-
-	* docs/CHANGES: Updated, using a description from Behdad.
-
-2015-01-14  Behdad Esfahbod  <behdad@behdad.org>
-
-	* src/autofit/afmodule.c (af_autofitter_done): Fix compiler warning.
-
-2015-01-14  Behdad Esfahbod  <behdad@behdad.org>
-
-	[autofit] Add embedded array of segments and edges.
-
-	Avoids multiple mallocs per typical glyphs.
-
-	With this and recent changes to avoid mallocs, the thread-safe
-	stack-based loader is now as fast as the previous model that had one
-	cached singleton.
-
-	* src/autofit/afhints.h (AF_SEGMENTS_EMBEDDED, AF_EDGES_EMBEDDED):
-	New macros.
-	(AF_AxisHintsRec): Add two arrays for segments and edges.
-
-	* src/autofit/afhints.c (af_axis_hints_new_segment): Only allocate
-	data if number of segments exceeds given threshold value.
-	(af_axis_hints_new_edge):  Only allocate data if number of edges
-	exceeds given threshold value.
-	(af_glyph_hints_done): Updated.
-
-2015-01-14  Behdad Esfahbod  <behdad@behdad.org>
-
-	[autofit] Add embedded arrays for points and contours.
-
-	This avoids at least two malloc calls for typical glyphs.
-
-	* src/autofit/afhints.h (AF_POINTS_EMBEDDED, AF_CONTOURS_EMBEDDED):
-	New macros.
-	(AF_GlyphHintsRec): Add two arrays for contours and points.
-
-	* src/autofit/afhints.c (af_glyph_hints_init, af_glyph_hints_done):
-	Updated.
-	(af_glyph_hints_reload): Only allocate data if number of contours or
-	points exceeds given threshold values.
-
-2015-01-14  Behdad Esfahbod  <behdad@behdad.org>
-
-	[autofit] Allocate hints object on the stack.
-
-	This avoids one malloc per load.
-
-	* src/autofit/afloader.h (AF_LoaderRec): Change type of `hints' to
-	`AF_GlyphHints'.
-	Update prototype.
-
-	* src/autofit/afloader.c (af_loader_init): Use `AF_GlyphHints'
-	parameter instead of `FT_Memory'.
-	(af_loader_done): Directly reset `load_hints'.
-	(af_loader_load_g): Updated.
-
-	* src/autofit/afmodule.c (af_autofitter_load_glyph): Use local
-	`hints' object.
-
-2015-01-14  Behdad Esfahbod  <behdad@behdad.org>
-
-	[autofit] Reuse slot glyph loader.
-
-	No need to create a new glyph loader; we can reuse the one from
-	`slot->internal->loader'.  It's hard to tell why it was written that
-	way originally, but new code looks sound and correct to me, and
-	avoids lots of allocations.
-
-	* src/autofit/afloader.c (af_loader_init): Change return type to
-	`void'.
-	Don't call `FT_GlyphLoader_New'.
-	(af_loader_reset): Don't call `FT_GlyphLoader_Rewind'.
-	(af_loader_load_g): Update code to use `internal->loader', which
-	doesn't need copying of data.
-
-	* src/autofit/afloader.h (AF_LoaderRec): Remove `gloader' member.
-	Update prototype.
-
-	* src/autofit/afmodule.c (af_autofitter_load_glyph): Updated.
-
-2015-01-14  Behdad Esfahbod  <behdad@behdad.org>
-
-	[autofit] Remove (unused) support for composite glyphs.
-
-	We never have to deal with composite glyphs in the autohinter, as
-	those will be loaded into FORMAT_OUTLINE by the recursed
-	`FT_Load_Glyph' function.
-
-	In the rare cases that FT_LOAD_NO_RECURSE is set, it will imply
-	FT_LOAD_NO_SCALE as per `FT_Load_Glyph', which then implies
-	FT_LOAD_NO_HINTING:
-
-	  /* resolve load flags dependencies */
-
-	  if ( load_flags & FT_LOAD_NO_RECURSE )
-	    load_flags |= FT_LOAD_NO_SCALE         |
-	                  FT_LOAD_IGNORE_TRANSFORM;
-
-	  if ( load_flags & FT_LOAD_NO_SCALE )
-	  {
-	    load_flags |= FT_LOAD_NO_HINTING |
-	                  FT_LOAD_NO_BITMAP;
-
-	    load_flags &= ~FT_LOAD_RENDER;
-	  }
-
-	and as such the auto-hinter is never called.  Thus, the recursion in
-	`af_loader_load_g' never actually happens.  So remove the depth
-	counter as well.
-
-	* src/autofit/afloader.c (af_loader_load_g): Remove `depth'
-	parameter.
-	<FT_GLYPH_FORMAT_COMPOSITE>: Remove associated code.
-	(af_loader_load_glyph): Updated.
-
-2015-01-14  Behdad Esfahbod  <behdad@behdad.org>
-
-	[raster] Fix uninitialized memory access.
-
-	Apparently `ras.cProfile' might be uninitialized.  This will be the
-	case if `ras.top == ras.cProfile->offset', as can be seen in
-	`End_Profile'.  The overshoot code introduced in a change `Fix B/W
-	rasterization of subglyphs with different drop-out modes.' (from
-	2009-06-18) violated this, accessing `ras.cProfile->flags'
-	unconditionally just before calling `End_Profile' (which then
-	detected that `cProfile' is uninitialized and didn't touch it).
-
-	This was harmless, and was not detected by valgrind before because
-	the objects were allocated on the `raster_pool', which was always
-	initialized.  With recent change to allocate raster buffers on the
-	stack, valgrind now reported this invalid access.
-
-	* src/raster/ftraster.c (Convert_Glyph): Don't access an
-	uninitialized `cProfile'.
-
-2015-01-14  Behdad Esfahbod  <behdad@behdad.org>
-
-	[smooth] Fix uninitialized memory access.
-
-	Looks like `ras.span_y' could always be used without initialization.
-	This was never detected by valgrind before because the library-wide
-	`raster_pool' was used for the worker object and `raster_pool' was
-	originally zero'ed.  But subsequent reuses of it were using `span_y'
-	uninitialized.  With the recent change to not use `render_pool' and
-	allocate worker and buffer on the stack, valgrind now detects this
-	uninitialized access.
-
-	* src/smooth/ftgrays.c (gray_raster_render): Initialize
-	`ras.span_y'.
-
-2015-01-14  Behdad Esfahbod  <behdad@behdad.org>
-
-	[base] Don't initialize unused `driver->glyph_loader'.
-
-	* src/base/ftobjs.c (Destroy_Driver): Don't call
-	`FT_GlyphLoader_Done'.
-	(FT_Add_Module): Don't call `FT_GlyphLoader_New'.
-
-2015-01-14  Behdad Esfahbod  <behdad@behdad.org>
-
-	[base] Don't allocate `library->raster_pool' anymore.
-
-	It's unused after the following commits:
-
-	  [raster] Allocate render pool for mono rasterizer on the stack.
-	  [raster] Remove 5-level gray AA mode from monochrome rasterizer.
-
-	The value of FT_RENDER_POOL_SIZE still serves the purpose it used to
-	serve, which is, to adjust the pool size.  But the pool is now
-	allocated on the stack on demand.
-
-	* src/base/ftobjs.c (FT_New_Library, FT_Done_Library): Implement.
-
-2015-01-14  Behdad Esfahbod  <behdad@behdad.org>
-
-	[base] Do not reorder library->renderers upon use.
-
-	Instead of keeping `library->renderers' in a MRU order, just leave
-	it as-is.  The MRU machinery wasn't thread-safe.
-
-	With this patch, rasterizing glyphs from different faces from
-	different threads doesn't fail choosing rasterizer
-	(FT_Err_Cannot_Render_Glyph).
-
-	Easiest to see that crash was to add a `printf' (or otherwise let
-	thread yield in FT_Throw with debugging enabled).
-
-	* src/base/ftobjs.c (FT_Render_Glyph_Internal), src/base/ftoutln.c
-	(FT_Outline_Render): Don't call `FT_Set_Renderer'.
-
-2015-01-14  Behdad Esfahbod  <behdad@behdad.org>
-
-	[raster] Allocate render pool for mono rasterizer on the stack.
-
-	Instead of using the `render_pool' member of `FT_Library' that is
-	provided down to the rasterizer, completely ignore that and allocate
-	needed objects on the stack instead.
-
-	With this patch, rasterizing glyphs from different faces from
-	different threads doesn't crash in the monochrome rasterizer.
-
-	* src/raster/ftraster.c (black_TRaster): Remove `buffer',
-	`buffer_size', and `worker' members.
-
-	(ft_black_render): Create `buffer' locally.
-	(ft_black_reset): Updated.
-
-2015-01-14  Behdad Esfahbod  <behdad@behdad.org>
-
-	[raster] Remove 5-level gray AA mode from monochrome rasterizer.
-
-	It was off by default and couldn't be turned on at runtime.  And the
-	smooth rasterizer superceded it over ten years ago.  No point in
-	keeping.  Comments suggested that it was there for compatibility
-	with FreeType 1.
-
-	550 lines down.
-
-	* src/raster/ftraster.c (FT_RASTER_OPTION_ANTI_ALIASING,
-	RASTER_GRAY_LINES): Remove macros and all associated code.
-
-	(black_TWorker): Remove `gray_min_x' and `gray_max_x'.
-	(black_TRaster): Remove `grays' and `gray_width'.
-
-	(Vertical_Sweep_Init, Vertical_Sweep_Span, Vertical_Sweep_Drop,
-	ft_black_render): Updated.
-
-	* src/raster/ftrend1.c (ft_raster1_render): Simplify code.
-	(ft_raster5_renderer_class): Removed.
-
-2015-01-14  Behdad Esfahbod  <behdad@behdad.org>
-
-	[smooth] Allocate render pool for smooth rasterizer on the stack.
-
-	Instead of using the `render_pool' member of `FT_Library' that is
-	provided down to the rasterizer, completely ignore that and allocate
-	needed objects on the stack instead.
-
-	With this patch, rasterizing glyphs from different faces from
-	different threads doesn't crash in the smooth rasterizer.
-
-	Bugs:
-
-	  https://bugzilla.redhat.com/show_bug.cgi?id=678397
-	  https://bugzilla.redhat.com/show_bug.cgi?id=1004315
-	  https://bugzilla.redhat.com/show_bug.cgi?id=1165471
-	  https://bugs.freedesktop.org/show_bug.cgi?id=69034
-
-	* src/smooth/ftgrays.c (gray_TRaster): Remove `buffer',
-	`buffer_size', `band_size', and `worker' members.
-
-	(gray_raster_render): Create `buffer', `buffer_size', and
-	`band_size' locally.
-	(gray_raster_reset): Updated.
-
-2015-01-14  Behdad Esfahbod  <behdad@behdad.org>
-
-	[truetype] Allocate TT_ExecContext in TT_Size instead of TT_Driver.
-
-	Previously the code had stipulation for using a per-TT_Size exec
-	context if `size->debug' was true.  But there was no way that
-	`size->debug' could *ever* be true.  As such, the code was always
-	using the singleton `TT_ExecContext' that was stored in `TT_Driver'.
-	This was, clearly, not threadsafe.
-
-	With this patch, loading glyphs from different faces from different
-	threads doesn't crash in the bytecode loader code.
-
-	* src/truetype/ttobjs.h (TT_SizeRec): Remove `debug' member.
-	(TT_DriverRec): Remove `context' member.
-
-	* src/truetype/ttobjs.c (tt_size_run_fpgm, tt_size_run_prep): Remove
-	`TT_ExecContext' code related to a global `TT_Driver' object.
-
-	(tt_driver_done): Don't remove `TT_ExecContext' object here but ...
-	(tt_size_done_bytecode): ... here.
-
-	(tt_driver_init): Don't create `TT_ExecContext' object here but ...
-	(tt_size_init_bytecode): ... here, only on demand.
-
-	* src/truetype/ttinterp.c (TT_Run_Context): Remove defunct debug
-	code.
-	(TT_New_Context): Remove `TT_ExecContext' code related to a global
-	`TT_Driver' object.
-
-	* src/truetype/ttinterp.h: Updated.
-
-	* src/truetype/ttgload.c (TT_Hint_Glyph, tt_loader_init): Updated.
-
-2015-01-14  Behdad Esfahbod  <behdad@behdad.org>
-
-	[autofit] Allocate AF_Loader on the stack instead of AF_Module.
-
-	Stop sharing a global `AF_Loader'.  Allocate one on the stack during
-	glyph load.
-
-	Right now this results in about 25% slowdown, to be fixed in a
-	following commit.
-
-	With this patch loading glyphs from different faces from different
-	threads doesn't immediately crash in the autohinting loader code.
-
-	Bugs:
-
-	  https://bugzilla.redhat.com/show_bug.cgi?id=1164941
-
-	* src/autofit/afloader.c (af_loader_init): Pass
-	`AF_Loader' and `FT_Memory' instead of `AF_Module' as arguments.
-	(af_loader_reset, af_loader_load_glyph): Also pass `loader' as
-	argument.
-	(af_loader_done): Use `AF_Loader' instead of `AF_Module' as
-	argument.
-
-	* src/autofit/afmodule.c (af_autofitter_init): Don't call
-	`af_loader_init'.
-	(af_autofitter_done): Don't call `af_loader_done'.
-	(af_autofitter_load_glyph): Use a local `AF_Loader' object.
-
-	* src/autofit/afloader.h: Include `afmodule.h'.
-	Update prototypes.
-	Move typedef for `AF_Module' to...
-
-	* src/autofit/afmodule.h: ... this place.
-	No longer include `afloader.h'.
-
-2015-01-14  Behdad Esfahbod  <behdad@behdad.org>
-
-	* src/type42/t42objs.h (T42_DriverRec): Remove unused member.
-
-2015-01-12  Werner Lemberg  <wl@gnu.org>
-
-	Fix Savannah bug #43976.
-
-	Assure that FreeType's internal include directories are found before
-	`CPPFLAGS' (which might be set by the user in the environment), and
-	`CPPFLAGS' before `CFLAGS'.
-
-	* builds/freetype.mk (FT_CFLAGS): Don't add `INCLUDE_FLAGS'.
-	(FT_COMPILE): Make this a special variable for compiling only the
-	files handled in `freetype.mk'.
-	(.c.$O): Removed, unused.
-
-	* src/*/rules.mk (*_COMPILE): Fix order of include directories.
-
-2015-01-11  Werner Lemberg  <wl@gnu.org>
-
-	[truetype] Prettyfing.
-
-	* src/truetype/ttinterp.c (project, dualproj, fast_project,
-	fast_dualproj): Rename to...
-	(PROJECT, DUALPROJ, FAST_PROJECT, FAST_DUALPROJ): ... this.
-
-2015-01-11  Werner Lemberg  <wl@gnu.org>
-
-	* src/truetype/ttinterp.c (Ins_JROT, Ins_JROF): Simplify.
-
-	Based on a patch from Behdad.
-
-2015-01-11  Werner Lemberg  <wl@gnu.org>
-
-	* src/truetype/ttinterp.c (Ins_SxVTL): Simplify function call.
-
-2015-01-11  Werner Lemberg  <wl@gnu.org>
-
-	* src/truetype/ttinterp.c (Normalize): Remove unused argument.
-
-2015-01-11  Werner Lemberg  <wl@gnu.org>
-
-	[truetype] More macro expansions.
-
-	* src/truetype/ttinterp.c (FT_UNUSED_EXEC): Remove macro by
-	expansion.
-
-2015-01-11  Werner Lemberg  <wl@gnu.org>
-
-	[truetype] More macro expansions.
-
-	* src/truetype/ttinterp.c (INS_ARG): Remove macro by expansion,
-	adjusting funtion calls where necessary.
-	(FT_UNUSED_ARG): Removed, no longer needed.
-
-2015-01-10  Werner Lemberg  <wl@gnu.org>
-
-	[truetype] More macro expansions.
-
-	Based on a patch from Behdad.
-
-	* src/truetype/ttinterp.c (DO_*): Expand macros into corresponding
-	`Ins_*' functions.
-	(TT_RunIns): Replace `DO_*' macros with `Ins_*' function calls.
-	(ARRAY_BOUND_ERROR): Remove second definition, which is no longer
-	needed.
-	(Ins_SVTCA, Ins_SPVTCA, Ins_SFVTCA): Replaced with...
-	(Ins_SxyTCA): New function.
-
-2015-01-10  Werner Lemberg  <wl@gnu.org>
-
-	[truetype] Remove TT_CONFIG_OPTION_INTERPRETER_SWITCH.
-
-	Behdad suggested this code simplification, and nobody objected...
-
-	* include/config/ftoption.h, devel/ftoption.h
-	(TT_CONFIG_OPTION_INTERPRETER_SWITCH): Remove.
-
-	* src/truetype/ttinterp.c [TT_CONFIG_OPTION_INTERPRETER_SWITCH]:
-	Remove related code.
-	(ARRAY_BOUND_ERROR): Use do-while loop.
-
-2015-01-10  Werner Lemberg  <wl@gnu.org>
-
-	[truetype] More macro expansions.
-
-	* src/truetype/ttinterp.c, src/truetype/ttinterp.h (EXEC_ARG_,
-	EXEC_ARG): Remove by replacing with expansion.
-
-2015-01-10  Werner Lemberg  <wl@gnu.org>
-
-	[truetype] More macro expansions.
-
-	Based on a patch from Behdad.
-
-	* src/truetype/ttinterp.c (SKIP_Code, GET_ShortIns, NORMalize,
-	SET_SuperRound, ROUND_None, INS_Goto_CodeRange, CUR_Func_move,
-	CUR_Func_move_orig, CUR_Func_round, CUR_Func_cur_ppem,
-	CUR_Func_read_cvt, CUR_Func_write_cvt, CUR_Func_move_cvt,
-	CURRENT_Ratio, INS_SxVTL, COMPUTE_Funcs, COMPUTE_Round,
-	COMPUTE_Point_Displacement, MOVE_Zp2_Point): Remove by replacing
-	with expansion.
-
-	(Cur_Func_project, CUR_Func_dualproj, CUR_fast_project,
-	CUR_fast_dualproj): Replace with macros `project', `dualproj',
-	`fast_project', `fast_dualproj'.
-
-2015-01-10  Werner Lemberg  <wl@gnu.org>
-
-	[truetype] More macro expansions.
-
-	* src/truetype/ttinterp.c (EXEC_OP_, EXEC_OP): Remove by replacing
-	with expansion.
-
-2015-01-10  Werner Lemberg  <wl@gnu.org>
-
-	[truetype] Remove code for static TrueType interpreter.
-
-	This is a follow-up patch.
-
-	* src/truetype/ttinterp.c, src/truetype/ttinterp.h
-	[TT_CONFIG_OPTION_STATIC_INTERPRETER,
-	TT_CONFIG_OPTION_STATIC_RASTER]: Remove macros and related code.
-
-2015-01-10  Werner Lemberg  <wl@gnu.org>
-
-	* src/truetype/ttinterp.c (CUR): Remove by replacing with expansion.
-
-	This starts a series of patches that simplifies the code of the
-	bytecode interpreter.
-
-2014-12-30  Werner Lemberg  <wl@gnu.org>
-
-	* Version 2.5.5 released.
-	=========================
-
-
-	Tag sources with `VER-2-5-5'.
-
-	* docs/VERSION.DLL: Update documentation and bump version number to
-	2.5.5.
-
-	* README, Jamfile (RefDoc), builds/windows/vc2005/freetype.vcproj,
-	builds/windows/vc2005/index.html,
-	builds/windows/vc2008/freetype.vcproj,
-	builds/windows/vc2008/index.html,
-	builds/windows/vc2010/freetype.vcxproj,
-	builds/windows/vc2010/index.html,
-	builds/windows/visualc/freetype.dsp,
-	builds/windows/visualc/freetype.vcproj,
-	builds/windows/visualc/index.html,
-	builds/windows/visualce/freetype.dsp,
-	builds/windows/visualce/freetype.vcproj,
-	builds/windows/visualce/index.html,
-	builds/wince/vc2005-ce/freetype.vcproj,
-	builds/wince/vc2005-ce/index.html,
-	builds/wince/vc2008-ce/freetype.vcproj,
-	builds/wince/vc2008-ce/index.html: s/2.5.4/2.5.5/, s/254/255/.
-
-	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 5.
-
-	* builds/unix/configure.raw (version_info): Set to 17:4:11.
-	* CMakeLists.txt (VERSION_PATCH): Set to 5.
-	* docs/CHANGES: Updated.
-
-	* builds/toplevel.mk (dist): Fix typos.
-
-2014-12-24  Alexei Podtelezhnikov <apodtele@gmail.com>
-
-	[base] Formatting and nanooptimizations.
-
-	* src/base/ftcalc.c,
-	* src/base/fttrigon.c: Revise sign restoration.
-
-2014-12-13  Werner Lemberg  <wl@gnu.org>
-
-	* src/pcf/pcfread.c (pcf_read_TOC): Improve fix from 2014-12-08.
-
-2014-12-11  Werner Lemberg  <wl@gnu.org>
-
-	* builds/toplevel.mk (dist): Use older POSIX standard for `tar'.
-
-	Apparently, BSD tar isn't capable yet of handling POSIX-1.2001
-	(contrary to GNU tar), so force the POSIX-1.1988 format.
-
-	Problem reported by Stephen Fisher <sfisher@SDF.ORG>.
-
-2014-12-11  Werner Lemberg  <wl@gnu.org>
-
-	* src/type42/t42parse.c (t42_parse_sfnts): Reject invalid TTF size.
-
-2014-12-11  Werner Lemberg  <wl@gnu.org>
-
-	* src/base/ftobjs.c (FT_Get_Glyph_Name): Fix off-by-one check.
-
-	Problem reported by Dennis Felsing <dennis@felsin9.de>.
-
-2014-12-11  Werner Lemberg  <wl@gnu.org>
-
-	* src/type42/t42parse.c (t42_parse_sfnts): Check `string_size'.
-
-	Problem reported by Dennis Felsing <dennis@felsin9.de>.
-
-2014-12-09  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
-
-	[gxvalid] Fix a naming convention conflicting with ftvalid.
-
-	See previous changeset for otvalid.
-
-	* src/gxvalid/{gxvcommn.h, gxvmort.h, gxvmorx.h}: Replace
-	`valid' by `gxvalid'.
-	* src/gxvalid/{gxvbsln.c, gxvcommn.c, gxvfeat.c, gxvjust.c,
-	gxvkern.c, gxvlcar.c, gxvmort.c, gxvmort0.c, gxvmort1.c,
-	gxvmort2.c, gxvmort4.c, gxvmort5.c, gxvmorx.c, gxvmorx0.c,
-	gxvmorx1.c, gxvmorx2.c, gxvmorx4.c, gxvmorx5.c, gxvopbd.c,
-	gxvprop.c, gxvtrak.c}: Replace `valid' by `gxvalid' if
-	it is typed as GXV_Validator.
-
-2014-12-09  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
-
-	[otvalid] Fix a naming convention conflicting with ftvalid.
-
-	Some prototypes in ftvalid.h use `valid' for the variables
-	typed as FT_Validator.  Their implementations in src/base/
-	ftobjs.c and utilizations in src/sfnt/ttcmap.c do similar.
-
-	Some macros in otvcommn.h assume the exist of the variable
-	`valid' typed as OTV_Validator in the caller.
-
-	Mixing these two conventions cause invalid pointer conversion
-	and unexpected SEGV in longjmp.  To prevent it, all variables
-	typed as OTV_Validator are renamed to `otvalid'.
-
-	* src/otvalid/otvcommn.h: Replace `valid' by `otvalid'.
-	* src/otvalid/{otvcommn.c, otvbase.c, otvgdef.c, otvgpos.c,
-	otvgsub.c, otvjstf.c, otvmath.c}: Replace `valid' by `otvalid'
-	if it is typed as OTV_Validator.
-
-2014-12-09  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
-
-	[ftvalid] Introduce FT_THROW() in FT_INVALID_XXX macros.
-
-	Original patch is designed by Werner Lemberg.  Extra part
-	for otvalid and gxvalid are added by suzuki toshiya, see
-	discussion:
-	http://lists.nongnu.org/archive/html/freetype-devel/2014-12/msg00002.html
-	http://lists.nongnu.org/archive/html/freetype-devel/2014-12/msg00007.html
-
-	* include/internal/ftvalid.h: Introduce FT_THROW() in FT_INVALID_().
-	* src/gxvalid/gxvcommn.h: Ditto.
-	* src/otvalid/otvcommn.h: Ditto.
-
-2014-12-08  Werner Lemberg  <wl@gnu.org>
-
-	[pcf] Fix Savannah bug #43774.
-
-	Work around `features' of X11's `pcfWriteFont' and `pcfReadFont'
-	functions.  Since the PCF format doesn't have an official
-	specification, we have to exactly follow these functions' behaviour.
-
-	The problem was unveiled with a patch from 2014-11-06, fixing issue
-	#43547.
-
-	* src/pcf/pcfread.c (pcf_read_TOC): Don't check table size for last
-	element.  Instead, assign real size.
-
-2014-12-07  Werner Lemberg  <wl@gnu.org>
-
-	Work around a bug in Borland's C++ compiler.
-
-	See
-
-	  http://qc.embarcadero.com/wc/qcmain.aspx?d=118998
-
-	for Borland's bug tracker entry.
-
-	Reported by Yuliana Zigangirova <zigangirova@inbox.ru>,
-	http://lists.gnu.org/archive/html/freetype-devel/2014-04/msg00001.html.
-
-	* include/internal/ftvalid.h (FT_ValidatorRec), src/smooth/ftgrays.c
-	(gray_TWorker_): Move `ft_jmp_buf' field to be the first element.
-
-2014-12-07  Werner Lemberg  <wl@gnu.org>
-
-	*/*: Decorate hex constants with `U' and `L' where appropriate.
-
-2014-12-07  Werner Lemberg  <wl@gnu.org>
-
-	[truetype] Prevent memory leak for buggy fonts.
-
-	* src/truetype/ttobjs.c (tt_size_done): Unconditionally call
-	`tt_size_done_bytecode'.
-
-2014-12-06  Werner Lemberg  <wl@gnu.org>
-
-	* Version 2.5.4 released.
-	=========================
-
-
-	Tag sources with `VER-2-5-4'.
-
-	* docs/VERSION.DLL: Update documentation and bump version number to
-	2.5.4.
-
-	* README, Jamfile (RefDoc), builds/windows/vc2005/freetype.vcproj,
-	builds/windows/vc2005/index.html,
-	builds/windows/vc2008/freetype.vcproj,
-	builds/windows/vc2008/index.html,
-	builds/windows/vc2010/freetype.vcxproj,
-	builds/windows/vc2010/index.html,
-	builds/windows/visualc/freetype.dsp,
-	builds/windows/visualc/freetype.vcproj,
-	builds/windows/visualc/index.html,
-	builds/windows/visualce/freetype.dsp,
-	builds/windows/visualce/freetype.vcproj,
-	builds/windows/visualce/index.html,
-	builds/wince/vc2005-ce/freetype.vcproj,
-	builds/wince/vc2005-ce/index.html,
-	builds/wince/vc2008-ce/freetype.vcproj,
-	builds/wince/vc2008-ce/index.html: s/2.5.3/2.5.4/, s/253/254/.
-
-	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 4.
-
-	* builds/unix/configure.raw (version_info): Set to 17:3:11.
-	* CMakeLists.txt (VERSION_PATCH): Set to 4.
-	* docs/CHANGES: Updated.
-
-2014-12-04  Werner Lemberg  <wl@gnu.org>
-
-	docs/CHANGES: Updated, formatted.
-
-2014-12-04  Dave Arnold  <darnold@adobe.com>
-
-	[cff] Modify an FT_ASSERT.
-
-	* src/cff/cf2hints.c (cf2_hintmap_map): After the fix for Savannah
-	bug #43661, the test font `...aspartam.otf' still triggers an
-	FT_ASSERT.  Since hintmap still works with count==0, ...
-	(cf2_glyphpath_lineTo, cf2_glyphpath_curveTo): ... add that term to
-	suppress the assert.
-
-2014-12-04  Dave Arnold  <darnold@adobe.com>
-
-	[cff] Fix Savannah bug #43661.
-
-	* src/cff/cf2intrp.c (cf2_interpT2CharString) <cf2_cmdHSTEM,
-	cf2_cmdVSTEM, cf2_cmdHINTMASK>: Don't append to stem arrays after
-	hintmask is constructed.
-
-	* src/cff/cf2hints.c (cf2_hintmap_build): Add defensive code to
-	avoid reading past end of hintmask.
-
-2014-12-03  Werner Lemberg  <wl@gnu.org>
-
-	docs/CHANGES: Updated.
-
-2014-12-03  Werner Lemberg  <wl@gnu.org>
-
-	[autofit] Better fix for conversion specifiers in debug messages.
-
-	Using `%ld' for pointer differences causes warnings on 32bit
-	platforms.  The correct type would be (the relatively new) `%td',
-	however, this is missing on some important platforms.
-
-	This patch improves the change from 2014-11-28.
-
-	* src/autofit/afhints.c (AF_INDEX_NUM): Use `int' typecast.  Our
-	pointer differences are always sufficiently small.
-	(af_glyph_hints_dump_points, af_glyph_hints_dump_segments,
-	af_glyph_hints_dump_edge): Revert to `%d' and use `AF_INDEX_NUM'.
-
-2014-12-03  Werner Lemberg  <wl@gnu.org>
-
-	FT_Sfnt_Tag: s/ft_sfnt_xxx/FT_SFNT_XXX/ for orthogonality.
-
-	All public FreeType enumeration and flag values are uppercase...
-
-	* include/tttables.h (FT_Sfnt_Tag): Implement it.  For backwards
-	compatilibity, retain the old values as macros.
-
-	* src/base/ftfstype.c (FT_Get_FSType_Flags), src/sfnt/sfdriver.c
-	(get_sfnt_table): Updated.
-
-2014-12-02  Werner Lemberg  <wl@gnu.org>
-
-	* include/*: Improve structure of documentation.
-
-	. Add and update many `<Order>' tags.
-	. Apply various documentation fixes.
-	. Remove details to deprecated (or never implemented) data.
-
-2014-12-02  Werner Lemberg  <wl@gnu.org>
-
-	[docmaker] Always handle `<Order>' section elements.
-
-	Previously, those elements were handled only for sections present in
-	a `<Sections>' chapter element.
-
-	* src/tools/docmaker/content.py (ContentProcessor::finish):
-	Implement it.
-
-2014-12-02  Werner Lemberg  <wl@gnu.org>
-
-	[docmaker] Properly handle empty rows in Synopsis.
-
-	* src/tools/docmaker/tohtml.py (HtmlFormatter::section_enter): Emit
-	`&nbsp;' for empty fields.
-
-2014-12-02  Werner Lemberg  <wl@gnu.org>
-
-	[docmaker] Thinko.
-
-	* src/tools/docmaker/content.py (DocBlock::get_markup_words_all):
-	Emit `/empty/' string for first element also.
-
-2014-12-02  Werner Lemberg  <wl@gnu.org>
-
-	[docmaker] Honour empty lines in `<Order>' section element.
-
-	This greatly improves the readability of the `Synopsis' links.
-
-	* src/tools/docmaker/content.py (DocBlock::get_markup_words_all):
-	Insert string `/empty/' between items.
-
-	* src/tools/docmaker/formatter.py (Formatter::section_dump): Make it
-	robust against nonexistent keys.
-
-	* src/tools/docmaker/tohtml.py (HtmlFormatter::section_enter): Emit
-	empty <td> elements for `/empty/'.
-
-2014-12-02  Werner Lemberg  <wl@gnu.org>
-
-	[docmaker] Ensure Python 3 compatibility.
-
-	* src/tools/docmaker/content.py (ContentProcessor::set_section,
-	ContentProcessor::finish): Replace `has_key' function with `in'
-	keyword.
-
-	* src/tools/docmaker/formatter.py (Formatter::__init__): Replace
-	sorting function with a key generator.
-	(Formatter::add_identifier): Replace `has_key' function with `in'
-	keyword.
-
-	* src/tools/docmaker/tohtml.py (HtmlFormatter::html_source_quote):
-	Replace `has_key' function with `in' keyword.
-	(HtmlFormatter::index_exit, HtmlFormatter::section_enter): Use
-	integer division.
-	s/<>/>/.
-
-	* src/tools/docmaker/utils.py: Import `itertools'.
-	(index_sort): Replaced by...
-	(index_key): ... this new key generator (doing exactly the same).
-
-2014-11-29  Werner Lemberg  <wl@gnu.org>
-
-	[docmaker] Don't output a block multiple times.
-
-	This bug was hidden by not processing all lines of `<Order>' blocks.
-
-	* src/tools/docmaker/formatter.py (Formatter::section_dump): Filter
-	out field names.
-
-2014-11-29  Werner Lemberg  <wl@gnu.org>
-
-	[docmaker] Use field values as HTML link targets where possible.
-
-	* src/tools/docmaker/tohtml.py (HtmlFormatter::make_block_url):
-	Accept second, optional argument to specify a name.
-	(HtmlFormatter::html_source_quote): Link to field ID if possible.
-	(HtmlFormatter::print_html_field_list): Emit `id' attribute.
-
-2014-11-29  Werner Lemberg  <wl@gnu.org>
-
-	[docmaker] Allow empty lines in `<Order>' blocks.
-
-	Before this patch, the suggested order of entries stopped at the
-	first empty line.
-
-	Obviously, nobody noticed that this problem caused a much reduced
-	set of links in the `Synopsis' sections; in particular, the
-	`<Order>' blocks contain a lot of entries that wouldn't be listed
-	otherwise...
-
-	* src/tools/docmaker/content.py (DocBlock::get_markup_words_all):
-	New function to iterate over all items.
-	(DocSection::process): Use it.
-
-2014-11-29  Werner Lemberg  <wl@gnu.org>
-
-	* src/tools/docmaker/sources.py (column) [Format 2]: Fix regexp.
-
-	After the single asterisk there must be no other immediately following
-	asterisk.
-
-2014-11-29  Werner Lemberg  <wl@gnu.org>
-
-	* src/tools/docmaker/tohtml.py: Improve CSS for vertical spacing.
-
-2014-11-29  Werner Lemberg  <wl@gnu.org>
-
-	[docmaker] Improve HTML code for table of contents.
-
-	* src/tools/docmaker/tohtml.py: Introduce a new table class `toc',
-	together with proper CSS.
-
-2014-11-29  Werner Lemberg  <wl@gnu.org>
-
-	[docmaker] Provide higher-level markup and simplify HTML.
-
-	* src/tools/docmaker/tohtml.py: Instead of using extraneous `<div>'
-	elements, use CSS descendants (of class `section') to format the
-	data.
-
-	Also remove reduntant <p> and <br> elements, replacing them with
-	proper CSS.
-
-	Globally reduce page width to 75%.
-
-	(block_header): Rename <div> class to `section'.
-
-2014-11-29  Werner Lemberg  <wl@gnu.org>
-
-	[docmaker] Add `top' links after blocks.
-
-	* src/tools/docmaker/tohtml.py (block_footer_middle): Implement it.
-
-2014-11-29  Werner Lemberg  <wl@gnu.org>
-
-	* src/tools/docmaker/tohtml.py: Improve CSS for fields.
-
-	Make fields align horizontally relative to full line width.
-
-2014-11-29  Werner Lemberg  <wl@gnu.org>
-
-	* src/tools/docmaker/tohtml.py: Fix index and TOC templates.
-
-	This thinko was introduced 2014-11-27.
-
-2014-11-28  Werner Lemberg  <wl@gnu.org>
-
-	[docmaker] Format field lists with CSS.
-
-	This also simplifies the inserted HTML code.
-
-	* src/tools/docmaker/tohtml.py
-	(HtmlFormatter::print_html_field_list): Do it.
-
-2014-11-28  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
-
-	Fix compiler warning to the comparison between signed and
-	unsigned variable.
-
-	* src/pfr/pfrsbit.c (pfr_slot_load_bitmap): Fix the comparison
-	between `ypos + ysize' and FT_INT_{MAX,MIN}.
-
-2014-11-28  Werner Lemberg  <wl@gnu.org>
-
-	[docmaker] Replace empty `<td>' with CSS.
-
-	* src/tools/docmaker/tohtml.py (HtmlFormatter::section_enter): Do
-	it.
-
-2014-11-28  Werner Lemberg  <wl@gnu.org>
-
-	[docmaker] Replace some `<table>' tags with `<h4>' and `<div>'.
-
-	* src/tools/docmaker/tohtml.py (marker_*): Use `<h4>'.
-	(source_*): Use `<div>'.
-	(HtmlFormatter::block_enter): s/<h4>/<h3>/.
-
-2014-11-28  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
-
-	Fix compiler warning to conversion specifiers in debug messages.
-
-	* src/autofit/afhints.c (af_glyph_hints_dump_points): Add length
-	modifier to dump long integers.
-	(af_glyph_hints_dump_segments, af_glyph_hints_dump_edges): Ditto.
-
-2014-11-27  Werner Lemberg  <wl@gnu.org>
-
-	* src/tools/docmaker/tohtml.py: Use more CSS for index.
-
-2014-11-27  Werner Lemberg  <wl@gnu.org>
-
-	[docmaker] Replace `name' attribute of `<a>' with `id'.
-
-	* src/tools/docmaker/tohtml.py (HtmlFormatter::block_enter): Do it.
-
-2014-11-27  Werner Lemberg  <wl@gnu.org>
-
-	* src/tools/docmaker/tohtml.py: Remove remaining `width' attributes.
-
-	For `Index' and `TOC' links, we now simply use the `text-align' CSS
-	property of `<td>' to enforce flush-left and flush-right,
-	eliminating the hack with an empty, full-width `<td>' element
-	inbetween.
-
-	The change also enforces the same (smaller) size for all index and
-	TOC links.
-
-2014-11-27  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
-
-	* src/cff/cf2font.c: Include `ftcalc.h' to use FT_MSB(),
-	cf2font.c could not find it under `make multi' build.
-
-2014-11-27  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
-
-	* src/smooth/ftsmooth.c (ft_smooth_render_generic): Remove
-	unrequired negative value check for `width' and `height'.
-
-2014-11-27  Werner Lemberg  <wl@gnu.org>
-
-	* src/tools/docmaker/tohtml.py: More HTML table refactoring.
-
-	Replace some `<table>' tags with `<div>' to simplify structure.
-
-	Move `bgcolor' attribute to CSS.
-
-	Replace most `width' attributes with CSS.  The remaining instances
-	(providing a similar effect as LaTeX's `\hfill' command) are removed
-	in a later patch.
-
-2014-11-27  Werner Lemberg  <wl@gnu.org>
-
-	* src/tools/docmaker/tohtml.py: Replace <font> with CSS.
-
-2014-11-27  Werner Lemberg  <wl@gnu.org>
-
-	* src/tools/docmaker/tohtml.py: Center <table> with CSS.
-
-2014-11-27  Werner Lemberg  <wl@gnu.org>
-
-	* src/tools/docmaker/tohtml.py: Replace `<center>' with `<div>'.
-
-2014-11-27  Werner Lemberg  <wl@gnu.org>
-
-	* src/tools/docmaker/tohtml.py: Remove redundant `<center>' tags.
-
-	This starts a series of commits into the direction of generating
-	valid HTML 5 code, especially using much more CSS.
-
-2014-11-27  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
-
-	Prevent too negative values (< FT_INT_MIN) in bitmap metrics,
-	suggested by Alexei.
-
-	* src/pfr/pfrsbit.c (pfr_slot_load_bitmap): Prevent too
-	negative values in `xpos' and `ypos + ysize'.
-	* src/smooth/ftsmooth.c (ft_smooth_render_generic): Prevent
-	too negative values in `x_left' and `y_top'.  Either negative
-	values in `width' and `height' are checked.
-
-2014-11-27  Werner Lemberg  <wl@gnu.org>
-
-	[docmaker] Produce better HTML code.
-
-	* src/tools/docmaker/tohtml.py: Always use double quotes for
-	attribute values.
-	(source_footer): Close `td' and `tr' groups.
-
-2014-11-27  Werner Lemberg  <wl@gnu.org>
-
-	Use better way to disable creation of .pyc files for `make refdoc'.
-
-	Python 2.6 was released in 2008...
-
-	* builds/freetype.mk (refdoc): Use python's `-B' option.
-
-	* builds/detect.mk (std_setup, dos_setup): Mention required python
-	version for `refdoc' target.
-
-2014-11-27  Werner Lemberg  <wl@gnu.org>
-
-	* src/tools/docmaker/sources.py (re_bold, re_italic): Use
-	non-grouping parentheses.
-	* src/tools/docmaker/tohtml.py (HtmlFormatter::make_html_word):
-	Updated.
-
-2014-11-27  Werner Lemberg  <wl@gnu.org>
-
-	* src/base/ftobjs.c (FT_Get_Glyph_Name): Fix compiler warning.
-
-	Introdruced in previous change.  Reported by Alexei.
-
-2014-11-26  Werner Lemberg  <wl@gnu.org>
-
-	* src/*: Add checks for parameters of API functions where missing.
-
-	`API functions' are functions tagged with `FT_EXPORT_DEF'.
-
-	Besides trivial fixes, the following changes are included, too.
-
-	* src/base/ftbdf.c (FT_Get_BDF_Charset_ID, FT_Get_BDF_Property): Set
-	error code if no service is available.
-
-	* src/base/ftinit.c (FT_Done_FreeType): Change return value for
-	invalid `library' parameter to `Invalid_Library_Handle'.
-
-	* src/base/ftobjs.c (FT_New_Size): Change return value for invalid
-	`asize' parameter to `Invalid_Argument'.
-
-	* src/base/ftoutln.c (FT_Outline_Copy): Change return value for
-	invalid `source' and `target' parameters to `Invalid_Outline'.
-	(FT_Outline_Done_Internal): Change return value for invalid
-	`outline' parameter to `Invalid_Outline'.
-
-2014-11-26  Werner Lemberg  <wl@gnu.org>
-
-	* src/cache/ftcbasic.c: Use single calls to `FT_TRACE'.
-
-2014-11-26  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
-
-	* src/base/ftobj.c (Mac_Read_POST_Resource): Additional
-	overflow check in the summation of POST fragment lengths,
-	suggested by Mateusz Jurczyk <mjurczyk@google.com>.
-
-2014-11-26  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
-
-	* src/base/ftobjs.c (Mac_Read_POST_Resource): Insert comments
-	and fold too long tracing messages.
-
-2014-11-26  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
-
-	Fix Savannah bug #43540.
-
-	* src/base/ftmac.c (parse_fond): Prevent a buffer overrun
-	caused by a font including too many (> 63) strings to store
-	names[] table.
-
-2014-11-26  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
-
-	* src/base/ftobjs.c (Mac_Read_POST_Resource): Use unsigned long
-	variables to read the lengths in POST fragments.  Suggested by
-	Mateusz Jurczyk <mjurczyk@google.com>.
-
-2014-11-26  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
-
-	Fix Savannah bug #43539.
-
-	* src/base/ftobjs.c (Mac_Read_POST_Resource): Fix integer overflow
-	by a broken POST table in resource-fork.
-
-2014-11-26  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
-
-	Fix Savannah bug #43538.
-
-	* src/base/ftobjs.c (Mac_Read_POST_Resource): Fix integer overflow
-	by a broken POST table in resource-fork.
-
-2014-11-26  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
-
-	* src/base/ftobjs.c (Mac_Read_POST_Resource): Avoid memory leak
-	by a broken POST table in resource-fork.  Return after freeing
-	the buffered POST table when it is found to be broken.
-
-2014-11-25  Werner Lemberg  <wl@gnu.org>
-
-	*/*: s/Invalid_Argument/Invalid_Size_Handle/ where appropriate.
-
-2014-11-25  Werner Lemberg  <wl@gnu.org>
-
-	*/*: s/Invalid_Argument/Invalid_Stream_Handle/ where appropriate.
-
-2014-11-25  Werner Lemberg  <wl@gnu.org>
-
-	*/*: s/Invalid_Argument/Invalid_Library_Handle/ where appropriate.
-
-2014-11-25  Werner Lemberg  <wl@gnu.org>
-
-	*/*: s/Invalid_Argument/Invalid_Outline/ where appropriate.
-
-2014-11-25  Werner Lemberg  <wl@gnu.org>
-
-	*/*: s/Invalid_Argument/Invalid_Face_Handle/ where appropriate.
-
-2014-11-24  Werner Lemberg  <wl@gnu.org>
-
-	[Savannah bug #43682] Adjust some renderer callbacks.
-
-	* src/raster/ftraster.c (ft_black_set_mode): Change return type to
-	`int' to stay in sync with `FT_Renderer_SetModeFunc' prototype.
-
-	* src/smooth/ftgrays.c (gray_raster_set_mode): New dummy function
-	for orthogonality.
-	(ft_grays_raster): Use it.
-
-2014-11-25  Werner Lemberg  <wl@gnu.org>
-
-	[Savannah bug #43682] Properly handle missing return errors.
-
-	The functions in this patch *do* return non-trivial errors that must
-	be taken care of.
-
-	* src/autofit/afloader.c (af_loader_load_g), src/base/ftobjs.c
-	(FT_Render_Glyph_Internal), src/base/ftoutln.c (FT_Outline_Render),
-	src/cff/cffgload.c (cff_decoder_parse_charstrings) <cff_op_endchar>,
-	src/psaux/psobjs.c (ps_parser_load_field_table), src/psaux/t1decode
-	(t1_decoder_parse_charstrings) <op_endchar>, src/truetype/ttgload.c
-	(load_truetype_glyph <subglyph loop>, tt_loader_init,
-	TT_Load_Glyph), src/truetype/ttgxvar.c (TT_Set_MM_Blend),
-	src/truetype/ttobjs.c (tt_size_run_fpgm, tt_size_run_prep): Do it.
-
-2014-11-25  Werner Lemberg  <wl@gnu.org>
-
-	[Savannah bug #43682] Add/remove `void' casts to some functions.
-
-	We use a cast to indicate that we intentionally ignore a function's
-	return value.  However, this doesn't apply to API functions where
-	errors can only happen for trivially invalid input.
-
-	* src/base/ftstroke.c (FT_Glyph_Stroke, FT_Glyph_StrokeBorder),
-	src/base/ftsynth.c (FT_GlyphSlot_Embolden), src/cff/cffgload.c
-	(cff_slot_load), src/pfr/pfrdrivr.c (pfr_get_kerning),
-	src/type1/t1load.c (parse_encoding), src/type42/t42parse.c
-	(t42_parse_encoding): Do it.
-
-2014-11-25  Werner Lemberg  <wl@gnu.org>
-
-	[Savannah bug #43682] Change some signatures to `void' return type.
-
-	* include/internal/pshints.h (PSH_Globals_SetScaleFunc),
-	include/internal/sfnt.h (TT_Get_Metrics_Func),
-	src/pshinter/pshglob.c (psh_globals_set_scale),
-	src/pshinter/pshrec.c (ps_hints_init), src/sfnt/ttmtx.c
-	(tt_face_get_metrics), src/truetype/ttinterp.c (TT_Goto_CodeRange,
-	TT_Set_CodeRange, TT_Clear_CodeRange, TT_Done_Context,
-	TT_Save_Context): Do it.
-
-	* src/pshinter/pshglob.h, src/pshinter/pshrec.h, src/sfnt/ttmtx.h,
-	src/truetype/ttgload.c (TT_Hint_Glyph), src/truetype/ttinterp.c
-	(TT_Run_Context), src/truetype/ttinterp.h, src/truetype/ttobjs.c
-	(tt_size_run_fpgm, tt_size_run_prep): Updated.
-
-2014-11-24  Werner Lemberg  <wl@gnu.org>
-
-	Remove all code related to FT_MAX_CHARMAP_CACHEABLE.
-
-	This is no longer used.
-
-	* src/base/ftobjs.c, src/cache/ftccmap.c, src/cff/cffobjs.c,
-	src/sfnt/ttcmap.c: Do it.
-
-2014-11-24  Werner Lemberg  <wl@gnu.org>
-
-	[sfnt] Fix Savannah bug #43680.
-
-	This adds an additional constraint to make the fix from 2013-01-25
-	really work.
-
-	* src/sfnt/ttsbit.c (tt_sbit_decoder_load_image) <index_format==4>:
-	Check `p' before `num_glyphs'.
-
-2014-11-24  Werner Lemberg  <wl@gnu.org>
-
-	[truetype] Fix Savannah bug #43679.
-
-	* src/truetype/ttpload.c (tt_face_load_hdmx): Check minimum size of
-	`record_size'.
-
-2014-11-24  Jarkko Pöyry  <jarkko.poyry@gmail.com>
-
-	[cff, pfr, psaux, winfonts] Fix Savannah bug #43676.
-
-	Don't cast cmap init function pointers to an incompatible type.
-
-	Without this patch, the number of parameters between declaration and
-	the real signature differs.  Calling such a function results in
-	undefined behavior.
-
-	  ISO/IEC 9899:TC3 (Committee Draft September 7, 2007)
-	    6.5.2.2 Function calls
-	      9 If the function is defined with a type that is not
-	        compatible with the type (of the expression) pointed to by
-	        the expression that denotes the called function, the
-	        behavior is undefined.
-
-	On certain platforms (c -> js with emscripten) this causes
-	termination of execution or invalid calls because in the emscripten
-	implementation, function pointers of different types are stored in
-	different pointer arrays.  Incorrect pointer type here results in
-	indexing of an incorrect array.
-
-	* src/cff/cffcmap.c (cff_cmap_encoding_init, cff_cmap_unicode_init),
-	src/pfr/pfrcmap.c (pfr_cmap_init), src/psaux/t1cmap.c
-	t1_cmap_standard_init, t1_cmap_expert_init, t1_cmap_custom_init,
-	t1_cmap_unicode_init), src/winfonts/winfnt.c (fnt_cmap_init): Fix
-	signature.
-
-2014-11-24  Werner Lemberg  <wl@gnu.org>
-
-	[sfnt] Fix Savannah bug #43672.
-
-	* src/sfnt/ttkern.c (tt_face_load_kern): Use correct value for
-	minimum table length test.
-
-2014-11-24  Werner Lemberg  <wl@gnu.org>
-
-	[type1, type42] Another fix for Savannah bug #43655.
-
-	* src/type1/t1load.c (parse_charstrings), src/type42/t42parse.c
-	(t42_parse_charstrings): Add another boundary testing.
-
-2014-11-24  Werner Lemberg  <wl@gnu.org>
-
-	[docmaker] Formatting, copyright, improved documentation.
-
-	* src/tools/docmaker/*: No code changes besides trivial
-	modifications.
-
-2014-11-22  Werner Lemberg  <wl@gnu.org>
-
-	[bdf] Fix Savannah bug #43660.
-
-	* src/bdf/bdflib.c (_bdf_parse_glyphs) <"ENDFONT">: Check
-	`_BDF_GLYPH_BITS'.
-
-2014-11-22  Werner Lemberg  <wl@gnu.org>
-
-	[type42] Allow only embedded TrueType fonts.
-
-	This is a follow-up to Savannah bug #43659.
-
-	* src/type42/t42objs.c (T42_Face_Init): Exclusively use the
-	`truetype' font driver for loading the font contained in the `sfnts'
-	array.
-
-2014-11-22  Werner Lemberg  <wl@gnu.org>
-
-	[type42] Fix Savannah bug #43659.
-
-	* src/type42/t42objs.c (T42_Open_Face): Initialize `face->ttf_size'.
-
-	* src/type42/t42parse.c (t42_parse_sfnts): Always set
-	`face->ttf_size' directly.  This ensures a correct stream size in
-	the call to `FT_Open_Face', which follows after parsing, even for
-	buggy input data.
-	Fix error messages.
-
-2014-11-22  Werner Lemberg  <wl@gnu.org>
-
-	[cff] Fix Savannah bug #43658.
-
-	* src/cff/cf2ft.c (cf2_builder_lineTo, cf2_builder_cubeTo): Handle
-	return values of point allocation routines.
-
-2014-11-22  Werner Lemberg  <wl@gnu.org>
-
-	[sfnt] Fix Savannah bug #43656.
-
-	* src/sfnt/ttcmap.c (tt_cmap4_validate): Fix order of validity
-	tests.
-
-2014-11-21  Werner Lemberg  <wl@gnu.org>
-
-	[type1, type42] Fix Savannah bug #43655.
-
-	* src/type1/t1load.c (parse_charstrings), src/type42/t42parse.c
-	(t42_parse_charstrings): Fix boundary testing.
-
-2014-11-21  Werner Lemberg  <wl@gnu.org>
-
-	* src/pcf/pcfread.c (pcf_get_metrics): Sanitize invalid metrics.
-
-2014-11-21  Werner Lemberg  <wl@gnu.org>
-
-	[ftlcdfil] Obey flow direction.
-
-	* src/base/ftlcdfil.c (_ft_lcd_filter_fir, _ft_lcd_filter_legacy):
-	Handle `up' flow.
-
-2014-11-21  Werner Lemberg  <wl@gnu.org>
-
-	* src/base/ftbitmap.c (FT_Bitmap_Convert): Improve.
-
-	This commit completes argument checks and adds support for different
-	flow directions.
-
-2014-11-21  Werner Lemberg  <wl@gnu.org>
-
-	* src/base/ftbitmap.c (FT_Bitmap_Copy): Improve.
-
-	This commit adds argument checks and support for different flow
-	directions.
-
-2014-11-20  Werner Lemberg  <wl@gnu.org>
-
-	* src/base/ftbitmap.c (FT_Bitmap_New): Check argument.
-
-2014-11-19  Werner Lemberg  <wl@gnu.org>
-
-	Change some fields in `FT_Bitmap' to unsigned type.
-
-	This doesn't break ABI.
-
-	* include/ftimage.h (FT_Bitmap): Make `rows', `width', `num_grays',
-	`pixel_mode', and `palette_mode' unsigned types.
-
-	* src/base/ftbitmap.c: Updated.
-	(FT_Bitmap_Copy): Fix casts.
-
-	* src/cache/ftcsbits.c, src/raster/ftraster.c, src/sfnt/pngshim.c:
-	Updated.
-
-2014-11-19  Werner Lemberg  <wl@gnu.org>
-
-	Make `FT_Bitmap_Convert' correctly handle negative `pitch' values.
-
-	* src/base/ftbitmap.c (FT_Bitmap_Convert): Always use positive value
-	for the pitch while copying data.
-	Correctly set pitch sign in target bitmap.
-
-2014-11-19  Werner Lemberg  <wl@gnu.org>
-
-	Minor code improvement in `FT_Bitmap_Embolden'.
-
-	* src/base/ftbitmap.c (FT_Bitmap_Embolden) <FT_PIXEL_MODE_GRAY[24]>:
-	Fix thinko.
-
-2014-11-19  Alexei Podtelezhnikov  <apodtele@gmail.com>
-
-	* src/base/fttrigon.c: Use dedicated `FT_Angle' for arctan table.
-
-2014-11-19  Behdad Esfahbod  <behdad@behdad.org>
-
-	Avoid compiler warnings on x86-64 for `FT_MulFix'.
-
-	`FT_MulFix' takes `FT_Long' parameters as defined in `freetype.h',
-	but several inline implementations of it in `ftcalc.h' take
-	`FT_Int32' arguments.  This is causing compiler warnings on x86-64:
-	If parameters of type `FT_Fixed' (= `FT_Long') are passed to the
-	inline implementation of this function, integer values are truncated
-	from 64bit to 32bit.
-
-	* include/internal/ftcalc.h (FT_MulFix) [FT_MULFIX_ASSEMBLER]: Add
-	casts.
-
-2014-11-15  Werner Lemberg  <wl@gnu.org>
-
-	[sfnt] Fix Savannah bug #43597.
-
-	* src/sfnt/pngshim.c (Load_SBit_Png): Protect against too large
-	bitmaps.
-
-2014-11-12  Werner Lemberg  <wl@gnu.org>
-
-	[sfnt] Fix Savannah bug #43591.
-
-	* src/sfnt/ttsbit.c (tt_sbit_decoder_init): Protect against addition
-	and multiplication overflow.
-
-2014-11-12  Werner Lemberg  <wl@gnu.org>
-
-	[sfnt] Fix Savannah bug #43590.
-
-	* src/sfnt/ttload.c (check_table_dir, tt_face_load_font_dir):
-	Protect against addition overflow.
-
-2014-11-12  Werner Lemberg  <wl@gnu.org>
-
-	[sfnt] Fix Savannah bug #43589.
-
-	* src/sfnt/sfobjs.c (woff_open_font): Protect against addition
-	overflow.
-
-2014-11-12  Werner Lemberg  <wl@gnu.org>
-
-	[sfnt] Fix Savannah bug #43588.
-
-	* src/sfnt/ttcmap.c (tt_cmap8_validate, tt_cmap10_validate,
-	tt_cmap12_validate, tt_cmap13_validate, tt_cmap14_validate): Protect
-	against overflow in additions and multiplications.
-
-2014-11-10  Alexei Podtelezhnikov  <apodtele@gmail.com>
-
-	[base] CORDIC improvements.
-
-	The scaling between the hypotenuse and its CORDIC approximation is
-	based on regression analysis. The smaller padding for `theta' is
-	justifed by its maximum error of less than 6.
-
-	* src/base/fttrigon.c (ft_trig_downscale): Borrow code from
-	./ftcalc.c (ft_multo64), change linear intercept.
-	(ft_trig_pseudo_polarize): Decrease `theta' padding.
-
-2014-11-09  Werner Lemberg  <wl@gnu.org>
-
-	* src/base/ftstroke.c (ft_stroker_inside): Fix border intersections.
-
-	One more place to check whether `radius' is zero.
-
-	Problem reported by Marco Wertz <marco.wertz@gmx.de>.
-
-2014-11-07  Werner Lemberg  <wl@gnu.org>
-
-	[bdf] Fix Savannah bug #43535.
-
-	* src/bdf/bdflib.c (_bdf_strncmp): New macro that checks one
-	character more than `strncmp'.
-	s/ft_strncmp/_bdf_strncmp/ everywhere.
-
-2014-11-06  Werner Lemberg  <wl@gnu.org>
-
-	[pcf] Fix Savannah bug #43548.
-
-	* src/pcf/pcfread.c (pcf_get_encodings): Add sanity checks for row
-	and column values.
-
-2014-11-06  Werner Lemberg  <wl@gnu.org>
-
-	[pcf] Fix Savannah bug #43547.
-
-	* src/pcf/pcfread.c (pcf_read_TOC): Check `size' and `offset'
-	values.
-
-2014-11-06  Werner Lemberg  <wl@gnu.org>
-
-	* src/pcf/pcfread.c (pcf_read_TOC): Avoid memory leak.
-
-2014-11-03  Infinality  <infinality@infinality.net>
-
-	* src/truetype/ttsubpix.c (COMPATIBILITY_MODE_Rules): Updated.
-
-	The previous commit deteriorates rendering of DejaVu and similar
-	fonts; this gets compensated with this rule.
-
-2014-11-03  Werner Lemberg  <wl@gnu.org>
-
-	* src/truetype/ttinterp.c (Ins_DELTAP): Fix subpixel hinting.
-
-	Before this patch, it was impossible to ever call DELTAP[123] in
-	subpixel hinting mode as described in the ClearType whitepaper; it
-	only worked if in `compatibility mode'.  However, compatibility mode
-	essentially disables SHPIX, completely ruining hinting of
-	ttfautohint output, for example.
-
-	We now follow the whitepaper more closely so that DELTAP[123]
-	instructions for touched points in the non-subpixel direction are
-	executed.
-
-2014-10-31  Alexei Podtelezhnikov  <apodtele@gmail.com>
-
-	[smooth] Improve code readability.
-
-	* src/smooth/ftsmooth.c (ft_smooth_render_generic): Rearrange code.
-
-2014-10-31  Alexei Podtelezhnikov  <apodtele@gmail.com>
-
-	[smooth] Reduce outline translations during rendering.
-
-	* src/smooth/ftsmooth.c (ft_smooth_render_generic): Translate origin
-	virtually by modifying cbox, actually translate outline if cumulative
-	shift is not zero.
-
-2014-10-30  Alexei Podtelezhnikov  <apodtele@gmail.com>
-
-	[smooth] Fix Savannah bug #35604 (cont'd).
-
-	* src/smooth/ftsmooth.c (ft_smooth_render_generic): Remove checks and
-	casts that became unnecessary after the variable type upgrades.
-
-2014-10-29  Alexei Podtelezhnikov  <apodtele@gmail.com>
-
-	[smooth] Improve code readability.
-
-	* src/smooth/ftsmooth.c (ft_smooth_render_generic): Rearrange code.
-
-2014-10-29  Alexei Podtelezhnikov  <apodtele@gmail.com>
-
-	Unify hypotenuse approximations.
-
-	* include/internal/ftcalc.h (FT_HYPOT): Move macro from here...
-	* include/internal/ftobjs.h: ... to here, next to required `FT_ABS'.
-	* src/smooth/ftgrays.c (gray_render_cubic): Use it here.
-
-2014-10-25  Werner Lemberg  <wl@gnu.org>
-
-	[cff] Test valid darkening parameter macros in `ftoption.h'.
-
-	We no longer need an otherwise unused typedef that can cause a gcc
-	warning.
-	Problem reported by Alexei.
-
-	* src/cff/cffobjs.c (cff_driver_init): Use
-	`CFF_CONFIG_OPTION_DARKENING_PARAMETER_XXX' macros directly.
-	(SET_DARKENING_PARAMETERS): Removed.
-	Compile time tests are now ...
-
-	* devel/ftoption.h, include/config/ftoption.h: ... here.
-
-2014-10-25  Alexei Podtelezhnikov  <apodtele@gmail.com>
-
-	Improve flat corner definition.
-
-	* include/internal/ftcalc.h (FT_HYPOT): Macro to approximate Euclidean
-	distance with the alpha max plus beta min algorithm.
-	* src/base/ftcalc.c (ft_corner_is_flat): Use it instead of Taxicab
-	metric.
-
-2014-10-23  David Weiß  <David.Weiss@ptvgroup.com>
-
-	[build] Improve property file for vc2010.
-
-	User-defined properties should be empty by default to prevent linker
-	failures.
-
-	* builds/windows/vc2010/freetype.user.props,
-	builds/windows/vc2010/freetype.vcxproj:
-	s/OptionsDirectory/UserOptionDirectory/.
-	Comment out all user options.
-
-2014-10-23  Werner Lemberg  <wl@gnu.org>
-
-	[cff] Work around bug in preprocessor of MSVC 2010.
-
-	We have been hit by
-
-	  https://connect.microsoft.com/VisualStudio/feedback/details/718976/msvc-pr
-
-	* devel/ftoption.h, include/config/ftoption.h: Replace
-	`CFF_CONFIG_OPTION_DARKENING_PARAMETERS' with eight macros
-	`CFF_CONFIG_OPTION_DARKENING_PARAMETER_{X,Y}{1,2,3,4}'.
-
-	* src/cff/cffobjs.c (SET_DARKENING_PARAMETERS): Removed.  We no
-	longer need double expansion.
-	(SET_DARKENING_PARAMETERS_0): Renamed to ...
-	(SET_DARKENING_PARAMETERS): ... this.
-	Update call.
-
-2014-10-20  Werner Lemberg  <wl@gnu.org>
-
-	[sbit] Minor fixes.
-
-	* src/sfnt/ttsbit.c (tt_face_load_sbit) [TT_SBIT_TABLE_TYPE_SBIX]:
-	Accept overlay format also, but emit warning message in that case.
-	(tt_sbit_decoder_load_metrics): Add missing newline to error
-	message.
-	(tt_sbit_load_sbix_image): Add `rgbl' graphic type (as used on iOS
-	7.1) to the list of unsupported formats.
-
-2014-10-19  Alexei Podtelezhnikov  <apodtele@gmail.com>
-
-	[truetype] Clean up bytecode rounding.
-
-	Zero distance does not have to be treated specially if you follow
-	specifications and check the sign as the very last step of rounding.
-
-	* src/truetype/ttinterp.c (Round_None, Round_To_Grid,
-	Round_Down_To_Grid, Round_Up_To_Grid, Round_To_Double_Grid): Use
-	macros when available, do not check for non-zero distance.
-	(Round_To_Half_Grid, Round_Super, Round_Super_45): Ditto, return phase
-	if sign changed.
-
-2014-10-18  Alexei Podtelezhnikov  <apodtele@gmail.com>
-
-	[truetype] Unwrap engine compensation settings.
-
-	* src/truetype/ttobjs.c (tt_size_init_bytecode): Updated.
-
-2014-10-18  David Weiß  <David.Weiss@ptvgroup.com>
-
-	[build] Add property file to vc2010 project.
-
-	This simplifies custom build configurations, especially for
-	automated build environments.
-
-	* builds/windows/vc2010/freetype.user.props: New configuration file.
-
-	* builds/windows/vc2010/freetype.vcxproj: Include
-	`freetype.user.props' and use its data fields.
-
-	* builds/windows/vc2010/index.html: Updated.
-
-2014-10-18  Werner Lemberg  <wl@gnu.org>
-
-	[autofit] Add blue-zone support for Telugu.
-
-	This essentially moves the Telugu script from the `Indic' hinter to
-	the `Latin' hinter.
-
-	Note that this is a first shot and quite certainly needs
-	refinements.
-
-	* src/autofit/afblue.dat: Add blue zone data for Telugu.
-
-	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
-
-	* src/autofit/afscript.h: Add Telugu standard characters and move
-	data out of AF_CONFIG_OPTION_INDIC block.
-
-	* src/autofit/afranges.c: Move Telugu data out of
-	AF_CONFIG_OPTION_INDIC block.
-
-	* src/autofit/afstyles.h: Update Telugu data; in particular, use
-	AF_WRITING_SYSTEM_LATIN.
-
-2014-10-18  David Wimsey  <david@wimsey.us>
-
-	[cmake] Add iOS build support.
-	From Savannah patch #8497.
-
-	* builds/cmake/iOS.cmake: New file.  Universal binaries are built
-	with both 32 and 64 bit arm architectures.
-
-	* CMakeLists.txt (IOS_PLATFORM): New variable for running the iOS
-	toolchain.  Possible values are `OS' to build on iOS, or
-	`SIMULATOR' to build on APPLE.
-
-2014-10-16  Behdad Esfahbod  <behdad@behdad.org>
-	    Werner Lemberg  <wl@gnu.org>
-
-	[cff] Add `CFF_CONFIG_OPTION_DARKENING_PARAMETERS' config macro.
-
-	* devel/ftoption.h, include/config/ftoption.h
-	(CFF_CONFIG_OPTION_DARKENING_PARAMETERS): New macro.
-
-	* src/cff/cffobjs.c (SET_DARKENING_PARAMETERS,
-	SET_DARKENING_PARAMETERS_0): New macros.
-	(cff_driver_init): Use new macros.
-
-2014-10-14  Alexei Podtelezhnikov  <apodtele@gmail.com>
-
-	[truetype] Limit delta shift range.
-
-	The valid range for delta shift is zero through six.  Negative values
-	are invalid according to
-
-	  https://developer.apple.com/fonts/TrueType-Reference-Manual/RM04/Chap4.html#delta%20shift
-
-	* src/truetype/ttobjs.h (delta_shift, delta_base): Make unsigned.
-	* src/truetype/ttinterp.h (DO_SDS): Throw an error if `delta_shift'
-	is out of range.
-	(Ins_DELTAP, Ins_DELTAC): Optimize for valid `delta_shift'.
-
-2014-10-16  Werner Lemberg  <wl@gnu.org>
-
-	A better fix for Savannah bug #43392.
-	Suggested by Doug Felt <dougfelt@gmail.com>.
-
-	* src/sfnt/ttsbit.c (tt_sbit_decoder_load_metrics): Set
-	`vertAdvance' to zero...
-
-	* src/truetype/ttgload.c (TT_Load_Glyph): ... and set here a default
-	value for `vertAdvance' based on `linearVertAdvance' in case
-	`vertAdvance' is zero.  Note that the previous computed ad-hoc value
-	for `linearVertAdvance' was apparently not tested in a real-life
-	situation.
-
-2014-10-14  David Weiß  <David.Weiss@ptvgroup.com>
-
-	[build] Better optimization settings for vc2010 solution file.
-
-	* builds/windows/vc2010/freetype.sln,
-	builds/windows/vc2010/freetype.vcxproj: Updated.
-
-2014-10-14  Werner Lemberg  <wl@gnu.org>
-
-	[autofit] Adjust Devenagari character range.
-
-	* src/autofit/afranges.c (af_deva_uniranges): Omit characters that
-	are common to all other Indic scripts.
-
-2014-10-12  Werner Lemberg  <wl@gnu.org>
-
-	[sfnt] Fix Savannah bug #43392.
-
-	* src/sfnt/ttsbit.c (tt_sbit_decoder_load_metrics): Don't let
-	vertical metrics uninitialized.
-
-2014-10-11  Alexei Podtelezhnikov  <apodtele@gmail.com>
-
-	[base] Small bbox correction.
-
-	* src/base/ftbbox.c (FT_Outline_Get_BBox): Start from nonsense bbox
-	instead of initial point that could be `off' in conic outlines.
-
-2014-10-08  Alexei Podtelezhnikov  <apodtele@gmail.com>
-
-	[base] Fix Savannah bug #43356.
-
-	* src/base/ftbbox.c (BBox_Move_To, BBox_Conic_To): Update bbox in case
-	of implicit `to'.
-	(BBox_Line_To): New emitter that does not update bbox.
-
-2014-10-08  Alexei Podtelezhnikov  <apodtele@gmail.com>
-
-	[base] Introduce and use new macro `FT_UPDATE_BBOX'
-
-	* src/base/ftbbox.c (FT_UPDATE_BBOX): New macro.
-	(FT_Outline_Get_BBox): Use it here.
-
-2014-10-02  Alexei Podtelezhnikov  <apodtele@gmail.com>
-
-	[base] Significant optimization of `ft_div64by32'
-
-	We shift as many bits as we can into the high register, perform
-	32-bit division with modulo there, then work through the remaining
-	bits with long division. This optimization is especially noticeable
-	for smaller dividends that barely use the high register.
-
-	* src/base/ftcalc.c (ft_div64by32): Updated.
-
-2014-10-02  Dave Arnold  <darnold@adobe.com>
-
-	[cff] Fix Savannah bug #43271.
-
-	* src/cff/cf2font.c (cf2_computeDarkening): Change overflow
-	detection to use logarithms and clamp `scaledStem'.
-
-2014-10-01  Alexei Podtelezhnikov  <apodtele@gmail.com>
-
-	* src/base/ftcalc.c: Remove miscellaneous type casts.
-
-2014-10-01  Alexei Podtelezhnikov  <apodtele@gmail.com>
-
-	[base] Use more common `FT_MSB' implementation with masks.
-
-	* src/base/ftcalc.c (FT_MSB): Updated.
-
-2014-09-30  Alexei Podtelezhnikov  <apodtele@gmail.com>
-
-	[base] Clean up.
-
-	* src/base/ftcalc.c (FT_MOVE_SIGN): New macro for frequently used
-	code.
-
-2014-09-25  Alexei Podtelezhnikov  <apodtele@gmail.com>
-
-	[base] Avoid unnecessary long division.
-
-	This applies to `FT_MulDiv' but not to `FT_DivFix', where overflows or
-	lack thereof are predicted accurately.
-
-	* src/base/ftcalc.c (ft_div64by32): Improve readability.
-	(FT_MulDiv, FT_MulDiv_No_Round) [!FT_LONG64]: Use straight division
-	when multiplication stayed within 32 bits.
-
-2014-09-24  Werner Lemberg  <wl@gnu.org>
-
-	[autofit] Minor clean-ups.
-
-	* src/autofit/afhints.c (AF_FLAGS): Remove obsolete values.
-
-	* src/autofit/afhints.c (af_glyph_hints_dump_points,
-	af_glyph_hints_align_strong_points): Updated.
-
-	* src/autofit/aflatin.c (af_latin_hints_link_segments,
-	af_latin_hints_compute_segments), src/autofit/afcjk.c
-	(af_cjk_hints_link_segments), src/autofit/aflatin2.c
-	(af_latin2_hints_link_segments, af_latin2_hints_compute_segments):
-	There are no longer fake segments since more than 10 years...
-
-2014-09-22  Werner Lemberg  <wl@gnu.org>
-
-	[autofit] Minor code streamlining.
-
-	* src/autofit/afhints.c (af_axis_hints_new_edge): Remove redundant
-	initialization.
-
-2014-09-19  Alexei Podtelezhnikov  <apodtele@gmail.com>
-
-	* src/base/ftcalc.c: Harmonize code.
-
-2014-09-15  Alexei Podtelezhnikov  <apodtele@gmail.com>
-
-	[base] Tighten the overflow check in `FT_MulDiv'.
-
-	* src/base/ftcalc.c (FT_MulDiv) [!FT_LONG64]: Updated.
-
-2014-09-08  Alexei Podtelezhnikov  <apodtele@gmail.com>
-
-	Fix Savannah bug #43153.
-
-	* src/psaux/psconv.c (PS_Conv_ToFixed): Add protection against
-	overflow in `divider'.
-
-2014-09-03  Alexei Podtelezhnikov  <apodtele@gmail.com>
-
-	[base] Tighten the overflow check in `FT_DivFix'.
-
-	This fixes a 13-year old bug. The original overflow check should have
-	been updated when rounding was introduced into this function
-	(c2cd00443b).
-
-	* src/base/ftcalc.c (FT_DivFix) [!FT_LONG64]: Updated.
-	* include/freetype.h (FT_DivFix): Updated documentation.
-
-2014-09-03  Alexei Podtelezhnikov  <apodtele@gmail.com>
-
-	[base] Tighten the overflow check in `FT_MulFix'.
-
-	* src/base/ftcalc.c (FT_MulFix) [!FT_LONG64]: Updated.
-
-2014-09-02  Alexei Podtelezhnikov  <apodtele@gmail.com>
-
-	[truetype] Shortcut ppem calculations for square pixels.
-
-	* src/truetype/ttinterp.h (TT_ExecContextRec): New field
-	`cur_ppem_func' with a function pointer.
-	* src/truetype/ttinterp.c (TT_RunIns): Initialize `cur_ppem_func'
-	depending on the pixel geometry to either...
-	(Current_Ppem_Stretched): ... this for stretched pixels.
-	(Current_Ppem): ... or this for square pixels.
-	(DO_MPPEM, DO_MPS, Ins_DELTAP, Ins_DELTAC): Use `cur_ppem_func'.
-
-2014-08-31  Behdad Esfahbod  <behdad@behdad.org>
-
-	Don't use `register' keyword.  Fixes compiler warnings.
-
-	* src/base/ftcalc.c (FT_Add64) [!FT_LONG64]: Do it.
-	* src/gzip/inftrees.c (huft_build): Ditto.
-	* src/truetype/ttinterp.c (TT_MulFix14_arm): Ditto.
-
-2014-08-24  Alexei Podtelezhnikov  <apodtele@gmail.com>
-
-	[truetype] Optimize DELTAP and DELTAC.
-
-	* src/truetype/ttinterp.c (Ins_DELTAP, Ins_DELTAC): Move ppem
-	calculations outside of the loop.
-
-2014-08-21  Alexei Podtelezhnikov  <apodtele@gmail.com>
-
-	Fix Savannah bug #43033.
-
-	* include/config/ftconfig.h, builds/unix/ftconfig.in,
-	builds/vms/ftconfig.h [FT_LONG64]: Do not disable the macro when
-	64-bit type is `long'.
-
-2014-08-20  Alexei Podtelezhnikov  <apodtele@gmail.com>
-
-	[base] Small optimization of `FT_MulFix'.
-
-	* src/base/ftcalc.c (FT_MulFix): Loosen up the condition for direct
-	32-bit calculations.
-
-2014-08-19  Alexei Podtelezhnikov  <apodtele@gmail.com>
-
-	[base] Use unsigned calculation in `FT_MulDiv'.
-
-	* src/base/ftcalc.c (FT_MulDiv): Updated to expand 32-bit range.
-
-2014-08-18  Alexei Podtelezhnikov  <apodtele@gmail.com>
-
-	[base] Remove truncation in `FT_DivFix'.
-
-	* src/base/ftcalc.c (FT_DivFix): Updated.
-
-2014-08-14  Alexei Podtelezhnikov  <apodtele@gmail.com>
-
-	Minor refactoring.
-
-	* src/base/ftcalc.c (FT_MulDiv, FT_MulDiv_No_Round): Updated.
-
-2014-08-14  Alexei Podtelezhnikov  <apodtele@gmail.com>
-
-	Turn FT_MSB into a macro when using gcc builtins.
-
-	* src/base/ftcalc.c, include/internal/ftcalc.h: Updated.
-
-2014-08-12  Alexei Podtelezhnikov  <apodtele@gmail.com>
-
-	[base] Avoid undefined FT_MSB in `BBox_Cubic_Check'.
-
-	* src/base/ftbbox.c (BBox_Cubic_Check): Update.
-	(update_cubic_max): Repalce with...
-	(cubic_peak): ... this, which now handles upscaling.
-
-2014-08-11  Alexei Podtelezhnikov  <apodtele@gmail.com>
-
-	[base] Handle collapsed outlines to avoid undefined FT_MSB.
-
-	* src/base/ftoutln.c (FT_Outline_Get_Orientation): Update.
-
-2014-08-11  Alexei Podtelezhnikov  <apodtele@gmail.com>
-
-	[base] Restore FT_MulFix inlining.
-
-	* include/freetype.h (FT_MulFix): Unconditionally defined.
-
-	* src/base/ftcalc.c [FT_MULFIX_ASSEMBLER]: Move code from here...
-
-	* include/internal/ftcalc.h [FT_MULFIX_ASSEMBLER]: ... to here,
-	which conditionally replaces the function with an inline version
-	through the macro.
-
-2014-08-08  Alexei Podtelezhnikov  <apodtele@gmail.com>
-
-	* src/base/ftbitmap.c (ft_gray_for_premultiplied_srgb_bgra): Refactor.
-
-2014-07-26  Werner Lemberg  <wl@gnu.org>
-
-	[cff] Fix typo.
-
-	* src/cff/cf2hints.c (cf2_glyphpath_computeOffset): Use correct
-	offsets in third quadrant.
-
-	Reported by maks <maksqwe1@ukr.net>.
-
-2014-07-17  Werner Lemberg  <wl@gnu.org>
-
-	Fix Savannah bug #42788.
-
-	* src/pfr/pfrobjs.c: Include `ftcalc.h'.
-
-2014-07-16  Alexei Podtelezhnikov  <apodtele@gmail.com>
-
-	Replace `ft_highpow2' function.
-
-	* src/pfr/pfrobjs.c (pfr_face_get_kerning): Use `FT_MSB' instead of
-	`ft_highpow2'.
-
-	* src/base/ftutil.c, include/internal/ftobjs.h (ft_highpow2): Remove
-	it.
-
-2014-07-15  Alexei Podtelezhnikov  <apodtele@gmail.com>
-
-	* src/base/ftcalc.c (FT_MSB): Utilize gcc builtins.
-
-2014-07-15  Alexei Podtelezhnikov  <apodtele@gmail.com>
-
-	[base] Move assembler code back in the source file.
-
-	FT_MulFix assembler used to reside in ftcalc.c before f47d263f1b.
-
-	* include/config/ftconfig.h, builds/unix/ftconfig.in,
-	builds/vms/ftconfig.h [FT_MULFIX_ASSEMBLER]: Move code from here...
-
-	* src/base/ftcalc.c [FT_MULFIX_ASSEMBLER]: ... to here.
-
-2014-07-14  Alexei Podtelezhnikov  <apodtele@gmail.com>
-
-	[base] Further clean up color bitmap conversion.
-
-	* src/base/ftbitmap.c (ft_gray_for_premultiplied_srgb_bgra): Stop
-	using FT_MulFix and FT_DivFix since all calculations fit into 32 bits.
-
-2014-07-13  Werner Lemberg  <wl@gnu.org>
-
-	[truetype] Improve handling of buggy `prep' tables.
-
-	In case of an error in the `prep' table, no longer try to execute it
-	again and again.  This makes FreeType handle endless loops in buggy
-	fonts much faster.
-
-	* src/truetype/ttobjs.h (TT_SizeRec): The fields `bytecode_ready'
-	and `cvt_ready' are now negative if not initialized yet, otherwise
-	they indicate the error code of the last run.
-
-	* src/truetype/ttobjs.c (tt_size_run_fpgm, tt_size_run_prep,
-	tt_size_done_bytecode, tt_size_init_bytecode,
-	tt_size_ready_bytecode, tt_size_init, tt_size_done, tt_size_reset):
-	Updated.
-
-	* src/truetype/ttgload.c (tt_loader_init): Updated.
-	* src/truetype/ttinterp.c (TT_RunIns): Force reexecution of `fpgm'
-	and `prep' only if we are in the `glyf' table.
-
-2014-07-12  Werner Lemberg  <wl@gnu.org>
-
-	* builds/vms/ftconfig.h: Synchronize.
-	Problem reported by Alexei.
-
-2014-07-11  Alexei Podtelezhnikov  <apodtele@gmail.com>
-
-	[base] Clean up bitmap conversion.
-
-	* src/base/ftbitmap.c (ft_gray_for_premultiplied_srgb_bgra): Use
-	appropriate FT_DivFix and remove superfluous upscaling.
-
-2014-07-04  Alexei Podtelezhnikov  <apodtele@gmail.com>
-
-	[base] Small optimization of the ancient code.
-
-	* src/base/ftcalc.c (FT_MulDiv, FT_MulDiv_No_Round): Loosen up the
-	condition for direct 32-bit calculations.
-
-2014-06-27  Werner Lemberg  <wl@gnu.org>
-
-	Fix Apple standard glyph names.
-
-	* src/sfnt/ttpost.c (tt_post_default_names): Synchronize with
-	`tools/glnames.py'
-
-	Problem reported by Adam Twardoch <adam@fontlab.com>.
-
-2014-06-17  Werner Lemberg  <wl@gnu.org>
-
-	Partially revert commit from 2014-06-13.
-
-	* src/autofit/aflatin.c (af_latin_metrics_init_blues): Move
-	declaration of `p_first' and `p_last' out of the loop.
-
-2014-06-17  Werner Lemberg  <wl@gnu.org>
-
-	* builds/unix/freetype2.m4: s/AC_PATH_PROG/AC_PATH_TOOL/.
-
-	This simplifies cross-compiling.
-
-2014-06-13  Werner Lemberg  <wl@gnu.org>
-
-	Fix more compiler warnings.
-	Reported by Wojciech Mamrak <wmamrak@gmail.com>.
-
-	* src/autofit/afglobal.c (af_face_globals_compute_style_coverage):
-	Make integer constant unsigned.
-
-	* src/sfnt/ttsbit.c (tt_face_load_strike_metrics)
-	<TT_SBIT_TABLE_TYPE_SBIX>: Fix types.
-	(tt_sbit_decoder_load_compound, tt_face_load_sbix_image): Add proper
-	casts.
-
-2014-06-13  Werner Lemberg  <wl@gnu.org>
-
-	Fix compiler warnings.
-	Reported by Wojciech Mamrak <wmamrak@gmail.com>.
-
-	* src/autofit/afglobal.c (af_face_globals_compute_style_coverage),
-	src/autofit/afmodule.c (af_property_set): Fix `signed' vs.
-	`unsigned' issues.
-
-	* src/autofit/aflatin.c (af_latin_metrics_init_blues): Make compiler
-	happy.
-
-	* src/base/ftlcdfil.c (_ft_lcd_filter_fir): Use only four elements
-	for `fir'.
-	Fix `signed' vs. `unsigned' issues.
-
-	* src/sfnt/sfobjs.c (WRITE_BYTE): Removed, unused.
-	(WRITE_USHORT, WRITE_ULONG): Add proper casts.
-
-	* src/truetype/ttgload.c (TT_Get_VMetrics): Add proper casts.
-
-	* src/truetype/ttinterp.c (Ins_DELTAP): Add proper casts for `B1'
-	and `B2'.
-
-2014-05-16  Alexey Petruchik  <alexey.petruchik@gmail.com>
-
-	[cmake] Add option to build OS X framework.
-
-	* CMakeLists.txt: Update accordingly.
-
-	* builds/mac/freetype-Info.plist: New file.
-
-2014-05-13  Pavel Koshevoy  <pkoshevoy@gmail.com>
-
-	* CMakeLists.txt (BASE_SRCS): Add missing `ftbdf.c'.
-
-2014-05-11  Werner Lemberg  <wl@gnu.org>
-
-	[autofit] Fix variable initializations.
-
-	* src/autofit/afhints.c (af_glyph_hints_reload): Assign default
-	values to `in_dir' and `out_dir' for all points.
-
-2014-05-11  Werner Lemberg  <wl@gnu.org>
-
-	[autofit] Fix crash with font `CabinSketch-Bold.ttf'.
-
-	Problem reported by Ralf S. Engelschall <rse@engelschall.com>.
-
-	* src/autofit/afhints.c (af_glyph_hints_reload): Fix threshold for
-	finding first non-near point.
-	Properly initialize non-near point deltas.
-
-2014-05-01  Werner Lemberg  <wl@gnu.org>
-
-	[autofit] Add blue-zone support for Devanagari.
-
-	This essentially moves the Devanagari script from the `Indic' hinter
-	to the `Latin' hinter.  Thanks to Girish Dalvi
-	<girish.dalvi@gmail.com> for guidance with blue zone characters!
-
-	* src/autofit/afblue.dat: Add blue zone data for Devanagari.
-
-	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
-
-	* src/autofit/afscript.h: Add Devanagari standard characters and
-	move data out of AF_CONFIG_OPTION_INDIC block.
-
-	* src/autofit/afranges.c: Move Devanagari data out of
-	AF_CONFIG_OPTION_INDIC block.
-	Move U+20B9, (new) Rupee sign, from Latin to Devanagari.
-
-	* src/autofit/afstyles.h: Update Devanagari data; in particular, use
-	AF_WRITING_SYSTEM_LATIN.
-
-2014-05-01  Werner Lemberg  <wl@gnu.org>
-
-	[autofit] Fix handling of neutral blue zones in stems.
-
-	* src/autofit/afhints.h (AF_Edge_Flags): New value
-	`AF_EDGE_NEUTRAL'.
-
-	* src/autofit/aflatin.c (af_latin_hints_compute_blue_edges): Trace
-	neutral blue zones with AF_EDGE_NEUTRAL.
-	(af_latin_hint_edges): Skip neutral blue zones if necessary.
-
-2014-04-28  Werner Lemberg  <wl@gnu.org>
-
-	[autofit] Introduce neutral blue zones to the latin module.
-
-	Such blue zones match either the top or the bottom of a contour.  We
-	need them for scripts where accent-like elements directly touch the
-	base character (for example, some vowel signs in Devanagari, cf.
-	U+0913 or U+0914).
-
-	* src/autofit/afblue.hin (AF_BLUE_PROPERTY_LATIN_NEUTRAL): New
-	property.
-
-	* src/autofit/afblue.h: Regenerated.
-
-	* src/autofit/aflatin.h (AF_LATIN_IS_NEUTRAL_BLUE): New macro.
-	(AF_LATIN_BLUE_NEUTRAL): New enumeration value.
-
-	* src/autofit/aflatin.c (af_latin_metrics_init_blues,
-	af_latin_hints_compute_blue_edges): Handle neutral blue zones.
-
-2014-04-25  Werner Lemberg  <wl@gnu.org>
-
-	* src/autofit/hbshim.c: Partially revert commit from 2014-04-17.
-
-	Using input glyph coverage data is simply wrong.
-
-	Problem reported by Nikolaus Waxweiler <madigens@gmail.com> and
-	Mantas Mikulėnas <grawity@gmail.com>.
-
-2014-04-23  Werner Lemberg  <wl@gnu.org>
-
-	* src/raster/ftraster.c (Vertical_Sweep_Span): Use drop-out mode.
-
-	This spot has been missed while introducing support for various
-	drop-out modes years ago (including no drop-out mode, which this
-	commit fixes).
-
-	Problem reported by Patrick Thomas <pthomas505@gmail.com>.
-
-2014-04-22  Werner Lemberg  <wl@gnu.org>
-
-	* src/sfnt/pngshim.c (error_callback): s/longjmp/ft_longjmp/.
-
-2014-04-20  Werner Lemberg  <wl@gnu.org>
-
-	[autofit] Fix Savannah bug #42148.
-
-	The adaptation of the cjk auto-hinter module to blue stringsets in
-	2013-08-25 had three severe bugs.  Mea culpa.
-
-	1. Contrary to the latin auto-hinter, characters for reference and
-	   overshoot values of a blue zone are specified separately.  Due to
-	   the screwed-up change it didn't work at all.
-
-	2. A boolean comparison was erroneously replaced with a cast,
-	   causing invalid results with the `^' operator later on.  The
-	   visual artifact caused by this problem is the topic of the bug
-	   report.
-
-	3. Two flag values were inverted, causing incorrect assignment of
-	   reference and overshoot values.
-
-	* src/autofit/afblue.dat: Fix CJK bluestrings, introducing a new
-	syntax to have both reference and overshoot characters in a single
-	string.  This is error #1.
-	Add extensive comments.
-
-	* src/autofit/afblue.hin (AF_BLUE_PROPERTY_CJK_FILL): Removed, no
-	longer used.
-	(AF_BLUE_PROPERTY_CJK_TOP, AF_BLUE_PROPERTY_CJK_HORIZ): Fix values.
-	This is error #3.
-
-	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
-
-	* src/autofit/afcjk.c (af_cjk_metrics_init_blues): Correct error #1.
-	Use character `|' to separate characters for reference and overshoot
-	values.
-	Improve tracing messages, synchronizing them with the latin
-	auto-hinter.
-	(af_cjk_hints_compute_blue_edges): Fix value of `is_top_right_blue'.
-	This is error #2.
-	(af_cjk_align_linked_edge): Add tracing message.
-
-	* src/autofit/afcjk.h (AF_CJK_IS_FILLED_BLUE): Removed, no longer
-	used.
-
-2014-04-17  Werner Lemberg  <wl@gnu.org>
-
-	[autofit] More coverage fixes for complex scripts.
-
-	* src/autofit/hbshim.c (af_get_coverage): Merge input glyph coverage
-	of GSUB lookups into output coverage.  Otherwise, ligatures are not
-	handled properly.
-	Don't check blue zone characters for default coverage.
-
-2014-04-17  Werner Lemberg  <wl@gnu.org>
-
-	Make `FT_Get_SubGlyph_Info' actually work.
-
-	* src/base/ftobjs.c (FT_Get_SubGlyph_Info): Return FT_Err_Ok
-	if there is no error.
-
-2014-04-15  Werner Lemberg  <wl@gnu.org>
-
-	[afblue.pl]: Minor improvements.
-
-	* src/tools/afblue.pl: Allow whitespace before comments.
-	Ignore whitespace in strings.
-
-2014-04-14  Werner Lemberg  <wl@gnu.org>
-
-	[autofit] Improve coverage handling.
-
-	* src/autofit/hbshim.c (af_get_coverage): Don't exclude glyphs
-	appearing in the GPOS table if we are processing the default
-	coverage.
-
-2014-04-13  David Weber <weber.aulendorf@googlemail.com>
-
-	[smooth] Fix stand-alone compilation.
-
-	* src/smooth/ftgrays.c (FT_BEGIN_STMNT, FT_END_STMNT): Define.
-
-2014-04-12  Werner Lemberg  <wl@gnu.org>
-
-	[autofit] Redesign the recognition algorithm of strong points.
-
-	In particular, local extrema without horizontal or vertical segments
-	are better recognized:
-
-	  + A                + D
-	   \                /
-	    \              /
-	     \            /
-	      \          /
-	       \        + C
-	        \    /
-	       B +/
-
-	If the distances AB and CD are large, point B wasn't previously
-	detected as an extremum since the `ft_corner_is_flat' function
-	`swallowed' BC regardless of its direction, tagging point B as weak.
-	The next iteration started at B and made `ft_corner_is_flat' swallow
-	point C, tagging it as weak also, et voilà.
-
-	To improve that, another pass gets now performed before calling
-	`ft_corner_is_flat' to improve the `topology' of an outline: A
-	sequence of non-horizontal or non-vertical vectors that point into
-	the same quadrant are handled as a single, large vector.
-
-	Additionally, distances of near points are now accumulated, which
-	makes the auto-hinter handle them as if they were prepended to the
-	next non-near vector.
-
-	This generally improves the auto-hinter's rendering results.
-
-	* src/autofit/afhints.c (af_glyph_hints_reload): Implement it.
-
-	* src/autofit/afhints.h (AF_FLAGS): Remove no longer used flag
-	`AF_FLAG_NEAR'.
-
-2014-04-05  Werner Lemberg  <wl@gnu.org>
-
-	[autofit] Improve scoring algorithm for identifying stems.
-
-	Problem reported by Karsten Lücke <karsten.luecke@kltf.de>.
-
-	The new algorithm takes care of the width of stems: If the distance
-	between two segments is larger than the largest stem width, the
-	demerits quickly increase for larger distances.  This improves
-	hinting of slanted fonts (especially if the inner parts of serifs
-	have non-horizontal `shoulders'), avoiding false stem links.
-
-	* src/autofit/aflatin.c (af_latin_hints_link_segments): Use largest
-	stem width (if available) to compute better demerits for distances
-	between stems.
-	(af_latin_hints_detect_features): Pass stem width array and array
-	size.
-	(af_latin_metrics_init_widths): Updated to use original algorithm.
-	(af_latin_hints_apply): Updated to use new algorithm.
-
-	* src/autofit/aflatin.h: Updated.
-	* src/autofit/afcjk.c: Updated.
-
-2014-04-03  Werner Lemberg  <wl@gnu.org>
-
-	Don't require `gzip' module for `sfnt'.
-
-	Reported by Preet <prismatic.project@gmail.com>.
-
-	* src/sfnt/sfobjs.c (woff_open_font): Guard use of
-	FT_Gzip_Uncompress with FT_CONFIG_OPTION_USE_ZLIB.
-
-2014-03-27  Werner Lemberg  <wl@gnu.org>
-
-	Fix Savannah bug #38235.
-
-	Work around a bug in pkg-config version 0.28 and earlier: If a
-	variable value gets surrounded by doublequotes (in particular values
-	for the `prefix' variable), the prefix override mechanism fails.
-
-	* builds/unix/freetype2.in: Don't use doublequotes.
-	* builds/unix/unix-def.in (freetype.pc): Escape spaces in directory
-	names with backslashes.
-
-2014-03-24  Werner Lemberg  <wl@gnu.org>
-
-	Fix Savannah bug #41946.
-
-	Based on a patch from Marek Kašík <mkasik@redhat.com>.
-
-	* builds/unix/configure.raw (LIBS_CONFIG): Remove.
-	* builds/unix/freetype-config.in (libs): Hard-code value.
-	* builds/unix/unix-def.in: Updated.
-
-2014-03-22  Werner Lemberg  <wl@gnu.org>
-
-	Another revert for the change from 2014-03-18.
-
-	Problem reported by Nikolaus Waxweiler <madigens@gmail.com>.
-
-	* src/base/ftcalc.c (FT_MulFix): Ensure that an `FT_MulFix' symbol
-	gets always exported.
-
-2014-03-20  Werner Lemberg  <wl@gnu.org>
-
-	CMakeLists.txt: Another fix for include directories.
-
-	Problem reported by Taylor Holberton <taylorcholberton@gmail.com>.
-
-2014-03-19  Werner Lemberg  <wl@gnu.org>
-
-	CMakeLists.txt: Fix include directories.
-
-	Problem reported by Taylor Holberton <taylorcholberton@gmail.com>.
-
-2014-03-19  Werner Lemberg  <wl@gnu.org>
-
-	Partially revert last commit.
-
-	Found by Alexei.
-
-	* src/autofit/aflatin.c (af_latin_metrics_init_blues): Initializing
-	those variables is plain wrong, since we are in a loop.
-
-2014-03-18  Sean McBride  <sean@rogue-research.com>
-	    Werner Lemberg  <wl@gnu.org>
-
-	Fix clang warnings.
-
-	* src/autofit/aflatin.c (af_latin_metrics_init_blues): Initialize
-	some variables.
-
-	* src/base/ftcalc.c (FT_MulFix): Only use code if
-	`FT_MULFIX_INLINED' is not defined.
-
-	* src/bdf/bdfdrivr.c (bdf_cmap_class), src/cache/ftcbasic.c
-	(ftc_basic_image_family_class, ftc_basic_image_cache_class,
-	ftc_basic_sbit_family_class, ftc_basic_sbit_cache_class),
-	src/cache/ftccmap.c (ftc_cmap_cache_class), src/cache/ftcmanag.c
-	(ftc_size_list_class, ftc_face_list_class), src/pcf/pcfdrivr.c
-	(pcf_cmap_class), src/pfr/pfrdrivr.c (pfr_metrics_service_rec): Make
-	function static.
-
-	* src/type1/t1driver.c (t1_ps_get_font_value): Remove redundant
-	code.
-
-2014-03-17  Werner Lemberg  <wl@gnu.org>
-
-	Fix Savannah bug #41869.
-
-	This works around a problem with HarfBuzz (<= 0.9.26), which doesn't
-	validate glyph indices returned by
-	`hb_ot_layout_lookup_collect_glyphs'.
-
-	* src/autofit/hbshim.c (af_get_coverage): Guard `idx'.
-
-	* docs/CHANGES: Updated.
-
-2014-03-14  Werner Lemberg  <wl@gnu.org>
-
-	* builds/unix/configure.raw: Don't show error messages of `which'.
-
-2014-03-09  Alan Coopersmith  <alan.coopersmith@oracle.com>
-
-	Fix cppcheck 1.64 warning.
-
-	* src/autofit/afglobal.c (af_face_globals_new): Catch NULL pointer
-	dereference in case of error.
-
-2014-03-09  Sean McBride  <sean@rogue-research.com>
-
-	* src/sfnt/ttcmap.c (tt_face_build_cmaps): Remove clang warning.
-
-2014-03-06  Werner Lemberg  <wl@gnu.org>
-
-	* Version 2.5.3 released.
-	=========================
-
-
-	Tag sources with `VER-2-5-3'.
-
-	* docs/VERSION.DLL: Update documentation and bump version number to
-	2.5.3.
-
-	* README, Jamfile (RefDoc), builds/windows/vc2005/freetype.vcproj,
-	builds/windows/vc2005/index.html,
-	builds/windows/vc2008/freetype.vcproj,
-	builds/windows/vc2008/index.html,
-	builds/windows/vc2010/freetype.vcxproj,
-	builds/windows/vc2010/index.html,
-	builds/windows/visualc/freetype.dsp,
-	builds/windows/visualc/freetype.vcproj,
-	builds/windows/visualc/index.html,
-	builds/windows/visualce/freetype.dsp,
-	builds/windows/visualce/freetype.vcproj,
-	builds/windows/visualce/index.html,
-	builds/wince/vc2005-ce/freetype.vcproj,
-	builds/wince/vc2005-ce/index.html,
-	builds/wince/vc2008-ce/freetype.vcproj,
-	builds/wince/vc2008-ce/index.html: s/2.5.2/2.5.3/, s/252/253/.
-
-	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 3.
-
-	* builds/unix/configure.raw (version_info): Set to 17:2:11.
-	* CMakeLists.txt (VERSION_PATCH): Set to 3.
-	* docs/CHANGES: Updated.
-
-2014-03-06  Werner Lemberg  <wl@gnu.org>
-
-	Fixes for compilation with C++.
-
-	* src/autofit/hbshim.c (scripts): Change type to `hb_script_t'.
-	(af_get_coverage): Updated.
-	(COVERAGE): Add cast.
-
-2014-03-06  Sean McBride  <sean@rogue-research.com>
-
-	Remove more clang analyzer warnings.
-
-	* src/bdf/bdflib.c (_bdf_readstream), src/truetype/ttgload.c
-	(TT_Load_Glyph): Remove dead stores.
-
-2014-03-05  Werner Lemberg  <wl@gnu.org>
-
-	* builds/unix/configure.raw: Simplify.
-
-2014-03-05  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
-
-	Fix a bug in configure in library dependency setting
-	Reported in https://bugs.freedesktop.org/show_bug.cgi?id=75652.
-
-	* builds/unix/configure.raw: Use `x"${xxx}" != xno' style.
-
-2014-03-04  Werner Lemberg  <wl@gnu.org>
-
-	Minor fix for `make devel'.
-
-	* builds/freetype.mk (INCLUDE_FLAGS) [DEVEL_DIR]: Don't use
-	pkg-config for bzip2 since not all GNU/Linux distributions have
-	`bzip2.pc' (and the header file `bzlib.h' is located in /usr/include
-	normally).
-
-2014-03-04  Sean McBride  <sean@rogue-research.com>
-
-	Fix several clang static analyzer dead store warnings.
-
-	* src/autofit/afhints.c (af_glyph_hints_reload,
-	af_glyph_hints_align_weak_points): Remove unnecessary assignments.
-
-	* src/bdf/bdflib.c (bdf_font_load): Ditto.
-
-	* src/pshinter/pshalgo.c (psh_glyph_compute_extrema,
-	psh_glyph_interpolate_other_points): Ditto.
-
-	* src/type1/t1load.c (T1_Set_MM_Blend): Ditto.
-
-2014-03-03  Werner Lemberg  <wl@gnu.org>
-
-	Rewrite library option handling in `configure'.
-
-	o Introduce `auto' value for `--with-XXX' library options; this is
-	  now the default.
-
-	o First use `pkg-config' for library detection, then fall back to
-	  other tests.
-
-	* builds/unix/configure.raw (--with-zlib, --with-bzip2, --with-png,
-	--with-harfbuzz): Rewrite.
-	Use new `xxx_reqpriv', `xxx_libpriv', and `xxx_libstaticconf'
-	variables to collect data for `freetype2.pc' and `freetype-config'.
-	(FT2_EXTRA_LIBS): Renamed to ...
-	(ft2_extra_libs): This since it gets no longer substituted.
-	(REQUIRES_PRIVATE, LIBS_PRIVATE, LIBS_CONFIG, LIBSSTATIC_CONFIG):
-	New output variables, replacing `XXX_PKG' and `LIBXXX'.
-	Add notice at the end of `configure' showing the library
-	configuration.
-
-	* builds/unix/freetype-config.in (--static): New command line
-	option.
-	(libs): Updated.
-	(staticlibs): New variable, to be used if `--static' is given.
-	* docs/freetype-config.1: Document `--static'.
-
-	* builds/unix/freetype2.in, builds/unix/unix-def.in: Updated.
-
-2014-03-01  Werner Lemberg  <wl@gnu.org>
-
-	Avoid `long long' warnings with older gcc compilers.
-	Problem reported by Hin-Tak Leung <htl10@users.sourceforge.net>.
-
-	* builds/unix/configure.raw: Don't use gcc's `-pedantic' flag for
-	versions < 4.6.  This is especially needed for Max OS X since this
-	OS runs a gcc variant (or emulation) based on version 4.2.1.
-
-2014-03-01  Werner Lemberg  <wl@gnu.org>
-
-	* docs/INSTALL.CROSS: Revised and updated.
-
-2014-03-01  Werner Lemberg  <wl@gnu.org>
-
-	Make `make clean' remove `freetype2.pc'.
-
-	This is a generated file at build time, not configure time.
-
-	* builds/unix/unix-def.in (DISTCLEAN): Move `freetype2.pc' to ...
-	(CLEAN): This variable.
-
-2014-03-01  Werner Lemberg  <wl@gnu.org>
-
-	Use pkg-config for detecting libpng and libbz2 also.
-
-	* builds/unix/configure.raw (HAVE_PKG): New variable.
-	Search for libbz2 using `pkg-config'; s/BZ2/BZIP2/.
-	Search for libpng using `pkg-config'.
-	Fix definition of `LIBHARFBUZZ' variable.
-	* builds/unix/freetype-config.in ($libs): Updated.
-	* builds/unix/freetype2.in: Add `URL' field.
-	Update `Requires.private' and `Libs.private'.
-	* builds/unix/unix-def.in: Updated.
-
-2014-03-01  Werner Lemberg  <wl@gnu.org>
-
-	Add configure support for HarfBuzz.
-
-	* builds/unix/pkg.m4: New file.
-	* builds/unix/configure.raw: Search for libharfbuzz using
-	`pkg-config'.
-	Add `--without-harfbuzz' option.
-	* builds/unix/freetype-config.in, builds/unix/freetype2.in,
-	builds/unix/unix-def.in (freetype-config, freetype2.pc): Handle
-	HarfBuzz.
-
-	* docs/INSTALL.UNIX: Document interdependency of Freetype with
-	HarfBuzz.
-
-2014-02-28  Alexei Podtelezhnikov  <apodtele@gmail.com>
-
-	[cff] Math simplifications.
-
-	* src/cf2blues.c (cf2_blues_init): Use `FT_MulDiv'.
-	* src/cf2ft.c (cf2_getScaleAndHintFlag): Use simple division.
-
-2014-02-28  Dave Arnold  <darnold@adobe.com>
-
-	[cff] Fix Savannah bug #41697, part 2.
-
-	* src/cff/cf2ft.c (cf2_initLocalRegionBuffer,
-	cf2_initGlobalRegionBuffer): It is possible for a charstring to call
-	a subroutine if no subroutines exist.  This is an error but should
-	not trigger an assert.  Split the assert to account for this.
-
-2014-02-28  Dave Arnold  <darnold@adobe.com>
-
-	[cff] Fix Savannah bug #41697, part 1.
-
-	* src/cff/cf2hints.c (cf2_hintmap_build): Return when `hintMask' is
-	invalid.  In this case, it is not safe to use the length of
-	`hStemHintArray'; the exception has already been recorded in
-	`hintMask'.
-
-2014-02-26  Werner Lemberg  <wl@gnu.org>
-
-	[sfnt] Fix Savannah bug #41696.
-
-	* src/sfnt/ttcmap.c (tt_cmap0_validate, tt_cmap2_validate,
-	tt_cmap4_validate, tt_cmap14_validate): Fix limit tests.
-
-2014-02-26  Werner Lemberg  <wl@gnu.org>
-
-	[winfnt] Fix Savannah bug #41694.
-
-	* src/winfonts/winfnt.c (FNT_Load_Glyph): Check glyph offset.
-
-2014-02-26  Werner Lemberg  <wl@gnu.org>
-
-	[cff] Fix Savannah bug #41693.
-
-	* src/cff/cffload.c (CFF_Load_FD_Select): Reject empty array.
-
-2014-02-26  Werner Lemberg  <wl@gnu.org>
-
-	[bdf] Fix Savannah bug #41692.
-
-	bdflib puts data from the input stream into a buffer in chunks of
-	1024 bytes.  The data itself gets then parsed line by line, simply
-	increasing the current pointer into the buffer; if the search for
-	the final newline character exceeds the buffer size, more data gets
-	read.
-
-	However, in case the current line's end is very near to the buffer
-	end, and the keyword to compare with is longer than the current
-	line's length, an out-of-bounds read might happen since `memcmp'
-	doesn't stop properly at the string end.
-
-	* src/bdf/bdflib.c: s/ft_memcmp/ft_strncmp/ to make comparisons
-	stop at string ends.
-
-2014-02-17  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
-
-	[autofit] Fix `make multi' compilation.
-
-	* src/autofit/hbshim.c: Include `afglobal.h' and `aftypes.h'.
-
-2014-02-19  Werner Lemberg  <wl@gnu.org>
-	    Simon Bünzli  <zeniko@gmail.com>
-
-	Fix Savannah bug #32902.
-
-	Patch taken from
-
-	  https://code.google.com/p/sumatrapdf/source/browse/trunk/ext/_patches/freetype2.patch?spec=svn8620&r=8620#87
-
-	with slight modifications.
-
-	* src/type1/t1parse.c (T1_Get_Private_Dict): Add heuristic test to
-	handle fonts that incorrectly use \r at the beginning of an eexec
-	block.
-
-2014-02-19  Simon Bünzli  <zeniko@gmail.com>
-
-	Fix Savannah bug #41590.
-
-	* src/type1/t1load.c (parse_encoding): Protect against invalid
-	number.
-
-2014-02-12  Dave Arnold  <darnold@adobe.com>
-
-	[cff] Optimize by using `FT_MulDiv'.
-	Suggested by Alexei.
-
-	* src/cff/cf2font.c (cf2_computeDarkening): Do it.
-
-2014-02-12  Werner Lemberg  <wl@gnu.org>
-
-	Fix Savannah bug #41465.
-
-	* builds/unix/unix-def.in (CLEAN): Add `freetype-config'.
-	(DISTCLEAN): Remove `freetype-config'.
-
-2014-02-08  Sean McBride  <sean@rogue-research.com>
-
-	Fix clang static analyzer and compiler warnings.
-
-	* src/autofit/afhints.c (af_glyph_hints_align_weak_points),
-	src/autofit/afloader (af_loader_load_g) <FT_GLYPH_FORMAT_COMPOSITE>,
-	src/base/ftcalc.c (FT_MSB), src/base/ftoutln.c
-	(FT_Outline_Decompose), src/bdf/bdfdrivr.c (bdf_interpret_style),
-	src/cff/cffparse.c (cff_parse_integer), src/cid/cidparse.c
-	(cid_parser_new), src/pfr/pfrload.c (pfr_phy_font_load),
-	src/raster/ftraster.c (Decompose_Curve), src/sfnt/sfdriver.c
-	(sfnt_get_ps_name), src/sfnt/ttcmap.c (tt_cmap12_next,
-	tt_cmap13_next), src/smooth/ftgrays.c (gray_hline): Remove dead
-	code.
-
-	* src/autofit/afmodule.c (af_property_get_face_globals,
-	af_property_set, af_property_get), src/base/ftbitmap.c
-	(ft_gray_for_premultiplied_srgb_bgra): Make functions static.
-
-	* src/base/ftobjs.c (ft_remove_renderer): Protect against
-	library == NULL.
-	(ft_property_do): Make function static.
-
-	* src/base/ftrfork.c: Include `ftbase.h'.
-
-	* src/sfnt/ttsbit.c (tt_face_load_sbix_image)
-	[!FT_CONFIG_OPTION_USE_PNG], src/type1/t1gload.c
-	(T1_Compute_Max_Advance): Avoid compiler warning.
-
-	* src/truetype/ttinterp.c (TT_New_Context): Reduce scope of
-	variable.
-
-2014-02-08  Werner Lemberg  <wl@gnu.org>
-
-	Fix Windows build directories.
-
-	The build target is now `windows' instead of `win32'.
-
-	Problem reported by Nickolas George <darknova.clan@gmail.com>.
-
-	* builds/modules.mk: Don't use `win32' and `win16' (!) but
-	`windows'.
-
-	* builds/windows/detect.mk, builds/windows/win32-def.mk:
-	s/win32/windows/.
-
-2014-02-08  Eugen Sawin  <esawin@mozilla.com>
-
-	Fix Savannah bug #41507.
-
-	* src/sfnt/ttsbit.c (tt_sbit_decoder_load_bitmap)
-	[!FT_CONFIG_OPTION_USE_PNG] <17, 17, 19>: Fix error handling.
-
-2014-02-08  Dave Arnold  <darnold@adobe.com>
-
-	[cff] Fix minor performance bug.
-
-	* src/cff/cf2font.c (cf2_font_setup): Darkening amount and blue zone
-	calculations are now cached and not recomputed on each glyph.
-
-2014-02-05  Werner Lemberg  <wl@gnu.org>
-
-	Fix problems with perl 5.8.8 as distributed with current MinGW.
-
-	* src/tools/afblue.pl: Work-around for Perl bug #63402.
-	(string_re): Avoid `possessive quantifiers', which have been
-	introduced in Perl version 5.10.
-
-2014-02-04  Werner Lemberg  <wl@gnu.org>
-
-	Fix compilation with MinGW.
-
-	Right now, compilation out of the box with latest MinGW is broken
-	due to bugs in header files of mingwrt 4.0.3 in strict ANSI mode,
-	cf.
-
-	  https://sourceforge.net/p/mingw/bugs/2024/
-	  https://sourceforge.net/p/mingw/bugs/2046/
-
-	* builds/unix/configure.raw: Don't set `-ansi' flag for MinGW.
-
-2014-02-04  Werner Lemberg  <wl@gnu.org>
-
-	[autofit] Minor fix.
-
-	* src/autofit/afcjk.c (af_cjk_metrics_init_widths),
-	src/autofit/aflatin.c (af_latin_metrics_init_widths): Fix handling
-	of alternative standard characters.
-	This also fixes a compilation warning in non-debug mode.
-
-2014-02-03  Werner Lemberg  <wl@gnu.org>
-
-	[cff] Fix Savannah bug #41363.
-
-	* src/cff/cf2ft.c (cf2_checkTransform): Convert assertion into
-	parameter check.
-	(cf2_decoder_parse_charstrings): Call `cf2_checkTransform' only if
-	we are scaling the outline.
-	(cf2_getPpemY): Remove problematic assertion.
-
-2014-01-26  Werner Lemberg  <wl@gnu.org>
-
-	[autofit] Introduce two more slots for standard characters.
-
-	This is useful for OpenType features like `c2sc' (caps to small
-	caps) that don't have lowercase letters by definition, or other
-	features that mainly operate on numerals.
-
-	* src/autofit/afscript.h: Add more standard characters.
-
-	* src/autofit/aftypes.h: Update use of `SCRIPT' macro.
-	(AF_ScriptClassRec): Add members to hold two more standard
-	characters.
-	(AF_DEFINE_SCRIPT_CLASS): Updated.
-
-	* src/autofit/afglobal.c, src/autofit/afglobal.h,
-	* src/autofit/afpic.c, src/autofit/afranges.h, src/autofit/hbshim.c:
-	Update use of `SCRIPT' macro.
-
-	* src/autofit/afcjk.c (af_cjk_metrics_init_widths),
-	src/autofit/aflatin.c (af_latin_metrics_init_widths): Scan two more
-	standard characters.
-
-2014-01-24  Werner Lemberg  <wl@gnu.org>
-
-	Fix Savannah bug #41320.
-
-	* src/autofit/aflatin.c (af_latin_metrics_init_blues)
-	<AF_LATIN_IS_LONG_BLUE>: Avoid negative index of `last'.
-
-2014-01-23  Werner Lemberg  <wl@gnu.org>
-
-	Fix Savannah bug #41310.
-
-	* src/sfnt/ttsbit.c (tt_sbit_decoder_load_bitmap) <glyph_format==5>:
-	Don't check metrics, which this format doesn't have.
-	This is another correction to the commit from 2013-11-21.
-
-2014-01-23  Werner Lemberg  <wl@gnu.org>
-
-	Fix Savannah bug #41309.
-
-	* src/type1/t1load.c (t1_parse_font_matrix): Properly handle result
-	of `T1_ToFixedArray'.
-
-	* src/cid/cidload.c (cid_parse_font_matrix): Synchronize with
-	`t1_parse_font_matrix'.
-
-	* src/type42/t42parse.c (t42_parse_font_matrix): Synchronize with
-	`t1_parse_font_matrix'.
-	(t42_parse_encoding): Synchronize with `t1_parse_encoding'.
-
-	* src/psaux/psobjs.c (ps_parser_load_field) <T1_FIELD_TYPE_BBOX>,
-	<T1_FIELD_TYPE_MMOX>: Properly handle result of `ps_tofixedarray'.
-
-2014-01-22  Werner Lemberg  <wl@gnu.org>
-
-	* src/autofit/hbshim.c (af_get_coverage): Fix memory leaks.
-
-2014-01-16  Werner Lemberg  <wl@gnu.org>
-
-	[autofit] Improve tracing of style coverages.
-
-	* include/internal/fttrace.h: Add `afglobal' for tracing style
-	coverages.
-
-	* src/autofit/afglobal.c: Include FT_INTERNAL_DEBUG_H.
-	(FT_COMPONENT): Define.
-	(af_face_globals_compute_style_coverage): Trace `gstyles' array
-	data.
-
-2014-01-09  Werner Lemberg  <wl@gnu.org>
-
-	Fix Savannah bug #41158.
-
-	* builds/unix/install.mk (install): Create man page directory.
-
-2014-01-08  Chongyu Zhu  <lembacon@gmail.com>
-
-	[arm] Fix Savannah bug #41138, part 2.
-
-	* builds/unix/ftconfig.in (FT_MulFix_arm), include/config/ftconfig.h
-	(FT_MulFix_arm), src/truetype/ttinterp.c (TT_MulFix14_arm): Fix
-	preprocessor conditionals for `add.w'.
-
-2014-01-08  Werner Lemberg  <wl@gnu.org>
-
-	[autofit] Fix Savannah bug #41138, part 1.
-
-	* src/tools/afblue.pl <Handling #endif>: Produce correct auxiliary
-	enumeration names for generated `#else'.
-
-	* src/autofit/afblue.h: Regenerated.
-
-2014-01-06  Werner Lemberg  <wl@gnu.org>
-
-	Add manual page for `freetype-config'.
-	Contributed by Nis Martensen <nis.martensen@web.de>.
-
-	* docs/freetype-config.1: New file.
-
-	* builds/unix/unix-def.in (mandir): Define.
-	* builds/unix/install.mk (install, uninstall): Handle manpage.
-
-2014-01-05  Werner Lemberg  <wl@gnu.org>
-
-	[autofit] Minor fixes for `afblue.pl'.
-
-	* src/tools/afblue.pl (aux_name): Don't use `reverse'.
-	<Handling #endif>: Use proper indentation for generated `#else'.
-
-	* src/autofit/afblue.h: Regenerated.
-
-2014-01-04  Werner Lemberg  <wl@gnu.org>
-
-	[autofit] Fix Indic scripts.
-
-	Split the single, incorrect Indic entry into separate scripts so
-	that the covered ranges are the same: Bengali, Devanagari, Gujarati,
-	Gurmukhi, Kannada, Limbu, Malayalam, Oriya, Sinhala, Sundanese,
-	Syloti Nagri, Tamil, Telugu, and Tibetan.  At the same time, remove
-	entries for Meetai Mayak and Sharada – the Unicode ranges were
-	incorrect (and nobody has complained about that), fonts are scarce
-	for those scripts, and the Indic auto-hinter support is rudimentary
-	anyways.
-
-	* src/autofit/afscript.h: Updated, using AF_CONFIG_OPTION_INDIC and
-	AF_CONFIG_OPTION_CJK.
-
-	* src/autofit/afstyles.h (STYLE_DEFAULT_INDIC): New auxiliary macro.
-	Use it, together with AF_CONFIG_OPTION_INDIC and
-	AF_CONFIG_OPTION_CJK, to update.
-
-	* src/autofit/afranges.c [AF_CONFIG_OPTION_INDIC]: Updated.
-	[!AF_CONFIG_OPTION_INDIC, !AF_CONFIG_OPTION_CJK]: Removed.
-	Sort entries by tags.
-
-2014-01-03  Werner Lemberg  <wl@gnu.org>
-
-	[autofit] Thinko.
-
-	* src/autofit/hbshim.c (af_get_char_index): Similar to
-	`af_get_coverage', reject glyphs which are not substituted.
-
-2014-01-03  Werner Lemberg  <wl@gnu.org>
-
-	[autofit] Fix handling of default coverages.
-
-	With this commit, the implementation of coverage handling is
-	completed.
-
-	* src/autofit/hbshim.c (af_get_coverage): Exit early if nothing to
-	do.
-	Reject coverages which don't contain appropriate glyphs for blue
-	zones.
-
-2014-01-03  Werner Lemberg  <wl@gnu.org>
-
-	[autofit] Fix handling of default coverages.
-
-	* src/autofit/afglobal.c (af_face_globals_compute_style_coverage):
-	First handle non-default coverages, then the default coverage of the
-	default script, and finally the other default coverages.
-
-2014-01-03  Werner Lemberg  <wl@gnu.org>
-
-	[autofit] Fix scaling of HarfBuzz shaping.
-
-	* src/autofit/hbshim.c (af_get_char_index): Scale to units per EM.
-
-2014-01-03  Werner Lemberg  <wl@gnu.org>
-
-	[autofit] Better ftgrid support.
-
-	* src/autofit/afhints.c (af_glyph_hints_get_segment_offset): Add
-	parameters `is_blue' and `blue_offset'.
-
-2014-01-01  Werner Lemberg  <wl@gnu.org>
-
-	[autofit] Remove some styles.
-
-	* src/autofit/afcover.h: Remove coverages for alternative fractions,
-	denominators, numerators, and fractions.
-
-	* src/autofit/afstyles.h (META_STYLE_LATIN): Updated.
-
-2014-01-01  Werner Lemberg  <wl@gnu.org>
-
-	[autofit] Add more styles.
-
-	* src/autofit/afstyles.h (STYLE_LATIN, META_STYLE_LATIN): New
-	auxiliary macros; use them to define styles for Cyrillic, Greek, and
-	Latin.
-
-	* src/autofit/afcover.h: Remove coverage for oldstyle figures.
-	Since those digits are used in combination with ordinary letters, it
-	makes no sense to handle them separately.
-
-	* src/autofit/afglobal.c (af_face_globals_get_metrics): Don't limit
-	`options' parameter to 4 bits.
-
-2014-01-01  Werner Lemberg  <wl@gnu.org>
-
-	[autofit] Fix style assignments to glyphs.
-
-	* src/autofit/hbshim.c (af_get_coverage)
-	[FT_CONFIG_OPTION_USE_HARFBUZZ]: Scan GPOS coverage of features also
-	so that we can skip glyphs that have both GSUB and GPOS data.
-
-2014-01-01  Werner Lemberg  <wl@gnu.org>
-
-	* src/autofit/hbshim.c: s/{lookups,glyphs}/gsub_{lookups,glyphs}/.
-
-2014-01-01  Werner Lemberg  <wl@gnu.org>
-
-	[autofit] Implement and use `af_get_char_index' with HarfBuzz.
-
-	* src/autofit/hbshim.c (COVERAGE) [FT_CONFIG_OPTION_USE_HARFBUZZ]:
-	Redefine to construct HarfBuzz features.
-	(af_get_char_index) [FT_CONFIG_OPTION_USE_HARFBUZZ]: Rewritten.
-
-	* src/autofit/aflatin.c (af_latin_metrics_init_blues): Use
-	`y_offset' to adjust `best_y'.
-
-2013-12-31  Werner Lemberg  <wl@gnu.org>
-
-	[autofit] s/AF_STYLE_...._DEFAULT/AF_STYLE_...._DFLT/i.
-
-2013-12-31  Werner Lemberg  <wl@gnu.org>
-
-	[autofit] Fix interface of `af_get_char_index'.
-
-	* src/autofit/hbshim.c (af_get_char_index): Return error value.
-	Add argument for y offset (to be used in a yet-to-come patch).
-
-	* src/autofit/hbshim.h, src/autofit/afcjk.c,
-	src/autofit/aflatin.c: Updated.
-
-2013-12-30  Werner Lemberg  <wl@gnu.org>
-
-	[autofit] Don't combine multiple features into one set.
-
-	Combining them, as originally envisioned, would lead to much more
-	complicated code, as investigations have shown meanwhile.  The major
-	drawback is that we run out of available style slots much earlier.
-	However, this is only a theoretical issue since we don't support a
-	large number of scripts currently.
-
-	* src/autofit/afcover.h: Replace `COVERAGE_{1,2,3}' macros with
-	a single-element `COVERAGE' macro, sort the elements by the feature
-	tags, and add entry for `ruby'.
-
-	* src/autofit/aftypes.h: Updated.
-	* src/autofit/hbshim.c: Updated.
-
-2013-12-28  Werner Lemberg  <wl@gnu.org>
-
-	[autofit] Code shuffling to reduce use of cpp macros.
-
-	* src/autofit/afglobal.c (af_face_globals_compute_style_coverage):
-	Call `af_get_coverage' unconditionally.
-
-	* src/autofit/autofit.c: Include `hbshim.c' unconditionally.
-
-	* src/autofit/hbshim.c (af_get_coverage)
-	[!FT_CONFIG_OPTION_USE_HARFBUZZ]: Provide dummy function.
-
-	* src/autofit/hbshim.h: Provide function declarations
-	unconditionally.
-
-2013-12-28  Werner Lemberg  <wl@gnu.org>
-
-	[autofit] Add wrapper function for `FT_Get_Char_Index'.
-
-	Yet-to-come changes will provide HarfBuzz functionality for the new
-	function.
-
-	* src/autofit/hbshim.c (af_get_char_index): New function.
-	* src/autofit/hbshim.h: Updated.
-
-	* src/autofit/afcjk.c (af_cjk_metrics_init_widths,
-	af_cjk_metrics_init_blues, af_cjk_metrics_check_digits): Updated.
-
-	* src/autofit/aflatin.c (af_latin_metrics_init_widths,
-	af_latin_metrics_init_blues, af_latin_metrics_check_digits):
-	Updated.
-
-2013-12-28  Werner Lemberg  <wl@gnu.org>
-
-	[autofit] Use `global' HarfBuzz font object.
-
-	We now use `hb_font' instead of `hb_face' since yet-to-come changes
-	need this.
-
-	* src/autofit/afglobal.h: Include `hbshim.h'.
-	(AF_FaceGlobalsRec) [FT_CONFIG_OPTION_USE_HARFBUZZ]: New member
-	`hb_font'.
-
-	* src/autofit/afglobal.c (af_face_globals_new)
-	[FT_CONFIG_OPTION_USE_HARFBUZZ]: Create `hb_font'.
-	(af_face_globals_free) [FT_CONFIG_OPTION_USE_HARFBUZZ]: Destroy
-	`hb_font'.
-
-	* src/autofit/hbshim.h: Include HarfBuzz headers.
-
-	* src/autofit/hbshim.c: Include `hbshim.h' instead of HarfBuzz
-	headers.
-	(af_get_coverage): Updated.
-
-2013-12-27  Werner Lemberg  <wl@gnu.org>
-
-	[autofit] Handle `DFLT' OpenType script for coverages.
-
-	* include/ftautoh.h: Document new `default-script' property.
-
-	* src/autofit/hbshim.c (af_get_coverage): Use `AF_FaceGlobals' for
-	type of first parameter.
-	(script_tags): Add one more element.
-	(af_get_coverage): Adjust `script_tags' to handle `DFLT' script tag.
-
-	* src/autofit/hbshim.h: Updated.
-
-	* src/autofit/afglobal.c (af_face_globals_compute_style_coverage):
-	Updated.
-
-	* src/autofit/afglobal.h (AF_SCRIPT_DEFAULT): New macro.
-
-	* src/autofit/afmodule.h (AF_ModuleRec): New `default_script'
-	member.
-
-	* src/autofit/afmodule.c (af_property_set, af_property_get): Handle
-	`default-script' property.
-	(af_autofitter_init): Updated.
-
-2013-12-27  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
-
-	[ftrfork] Fix the face order difference between POSIX and Carbon.
-
-	The fragmented resources in Suitcase and .dfont should be reordered
-	when `POST' resource for Type1 is being restored, but reordering of
-	sfnt resources induces the different face order.  Now the ordering
-	is restricted to `POST' resource only, to prevent the different
-	order issue (e.g. the face index in the fontconfig cache generated
-	with Carbon framework is incompatible with that by FreeType 2
-	without Carbon framework.)  Found by Khaled Hosny and Hin-Tak Leung.
-
-	http://lists.gnu.org/archive/html/freetype-devel/2013-02/msg00035.html
-	http://lists.gnu.org/archive/html/freetype-devel/2013-12/msg00027.html
-
-	* src/base/ftrfork.c (FT_Raccess_Get_DataOffsets): Add a switch
-	`sort_by_res_id' to control the fragmented resource ordering.
-	* include/internal/ftrfork.h: Declare new switch.
-	* src/base/ftobjs.c (IsMacResource): Enable the sorting for `POST'
-	resource, and disable the sorting for `sfnt' resource.
-
-2013-12-25  Werner Lemberg  <wl@gnu.org>
-
-	Fix Savannah bug #40997.
-
-	* src/bdf/bdfdrivr.c (BDF_Face_Init): Only use OR operator to
-	adjust face flags since FT_FACE_FLAG_EXTERNAL_STREAM might already
-	be set.
-	* src/cff/cffobjs.c (cff_face_init): Ditto.
-	* src/cid/cidobjs.c (cid_face_init): Ditto.
-	* src/pcf/pcfread.c (pcf_load_font): Ditto.
-	* src/pfr/pfrobjs.c (pfr_face_init): Ditto.
-	* src/type1/t1objs.c (T1_Face_Init): Ditto.
-	* src/type42/t42objs.c (T42_Face_Init): Ditto.
-	* src/winfonts/winfnt.c (FNT_Face_Init): Ditto.
-
-2013-12-21  Werner Lemberg  <wl@gnu.org>
-
-	[autofit] Introduce `coverages'.
-
-	Coverages are the interface to the HarfBuzz library to acces
-	OpenType features for handling glyphs not addressable by the cmap.
-
-	Right now, compilation of HarfBuzz is only added to the development
-	build.  A solution for standard build mode will be delayed until
-	HarfBuzz gets split into two libraries to avoid mutual dependencies
-	between FreeType and HarfBuzz.
-
-	Note that this is only a first step in handling coverages, basically
-	providing the framework only.  Code for handling selected OpenType
-	features (this is, actually using the data in `afcover.h') will
-	follow.
-
-	* devel/ftoption.h, include/config/ftoption.h
-	(FT_CONFIG_OPTION_USE_HARFBUZZ): New macro.
-
-	* src/autofit/hbshim.c, src/autofit/hbshim.h, src/autofit/afcover.h:
-	New files.
-
-	* src/autofit/afscript.h: Add HarfBuzz script name tags.
-
-	* src/autofit/afstyles.h: Add default coverage enumeration values.
-
-	* src/autofit/aftypes.h: Update use of `SCRIPT' and `STYLE' macros.
-	(AF_Coverage): New enumeration (generated by `afcover.h').
-	(AF_StyleClassRec): New member `coverage'.
-	(AF_DEFINE_STYLE_CLASS): Updated.
-
-	* include/internal/fttrace.h: Add `afharfbuzz' for tracing coverage
-	data.
-
-	* src/autofit/afglobal.h: Update use of `SCRIPT' and `STYLE' macros.
-	(AF_SCRIPT_FALLBACK): Renamed to ...
-	(AF_STYLE_FALLBACK): ... this.
-
-	* src/autofit/afglobal.c: Include `hbshim.c'.
-	Update use of `SCRIPT' and `STYLE' macros.
-	(af_face_globals_compute_style_coverage)
-	[FT_CONFIG_OPTION_USE_HARFBUZZ]: Call `af_get_coverage'.
-	Update.
-
-	* src/autofit/afmodule.h (AF_ModuleRec):
-	s/fallback_script/fallback_style/.
-
-	* src/autofit/afmodule.c (af_property_set): Adapt handling of
-	`fallback-script' property to set a fallback style.
-	(af_property_get, af_autofitter_init): Updated.
-
-	* src/autofit/afpic.c: Update use of `SCRIPT' and `STYLE' macros.
-
-	* src/autofit/afranges.h: Update use of `SCRIPT' macro.
-
-	* src/autofit/autofit.c [FT_CONFIG_OPTION_USE_HARFBUZZ]: Include
-	`hbshim.c'.
-
-	* src/autofit/rules.mk (AUTOF_DRV_SRC): Add `hbshim.c'.
-	(AUTOF_DRV_H): Add `afcover.h'.
-
-	* builds/freetype.mk (INCLUDE_FLAGS) [DEVEL_DIR]: Use pkg-config for
-	all libraries needed by FreeType.
-
-2013-12-21  Werner Lemberg  <wl@gnu.org>
-
-	Fix Savannah bug #40975 (sort of).
-
-	* src/truetype/ttinterp.c (Ins_IP): Fix sign typo to make FreeType
-	behave the same as the Windows TrueType engine for the invalid case.
-
-2013-12-21  Werner Lemberg  <wl@gnu.org>
-
-	[autofit] Make PIC mode work actually.
-
-	* src/autofit/afpic.h (AFModulePIC): Fix array sizes to fit the
-	enumeration values automatically generated by including `afscript.h'
-	and friends.
-
-	* src/autofit/afpic.c (autofit_module_class_pic_init): Updated.
-
-2013-12-21  Werner Lemberg  <wl@gnu.org>
-
-	Fix PIC linking.
-
-	* include/internal/ftrfork.h (CONST_FT_RFORK_RULE_ARRAY_BEGIN): Fix
-	generated function name.
-
-	* src/base/basepic.c (FT_Init_Table_raccess_guess_table): Rename
-	to ...
-	(FT_Init_Table_ft_raccess_guess_table): ... this so that the
-	function name correctly corresponds to what the macro framework
-	expects.
-
-	* src/psnames/rules.mk (PSNAMES_DRV_SRC_S): Use correct file name so
-	that PIC functions are compiled also.
-
-2013-12-21  Werner Lemberg  <wl@gnu.org>
-
-	[base] Add missing dependencies to Makefile.
-
-	* src/base/rules.mk (BASE_SRC): Add `basepic.c' and `ftpic.c'.
-	(BASE_H): Add `basepic.h'.
-
-2013-12-20  Werner Lemberg  <wl@gnu.org>
-
-	[autofit] Fix PIC compilation.
-
-	* src/autofit/afcjk.c (af_cjk_metrics_init_widths),
-	src/autofit/aflatin.c (af_latin_metrics_init_widths)
-	[FT_CONFIG_OPTION_PIC]: Declare `globals'.
-
-	* src/autofit/afglobal.c: Always call AF_DEFINE_SCRIPT_CLASS, and
-	AF_DEFINE_STYLE_CLASS.
-
-	* src/autofit/afpic.c: Include `afglobal.h'.
-	(autofit_module_class_pic_init): Typo.
-
-	* src/autofit/aftypes.h (AF_DEFINE_SCRIPT_CLASS,
-	AF_DEFINE_STYLE_CLASS): Don't use the same identifier for macro
-	parameter and structure member.
-
-2013-12-20  Werner Lemberg  <wl@gnu.org>
-
-	[autofit] Introduce `styles'.
-
-	This is the new top-level structure for handling glyph input data;
-	scripts are now defined separately.
-
-	* src/autofit/aftypes.h (SCRIPT): Updated.
-	(AF_ScriptClassRec): Move `blue_stringset' and `writing_system'
-	members to ...
-	(AF_Style_ClassRec): ... this new structure.
-	(AF_Style): New enumeration.
-	(AF_StyleMetricsRec): Replace `script' enumeration with
-	`style_class' pointer.
-	(AF_DEFINE_SCRIPT_CLASS, AF_DECLARE_SCRIPT_CLASS): Updated.
-	(AF_DEFINE_STYLE_CLASS, AF_DECLARE_STYLE_CLASS): New macros.
-
-	* src/autofit/afstyles.h: New file, using data from `afscript.h'.
-	* src/autofit/afscript.h: Updated.
-
-	* src/autofit/afcjk.c (af_cjk_metrics_init_widths,
-	af_cjk_metrics_init_blues, af_cjk_hint_edges): Updated.
-
-	* src/autofit/afglobal.c (SCRIPT): Updated.
-	(STYLE): Redefine macro to load `afstyles.h'.
-	(af_script_names) [FT_DEBUG_LEVEL_TRACE]: Replace with...
-	(af_style_names): ... this array.
-	(af_face_globals_compute_script_coverage): Renamed to...
-	(af_face_globals_compute_style_coverage): ... this.
-	Updated.
-	(af_face_globals_new, af_face_globals_free,
-	af_face_globals_get_metrics): Updated.
-
-	* src/autofit/afglobal.h (SCRIPT): Updated.
-	(STYLE): Redefine macro to load `afstyles.h'.
-	(AF_SCRIPT_FALLBACK): Update definition.  This will get more
-	refinements with later on.
-	(AF_SCRIPT_UNASSIGNED): Replace with...
-	(AF_STYLE_UNASSIGNED): ... this macro.
-	(AF_FaceGlobalsRec): Updated.
-
-	* src/autofit/aflatin.c (af_latin_metrics_init_widths,
-	af_latin_metrics_init_blues, af_latin_metrics_scale_dim,
-	af_latin_hint_edges): Updated.
-
-	* src/autofit/aflatin2.c (af_latin2_metrics_init_widths): Updated.
-	(af_ltn2_uniranges): Removed.
-
-	* src/autofit/afloader.c (af_loader_load_g, af_loader_load_glyph):
-	Updated.
-
-	* src/autofit/afpic.c (autofit_module_class_pic_init): Updated.
-	* src/autofit/afpic.h (AF_STYLE_CLASSES_GET): New macro.
-	(AFModulePIC): Add `af_style_classes' and `af_style_classes_rec'
-	members.
-
-	* src/autofit/afranges.h: Updated.
-
-	* src/autofit/rules.mk (AUTOF_DRV_H): Add `afstyles.h'.
-
-2013-12-19  Werner Lemberg  <wl@gnu.org>
-
-	[autofit] Factor scripts and uniranges out of writing system files.
-
-	* src/autofit/afranges.c, src/autofit/afranges.h: New files.
-
-	* src/autofit/afscript.h: Extend `SCRIPT' macro with more
-	parameters, taking data from the writing system files.
-
-	* src/autofit/aftypes.h: Updated.
-
-	* src/autofit/afglobal.c: Include `afranges.h'.
-	Load `afscript.h' to call AF_DEFINE_SCRIPT_CLASS.
-	* src/autofit/afglobal.c: Include `afranges.h'.
-	Load `afscript.h' to call AF_DECLARE_SCRIPT_CLASS.
-
-	* src/autofit/afcjk.c, src/autofit/afcjk.h: Updated.
-	* src/autofit/afdummy.c, src/autofit/afdummy.h: Updated.
-	* src/autofit/afindic.c, src/autofit/afindic.h: Updated.
-	* src/autofit/aflatin.c, src/autofit/aflatin.h: Updated.
-	* src/autofit/aflatn2.c, src/autofit/aflatn2.h: Updated.
-
-	* src/autofit/afpic.c: Updated.
-
-	* src/autofir/autofit.c: Include `afranges.c'.
-	* src/autofit/rules.mk (AUTOF_DRV_SRC): Add `afranges.c'.
-
-2013-12-18  Werner Lemberg  <wl@gnu.org>
-
-	[autofit] More code orthogonality.
-
-	* src/autofit/aftypes.h (AF_StyleMetrics): Replace `script_class'
-	pointer to an `AF_ScriptClass' structure with `script' index of type
-	`AF_Script'.
-	Move some code around.
-
-	* src/autofit/afcjk.c: Include `afpic.h'.
-	(af_cjk_metrics_init_widths, af_cjk_metrics_init_blues,
-	af_cjk_hint_edges): Updated.
-
-	* src/autofit/aflatin.c: Include `afpic.h'.
-	(af_latin_metrics_init_widths, af_latin_metrics_init_blues,
-	af_latin_metrics_scale_dim, af_latin_hint_edges): Updated.
-
-	* src/autofit/afglobal.c (af_face_globals_get_metrics): Updated.
-
-	* src/autofit/afloader.c (af_loader_load_g, af_loader_load_glyph):
-	Updated.
-
-2013-12-18  Werner Lemberg  <wl@gnu.org>
-
-	[autofit] s/ScriptMetrics/StyleMetrics/.
-
-2013-12-18  Werner Lemberg  <wl@gnu.org>
-
-	[autofit] s/script_{metrics,hints}/style_{metrics,hints}/
-
-2013-12-18  Werner Lemberg  <wl@gnu.org>
-
-	[autofit] s/gscripts/gstyles/.
-
-2013-12-18  Werner Lemberg  <wl@gnu.org>
-
-	[autofit] s/glyph_scripts/glyph_styles/.
-
-	This is the first commit of a series to create a new top-level
-	structure (a `style') for handling scripts, writing_systems, and
-	soon-to-be-added coverages.
-
-2013-12-17  Werner Lemberg  <wl@gnu.org>
-
-	[autofit] s/AF_Script_/AF_WritingSystem_/ where appropriate.
-
-2013-12-11  Infinality  <infinality@infinality.net>
-
-	[truetype] Simplify logic of rendering modes.
-
-	This patch unifies the subpixel and non-subpixel cases.
-
-	* src/truetype/ttinterp.h (TT_ExecContextRec): Remove
-	`grayscale_hinting'; all code should refer to `grayscale' instead.
-	Remove unused `native_hinting' member.
-	Rename `subpixel_hinting' member to `subpixel.
-
-	* src/truetype/ttgload.c (TT_LOADER_SET_PP): Updated.
-	(tt_loader_init): Updated.
-
-	* src/truetype/ttinterp.c (Ins_GETINFO): Simplify.
-	Updated.
-
-2013-12-11  Werner Lemberg  <wl@gnu.org>
-
-	[documentation] Add section how to include FreeType header files.
-	Problem reported by David Kastrup <dak@gnu.org>.
-
-	Surprisingly, a description how to do that was completely missing in
-	the API reference.
-
-	* include/freetype.h, include/ftchapters.h: New documentation
-	section `header_inclusion'.
-
-2013-12-10  Werner Lemberg  <wl@gnu.org>
-
-	[autofit] s/DFLT/NONE/, s/dflt/none/.
-
-2013-12-10  Werner Lemberg  <wl@gnu.org>
-
-	[autofit] s/AF_SCRIPT_NONE/AF_SCRIPT_UNASSIGNED/.
-
-2013-12-10  Werner Lemberg  <wl@gnu.org>
-
-	[truetype] Fix scaling of vertical phantom points.
-
-	* src/truetype/ttgload.c (load_truetype_glyph): Scale pp3.x and
-	pp4.x also.
-
-2013-12-10  Werner Lemberg  <wl@gnu.org>
-
-	[truetype] Fix positioning of composite glyphs.
-	Problem reported by Nigel Tao <nigeltao@golang.org>.
-
-	* src/truetype/ttgload.c (TT_Hint_Glyph): Remove code that shifts
-	the glyph (component) by a fractional value computed from the LSB
-	phantom point.  This is wrong, since the horizontal phantom points
-	get rounded horizontally later on.
-
-2013-12-08  Werner Lemberg  <wl@gnu.org>
-
-	* Version 2.5.2 released.
-	=========================
-
-
-	Tag sources with `VER-2-5-2'.
-
-	* docs/VERSION.DLL: Update documentation and bump version number to
-	2.5.2.
-
-	* README, Jamfile (RefDoc), builds/windows/vc2005/freetype.vcproj,
-	builds/windows/vc2005/index.html,
-	builds/windows/vc2008/freetype.vcproj,
-	builds/windows/vc2008/index.html,
-	builds/windows/vc2010/freetype.vcxproj,
-	builds/windows/vc2010/index.html,
-	builds/windows/visualc/freetype.dsp,
-	builds/windows/visualc/freetype.vcproj,
-	builds/windows/visualc/index.html,
-	builds/windows/visualce/freetype.dsp,
-	builds/windows/visualce/freetype.vcproj,
-	builds/windows/visualce/index.html,
-	builds/wince/vc2005-ce/freetype.vcproj,
-	builds/wince/vc2005-ce/index.html,
-	builds/wince/vc2008-ce/freetype.vcproj,
-	builds/wince/vc2008-ce/index.html: s/2.5.1/2.5.2/, s/251/252/.
-
-	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 2.
-
-	* builds/unix/configure.raw (version_info): Set to 17:1:11.
-	* CMakeLists.txt (VERSION_PATCH): Set to 2.
-	* docs/CHANGES: Updated.
-
-2013-12-07  Werner Lemberg  <wl@gnu.org>
-
-	[truetype] Next round in phantom point handling.
-
-	Greg Hitchcock provided very interesting insights into the
-	complicated history of the horizontal positions of the TSB and BSB
-	phantom points.
-
-	* src/truetype/ttgload.c (TT_LOADER_SET_PP)
-	[TT_CONFIG_OPTION_SUBPIXEL_HINTING]: Use `subpixel_hinting' and
-	`grayscale_hinting' flags as conditionals for the x position of TSB
-	and BSB.
-
-2013-12-05  Werner Lemberg  <wl@gnu.org>
-
-	* builds/freetype.mk (FT_CC): Removed.  Unused.
-
-2013-12-04  Werner Lemberg  <wl@gnu.org>
-
-	[sfnt] Fix handling of embedded bitmap strikes.
-
-	This corrects the commit from 2013-11-21.  Problem reported by
-	Andrey Panov <panov@canopus.iacp.dvo.ru>.
-
-	* src/sfnt/ttsbit.c (tt_sbit_decoder_load_bitmap): Fix logic to
-	detect excessive bytes for bit-aligned bitmaps.
-
-2013-12-03  Werner Lemberg  <wl@gnu.org>
-
-	[truetype] Remove dead code.
-
-	Reported by Nigel Tao <nigeltao@golang.org>.
-
-	* include/internal/tttypes.h (TT_LoaderRec): Remove unused
-	`preserve_pps' field.
-	* src/truetype/ttgload.c (TT_Hint_Glyph): Updated.
-
-2013-12-03  Werner Lemberg  <wl@gnu.org>
-
-	[truetype] Fix phantom point handling.
-
-	This is a further improvement to the changes from 2013-11-06.
-
-	* src/truetype/ttgload.c (TT_Hint_Glyph): Horizontal phantom points
-	are rounded horizontally, vertical ones are rounded vertically.
-	(TT_LOADER_SET_PP): The horizontal position of vertical phantom
-	points in pre-ClearType mode is zero, as shown in the OpenType
-	specification.
-
-2013-12-02  Werner Lemberg  <wl@gnu.org>
-
-	[truetype] Fix change from 2013-11-20.
-
-	Problem reported by Akira Kakuto <kakuto@fuk.kindai.ac.jp>.
-
-	* src/truetype/ttgload.c (TT_Load_Simple_Glyph): Protect call to
-	`Update_Max' with both a TT_USE_BYTECODE_INTERPRETER guard and a
-	`IS_HINTED' clause.
-	Also remove redundant check using `maxSizeOfInstructions' – in
-	simple glyphs, the bytecode data comes before the outline data, and
-	a validity test for this is already present.
-
-2013-11-27  Werner Lemberg  <wl@gnu.org>
-
-	[autofit] Fix use of dumping functions in `ftgrid' demo program.
-
-	* src/autofit/afhints.c (AF_DUMP) [FT_DEBUG_AUTOFIT]: New macro.
-	(af_glyph_hints_dump_points, af_glyph_hints_dump_segments,
-	af_glyph_hints_dump_edges) [FT_DEBUG_AUTOFIT]: Add parameter to
-	handle output to stdout.
-	Use AF_DUMP.
-	(af_glyph_hints_dump_points, af_glyph_hints_dump_segments,
-	af_glyph_hints_dump_edges) [!FT_DEBUG_AUTOFIT]: Removed.
-
-2013-11-25  Werner Lemberg  <wl@gnu.org>
-
-	* Version 2.5.1 released.
-	=========================
-
-
-	Tag sources with `VER-2-5-1'.
-
-	* docs/VERSION.DLL: Update documentation and bump version number to
-	2.5.1.
-
-	* README, Jamfile (RefDoc), builds/windows/vc2005/freetype.vcproj,
-	builds/windows/vc2005/index.html,
-	builds/windows/vc2008/freetype.vcproj,
-	builds/windows/vc2008/index.html,
-	builds/windows/vc2010/freetype.vcxproj,
-	builds/windows/vc2010/index.html,
-	builds/windows/visualc/freetype.dsp,
-	builds/windows/visualc/freetype.vcproj,
-	builds/windows/visualc/index.html,
-	builds/windows/visualce/freetype.dsp,
-	builds/windows/visualce/freetype.vcproj,
-	builds/windows/visualce/index.html,
-	builds/wince/vc2005-ce/freetype.vcproj,
-	builds/wince/vc2005-ce/index.html,
-	builds/wince/vc2008-ce/freetype.vcproj,
-	builds/wince/vc2008-ce/index.html: s/2.5.0/2.5.1/, s/250/251/.
-
-	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 1.
-
-	* builds/unix/configure.raw (version_info): Set to 17:0:11.
-	* CMakeLists.txt (VERSION_PATCH): Set to 1.
-	* docs/CHANGES, docs/release: Updated.
-
-2013-11-23  Werner Lemberg  <wl@gnu.org>
-
-	[truetype]: Add tricky font names `hkscsiic.ttf' and `iicore.ttf'.
-
-	* src/truetype/ttobjs.c (TRICK_NAMES_MAX_CHARACTERS,
-	TRICK_NAMES_COUNT): Updated.
-	(trick_names): Add family name for the two fonts.
-
-2013-11-23  Werner Lemberg  <wl@gnu.org>
-
-	* src/sfnt/ttsbit.c (tt_sbit_decoder_load_bitmap): Typo.
-
-2013-11-21  Werner Lemberg  <wl@gnu.org>
-
-	[sfnt] Typo.
-
-	Problem reported by Hin-Tak Leung <htl10@users.sourceforge.net>.
-
-	* src/sfnt/sfobjs.c (sfnt_load_face): Return correct `bsize->width'
-	value if the font lacks an `OS/2' table.
-
-2013-11-21  Werner Lemberg  <wl@gnu.org>
-
-	[sfnt] Improve handling of buggy embedded bitmap strikes.
-
-	We are now able to successfully load `AppleMyoungJo.ttf'.
-	Problem reported by Hin-Tak Leung <htl10@users.sourceforge.net>.
-
-	* src/sfnt/ttsbit.c (tt_sbit_decoder_load_bitmap): Don't trust glyph
-	format.
-
-2013-11-20  Werner Lemberg  <wl@gnu.org>
-
-	[truetype] Don't trust `maxp's `maxSizeOfInstructions'.
-
-	Problem reported by Hin-Tak Leung <htl10@users.sourceforge.net>; see
-
-	  http://lists.nongnu.org/archive/html/freetype-devel/2013-08/msg00005.html
-
-	for details.
-
-	* src/base/ftobjs.c (FT_Load_Glyph): Check size of `fpgm' and `prep'
-	tables also for setting `autohint'.
-
-	* src/truetype/ttgload.c (TT_Load_Simple_Glyph): Use code from
-	`TT_Process_Composite_Glyph' for handling unreliable values of
-	`maxSizeOfInstructions'.
-
-2013-11-16  Werner Lemberg  <wl@gnu.org>
-
-	[sfnt] Fix `OS/2' table version 5 support.
-
-	We now follow the `official' announcement from Microsoft (on the
-	OpenType mailing list, which unfortunately hasn't a public archive).
-
-	* include/freetype/tttables.h (TT_OS2):
-	s/usLowerPointSize/usLowerOpticalPointSize/,
-	s/usUpperPointSize/usUpperOpticalPointSize/.
-
-	* src/sfnt/ttload.c (tt_face_load_os2): Update, and set correct
-	default values.
-
-2013-11-13  Werner Lemberg  <wl@gnu.org>
-
-	* builds/unix/ft2unix.h: Remove.  No longer necessary.
-
-	* builds/unix/install.mk (install): Updated.
-
-2013-11-13  Werner Lemberg  <wl@gnu.org>
-
-	Simplify header file hierarchy.
-
-	This large patch changes the header file directory layout from
-	`include/freetype/...' to `include/...', effectively removing one
-	level.  Since the file `ft2build.h' is also located in `include'
-	(and it stays there even after installation), all FreeType header
-	files are now in a single directory.
-
-	Applications that use (a) `freetype-config' or FreeType's
-	`pkg-config' file to get the include directory for the compiler, and
-	(b) the documented way for header inclusion like
-
-	  #include <ft2build.h>
-	  #include FT_FREETYPE_H
-	  ...
-
-	don't need any change to the source code.
-
-	* include/freetype/*: Move up to...
-	* include/*: ... this directory.
-
-	* builds/amiga/include/freetype/*: Move up to...
-	* builds/amiga/include/*: ... this directory.
-
-	*/*: Essentially do `s@/freetype/@/@' where appropriate.
-
-	* CMakeList.txt: Simplify.
-	* builds/unix/freetype-config.in, builds/unix/freetype2.in: For
-	`--cflags', return a single directory.
-	* builds/unix/install.mk (install): No longer try to remove `cache'
-	and `internal' subdirectories; instead, remove the `freetype'
-	subdirectory.
-
-2013-11-12  Werner Lemberg  <wl@gnu.org>
-
-	[truetype] Fix last `truetype' commit.
-
-	* src/truetype/ttgload.c (tt_get_metrics): Preserve stream position.
-	Return error value.
-	(load_truetype_glyph): Updated.
-
-2013-11-10  Werner Lemberg  <wl@gnu.org>
-
-	* docs/CMAKE: New dummy file.
-
-2013-11-08  Dave Arnold  <darnold@adobe.com>
-
-	[cff] Fix for hints that touch.
-
-	* src/cff/cf2hints.c (cf2_hintmap_insertHint): Fix condition for
-	finding index value of insertion point.
-
-2013-11-06  Werner Lemberg  <wl@gnu.org>
-
-	[truetype] Fix handling of phantom points in composite glyphs.
-	Problem reported by Nigel Tao <nigeltao@golang.org>.
-
-	This is a follow-up commit to the previous one.
-
-	* src/truetype/ttgload.c (load_truetype_glyph): Call
-	`tt_get_metrics' after loading the glyph header.
-
-2013-11-06  Werner Lemberg  <wl@gnu.org>
-
-	[truetype] Improve emulation of vertical metrics.
-
-	This commit also improves the start values of vertical phantom
-	points.  Kudos to Greg Hitchcock for help.
-
-	* src/truetype/ttgload.c (TT_Get_VMetrics): Add parameter to pass
-	`yMax' value.  Replace code with fixed Microsoft definition.
-	(tt_get_metrics): Updated.
-	(TT_LOADER_SET_PP): Add explanation how to initialize phantom
-	points, taken from both the OpenType specification and private
-	communication with Greg (which will eventually be added to the
-	standard).
-	Fix horizontal position of `pp3' and `pp4'.
-
-	* src/truetype/ttgload.h: Updated.
-
-	* src/truetype/ttdriver.c (tt_get_advances): Updated.
-
-	* docs/CHANGES: Updated.
-
-2013-11-05  Werner Lemberg  <wl@gnu.org>
-
-	* builds/windows/vc2010/freetype.vcxproj: s/v110/v100/.
-	PlatformToolSet version 110 is for VC2012.
-
-	Problem reported (with solution) by Dave Arnold <darnold@adobe.com>.
-
-2013-11-05  Werner Lemberg  <wl@gnu.org>
-
-	[truetype] Correctly reset point tags for glyph components.
-	Problem reported by Nigel Tao <nigeltao@golang.org>.
-
-	* src/truetype/ttgload.c (TT_Process_Composite_Glyph): Fix loop.
-
-2013-11-02  Werner Lemberg  <wl@gnu.org>
-
-	[truetype] Fix GETINFO opcode handling of subpixel hinting bits.
-
-	* src/truetype/ttinterp.c (Ins_GETINFO): Don't request bit 6 set to
-	get info on subpixel hinting.
-
-	* docs/CHANGES: Updated.
-
-2013-11-02  Werner Lemberg  <wl@gnu.org>
-
-	Fix Savannah bug #40451.
-
-	Simply apply the patch from the bug report.
-
-	* builds/unix/ftconfig.in, builds/vms/ftconfig.h,
-	include/freetype/config/ftconfig.h: The used #pragma directives only
-	work with gcc versions 4.6 and higher.
-
-2013-11-01  Werner Lemberg  <wl@gnu.org>
-
-	* docs/CHANGES: Updated.
-
-2013-11-01  Werner Lemberg  <wl@gnu.org>
-
-	[truetype] Minor code refactoring.
-
-	Two benefits: The allocated FDEF (and IDEF) array gets slightly
-	smaller, and the `ttdebug' demo program has access to function
-	numbers without additional costs.
-
-	Fortunately, no changes to FontForge are necessary – this is the
-	only external TrueType debugger I know of, but others may exist and
-	should check the code accordingly.
-
-	* src/truetype/ttinterp.h (TT_CallRec): Replace `Cur_Restart' and
-	`Cur_End' with a pointer to the corresponding `TT_DefRecord'
-	structure.
-
-	* src/truetype/ttinterp.c (DO_JROT, DO_JMPR, DO_JROF, Ins_ENDF,
-	Ins_CALL, Ins_LOOPCALL, Ins_UNKNOWN, TT_RunIns <Invalid_Opcode>):
-	Updated.
-
-2013-10-27  Werner Lemberg  <wl@gnu.org>
-
-	[sfnt] Implement support for `OS/2' table version 5.
-
-	See
-
-	  http://typedrawers.com/discussion/470/new-microsoft-size-specific-design-selection-mechanism
-
-	for the announcement.
-
-	* include/freetype/tttables.h (TT_OS2): Add fields
-	`usLowerPointSize' and `usUpperPointSize'.  Since FreeType returns
-	this structure only as a pointer through `FT_Get_Sfnt_Table', there
-	shouldn't be any ABI problems.
-
-	* src/sfnt/ttload.c (tt_face_load_os2): Implement it.
-
-	* docs/CHANGES: Updated.
-
-2013-10-24  Werner Lemberg  <wl@gnu.org>
-
-	* README.git, docs/CHANGES, docs/INSTALL: Updated.
-
-2013-10-24  John Cary  <cary@txcorp.com>
-
-	Provide cmake support.
-
-	* CMakeLists.txt: New file.
-
-2013-10-23  Kenneth Miller  <kennethadammiller@yahoo.com>
-	    Werner Lemberg  <wl@gnu.org>
-
-	Provide support for x64 builds in Visual C++ project files.
-
-	* src/builds/win32: Renamed to...
-	* src/builds/windows: This.
-
-	* src/builds/windows/vc2010/*: Updated to handle x64 target.
-
-	* src/builds/windows/*.mk, docs/INSTALL.GNU: s/win32/windows/ where
-	appropriate.
-
-2013-10-22  Werner Lemberg  <wl@gnu.org>
-
-	* src/base/md5.c, src/base/md5.h: Updated to recent version.
-
-	* src/base/ftobjs.c: Updated; `md5.c' no longer uses `free'.
-
-	The canonical URL to get updates for this file is
-
-	  http://cvsweb.openwall.com/cgi/cvsweb.cgi/Owl/packages/popa3d/popa3d/md5/
-
-	as the author told me in private communication.
-
-2013-10-19  Werner Lemberg  <wl@gnu.org>
-
-	[autofit] s/SMALL_TOP/X_HEIGHT/.
-
-	* src/autofit/afblue.dat: Updated.
-
-	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
-
-	* src/autofit/aflatin.c, src/autofit/aflatin.h,
-	src/autofit/atlatin2.c: Updated.
-
-2013-10-19  Werner Lemberg  <wl@gnu.org>
-
-	* src/autofit/afblue.dat: s/MINOR/DESCENDER/.
-
-	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
-
-2013-10-16  Werner Lemberg  <wl@gnu.org>
-
-	[autofit] Add description strings to script entries.
-
-	Currently, this is unused.
-
-	* src/autofit/afscript.h: Do it.
-	* src/autofit/afglobal.c, src/autofit/afpic.c,
-	src/autofit/aftypes.h: Updated.
-
-2013-10-16  Werner Lemberg  <wl@gnu.org>
-
-	[autofit] Improve tracing message for extra light flag.
-
-	* src/autofit/aflatin.c (af_latin_metrics_scale_dim): Do it.
-
-2013-10-15  Chongyu Zhu  <lembacon@gmail.com>
-
-	[arm] Fix thumb2 inline assembly under LLVM.
-
-	When using `ADD' with an immediate operand, the instruction is
-	actually `ADD Rd, Rn, #<imm12>', that is, the maximum of the
-	immediate operand cannot exceed 4095.  It will fail to compile with
-	LLVM.
-
-	However, in GCC, due to some legacy compatibility considerations,
-	`ADD.W' will be automatically emitted when the immediate operand is
-	larger than 4095.
-
-	* builds/unix/ftconfig.in, include/freetype/config/ftconfig.h
-	(FT_MulFix_arm) [__GNUC__]: Support clang compiler.
-
-	* src/truetype/ttinterp.c (TT_MulFix14_arm) [__GNUC__]: Ditto.
-
-2013-10-12  Werner Lemberg  <wl@gnu.org>
-
-	[autofit] Improve tracing of `latin' hinter.
-
-	* src/autofit/aflatin.c (af_latin_metrics_init_blues): Report blue
-	zone types.
-	(af_latin_metrics_scale_dim): Report scaling changes due to x height
-	alignment.
-	Report scaled stroke width and blue zone values.
-
-2013-10-03  Dave Arnold  <darnold@adobe.com>
-
-	* src/cff/cf2font.c (cf2_computeDarkening): Avoid division by zero.
-
-	Note that the old code avoided using a region of the piecewise
-	linear function where the slope was zero.  The recovery was to use a
-	different section of the function, which produced a different,
-	incorrect amount of darkening.
-
-2013-10-02  Darrell Bellert  <darrell.bellert@hl.konicaminolta.us>
-
-	* src/sfnt/ttload.c (tt_face_load_pclt): Fix `pclt_fields'.
-
-2013-10-02  Dave Arnold  <darnold@adobe.com>
-
-	* src/cff/cf2font.c (cf2_computeDarkening): Initialize darkenAmount.
-
-	This line was lost in commit 89ca1fd6 (from 2013-06-25).  The effect
-	is to use a previous darkening amount when producing an unhinted,
-	unscaled outline.  This can cause autohint samples in ftgrid and
-	ftview to be based on darkened CFF outlines instead of unhinted,
-	undarkened ones.
-
-2013-09-29  Dave Arnold  <darnold@adobe.com>
-
-	Fix Savannah bug #39295.
-
-	The bug was caused by switching to the initial hintmap (the one in
-	effect when `moveto' executes) just before drawing the final element
-	in the charstring.  This ensured that the path was closed (in both
-	Character Space and Device Space).  But if the final element was a
-	curve and if the final hintmap was different enough from the initial
-	one, then the curve was visibly distorted.
-
-	The first part of the fix is to draw the final curve using the final
-	hintmap as specified by the charstring.  This corrects the
-	distortion but does not ensure closing in Device Space.  It may
-	require the rasterizer to automatically generate an extra closing
-	line.  Depending on the hintmap differences, this line could be from
-	zero to a couple pixels in length.
-
-	The second part of the fix covers the case where the charstring
-	subpath is closed with an explicit line.  We now modify that line's
-	end point to avoid the distortion.
-
-	Some glyphs in the bug report font (TexGyreHeros-Regular) that show
-	the change are:
-
-	  25ppem    S (98)
-	  24ppem    eight (52)
-	  25.5ppem  p (85)
-
-	Curves at the *end* of a subpath are no longer distorted.  However,
-	some of these glyphs have bad hint substitutions in the middle of a
-	subpath, and these are not affected.
-
-	The patch has been tested with a set of 106 fonts that shipped with
-	Adobe Creative Suite 4, together with 756 Open Source CFF fonts from
-	Google Fonts.  There are 1.5 million glyphs, of which some 20k are
-	changed with the fix.  A sampling of a few hundred of these changes
-	have been examined more closely, and the changes look good (or at
-	least acceptable).
-
-	* src/cff/cf2hints.h (CF2_GlyphPathRec): New element `pathIsClosing'
-	to indicate that we synthesize a closepath line.
-
-	* src/cff/cf2hints.c (cf2_glyphpath_init): Updated.
-	(cf2_glyphpath_pushPrevElem): If closing, use first hint map (for
-	`lineto' operator) and adjust hint zone.
-	For synthesized closing lines, use end point in first hint zone.
-	(cf2_glyphpath_lineTo): Take care of synthesized closing lines.  In
-	particular, shift the detection of zero-length lines from character
-	space to device space.
-	(cf2_glyphpath_closeOpenPath): Remove assertion.
-	Updated.
-
-2013-09-25  Werner Lemberg  <wl@gnu.org>
-
-	* src/autofit/aflatin.c (af_{grek,cyrl}_uniranges): Fix arrays.
-
-2013-09-25  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
-
-	[bdf, pcf] Refuse non-zero face_index.
-
-	Suggested by Akira Tagoh, see
-
-	  http://lists.gnu.org/archive/html/freetype/2013-09/msg00030.html
-
-	* src/bdf/bdfdrivr.c (BDF_Face_Init): Return `Invalid_Argument'
-	error if the font could be opened but non-zero `face_index' is
-	given.
-	* src/pcf/pcfdrivr.c (PCF_Face_Init): Ditto.
-
-	* src/type42/t42objs.c (T42_Face_Init): Remove unrequired FT_UNUSED
-	macro for `face_index' because it is validated later.
-
-2013-09-23  Werner Lemberg  <wl@gnu.org>
-
-	Fix Savannah bug #40090.
-
-	* src/autofit/afcjk.c (af_cjk_metrics_scale): Revert commit
-	306f8c5d (from 2013-08-25) affecting this function.
-
-2013-09-22  Werner Lemberg  <wl@gnu.org>
-
-	[autofit] Disunify Cyrillic and Greek handling from Latin.
-
-	* src/autofit/afscript.h: Add Cyrillic and Greek.
-
-	* src/autofit/afblue.dat (AF_BLUE_STRINGSET_GREK,
-	AF_BLUE_STRINGSET_CYRL): Add blue zones for Greek and Cyrillic.
-	(AF_BLUE_STRINGSET_LATN): Fix typo.
-	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
-
-	* src/autofit/aflatin.c (af_grek_uniranges, af_cyrl_uniranges): New
-	arrays.
-	(af_grek_script_class, af_cyrl_script_class): New scripts.
-	* src/autofit/aflatin.h: Updated.
-
-2013-09-20  Werner Lemberg  <wl@gnu.org>
-
-	* docs/CHANGES: Updated.
-
-2013-09-20  Behdad Esfahbod  <behdad@behdad.org>
-
-	Fix vertical size of emboldened glyphs.
-
-	Cf. https://bugzilla.gnome.org/show_bug.cgi?id=686709
-
-	* src/base/ftsynth.c (FT_GlyphSlot_Embolden): Adjust `horiBearingY'
-	also.
-
-2013-09-11  Alexei Podtelezhnikov  <apodtele@gmail.com>
-
-	* include/freetype/ftoutln.h: Correct FT_Outline_Get_Orientation
-	algorithm description.
-
-2013-09-11  Werner Lemberg  <wl@gnu.org>
-
-	[autofit] Improve Hebrew rendering.
-
-	This change introduces a new blue zone property
-	`AF_BLUE_PROPERTY_LATIN_LONG' to make the auto-hinter ignore short
-	top segments.
-
-	* src/autofit/afblue.dat: Fix Hebrew blue strings.
-	Use AF_BLUE_PROPERTY_LATIN_LONG for AF_BLUE_STRING_HEBREW_TOP.
-
-	* src/autofit/afblue.hin (AF_BLUE_PROPERTY_LATIN_LONG): New macro.
-
-	* src/autofit/afblue.c, src/autofit/afblue.h: Updated.
-
-	* src/autofit/aflatin.c (af_latin_metrics_init_blues): Handle
-	`AF_LATIN_IS_LONG_BLUE'.
-
-	* src/autofit/aflatin.h (AF_LATIN_IS_LONG_BLUE): New macro.
-
-2013-08-28  Behdad Esfahbod  <behdad@google.com>
-
-	[sfnt] Fix frame access while reading WOFF table directory.
-
-	* src/sfnt/sfobjs.c (woff_open_font): Using single memory frame
-	while reading the directory entries for the whole loop.
-
-2013-08-29  Werner Lemberg  <wl@gnu.org>
-            Behdad Esfahbod  <behdad@google.com>
-
-	Implement support for WOFF containers.
-
-	We simply synthesize a SFNT from the WOFF, create a memory stream
-	for the new data, and load the SFNT as usual.
-
-	Does NOT add any API to access WOFF metadata or private blocks.
-
-	* include/freetype/internal/tttypes.h (WOFF_HeaderRec,
-	WOFF_TableRec): New structures.
-
-	* include/freetype/tttags.h (TTAG_wOFF): New macro.
-
-	* src/base/ftobjs.c (FT_Open_Face): Set `stream' after calling
-	`open_face'.
-
-	* src/sfnt/sfobjs.c [FT_CONFIG_OPTION_SYSTEM_ZLIB]: Include
-	`FT_GZIP_H'.
-	(WRITE_BYTE, WRITE_USHORT, WRITE_ULONG): New temporary macros for
-	writing to a stream.
-	(sfnt_stream_close, compare_offsets, woff_open_font): New functions.
-	(sfnt_open_font): Handle `TTAG_wOFF'.
-	(sfnt_init_face): Set `stream' after calling `sfnt_open_font'.
-
-	* src/truetype/ttobjs.c (tt_face_init): Set `stream' after calling
-	`sfnt->init_face'.
-
-	* src/base/ftobjs.c (open_face): Use a pointer to FT_Stream as an
-	argument so that a changed stream survives.
-	Update callers.
-
-2013-08-28  Werner Lemberg  <wl@gnu.org>
-
-	[gzip] New function `FT_Gzip_Uncompress'.
-
-	This is modeled after zlib's `uncompress' function.  We need this
-	for WOFF support.
-
-	* include/freetype/ftgzip.h, src/gzip/ftgzip.c (FT_Gzip_Uncompress):
-	New function.
-
-	* src/gzip/rules.mk: Rewrite to better reflect dependencies.
-
-2013-08-28  Werner Lemberg  <wl@gnu.org>
-
-	[autofit] Fix `make multi' compilation.
-
-	* src/autofit/afblue.cin, src/autofit/afblue.c: Don't include
-	`afblue.h' but `aftypes.h'.
-	* src/autofit/afcjk.c: Don't include `aftypes.h' but `afglobal.h'.
-
-2013-08-28  Werner Lemberg  <wl@gnu.org>
-
-	[autofit] Fix C++ compilation.
-
-	* src/autofit/afglobal.c (af_face_globals_get_metrics),
-	src/autofit/afdummy.c (af_dflt_script_class), src/autofit/afindic.c
-	(af_deva_script_class): Use proper casts.
-
-2013-08-27  Behdad Esfahbod  <behdad@google.com>
-
-	* src/sfnt/ttload.c (tt_face_load_font_dir): Fix sign typos.
-
-2013-08-27  Behdad Esfahbod  <behdad@google.com>
-
-	FT_Open_Face: Improve external stream handling.
-
-	If the font's `clazz->init_face' function wants to swap to new
-	stream, handling of whether original stream was external could
-	result to either memory leak or double free.  Mark externality into
-	face flags before calling `init_face' such that the clazz can handle
-	external streams properly.
-
-	* src/base/ftobjs.c (FT_Open_Face): Move code to set
-	FT_FACE_FLAG_EXTERNAL_STREAM to...
-	(open_face): This function.
-
-2013-08-27  Werner Lemberg  <wl@gnu.org>
-
-	Remove `FT_SqrtFixed' function.
-
-	It's no longer used.
-
-	* include/freetype/internal/ftcalc.h, src/base/ftcalc.c: Do it.
-
-2013-08-27  Werner Lemberg  <wl@gnu.org>
-
-	[autofit] While tracing, report script names instead of ID values.
-
-	* src/autofit/afglobal.c (af_script_names) [FT_DEBUG_LEVEL_TRACE]:
-	New array.
-	* src/autofit/afglobal.h: Updated.
-
-	* src/autofit/afcjk.c (af_cjk_metrics_init_widths,
-	af_cjk_hint_edges): Use `af_script_names'.
-	* src/autofit/aflatin.c (af_latin_metrics_init_widths,
-	af_latin_hint_edges): Ditto.
-
-2013-08-26  Werner Lemberg  <wl@gnu.org>
-
-	[autofit] Report used script while hinting a glyph.
-
-	* src/autofit/afcjk.c (af_cjk_hint_edges), src/autofit/aflatin.c
-	(af_latin_hint_edges): Implement it.
-
-2013-08-26  Werner Lemberg  <wl@gnu.org>
-
-	[autofit] Add support for Hebrew script.
-
-	* src/autofit/afblue.dat: Add blue strings for Hebrew.
-	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
-
-	* src/autofit/aflatin.c (af_hebr_uniranges): New array.
-	(af_hebr_script_class): New script.
-	* src/autofit/aflatin.h, src/autofit/afscript.h: Updated.
-
-2013-08-26  Werner Lemberg  <wl@gnu.org>
-
-	[autofit] Improve tracing messages.
-
-	* src/autofit/afcjk.c (af_cjk_metrics_init_widths): Mention script
-	ID in tracing message.
-	(af_cjk_metrics_init_blues): Initialize `axis' outside of the inner
-	loop.
-	Improve tracing messages.
-	(af_cjk_hint_edges) [FT_DEBUG_LEVEL_TRACE]: New variable
-	`num_actions' to count hinting actions.
-	Improve tracing messages.
-
-	* src/autofit/aflatin.c (af_latin_metrics_init_widths): Mention
-	script ID in tracing message.
-	(af_latin_metrics_init_blues, af_latin_hint_edges): Improve tracing
-	messages.
-
-2013-08-26  Werner Lemberg  <wl@gnu.org>
-
-	Better tracing of loaded glyphs.
-
-	Previously, the loading of a glyph was traced at level 4, if at all.
-	With this change, all font loading routines emit a tracing message
-	at level 1, making it easier to select tracing output (for example
-	using F2_DEBUG="any:1 afhints:7 aflatin:7").
-
-	* src/bdf/bdfdrivr.c (BDF_Glyph_Load): Add tracing message.
-	* src/cff/cffdrivr.c (cff_glyph_load): Ditto.
-	* src/cff/cffgload.c (cff_decoder_prepare): Improve tracing
-	messages.
-	* src/cid/cidgload.c (cid_load_glyph): Use level 1 for tracing
-	message.
-	* src/pcf/pcfdrivr.c (PCF_Glyph_Load): Ditto.
-	* src/pfr/pfrobjs.c (pfr_slot_load): Add tracing message.
-	* src/truetype/ttgload.c (TT_Load_Glyph): Ditto.
-	* src/type1/t1gload.c (T1_Load_Glyph): Ditto.
-	* src/type42/t42objs.c (T42_GlyphSlot_Load): Ditto.
-	* src/winfonts/winfnt.c (FNT_Load_Glyph): Ditto.
-
-2013-08-26  Werner Lemberg  <wl@gnu.org>
-
-	[autofit] Fix script selection.
-
-	* src/autofit/afglobal.c (af_face_globals_get_metrics): Use
-	`AF_SCRIPT_DFLT', not value 0.
-	Simplify code.
-
-	* src/autofit/afscript.h: Sort by script name.
-
-2013-08-26  Werner Lemberg  <wl@gnu.org>
-
-	[autofit] Make `dummy' hinter work as expected.
-
-	* src/autofit/afdummy.c (af_dummy_hints_init): Properly set scaling
-	information.
-	(af_dummy_hints_apply): Scale the glyphs.
-
-2013-08-25  Werner Lemberg  <wl@gnu.org>
-
-	[autofit] Make `cjk' module use blue stringsets.
-
-	* src/autofit/afcjk.c (AF_CJK_MAX_TEST_CHARACTERS): Removed.
-	(af_cjk_hani_blue_chars): Removed.
-	(AF_CJK_BLUE_TYPE_*): Removed.
-	(af_cjk_metrics_init_blues): Replace AF_CJK_MAX_TEST_CHARACTERS with
-	AF_BLUE_STRING_MAX_LEN.
-	Change loops to use offsets (in file `afblue.h') into the new arrays
-	`af_blue_stringsets' and `af_blue_strings' (in file `afblue.c').
-	Instead of three dimensions (as used in the old blue string array)
-	we now use properties to do the same, saving one loop nesting level.
-
-	* src/autofit/afcjk.h: Remove old enumeration values superseded by
-	the new data in `afblue.h'.
-	(AF_CJK_IS_TOP_BLUE, AF_CJK_IS_HORIZ_BLUE, AF_CJK_IS_FILLED_BLUE,
-	AF_CJK_IS_RIGHT_BLUE): New macros, to be used in
-	`af_cjk_metrics_init_blues'.
-	(AF_CJK_BLUE_IS_RIGHT): Remove this now redundant enum value.
-	(AF_CJK_BLUE_IS_TOP): Renamed to...
-	(AF_CJK_BLUE_TOP): This.
-	(AF_CJK_MAX_BLUES): Remove.
-	(AF_CJKAxisRec): Updated.
-
-2013-08-25  Werner Lemberg  <wl@gnu.org>
-
-	[autofit] Typo.
-
-	* src/autofit/afblue.hin, src/autofit/afblue.c (GET_UTF8_CHAR): Use
-	cast.
-
-2013-08-25  Werner Lemberg  <wl@gnu.org>
-
-	[autofit] Synchronize `cjk' with `latin' module (and vice versa).
-
-	* src/autofit/afcjk.c (af_cjk_metrics_init_widths): Add tracing
-	messages.
-	(af_cjk_metrics_init_blues): Don't pass blue string array as
-	argument but use the global array directly.
-	Use `outline' directly.
-	Update and add tracing messages.
-	(af_cjk_metrics_init): Simplify code.
-	(af_cjk_metrics_scale_dim): Improve tracing message.
-	(af_cjk_metrics_scale): Synchronize.
-
-	* src/autofit/aflatin.c (af_latin_metrics_init_widths,
-	af_latin_metrics_init_blues): Improve and add tracing messages.
-
-2013-08-25  Werner Lemberg  <wl@gnu.org>
-
-	[autofit] Make `latin' module use blue stringsets.
-
-	* src/autofit/aflatin.c (AF_LATIN_MAX_TEST_CHARACTERS): Removed.
-	(af_latin_blue_chars): Removed.
-	(af_latin_metrics_init_blues): Replace AF_LATIN_MAX_TEST_CHARACTERS
-	with AF_BLUE_STRING_MAX_LEN.
-	Change loops to use offsets (in file `afblue.h') into the new arrays
-	`af_blue_stringsets' and `af_blue_strings' (in file `afblue.c').
-	Use `AF_LATIN_IS_SMALL_TOP_BLUE' macro.
-
-	* src/autofit/aflatin.h: Remove old enumeration values superseded by
-	the new data in `afblue.h'.
-	(AF_LATIN_IS_TOP_BLUE): Updated definition.
-	(AF_LATIN_IS_SMALL_TOP_BLUE): New macro.
-	(AF_LATIN_MAX_BLUES): Remove.
-	(AF_LatinAxisRec): Updated.
-
-2013-08-25  Werner Lemberg  <wl@gnu.org>
-
-	[autofit] Add blue stringsets.
-
-	* src/autofit/aftypes.h: Include `afblue.h'.
-	(AF_ScriptClassRec): Add `blue_stringset' field.
-	(AF_DEFINE_SCRIPT_CLASS): Updated.
-
-	* src/autofit/autofit.c: Include `afblue.c'.
-
-	* src/autofit/afcjk.c (af_hani_script_class), src/autofit/afdummy.c
-	(af_dflt_script_class), src/autofit/afindic.c
-	(af_deva_script_class), src/autofit/aflatin.c
-	(af_latn_script_class), src/autofit/aflatin2.c
-	(af_ltn2_script_class): Updated.
-
-	* src/autofit/rules.mk (AUTOF_DRV_SRC): Add `afblue.c'.
-
-2013-08-25  Werner Lemberg  <wl@gnu.org>
-
-	[autofit] Introduce data file for blue strings.
-
-	The idea is to have a central file which gets processed by a Perl
-	script to create proper `.c' and `.h' files using templates.  There
-	are two other reasons to do that:
-
-	  . The data file should be easily readable.  We use UTF-8 encoding
-	    which then gets converted to single bytes.
-
-	  . Since the number of supported scripts will increase soon, the
-	    current usage of blue string arrays is a waste of space.  Using
-	    the Perl script it is possible to imitate jagged arrays,
-	    defining enumeration constants as offsets into the arrays.
-
-	This commit only adds files without changing any functionality.
-
-	* src/autofit/afblue.dat: New data file.
-	* src/tools/afblue.pl: New Perl script for processing `afblue.dat'.
-
-	* src/autofit/afblue.cin, src/autofit/afblue.hin: New template files
-	for...
-	* src/autofit/afblue.c, src/autofit/afblue.c: New source files.
-	To avoid a dependency on Perl, we add them too.
-
-2013-08-19  Alexei Podtelezhnikov  <apodtele@gmail.com>
-
-	[base] Enable new algorithm for `BBox_Cubic_Check'.
-
-	* src/base/ftbbox.c: Enable new BBox_Cubic_Check algorithm, remove
-	the old one.
-	Improve comments.
-
-2013-08-18  Werner Lemberg  <wl@gnu.org>
-
-	* builds/unix/unix-def.in (freetype2.pc): Don't set executable bit.
-
-2013-08-18  Werner Lemberg  <wl@gnu.org>
-
-	Fix Savannah bug #39804.
-
-	* builds/unix/configure.raw (LIBPNG): Define and export.
-	* builds/unix/freetype-config.in, builds/unix/freetype2.in: Handle
-	libpng.
-
-2013-08-17  Alexei Podtelezhnikov  <apodtele@gmail.com>
-
-	[base] Clean up BBox_Conic_Check.
-
-	* src/base/ftbbox.c (BBox_Conic_Check): Remove redundant checks for
-	extremum at the segment ends, which are already within the bbox.
-	Slightly modify calculations.
-
-2013-08-15  Alexei Podtelezhnikov  <apodtele@gmail.com>
-
-	[base] Finish experimental (disabled) BBox_Cubic_Check implementation.
-
-	* src/base/ftbbox.c (BBox_Cubic_Check): Scale arguments to improve
-	accuracy and avoid overflows.
-
-2013-08-13  Alexei Podtelezhnikov  <apodtele@gmail.com>
-
-	[base] Refactor experimental (disabled) BBox_Cubic_Check.
-
-	* src/base/ftbbox.c (BBox_Cubic_Check): Implement the minimum search
-	as the mirror image of the maximum search implemented here...
-	(update_max): New function.
-
-2013-08-06  John Tytgat  <John.Tytgat@esko.com>
-
-	Fix Savannah bug #39702.
-
-	* src/cff/cffload.c (cff_index_get_pointers): Check for `cur_offset
-	!= 0'; this stronger test is mandated by the CFF specification.
-	Fix test for INDEX structures which have one or more empty entries
-	at the end.
-
-2013-08-05  Werner Lemberg  <wl@gnu.org>
-
-	Fix gcc pragmas, part 2.
-
-	* src/truetype/ttinterp.c (TT_MulFix14_long_long,
-	TT_DotFix14_long_long): `#pragma gcc diagnostic {push,pop}' has been
-	introduced with gcc version 4.6.
-
-2013-08-05  Werner Lemberg  <wl@gnu.org>
-
-	Fix gcc pragmas.
-
-	* src/truetype/ttinterp.c (TT_MulFix14_long_long,
-	TT_DotFix14_long_long): Older gcc versions don't accept diagnostic
-	pragmas within a function body.
-
-2013-08-05  Werner Lemberg  <wl@gnu.org>
-
-	Fix Savannah bug #39700.
-
-	* builds/unix/ftconfig.h: Synchronize with
-	`include/freetype/config/ftconfig.h'.
-
-	* builds/vms/ftconfig.h: Ditto.
-	Make the differences to the master `ftconfig.h' file as small as
-	possible for easier maintainance.
-
-2013-08-05  Werner Lemberg  <wl@gnu.org>
-
-	[autofit] Improve handling of `near' points.
-
-	Points which are very near to each other are now marked as such.
-	The `weak' flag is then computed by using the `in' vector of the
-	first and the `out' vector of the last point of a group of near
-	points.
-
-	For example, this fixes the rendering of glyph `Oslash' in
-	`Roboto-Thin.ttf'.
-
-	* src/autofit/afhints.h (AF_Flags): New value `AF_FLAGS_NEAR'.
-
-	* src/autofit/afhints.c (af_glyph_hints_reload): Introduce
-	the heuristic value `near_limit' to decide whether the current point
-	is near to the previous one, then set `AF_FLAG_NEAR' accordingly.
-	Store good `in' vector (of last non-near point) in
-	`last_good_in_{x,y}' and use it as an argument to
-	`ft_corner_is_flat' if necessary.
-
-2013-08-02  Werner Lemberg  <wl@gnu.org>
-
-	* include/freetype/ftcffdrv.h: Improve documentation.
-	This is based on blog entries from David Lemon and Dave Arnold (both
-	from Adobe) with kind permission.  Dave also helped in
-	proof-reading.
-
-2013-08-02  Werner Lemberg  <wl@gnu.org>
-
-	[autofit] Move declaration of scripts into separate file.
-
-	This has the benefit that we don't need to duplicate the data at
-	different places.
-
-	* src/autofit/afscript.h: New file.
-
-	* src/autofit/aftypes.h (AF_Script): Include `afscript.h' to define
-	the enumeration values.
-
-	* src/autofit/afglobal.c: Include `afscript.h' to get the script
-	specific header files.
-	(af_script_classes): Include `afscript.h' to fill this array.
-
-	* src/autofit/afpic.c: Include `afscript.h' to get the script
-	specific header files.
-	(autofit_module_class_pic_init): Include `afscript.h' for
-	initialization.
-	* src/autofit/afpic.h (AF_SCRIPT_CLASSES_COUNT,
-	AF_SCRIPT_CLASSES_REC_COUNT): Removed.  Use `AF_SCRIPT_MAX' instead.
-
-	* src/autofit/rules.mk (AUTOF_DRV_H): Updated.
-
-2013-08-02  Werner Lemberg  <wl@gnu.org>
-
-	[autofit] Move declaration of writing systems into separate file.
-
-	This has the benefit that we don't need to duplicate the data at
-	different places.
-
-	* src/autofit/afwrtsys.h: New file.
-
-	* src/autofit/aftypes.h (AF_WritingSystem): Include `afwrtsys.h' to
-	define the enumeration values.
-
-	* src/autofit/afglobal.c: Include `afwrtsys.h' to get the writing
-	system specific header files.
-	Include `afpic.h'.
-	(af_writing_system_classes): Include `afwrtsys.h' to fill this
-	array.
-
-	* src/autofit/afpic.c: Include `afwrtsys.h' to get the writing
-	system specific header files.
-	(autofit_module_class_pic_init): Include `afwrtsys.h' for
-	initialization.
-	* src/autofit/afpic.h (AF_WRITING_SYSTEM_CLASSES_COUNT,
-	AF_WRITING_SYSTEM_CLASSES_REC_COUNT): Removed.  Use
-	`AF_WRITING_SYSTEM_MAX' instead.
-
-2013-08-02  Werner Lemberg  <wl@gnu.org>
-
-	[sfnt] Fix compilation with g++.
-
-	* src/sfnt/pngshim.c (error_callback, read_data_from_FT_stream): Use
-	cast.
-	(Load_SBit_Png): Pacify compiler.
-
-2013-08-02  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
-            Werner Lemberg  <wl@gnu.org>
-
-	[autofit] Fix `make multi'.
-
-	* include/freetype/config/ftconfig.h (FT_LOCAL_ARRAY,
-	FT_LOCAL_ARRAY_DEF): New macros.
-
-	* src/autofit/afglobal.c (af_writing_system_classes,
-	af_script_classes): Use FT_LOCAL_ARRAY_DEF.
-	* src/autofit/afglobal.h: Declare `af_writing_system_classes' and
-	`af_script_classes'.
-	* src/autofit/afloader.c: Include `afpic.h'.
-
-2013-08-01  Werner Lemberg  <wl@gnu.org>
-
-	Another round of cppcheck nitpicks.
-
-	The call was (from the top-level of the FreeType tree):
-
-	  cppcheck --force \
-	           --enable=all \
-	           -I /usr/include \
-	           -I /usr/local/include \
-	           -I /usr/lib/gcc/i586-suse-linux/4.7/include \
-	           -I include \
-	           -I include/freetype \
-	           -I include/freetype/config \
-	           -I include/freetype/internal \
-	           -DFT2_BUILD_LIBRARY \
-	           . &> cppcheck.log
-
-	using cppcheck git commit f7e93f99.
-
-	Note that cppcheck still can't handle `#include FOO' (with `FOO' a
-	macro).
-
-	*/* Improve variable scopes.
-	*/* Remove redundant initializations which get overwritten.
-
-	* src/gxvalid/*: Comment out redundant code or guard it with
-	FT_DEBUG_LEVEL_TRACE.
-
-2013-07-30  Werner Lemberg  <wl@gnu.org>
-
-	[autofit] Introduce `writing systems'.
-
-	This patch adds a new top level to the auto-hinter's script class
-	hierarchy.  It defines `writing systems' which can contain multiple
-	scripts.
-
-	For example, the `latin' writing system (in file `aflatin.c') is
-	able to support scripts like Latin, Cyrillic, Armenian, etc., which
-	can be handled similarly.
-
-	Scripts are now named using four-letter OpenType tags.
-
-	* src/autofit/aftypes.h (AF_ScriptClassRec): Move relevant members
-	to...
-	(AF_WritingSystemClassRec): This new structure.  It holds pointers
-	to functions which can be shared among related scripts.
-	(AF_WritingSystem): New enumeration.
-	(AF_Script): Revised values using four-letter tags.
-	(AF_DEFINE_WRITING_SYSTEM_CLASS): New macro.
-	(AF_DEFINE_SCRIPT_CLASS): Updated.
-
-	* src/autofit/afglobal.c (af_writing_system_classes): New global,
-	constant array.
-	(af_script_classes): Updated.
-	(af_face_globals_free): Updated.
-	Remove assertion.
-	(af_face_globals_get_metrics): Updated.
-
-	* src/autofit/afglobal.h (AF_SCRIPT_FALLBACK)
-	[!AF_CONFIG_OPTION_CJK]: Handle this case.
-
-	* src/autofit/afloader.c (af_loader_load_g, af_loader_load_glyph):
-	Updated.
-
-	* src/autofit/afpic.c (autofit_module_class_pic_init): Updated;
-	initialize structures for both writing systems and scripts.
-	* src/autofit/afpic.h: Updated.
-	(AF_WRITING_SYSTEM_CLASSES_GET): New macro.
-
-	* src/autofit/afcjk.c (af_cjk_writing_system_class): New writing
-	system.
-	(af_cjk_uniranges): Renamed to...
-	(af_hani_uniranges): This.
-	(af_cjk_script_class): Reduced and renamed to...
-	(af_hani_script_class): This.
-	* src/autofit/afcjk.h: Updated.
-
-	* src/autofit/afdummy.c (af_dummy_writing_system_class): New writing
-	system.
-	(af_dummy_script_class): Reduced and renamed to...
-	(af_dflt_script_class): This.
-	* src/autofit/afdummy.h: Updated.
-
-	* src/autofit/afindic.c (af_indic_writing_system_class): New writing
-	system.
-	(af_indic_uniranges): Renamed to...
-	(af_deva_uniranges): This.
-	(af_indic_script_class): Reduced and renamed to...
-	(af_deva_script_class): This.
-	* src/autofit/afcjk.h: Updated.
-
-	* src/autofit/aflatin.c (af_latin_writing_system_class): New writing
-	system.
-	(af_latin_uniranges): Renamed to...
-	(af_latn_uniranges): This.
-	(af_latin_script_class): Reduced and renamed to...
-	(af_latn_script_class): This.
-	* src/autofit/aflatin.h: Updated.
-
-	* src/autofit/aflatin2.c (af_latin2_writing_system_class): New
-	writing system.
-	(af_latin2_uniranges): Renamed to...
-	(af_ltn2_uniranges): This.
-	Synchronize ranges with `latin'.
-	(af_latin2_script_class): Reduced and renamed to...
-	(af_ltn2_script_class): This.
-	* src/autofit/aflatin2.h: Updated.
-
-2013-07-30  Werner Lemberg  <wl@gnu.org>
-
-	[autofit] Variable renaming.
-
-	* src/autofit/aftypes.h (AF_ScriptMetricsRec):
-	s/clazz/script_class/.
-	Update all users.
-
-2013-07-30  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
-
-	Ignore libpng-config under cross-building configuration,
-	because it will return the flags for the hosting environment.
-
-	* builds/unix/configure.raw: Ignore libpng-config when
-	`cross_compiling' == yes.
-
-2013-07-30  Behdad Esfahbod  <behdad@google.com>
-
-	Prevent division by zero by a transparent color.
-
-	* src/base/ftbitmap.c (ft_gray_for_premultiplied_srgb_bgra):
-	Return 0 immediately, when alpha channel is zero.
-
-2013-07-25  Behdad Esfahbod  <behdad@google.com>
-
-	Add FT_FACE_FLAG_COLOR and FT_HAS_COLOR.
-
-	Also disambiguate Google's color bitmap tables.
-
-	* include/freetype/freetype.h (FT_FACE_FLAG_COLOR, FT_HAS_COLOR):
-	New macros.
-
-	* include/freetype/internal/tttypes.h (TT_SbitTableType): Add
-	TT_SBIT_TABLE_TYPE_CBLC.
-
-	* src/sfnt/sfobjs.c (sfnt_load_face): Handle FT_FACE_FLAG_COLOR.
-
-	* src/sfnt/ttsbit.c (tt_face_load_sbit,
-	tt_face_load_strike_metrics, tt_face_load_sbit_image): Handle
-	TT_SBIT_TABLE_TYPE_CBLC.
-
-2013-07-24  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
-
-	[sfnt] Fix for `make multi' target.
-
-	* src/sfnt/pngshim.c (Load_SBit_Png): Use FT_LOCAL_DEF().
-
-2013-07-20  Werner Lemberg  <wl@gnu.org>
-
-	* docs/INSTALL.GNU: Updated.
-
-2013-07-20  Behdad Esfahbod  <behdad@google.com>
-
-	[sfnt] Fix `sbix' table version handling.
-
-	* src/sfnt/ttsbit.c (tt_face_load_sbit) [TT_SBIT_TABLE_TYPE_SBIX]:
-	USHORT version numbers are to be considered as `minor'.
-
-2013-07-19  Werner Lemberg  <wl@gnu.org>
-
-	[autofit] Fix segment classification for blue zones.
-
-	The old code (essentially unchanged since the very beginning)
-	incorrectly handled this configuration
-
-	               x -o- x
-	                /   \
-	               /     \
-	              /       \
-	             o         o
-
-	as flat and this
-
-	                o               o
-	               /               /
-	             x|              x|
-	              |               |
-	              o---------------o
-
-	as round.  (`o' and `x' are on and off points, respectively).
-
-	This is a major change which should improve the rendering results
-	enormously for many TrueType fonts, especially in the range approx.
-	20-40ppem, fixing the appearance of many overshoots.
-
-	* src/autofit/aflatin.c (af_latin_metrics_init_blues): Look at the
-	first and last points of the segment, not the points right before
-	and after.
-
-2013-07-19  Behdad Esfahbod  <behdad@google.com>
-
-	[sfnt] `sbix' fix-ups.
-
-	* src/sfnt/sfobjs.c (sfnt_load_face): Apple's `sbix' color bitmaps
-	are rendered scaled and then the `glyf' outline rendered on top.  We
-	don't support that yet, so just ignore the `glyf' outline and
-	advertise it as a bitmap-only font.
-
-	* src/sfnt/ttsbit.c (tt_face_load_strike_metrics)
-	[TT_SBIT_TABLE_TYPE_SBIX]: Return metrics in 26.6 units.
-	(tt_face_load_sbix_image): Typo.
-
-2013-07-18  Behdad Esfahbod  <behdad@google.com>
-
-	[sfnt] Add support for Apple's `sbix' color bitmap table.
-
-	* include/freetype/internal/tttypes.h (TT_SBit_MetricsRec): Widen
-	fields to FT_Short and FT_UShort, respectively.
-	(TT_SBitTableType): New enumeration.
-	(TT_FaceRec): Add `sbit_table_type' field.
-
-	* include/freetype/tttags.h (TTAG_sbix): New macro.
-
-	* src/sfnt/pngshim.c (Load_SBit_Png): Pass a more generic
-	FT_GlyphSlot argument instead FT_Bitmap.
-	Add flag to control map and metrics handling.
-	Update all users.
-
-	* src/sfnt/ttsbit.c: Include `ttmtx.h'.
-	(tt_face_load_eblc): Renamed to...
-	(tt_face_load_sbit): This.
-	Handlic `sbix' bitmaps.
-	(tt_face_free_eblc): Renamed to...
-	(tt_face_load_sbit): This.
-	Updated.
-	(tt_face_load_strike_metrics): Handle `sbix' bitmaps.
-	(tt_face_load_sbix_image): New function.
-	(tt_sbit_decoder_alloc_bitmap, tt_sbit_decoder_load_image,
-	tt_sbit_decoder_load_byte_aligned, tt_sbit_decoder_load_bit_aligned,
-	tt_sbit_decoder_load_compound, tt_sbit_decoder_load_png,
-	tt_sbit_decoder_load_image, tt_sbit_decoder_load_bitmap): Don't pass
-	and handle load flags.
-	(tt_sbit_decoder_load_bitmap) [!FT_CONFIG_OPTION_USE_PNG]: Better
-	handle formats 17-19.
-	Move color to grayscale conversion to...
-	(tt_face_load_sbit_image): Here.
-	Handle `sbix' bitmaps.
-
-	* src/sfnt/pngshim.h: Updated.
-	* src/sfnt/ttsbit.h: Updated.
-	* src/sfnt/sfdriver.c: Updated.
-
-2013-07-18  Werner Lemberg  <wl@gnu.org>
-
-	[sfnt] Ignore invalid magic number in `head' or `bhed'.
-
-	Other font engines seem to ignore it also.  Problem reported by
-	Hin-Tak Leung <htl10@users.sourceforge.net>.
-
-	* src/sfnt/ttload.c (check_table_dir): Don't abort but warn only if
-	we have an invalid magic number.
-
-2013-07-16  Werner Lemberg  <wl@gnu.org>
-
-	[smooth] Fix segfault caused by previous commit.
-
-	* src/smooth/ftgrays.c (gray_set_cell): Always compute
-	`ras.invalid'.
-
-2013-07-16  David Turner  <digit@google.com>
-
-	[smooth] Improve performance.
-
-	Provide a work-around for an ARM-specific performance bug in GCC.
-	This speeds up the rasterizer by more than 5%.
-
-	Also slightly optimize `set_gray_cell' and `gray_record_cell' (which
-	also improves performance on other platforms by a tiny bit (<1%).
-
-	* src/smooth/ftgrays.c (FT_DIV_MOD): New macro.
-	Use it where appropriate.
-
-	(gray_record_cell, gray_set_cell, gray_move_to,
-	gray_convert_glyph_inner): Streamline condition handling.
-
-2013-07-16  David Turner  <digit@google.com>
-
-	[truetype] Add assembler code for TT_MulFix14 and TT_DotFix14.
-
-	This patch provides slightly optimized versions for ARM, x86, and
-	x86_64 CPUs if built with GCC.
-
-	Also remove some dead code.
-
-	* src/truetype/ttinterp.c (TT_MulFix14_arm, TT_MulFix14_long_long,
-	TT_DotFix14_long_long): New functions.
-
-2013-07-16  David Turner  <digit@google.com>
-
-	Optimize FT_MulFix for x86_64 GCC builds.
-
-	This patch provides an optimized `FT_MulFix' implementation for
-	x86_64 machines when FreeType is built with GCC, or compatible
-	compilers like Clang.
-
-	Example:
-	  bin/ftbench -p -t 5 -s 14 -f 0008 Arial.ttf
-
-	Before:
-
-	  Load                       4.863 us/op
-	  Load_Advances (Normal)     4.816 us/op
-	  Load_Advances (Fast)       0.028 us/op
-	  Render                     2.753 us/op
-	  Get_Glyph                  0.463 us/op
-	  Get_CBox                   0.077 us/op
-	  Get_Char_Index             0.023 us/op
-	  Iterate CMap              13.898 us/op
-	  New_Face                  12.368 us/op
-	  Embolden                   0.028 us/op
-	  Get_BBox                   0.302 us/op
-
-	After:
-
-	  Load                       4.617 us/op
-	  Load_Advances (Normal)     4.645 us/op
-	  Load_Advances (Fast)       0.027 us/op
-	  Render                     2.789 us/op
-	  Get_Glyph                  0.460 us/op
-	  Get_CBox                   0.077 us/op
-	  Get_Char_Index             0.024 us/op
-	  Iterate CMap              13.403 us/op
-	  New_Face                  12.278 us/op
-	  Embolden                   0.028 us/op
-	  Get_BBox                   0.301 us/op
-
-	* builds/unix/ftconfig.in, include/freetype/config/ftconfig.h
-	(FT_MulFix_x86_64): New function.
-
-2013-07-16  David Turner  <digit@google.com>
-
-	Speed up ARMv7 support.
-
-	When building for ARMv7 with thumb2 instructions, the optimized
-	`FT_MulFix_arm' assembly routine was not being used.
-
-	The reason for this is in the `ftconfig.h' header, namely:
-
-	- The assembly routine uses the `smull' instruction which is not
-	  available when generating Thumb-1 machine code.  It is available
-	  in Thumb-2 mode, though.
-
-	- The header was written a long time ago before Thumb-2 became
-	  widely popular (e.g. with Android).  So it simply doesn't use the
-	  assembly routine if the `__thumb__' built-in macro is defined.
-
-	- When compiling in Thumb-2 mode, the compiler will define both
-	  `__thumb__' and `__thumb2__'.
-
-	By checking for `(__thumb2__ || !__thumb__)', we ensure that the
-	assembly routine is only avoided when generating Thumb-1 code.
-
-	Given that this is performance-sensitive function, this improves
-	`ftbench' as follows on a Galaxy Nexus:
-
-	                           Before (us/op)   After (us/op)
-
-	  - loading Arial.ttf glyphs at 14 ppem [1]
-
-	      Load                   34.285          33.098
-
-	  - same operation with the light auto-hinter [2]
-
-	      Load                   31.317          29.590
-
-	  - same operation without hinting [3]
-
-	      Load                    6.143           5.376
-
-	  - loading Arial.ttf advances at 14 ppem [4]
-
-	      Load_Advances (normal) 34.216          33.016
-	      Load_Advances (fast)    0.176           0.176
-
-	  [1] ftbench -t 5 -p -s 14 -b a -f 0008 Arial.ttf
-	  [2] ftbench -t 5 -p -s 14 -b a -r 1 -f 0028 Arial.ttf
-	  [3] ftbench -t 5 -p -s 14 -b a -f 000a Arial.ttf
-	  [4] ftbench -t 5 -p -s 14 -b b -f 0008 Arial.ttf
-
-	* builds/unix/ftconfig.in, include/freetype/config/ftconfig.h
-	(FT_MULFIX_ASSEMBLER): Fix handling for ARMv7.
-
-2013-06-28  Werner Lemberg  <wl@gnu.org>
-
-	* docs/CHANGES: Updated.
-
-2013-06-27  Werner Lemberg  <wl@gnu.org>
-
-	* src/winfonts/winfnt.c (FNT_Load_Glyph): Fix bitmap width guard.
-
-2013-06-25  Werner Lemberg  <wl@gnu.org>
-
-	[cff] Add darkening limit to `darkening-parameters'.
-
-	* src/cff/cffdrivr.c (cff_property_set): Add check.
-
-2013-06-25  Werner Lemberg  <wl@gnu.org>
-
-	[cff] Add `darkening-parameters' property.
-
-	* include/freetype/ftcffdrv.h: Document it.
-
-	* src/cff/cffdrivr.c (cff_property_set, cff_property_get): Handle
-	`darkening-parameters' property.
-
-	* src/cff/cf2font.h (CF2_FontRec): Add `darkenParams' array.
-
-	* src/cff/cf2font.c (cf2_computeDarkening): Add `darkenParams'
-	argument and use it.
-	Update all callers.
-
-	* src/cff/cf2ft.c (cf2_decoder_parse_charstrings): Copy
-	`darken_params' values.
-
-	* src/cff/cffobjs.h (CFF_DriverRec): Add `darken_params' array.
-
-	* src/cff/cffobjs.c (cff_driver_init): Set default values for
-	`darken_params'.
-
-2013-06-25  Werner Lemberg  <wl@gnu.org>
-
-	[docmaker] Code shuffling.
-
-	* src/tools/docmaker/tohtml.py (re_url): Move regexp...
-	* src/tools/docmaker/sources.py: ... to this file.
-
-2013-06-25  Werner Lemberg  <wl@gnu.org>
-
-	[docmaker] Remove unused functions.
-
-	* src/tools/docmaker/content.py (DocMarkup.get_start,
-	DocBlock.get_markup_name): Removed.
-	* src/tools/docmaker/tohtml.py (html_quote0, dump_html_code,
-	HtmlFormatter.make_html_words): Removed.
-
-2013-06-25  Werner Lemberg  <wl@gnu.org>
-
-	* builds/freetype.mk (dll): Remove target.
-
-	Problem reported by Jörg Günnewig <joerg.guennewig@googlemail.com>.
-
-2013-06-25  Werner Lemberg  <wl@gnu.org>
-
-	[docmaker] Recognise URLs.
-
-	* src/tools/docmaker/tohtml.py (re_url): New regular expression.
-	(make_html_para): Use it.
-
-2013-06-19  Werner Lemberg  <wl@gnu.org>
-
-	* Version 2.5.0.1 released.
-	===========================
-
-
-	Tag sources with `VER-2-5-0-1'.
-
-	* include/freetype/config/ftoption.h: Undefine
-	CFF_CONFIG_OPTION_OLD_ENGINE.
-	* devel/ftoption.h: Define CFF_CONFIG_OPTION_OLD_ENGINE.
-
-2013-06-19  Werner Lemberg  <wl@gnu.org>
-
-	* builds/unix/install.mk (install): Don't create `cache' directory.
-
-	Found by Peter Breitenlohner <peb@mppmu.mpg.de>.
-
-2013-06-19  Werner Lemberg  <wl@gnu.org>
-
-	* Version 2.5.0 released.
-	=========================
-
-
-	Tag sources with `VER-2-5-0'.
-
-	* docs/VERSION.DLL: Update documentation and bump version number to
-	2.5.0.
-
-	* README, Jamfile (RefDoc),
-	builds/win32/vc2005/freetype.vcproj, builds/win32/vc2005/index.html,
-	builds/win32/vc2008/freetype.vcproj, builds/win32/vc2008/index.html,
-	builds/win32/vc2010/freetype.vcxproj, builds/win32/vc2010/index.html,
-	builds/win32/visualc/freetype.dsp,
-	builds/win32/visualc/freetype.vcproj,
-	builds/win32/visualc/index.html, builds/win32/visualce/freetype.dsp,
-	builds/win32/visualce/freetype.vcproj,
-	builds/win32/visualce/index.html,
-	builds/wince/vc2005-ce/freetype.vcproj,
-	builds/wince/vc2005-ce/index.html,
-	builds/wince/vc2008-ce/freetype.vcproj,
-	builds/wince/vc2008-ce/index.html: s/2.4.12/2.5.0/, s/2412/250/.
-
-	* include/freetype/freetype.h (FREETYPE_MINOR): Set to 5.
-	(FREETYPE_PATCH): Set to 0.
-
-	* builds/unix/configure.raw (version_info): Set to 16:2:10.
-
-	* src/base/ftobjs.c (FT_Open_Face): Pacify compiler.
-	* src/truetype/ttinterp.c (Ins_MSIRP, Ins_MIRP): Ditto.
-
-2013-06-18  Werner Lemberg  <wl@gnu.org>
-
-	Fix Savannah bug #39269.
-
-	* src/base/ftgloadr.c (FT_GlyphLoader_CheckPoints): Free memory in
-	case of reacollocation failures.
-
-2013-06-18  Andrew Church  <achurch+savannah@achurch.org>
-
-	Fix Savannah bug #39266.
-
-	If memory allocations fail at certain points while opening a font,
-	FreeType can either crash due to a NULL dereference or leak memory.
-
-	* include/freetype/internal/ftobjs.c (FT_Face_InternalRec,
-	FT_LibraryRec): Make `refcount' a signed integer.  If, for example,
-	FT_Open_Face() fails in a memory allocation before the face's
-	reference count is set to 1, a subsequent `FT_Done_Library' call
-	would otherwise loop over `FT_Done_Face' 2^32 times before freeing
-	the face.
-
-	* src/base/ftobjs.c (open_face): Initialize `stream' and friends
-	earlier.
-	(FT_Open_Face) <Fail>: Behave correctly if `node' is NULL.
-	(FT_Destroy_Module) <Fail>: Check that `renderer_clazz' is valid.
-
-2013-06-14  Werner Lemberg  <wl@gnu.org>
-
-	* src/smooth/ftgrays.c One final pragma to silence 64-bit MSVC.
-
-2013-06-06  Dave Arnold  <darnold@adobe.com>
-	    Werner Lemberg  <wl@gnu.org>
-
-	[cff] Add code to Adobe's engine to handle ppem > 2000.
-
-	* src/cff/cffgload.c (cff_slot_load): If we get
-	FT_Err_Glyph_Too_Big, retry unhinted and scale up later on.
-
-2013-06-12  Werner Lemberg  <wl@gnu.org>
-
-	Another try on pragmas.
-
-	* include/freetype/internal/ftdebug.h: Move pragmas to...
-	* include/freetype/internal/internal.h: ... this file since it gets
-	included by all source files.
-	* include/freetype/internal/ftserv.h: Remove pragma which has no
-	effect.
-
-2013-06-12  Werner Lemberg  <wl@gnu.org>
-
-	* include/freetype/internal/ftdebug.h: Disable MSVC warning C4127.
-
-	This partially undoes commit 3f6e0e0c.
-
-2013-06-12  Werner Lemberg  <wl@gnu.org>
-
-	More compiler warning fixes.
-
-	*/*: Use cast to `FT_Bool' (or `Bool') where appropriate.
-
-2013-06-10  Werner Lemberg  <wl@gnu.org>
-
-	[truetype] Improve handling of broken sbit advance widths.
-
-	* src/truetype/ttgload.c (TT_Load_Glyph): Use the glyph's (scaled)
-	`linearHoriAdvance' if the sbit's `horiAdvance' value is zero.
-
-	Cf. font `Fixedsys Excelsior' v3.01 (FSEX300.ttf), glyph A, 16ppem.
-
-2013-06-10  Werner Lemberg  <wl@gnu.org>
-
-	[sfnt] Improve embedded bitmap tracing.
-
-	* src/base/ftobjs.c (FT_Request_Size): Move trace message regarding
-	bitmap strike match to...
-	(FT_Match_Size): This function.
-
-	* src/sfnt/ttsbit.c (tt_sbit_decoder_load_metrics,
-	tt_sbit_decoder_load_byte_aligned, tt_sbit_decoder_load_bit_aligned,
-	tt_sbit_decoder_load_compound, tt_sbit_decoder_load_png,
-	tt_sbit_decoder_load_image): Decorate with tracing messages.
-
-2013-06-10  Werner Lemberg  <wl@gnu.org>
-
-	Fix Savannah bug #39160.
-
-	* src/truetype/ttinterp.c (Ins_SDPVTL): Set projection vector too
-	for the degenerate case.
-
-2013-06-09  David Turner  <digit@google.com>
-
-	* src/cache/ftcmanag.c (FTC_Manager_Reset): Add missing cache flush.
-
-	This code, present since eight(!) years in the unused `CACHE'
-	branch, has been forgotten to apply to the master branch.  It's
-	really amazing that noone has ever complained since
-	`FTC_Manager_Reset' is pretty useless without flushing the cache.
-
-2013-06-07  Werner Lemberg  <wl@gnu.org>
-
-	Add and improve pragmas for MSVC compiler.
-
-	* include/freetype/internal/ftdebug.h: Remove pragmas.
-	* include/freetype/internal/ftserv.h: Use push and pop for pragmas.
-	* include/freetype/internal/ftvalid.h: Handle warning C4324.
-	* src/base/ftobjs.c: Use push and pop for pragmas.
-	* src/gzip/ftgzip.c: Handle warning C4244.
-
-2013-06-07  Werner Lemberg  <wl@gnu.org>
-
-	[cff] s/cf2_getGlyphWidth/cf2_getGlyphOutline/.
-
-	* src/cff/cf2font.c, src/cff/cf2font.h, src/cff/cf2ft.c: Do it.
-
-2013-06-06  Dave Arnold  <darnold@adobe.com>
-
-	[cff] Add early exit feature for width-only calls.
-
-	This is for `FT_Get_Advance'.
-
-	There are 7 places where the spec says the width can be defined:
-
-	  hstem/hstemhm
-	  vstem/vstemhm
-	  cntrmask/hintmask
-	  hmoveto
+	  hstem
+	  vstem
 	  vmoveto
+	  callsubr
+	  div
 	  rmoveto
-	  endchar
+	  hmoveto
+	  Numbers
 
-	* src/cff/cf2intrp.c (cf2_doStems): Exit early for width-only calls,
-	if possible.
+	The subsequent commits will implement these changes and adapt
+	accesses of data and objects to the new interpreter.
 
-	(cf2_interpT2CharString) <cf2_cmdHSTEM>, <cf2_cmdVSTEM>,
-	<cf2_cmdVMOVETO>, <cf2_cmdENDCHAR>, <cf2_cmdHINTMASK>,
-	<cf2_cmdRMOVETO>, <cf2_cmdHMOVETO>: Exit early for width-only calls.
+	NOTE: Will not compile in the meantime!
 
-2013-06-06  Werner Lemberg  <wl@gnu.org>
+	* src/psaux/psintrp.c: Add opcodes to enum.
+	(cf2_interpT2CharString): Copy relevant code over from
+	`t1_decoder_parse_charstrings' (in `t1decode.c').
 
-	Next round of compiler fixes.
+2017-09-25  Ewald Hew  <ewaldhew@gmail.com>
 
-	* builds/win32/ftdebug.c, builds/wince/ftdebug.c (ft_debug_init):
-	Add proper cast.
+	[type1] Fixes for rendering.
 
-	* include/freetype/internal/ftserv.h (FT_SERVICE_UNAVAILABLE): Fix
-	cast.
-	* include/freetype/internal/ftstream.h: Decorate stream and frame
-	macros with `FT_Long' and `FT_ULong' as appropriate.
+	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.
 
-	* src/base/ftrfork.c (raccess_guess_darwin_hfsplus,
-	raccess_guess_darwin_newvfs): Use cast.
+	Fix the large glyph retry code and ensure hinting and scaling flags
+	are set properly.
 
-	* src/bdf/bdflib.c (_bdf_set_default_spacing): Use cast.
+	* 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.
 
-	* src/cache/ftcmanag.c (FTC_Manager_Check): Fix cast.
-	* src/cache/ftcmanag.h (FTC_ManagerRec): Ditto.
+2017-09-25  Ewald Hew  <ewaldhew@gmail.com>
 
-	* src/cff/cf2arrst.c (cf2_arrstack_setNum_Elements): Use cast.
-	* src/cff/cf2ft.c (cf2_freeSeacComponent): Ditto.
-	* src/cff/cffobjs.c (remove_subset_prefix, remove_style): Ditto.
+	[psaux] Add missing objects (2/2).
 
-	* src/cid/cidparse.c (cid_parser_new): Use cast.
+	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/pcf/pcfdrivr.c (PCF_Glyph_Load): Use cast.
+	* 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.
 
-	* src/psaux/psobjs.c (reallocate_t1_table): Fix argument type.
+	* include/freetype/internal/psaux.h, src/psaux/psauxmod.c: Ditto.
+	Add this to the PSAux Service for future use with CID fonts.
 
-	* src/raster/ftraster.c (ft_black_reset): Use cast.
+	* src/type1/t1gload.c: Include FT_INTERNAL_CFF_TYPES_H.
+	(T1_Parse_Glyph_And_Get_Char_String): Add the call.
 
-	* src/truetype/ttgxvar.c (FT_Stream_FTell): Use cast.
-	(ALL_POINTS): Fix cast.
+2017-09-25  Ewald Hew  <ewaldhew@gmail.com>
 
-	* src/type1/t1driver.c (t1_ps_get_font_value): Add casts.
-	* src/type1/t1parse.c (T1_Get_Private_Dict): Add cast.
+	[psaux] Add missing objects for Type 1 (1/2).
 
-2013-06-05  Dave Arnold  <darnold@adobe.com>
+	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.
 
-	Fix more MSVC Win32 compiler warnings.
+	* include/freetype/internal/psaux.h (T1_Decoder, PS_Decoder): New
+	`cf2_instance' field.
 
-	* src/base/ftobjs.c: Fix typo in MS pragma.
+	* src/psaux/psdecode.c (ps_decoder_init): Copy `cf2_instance' to
+	`PS_Decoder'.
 
-	* src/base/bdflib.c (_bdf_set_default_spacing, _bdf_add_property):
-	`lineno' is only used in debug mode.
+	* src/psaux/t1decode.c (t1_decoder_done): Add finalization code.
 
-	* src/cff/cf2ft.c (cf2_builder_moveTo): `params' is only used in
-	debug mode.
+	* src/psaux/psft.c (cf2_decoder_parse_charstrings): Update accesses.
 
-2013-06-05  Werner Lemberg  <wl@gnu.org>
+2017-09-25  Ewald Hew  <ewaldhew@gmail.com>
 
-	Fix compiler warnings.
+	Allow `type1' module to use the Adobe engine.
 
-	* include/freetype/internal/ftmemory.h: Decorate memory allocation
-	macros with `FT_Long' where appropriate.
-	Remove duplicate of FT_MEM_QRENEW_ARRAY definition.
+	Add the callback and some conditionals to switch between the two
+	engines.
 
-	* src/base/ftbitmap.c (ft_gray_for_premultiplied_srgb_bgra): Use
-	cast.
+	* include/freetype/internal/psaux.h (T1_Decoder_FuncsRec): Change
+	function declarations.
+	* src/psaux/psauxmod.c (T1_Decoder_FuncsRec): Register the
+	callbacks.
 
-	* src/base/ftobjs.c: Add warning disabling pragma for MSVC while
-	including `md5.c'.
+	* src/psaux/psobjs.c (ps_builder_add_point): Add conditionals for
+	number conversion.
 
-	* src/cff/cf2intrp.c (cf2_interpT2CharString) <cf2_cmdESC>: Add
-	cast.
+	* src/type1/t1gload.c (T1_Parse_Glyph_And_Get_Char_String): Add code
+	to choose which renderer to use.
 
-	* src/sfnt/ttsbit.c (tt_sbit_decoder_load_compound): Fix casts.
-	(tt_sbit_decoder_load_bitmap): Beautification.
+	* src/cid/cidgload.c (cid_load_glyph): Update call.
+	* src/base/ftobjs.c, src/psaux/psobjs.c, src/type1/t1gload.c: Update
+	includes.
 
-	* src/smooth/ftsmooth.c (ft_smooth_render_generic): Initialize
-	variables (earlier).
+2017-09-25  Ewald Hew  <ewaldhew@gmail.com>
 
-	* src/truetype/ttgload.c (TT_Process_Simple_Glyph): Pacify compiler.
+	[type1] Add Adobe engine configuration.
 
-	* src/truetype/ttgxvar.c (TT_Get_MM_Var): Use unsigned constants
-	where appropriate.
+	Use the previously changed PS_Driver in type1 module to store
+	hinting engine configuration.
 
-	* src/type1/t1load.c (T1_Get_MM_Var): Ditto.
+	* include/freetype/ftt1drv.h: New file.
+	Duplicate and rename config options from CFF.
+	* include/freetype/config/ftheader.h (FT_TYPE1_DRIVER_H): New macro.
 
-2013-06-04  Werner Lemberg  <wl@gnu.org>
+	* src/type1/t1driver.c (t1_driver_class): Update declaration.
+	* src/type1/t1objs.c: Include FT_TYPE1_DRIVER_H.
+	(T1_Driver_Init): Update code.
 
-	* src/cff/cf2font.c (cf2_getGlyphWidth): Initialize `advWidth'.
+2017-09-25  Ewald Hew  <ewaldhew@gmail.com>
 
-	Problem reported by Ingmar Sittl <ingmar.sittl@elektrobit.com>.
+	[cff] Move and rename `CFF_Driver'.
 
-2013-06-04  Werner Lemberg  <wl@gnu.org>
+	This is so that we can use the same hinting engine parameters for
+	Type 1.
 
-	Apply fixes for cppcheck nitpicks.
+	* include/freetype/internal/cffotypes.h (CFF_Driver): Rename and
+	move to...
+	* include/freetype/internal/psaux.h (PS_Driver): ...here.
 
-	  http://cppcheck.sourceforge.net/
+	* 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.
 
-	The call was (from the top-level of the FreeType tree):
+2017-09-25  Ewald Hew  <ewaldhew@gmail.com>
 
-	  cppcheck --force \
-	           --enable=all \
-	           -I include \
-	           -I include/freetype/ \
-	           -I include/freetype/config/ \
-	           -I include/freetype/internal/ \
-	           . &> cppcheck.log
+	[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'.
 
-	Note that the current version heavily chokes on FreeType, delivering
-	many wrong results.  I will report those issues to the cppcheck team
-	so that a newer version gives improved results hopefully.
+	* src/psaux/psauxmod.c (cff_builder_funcs, cff_decoder_funcs): New
+	function tables.
+	(PSAux_Interface): Updated.
 
-	*/* Improve variable scopes.
-	*/* Remove redundant initializations which get overwritten.
+	* include/freetype/internal/tttypes.h (TT_FaceRec): Add `psaux'
+	service interface.
 
-	* src/base/ftmac.c, builds/mac/ftmac.c (count_faces_scalable):
-	Remove unused variable.
+	* src/cff/cffgload.c, src/cff/cffobjs.c, src/cff/cffparse.c: Update
+	function calls to use psaux service.
 
-	* src/base/ftdbgmem.c (ft_mem_table_destroy): `table' can't be zero.
+2017-09-24  Ewald Hew  <ewaldhew@gmail.com>
 
-	* src/gxvalid/gxvkern.c (gxv_kern_subtable_fmt1_entry_validate):
-	Remove functionless code.
+	[psaux, cff] Move CFF builder components into `psaux' module.
 
-	* src/tools/ftrandom.c (main): Fix memory leak.
+	NOTE: Does not compile!
 
-2013-06-03  Werner Lemberg  <wl@gnu.org>
+	* 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.
 
-	Add CFF_CONFIG_OPTION_OLD_ENGINE configuration option.
+	* src/cff/cffgload.h: Move corresponding declarations to
+	`src/psaux/psobjs.h'.
 
-	This controls whether the old FreeType CFF engine gets compiled into
-	FreeType.  It is now disabled by default.
+	* src/cff/cffgload.h (CFF_Builder): Move struct declaration to...
+	* include/freetype/internal/psaux.h: Here.
 
-	* devel/ftoption.h, include/freetype/config/ftoption.h
-	(CFF_CONFIG_OPTION_OLD_ENGINE): New macro.
+2017-09-24  Ewald Hew  <ewaldhew@gmail.com>
 
-	* src/cff/cffdrivr.c (cff_property_set), src/cff/cffgload.c
-	(CFF_Operator, cff_argument_counts, cff_builder_add_point,
-	cff_operator_seac, cff_decoder_parse_charstrings, cff_slot_load),
-	src/cff/cffgload.h, src/cff/cffobjs.c (cff_driver_init): Use
-	CFF_CONFIG_OPTION_OLD_ENGINE to guard the affected code.
+	[psaux, cff] Move CFF decoder components into `psaux' module.
 
-	* docs/CHANGES: Updated.
+	NOTE: Does not compile!
 
-2013-06-02  Werner Lemberg  <wl@gnu.org>
+	* 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.
 
-	Fix PNG library handling.
+	* src/cff/cffgload.h: Move corresponding declarations to...
+	* src/psaux/cffdecode.h: This new file.
 
-	* builds/unix/configure.raw: Don't use LIBPNG_LIBS but
-	LIBPNG_LDFLAGS.
+	* 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.
 
-2013-05-23  Behdad Esfahbod  <behdad@google.com>
+	* src/psaux/cf2ft.h: Update include.
 
-	Add support for color embedded bitmaps (eg. color emoji).
+	* src/psaux/psaux.c, src/psaux/rules.mk (PSAUX_DRV_SRC): Update with
+	the new file.
 
-	A new load flag, FT_LOAD_COLOR, makes FreeType load color
-	embedded-bitmaps, following this draft specification
+2017-09-24  Ewald Hew  <ewaldhew@gmail.com>
 
-	  https://color-emoji.googlecode.com/git/specification/v1.html
+	[psaux, cff] Move Adobe's engine components into `psaux' module.
 
-	which defines two new SFNT tables, `CBDT' and `CBLC' (named and
-	modeled after `EBDT' and `EBLC', respectively).  The color bitmaps
-	are stored in the new FT_PIXEL_MODE_BGRA format to represent BGRA
-	pre-multiplied sRGB images.  If PNG support is available, PNG color
-	images as defined in the same proposed specification are supported
-	also.
+	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 that color bitmaps are converted to grayscale if client didn't
-	ask for color.
+	NOTE: Does not compile!
 
-	* builds/unix/configure.raw: Search for libpng.
-	Add `--without-png' option.
+	* src/cff/cf2*: Move these files to...
+	* src/psaux/cf2*: Here.
 
-	* devel/ftoption.h, include/freetype/config/ftoption.h
-	(FT_CONFIG_OPTION_USE_PNG): New macro.
+	* 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.
 
-	* include/freetype/freetype.h (FT_LOAD_COLOR): New load flag.
+	* src/psaux/Jamfile (_sources), src/psaux/rules.mk, src/psaux/psaux.c
+	(PSAUX_DRV_SRC, PSAUX_DRV_H): Add file references.
 
-	* include/freetype/ftimage.h (FT_Pixel_Mode): Add
-	`FT_PIXEL_MODE_BGRA'.
+2017-09-24  Alexei Podtelezhnikov  <apodtele@gmail.com>
 
-	* include/freetype/tttags.h (TTAG_CBDT, TTAG_CBLC): New tags.
+	Tweak per-face LCD filtering controls.
 
-	* src/base/ftbitmap.c (FT_Bitmap_Embolden): Updated.
-	(ft_gray_for_premultiplied_srgb_bgra): New function.
-	(FT_Bitmap_Convert): Handle FT_PIXEL_MODE_BGRA.
+	Thing are simpler with a NULL-function pointer.
 
-	* src/sfnt/pngshim.c, src/sfnt/pngshim.h: New files.
+	* 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/sfnt/sfnt.c: Include `pngshim.c'.
+	* 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/sfnt/ttsbit.c: Include FT_BITMAP_H and `pngshim.h'
-	(tt_face_load_eblc): Load `CBLC'.
-	(tt_sbit_decoder_init): Load `CBDT'.
-	(tt_sbit_decoder_alloc_bitmap): Pass load flags to select between
-	color and grayscale bitmaps.
-	Set `num_grays'.  This is used by `ftview' to choose the blending
-	algorithm.
-	(tt_sbit_decoder_load_byte_aligned,
-	tt_sbit_decoder_load_bit_aligned, tt_sbit_decoder_load_compound,
-	tt_sbit_decoder_load_image): Pass load flag.
-	s/write/pwrite/.
-	Don't call `tt_sbit_decoder_alloc_bitmap'.
-	Updated.
-	(tt_sbit_decoder_load_png) [FT_CONFIG_OPTION_USE_PNG]: New function.
-	(tt_sbit_decoder_load_bitmap): Pass load flag.
-	Handle new glyph formats 17, 18, and 19.
-	Call `tt_sbit_decoder_alloc_bitmap'.
-	Flatten color bitmaps if necessary.
-	(tt_face_load_sbit_image): Updated.
+	* src/base/ftlcdfil.c (ft_lcd_filter_fir, FT_Libary_SetLcdFilter):
+	Minor.
 
-	* src/sfnt/rules.mk (SFNT_DRV_SRC): Add `pngshim.c'.
+2017-09-24  Jonathan Kew  <jfkthame@gmail.com>
 
-	* docs/CHANGES: Updated.
+	[sfnt] Fix `premultiply_data' (#52092).
 
-2013-05-24  Guenter  <info@gknw.net>
+	* src/sfnt/pngshim.c (premultiply_data): Don't use vector extension
+	if we have less than 16 bytes of data.
 
-	Apply Savannah patch #8055.
+2017-09-24  Werner Lemberg  <wl@gnu.org>
 
-	Make `apinames' create an import file for NetWare.
+	[otvalid] Fix handling of ValueRecords.
 
-	* src/tools/apinames.c (PROGRAM_VERSION): Set to 0.2.
-	(OutputFormat): Add `OUTPUT_NETWARE_IMP'.
-	(names_dump): Handle it.
-	(usage): Updated.
-	(main): Handle new command line flag `-wN'.
+	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.
 
-2013-05-23  Behdad Esfahbod  <behdad@behdad.org>
+	* src/otvalid/otvgpos.c (otv_PairSet_validate): Set `extra3'.
+	(otv_PairPos_validate): Adjust.
 
-	Compilation fix.
+2017-09-23  Werner Lemberg  <wl@gnu.org>
 
-	* src/truetype/ttinterp.c (TT_RunIns)
-	[!TT_CONFIG_OPTION_SUBPIXEL_HINTING]: Make it work.
+	[otvalid] Handle `GSUB' and `GPOS' v1.1 tables.
 
-2013-05-22  Infinality  <infinality@infinality.net>
+	* src/otvalid/otvgsub.c (otv_GSUB_validate), src/otvalid/otvgpos.c
+	(otv_GPOS_validate): Implement it.
 
-	[truetype] Formatting and an additional subpixel tweak.
+2017-09-23  Werner Lemberg  <wl@gnu.org>
 
-	* src/truetype/ttinterp.c (Ins_SHPIX): Formatting fix.
-	* src/truetype/ttsubpix.c (SKIP_NONPIXEL_Y_MOVES_Rules):
-	Revert previous modification for Verdana clones.
+	[otvalid] Update common table handling to OpenType 1.8.2.
 
-2013-05-22  Infinality  <infinality@infinality.net>
+	* src/otvalid/otvcommn.c (otv_Device_validate): Handle
+	VariationIndex subtable.
+	(otv_Lookup_validate): Handle MarkFilteringSet.
 
-	[truetype] Adjust subpixel zp2 moves and tweak rules.
+2017-09-23  Alexei Podtelezhnikov  <apodtele@gmail.com>
 
-	These modifications fix thin diagonal stems in some legacy fonts.
+	[build] Windows-style DLL versioning.
 
-	* src/truetype/ttinterp.c (Direct_Move_X): Remove unused macro.
-	(Move_Zp2_Point): Don't always disable x moves for subpixel rendering.
-	(Ins_SHP): Disable x moves here for subpixel rendering.
-	(Ins_SHPIX): Only disable x moves in compatibility mode.
-	Split out zp2 move reversals and reorder conditional respectively.
+	* build/windows/ftver.rc: New VERSIONINFO resource.
+	* build/windows/vc2010/freetype.vcxproj: Further improvements.
 
-	* src/truetype/ttsubpix.c (SKIP_NONPIXEL_Y_MOVES_Rules): Fix oversight.
-	Only adjust Verdana clones for 17 ppem.
-	(SKIP_NONPIXEL_Y_MOVES_Rules_Exceptions): Add Courier New.
-	(ALWAYS_SKIP_DELTAP_Rules): Found additional cases for Arial `s'.
+2017-09-23  Ben Wagner  <bungeman@google.com>
 
-2013-05-20  Infinality  <infinality@infinality.net>
+	[truetype] Really fix #52082.
 
-	[truetype] Simplify and improve subpixel function detection.
+	* src/truetype/ttinterp.c (Ins_MDRP): Correct conditional.
 
-	Some small enhancements have allowed the removal of many macros and
-	the simplification of existing rules in `ttsubpix.c'.
+2017-09-23  Werner Lemberg  <wl@gnu.org>
 
-	* src/truetype/ttsubpix.h (SPH_TWEAK_ALLOW_X_DMOVEX,
-	SPH_TWEAK_ALLOW_X_MOVE_ZP2,
-	SPH_TWEAK_DELTAP_SKIP_EXAGGERATED_VALUES,
-	SPH_TWEAK_SKIP_INLINE_DELTAS, SPH_TWEAK_MIRP_CVT_ZERO): Removed.
-	(SPH_TWEAK_SKIP_NONPIXEL_Y_MOVES_DELTAP): New rule macro.
+	[otvalid] Handle `GDEF' v1.2 and v1.3 tables.
 
-	* src/truetype/ttsubpix.c: Updated affected rules.
+	No validation of variation stuff yet.
 
-	* src/truetype/ttinterp.c (Direct_Move_X): Updated.
-	(INS_FDEF): Add additional function detection.
-	(INS_ENDF): Set runtime flag.
-	(Ins_CALL): Skip the call under certain conditions.
-	Remove bad code.
-	(Ins_LOOPCALL): Skip the call under certain conditions.
-	Remove bad code.
-	(Move_Zp2_Point): Updated.
-	(Ins_SHPIX): Updated.
-	Skip the move under some situations.
-	(Ins_MIAP): Improve conditions.
-	(Ins_MIRP): Updated.
-	(Ins_DELTAP): Skip move under certain conditions.
-	Simplify conditions.
-	(TT_RunIns): Updated.
-	Add code to handle new function detection.
-	Trace messages.
+	* src/otvalid/otvgdef.c (otv_MarkGlyphSets_validate): New function.
+	(otv_GDEF_validate): Implement it.
 
-2013-05-17  Werner Lemberg  <wl@gnu.org>
+2017-09-22  Werner Lemberg  <wl@gnu.org>
 
-	Update more FT_Err_XXX macros using FT_ERR and FT_THROW;
+	[otvalid] Handle `BASE' v1.1 table.
 
-	* builds/amiga/src/base/ftsystem.c, builds/mac/ftmac.c,
-	builds/unix/ftsystem.c, builds/vms/ftsystem.c: Do it.
+	No validation of variation stuff yet.
 
-2013-05-15  Werner Lemberg  <wl@gnu.org>
+	* src/otvalid/otvbase.c (otv_BASE_validate): Implement it.
 
-	[truetype] Add `interpreter-version' property.
+2017-09-22  Werner Lemberg  <wl@gnu.org>
 
-	This makes the option TT_CONFIG_OPTION_SUBPIXEL_HINTING controllable
-	at runtime.
+	[otvalid] Macros for 32bit offset support.
 
-	* include/freetype/ftttdrv.h: New file.
+	* src/otvalid/otvcommn.h (OTV_OPTIONAL_TABLE32,
+	OTV_OPTIONAL_OFFSET32, OTV_SIZE_CHECK32): New macros.
 
-	* include/freetype/config/ftheader.h (FT_TRUETYPE_DRIVER_H): New
-	macro.
+2017-09-21  Alexei Podtelezhnikov  <apodtele@gmail.com>
 
-	* src/truetype/ttdriver.c: Include FT_TRUETYPE_DRIVER_H.
-	(tt_property_set, tt_property_get): Fill templates.
+	[build] Simplify Visual C++ 2010 project.
 
-	* src/truetype/ttobjs.h (TT_DriverRec): Add `interpreter_version'
-	member.
-	Remove unused `extension_component' member.
+	* build/windows/vc2010/freetype.vcxproj: Remove fake singlethreaded
+	configurations and tweak.
 
-	* src/truetype/ttgload.c: Include FT_TRUETYPE_DRIVER_H.
-	(tt_get_metrics, TT_Hint_Glyph, TT_Process_Simple_Glyph,
-	compute_glyph_metrics, tt_loader_init): Use `interpreter_version'.
+2017-09-21  Werner Lemberg  <wl@gnu.org>
 
-	* src/truetype/ttinterp.c: Include FT_TRUETYPE_DRIVER_H.
-	(SUBPIXEL_HINTING): New macro to check `interpreter_version' flag.
-	Update all affected functions to use it.
-	Use TT_INTERPRETER_VERSION_XXX where appropriate.
+	[truetype] Integer overflow (#52082).
 
-	* src/truetype/ttobjs.c: Include FT_TRUETYPE_DRIVER_H.
-	(tt_driver_init): Initialize `interpreter_version'.
+	* src/truetype/ttinterp.c (Ins_MDRP): Avoid FT_ABS.
 
-	* src/truetype/ttsubpix.c: Include FT_TRUETYPE_DRIVER_H.
-	Use TT_INTERPRETER_VERSION_XXX where appropriate.
+2017-09-21  Werner Lemberg  <wl@gnu.org>
 
-2013-05-13  Werner Lemberg  <wl@gnu.org>
+	[sfnt] Fix postscript name for default instance of variation fonts.
 
-	[truetype] Avoid empty source file.
+	Problem reported by Behdad.
 
-	* src/truetype/ttsubpix.c [!TT_CONFIG_OPTION_SUBPIXEL_HINTING]:
-	Provide dummy typedef.
+	* src/sfnt/sfdriver.c (sfnt_get_ps_name): Test
+	`is_default_instance'.
 
-2013-05-13  Werner Lemberg  <wl@gnu.org>
+2017-09-21  Werner Lemberg  <wl@gnu.org>
 
-	* src/cff/cf2font.c (cf2_getGlyphWidth): Fix uninitialized variable.
+	[truetype] Fix `mmvar' array pointers, part 2.
 
-	Fix suggested by Vaibhav Nagarnaik <vnagarnaik@gmail.com>.
+	The previous commit was incomplete.
 
-2013-05-13  Brian Nixon  <bnixon@yahoo.com>
+	* src/truetype/ttgxvar.c: Properly initialize sub-array offsets for
+	`master' also.
 
-	Fix Savannah bug #38970.
+2017-09-21  Werner Lemberg  <wl@gnu.org>
 
-	* src/base/ftdebug.c, builds/win32/ftdebug.c,
-	builds/wince/ftdebug.c, builds/amiga/src/base/ftdebug.c
-	(ft_debug_init): Don't read past the environment variable FT2_DEBUG.
+	[truetype] Fix `mmvar' array pointers.
 
-2013-05-12  Werner Lemberg  <wl@gnu.org>
+	Without this change, clang's AddressSanitizer reports many runtime
+	errors due to misaligned addresses.
 
-	[truetype] Add framework for TrueType properties.
+	* src/truetype/ttgxvar.c (TT_Get_MM_Var): Use multiples of pointer
+	size for sub-array offsets into `mmvar'.
 
-	* src/truetype/ttdrivr.c: Include FT_SERVICE_PROPERTIES_H.
-	(tt_property_set, tt_property_get): New functions, still empty.
-	Define `tt_service_properties' service.
-	Update `tt_services'.
+2017-09-20  Werner Lemberg  <wl@gnu.org>
 
-	* src/truetype/ttpic.h: Include FT_SERVICE_PROPERTIES_H.
-	(TT_SERVICE_PROPERTIES_GET): New macro.
-	(TTModulePIC): Add `tt_service_properties'.
+	[truetype] Integer overflows.
 
-2013-05-12  Werner Lemberg  <wl@gnu.org>
+	Changes triggered by
 
-	Fix Savannah bug #38967.
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3429
 
-	* src/base/ftcalc.c (FT_DivFix) [FT_LONG64]: Fix cast.
+	* src/truetype/ttinterp.c (Ins_SHPIX, Ins_DELTAP): Use NEG_LONG.
+	(Ins_MIAP): Use SUB_LONG.
 
-2013-05-12  Werner Lemberg  <wl@gnu.org>
+2017-09-19  Alexei Podtelezhnikov  <apodtele@gmail.com>
 
-	Introduce unsigned 64bit type (if available).
+	[build] Fix DLL builds in Visual C++ project.
 
-	* include/freetype/config/ftconfig.h: Define FT_UINT64 if available.
-	[FT_LONG64]: Provide FT_UInt64.
+	* 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.
 
-	* builds/unix/ftconfig.in: Synchronized.
+2017-09-19  John Tytgat  <John.Tytgat@esko.com>
 
-2013-05-12  Werner Lemberg  <wl@gnu.org>
+	[cff] Fix family name logic of pure CFF fontdata (#52056).
 
-	Fix Savannah bug #38968.
+	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".
 
-	* include/freetype/ftmodapi.h: Add `FT_EXPORT' to
-	FT_Property_{Set,Get}.
-	* src/base/ftobjs.c: Add `FT_EXPORT_DEF' to
-	FT_Property_{Set,Get}.
+	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).
 
-2013-05-10  Werner Lemberg  <wl@gnu.org>
+	* src/cff/cffobjs.c (cff_face_init) [pure_cff]: Implement it.
 
-	[sfnt] Clean up bitmap code.
+2017-09-18  Alexei Podtelezhnikov  <apodtele@gmail.com>
 
-	* src/sfnt/ttsbit.c: Deleted.
-	* src/sfnt/ttsbit0.c: Renamed to `ttsbit.c'.
-	* rules.mk (SFNT_DRV_H): Updated.
+	[build] Declutter Visual C++ 2010-2017 project.
 
-2013-05-10  Werner Lemberg  <wl@gnu.org>
+	* build/windows/vc2010/freetype.vcxproj: Use MaxSpeed (/02)
+	optimization for Release configuration throughout the project.
 
-	*/* [FT_CONFIG_OPTION_OLD_INTERNALS]: Remove macro and guarded code.
 
 ----------------------------------------------------------------------------
 
-Copyright 2013-2015 by
+Copyright 2017-2018 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 6dae58e..63e3116 100644
--- a/ChangeLog.20
+++ b/ChangeLog.20
@@ -330,7 +330,7 @@
 
 2001-12-22  Francesco Zappa Nardelli  <Francesco.Zappa.Nardelli@ens.fr>
 
-	* src/pfc/pcfread.c (pcf_load_font): Handle property `POINT_SIZE'
+	* src/pcf/pcfread.c (pcf_load_font): Handle property `POINT_SIZE'
 	and fix incorrect computation of `available_sizes'.
 
 2001-12-22  David Turner  <david@freetype.org>
@@ -412,7 +412,7 @@
 	* src/cff/cffgload.h: Updated.
 	* src/cff/cffobjs.c: Include FT_INTERNAL_POSTSCRIPT_HINTS_H.
 	(CFF_Size_Get_Globals_Funcs, CFF_Size_Done, CFF_Size_Init,
-	CFF_Size_Reset, CFF_GlyphSlot_Done, CFF_GLyphSlot_Init): New
+	CFF_Size_Reset, CFF_GlyphSlot_Done, CFF_GlyphSlot_Init): New
 	functions.
 	(CFF_Init_Face): Renamed to ...
 	(CFF_Face_Init): This.
@@ -1056,7 +1056,7 @@
 
 2001-08-30  Anthony Feik  <afeick@hotmail.com>
 
-	* src/type1/t1afm.c (T1_Read_Afm): Now correctly sets the flag
+	* src/type1/t1afm.c (T1_Read_AFM): Now correctly sets the flag
 	FT_FACE_FLAG_KERNING when appropriate for Type1 + AFM files.
 
 2001-08-25  Werner Lemberg  <wl@gnu.org>
@@ -1176,7 +1176,7 @@
 
 	* include/freetype/internal/psaux.h (PS_Table): Use FT_Offset for
 	`cursor' and `capacity'.
-	* src/psaux/psobjc.c (reallocate_t1_table): Use FT_Long for second
+	* src/psaux/psobjs.c (reallocate_t1_table): Use FT_Long for second
 	parameter.
 	(PS_Table_Add): Use FT_Offset for `new_size'.
 
@@ -1338,7 +1338,7 @@
 	(cff_compute_bias): Use `U' for constant.
 	* src/cid/cidload.c (cid_decrypt): Ditto.
 	* src/psaux/psobjs.c (T1_Decrypt): Ditto.
-	* src/psaux/t1decode.c (T1_Decoder_Parse_CharStrings): Ditto.
+	* src/psaux/t1decode.c (T1_Decoder_Parse_Charstrings): Ditto.
 	* src/sfnt/ttload.c (TT_Load_Kern): Remove unused `version'
 	variable.
 	* src/sfnt/ttsbit.c (TT_Load_SBit_Image): Remove unused `top'
@@ -1524,7 +1524,7 @@
 
 	* src/base/ftcalc.c (FT_DivFix): Fixed a bug in the 64-bit code that
 	created incorrect scale factors!
-	(FT_Round_Fix, FT_CeilFix, FT_FloorFix): Minor improvements.
+	(FT_RoundFix, FT_CeilFix, FT_FloorFix): Minor improvements.
 
 2001-05-12  Werner Lemberg  <wl@gnu.org>
 
@@ -1710,7 +1710,7 @@
 	`FT_Err_*' with `CFF_Err_*'.
 	* src/cid/cidparse.c: Replaced `FT_Err_*' with `T1_Err_*'.
 	* src/psaux/psobjs.c, src/psaux/t1decode.c: Ditto.
-	* src/sfnt/sfobcs.c, src/sfnt/ttload.c: Replaced `FT_Err_*' with
+	* src/sfnt/sfobjs.c, src/sfnt/ttload.c: Replaced `FT_Err_*' with
 	`TT_Err_*'.
 	* src/truetype/ttgload.c, src/truetype/ttobjs.c: Ditto.
 	* src/type1/t1gload.c, src/type1/t1load.c, src/type1/t1objs.c,
@@ -1730,7 +1730,7 @@
 	* src/cff/cffobjs.c (CFF_Init_Face, CFF_Done_Face): Use
 	FT_LOCAL_DEF.
 	* src/cid/cidobjs.c (CID_Done_Driver): Ditto.
-	* src/trutype/ttobjs.c (TT_Init_Face, TT_Done_Face, TT_Init_Size):
+	* src/truetype/ttobjs.c (TT_Init_Face, TT_Done_Face, TT_Init_Size):
 	Ditto.
 	* src/type1/t1objs.c (T1_Done_Driver): Ditto.
 	* src/pcf/pcfdriver.c (PCF_Done_Face): Ditto.
@@ -1759,7 +1759,7 @@
 
 2001-03-20  Werner Lemberg  <wl@gnu.org>
 
-	* builds/win32/detekt.mk: Fix .PHONY target for Intel compiler.
+	* builds/win32/detect.mk: Fix .PHONY target for Intel compiler.
 
 2001-03-20  David Turner  <david.turner@freetype.org>
 
@@ -2159,7 +2159,7 @@
 
 	* include/freetype/internal/t2types.h,
 	include/freetype/internal/cfftypes.h: Changed the structures for
-	CFF_Encoding and CFF_Encoding for the new implementations of the
+	CFF_Charset and CFF_Encoding for the new implementations of the
 	charset and encoding parsers in the CFF driver.
 
 	* src/cff/t2gload.c (t2_lookup_glyph_by_stdcharcode,
@@ -2338,7 +2338,7 @@
 2000-12-06  Werner Lemberg  <wl@gnu.org>
 
 	* builds/module.mk: Replaced `xxx #' with `xxx$(space).
-	* builds/os2/detekt.mk, builds/win32/detekt.mk: Moved comment to
+	* builds/os2/detect.mk, builds/win32/detect.mk: Moved comment to
 	avoid trailing spaces in variable.
 	* builds/freetype.mk: Use $(D) instead of $D to make statement more
 	readable.
@@ -2412,7 +2412,7 @@
 	* builds/unix/detect.mk (.PHONY): Adding `devel', `unix', `lcc',
 	`setup'.
 
-2000-11-30  David Turner  <david.turner@freetype.ogr>
+2000-11-30  David Turner  <david.turner@freetype.org>
 
 	* INSTALL: Slightly updated the quick starter documentation to
 	include IDE compilation, prevent against BSD Make, and specify `make
@@ -2597,7 +2597,7 @@
 
 ----------------------------------------------------------------------------
 
-Copyright 2000-2015 by
+Copyright 2000-2018 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 a6f8be7..1adc817 100644
--- a/ChangeLog.21
+++ b/ChangeLog.21
@@ -170,7 +170,7 @@
 	FTC_CACHE_TRYLOOP_END): New macros.
 
 	* src/cache/ftccache.c (FTC_Cache_NewNode), src/cache/ftcsbits.c
-	(ftc_snode_compare): Use FT_CACHE_TRYLOOP and FTC_CACE_TRYLOOP_END.
+	(ftc_snode_compare): Use FT_CACHE_TRYLOOP and FTC_CACHE_TRYLOOP_END.
 
 2005-05-23  Werner Lemberg  <wl@gnu.org>
 
@@ -327,7 +327,7 @@
 	Blaskey <listtarget@danbala.com>).
 
 	* src/sfnt/ttcmap.h (TT_CMap): Add member `unsorted'.
-	* src/sfnt/ttcmac.c: Use SFNT_Err_Ok where appropriate.
+	* src/sfnt/ttcmap.c: Use SFNT_Err_Ok where appropriate.
 
 	(tt_cmap0_validate, tt_cmap2_validate, tt_cmap6_validate,
 	tt_cmap8_validate, tt_cmap10_validate, tt_cmap12_validate): Use
@@ -571,7 +571,7 @@
 	doing anything else.  This avoids unnecessary heap allocations
 	(400KByte of heap memory for the LZW decoder).
 
-	* src/gzip/ftgzip.c (FT_Stream_OpenGZip): Ditto for the gzip
+	* src/gzip/ftgzip.c (FT_Stream_OpenGzip): Ditto for the gzip
 	decoder, although the code savings are smaller.
 
 	* docs/CHANGES: Updated.
@@ -617,7 +617,7 @@
 	`ft_get_adobe_glyph_index', a new function defined in `pstables.h'.
 	(ps_get_macintosh_name, ps_get_standard_strings): Updated.
 
-	* src/base/ftobjs.c (FT_Set_Char_Sizes): Handle fractional sizes
+	* src/base/ftobjs.c (FT_Set_Char_Size): Handle fractional sizes
 	more carefully.  This fixes Savannah bug #12263.
 
 2005-03-06  David Turner  <david@freetype.org>
@@ -756,7 +756,7 @@
 	(AF_AxisHintsRec): Add `max_segments' and `max_edges'.
 	(af_axis_hints_new_segment, af_axis_hints_new_edge): New prototypes.
 
-	* src/autofit/aflatin.c (af_latin_metricsc_scale): Don't call
+	* src/autofit/aflatin.c (af_latin_metrics_scale): Don't call
 	AF_SCALER_EQUAL_SCALES.
 	(af_latin_hints_compute_segments): Change return type to FT_Error.
 	Update all callers.
@@ -1014,7 +1014,7 @@
 	t42_parse_charstrings, t42_parse_dict): Check parser error value
 	after call to T1_Skip_PS_Token (where necessary).
 
-	* src/psaux/psobjc.c (skip_string, ps_parser_skip_PS_token,
+	* src/psaux/psobjs.c (skip_string, ps_parser_skip_PS_token,
 	ps_tobytes): Add error messages.
 
 2005-02-12  Werner Lemberg  <wl@gnu.org>
@@ -1112,7 +1112,7 @@
 	but return them as-is.
 
 	* docs/CHANGES: Mention new bitmap API.
-	* include/freetype/ftchapter.s: Updated.
+	* include/freetype/ftchapters.h: Updated.
 
 2004-12-11  Robert Clark  <freetype@ratty.org.uk>
 
@@ -1159,7 +1159,7 @@
 	(ah_test_extremum, ah_get_orientation): Removed.
 	(ah_outline_load): Use FT_Outline_Get_Orientation.
 
-	* src/base/ftsynth.c (ft_test_extrama, ft_get_orientation): Removed.
+	* src/base/ftsynth.c (ft_test_extrema, ft_get_orientation): Removed.
 	(FT_GlyphSlot_Embolden): Use FT_Outline_Get_Orientation.
 
 2004-11-23  Fernando Papa  <fpapa@netgate.com.uy>
@@ -1819,7 +1819,7 @@
 2004-08-11  Detlef Würkner  <TetiSoft@apg.lahn.de>
 
 	* src/base/ftrfork.c (FT_Raccess_Guess)
-	[!FT_CONFIG_OPTION_GUESSING_EMBEDDED_FORK]: Remove compiler
+	[!FT_CONFIG_OPTION_GUESSING_EMBEDDED_RFORK]: Remove compiler
 	warnings.
 
 2004-08-06  Adam Piotrowski  <st_intel@poczta.onet.pl>
@@ -1829,7 +1829,7 @@
 
 2004-08-05  David Turner  <david@freetype.org>
 
-	`Activate' gray-scale specifing hinting within the TrueType
+	`Activate' gray-scale specifying hinting within the TrueType
 	bytecode interpreter.  This is an experimental feature which
 	should probably be made optional.
 
@@ -1839,7 +1839,7 @@
 	(TT_Load_Glyph): Here.
 	Set `grayscale' flag except for `FT_LOAD_TARGET_MONO'.
 
-	* src/truetyep/ttinterp.c (Ins_GETINFO): Return MS rasterizer
+	* src/truetype/ttinterp.c (Ins_GETINFO): Return MS rasterizer
 	version 1.7.
 	Return rotation and stretching info only if glyph is rotated or
 	stretched, respectively.
@@ -1868,7 +1868,7 @@
 	(LITTLE_ENDIAN_USHORT, LITTLE_ENDIAN_UINT): New macros.
 	(T1_Read_PFM): New function.
 	(T1_Read_Metrics): New higher-level function to be used instead of
-	T1Read_AFM.
+	T1_Read_AFM.
 	Update all callers.
 
 2004-07-31  Werner Lemberg  <wl@gnu.org>
@@ -2048,7 +2048,7 @@
 	pcf_get_metrics, pcf_get_bitmaps, pcf_get_encodings): Improve
 	debugging messages.
 
-	* src/pcf/pcfdrivr.c (FT_COMPOMENT): Move up.
+	* src/pcf/pcfdrivr.c (FT_COMPONENT): Move up.
 	(PCF_Face_Init): Simplify code.
 
 	* src/bdf/bdfdrivr.h (BDF_FaceRec): New element `default_glyph'.
@@ -2101,7 +2101,7 @@
 
 2004-06-08  David Turner  <david@freetype.org>
 
-	* include/freetype/freetype.h (FT_GlyphMetrics): Move `lsb_delta'
+	* include/freetype/freetype.h (FT_Glyph_Metrics): Move `lsb_delta'
 	and `rsb_delta' elements to...
 	(FT_GlyphSlotRec): Here to retain binary compatibility with older
 	FreeType versions.
@@ -2116,7 +2116,7 @@
 	* include/freetype/cache/ftcmru.h (FTC_MruNode_CompareFunc): Change
 	return type to FT_Bool.
 
-	* src/cache/ftbasic.c (ftc_basic_family_compare): Change return
+	* src/cache/ftcbasic.c (ftc_basic_family_compare): Change return
 	type to FT_Bool.
 
 	* src/cache/ftccache.c (FTC_Cache_Init, ftc_cache_init): Make
@@ -2153,7 +2153,7 @@
 
 	* docs/CHANGES: Updated.
 
-2004-06-04  David Chester  <davidchester@gmx.net>
+2004-06-04  David Chester  <davidchester@qmx.net>
 
 	Improve inter-letter spacing for autohinted glyphs.
 
@@ -2289,7 +2289,7 @@
 
 	* src/cff/cffgload.h (CFF_Builder): Remove `error'.
 	* src/cff/cffgload.c (cff_decoder_parse_charstrings): Replace
-	`Memory_Error' with `Fail' und update all users.
+	`Memory_Error' with `Fail' and update all users.
 
 2004-05-11  Werner Lemberg  <wl@gnu.org>
 
@@ -2528,7 +2528,7 @@
 	* src/truetype/ttgload.c [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Include
 	ttgxvar.h.
 	(TT_Process_Simple_Glyph, load_truetype_glyph)
-	[TT_CONFIG_OPTION_GX_VAR_SUPPORT] :Support GX var fonts.
+	[TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Support GX var fonts.
 
 	* src/truetype/ttobjs.c [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Include
 	ttgxvar.h.
@@ -2864,7 +2864,7 @@
 	(psh_blues_snap_stem): Don't use blue_shift but blue_threshold.
 
 	* src/pshinter/pshalgo.c (PSH_STRONG_THRESHOLD_MAXIMUM): New macro.
-	(psh_glyph_find_string_points): Use PSH_STRONG_THRESHOLD_MAXIMUM.
+	(psh_glyph_find_strong_points): Use PSH_STRONG_THRESHOLD_MAXIMUM.
 	(psh_glyph_find_blue_points): New function.  Needed for fonts like
 	p052003l.pfb (URW Palladio L Roman) which have flex curves at the
 	base line within blue zones, but the flex curves aren't covered by
@@ -2899,7 +2899,7 @@
 	Improve MacOS fond support.  Provide a new API
 	`FT_New_Face_From_FSSpec' similar to `FT_New_Face'.
 
-	* src/base/ftmac.c [__MWERKS__]: Include FSp_fpopen.h.
+	* src/base/ftmac.c [__MWERKS__]: Include FSp_fopen.h.
 	STREAM_FILE [__MWERKS__]: New macro.
 	(ft_FSp_stream_close, ft_FSp_stream_io) [__MWERKS__]: New functions.
 	(file_spec_from_path) [__MWERKS__]: Updated #if statement.
@@ -3331,7 +3331,7 @@
 
 	* src/cff/cffdrivr.c (cff_get_cmap_info): Call sfnt module's TT CMap
 	Info service function if the cmap comes from sfnt.  Return 0 if the
-	cmap is sythesized in cff module.
+	cmap is synthesized in cff module.
 
 2004-01-20  David Turner  <david@freetype.org>
 
@@ -3361,7 +3361,7 @@
 
 	* src/base/ftstroke.c: Include FT_INTERNAL_OBJECTS_H.
 	(FT_Outline_GetOutsideBorder): Inverse result.
-	(FT_Stroker_Rewind, FT_Glyph_Stroke, FT_GlyphStrokeBorder): New
+	(FT_Stroker_Rewind, FT_Glyph_Stroke, FT_Glyph_StrokeBorder): New
 	functions.
 	(FT_Stroker_EndSubPath): Close path if needed.
 	(FT_Stroker_Set, FT_Stroker_ParseOutline): Use FT_Stroker_Rewind.
@@ -3460,7 +3460,7 @@
 
 2003-12-25  Werner Lemberg  <wl@gnu.org>
 
-	* src/base/fttrigon.c, src/base/ftgloadr.c: Inlude
+	* src/base/fttrigon.c, src/base/ftgloadr.c: Include
 	FT_INTERNAL_OBJECTS_H.
 
 	* src/base/ftstroke.c (FT_Outline_GetInsideBorder,
@@ -3493,8 +3493,8 @@
 2003-12-23  David Turner  <david@freetype.org>
 
 	* include/freetype/internal/ftobjs.h (FT_PAD_FLOOR, FT_PAD_ROUND,
-	FT_PAD_CEIL, FT_PIX_FLOOR, FT_PIX_ROUND, FT_CEIL): New macros.  They
-	are used to avoid compiler warnings with very pedantic compilers.
+	FT_PAD_CEIL, FT_PIX_FLOOR, FT_PIX_ROUND, FT_PIX_CEIL): New macros.
+	They are used to avoid compiler warnings with very pedantic compilers.
 	Note that `(x) & -64' causes a warning if (x) is not signed.  Use
 	`(x) & ~63' instead!
 	Updated all related code.
@@ -3539,7 +3539,7 @@
 	src/cache/ftcsbits.c,
 	src/cache/ftccmap.c,
 	src/cache/ftcbasic.c (added),
-	src/cache/ftclru.c (removed):
+	src/cache/ftlru.c (removed):
 
 	  *Complete* rewrite of the cache sub-system to `solve' the
 	  following points:
@@ -4010,7 +4010,7 @@
 	* src/cff/cffload.h, src/cff/cffobjs.h, src/cff/cffparse.h: Don't
 	include FT_INTERNAL_CFF_TYPES_H but cfftypes.h directly.
 
-	* src/cif/cidriver.c: Include FT_SERVICE_POSTSCRIPT_INFO_H.
+	* src/cid/cidriver.c: Include FT_SERVICE_POSTSCRIPT_INFO_H.
 	(cid_ps_get_font_info): New function.
 	(cid_service_ps_info): New service.
 	(cid_services): Updated.
@@ -4119,7 +4119,7 @@
 	(fnt_cmap_class_rec, fnt_cmap_class), src/bdf/bdflib.c (empty,
 	_num_bdf_properties), src/gzip/infutil.c (inflate_mask),
 	src/gzip/inffixed.h (fixed_bl, fixed_bd, fixed_tl, fixed_td),
-	src/gzip/inftrees.h (inflate_trees_fixed), srf/gzip/inftrees.c
+	src/gzip/inftrees.h (inflate_trees_fixed), src/gzip/inftrees.c
 	(inflate_trees_fixed): Decorate with more `const' to avoid
 	writable global variables which are disallowed on ARM.
 
@@ -4231,7 +4231,7 @@
 	(t42_parse_encoding): Use `ft_isdigit'.
 
 
-	* src/base/ftmm.c (ft_face_get_mm_service): Return FT_Err_OK if
+	* src/base/ftmm.c (ft_face_get_mm_service): Return FT_Err_Ok if
 	success.
 
 2003-10-05  Werner Lemberg  <wl@gnu.org>
@@ -4355,7 +4355,7 @@
 	new POSTSCRIPT_NAMES service.
 	* src/psaux/t1decode.h (t1_lookup_glyph_by_stdcharcode,
 	t1_decode_init): Use new POSTSCRIPT_NAMES service.
-	* src/psaux/t1cmap.h, src/psaux/t1decode.h: Dont' include
+	* src/psaux/t1cmap.h, src/psaux/t1decode.h: Don't include
 	FT_INTERNAL_POSTSCRIPT_NAMES_H.
 
 	* src/psnames/psmodule.c:  Don't include
@@ -4659,7 +4659,7 @@
 
 	* src/type42/t42drivr.c: Include FT_SERVICE_XFREE86_NAME_H,
 	FT_SERVICE_GLYPH_DICT_H, and FT_SERVICE_POSTSCRIPT_NAME_H.
-	(t42_service_glyph_dict, t42_service_ps_name): New strucures
+	(t42_service_glyph_dict, t42_service_ps_name): New structures
 	providing Type 42 services.
 	(t42_services): New services list.
 	(T42_Get_Interface): Use `ft_service_list_lookup'.
@@ -4683,7 +4683,7 @@
 	(gindex,gindex).
 
 	* src/base/ftpfr.c (ft_pfr_check): Fix serious typo.
-	* src/pfr/prfload.c: Remove dead code.
+	* src/pfr/pfrload.c: Remove dead code.
 	(pfr_get_gindex, pfr_compare_kern_pairs, pfr_sort_kerning_pairs):
 	New functions.
 	(pfr_phy_font_done): Free `kern_pairs'.
@@ -4749,8 +4749,7 @@
 	* include/freetype/ttunpat.h: Fixing documentation comment.
 
 	* include/freetype/config/ftoption.h, devel/ftoption.h
-	(TT_CONFIG_OPTION_OPTION_COMPILE_UNPATENTED_HINTING): Replaced
-	with...
+	(TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING): Replaced with...
 	(TT_CONFIG_OPTION_UNPATENTED_HINTING): This.  Updated all users.
 	(TT_CONFIG_OPTION_FORCE_UNPATENTED_HINTING): Removed.
 
@@ -5024,7 +5023,7 @@
 	drivers.
 
 	* src/base/ftobjs.c (FT_Set_Char_Size): Remove redundant code.
-	(FT_Set_Pixel_Size): Assign value to `metrics' after validation of
+	(FT_Set_Pixel_Sizes): Assign value to `metrics' after validation of
 	arguments.
 
 2003-06-20  Werner Lemberg  <wl@gnu.org>
@@ -5116,7 +5115,7 @@
 	ft_glyph_bbox_subpixels, ft_glyph_bbox_gridfit,
 	ft_glyph_bbox_truncate, ft_glyph_bbox_pixels): Replaced with
 	FT_GLYPH_BBOX_UNSCALED, FT_GLYPH_BBOX_SUBPIXELS,
-	FT_GLYPH_BBIX_GRIDFIT, FT_GLYPH_BBOX_TRUNCATE, FT_GLYPH_BBOX_PIXELS.
+	FT_GLYPH_BBOX_GRIDFIT, FT_GLYPH_BBOX_TRUNCATE, FT_GLYPH_BBOX_PIXELS.
 	The lowercase variants are now (deprecated aliases) to the uppercase
 	versions.
 	Updated all other files.
@@ -5200,7 +5199,7 @@
 	* src/cid/cidload.c (cid_load_keyword): Handle
 	T1_FIELD_LOCATION_BBOX.
 	(parse_font_bbox): Commented out.
-	(cid_field_record): Comment out element for parsing FontBBox.
+	(cid_field_records): Comment out element for parsing FontBBox.
 
 	* src/type42/t42parse.c (t42_parse_font_bbox): Commented out.
 	(t42_keywords): Handle FontBBox with T1_FIELD_BBOX, not with
@@ -5346,7 +5345,7 @@
 	* src/cff/cffload (cff_subfont_load): Fix default values of
 	expansion_factor and blue_scale.
 
-	* src/cif/cidtoken.h, src/type1/t1tokens.h: Use T1_FIELD_FIXED_1000
+	* src/cid/cidtoken.h, src/type1/t1tokens.h: Use T1_FIELD_FIXED_1000
 	for blue_scale.
 
 	* src/pshinter/pshglob.c (psh_globals_new): Fix default value of
@@ -5569,7 +5568,7 @@
 	* src/bdf/bdfdrivr.c (BDF_Face_Init), src/pcf/pcfdriver.c
 	(PCF_Face_Init): Test for charset registry case-insensitively.
 
-	* src/gzip/ftgzip.c (ft_gzip_fil_io): Revert change from yesterday;
+	* src/gzip/ftgzip.c (ft_gzip_file_io): Revert change from yesterday;
 	it has already been fixed differently.
 
 	* src/truetype/ttinterp.c (DO_SFVTL): Add missing braces around
@@ -5706,7 +5705,7 @@
 	(ah_outline_compute_edges): Scale `edge_distance_threshold' down
 	after rounding instead of scaling comparison value in loop.
 
-	* src/autohint/ahhint.c (ah_hinter_align_stong_points): Provide
+	* src/autohint/ahhint.c (ah_hinter_align_strong_points): Provide
 	alternative code which runs faster.
 	Handle `before->scale == 0'.
 
@@ -5916,7 +5915,7 @@
 2003-04-23  Werner Lemberg  <wl@gnu.org>
 
 	* src/pfr/pfrload.c (pfr_extra_item_load_font_id): Use FT_PtrDist
-	instead of FT_Uint for `len'.
+	instead of FT_UInt for `len'.
 
 2003-04-22  Werner Lemberg  <wl@gnu.org>
 
@@ -5960,7 +5959,7 @@
 
 2003-03-27  David Turner  <david@freetype.org>
 
-	* README: Udpated.
+	* README: Updated.
 
 	* README.UNX: Removed (now replaced by docs/INSTALL.UNX).
 
@@ -6275,7 +6274,7 @@
 	(bdf_driver_class): Use `bdf_driver_requester'.
 
 	* src/pcf/pcfdrivr.c: Include FT_BDF_H.
-	(pcf_get_bdf_property, pdc_driver_requester): New functions
+	(pcf_get_bdf_property, pcf_driver_requester): New functions
 	(pcf_driver_class): Use `pcf_driver_requester'.
 
 	* src/pcf/pcfread.c: Include `pcfread.h'.
@@ -6547,10 +6546,10 @@
 
 2002-11-07  David Turner  <david@freetype.org>
 
-	* src/cache/ftcsbit.c (ftc_sbit_node_load): Fixed a small bug that
+	* src/cache/ftcsbits.c (ftc_sbit_node_load): Fixed a small bug that
 	caused problems with embedded bitmaps.
 
-	* src/otlayout/otlayout.h, src/otlyaout/otlconf.h,
+	* src/otlayout/otlayout.h, src/otlayout/otlconf.h,
 	src/otlayout/otlgsub.c, src/otlayout/otlgsub.h,
 	src/otlayout/otlparse.c, src/otlayout/otlparse.h,
 	src/otlayout/otlutils.h: Updating the OpenType Layout code, adding
@@ -6608,7 +6607,7 @@
 
 2002-11-01  David Turner  <david@freetype.org>
 
-	Added PFR-specific public API.  Fixed the kerning retrievel routine
+	Added PFR-specific public API.  Fixed the kerning retrieval routine
 	(it returned invalid values when the outline and metrics resolution
 	differ).
 
@@ -6695,7 +6694,7 @@
 	* src/pfr/pfrgload.c: Include `pfrsbit.h'.
 	* src/pfr/pfrload.c (pfr_extra_item_load_kerning_pairs): Rewritten.
 	(pfr_phy_font_done, pfr_phy_font_load): Updated.
-	* src/pfr/pfrobks.c: Include `pfrsbit.h'.
+	* src/pfr/pfrobjs.c: Include `pfrsbit.h'.
 	(pfr_face_init): Handle kerning and embedded bitmaps.
 	(pfr_slot_load): Load embedded bitmaps.
 	(PFR_KERN_INDEX): Removed.
@@ -6973,7 +6972,7 @@
 
 	* src/pshinter/pshalgo2.c (psh2_glyph_find_strong_points),
 	src/pshinter/pshalgo3.c (psh3_glyph_find_strong_points): Adding fix
-	to prevent seg fault when hints are provided in an empty glyph.
+	to prevent segfault when hints are provided in an empty glyph.
 
 	* src/cache/ftccache.i (GEN_CACHE_LOOKUP) [FT_DEBUG_LEVEL_ERROR]:
 	Removed conditional code.  This fixes a bug that prevented
@@ -6996,7 +6995,7 @@
 
 2002-09-08  David Turner  <david@freetype.org>
 
-	Various updates to correctly support sub-pixel rendering.
+	Various updates to correctly support subpixel rendering.
 
 	* include/freetype/config/ftmodule.h: Add two renderers for LCD.
 
@@ -7032,7 +7031,7 @@
 	(FTC_Image_Cache_Lookup): This function.
 	(ftc_image_family_init): Updated.
 
-	* src/cache/ftcsbit.c (FTC_SBitQueryRec, FTC_SBitFamilyRec):
+	* src/cache/ftcsbits.c (FTC_SBitQueryRec, FTC_SBitFamilyRec):
 	Updated.
 	(ftc_sbit_node_load): Updated.
 	Moved code to convert type flags to load flags to...
@@ -7155,7 +7154,7 @@
 	to ...
 	(FT_Glyph_{Init,Done,Transform,GetBBox,Copy,Prepare}Func): This.
 	(FTRenderer_{render,transform,getCBox,setMode}): Renamed to ...
-	(FT_Renderer_{RenderFunc,TransformFunc,GetCBoxFunc,SeteModeFunc}):
+	(FT_Renderer_{RenderFunc,TransformFunc,GetCBoxFunc,SetModeFunc}):
 	This.
 
 	Updated all affected code.
@@ -7239,7 +7238,7 @@
 	(ft_smooth_render, ft_smooth_render_lcd, ft_smooth_render_lcd_v):
 	New functions.
 
-	(ft_smooth_locd_renderer_class, ft_smooth_lcdv_renderer_class): New
+	(ft_smooth_lcd_renderer_class, ft_smooth_lcdv_renderer_class): New
 	classes.
 
 	* src/truetype/ttobjs.c (TT_{Done,New}_GlyphZone): Renamed to...
@@ -7376,7 +7375,7 @@
 
 	* src/pcf/pcfdriver.c (PCF_Glyph_Load): Fix computation of
 	horiBearingX.
-	* src/bdf/bdfdrivr.c (BDF_GlyphLoad): Fix computation of
+	* src/bdf/bdfdrivr.c (BDF_Glyph_Load): Fix computation of
 	horiBearingY.
 
 2002-08-16  George Williams  <gww@silcom.com>
@@ -7556,7 +7555,7 @@
 	Get glyph offset.
 
 	* src/truetype/ttobjs.c (TT_Face_Init)
-	[FT_CONFIG_OPTION_INCOREMENTAL]: Added the incremental loading
+	[FT_CONFIG_OPTION_INCREMENTAL]: Added the incremental loading
 	system for the TrueType driver.
 
 	* src/cid/cidgload.c (cid_load_glyph)
@@ -7581,7 +7580,7 @@
 
 	* include/freetype/cache/ftccache.h, src/cache/ftccache.i,
 	src/cache/ftccache.c [!FTC_CACHE_USE_LINEAR_HASHING]: Removed.
-	(FTC_CACHE_USE_LINEAR_HASHING: Removed also.
+	(FTC_CACHE_USE_LINEAR_HASHING): Removed also.
 
 	FT_CONFIG_OPTION_USE_CMAPS is now the default.
 
@@ -7603,7 +7602,7 @@
 
 	* src/cid/cidriver.c (Cid_Get_Char_Index, Cid_Get_Next_Char):
 	Removed.
-	(t1_cid_driver_class): Updated.
+	(t1cid_driver_class): Updated.
 	* src/truetype/ttdriver.c (tt_driver_class): Updated.
 	* src/type1/t1driver.c (Get_Char_Index, Get_Next_Char): Removed
 	(t1_driver_class): Updated.
@@ -7698,7 +7697,7 @@
 	  CFF_Done_SubFont -> cff_subfont_done
 	  CFF_Load_Font -> cff_font_load
 	  CFF_Done_Font -> cff_font_done
-	  CFF_Size_Get_Global_Funcs -> cff_size_get_global_funcs
+	  CFF_Size_Get_Globals_Funcs -> cff_size_get_globals_funcs
 	  CFF_Size_Done -> cff_size_done
 	  CFF_Size_Init -> cff_size_init
 	  CFF_Size_Reset -> cff_size_reset
@@ -7897,7 +7896,7 @@
 
 2002-06-21  Sven Neumann  <sven@convergence.de>
 
-	* src/prf/pfrtypes.h (PFR_KernPair): New structure.
+	* src/pfr/pfrtypes.h (PFR_KernPair): New structure.
 	(PFR_PhyFont): Use it.
 	(PFR_KernFlags): New enumeration.
 	* src/pfr/pfrload.c (pfr_extra_item_load_kerning_pairs): New
@@ -8245,7 +8244,7 @@
 	`fttype1.c' in src/base.
 
 	* src/pshinter/pshglob.c (psh_blues_scale_zones): Fixed a bug that
-	prevented family blue zones substitution from hapenning correctly.
+	prevented family blue zones substitution from happening correctly.
 
 	* include/freetype/ftbdf.h FT_Get_BDF_Charset_ID): Adding
 	documentation comment.
@@ -8622,7 +8621,7 @@
 
 2002-04-19  Werner Lemberg  <wl@gnu.org>
 
-	* src/pfr/pfrload.c (pfr_extra_items_farse): Fix debug message.
+	* src/pfr/pfrload.c (pfr_extra_items_parse): Fix debug message.
 	(pfr_phy_font_load): s/size/Size/ for local variable to avoid
 	compiler warning.
 	* src/pfr/pfrobjs.c (pfr_face_init): Fix debug message.
@@ -8636,7 +8635,7 @@
 	src/pfr/*: New files.
 
 	* include/freetype/config/ftmodule.h,
-	include/freetype/internal/fttrace.h, src/Jamefile: Updated.
+	include/freetype/internal/fttrace.h, src/Jamfile: Updated.
 
 	* src/type1/t1gload.h (T1_Load_Glyph), src/type1/t1gload.c
 	(T1_Load_Glyph): Fixed incorrect parameter sign-ness in callback
@@ -8676,7 +8675,7 @@
 
 2002-04-16  Francesco Zappa Nardelli  <Francesco.Zappa.Nardelli@ens.fr>
 
-	* src/pcf/pcfread (pcf_get_accell): Fix parsing of accelerator
+	* src/pcf/pcfread.c (pcf_get_accel): Fix parsing of accelerator
 	tables.
 
 2002-04-15  David Turner  <david@freetype.org>
@@ -8716,7 +8715,7 @@
 
 	src/cache/ftcimage.c, src/cache/ftcsbits.c,
 
-	src/cff/cffdriver.c, src/cff/cffload.c, src/cff/cffobjs.c,
+	src/cff/cffdrivr.c, src/cff/cffload.c, src/cff/cffobjs.c,
 
 	src/cid/cidload.c, src/cid/cidparse.c, src/cid/cidriver.c,
 
@@ -9063,12 +9062,12 @@
 	  FT_Glyph_Name_Requester => FT_Face_GetGlyphNameFunc
 	  FT_Name_Index_Requester => FT_Face_GetGlyphNameIndexFunc
 
-	* src/base/ftapi.c: New file.  It contains backwards compatibility
+	* src/base/ftapi.c: New file.  It contains backward compatibility
 	functions.
 
 	* include/freetype/internal/psaux.h, src/cid/cidload.c,
 	src/cidtoken.h, src/psaux/psobjs.c, src/psaux/psobjs.h,
-	src/psaux/t1decode.c, stc/type1/t1load.c, src/type1/t1tokens.h:
+	src/psaux/t1decode.c, src/type1/t1load.c, src/type1/t1tokens.h:
 	Updated common PostScript type definitions.
 	Renamed all enumeration values like to uppercase variants:
 
@@ -9076,7 +9075,7 @@
 	  t1_field_cid_info => T1_FIELD_LOCATION_CID_INFO
 	  etc.
 
-	* include/freetype/internal/psglobals.h: Removed.
+	* include/freetype/internal/psglobal.h: Removed.
 	* include/freetype/internal/pshints.h, src/pshinter/pshglob.h:
 	Updated.
 
@@ -9106,7 +9105,7 @@
 	FT_Realloc_Debug, FT_Free_Debug): Fix compiler warnings.
 	* src/base/ftcalc.c (FT_MulFix): Ditto.
 	* src/cff/cffdrivr.c (cff_get_name_index): Ditto.
-	* src/cff/cffobjs.c (CFF_Size_Get_Global_Funcs, CFF_Size_Init,
+	* src/cff/cffobjs.c (CFF_Size_Get_Globals_Funcs, CFF_Size_Init,
 	CFF_GlyphSlot_Init): Ditto.
 	* src/cid/cidobjs.c (CID_GlyphSlot_Init,
 	CID_Size_Get_Globals_Funcs): Ditto.
@@ -9247,7 +9246,7 @@
 	  {
 	  } PS_StructRec, *PS_Struct;
 
-	  typedef PS_StructRec  T1_Struct;  /* backwards-compatibility */
+	  typedef PS_StructRec  T1_Struct;  /* backward compatibility */
 
 	Hence, we increase the coherency of the source code by effectively
 	using the `Rec' prefix for structure types.
@@ -9384,7 +9383,7 @@
 	* src/pcf/pcfread.c (pcf_seek_to_table_type): Ditto.
 	* src/sfnt/sfdriver.c (get_sfnt_postscript_name): Ditto.
 	(pcf_get_bitmaps): The same for `sizebitmaps'.
-	* src/psaux/t1decode.c (T1_Decode_Parse_Charstrings): The same for
+	* src/psaux/t1decode.c (T1_Decoder_Parse_Charstrings): The same for
 	`orig_y'.
 	(t1operator_seac): Comment out more dead code.
 	* src/pshinter/pshalgo2.c (ps2_hints_apply): Add `DEBUG_HINTER'
@@ -9423,7 +9422,7 @@
 
 ----------------------------------------------------------------------------
 
-Copyright 2002-2015 by
+Copyright 2002-2018 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 08c5877..4517c32 100644
--- a/ChangeLog.22
+++ b/ChangeLog.22
@@ -189,7 +189,7 @@
 
 	* src/base/ftdbgmem.c (_ft_debug_file, _ft_debug_lineno)
 	[FT_DEBUG_MEMORY]: New global variables, replacing...
-	(FT_MemTable_Rec) [FT_DEBUG_MEMORY]: Remove `filename' and
+	(FT_MemTableRec) [FT_DEBUG_MEMORY]: Remove `filename' and
 	`line_no'.  Update all callers.
 	(ft_mem_debug_alloc) [FT_DEBUG_MEMORY]: Avoid possible integer
 	overflow.
@@ -260,7 +260,7 @@
 2006-04-26  Werner Lemberg  <wl@gnu.org>
 
 	* src/psaux/psobjs.c (shift_elements): Don't use FT_Long but
-	FT_PtrDiff for `delta'.  Reported by Céline PILLET
+	FT_PtrDist for `delta'.  Reported by Céline PILLET
 	<Celine.Pillet@Tagginfo.com>.
 
 2006-04-21  David Turner  <david@freetype.org>
@@ -352,7 +352,7 @@
 	* src/tools/docmaker/sources.py (re_bold, re_italic): Accept "'"
 	also.
 
-2006-03-23  David Turner <david@freetype.org>
+2006-03-23  David Turner  <david@freetype.org>
 
 	Add FT_Get_SubGlyph_Info API to retrieve subglyph data.  Note that
 	we do not expose the FT_SubGlyphRec structure.
@@ -360,7 +360,7 @@
 	* include/freetype/internal/ftgloadr.h (FT_SUBGLYPH_FLAGS_*): Moved
 	to...
 	* include/freetype/freetype.h (FT_SUBGLYPH_FLAGS_*): Here.
-	(FT_Get_SybGlyph_Info): New declaration.
+	(FT_Get_SubGlyph_Info): New declaration.
 
 	* src/base/ftobjs.c (FT_Get_SubGlyph_Info): New function.
 
@@ -387,10 +387,10 @@
 	(FTC_INode_Weight): Commented out.
 	* src/cache/ftcimage.h: Updated.
 
-	* src/cache/ftmanag.c (FTC_Manager_Compress,
+	* src/cache/ftcmanag.c (FTC_Manager_Compress,
 	FTC_Manager_RegisterCache, FTC_Manager_FlushN):
 	s/FT_EXPORT/FT_LOCAL/.
-	* src/cache/ftmanag.h: Updated.
+	* src/cache/ftcmanag.h: Updated.
 
 	* src/cache/ftcsbits.c (FTC_SNode_Free, FTC_SNode_New,
 	FTC_SNode_Compare): s/FT_EXPORT/FT_LOCAL/.
@@ -494,7 +494,7 @@
 	FTC_MruList_Init, FTC_MruList_Reset, FTC_MruList_Done,
 	FTC_MruList_New, FTC_MruList_Remove, FTC_MruList_RemoveSelection):
 	Declare as FT_LOCAL_DEF.
-	(FTC_MruListFind, FTC_MruList_Lookup) [!FTC_INLINE]: Compile
+	(FTC_MruList_Find, FTC_MruList_Lookup) [!FTC_INLINE]: Compile
 	conditionally.
 	Declare as FT_LOCAL_DEF.
 
@@ -605,14 +605,14 @@
 
 	* docs/release: Minor additions and clarifications.
 
-	* docs/CHANGES: Updated to reflect many fixes for backwards
+	* docs/CHANGES: Updated to reflect many fixes for backward
 	compatibility.  Still incomplete.
 
 2006-02-26  David Turner  <david@freetype.org>
 
 	* src/base/ftobjs.c (ft_recompute_scaled_metrics): Re-enable
 	conservative rounding of metrics to avoid breaking clients like
-	Pango (see http://bugzilla.gnome.org/show_bug.cgi?id=327852).
+	Pango (see https://bugzilla.gnome.org/show_bug.cgi?id=327852).
 
 2006-02-25  Werner Lemberg  <wl@gnu.org>
 
@@ -814,7 +814,7 @@
 	* include/freetype/ftcache.h (FTC_IMAGE_TYPE_COMPARE,
 	FTC_IMAGE_TYPE_HASH), src/cache/ftcbasic.c (FTC_OldFontRec,
 	FTC_OldImageDescRec, FTC_ImageCache_Lookup, FTC_Image_Cache_New,
-	FTC_OldImage_Desc, FTC_OLD_IMAGE_FORMAT, ftc_old_image_xxx,
+	FTC_OldImageDesc, FTC_OLD_IMAGE_FORMAT, ftc_old_image_xxx,
 	ftc_image_type_from_old_desc, FTC_Image_Cache_Lookup,
 	FTC_SBitCache_Lookup, FTC_SBit_Cache_New, FTC_SBit_Cache_Lookup)
 	[FT_CONFIG_OPTION_OLD_INTERNALS]: Try to revive old functions of the
@@ -934,7 +934,7 @@
 	* include/freetype/freetype.h (FT_GlyphSlotRec): Improve
 	documentation of `outline' field.
 
-	* src/sfnt/sfobjc.s: Inckude FT_INTERNAL_DEBUG_H.
+	* src/sfnt/sfobjs.c: Include FT_INTERNAL_DEBUG_H.
 	* src/sfnt/sfdriver.c: Include ttmtx.h.
 
 	* src/autofit/afcjk.c: Include aftypes.h and aflatin.h.
@@ -1630,8 +1630,8 @@
 
 	* include/freetype/internal/t1types.h (T1_FaceRec): Updated.
 
-	* src/psaux/t1cmap.h (T1_CmapStdRec): Updated.
-	(T1_CmapUnicode, T1_CmapUnicodeRec): Removed.
+	* src/psaux/t1cmap.h (T1_CMapStdRec): Updated.
+	(T1_CMapUnicode, T1_CMapUnicodeRec): Removed.
 
 	* src/psaux/t1cmap.c (t1_get_glyph_name): New callback function.
 	(t1_cmap_unicode_init, t1_cmap_unicode_done,
@@ -1781,7 +1781,7 @@
 	Note that this doesn't force auto-hinting for all fonts, however.
 
 	* src/autofit/afhints.c (af_glyph_hints_reload): Don't set
-	scaler_fiags here but...
+	scaler_flags here but...
 	(af_glyph_hints_rescale): Here.
 
 	* src/autofit/aflatin.c (af_latin_hints_init): Disable horizontal
@@ -1813,7 +1813,7 @@
 	[TT_CONFIG_OPTION_BDF]: New structure.
 	(TT_FaceRec) [TT_CONFIG_OPTION_BDF]: New member `bdf'.
 
-	* include/freetype/ttags.h (TTAG_BDF): New macro.
+	* include/freetype/tttags.h (TTAG_BDF): New macro.
 
 	* src/sfnt/Jamfile (_sources): Add ttbdf.
 
@@ -1835,7 +1835,7 @@
 
 2005-12-07  Werner Lemberg  <wl@gnu.org>
 
-	* src/sfnt/sfobjc.c (sfnt_init_face): Move tag check to...
+	* src/sfnt/sfobjs.c (sfnt_init_face): Move tag check to...
 	* src/sfnt/ttload.c (sfnt_init): Here, before handling TTCs.
 
 2005-12-06  Chia-I Wu  <b90201047@ntu.edu.tw>
@@ -1962,7 +1962,7 @@
 
 	* docs/CHANGES: Mention scaling bug.
 
-2005-11-18  susuzki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
+2005-11-18  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 
 	* include/freetype/ftgxval.h, src/base/ftgxval.c
 	(FT_TrueTypeGX_Free, FT_ClassicKern_Free): New functions to free
@@ -2311,16 +2311,16 @@
 	CJK font).  A SING Glyphlet Font is an OpenType font that contains
 	the outline(s), either in a `glyf' or `CFF' table, for a glyph;
 	`cmap', `BASE', and `GSUB' tables are present with the same format
-	and functionaliy as a regular OpenType font; there are no `name',
+	and functionality as a regular OpenType font; there are no `name',
 	`head', `OS/2', and `post' tables; there are two new tables, `SING'
 	which contains details about the glyphlet, and `META' which contains
 	metadata.
 
 	Further information on the SING Glyphlet format can be found at:
 
-	  http://www.adobe.com/products/indesign/sing_gaiji.html
+	  https://www.adobe.com/content/dam/acom/en/devnet/font/pdfs/5148.SING_Tutorial.pdf
 
-	* include/freetype/ttags.h (TTAG_SING, TTAG_META): New macros for
+	* include/freetype/tttags.h (TTAG_SING, TTAG_META): New macros for
 	the OpenType tables `SING' and `META'.  These two tables are used in
 	SING Glyphlet Format fonts.
 
@@ -2371,7 +2371,7 @@
 	(gxv_kern_subtable_fmt1_valueTable_load,
 	gxv_kern_subtable_fmt1_subtable_setup,
 	gxv_kern_subtable_fmt1_entry_validate): Fix C++ compiler errors.
-	(gxv_kern_coverage_validate): Use KERN_DIALECT_UNKWOWN.
+	(gxv_kern_coverage_validate): Use KERN_DIALECT_UNKNOWN.
 	Improve trace message.
 	(gxv_kern_validate_generic): Fix C++ compiler error.
 	Improve trace message.
@@ -2458,8 +2458,8 @@
 
 	* src/gxvalid/gxvbsln.c (GXV_BSLN_VALUE_EMPTY): Add `U'.
 
-	* src/gxvalid/gxmort1.c (GXV_MORT_SUBTABLE_TYPE1_HEADER_SIZE),
-	src/gxvalid/gxmort2.c (GXV_MORT_SUBTABLE_TYPE2_HEADER_SIZE): Fix
+	* src/gxvalid/gxvmort1.c (GXV_MORT_SUBTABLE_TYPE1_HEADER_SIZE),
+	src/gxvalid/gxvmort2.c (GXV_MORT_SUBTABLE_TYPE2_HEADER_SIZE): Fix
 	typo.
 
 	* src/gxvalid/gxvmorx0.c, src/gxvalid/gxvmorx1.c,
@@ -2787,7 +2787,7 @@
 2005-06-15  Kirill Smelkov  <kirr@mns.spb.ru>
 
 	The next release will be 2.2.0, so don't worry about source code
-	backwards compatibility.
+	backward compatibility.
 
 	* include/freetype/ftimage.h (FT_Outline_MoveToFunc,
 	FT_Outline_LineToFunc, FT_Outline_ConicToFunc,
@@ -2821,7 +2821,7 @@
 
 ----------------------------------------------------------------------------
 
-Copyright 2005-2015 by
+Copyright 2005-2018 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 93fd33c..85253f1 100644
--- a/ChangeLog.23
+++ b/ChangeLog.23
@@ -43,7 +43,7 @@
 	* src/base/ftoutln.c (FT_Outline_New_Internal): The length of
 	FT_Outline->points[] should be numPoints, not 2 * numPoints.
 	Found by Paul Messmer, see
-	http://lists.gnu.org/archive/html/freetype-devel/2010-02/msg00003.html
+	https://lists.gnu.org/archive/html/freetype-devel/2010-02/msg00003.html
 
 2010-02-10  Ken Sharp  <ken.sharp@artifex.com>
 
@@ -108,7 +108,7 @@
 	Preferred family names should be used for legacy systems that
 	can hold only a few faces (<= 4) for a family name. Suggested by
 	Andreas Heinrich.
-	http://lists.gnu.org/archive/html/freetype/2010-01/msg00001.html
+	https://lists.gnu.org/archive/html/freetype/2010-01/msg00001.html
 
 	* include/freetype/ftsnames.h (FT_PARAM_TAG_IGNORE_PREFERRED_FAMILY,
 	FT_PARAM_TAG_IGNORE_PREFERRED_SUBFAMILY): Define.
@@ -139,7 +139,7 @@
 	Fix compilation warning.
 
 	* src/base/ftbase.h: s/LOCAL_DEF/LOCAL/.
-	* src/base/ftobjc.s: Include ftbase.h conditionally.
+	* src/base/ftobjs.c: Include ftbase.h conditionally.
 
 2010-01-11  Kwang Yul Seo  <skyul@company100.net>
 
@@ -197,7 +197,7 @@
 	Fix Savannah bug #28395.
 
 	* src/truetype/ttdriver.c (Load_Glyph), src/type1/t1gload.c
-	(T1_Loada_Glyph): Don't check `num_glyphs' if incremental interface
+	(T1_Load_Glyph): Don't check `num_glyphs' if incremental interface
 	is used.
 
 2010-01-05  Ken Sharp  <ken.sharp@artifex.com>
@@ -607,7 +607,7 @@
 	(ft_black_render): Initialize `worker->gray_lines' (problem found by
 	valgrind).
 
-	(FT_RASTER_OPTION_ANTI_ALIASING, DEBUG_RASTER): Dont' #undef, just
+	(FT_RASTER_OPTION_ANTI_ALIASING, DEBUG_RASTER): Don't #undef, just
 	comment out.
 
 2009-09-12  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
@@ -631,7 +631,7 @@
 	The issue of incompatible cast between unsigned long and void*
 	on LLP64 platform is reported by NightStrike from MinGW-Win64
 	project.  See
-	http://lists.gnu.org/archive/html/freetype/2009-09/msg00000.html
+	https://lists.gnu.org/archive/html/freetype/2009-09/msg00000.html
 
 	* src/bdf/bdf.h: The type of hashnode->data is changed from
 	void* to size_t.
@@ -655,9 +655,9 @@
 	[Win64] Improve the computation of random seed from stack address.
 
 	On LLP64 platform, the conversion from pointer to FT_Fixed need
-	to drop higher 32-bit.  Explict casts are required. Reported by
+	to drop higher 32-bit.  Explicit casts are required. Reported by
 	NightStrike from MinGW-w64 project.  See
-	http://lists.gnu.org/archive/html/freetype/2009-09/msg00000.html
+	https://lists.gnu.org/archive/html/freetype/2009-09/msg00000.html
 
 	* src/cff/cffgload.c: Convert the pointers to FT_Fixed explicitly.
 
@@ -671,7 +671,7 @@
 	* src/raster/rules.mk: Don't handle ftmisc.h.  It is needed for
 	stand-alone mode only.
 
-	* src/raster/ftmisc.h (FT_MemoryRec , FT_Alloc_Func, FT_Free_Func,
+	* src/raster/ftmisc.h (FT_MemoryRec, FT_Alloc_Func, FT_Free_Func,
 	FT_Realloc_Func): Copy declarations from ftsystem.h.
 
 2009-09-02  Bram Tassyns  <bramt@enfocus.be>
@@ -864,7 +864,7 @@
 		LP64 systems: Higher bits are not used.
 		16-bit systems: Drop can occur.
 	See
-	http://lists.gnu.org/archive/html/freetype-devel/2008-12/msg00065.html
+	https://lists.gnu.org/archive/html/freetype-devel/2008-12/msg00065.html
 	These functions will be refined to take FT_ULong flags in
 	next bump with incompatible API change.
 
@@ -891,7 +891,7 @@
 	pcf: Fix a comparison between FT_Long and FT_ULong.
 
 	* src/pcf/pcfread.c (pcf_get_bitmaps): Return an error
-	if PCF_Face->nemetrics is negative.
+	if PCF_Face->nmetrics is negative.
 
 2009-07-31  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 
@@ -929,7 +929,7 @@
 	type1: Fix a data type mismatching with its source.
 
 	* include/freetype/internal/t1types.h: The type of
-	T1_Face->buildchar is matched with T1_Decorder->top.
+	T1_Face->buildchar is matched with T1_Decoder->top.
 
 2009-07-31  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 
@@ -944,7 +944,7 @@
 
 	pfr: Fix a data type mismatching with its source.
 
-	* src/pfr/pfrtypes.h: The type of PFR_PhysFont->chars_offset
+	* src/pfr/pfrtypes.h: The type of PFR_PhyFont->chars_offset
 	is extended from FT_UInt32 to FT_Offset, because it is
 	calculated with the pointer difference in pfr_phy_font_load().
 
@@ -975,8 +975,8 @@
 	psaux: Fix a data type mismatching with its source.
 
 	* include/freetype/internal/psaux.h: The type of
-	T1_DecorderRec.buildchar is matched with
-	T1_DecorderRec.top.
+	T1_DecoderRec.buildchar is matched with
+	T1_DecoderRec.top.
 
 2009-07-31  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 
@@ -1150,7 +1150,7 @@
 
 2009-07-31  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 
-	cache: Insert explict casts for LP64 systems.
+	cache: Insert explicit casts for LP64 systems.
 
 	* src/cache/ftcbasic.c (FTC_ImageCache_Lookup,
 	FTC_SBitCache_Lookup): The type of FTC_ImageType->width
@@ -1409,7 +1409,7 @@
 
 	base: Prevent some overflows on LP64 systems.
 
-	* src/base/ftadvance.c (FT_Get_Advances): Cast the
+	* src/base/ftadvanc.c (FT_Get_Advances): Cast the
 	unsigned long constant FT_LOAD_ADVANCE_ONLY to FT_UInt32
 	for LP64 platforms.
 
@@ -1499,7 +1499,7 @@
 
 	bdf: Fix some data types mismatching with their sources.
 
-	* src/bdf/bdrdrivr.c (bdf_cmap_char_index): The type
+	* src/bdf/bdfdrivr.c (bdf_cmap_char_index): The type
 	of `code' is matched with BDF_encoding_el->enc.
 	(bdf_cmap_char_next): The type of `charcode' is
 	matched with BDF_encoding_el->enc.  When *acharcode
@@ -1545,7 +1545,7 @@
 	* src/cache/ftcbasic.c (FTC_ImageCache_Lookup): Exclude
 	the legacy behaviour from 16-bit platform, because the
 	current hack cannot detect the caller uses this function
-	via legacy convension.
+	via legacy convention.
 	(FTC_SBitCache_Lookup): Ditto.
 
 2009-07-31  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
@@ -1585,7 +1585,7 @@
 
 2009-07-31  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 
-	fttypes.h: Cast FT_MAKE_TAG output to FT_Tag exlicitly.
+	fttypes.h: Cast FT_MAKE_TAG output to FT_Tag explicitly.
 
 	* include/freetype/fttypes.h (FT_MAKE_TAG):
 	Cast the result to FT_Tag.
@@ -1687,7 +1687,7 @@
 	sfnt: Count the size of the memory object by ptrdiff_t.
 
 	* src/sfnt/ttbdf.c (tt_face_find_bdf_prop): The type of
-	`peroperty_len' is changed from FT_UInt to FT_Offset,
+	`property_len' is changed from FT_UInt to FT_Offset,
 	to match with size_t, which is appropriate type for the
 	object in the memory buffer.
 
@@ -1765,7 +1765,7 @@
 	ftgzip.c by FT2 are enabled by default.  To use
 	zlib zcalloc() & zfree(), define USE_ZLIB_ZCALLOC.
 	See discussion:
-	http://lists.gnu.org/archive/html/freetype-devel/2009-02/msg00000.html
+	https://lists.gnu.org/archive/html/freetype-devel/2009-02/msg00000.html
 
 2009-07-31  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 
@@ -1904,7 +1904,7 @@
 2009-07-15  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 
 	Borland C++ compiler patch proposed by Mirco Babin.
-	http://lists.gnu.org/archive/html/freetype/2009-07/msg00016.html.
+	https://lists.gnu.org/archive/html/freetype/2009-07/msg00016.html.
 
 	* builds/exports.mk: Delete unused flags, CCexe_{CFLAGS,LDFLAGS}.
 	Fix APINAMES_C and APINAMES_EXE pathnames to reflect the platform
@@ -1929,7 +1929,7 @@
 	* src/tools/chktrcmp.py: A script to check trace_XXXX macros
 	that are used in C source but undefined in fttrace.h, or
 	defined in fttrace.h but unused in C sources.  See
-	http://lists.gnu.org/archive/html/freetype-devel/2009-07/msg00013.html.
+	https://lists.gnu.org/archive/html/freetype-devel/2009-07/msg00013.html.
 	* docs/DEBUG: Mention on chktrcmp.py.
 	* docs/release: Ditto.
 
@@ -1961,7 +1961,7 @@
 
 	* include/freetype/internal/fttrace.h: Add FT_TRACE_DEF( t1afm )
 	and FT_TRACE_DEF( ttbdf ).  See
-	http://lists.gnu.org/archive/html/freetype-devel/2009-07/msg00013.html
+	https://lists.gnu.org/archive/html/freetype-devel/2009-07/msg00013.html
 
 2009-07-09  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 
@@ -1975,8 +1975,8 @@
 
 	Prevent the overflows by a glyph with too many points or contours.
 	The bug is reported by Boris Letocha <b.letocha@gmc.net>.  See
-	http://lists.gnu.org/archive/html/freetype-devel/2009-06/msg00031.html
-	http://lists.gnu.org/archive/html/freetype-devel/2009-07/msg00002.html	
+	https://lists.gnu.org/archive/html/freetype-devel/2009-06/msg00031.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
@@ -2001,7 +2001,7 @@
 2009-06-28  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 
 	ftpatent: Fix a bug by wrong usage of service->table_info().
-	http://lists.gnu.org/archive/html/freetype-devel/2008-12/msg00039.html
+	https://lists.gnu.org/archive/html/freetype-devel/2008-12/msg00039.html
 
 	* include/freetype/internal/services/svsfnt.h: Extend
 	FT_SFNT_TableInfoFunc() to take new argument to obtain the offset
@@ -2069,7 +2069,7 @@
 
 	* builds/unix/configure.raw: Fix a bug in sed script to extract
 	native suffix for binary executables, patch by Peter Breitenlohner.
-	http://lists.gnu.org/archive/html/freetype-devel/2009-04/msg00036.html
+	https://lists.gnu.org/archive/html/freetype-devel/2009-04/msg00036.html
 
 2009-06-26  Werner Lemberg  <wl@gnu.org>
 
@@ -2122,10 +2122,10 @@
 	Use 16.16 format everywhere (except for large integers followed by a
 	`div').
 	[CAN_HANDLE_NON_INTEGRAL_T1_OPERANDS]: Remove #ifdef and activate
-	code uncoditionally.
+	code unconditionally.
 	Add support for random numbers and update remaining code
 	accordingly; this should work now.
-	(t1_operator_seac): Updated.
+	(t1operator_seac): Updated.
 	* src/psaux/pshrec.c: Include FT_INTERNAL_CALC_H.
 	(ps_hints_t1stem3, t1_hints_stem): Updated.
 
@@ -2479,7 +2479,7 @@
 	af_latin_script_class struct will have function to init it instead of
 	being allocated in the global scope.
 	Change af_latin_blue_chars to be PIC-compatible by being a two
-	dimentional array rather than array of pointers.
+	dimensional array rather than array of pointers.
 
 
 	* src/autofit/aflatin2.h declare af_latin2_script_class
@@ -2489,11 +2489,11 @@
 	af_latin2_script_class struct will have function to init it instead of
 	being allocated in the global scope.
 	Change af_latin2_blue_chars to be PIC-compatible by being a two
-	dimentional array rather than array of pointers.
+	dimensional array rather than array of pointers.
 
 	* src/autofit/afglobal.c when FT_CONFIG_OPTION_PIC is defined
 	af_script_classes array initialization was moved to afpic.c and
-	is later refered using macros defeined in afpic.h.
+	is later referred using macros defined in afpic.h.
 
 	New Files:
 	* src/autofit/afpic.h declare struct to hold PIC globals for autofit
@@ -2573,7 +2573,7 @@
 	Macros will be used from rastpic.h in order to access
 	ft_standard_raster from the pic_container (allocated in ftraster.c).
 	In ft_raster1_render when PIC is enabled, the last letter of
-	module_name is used to verfy the renderer class rather than the
+	module_name is used to verify the renderer class rather than the
 	class pointer.
 
 	* src/raster/ftraster.c when FT_CONFIG_OPTION_PIC is defined
@@ -2594,14 +2594,14 @@
 	Position Independent Code (PIC) support in smooth renderer.
 
 	* src/smooth/ftsmooth.h declare ft_smooth_renderer_class,
-	ft_smooth_lcd_renderer_class and ft_smooth_lcd_v_renderer_class
+	ft_smooth_lcd_renderer_class and ft_smooth_lcdv_renderer_class
 	using macros from ftrender.h,
 	when FT_CONFIG_OPTION_PIC is defined create and destroy
 	functions will be declared.
 	* src/smooth/ftsmooth.c when FT_CONFIG_OPTION_PIC is defined
 	the following structs:
 	ft_smooth_renderer_class, ft_smooth_lcd_renderer_class
-	and ft_smooth_lcd_v_renderer_class
+	and ft_smooth_lcdv_renderer_class
 	will have functions to init or create and destroy them
 	instead of being allocated in the global scope.
 	And macros will be used from ftspic.h in order to access
@@ -2755,7 +2755,7 @@
 	And macros will be used from ttpic.h in order to access them
 	from the pic_container.
 	* src/truetype/ttobjs.c change trick_names array to be
-	PIC-compatible by being a two dimentional array rather than array
+	PIC-compatible by being a two dimensional array rather than array
 	of pointers.
 
 	New Files:
@@ -2784,14 +2784,14 @@
 	Add macros to declare, allocate and initialize drivers
 	(FT_Driver_ClassRec).
 	* include/freetype/internal/ftpic.h new file to declare the
-	FT_PIC_Container struct and the functions to allocate and detroy it.
+	FT_PIC_Container struct and the functions to allocate and destroy it.
 	* include/freetype/internal/ftserv.h add macros to allocate and
-	destory arrays of FT_ServiceDescRec.
+	destroy arrays of FT_ServiceDescRec.
 	* include/freetype/internal/internal.h define macro to include
 	ftpic.h.
 
 	New Files:
-	* src/base/ftpic.c implement functions to allocate and destory the
+	* src/base/ftpic.c implement functions to allocate and destroy the
 	global pic_container.
 	* src/base/basepic.h declare struct to hold PIC globals for base and
 	macros to access them.
@@ -2814,8 +2814,8 @@
 	* src/base/ftglyph.c when FT_CONFIG_OPTION_PIC is defined
 	ft_bitmap_glyph_class and ft_outline_glyph_class will be allocated
 	in the pic_container instead of the global scope and use macros from
- 	basepic.h to access them.
-	* src/base/ftbbox.c allocate bbox_interface stract on the stack
+	basepic.h to access them.
+	* src/base/ftbbox.c allocate bbox_interface struct on the stack
 	instead of the global scope when FT_CONFIG_OPTION_PIC is defined.
 	* src/base/ftstroke.c access ft_outline_glyph_class allocated in
 	ftglyph.c via macros from basepic.h
@@ -3469,8 +3469,8 @@
 	faces includes broken face which FT_Done_Face() cannot free,
 	FT_Done_Library() retries FT_Done_Face() and it can fall into
 	an endless loop. See the discussion:
-	http://lists.gnu.org/archive/html/freetype-devel/2008-09/msg00047.html
-	http://lists.gnu.org/archive/html/freetype-devel/2008-10/msg00000.html
+	https://lists.gnu.org/archive/html/freetype-devel/2008-09/msg00047.html
+	https://lists.gnu.org/archive/html/freetype-devel/2008-10/msg00000.html
 
 2009-01-07  Werner Lemberg  <wl@gnu.org>
 
@@ -3492,7 +3492,7 @@
 	* builds/unix/configure.raw: Don't call AC_CANONICAL_BUILD and
 	AC_CANONICAL_TARGET and use $host_os only.  A nice explanation for
 	this change can be found at
-	http://blog.flameeyes.eu/s/canonical-target.
+	https://blog.flameeyes.eu/s/canonical-target.
 
 	From Savannah patch #6712.
 
@@ -3519,7 +3519,7 @@
 2008-12-21  Werner Lemberg  <wl@gnu.org>
 
 	* src/pfr/pfrdrivr.c, src/winfonts/winfnt.c, src/cache/ftcmanag.c,
-	src/smooth/ftgrays.c, src/base/ftobjc.s, src/sfobjs.c:
+	src/smooth/ftgrays.c, src/base/ftobjs.c, src/sfobjs.c:
 	s/_Err_Bad_Argument/_Err_Invalid_Argument/.  The former is for
 	errors in the bytecode interpreter only.
 
@@ -3576,7 +3576,7 @@
 
 	* docs/CHANGES: Updated.
 
-2008-12-18  Bevan, David  <dbevan@emtex.com>
+2008-12-18  David Bevan  <dbevan@emtex.com>
 
 	Provide API for accessing embedding and subsetting restriction
 	information.
@@ -3656,12 +3656,12 @@
 	* src/sfnt/sfobjs.c (sfnt_load_face): A font with neither outlines
 	nor bitmaps is scalable.
 
-2008-12-05  Werner Lemberg  <wl@nu.org>
+2008-12-05  Werner Lemberg  <wl@gnu.org>
 
 	* src/autofit/aflatin.c (af_latin_uniranges): Add more ranges.  This
 	fixes Savannah bug #21190 which also provides a basic patch.
 
-2008-12-05  Werner Lemberg  <wl@nu.org>
+2008-12-05  Werner Lemberg  <wl@gnu.org>
 
 	* include/freetype/freetype.h (FT_LOAD_ADVANCE_ONLY): Use value
 	0x100 instead of 0x10000; the latter value is already occupied by
@@ -4098,7 +4098,7 @@
 2008-09-18  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 
 	* src/cff/cffobjs.c (cff_face_init): Use TTAG_OTTO defined
-	in ttags.h instead of numerical value 0x4F54544FL.
+	in tttags.h instead of numerical value 0x4F54544FL.
 
 2008-09-16  Werner Lemberg  <wl@gnu.org>
 
@@ -4156,11 +4156,11 @@
 2008-09-05  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 
 	* builds/unix/configure.raw: Clear FT2_EXTRA_LIBS when Carbon or
-	ApplicationService framework is missing.  Although this value is not
+	ApplicationServices framework is missing.  Although this value is not
 	used in building of FreeType2, it is written in `freetype2.pc' and
 	`freetype-config'.
 
-2008-09-01  david turner  <david@freetype.org>
+2008-09-01  David Turner  <david@freetype.org>
 
 	* src/cache/ftccmap.c (FTC_CMapCache_Lookup): Accept a negative cmap
 	index to mean `use default cached FT_Face's charmap'.  This fixes
@@ -4248,7 +4248,7 @@
 2008-08-29  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 
 	* src/sfnt/sfobjs.c (sfnt_open_font): Use TTAG_OTTO defined in
-	ttags.h instead of FT_MAKE_TAG( 'O', 'T', 'T', 'O' ).
+	tttags.h instead of FT_MAKE_TAG( 'O', 'T', 'T', 'O' ).
 
 2008-08-28  Werner Lemberg  <wl@gnu.org>
 
@@ -4258,7 +4258,7 @@
 
 2008-08-23  Werner Lemberg  <wl@gnu.org>
 
-	* src/type/t1afm.c (compare_kern_pairs), src/pxaux/afmparse.c
+	* src/type/t1afm.c (compare_kern_pairs), src/psaux/afmparse.c
 	(afm_compare_kern_pairs): Fix comparison.  This fixes Savannah bug
 	#24119.
 
@@ -4387,7 +4387,7 @@
 
 	* src/cff/cffload.c (cff_font_load): Pass `pure_cff'.
 	Invert sids table only if `pure_cff' is set.
-	* src/cff/cffload.h: Udpated.
+	* src/cff/cffload.h: Updated.
 
 	* src/cff/cffobjs.c (cff_face_init): Updated.
 	Set FT_FACE_FLAG_CID_KEYED only if pure_cff is set.
@@ -4516,7 +4516,7 @@
 	recommends to add the option only to CFLAGS, LDFLAGS should include
 	it because libfreetype.la is built with -no-undefined.  This fixes a
 	bug reported by Ryan Schmidt in MacPorts,
-	http://trac.macports.org/ticket/15331.
+	https://trac.macports.org/ticket/15331.
 
 2008-06-21  Werner Lemberg  <wl@gnu.org>
 
@@ -4861,7 +4861,7 @@
 2008-04-14  Werner Lemberg  <wl@gnu.org>
 
 	* src/pcf/pcfdrivr.c (PCF_Face_Init): Protect call to
-	`FT_Stream_OpenLZW' with `FT_CONFIG_OPTION_USE_LZ'.  From Savannah
+	`FT_Stream_OpenLZW' with `FT_CONFIG_OPTION_USE_LZW'.  From Savannah
 	bug #22909.
 
 2008-04-13  Werner Lemberg  <wl@gnu.org>
@@ -4931,7 +4931,7 @@
 	tt_cmap14_find_variant): Return correct value.
 	(tt_cmap14_variant_chars): Fix check for `di'.
 
-2008-02-29  Wermer Lemberg  <wl@gnu.org>
+2008-02-29  Werner Lemberg  <wl@gnu.org>
 
 	* docs/CHANGES: Updated.
 
@@ -5243,7 +5243,7 @@
 	functions related to cmap type 14 support to the
 	`FT_Object_ActionName' scheme:
 
-	  FT_Get_Char_Variant_index     -> FT_Face_GetCharVariantIndex
+	  FT_Get_Char_Variant_Index     -> FT_Face_GetCharVariantIndex
 	  FT_Get_Char_Variant_IsDefault -> FT_Face_GetCharVariantIsDefault
 	  FT_Get_Variant_Selectors      -> FT_Face_GetVariantSelectors
 	  FT_Get_Variants_Of_Char       -> FT_Face_GetVariantsOfChar
@@ -5329,7 +5329,7 @@
 
 2007-08-18  Werner Lemberg  <wl@gnu.org>
 
-	* src/otvalid/otvcmmn.c (otv_x_y_ux_sy): Skip context glyphs.  Found
+	* src/otvalid/otvcommn.c (otv_x_y_ux_sy): Skip context glyphs.  Found
 	by Imran Yousaf.  Fixes Savannah bug #20773.
 
 	(otv_Lookup_validate): Correct handling of LookupType.  Found by
@@ -5383,7 +5383,7 @@
 	* include/freetype/ftotval.h (FT_VALIDATE_MATH): New macro.
 	(FT_VALIDATE_OT): Updated.
 
-	* src/otvalid/otmath.c: New file.
+	* src/otvalid/otvmath.c: New file.
 
 	* src/otvalid/otvalid.c: Include otvmath.c.
 	* src/otvalid/otvmod.c (otv_validate): Handle `MATH' table.
@@ -5428,7 +5428,7 @@
 	* include/freetype/config/ftheader.h (FT_CID_H): New macro.
 	* include/freetype/ftcid.h: New file.
 
-	* include/freetype/internal/ftserv.h (FT_SERVIVE_CID_H): New macro.
+	* include/freetype/internal/ftserv.h (FT_SERVICE_CID_H): New macro.
 	* include/freetype/internal/services/svcid.h: New file.
 
 	* src/base/ftcid.c: New file.
@@ -5530,7 +5530,7 @@
 	* src/truetype/ttinterp.c (Ins_IUP): Add missing variable
 	initialization.
 
-	* src/autofit/aflatin.c (af_latin_metric_init_blues): Get rid of an
+	* src/autofit/aflatin.c (af_latin_metrics_init_blues): Get rid of an
 	infinite loop in the case of degenerate fonts.
 
 2007-06-26  Rahul Bhalerao  <b.rahul.pm@gmail.com>
@@ -5938,7 +5938,7 @@
 
 	Savannah patch #5929.
 
-	* include/freetype/tttables.h, src/base/ftobjcs.c
+	* include/freetype/tttables.h, src/base/ftobjs.c
 	(FT_Get_CMap_Format): New function.
 
 	* include/freetype/internal/services/svttcmap.c (TT_CMapInfo): Add
@@ -5965,7 +5965,7 @@
 	* include/freetype/config/ftstdlib.h,
 	include/freetype/internal/ftobjs.h: As suggested by Graham Asher,
 	ensure that ft_isalnum, ft_isdigit, etc., use hard-coded values
-	instead on relying on the locale-dependent functions provided by
+	instead of relying on the locale-dependent functions provided by
 	<ctypes.h>.
 
 2007-05-15  Graham Asher  <graham.asher@btinternet.com>
@@ -6005,7 +6005,7 @@
 
 2007-05-11  David Turner  <david@freetype.org>
 
-	* src/cache/ftbasic.c, include/freetype/ftcache.h
+	* src/cache/ftcbasic.c, include/freetype/ftcache.h
 	(FTC_ImageCache_LookupScaler, FTC_SBit_Cache_LookupScaler): Two new
 	functions that allow us to look up glyphs using an FTC_Scaler object
 	to specify the size, making it possible to use fractional pixel
@@ -6097,8 +6097,8 @@
 
 2007-04-06  David Turner  <david@freetype.org>
 
-	* src/base/ftbimap.c (ft_bitmap_assure_buffer): Fix buffer-overwrite bug
-	(Savannah bug #19536).
+	* src/base/ftbitmap.c (ft_bitmap_assure_buffer): Fix buffer-overwrite
+	bug (Savannah bug #19536).
 
 2007-04-04  Werner Lemberg  <wl@gnu.org>
 
@@ -6187,13 +6187,13 @@
 	* builds/unix/ftsystem.c (FT_Stream_Open): Temporary fix to prevent
 	32bit unsigned long overflow by 64bit filesize on LP64 platform, as
 	proposed by Sean McBride:
-	http://lists.gnu.org/archive/html/freetype-devel/2007-03/msg00032.html
+	https://lists.gnu.org/archive/html/freetype-devel/2007-03/msg00032.html
 
 2007-03-22  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 
 	* builds/unix/ftconfig.in: Suppress SGI compiler's warning against
 	setjmp, proposed by Sean McBride:
-	http://lists.gnu.org/archive/html/freetype-devel/2007-03/msg00032.html
+	https://lists.gnu.org/archive/html/freetype-devel/2007-03/msg00032.html
 
 2007-03-19  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 
@@ -6201,14 +6201,14 @@
 	conftest.c, to avoid unexpected shell evaluation.  Possibly it is a
 	bug or undocumented behaviour of autoconf.
 
-2007-03-18  David Turner   <david@freetype.org>
+2007-03-18  David Turner  <david@freetype.org>
 
 	* src/truetype/ttinterp.c (Ins_MDRP): Another bytecode regression
 	fix; testing still needed.
 
 	* src/truetype/ttinterp.c (Ins_MD): Another bytecode regression fix.
 
-2007-03-17  David Turner   <david@freetype.org>
+2007-03-17  David Turner  <david@freetype.org>
 
 	* src/truetype/ttinterp.c (Ins_IP): Fix wrong handling of the
 	(undocumented) twilight zone special case.
@@ -6256,7 +6256,7 @@
 	case FT_Init_FreeType fails for some reason.  Problem reported by
 	Maximilian Schwerin <maximilian.schwerin@buelowssiege.de>.
 
-	* src/truetype/ttobs.c (tt_size_init_bytecode): Clear the `x_ppem'
+	* src/truetype/ttobjs.c (tt_size_init_bytecode): Clear the `x_ppem'
 	and `y_ppem' fields of the `TT_Size.metrics' structure, not those of
 	`TT_Size.root.metrics'.  Problem reported by Daniel Glöckner
 	<daniel-gl@gmx.net>.
@@ -6335,7 +6335,7 @@
 	* src/base/ftutil.c (ft_mem_dup, ft_mem_strdup, ft_mem_strcpyn): New
 	functions.
 
-	* src/bfd/bfddrivr.c (bdf_interpret_style, BDF_Face_Init),
+	* src/bdf/bdfdrivr.c (bdf_interpret_style, BDF_Face_Init),
 	src/bdf/bdflib.c (_bdf_add_property), src/pcf/pcfread.c
 	(pcf_get_properties, pcf_interpret_style, pcf_load_font),
 	src/cff/cffdrivr.c (cff_get_glyph_name), src/cff/cffload.c
@@ -6546,7 +6546,7 @@
 2007-01-16  David Turner  <david@freetype.org>
 
 	* src/autofit/aflatin.c (af_latin_hints_compute_segments),
-	src/cff/cffdriver.c (cff_ps_get_font_info), src/truetype/ttobjs.c
+	src/cff/cffdrivr.c (cff_ps_get_font_info), src/truetype/ttobjs.c
 	(tt_face_init), src/truetype/ttinterp.c (Ins_SHC): Fix compiler
 	warnings.
 
@@ -6592,7 +6592,7 @@
 	* src/cff/cffload.c: Include FT_TYPE1_TABLES_H.
 	(cff_font_done): Free font->font_info if necessary.
 
-	* src/cff/cffdrvr.c (cff_ps_get_font_info): New function.
+	* src/cff/cffdrivr.c (cff_ps_get_font_info): New function.
 	(cff_service_ps_info): Register cff_ps_get_font_info.
 
 2007-01-13  Werner Lemberg  <wl@gnu.org>
@@ -6734,7 +6734,7 @@
 	files are not used.
 
 	* include/freetype/internal/tttypes.h (TT_FaceRec): Add members
-	`horz_metrics_offset' and `vert_metrics_ofset'.
+	`horz_metrics_offset' and `vert_metrics_offset'.
 	* src/sfnt/ttmtx.c (tt_face_load_hmtx, tt_face_get_metrics):
 	Updated.
 
@@ -6852,7 +6852,7 @@
 
 	* include/freetype/internal/services/svotval.h: Add `volatile' to
 	sync with the modification by Jens Claudius on 2006-08-22; cf.
-	  http://cvs.savannah.gnu.org/viewcvs/freetype/freetype2/src/otvalid/otvmod.c?r1=1.4&r2=1.5
+	  https://cvs.savannah.gnu.org/viewcvs/freetype/freetype2/src/otvalid/otvmod.c?r1=1.4&r2=1.5
 
 2006-12-15  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 
@@ -6876,7 +6876,7 @@
 
 	* src/base/ftobjs.c: Improvement of resource fork handler for
 	POSIX, cf.
-	  http://lists.gnu.org/archive/html/freetype-devel/2006-10/msg00025.html
+	  https://lists.gnu.org/archive/html/freetype-devel/2006-10/msg00025.html
 	(Mac_Read_sfnt_Resource): Count only `sfnt' resource of suitcase font
 	format or .dfont, to simulate the face index number counted by ftmac.c.
 	(IsMacResource): Return the number of scalable faces correctly.
@@ -7023,7 +7023,7 @@
 	(_ft_lcd_filter_fir): This.
 	Update parameters.
 	(_ft_lcd_filter_legacy) [USE_LEGACY]: New filter function.
-	(FT_Library_Set_LcdFilter): Update parameters.
+	(FT_Library_SetLcdFilter): Update parameters.
 	Handle new filter modes.
 
 	* include/internal/ftobjs.h: Include FT_LCD_FILTER_H.
@@ -7366,7 +7366,7 @@
 	to recognize a few fonts that require the automatic unpatented
 	loader.
 
-	* src/smooth/ftgrays.c: Optmize the performance of the anti-aliased
+	* src/smooth/ftgrays.c: Optimize the performance of the anti-aliased
 	rasterizer.  The speed improvement is between 15% and 25%, depending
 	on the font data.
 
@@ -7517,14 +7517,14 @@
 2006-08-15  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 
 	* modules.cfg (BASE_EXTENSIONS): Compile in ftgxval.c by default to
-	build ftvalid in ft2demos.  This has been inadvertedly changed
+	build ftvalid in ft2demos.  This has been inadvertently changed
 	2006-08-13.
 
 2006-08-15  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 
 	`ft_validator_run' wrapping `setjmp' can cause a crash, as found by
 	Jens:
-	http://lists.gnu.org/archive/html/freetype-devel/2006-08/msg00004.htm.
+	https://lists.gnu.org/archive/html/freetype-devel/2006-08/msg00004.htm.
 
 	* src/otvalid/otvmod.c: Replace `ft_validator_run' by `ft_setjmp'.
 	It reverts the change introduced on 2005-08-20.
@@ -7647,7 +7647,7 @@
 	`len_buildchar'.
 	Remove `keywords_flags'.
 
-	* src/type1/t1load.h (T1_LoaderRect): New field
+	* src/type1/t1load.h (T1_LoaderRec): New field
 	`keywords_encountered'.
 	(T1_PRIVATE, T1_FONTDIR_AFTER_PRIVATE): New macros.
 
@@ -7721,7 +7721,7 @@
 2006-06-24  Eugeniy Meshcheryakov  <eugen@univ.kiev.ua>
 
 	Fix two hinting bugs as reported in
-	http://lists.gnu.org/archive/html/freetype-devel/2006-06/msg00057.html.
+	https://lists.gnu.org/archive/html/freetype-devel/2006-06/msg00057.html.
 
 	* include/freetype/internal/tttypes.h (TT_GlyphZoneRec): Add
 	`first_point' member.
@@ -7761,7 +7761,7 @@
 	should return `FT_Err_Unimplemented_Feature' if validation service
 	is unavailable (disabled in `modules.cfg').  It is originally
 	suggested by David Turner, cf.
-	http://lists.gnu.org/archive/html/freetype-devel/2005-11/msg00078.html
+	https://lists.gnu.org/archive/html/freetype-devel/2005-11/msg00078.html
 
 	* src/base/ftgxval.c (FT_TrueTypeGX_Validate): Return
 	FT_Err_Unimplemented_Feature if TrueTypeGX validation service is
@@ -7840,7 +7840,7 @@
 	* src/base/ftobjs.c (load_face_in_embedded_rfork): Replace
 	`FT_Stream_Close' by `FT_Stream_Free' to fix memory leak.
 
-	* src/base/ftrfrk.c (raccess_guess_linux_double_from_file_name):
+	* src/base/ftrfork.c (raccess_guess_linux_double_from_file_name):
 	Replace `FT_Stream_Close' by `FT_Stream_Free' to fix memory leak.
 
 2006-05-19  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
@@ -7857,7 +7857,7 @@
 2006-05-18  Werner Lemberg  <wl@gnu.org>
 
 	* src/truetype/ttgload.c (TT_Load_Composite_Glyph)
-	[FT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Make it compilable again.
+	[TT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Make it compilable again.
 
 2006-05-17  David Turner  <david@freetype.org>
 
@@ -7902,7 +7902,7 @@
 	(FT_Stream_OpenGzip): Use it to handle small files directly in
 	memory.
 
-	* src/psaux/psconv.c (PS_Conv_ASCIIHexDecode, PS_ConvEexecDecode):
+	* src/psaux/psconv.c (PS_Conv_ASCIIHexDecode, PS_Conv_EexecDecode):
 	Improve performance.
 
 	* src/truetype/ttgload.c (TT_Access_Glyph_Frame): Set `cursor' and
@@ -7932,7 +7932,7 @@
 
 ----------------------------------------------------------------------------
 
-Copyright 2006-2015 by
+Copyright 2006-2018 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 df2119d..44abc40 100644
--- a/ChangeLog.24
+++ b/ChangeLog.24
@@ -335,7 +335,7 @@
 
 	* include/freetype/ftmoderr.h: Fix commit from 2013-03-11.
 
-	The previous version was not backwards compatible.  Reported by
+	The previous version was not backward compatible.  Reported by
 	Behdad.
 
 2013-03-14  Werner Lemberg  <wl@gnu.org>
@@ -744,7 +744,7 @@
 
 2013-01-16  David 'Digit' Turner  <digit@google.com>
 
-	[truetype] Improve sub-pixel code.
+	[truetype] Improve subpixel code.
 
 	This patches fixes many issues with the ttsubpix implementation.
 
@@ -780,11 +780,11 @@
 
 	Move font tweaking tables to...
 
-	* src/truetype/ttsubpic.c: This file and decorate them with `static'
+	* src/truetype/ttsubpix.c: This file and decorate them with `static'
 	and `const' where appropriate.
 
 	(X_SCALING_Rules, X_SCALING_RULES_SIZE): Renamed to...
-	(spu_X_SCALING_Rules, SPH_X_SCALING_RULES_SIZE): This.
+	(sph_X_SCALING_Rules, SPH_X_SCALING_RULES_SIZE): This.
 	Update all users.
 
 2013-01-12  Alexei Podtelezhnikov  <apodtele@gmail.com>
@@ -978,7 +978,7 @@
 
 	[base] Clean up trigonometric core.
 
-	* src/base/fttrrigon.c (ft_trig_pseudo_polarize): Align algorithm
+	* src/base/fttrigon.c (ft_trig_pseudo_polarize): Align algorithm
 	with `ft_trig_pseudo_rotate'.
 
 2012-12-18  Infinality  <infinality@infinality.net>
@@ -990,7 +990,7 @@
 
 2012-12-17  Infinality  <infinality@infinality.net>
 
-	[truetype] Remove unusued code and variables.
+	[truetype] Remove unused code and variables.
 
 	* src/truetype/ttinterp.c: Updated.
 	(Ins_FDEF): Remove opcode patterns that are not being used.
@@ -1012,7 +1012,7 @@
 
 2012-12-16  Infinality  <infinality@infinality.net>
 
-	[truetype] Remove unusued code and variables.  Add minor fixes.
+	[truetype] Remove unused code and variables.  Add minor fixes.
 
 	* src/truetype/ttsubpix.h: Updated.
 	(SKIP_NONPIXEL_Y_MOVES_Rules_Exceptions): Add Trebuchet MS.
@@ -1037,7 +1037,7 @@
 	(Ins_FDEF): Rework code to fix bugs and add more detection.
 	(Ins_CALL): Remove unused code.
 	(Ins_LOOPCALL): Remove unused code.
-	(TT_RunIns): Remove unusued code.
+	(TT_RunIns): Remove unused code.
 	(Ins_SHPIX): Add logic to handle ttfautohinted fonts.
 	(Ins_MIRP): Don't round x in cut-in calculation.  Add logic to handle
 	ttfautohinted fonts.
@@ -1395,7 +1395,7 @@
 
 	[autofit] Minor optimization.
 
-	* src/autofit/afglobals.c (af_face_globals_compute_script_coverage):
+	* src/autofit/afglobal.c (af_face_globals_compute_script_coverage):
 	Add loop condition.
 
 2012-09-29  Werner Lemberg  <wl@gnu.org>
@@ -1859,11 +1859,11 @@
 
 	Fix `checking if gcc static flag -static works' test.
 
-	On my linux build tree, I receive yes answer in in every package I
-	build except freetype for this test checking if gcc static flag
+	On my linux build tree, I receive yes answer in every package I
+	build except FreeType for this test checking if gcc static flag
 	`-static' works
 
-	On freetype, no is received, unless bzip2 and zlib are disabled using
+	In FreeType, no is received, unless bzip2 and zlib are disabled using
 
 	  ./configure --without-bzip2 --without-zlib
 
@@ -1977,7 +1977,7 @@
 	Most of the code is based on the ClearType whitepaper written by
 	Greg Hitchcock
 
-	  http://www.microsoft.com/typography/cleartype/truetypecleartype.aspx
+	  https://www.microsoft.com/typography/cleartype/truetypecleartype.aspx
 
 	which gives a detailed overview of the necessary changes to the
 	Microsoft rasterizer so that older fonts are supported.  However, a
@@ -2014,7 +2014,7 @@
 	(compute_glyph_metrics): Handle `compatible widths' option.
 	(tt_loader_init): Handle ClearType GETINFO information bits.
 
-	* src/truetype/rules.mk (TT_DRC_SRC): Updated.
+	* src/truetype/rules.mk (TT_DRV_SRC): Updated.
 
 	* src/truetype/ttinterp.c: Include `ttsubpix.h'.
 	[Where necessary, changes below are guarded by
@@ -2103,7 +2103,7 @@
 	NEC FA family dated in 1996 have different checksum.
 	Reported by Johnson Y. Yan <yinsen_yan@foxitsoftware.com>; see
 
-	  http://lists.gnu.org/archive/html/freetype-devel/2012-06/msg00023.html
+	  https://lists.gnu.org/archive/html/freetype-devel/2012-06/msg00023.html
 
 	* src/truetype/ttobjs.c (tt_check_trickyness_sfnt_ids): 4 sets
 	of fpgm & prep table checksums for FA-Gothic, FA-Minchou,
@@ -2117,7 +2117,7 @@
 
 	Problem reported by jola <hans-jochen.lau@lhsystems.com>; see
 
-	  http://lists.gnu.org/archive/html/freetype-devel/2012-05/msg00036.html
+	  https://lists.gnu.org/archive/html/freetype-devel/2012-05/msg00036.html
 
 	* src/raster/ftraster.c (SMulDiv_No_Round): New macro.
 	(Line_Up): Use it.
@@ -2141,7 +2141,7 @@
 	* include/freetype/ftoutln.h (FT_Outline_EmboldenXY): Define it.
 
 	* src/base/ftoutln.c (FT_Outline_EmboldenXY): Implement it, using a
-	simplified embolding algorithm.
+	simplified emboldening algorithm.
 	(FT_Outline_Embolden): Make it a special case of
 	`FT_Outline_EmboldenXY'
 
@@ -2546,7 +2546,7 @@
 
 	* src/bdf/bdflib.c (_bdf_is_atom): Fix handling of property value.
 
-2012-02-24  Vinnie Falco  <vinnie.falco@gmail.com>
+2012-02-24  Vinnie Falco  <vinnie.falco@gmail.com>
 
 	Prepare source code for amalgamation (6/6).
 
@@ -2556,20 +2556,20 @@
 	s/t1_init_loader/cid_init_loader/.
 	s/t1_done_loader/cid_done_loader/.
 
-	* src/pxaux/t1cmap.c: s/t1_get_glyph_name/psaux_get_glyph_name/.
+	* src/psaux/t1cmap.c: s/t1_get_glyph_name/psaux_get_glyph_name/.
 
 	* src/truetype/ttdriver.c: s/Load_Glyph/tt_glyph_load/.
 
 	* src/type1/t1load.c: s/parse_font_matrix/t1_parse_font_matrix/.
 
-2012-02-24  Vinnie Falco  <vinnie.falco@gmail.com>
+2012-02-24  Vinnie Falco  <vinnie.falco@gmail.com>
 
 	Prepare source code for amalgamation (5/6).
 
 	* include/freetype/fterrors.h: Undefine FT_KEEP_ERR_PREFIX after
 	using it.
 
-2012-02-22  Vinnie Falco  <vinnie.falco@gmail.com>
+2012-02-22  Vinnie Falco  <vinnie.falco@gmail.com>
 
 	Prepare source code for amalgamation (4/6).
 
@@ -2581,7 +2581,7 @@
 	* src/raster/ftraster.c: s/TRaster/gray_TRaster/,
 	s/PRaster/gray_PRaster/.
 
-2012-02-20  Vinnie Falco  <vinnie.falco@gmail.com>
+2012-02-20  Vinnie Falco  <vinnie.falco@gmail.com>
 
 	Prepare source code for amalgamation (3/6).
 
@@ -2590,20 +2590,20 @@
 	* src/raster/ftraster.c: s/TWorker/gray_TWorker/,
 	s/PWorker/gray_PWorker/.
 
-2012-02-20  Vinnie Falco  <vinnie.falco@gmail.com>
+2012-02-20  Vinnie Falco  <vinnie.falco@gmail.com>
 
 	Prepare source code for amalgamation (2/6).
 
 	* src/smooth/ftgrays.c, src/raster/ftraster.c: Undefine FLOOR,
 	CEILING, TRUNC, and SCALED before defining it.
 
-2012-02-20  Vinnie Falco  <vinnie.falco@gmail.com>
+2012-02-20  Vinnie Falco  <vinnie.falco@gmail.com>
 
 	Prepare source code for amalgamation (1/6).
 
 	See discussion starting at
 
-	  http://lists.gnu.org/archive/html/freetype-devel/2012-01/msg00037.html
+	  https://lists.gnu.org/archive/html/freetype-devel/2012-01/msg00037.html
 
 	* src/smooth/ftgrays.c: s/TBand/gray_TBand/.
 	* src/raster/ftraster.c: s/TBand/black_TBand/.
@@ -2616,7 +2616,7 @@
 	`outline.flags' so that this information is preserved.  See
 	discussion starting at
 
-	  http://lists.gnu.org/archive/html/freetype-devel/2012-02/msg00046.html
+	  https://lists.gnu.org/archive/html/freetype-devel/2012-02/msg00046.html
 
 2012-02-11  Werner Lemberg  <wl@gnu.org>
 
@@ -2677,7 +2677,7 @@
 	[raccess] Modify for PIC build.
 
 	Based on the patch provided by Erik Dahlstrom <ed@opera.com>,
-	http://lists.gnu.org/archive/html/freetype-devel/2012-01/msg00010.html
+	https://lists.gnu.org/archive/html/freetype-devel/2012-01/msg00010.html
 
 	Also `raccess_guess_table[]' and `raccess_rule_by_darwin_vfs()'
 	are renamed with `ft_' suffixes.
@@ -2796,9 +2796,9 @@
 	[base] Fix a dereference of uninitialized variable in PIC mode.
 
 	* src/base/ftglyph.c (FT_Glyph_To_Bitmap): `glyph' must be
-	set before derefering to obtain `library'.  The initialization
+	set before dereferring to obtain `library'.  The initialization
 	of `clazz', `glyph', `library' and NULL pointer check are
-	reordered to minimize PIC conditonals.
+	reordered to minimize PIC conditionals.
 
 2012-01-14  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 
@@ -2941,10 +2941,10 @@
 
 	[type42] Remove casts.
 
-	* src/type42/t42driver.c (t42_driver_class): Remove all casts and
+	* src/type42/t42drivr.c (t42_driver_class): Remove all casts and
 	update affected functions.
 
-	* src/type42/t42objs.c, src/type42/t42objs.h: Updated for t42driver
+	* src/type42/t42objs.c, src/type42/t42objs.h: Updated for t42 driver
 	changes.
 
 2011-11-30  Werner Lemberg  <wl@gnu.org>
@@ -3127,7 +3127,7 @@
 
 	According to
 
-	  http://www.gnu.org/prep/maintain/html_node/Copyright-Notices.html
+	  https://www.gnu.org/prep/maintain/html_node/Copyright-Notices.html
 
 	this should be mentioned explicitly.
 
@@ -3261,7 +3261,7 @@
 
 2011-09-17  Alexei Podtelezhnikov  <apodtele@gmail.com>
 
-	[smooth] Slightly optimize conic and cubic flatterners.
+	[smooth] Slightly optimize conic and cubic flatteners.
 
 	* src/smooth/ftgrays.c (gray_render_conic, gray_render_cubic): Move
 	out some code from the main loop to speed it up.
@@ -3456,7 +3456,7 @@
 
 	See
 
-	  http://lists.gnu.org/archive/html/freetype-devel/2011-07/msg00049.html
+	  https://lists.gnu.org/archive/html/freetype-devel/2011-07/msg00049.html
 
 	for some comparison images.
 
@@ -3556,7 +3556,7 @@
 
 	See
 
-	  http://lists.gnu.org/archive/html/freetype-devel/2011-07/msg00001.html
+	  https://lists.gnu.org/archive/html/freetype-devel/2011-07/msg00001.html
 
 	for example documents.  The FreeType stroker now produces results
 	very similar to that produced by GhostScript and Distiller for these
@@ -3621,7 +3621,7 @@
 	* src/base/ftstroke.c: Revised.
 	* include/freetype/ftstroke.h: Updated.
 
-2011-06-30  İsmail Dönmez <ismail@namtrac.org>
+2011-06-30  İsmail Dönmez  <ismail@namtrac.org>
 
 	* builds/toplevel.mk: We use git, not CVS, thus skip `.gitignore'.
 
@@ -3680,7 +3680,7 @@
 
 	[autogen.sh] Reflect environment variable LIBTOOLIZE.
 
-2011-06-18  Werner Lemberg <wl@gnu.org>
+2011-06-18  Werner Lemberg  <wl@gnu.org>
 
 	Update license documentation.
 
@@ -3776,7 +3776,7 @@
 	[gxvalid] Fix gcc4.6 compiler warnings in gxvtrak.c.
 
 	* src/gxvalid/gxvtrak.c (gxv_trak_trackTable_validate):
-	Check different entries pointing same traking value.
+	Check different entries pointing same tracking value.
 	(gxv_trak_validate): Remove unused variable `table_size'.
 
 2011-06-14  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
@@ -3788,12 +3788,12 @@
 	(gxv_morx_chain_validate): Conditionalize unvalidated
 	variable `defaultFlags'.
 
-	* src/gxvalid/gxmorx0.c
+	* src/gxvalid/gxvmorx0.c
 	(gxv_morx_subtable_type0_entry_validate):
 	Conditionalize unvalidated variables; `markFirst',
 	`dontAdvance', `markLast', `verb'.
 
-	* src/gxvalid/gxmorx1.c
+	* src/gxvalid/gxvmorx1.c
 	(gxv_morx_subtable_type1_entry_validate): Conditionalize
 	unvalidated variables; `setMark', `dontAdvance'.
 
@@ -3826,11 +3826,11 @@
 	(gxv_mort_chain_validate): Conditionalize unvalidated
 	variable `defaultFlags'.
 
-	* src/gxvalid/gxmort0.c
+	* src/gxvalid/gxvmort0.c
 	(gxv_mort_subtable_type0_entry_validate): Check the
 	conflict of the marks for the glyphs.
 
-	* src/gxvalid/gxmort1.c
+	* src/gxvalid/gxvmort1.c
 	(gxv_mort_subtable_type1_offset_to_subst_validate):
 	Local variables `min_gid', `max_gid' are replaced by
 	variables in the validator.
@@ -4000,14 +4000,14 @@
 
 	[autofit] Add bluezones for CJK Ideographs.
 
-	To remove extremas of vertical strokes of CJK Ideographs at
+	To remove extrema of vertical strokes of CJK Ideographs at
 	low resolution and make the top and bottom horizontal stems
 	aligned, bluezones for CJK Ideographs are calculated from
 	sample glyphs.  At present, vertical bluezones (bluezones
 	to align vertical stems) are disabled by default.  For detail, see
-	http://lists.gnu.org/archive/html/freetype-devel/2011-04/msg00070.html
-	http://lists.gnu.org/archive/html/freetype-devel/2011-04/msg00092.html
-	http://lists.gnu.org/archive/html/freetype-devel/2011-05/msg00001.html
+	https://lists.gnu.org/archive/html/freetype-devel/2011-04/msg00070.html
+	https://lists.gnu.org/archive/html/freetype-devel/2011-04/msg00092.html
+	https://lists.gnu.org/archive/html/freetype-devel/2011-05/msg00001.html
 
 	* include/freetype/internal/fttrace.h: New trace component `afcjk'.
 	* src/autofit/afcjk.h (AF_CJK{Blue,Axis,Metric}Rec): Add CJK version
@@ -4029,7 +4029,7 @@
 	af_latin_hints_compute_blue_edges.
 	(af_cjk_metrics_init_blues): New function, CJK version of
 	af_latin_metrics_init_blues.
-	(af_cjk_hints_edges): Add code to align the edge stems to blue zones.
+	(af_cjk_hint_edges): Add code to align the edge stems to blue zones.
 
 	* src/autofit/afindic.c (af_indic_metrics_init): Take AF_CJKMetric
 	instead of AF_LatinMetric, and initialize as af_cjk_metrics_init.
@@ -4075,8 +4075,8 @@
 	the TrueType font header.  Some bad PDF generators write
 	wrong values.  For details see examples and benchmark tests
 	of the latency by recalculation:
-	http://lists.gnu.org/archive/html/freetype-devel/2011-04/msg00091.html
-	http://lists.gnu.org/archive/html/freetype-devel/2011-04/msg00096.html
+	https://lists.gnu.org/archive/html/freetype-devel/2011-04/msg00091.html
+	https://lists.gnu.org/archive/html/freetype-devel/2011-04/msg00096.html
 
 2011-04-30  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 
@@ -4109,7 +4109,7 @@
 	Because some PDF generators mangle the family name badly,
 	the trickyness check by the checksum should be invoked always.
 	For sample PDF, see
-	http://lists.gnu.org/archive/html/freetype-devel/2011-04/msg00073.html
+	https://lists.gnu.org/archive/html/freetype-devel/2011-04/msg00073.html
 
 	* src/truetype/ttobjs.c (tt_check_trickyness): Even when
 	tt_check_trickyness_family() finds no trickyness,
@@ -4120,7 +4120,7 @@
 	[autofit] Add more Indic scripts with hanging baseline.
 
 	* src/autofit/afindic.c (af_indic_uniranges): Tibetan, Limbu,
-	Sundanese, Meetei Mayak, Syloti Nagri and Sharada scripts are
+	Sundanese, Meetei Mayek, Syloti Nagri and Sharada scripts are
 	added.
 
 2011-04-21  Behdad Esfahbod  <behdad@behdad.org>
@@ -4146,8 +4146,8 @@
 	When there are too many stems to preserve their gaps in the
 	rasterization of CJK Ideographs at a low resolution, blur the
 	stems instead of showing clumped stems.  See
-	http://lists.gnu.org/archive/html/freetype-devel/2011-02/msg00011.html
-	http://lists.gnu.org/archive/html/freetype-devel/2011-04/msg00046.html
+	https://lists.gnu.org/archive/html/freetype-devel/2011-02/msg00011.html
+	https://lists.gnu.org/archive/html/freetype-devel/2011-04/msg00046.html
 	for details.
 
 	* src/autofit/afcjk.c (af_cjk_hint_edges): Store the position of
@@ -4343,7 +4343,7 @@
 	[cache] Fix an off-by-one bug in `FTC_Manager_RemoveFaceID'.
 	Found by <ychen1392001@yahoo.com.cn>, see detail in
 
-	  http://lists.gnu.org/archive/html/freetype/2011-01/msg00023.html
+	  https://lists.gnu.org/archive/html/freetype/2011-01/msg00023.html
 
 	* src/cache/ftccache.c (FTC_Cache_RemoveFaceID): Check the node
 	buckets[cache->p + cache->mask] too.
@@ -4464,7 +4464,7 @@
 	Johnson Y. Yan.  The bug report by Qt developers is
 	considered too.
 
-	http://bugreports.qt.nokia.com/browse/QTBUG-6521
+	https://bugreports.qt.io/browse/QTBUG-6521
 
 2011-01-15  Werner Lemberg  <wl@gnu.org>
 
@@ -4756,7 +4756,7 @@
 	* src/bzip2/*: New files.
 
 	* src/pcf/pcf.h: s/gzip_/comp_/.
-	* src/pcf/pcfdrvr.c: Include FT_BZIP2_H.
+	* src/pcf/pcfdrivr.c: Include FT_BZIP2_H.
 	s/gzip_/comp_/.
 	(PCF_Face_Init): Handle bzip2 compressed files.
 
@@ -4768,7 +4768,7 @@
 
 	If we encounter a space in a string then the sbit buffer is NULL,
 	height and width are 0s.  So the check in ftc_snode_compare will
-	always pass for spaces (comparision with 255).  Here the comments
+	always pass for spaces (comparison with 255).  Here the comments
 	above the condition are proper but the implementation is not.  When
 	we create an snode I think it is the proper way to initialize the
 	width to 255 and then put a check for being equal to 255 in snode
@@ -4923,7 +4923,7 @@
 	Partially undo change from 2010-10-15 by using ONE_PIXEL/4; this has
 	been tested with demo images sent to the mailing list.  See
 
-	  http://lists.gnu.org/archive/html/freetype-devel/2010-10/msg00055.html
+	  https://lists.gnu.org/archive/html/freetype-devel/2010-10/msg00055.html
 
 	and later mails in this thread.
 
@@ -4943,7 +4943,7 @@
 	Problem reported by Tom Bishop <wenlin@wenlin.com>; see
 	thread starting with
 
-	  http://lists.gnu.org/archive/html/freetype/2010-10/msg00049.html
+	  https://lists.gnu.org/archive/html/freetype/2010-10/msg00049.html
 
 	* src/raster/ftraster.c (Line_Up): Replace FMulDiv with SMulDiv
 	since the involved multiplication exceeds 32 bits.
@@ -5007,7 +5007,7 @@
 	normal clients.
 
 	For the history of these macros, see the investigation:
-	http://lists.gnu.org/archive/html/freetype/2010-10/msg00022.html
+	https://lists.gnu.org/archive/html/freetype/2010-10/msg00022.html
 
 2010-10-24  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 
@@ -5054,7 +5054,7 @@
 	by Darwin VFS are skipped.  It reduces the warnings of the
 	deprecated resource fork access method by recent Darwin kernel.
 	Fix MacPorts ticket #18859:
-		http://trac.macports.org/ticket/18859
+		https://trac.macports.org/ticket/18859
 
 	* src/base/ftobjs.c (load_face_in_embedded_rfork):
 	When `FT_Stream_New' returns FT_Err_Cannot_Open_Stream, it
@@ -5182,7 +5182,7 @@
 	[smooth] Fix splitting of cubics for negative values.
 
 	Reported by Róbert Márki <gsmiko@gmail.com>; see
-	http://lists.gnu.org/archive/html/freetype/2010-09/msg00019.html.
+	https://lists.gnu.org/archive/html/freetype/2010-09/msg00019.html.
 
 	* src/smooth/ftgrays.c (gray_render_cubic): Fix thinko.
 
@@ -5349,7 +5349,7 @@
 	Ignore the environmental setting of LIBTOOL.
 	Patch is suggested by Adrian Bunk, to prevent unexpected
 	reflection of environmental LIBTOOL.  See:
-	http://savannah.nongnu.org/patch/?7290
+	https://savannah.nongnu.org/patch/?7290
 
 	* builds/unix/unix-cc.in: LIBTOOL is unconditionally set to
 	$(FT_LIBTOOL_DIR)/libtool.  FT_LIBTOOL_DIR is set to $(BUILD_DIR)
@@ -5406,8 +5406,8 @@
 	for nameless fonts is safer for PDFs including embedded Chinese
 	fonts.  Written by David Bevan, see:
 
-	http://lists.gnu.org/archive/html/freetype-devel/2010-08/msg00021.html
-	http://lists.freedesktop.org/archives/poppler/2010-August/006310.html
+	https://lists.gnu.org/archive/html/freetype-devel/2010-08/msg00021.html
+	https://lists.freedesktop.org/archives/poppler/2010-August/006310.html
 
 	* src/truetype/ttobjs.c (tt_check_trickyness): If a NULL pointer by
 	nameless font is given, TRUE is returned to enable hinting.
@@ -5420,7 +5420,7 @@
 	a Kaishu typeface paired with `HuaTianSongTi?' by Huatian
 	Information Industry.
 
-2010-08-17  Teijo Kinnunen <Teijo.Kinnunen@nuance.com>
+2010-08-17  Teijo Kinnunen  <Teijo.Kinnunen@nuance.com>
 
 	[cache] Fix Savannah bug #30788.
 
@@ -5548,7 +5548,7 @@
 	Add reference counters and to FT_Library and FT_Face objects.
 
 	* include/freetype/freetype.h (FT_Reference_Face): New function.
-	* include/freetype/ftmodapi.h (FT_Rererence_Library): New function.
+	* include/freetype/ftmodapi.h (FT_Reference_Library): New function.
 
 	* include/freetype/internal/ftobjs.h (FT_Face_InternalRec,
 	FT_LibraryRec): New field `refcount'.
@@ -5669,7 +5669,7 @@
 	Use defined macros to set {platform,encoding}_id.
 
 	* src/bdf/bdfdrivr.c: Include ttnameid.h and use macros to
-	set charmap.{platfom,encoding}_id.
+	set charmap.{platform,encoding}_id.
 	* src/pcf/pcfdrivr.c: Ditto.
 	* src/winfonts/winfnt.c: Ditto.
 	* src/type1/t1objs.c: Ditto.
@@ -5792,8 +5792,8 @@
 	* src/cff/cffobjs.c (cff_face_init): Check error value by
 	`FT_CMap_New'.
 	* src/pfr/pfrobjs.c (pfr_face_init): Ditto.
-	* src/type1/t1jobjs.c (T1_Face_Init): Ditto.
-	* src/type42/t42jobjs.c (T42_Face_Init): Ditto.
+	* src/type1/t1objs.c (T1_Face_Init): Ditto.
+	* src/type42/t42objs.c (T42_Face_Init): Ditto.
 
 2010-07-03  Werner Lemberg  <wl@gnu.org>
 
@@ -5968,7 +5968,7 @@
 
 	* src/smooth/ftgrays.c (gray_render_cubic): Fix algorithm.
 	The previous version was too aggressive, as demonstrated in
-	http://lists.gnu.org/archive/html/freetype-devel/2010-06/msg00020.html.
+	https://lists.gnu.org/archive/html/freetype-devel/2010-06/msg00020.html.
 
 2010-06-24  Werner Lemberg  <wl@gnu.org>
 
@@ -6065,7 +6065,7 @@
 	simplified algorithm to find out whether the spline can be replaced
 	with two straight lines.  See this thread for more:
 
-	  http://lists.gnu.org/archive/html/freetype-devel/2010-06/msg00000.html
+	  https://lists.gnu.org/archive/html/freetype-devel/2010-06/msg00000.html
 
 2010-06-09  Werner Lemberg  <wl@gnu.org>
 
@@ -6220,7 +6220,7 @@
 	Add new function `FT_Library_SetLcdFilterWeights'.
 
 	This is based on code written by Lifter
-	<http://unixforum.org/index.php?showuser=11691>.  It fixes
+	<https://unixforum.org/index.php?showuser=11691>.  It fixes
 	FreeDesktop bug #27386.
 
 	* src/base/ftlcdfil.c (FT_Library_SetLcdFilterWeights): New
@@ -6278,8 +6278,8 @@
 	Use real types instead of `void' for `pshinter' and `psnames' fields.
 
 	* src/cff/cffload.c: Don't include PS cmaps service.
-	(cff_index_get_pointers): Add `pool' parameter which allows to
-	insert an extra NUL character for each String INDEX entry.
+	(cff_index_get_pointers): Add `pool' parameter which allows inserting
+	an extra NUL character for each String INDEX entry.
 	(cff_index_get_name): Make it a local function.
 	(cff_index_get_string): New function.
 	(cff_subfont_load): Updated.
@@ -6344,7 +6344,7 @@
 
 ----------------------------------------------------------------------------
 
-Copyright 2010-2015 by
+Copyright 2010-2018 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
new file mode 100644
index 0000000..59cf2bf
--- /dev/null
+++ b/ChangeLog.25
@@ -0,0 +1,5161 @@
+2014-12-30  Werner Lemberg  <wl@gnu.org>
+
+	* Version 2.5.5 released.
+	=========================
+
+
+	Tag sources with `VER-2-5-5'.
+
+	* docs/VERSION.DLL: Update documentation and bump version number to
+	2.5.5.
+
+	* README, Jamfile (RefDoc), builds/windows/vc2005/freetype.vcproj,
+	builds/windows/vc2005/index.html,
+	builds/windows/vc2008/freetype.vcproj,
+	builds/windows/vc2008/index.html,
+	builds/windows/vc2010/freetype.vcxproj,
+	builds/windows/vc2010/index.html,
+	builds/windows/visualc/freetype.dsp,
+	builds/windows/visualc/freetype.vcproj,
+	builds/windows/visualc/index.html,
+	builds/windows/visualce/freetype.dsp,
+	builds/windows/visualce/freetype.vcproj,
+	builds/windows/visualce/index.html,
+	builds/wince/vc2005-ce/freetype.vcproj,
+	builds/wince/vc2005-ce/index.html,
+	builds/wince/vc2008-ce/freetype.vcproj,
+	builds/wince/vc2008-ce/index.html: s/2.5.4/2.5.5/, s/254/255/.
+
+	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 5.
+
+	* builds/unix/configure.raw (version_info): Set to 17:4:11.
+	* CMakeLists.txt (VERSION_PATCH): Set to 5.
+	* docs/CHANGES: Updated.
+
+	* builds/toplevel.mk (dist): Fix typos.
+
+2014-12-24  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	[base] Formatting and nanooptimizations.
+
+	* src/base/ftcalc.c,
+	* src/base/fttrigon.c: Revise sign restoration.
+
+2014-12-13  Werner Lemberg  <wl@gnu.org>
+
+	* src/pcf/pcfread.c (pcf_read_TOC): Improve fix from 2014-12-08.
+
+2014-12-11  Werner Lemberg  <wl@gnu.org>
+
+	* builds/toplevel.mk (dist): Use older POSIX standard for `tar'.
+
+	Apparently, BSD tar isn't capable yet of handling POSIX-1.2001
+	(contrary to GNU tar), so force the POSIX-1.1988 format.
+
+	Problem reported by Stephen Fisher <sfisher@SDF.ORG>.
+
+2014-12-11  Werner Lemberg  <wl@gnu.org>
+
+	* src/type42/t42parse.c (t42_parse_sfnts): Reject invalid TTF size.
+
+2014-12-11  Werner Lemberg  <wl@gnu.org>
+
+	* src/base/ftobjs.c (FT_Get_Glyph_Name): Fix off-by-one check.
+
+	Problem reported by Dennis Felsing <dennis@felsin9.de>.
+
+2014-12-11  Werner Lemberg  <wl@gnu.org>
+
+	* src/type42/t42parse.c (t42_parse_sfnts): Check `string_size'.
+
+	Problem reported by Dennis Felsing <dennis@felsin9.de>.
+
+2014-12-09  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
+
+	[gxvalid] Fix a naming convention conflicting with ftvalid.
+
+	See previous changeset for otvalid.
+
+	* src/gxvalid/{gxvcommn.h, gxvmort.h, gxvmorx.h}: Replace
+	`valid' by `gxvalid'.
+	* src/gxvalid/{gxvbsln.c, gxvcommn.c, gxvfeat.c, gxvjust.c,
+	gxvkern.c, gxvlcar.c, gxvmort.c, gxvmort0.c, gxvmort1.c,
+	gxvmort2.c, gxvmort4.c, gxvmort5.c, gxvmorx.c, gxvmorx0.c,
+	gxvmorx1.c, gxvmorx2.c, gxvmorx4.c, gxvmorx5.c, gxvopbd.c,
+	gxvprop.c, gxvtrak.c}: Replace `valid' by `gxvalid' if
+	it is typed as GXV_Validator.
+
+2014-12-09  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
+
+	[otvalid] Fix a naming convention conflicting with ftvalid.
+
+	Some prototypes in ftvalid.h use `valid' for the variables
+	typed as FT_Validator.  Their implementations in src/base/
+	ftobjs.c and utilizations in src/sfnt/ttcmap.c do similar.
+
+	Some macros in otvcommn.h assume the exist of the variable
+	`valid' typed as OTV_Validator in the caller.
+
+	Mixing these two conventions cause invalid pointer conversion
+	and unexpected SEGV in longjmp.  To prevent it, all variables
+	typed as OTV_Validator are renamed to `otvalid'.
+
+	* src/otvalid/otvcommn.h: Replace `valid' by `otvalid'.
+	* src/otvalid/{otvcommn.c, otvbase.c, otvgdef.c, otvgpos.c,
+	otvgsub.c, otvjstf.c, otvmath.c}: Replace `valid' by `otvalid'
+	if it is typed as OTV_Validator.
+
+2014-12-09  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
+
+	[ftvalid] Introduce FT_THROW() in FT_INVALID_XXX macros.
+
+	Original patch is designed by Werner Lemberg.  Extra part
+	for otvalid and gxvalid are added by suzuki toshiya, see
+	discussion:
+	https://lists.nongnu.org/archive/html/freetype-devel/2014-12/msg00002.html
+	https://lists.nongnu.org/archive/html/freetype-devel/2014-12/msg00007.html
+
+	* include/internal/ftvalid.h: Introduce FT_THROW() in FT_INVALID_().
+	* src/gxvalid/gxvcommn.h: Ditto.
+	* src/otvalid/otvcommn.h: Ditto.
+
+2014-12-08  Werner Lemberg  <wl@gnu.org>
+
+	[pcf] Fix Savannah bug #43774.
+
+	Work around `features' of X11's `pcfWriteFont' and `pcfReadFont'
+	functions.  Since the PCF format doesn't have an official
+	specification, we have to exactly follow these functions' behaviour.
+
+	The problem was unveiled with a patch from 2014-11-06, fixing issue
+	#43547.
+
+	* src/pcf/pcfread.c (pcf_read_TOC): Don't check table size for last
+	element.  Instead, assign real size.
+
+2014-12-07  Werner Lemberg  <wl@gnu.org>
+
+	Work around a bug in Borland's C++ compiler.
+
+	See
+
+	  http://qc.embarcadero.com/wc/qcmain.aspx?d=118998
+
+	for Borland's bug tracker entry.
+
+	Reported by Yuliana Zigangirova <zigangirova@inbox.ru>,
+	https://lists.gnu.org/archive/html/freetype-devel/2014-04/msg00001.html.
+
+	* include/internal/ftvalid.h (FT_ValidatorRec), src/smooth/ftgrays.c
+	(gray_TWorker_): Move `ft_jmp_buf' field to be the first element.
+
+2014-12-07  Werner Lemberg  <wl@gnu.org>
+
+	*/*: Decorate hex constants with `U' and `L' where appropriate.
+
+2014-12-07  Werner Lemberg  <wl@gnu.org>
+
+	[truetype] Prevent memory leak for buggy fonts.
+
+	* src/truetype/ttobjs.c (tt_size_done): Unconditionally call
+	`tt_size_done_bytecode'.
+
+2014-12-06  Werner Lemberg  <wl@gnu.org>
+
+	* Version 2.5.4 released.
+	=========================
+
+
+	Tag sources with `VER-2-5-4'.
+
+	* docs/VERSION.DLL: Update documentation and bump version number to
+	2.5.4.
+
+	* README, Jamfile (RefDoc), builds/windows/vc2005/freetype.vcproj,
+	builds/windows/vc2005/index.html,
+	builds/windows/vc2008/freetype.vcproj,
+	builds/windows/vc2008/index.html,
+	builds/windows/vc2010/freetype.vcxproj,
+	builds/windows/vc2010/index.html,
+	builds/windows/visualc/freetype.dsp,
+	builds/windows/visualc/freetype.vcproj,
+	builds/windows/visualc/index.html,
+	builds/windows/visualce/freetype.dsp,
+	builds/windows/visualce/freetype.vcproj,
+	builds/windows/visualce/index.html,
+	builds/wince/vc2005-ce/freetype.vcproj,
+	builds/wince/vc2005-ce/index.html,
+	builds/wince/vc2008-ce/freetype.vcproj,
+	builds/wince/vc2008-ce/index.html: s/2.5.3/2.5.4/, s/253/254/.
+
+	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 4.
+
+	* builds/unix/configure.raw (version_info): Set to 17:3:11.
+	* CMakeLists.txt (VERSION_PATCH): Set to 4.
+	* docs/CHANGES: Updated.
+
+2014-12-04  Werner Lemberg  <wl@gnu.org>
+
+	docs/CHANGES: Updated, formatted.
+
+2014-12-04  Dave Arnold  <darnold@adobe.com>
+
+	[cff] Modify an FT_ASSERT.
+
+	* src/cff/cf2hints.c (cf2_hintmap_map): After the fix for Savannah
+	bug #43661, the test font `...aspartam.otf' still triggers an
+	FT_ASSERT.  Since hintmap still works with count==0, ...
+	(cf2_glyphpath_lineTo, cf2_glyphpath_curveTo): ... add that term to
+	suppress the assert.
+
+2014-12-04  Dave Arnold  <darnold@adobe.com>
+
+	[cff] Fix Savannah bug #43661.
+
+	* src/cff/cf2intrp.c (cf2_interpT2CharString) <cf2_cmdHSTEM,
+	cf2_cmdVSTEM, cf2_cmdHINTMASK>: Don't append to stem arrays after
+	hintmask is constructed.
+
+	* src/cff/cf2hints.c (cf2_hintmap_build): Add defensive code to
+	avoid reading past end of hintmask.
+
+2014-12-03  Werner Lemberg  <wl@gnu.org>
+
+	docs/CHANGES: Updated.
+
+2014-12-03  Werner Lemberg  <wl@gnu.org>
+
+	[autofit] Better fix for conversion specifiers in debug messages.
+
+	Using `%ld' for pointer differences causes warnings on 32bit
+	platforms.  The correct type would be (the relatively new) `%td',
+	however, this is missing on some important platforms.
+
+	This patch improves the change from 2014-11-28.
+
+	* src/autofit/afhints.c (AF_INDEX_NUM): Use `int' typecast.  Our
+	pointer differences are always sufficiently small.
+	(af_glyph_hints_dump_points, af_glyph_hints_dump_segments,
+	af_glyph_hints_dump_edge): Revert to `%d' and use `AF_INDEX_NUM'.
+
+2014-12-03  Werner Lemberg  <wl@gnu.org>
+
+	FT_Sfnt_Tag: s/ft_sfnt_xxx/FT_SFNT_XXX/ for orthogonality.
+
+	All public FreeType enumeration and flag values are uppercase...
+
+	* include/tttables.h (FT_Sfnt_Tag): Implement it.  For backward
+	compatibility, retain the old values as macros.
+
+	* src/base/ftfstype.c (FT_Get_FSType_Flags), src/sfnt/sfdriver.c
+	(get_sfnt_table): Updated.
+
+2014-12-02  Werner Lemberg  <wl@gnu.org>
+
+	* include/*: Improve structure of documentation.
+
+	. Add and update many `<Order>' tags.
+	. Apply various documentation fixes.
+	. Remove details to deprecated (or never implemented) data.
+
+2014-12-02  Werner Lemberg  <wl@gnu.org>
+
+	[docmaker] Always handle `<Order>' section elements.
+
+	Previously, those elements were handled only for sections present in
+	a `<Sections>' chapter element.
+
+	* src/tools/docmaker/content.py (ContentProcessor::finish):
+	Implement it.
+
+2014-12-02  Werner Lemberg  <wl@gnu.org>
+
+	[docmaker] Properly handle empty rows in Synopsis.
+
+	* src/tools/docmaker/tohtml.py (HtmlFormatter::section_enter): Emit
+	`&nbsp;' for empty fields.
+
+2014-12-02  Werner Lemberg  <wl@gnu.org>
+
+	[docmaker] Thinko.
+
+	* src/tools/docmaker/content.py (DocBlock::get_markup_words_all):
+	Emit `/empty/' string for first element also.
+
+2014-12-02  Werner Lemberg  <wl@gnu.org>
+
+	[docmaker] Honour empty lines in `<Order>' section element.
+
+	This greatly improves the readability of the `Synopsis' links.
+
+	* src/tools/docmaker/content.py (DocBlock::get_markup_words_all):
+	Insert string `/empty/' between items.
+
+	* src/tools/docmaker/formatter.py (Formatter::section_dump): Make it
+	robust against nonexistent keys.
+
+	* src/tools/docmaker/tohtml.py (HtmlFormatter::section_enter): Emit
+	empty <td> elements for `/empty/'.
+
+2014-12-02  Werner Lemberg  <wl@gnu.org>
+
+	[docmaker] Ensure Python 3 compatibility.
+
+	* src/tools/docmaker/content.py (ContentProcessor::set_section,
+	ContentProcessor::finish): Replace `has_key' function with `in'
+	keyword.
+
+	* src/tools/docmaker/formatter.py (Formatter::__init__): Replace
+	sorting function with a key generator.
+	(Formatter::add_identifier): Replace `has_key' function with `in'
+	keyword.
+
+	* src/tools/docmaker/tohtml.py (HtmlFormatter::html_source_quote):
+	Replace `has_key' function with `in' keyword.
+	(HtmlFormatter::index_exit, HtmlFormatter::section_enter): Use
+	integer division.
+	s/<>/>/.
+
+	* src/tools/docmaker/utils.py: Import `itertools'.
+	(index_sort): Replaced by...
+	(index_key): ... this new key generator (doing exactly the same).
+
+2014-11-29  Werner Lemberg  <wl@gnu.org>
+
+	[docmaker] Don't output a block multiple times.
+
+	This bug was hidden by not processing all lines of `<Order>' blocks.
+
+	* src/tools/docmaker/formatter.py (Formatter::section_dump): Filter
+	out field names.
+
+2014-11-29  Werner Lemberg  <wl@gnu.org>
+
+	[docmaker] Use field values as HTML link targets where possible.
+
+	* src/tools/docmaker/tohtml.py (HtmlFormatter::make_block_url):
+	Accept second, optional argument to specify a name.
+	(HtmlFormatter::html_source_quote): Link to field ID if possible.
+	(HtmlFormatter::print_html_field_list): Emit `id' attribute.
+
+2014-11-29  Werner Lemberg  <wl@gnu.org>
+
+	[docmaker] Allow empty lines in `<Order>' blocks.
+
+	Before this patch, the suggested order of entries stopped at the
+	first empty line.
+
+	Obviously, nobody noticed that this problem caused a much reduced
+	set of links in the `Synopsis' sections; in particular, the
+	`<Order>' blocks contain a lot of entries that wouldn't be listed
+	otherwise...
+
+	* src/tools/docmaker/content.py (DocBlock::get_markup_words_all):
+	New function to iterate over all items.
+	(DocSection::process): Use it.
+
+2014-11-29  Werner Lemberg  <wl@gnu.org>
+
+	* src/tools/docmaker/sources.py (column) [Format 2]: Fix regexp.
+
+	After the single asterisk there must be no other immediately following
+	asterisk.
+
+2014-11-29  Werner Lemberg  <wl@gnu.org>
+
+	* src/tools/docmaker/tohtml.py: Improve CSS for vertical spacing.
+
+2014-11-29  Werner Lemberg  <wl@gnu.org>
+
+	[docmaker] Improve HTML code for table of contents.
+
+	* src/tools/docmaker/tohtml.py: Introduce a new table class `toc',
+	together with proper CSS.
+
+2014-11-29  Werner Lemberg  <wl@gnu.org>
+
+	[docmaker] Provide higher-level markup and simplify HTML.
+
+	* src/tools/docmaker/tohtml.py: Instead of using extraneous `<div>'
+	elements, use CSS descendants (of class `section') to format the
+	data.
+
+	Also remove redundant <p> and <br> elements, replacing them with
+	proper CSS.
+
+	Globally reduce page width to 75%.
+
+	(block_header): Rename <div> class to `section'.
+
+2014-11-29  Werner Lemberg  <wl@gnu.org>
+
+	[docmaker] Add `top' links after blocks.
+
+	* src/tools/docmaker/tohtml.py (block_footer_middle): Implement it.
+
+2014-11-29  Werner Lemberg  <wl@gnu.org>
+
+	* src/tools/docmaker/tohtml.py: Improve CSS for fields.
+
+	Make fields align horizontally relative to full line width.
+
+2014-11-29  Werner Lemberg  <wl@gnu.org>
+
+	* src/tools/docmaker/tohtml.py: Fix index and TOC templates.
+
+	This thinko was introduced 2014-11-27.
+
+2014-11-28  Werner Lemberg  <wl@gnu.org>
+
+	[docmaker] Format field lists with CSS.
+
+	This also simplifies the inserted HTML code.
+
+	* src/tools/docmaker/tohtml.py
+	(HtmlFormatter::print_html_field_list): Do it.
+
+2014-11-28  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
+
+	Fix compiler warning to the comparison between signed and
+	unsigned variable.
+
+	* src/pfr/pfrsbit.c (pfr_slot_load_bitmap): Fix the comparison
+	between `ypos + ysize' and FT_INT_{MAX,MIN}.
+
+2014-11-28  Werner Lemberg  <wl@gnu.org>
+
+	[docmaker] Replace empty `<td>' with CSS.
+
+	* src/tools/docmaker/tohtml.py (HtmlFormatter::section_enter): Do
+	it.
+
+2014-11-28  Werner Lemberg  <wl@gnu.org>
+
+	[docmaker] Replace some `<table>' tags with `<h4>' and `<div>'.
+
+	* src/tools/docmaker/tohtml.py (marker_*): Use `<h4>'.
+	(source_*): Use `<div>'.
+	(HtmlFormatter::block_enter): s/<h4>/<h3>/.
+
+2014-11-28  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
+
+	Fix compiler warning to conversion specifiers in debug messages.
+
+	* src/autofit/afhints.c (af_glyph_hints_dump_points): Add length
+	modifier to dump long integers.
+	(af_glyph_hints_dump_segments, af_glyph_hints_dump_edges): Ditto.
+
+2014-11-27  Werner Lemberg  <wl@gnu.org>
+
+	* src/tools/docmaker/tohtml.py: Use more CSS for index.
+
+2014-11-27  Werner Lemberg  <wl@gnu.org>
+
+	[docmaker] Replace `name' attribute of `<a>' with `id'.
+
+	* src/tools/docmaker/tohtml.py (HtmlFormatter::block_enter): Do it.
+
+2014-11-27  Werner Lemberg  <wl@gnu.org>
+
+	* src/tools/docmaker/tohtml.py: Remove remaining `width' attributes.
+
+	For `Index' and `TOC' links, we now simply use the `text-align' CSS
+	property of `<td>' to enforce flush-left and flush-right,
+	eliminating the hack with an empty, full-width `<td>' element
+	inbetween.
+
+	The change also enforces the same (smaller) size for all index and
+	TOC links.
+
+2014-11-27  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
+
+	* src/cff/cf2font.c: Include `ftcalc.h' to use FT_MSB(),
+	cf2font.c could not find it under `make multi' build.
+
+2014-11-27  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
+
+	* src/smooth/ftsmooth.c (ft_smooth_render_generic): Remove
+	unrequired negative value check for `width' and `height'.
+
+2014-11-27  Werner Lemberg  <wl@gnu.org>
+
+	* src/tools/docmaker/tohtml.py: More HTML table refactoring.
+
+	Replace some `<table>' tags with `<div>' to simplify structure.
+
+	Move `bgcolor' attribute to CSS.
+
+	Replace most `width' attributes with CSS.  The remaining instances
+	(providing a similar effect as LaTeX's `\hfill' command) are removed
+	in a later patch.
+
+2014-11-27  Werner Lemberg  <wl@gnu.org>
+
+	* src/tools/docmaker/tohtml.py: Replace <font> with CSS.
+
+2014-11-27  Werner Lemberg  <wl@gnu.org>
+
+	* src/tools/docmaker/tohtml.py: Center <table> with CSS.
+
+2014-11-27  Werner Lemberg  <wl@gnu.org>
+
+	* src/tools/docmaker/tohtml.py: Replace `<center>' with `<div>'.
+
+2014-11-27  Werner Lemberg  <wl@gnu.org>
+
+	* src/tools/docmaker/tohtml.py: Remove redundant `<center>' tags.
+
+	This starts a series of commits into the direction of generating
+	valid HTML 5 code, especially using much more CSS.
+
+2014-11-27  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
+
+	Prevent too negative values (< FT_INT_MIN) in bitmap metrics,
+	suggested by Alexei.
+
+	* src/pfr/pfrsbit.c (pfr_slot_load_bitmap): Prevent too
+	negative values in `xpos' and `ypos + ysize'.
+	* src/smooth/ftsmooth.c (ft_smooth_render_generic): Prevent
+	too negative values in `x_left' and `y_top'.  Either negative
+	values in `width' and `height' are checked.
+
+2014-11-27  Werner Lemberg  <wl@gnu.org>
+
+	[docmaker] Produce better HTML code.
+
+	* src/tools/docmaker/tohtml.py: Always use double quotes for
+	attribute values.
+	(source_footer): Close `td' and `tr' groups.
+
+2014-11-27  Werner Lemberg  <wl@gnu.org>
+
+	Use better way to disable creation of .pyc files for `make refdoc'.
+
+	Python 2.6 was released in 2008...
+
+	* builds/freetype.mk (refdoc): Use python's `-B' option.
+
+	* builds/detect.mk (std_setup, dos_setup): Mention required python
+	version for `refdoc' target.
+
+2014-11-27  Werner Lemberg  <wl@gnu.org>
+
+	* src/tools/docmaker/sources.py (re_bold, re_italic): Use
+	non-grouping parentheses.
+	* src/tools/docmaker/tohtml.py (HtmlFormatter::make_html_word):
+	Updated.
+
+2014-11-27  Werner Lemberg  <wl@gnu.org>
+
+	* src/base/ftobjs.c (FT_Get_Glyph_Name): Fix compiler warning.
+
+	Introduced in previous change.  Reported by Alexei.
+
+2014-11-26  Werner Lemberg  <wl@gnu.org>
+
+	* src/*: Add checks for parameters of API functions where missing.
+
+	`API functions' are functions tagged with `FT_EXPORT_DEF'.
+
+	Besides trivial fixes, the following changes are included, too.
+
+	* src/base/ftbdf.c (FT_Get_BDF_Charset_ID, FT_Get_BDF_Property): Set
+	error code if no service is available.
+
+	* src/base/ftinit.c (FT_Done_FreeType): Change return value for
+	invalid `library' parameter to `Invalid_Library_Handle'.
+
+	* src/base/ftobjs.c (FT_New_Size): Change return value for invalid
+	`asize' parameter to `Invalid_Argument'.
+
+	* src/base/ftoutln.c (FT_Outline_Copy): Change return value for
+	invalid `source' and `target' parameters to `Invalid_Outline'.
+	(FT_Outline_Done_Internal): Change return value for invalid
+	`outline' parameter to `Invalid_Outline'.
+
+2014-11-26  Werner Lemberg  <wl@gnu.org>
+
+	* src/cache/ftcbasic.c: Use single calls to `FT_TRACE'.
+
+2014-11-26  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
+
+	* src/base/ftobjs.c (Mac_Read_POST_Resource): Additional
+	overflow check in the summation of POST fragment lengths,
+	suggested by Mateusz Jurczyk <mjurczyk@google.com>.
+
+2014-11-26  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
+
+	* src/base/ftobjs.c (Mac_Read_POST_Resource): Insert comments
+	and fold too long tracing messages.
+
+2014-11-26  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
+
+	Fix Savannah bug #43540.
+
+	* src/base/ftmac.c (parse_fond): Prevent a buffer overrun
+	caused by a font including too many (> 63) strings to store
+	names[] table.
+
+2014-11-26  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
+
+	* src/base/ftobjs.c (Mac_Read_POST_Resource): Use unsigned long
+	variables to read the lengths in POST fragments.  Suggested by
+	Mateusz Jurczyk <mjurczyk@google.com>.
+
+2014-11-26  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
+
+	Fix Savannah bug #43539.
+
+	* src/base/ftobjs.c (Mac_Read_POST_Resource): Fix integer overflow
+	by a broken POST table in resource-fork.
+
+2014-11-26  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
+
+	Fix Savannah bug #43538.
+
+	* src/base/ftobjs.c (Mac_Read_POST_Resource): Fix integer overflow
+	by a broken POST table in resource-fork.
+
+2014-11-26  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
+
+	* src/base/ftobjs.c (Mac_Read_POST_Resource): Avoid memory leak
+	by a broken POST table in resource-fork.  Return after freeing
+	the buffered POST table when it is found to be broken.
+
+2014-11-25  Werner Lemberg  <wl@gnu.org>
+
+	*/*: s/Invalid_Argument/Invalid_Size_Handle/ where appropriate.
+
+2014-11-25  Werner Lemberg  <wl@gnu.org>
+
+	*/*: s/Invalid_Argument/Invalid_Stream_Handle/ where appropriate.
+
+2014-11-25  Werner Lemberg  <wl@gnu.org>
+
+	*/*: s/Invalid_Argument/Invalid_Library_Handle/ where appropriate.
+
+2014-11-25  Werner Lemberg  <wl@gnu.org>
+
+	*/*: s/Invalid_Argument/Invalid_Outline/ where appropriate.
+
+2014-11-25  Werner Lemberg  <wl@gnu.org>
+
+	*/*: s/Invalid_Argument/Invalid_Face_Handle/ where appropriate.
+
+2014-11-24  Werner Lemberg  <wl@gnu.org>
+
+	[Savannah bug #43682] Adjust some renderer callbacks.
+
+	* src/raster/ftraster.c (ft_black_set_mode): Change return type to
+	`int' to stay in sync with `FT_Renderer_SetModeFunc' prototype.
+
+	* src/smooth/ftgrays.c (gray_raster_set_mode): New dummy function
+	for orthogonality.
+	(ft_grays_raster): Use it.
+
+2014-11-25  Werner Lemberg  <wl@gnu.org>
+
+	[Savannah bug #43682] Properly handle missing return errors.
+
+	The functions in this patch *do* return non-trivial errors that must
+	be taken care of.
+
+	* src/autofit/afloader.c (af_loader_load_g), src/base/ftobjs.c
+	(FT_Render_Glyph_Internal), src/base/ftoutln.c (FT_Outline_Render),
+	src/cff/cffgload.c (cff_decoder_parse_charstrings) <cff_op_endchar>,
+	src/psaux/psobjs.c (ps_parser_load_field_table), src/psaux/t1decode
+	(t1_decoder_parse_charstrings) <op_endchar>, src/truetype/ttgload.c
+	(load_truetype_glyph <subglyph loop>, tt_loader_init,
+	TT_Load_Glyph), src/truetype/ttgxvar.c (TT_Set_MM_Blend),
+	src/truetype/ttobjs.c (tt_size_run_fpgm, tt_size_run_prep): Do it.
+
+2014-11-25  Werner Lemberg  <wl@gnu.org>
+
+	[Savannah bug #43682] Add/remove `void' casts to some functions.
+
+	We use a cast to indicate that we intentionally ignore a function's
+	return value.  However, this doesn't apply to API functions where
+	errors can only happen for trivially invalid input.
+
+	* src/base/ftstroke.c (FT_Glyph_Stroke, FT_Glyph_StrokeBorder),
+	src/base/ftsynth.c (FT_GlyphSlot_Embolden), src/cff/cffgload.c
+	(cff_slot_load), src/pfr/pfrdrivr.c (pfr_get_kerning),
+	src/type1/t1load.c (parse_encoding), src/type42/t42parse.c
+	(t42_parse_encoding): Do it.
+
+2014-11-25  Werner Lemberg  <wl@gnu.org>
+
+	[Savannah bug #43682] Change some signatures to `void' return type.
+
+	* include/internal/pshints.h (PSH_Globals_SetScaleFunc),
+	include/internal/sfnt.h (TT_Get_Metrics_Func),
+	src/pshinter/pshglob.c (psh_globals_set_scale),
+	src/pshinter/pshrec.c (ps_hints_init), src/sfnt/ttmtx.c
+	(tt_face_get_metrics), src/truetype/ttinterp.c (TT_Goto_CodeRange,
+	TT_Set_CodeRange, TT_Clear_CodeRange, TT_Done_Context,
+	TT_Save_Context): Do it.
+
+	* src/pshinter/pshglob.h, src/pshinter/pshrec.h, src/sfnt/ttmtx.h,
+	src/truetype/ttgload.c (TT_Hint_Glyph), src/truetype/ttinterp.c
+	(TT_Run_Context), src/truetype/ttinterp.h, src/truetype/ttobjs.c
+	(tt_size_run_fpgm, tt_size_run_prep): Updated.
+
+2014-11-24  Werner Lemberg  <wl@gnu.org>
+
+	Remove all code related to FT_MAX_CHARMAP_CACHEABLE.
+
+	This is no longer used.
+
+	* src/base/ftobjs.c, src/cache/ftccmap.c, src/cff/cffobjs.c,
+	src/sfnt/ttcmap.c: Do it.
+
+2014-11-24  Werner Lemberg  <wl@gnu.org>
+
+	[sfnt] Fix Savannah bug #43680.
+
+	This adds an additional constraint to make the fix from 2013-01-25
+	really work.
+
+	* src/sfnt/ttsbit.c (tt_sbit_decoder_load_image) <index_format==4>:
+	Check `p' before `num_glyphs'.
+
+2014-11-24  Werner Lemberg  <wl@gnu.org>
+
+	[truetype] Fix Savannah bug #43679.
+
+	* src/truetype/ttpload.c (tt_face_load_hdmx): Check minimum size of
+	`record_size'.
+
+2014-11-24  Jarkko Pöyry  <jarkko.poyry@gmail.com>
+
+	[cff, pfr, psaux, winfonts] Fix Savannah bug #43676.
+
+	Don't cast cmap init function pointers to an incompatible type.
+
+	Without this patch, the number of parameters between declaration and
+	the real signature differs.  Calling such a function results in
+	undefined behavior.
+
+	  ISO/IEC 9899:TC3 (Committee Draft September 7, 2007)
+	    6.5.2.2 Function calls
+	      9 If the function is defined with a type that is not
+	        compatible with the type (of the expression) pointed to by
+	        the expression that denotes the called function, the
+	        behavior is undefined.
+
+	On certain platforms (c -> js with emscripten) this causes
+	termination of execution or invalid calls because in the emscripten
+	implementation, function pointers of different types are stored in
+	different pointer arrays.  Incorrect pointer type here results in
+	indexing of an incorrect array.
+
+	* src/cff/cffcmap.c (cff_cmap_encoding_init, cff_cmap_unicode_init),
+	src/pfr/pfrcmap.c (pfr_cmap_init), src/psaux/t1cmap.c
+	t1_cmap_standard_init, t1_cmap_expert_init, t1_cmap_custom_init,
+	t1_cmap_unicode_init), src/winfonts/winfnt.c (fnt_cmap_init): Fix
+	signature.
+
+2014-11-24  Werner Lemberg  <wl@gnu.org>
+
+	[sfnt] Fix Savannah bug #43672.
+
+	* src/sfnt/ttkern.c (tt_face_load_kern): Use correct value for
+	minimum table length test.
+
+2014-11-24  Werner Lemberg  <wl@gnu.org>
+
+	[type1, type42] Another fix for Savannah bug #43655.
+
+	* src/type1/t1load.c (parse_charstrings), src/type42/t42parse.c
+	(t42_parse_charstrings): Add another boundary testing.
+
+2014-11-24  Werner Lemberg  <wl@gnu.org>
+
+	[docmaker] Formatting, copyright, improved documentation.
+
+	* src/tools/docmaker/*: No code changes besides trivial
+	modifications.
+
+2014-11-22  Werner Lemberg  <wl@gnu.org>
+
+	[bdf] Fix Savannah bug #43660.
+
+	* src/bdf/bdflib.c (_bdf_parse_glyphs) <"ENDFONT">: Check
+	`_BDF_GLYPH_BITS'.
+
+2014-11-22  Werner Lemberg  <wl@gnu.org>
+
+	[type42] Allow only embedded TrueType fonts.
+
+	This is a follow-up to Savannah bug #43659.
+
+	* src/type42/t42objs.c (T42_Face_Init): Exclusively use the
+	`truetype' font driver for loading the font contained in the `sfnts'
+	array.
+
+2014-11-22  Werner Lemberg  <wl@gnu.org>
+
+	[type42] Fix Savannah bug #43659.
+
+	* src/type42/t42objs.c (T42_Open_Face): Initialize `face->ttf_size'.
+
+	* src/type42/t42parse.c (t42_parse_sfnts): Always set
+	`face->ttf_size' directly.  This ensures a correct stream size in
+	the call to `FT_Open_Face', which follows after parsing, even for
+	buggy input data.
+	Fix error messages.
+
+2014-11-22  Werner Lemberg  <wl@gnu.org>
+
+	[cff] Fix Savannah bug #43658.
+
+	* src/cff/cf2ft.c (cf2_builder_lineTo, cf2_builder_cubeTo): Handle
+	return values of point allocation routines.
+
+2014-11-22  Werner Lemberg  <wl@gnu.org>
+
+	[sfnt] Fix Savannah bug #43656.
+
+	* src/sfnt/ttcmap.c (tt_cmap4_validate): Fix order of validity
+	tests.
+
+2014-11-21  Werner Lemberg  <wl@gnu.org>
+
+	[type1, type42] Fix Savannah bug #43655.
+
+	* src/type1/t1load.c (parse_charstrings), src/type42/t42parse.c
+	(t42_parse_charstrings): Fix boundary testing.
+
+2014-11-21  Werner Lemberg  <wl@gnu.org>
+
+	* src/pcf/pcfread.c (pcf_get_metrics): Sanitize invalid metrics.
+
+2014-11-21  Werner Lemberg  <wl@gnu.org>
+
+	[ftlcdfil] Obey flow direction.
+
+	* src/base/ftlcdfil.c (_ft_lcd_filter_fir, _ft_lcd_filter_legacy):
+	Handle `up' flow.
+
+2014-11-21  Werner Lemberg  <wl@gnu.org>
+
+	* src/base/ftbitmap.c (FT_Bitmap_Convert): Improve.
+
+	This commit completes argument checks and adds support for different
+	flow directions.
+
+2014-11-21  Werner Lemberg  <wl@gnu.org>
+
+	* src/base/ftbitmap.c (FT_Bitmap_Copy): Improve.
+
+	This commit adds argument checks and support for different flow
+	directions.
+
+2014-11-20  Werner Lemberg  <wl@gnu.org>
+
+	* src/base/ftbitmap.c (FT_Bitmap_New): Check argument.
+
+2014-11-19  Werner Lemberg  <wl@gnu.org>
+
+	Change some fields in `FT_Bitmap' to unsigned type.
+
+	This doesn't break ABI.
+
+	* include/ftimage.h (FT_Bitmap): Make `rows', `width', `num_grays',
+	`pixel_mode', and `palette_mode' unsigned types.
+
+	* src/base/ftbitmap.c: Updated.
+	(FT_Bitmap_Copy): Fix casts.
+
+	* src/cache/ftcsbits.c, src/raster/ftraster.c, src/sfnt/pngshim.c:
+	Updated.
+
+2014-11-19  Werner Lemberg  <wl@gnu.org>
+
+	Make `FT_Bitmap_Convert' correctly handle negative `pitch' values.
+
+	* src/base/ftbitmap.c (FT_Bitmap_Convert): Always use positive value
+	for the pitch while copying data.
+	Correctly set pitch sign in target bitmap.
+
+2014-11-19  Werner Lemberg  <wl@gnu.org>
+
+	Minor code improvement in `FT_Bitmap_Embolden'.
+
+	* src/base/ftbitmap.c (FT_Bitmap_Embolden) <FT_PIXEL_MODE_GRAY[24]>:
+	Fix thinko.
+
+2014-11-19  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	* src/base/fttrigon.c: Use dedicated `FT_Angle' for arctan table.
+
+2014-11-19  Behdad Esfahbod  <behdad@behdad.org>
+
+	Avoid compiler warnings on x86-64 for `FT_MulFix'.
+
+	`FT_MulFix' takes `FT_Long' parameters as defined in `freetype.h',
+	but several inline implementations of it in `ftcalc.h' take
+	`FT_Int32' arguments.  This is causing compiler warnings on x86-64:
+	If parameters of type `FT_Fixed' (= `FT_Long') are passed to the
+	inline implementation of this function, integer values are truncated
+	from 64bit to 32bit.
+
+	* include/internal/ftcalc.h (FT_MulFix) [FT_MULFIX_ASSEMBLER]: Add
+	casts.
+
+2014-11-15  Werner Lemberg  <wl@gnu.org>
+
+	[sfnt] Fix Savannah bug #43597.
+
+	* src/sfnt/pngshim.c (Load_SBit_Png): Protect against too large
+	bitmaps.
+
+2014-11-12  Werner Lemberg  <wl@gnu.org>
+
+	[sfnt] Fix Savannah bug #43591.
+
+	* src/sfnt/ttsbit.c (tt_sbit_decoder_init): Protect against addition
+	and multiplication overflow.
+
+2014-11-12  Werner Lemberg  <wl@gnu.org>
+
+	[sfnt] Fix Savannah bug #43590.
+
+	* src/sfnt/ttload.c (check_table_dir, tt_face_load_font_dir):
+	Protect against addition overflow.
+
+2014-11-12  Werner Lemberg  <wl@gnu.org>
+
+	[sfnt] Fix Savannah bug #43589.
+
+	* src/sfnt/sfobjs.c (woff_open_font): Protect against addition
+	overflow.
+
+2014-11-12  Werner Lemberg  <wl@gnu.org>
+
+	[sfnt] Fix Savannah bug #43588.
+
+	* src/sfnt/ttcmap.c (tt_cmap8_validate, tt_cmap10_validate,
+	tt_cmap12_validate, tt_cmap13_validate, tt_cmap14_validate): Protect
+	against overflow in additions and multiplications.
+
+2014-11-10  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	[base] CORDIC improvements.
+
+	The scaling between the hypotenuse and its CORDIC approximation is
+	based on regression analysis. The smaller padding for `theta' is
+	justified by its maximum error of less than 6.
+
+	* src/base/fttrigon.c (ft_trig_downscale): Borrow code from
+	./ftcalc.c (ft_multo64), change linear intercept.
+	(ft_trig_pseudo_polarize): Decrease `theta' padding.
+
+2014-11-09  Werner Lemberg  <wl@gnu.org>
+
+	* src/base/ftstroke.c (ft_stroker_inside): Fix border intersections.
+
+	One more place to check whether `radius' is zero.
+
+	Problem reported by Marco Wertz <marco.wertz@gmx.de>.
+
+2014-11-07  Werner Lemberg  <wl@gnu.org>
+
+	[bdf] Fix Savannah bug #43535.
+
+	* src/bdf/bdflib.c (_bdf_strncmp): New macro that checks one
+	character more than `strncmp'.
+	s/ft_strncmp/_bdf_strncmp/ everywhere.
+
+2014-11-06  Werner Lemberg  <wl@gnu.org>
+
+	[pcf] Fix Savannah bug #43548.
+
+	* src/pcf/pcfread.c (pcf_get_encodings): Add sanity checks for row
+	and column values.
+
+2014-11-06  Werner Lemberg  <wl@gnu.org>
+
+	[pcf] Fix Savannah bug #43547.
+
+	* src/pcf/pcfread.c (pcf_read_TOC): Check `size' and `offset'
+	values.
+
+2014-11-06  Werner Lemberg  <wl@gnu.org>
+
+	* src/pcf/pcfread.c (pcf_read_TOC): Avoid memory leak.
+
+2014-11-03  Infinality  <infinality@infinality.net>
+
+	* src/truetype/ttsubpix.c (COMPATIBILITY_MODE_Rules): Updated.
+
+	The previous commit deteriorates rendering of DejaVu and similar
+	fonts; this gets compensated with this rule.
+
+2014-11-03  Werner Lemberg  <wl@gnu.org>
+
+	* src/truetype/ttinterp.c (Ins_DELTAP): Fix subpixel hinting.
+
+	Before this patch, it was impossible to ever call DELTAP[123] in
+	subpixel hinting mode as described in the ClearType whitepaper; it
+	only worked if in `compatibility mode'.  However, compatibility mode
+	essentially disables SHPIX, completely ruining hinting of
+	ttfautohint output, for example.
+
+	We now follow the whitepaper more closely so that DELTAP[123]
+	instructions for touched points in the non-subpixel direction are
+	executed.
+
+2014-10-31  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	[smooth] Improve code readability.
+
+	* src/smooth/ftsmooth.c (ft_smooth_render_generic): Rearrange code.
+
+2014-10-31  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	[smooth] Reduce outline translations during rendering.
+
+	* src/smooth/ftsmooth.c (ft_smooth_render_generic): Translate origin
+	virtually by modifying cbox, actually translate outline if cumulative
+	shift is not zero.
+
+2014-10-30  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	[smooth] Fix Savannah bug #35604 (cont'd).
+
+	* src/smooth/ftsmooth.c (ft_smooth_render_generic): Remove checks and
+	casts that became unnecessary after the variable type upgrades.
+
+2014-10-29  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	[smooth] Improve code readability.
+
+	* src/smooth/ftsmooth.c (ft_smooth_render_generic): Rearrange code.
+
+2014-10-29  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	Unify hypotenuse approximations.
+
+	* include/internal/ftcalc.h (FT_HYPOT): Move macro from here...
+	* include/internal/ftobjs.h: ... to here, next to required `FT_ABS'.
+	* src/smooth/ftgrays.c (gray_render_cubic): Use it here.
+
+2014-10-25  Werner Lemberg  <wl@gnu.org>
+
+	[cff] Test valid darkening parameter macros in `ftoption.h'.
+
+	We no longer need an otherwise unused typedef that can cause a gcc
+	warning.
+	Problem reported by Alexei.
+
+	* src/cff/cffobjs.c (cff_driver_init): Use
+	`CFF_CONFIG_OPTION_DARKENING_PARAMETER_XXX' macros directly.
+	(SET_DARKENING_PARAMETERS): Removed.
+	Compile time tests are now ...
+
+	* devel/ftoption.h, include/config/ftoption.h: ... here.
+
+2014-10-25  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	Improve flat corner definition.
+
+	* include/internal/ftcalc.h (FT_HYPOT): Macro to approximate Euclidean
+	distance with the alpha max plus beta min algorithm.
+	* src/base/ftcalc.c (ft_corner_is_flat): Use it instead of Taxicab
+	metric.
+
+2014-10-23  David Weiß  <David.Weiss@ptvgroup.com>
+
+	[build] Improve property file for vc2010.
+
+	User-defined properties should be empty by default to prevent linker
+	failures.
+
+	* builds/windows/vc2010/freetype.user.props,
+	builds/windows/vc2010/freetype.vcxproj:
+	s/OptionsDirectory/UserOptionDirectory/.
+	Comment out all user options.
+
+2014-10-23  Werner Lemberg  <wl@gnu.org>
+
+	[cff] Work around bug in preprocessor of MSVC 2010.
+
+	We have been hit by
+
+	  https://connect.microsoft.com/VisualStudio/feedback/details/718976/msvc-pr
+
+	* devel/ftoption.h, include/config/ftoption.h: Replace
+	`CFF_CONFIG_OPTION_DARKENING_PARAMETERS' with eight macros
+	`CFF_CONFIG_OPTION_DARKENING_PARAMETER_{X,Y}{1,2,3,4}'.
+
+	* src/cff/cffobjs.c (SET_DARKENING_PARAMETERS): Removed.  We no
+	longer need double expansion.
+	(SET_DARKENING_PARAMETERS_0): Renamed to ...
+	(SET_DARKENING_PARAMETERS): ... this.
+	Update call.
+
+2014-10-20  Werner Lemberg  <wl@gnu.org>
+
+	[sbit] Minor fixes.
+
+	* src/sfnt/ttsbit.c (tt_face_load_sbit) [TT_SBIT_TABLE_TYPE_SBIX]:
+	Accept overlay format also, but emit warning message in that case.
+	(tt_sbit_decoder_load_metrics): Add missing newline to error
+	message.
+	(tt_sbit_load_sbix_image): Add `rgbl' graphic type (as used on iOS
+	7.1) to the list of unsupported formats.
+
+2014-10-19  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	[truetype] Clean up bytecode rounding.
+
+	Zero distance does not have to be treated specially if you follow
+	specifications and check the sign as the very last step of rounding.
+
+	* src/truetype/ttinterp.c (Round_None, Round_To_Grid,
+	Round_Down_To_Grid, Round_Up_To_Grid, Round_To_Double_Grid): Use
+	macros when available, do not check for non-zero distance.
+	(Round_To_Half_Grid, Round_Super, Round_Super_45): Ditto, return phase
+	if sign changed.
+
+2014-10-18  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	[truetype] Unwrap engine compensation settings.
+
+	* src/truetype/ttobjs.c (tt_size_init_bytecode): Updated.
+
+2014-10-18  David Weiß  <David.Weiss@ptvgroup.com>
+
+	[build] Add property file to vc2010 project.
+
+	This simplifies custom build configurations, especially for
+	automated build environments.
+
+	* builds/windows/vc2010/freetype.user.props: New configuration file.
+
+	* builds/windows/vc2010/freetype.vcxproj: Include
+	`freetype.user.props' and use its data fields.
+
+	* builds/windows/vc2010/index.html: Updated.
+
+2014-10-18  Werner Lemberg  <wl@gnu.org>
+
+	[autofit] Add blue-zone support for Telugu.
+
+	This essentially moves the Telugu script from the `Indic' hinter to
+	the `Latin' hinter.
+
+	Note that this is a first shot and quite certainly needs
+	refinements.
+
+	* src/autofit/afblue.dat: Add blue zone data for Telugu.
+
+	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
+
+	* src/autofit/afscript.h: Add Telugu standard characters and move
+	data out of AF_CONFIG_OPTION_INDIC block.
+
+	* src/autofit/afranges.c: Move Telugu data out of
+	AF_CONFIG_OPTION_INDIC block.
+
+	* src/autofit/afstyles.h: Update Telugu data; in particular, use
+	AF_WRITING_SYSTEM_LATIN.
+
+2014-10-18  David Wimsey  <david@wimsey.us>
+
+	[cmake] Add iOS build support.
+	From Savannah patch #8497.
+
+	* builds/cmake/iOS.cmake: New file.  Universal binaries are built
+	with both 32 and 64 bit arm architectures.
+
+	* CMakeLists.txt (IOS_PLATFORM): New variable for running the iOS
+	toolchain.  Possible values are `OS' to build on iOS, or
+	`SIMULATOR' to build on APPLE.
+
+2014-10-16  Behdad Esfahbod  <behdad@behdad.org>
+	    Werner Lemberg  <wl@gnu.org>
+
+	[cff] Add `CFF_CONFIG_OPTION_DARKENING_PARAMETERS' config macro.
+
+	* devel/ftoption.h, include/config/ftoption.h
+	(CFF_CONFIG_OPTION_DARKENING_PARAMETERS): New macro.
+
+	* src/cff/cffobjs.c (SET_DARKENING_PARAMETERS,
+	SET_DARKENING_PARAMETERS_0): New macros.
+	(cff_driver_init): Use new macros.
+
+2014-10-14  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	[truetype] Limit delta shift range.
+
+	The valid range for delta shift is zero through six.  Negative values
+	are invalid according to
+
+	  https://developer.apple.com/fonts/TrueType-Reference-Manual/RM04/Chap4.html#delta%20shift
+
+	* src/truetype/ttobjs.h (delta_shift, delta_base): Make unsigned.
+	* src/truetype/ttinterp.h (DO_SDS): Throw an error if `delta_shift'
+	is out of range.
+	(Ins_DELTAP, Ins_DELTAC): Optimize for valid `delta_shift'.
+
+2014-10-16  Werner Lemberg  <wl@gnu.org>
+
+	A better fix for Savannah bug #43392.
+	Suggested by Doug Felt <dougfelt@gmail.com>.
+
+	* src/sfnt/ttsbit.c (tt_sbit_decoder_load_metrics): Set
+	`vertAdvance' to zero...
+
+	* src/truetype/ttgload.c (TT_Load_Glyph): ... and set here a default
+	value for `vertAdvance' based on `linearVertAdvance' in case
+	`vertAdvance' is zero.  Note that the previous computed ad-hoc value
+	for `linearVertAdvance' was apparently not tested in a real-life
+	situation.
+
+2014-10-14  David Weiß  <David.Weiss@ptvgroup.com>
+
+	[build] Better optimization settings for vc2010 solution file.
+
+	* builds/windows/vc2010/freetype.sln,
+	builds/windows/vc2010/freetype.vcxproj: Updated.
+
+2014-10-14  Werner Lemberg  <wl@gnu.org>
+
+	[autofit] Adjust Devanagari character range.
+
+	* src/autofit/afranges.c (af_deva_uniranges): Omit characters that
+	are common to all other Indic scripts.
+
+2014-10-12  Werner Lemberg  <wl@gnu.org>
+
+	[sfnt] Fix Savannah bug #43392.
+
+	* src/sfnt/ttsbit.c (tt_sbit_decoder_load_metrics): Don't let
+	vertical metrics uninitialized.
+
+2014-10-11  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	[base] Small bbox correction.
+
+	* src/base/ftbbox.c (FT_Outline_Get_BBox): Start from nonsense bbox
+	instead of initial point that could be `off' in conic outlines.
+
+2014-10-08  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	[base] Fix Savannah bug #43356.
+
+	* src/base/ftbbox.c (BBox_Move_To, BBox_Conic_To): Update bbox in case
+	of implicit `to'.
+	(BBox_Line_To): New emitter that does not update bbox.
+
+2014-10-08  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	[base] Introduce and use new macro `FT_UPDATE_BBOX'
+
+	* src/base/ftbbox.c (FT_UPDATE_BBOX): New macro.
+	(FT_Outline_Get_BBox): Use it here.
+
+2014-10-02  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	[base] Significant optimization of `ft_div64by32'
+
+	We shift as many bits as we can into the high register, perform
+	32-bit division with modulo there, then work through the remaining
+	bits with long division. This optimization is especially noticeable
+	for smaller dividends that barely use the high register.
+
+	* src/base/ftcalc.c (ft_div64by32): Updated.
+
+2014-10-02  Dave Arnold  <darnold@adobe.com>
+
+	[cff] Fix Savannah bug #43271.
+
+	* src/cff/cf2font.c (cf2_computeDarkening): Change overflow
+	detection to use logarithms and clamp `scaledStem'.
+
+2014-10-01  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	* src/base/ftcalc.c: Remove miscellaneous type casts.
+
+2014-10-01  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	[base] Use more common `FT_MSB' implementation with masks.
+
+	* src/base/ftcalc.c (FT_MSB): Updated.
+
+2014-09-30  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	[base] Clean up.
+
+	* src/base/ftcalc.c (FT_MOVE_SIGN): New macro for frequently used
+	code.
+
+2014-09-25  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	[base] Avoid unnecessary long division.
+
+	This applies to `FT_MulDiv' but not to `FT_DivFix', where overflows or
+	lack thereof are predicted accurately.
+
+	* src/base/ftcalc.c (ft_div64by32): Improve readability.
+	(FT_MulDiv, FT_MulDiv_No_Round) [!FT_LONG64]: Use straight division
+	when multiplication stayed within 32 bits.
+
+2014-09-24  Werner Lemberg  <wl@gnu.org>
+
+	[autofit] Minor clean-ups.
+
+	* src/autofit/afhints.c (AF_FLAGS): Remove obsolete values.
+
+	* src/autofit/afhints.c (af_glyph_hints_dump_points,
+	af_glyph_hints_align_strong_points): Updated.
+
+	* src/autofit/aflatin.c (af_latin_hints_link_segments,
+	af_latin_hints_compute_segments), src/autofit/afcjk.c
+	(af_cjk_hints_link_segments), src/autofit/aflatin2.c
+	(af_latin2_hints_link_segments, af_latin2_hints_compute_segments):
+	There are no longer fake segments since more than 10 years...
+
+2014-09-22  Werner Lemberg  <wl@gnu.org>
+
+	[autofit] Minor code streamlining.
+
+	* src/autofit/afhints.c (af_axis_hints_new_edge): Remove redundant
+	initialization.
+
+2014-09-19  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	* src/base/ftcalc.c: Harmonize code.
+
+2014-09-15  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	[base] Tighten the overflow check in `FT_MulDiv'.
+
+	* src/base/ftcalc.c (FT_MulDiv) [!FT_LONG64]: Updated.
+
+2014-09-08  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	Fix Savannah bug #43153.
+
+	* src/psaux/psconv.c (PS_Conv_ToFixed): Add protection against
+	overflow in `divider'.
+
+2014-09-03  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	[base] Tighten the overflow check in `FT_DivFix'.
+
+	This fixes a 13-year old bug. The original overflow check should have
+	been updated when rounding was introduced into this function
+	(c2cd00443b).
+
+	* src/base/ftcalc.c (FT_DivFix) [!FT_LONG64]: Updated.
+	* include/freetype.h (FT_DivFix): Updated documentation.
+
+2014-09-03  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	[base] Tighten the overflow check in `FT_MulFix'.
+
+	* src/base/ftcalc.c (FT_MulFix) [!FT_LONG64]: Updated.
+
+2014-09-02  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	[truetype] Shortcut ppem calculations for square pixels.
+
+	* src/truetype/ttinterp.h (TT_ExecContextRec): New field
+	`cur_ppem_func' with a function pointer.
+	* src/truetype/ttinterp.c (TT_RunIns): Initialize `cur_ppem_func'
+	depending on the pixel geometry to either...
+	(Current_Ppem_Stretched): ... this for stretched pixels.
+	(Current_Ppem): ... or this for square pixels.
+	(DO_MPPEM, DO_MPS, Ins_DELTAP, Ins_DELTAC): Use `cur_ppem_func'.
+
+2014-08-31  Behdad Esfahbod  <behdad@behdad.org>
+
+	Don't use `register' keyword.  Fixes compiler warnings.
+
+	* src/base/ftcalc.c (FT_Add64) [!FT_LONG64]: Do it.
+	* src/gzip/inftrees.c (huft_build): Ditto.
+	* src/truetype/ttinterp.c (TT_MulFix14_arm): Ditto.
+
+2014-08-24  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	[truetype] Optimize DELTAP and DELTAC.
+
+	* src/truetype/ttinterp.c (Ins_DELTAP, Ins_DELTAC): Move ppem
+	calculations outside of the loop.
+
+2014-08-21  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	Fix Savannah bug #43033.
+
+	* include/config/ftconfig.h, builds/unix/ftconfig.in,
+	builds/vms/ftconfig.h [FT_LONG64]: Do not disable the macro when
+	64-bit type is `long'.
+
+2014-08-20  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	[base] Small optimization of `FT_MulFix'.
+
+	* src/base/ftcalc.c (FT_MulFix): Loosen up the condition for direct
+	32-bit calculations.
+
+2014-08-19  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	[base] Use unsigned calculation in `FT_MulDiv'.
+
+	* src/base/ftcalc.c (FT_MulDiv): Updated to expand 32-bit range.
+
+2014-08-18  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	[base] Remove truncation in `FT_DivFix'.
+
+	* src/base/ftcalc.c (FT_DivFix): Updated.
+
+2014-08-14  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	Minor refactoring.
+
+	* src/base/ftcalc.c (FT_MulDiv, FT_MulDiv_No_Round): Updated.
+
+2014-08-14  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	Turn FT_MSB into a macro when using gcc builtins.
+
+	* src/base/ftcalc.c, include/internal/ftcalc.h: Updated.
+
+2014-08-12  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	[base] Avoid undefined FT_MSB in `BBox_Cubic_Check'.
+
+	* src/base/ftbbox.c (BBox_Cubic_Check): Update.
+	(update_cubic_max): Replace with...
+	(cubic_peak): ... this, which now handles upscaling.
+
+2014-08-11  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	[base] Handle collapsed outlines to avoid undefined FT_MSB.
+
+	* src/base/ftoutln.c (FT_Outline_Get_Orientation): Update.
+
+2014-08-11  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	[base] Restore FT_MulFix inlining.
+
+	* include/freetype.h (FT_MulFix): Unconditionally defined.
+
+	* src/base/ftcalc.c [FT_MULFIX_ASSEMBLER]: Move code from here...
+
+	* include/internal/ftcalc.h [FT_MULFIX_ASSEMBLER]: ... to here,
+	which conditionally replaces the function with an inline version
+	through the macro.
+
+2014-08-08  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	* src/base/ftbitmap.c (ft_gray_for_premultiplied_srgb_bgra): Refactor.
+
+2014-07-26  Werner Lemberg  <wl@gnu.org>
+
+	[cff] Fix typo.
+
+	* src/cff/cf2hints.c (cf2_glyphpath_computeOffset): Use correct
+	offsets in third quadrant.
+
+	Reported by maks <maksqwe1@ukr.net>.
+
+2014-07-17  Werner Lemberg  <wl@gnu.org>
+
+	Fix Savannah bug #42788.
+
+	* src/pfr/pfrobjs.c: Include `ftcalc.h'.
+
+2014-07-16  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	Replace `ft_highpow2' function.
+
+	* src/pfr/pfrobjs.c (pfr_face_get_kerning): Use `FT_MSB' instead of
+	`ft_highpow2'.
+
+	* src/base/ftutil.c, include/internal/ftobjs.h (ft_highpow2): Remove
+	it.
+
+2014-07-15  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	* src/base/ftcalc.c (FT_MSB): Utilize gcc builtins.
+
+2014-07-15  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	[base] Move assembler code back in the source file.
+
+	FT_MulFix assembler used to reside in ftcalc.c before f47d263f1b.
+
+	* include/config/ftconfig.h, builds/unix/ftconfig.in,
+	builds/vms/ftconfig.h [FT_MULFIX_ASSEMBLER]: Move code from here...
+
+	* src/base/ftcalc.c [FT_MULFIX_ASSEMBLER]: ... to here.
+
+2014-07-14  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	[base] Further clean up color bitmap conversion.
+
+	* src/base/ftbitmap.c (ft_gray_for_premultiplied_srgb_bgra): Stop
+	using FT_MulFix and FT_DivFix since all calculations fit into 32 bits.
+
+2014-07-13  Werner Lemberg  <wl@gnu.org>
+
+	[truetype] Improve handling of buggy `prep' tables.
+
+	In case of an error in the `prep' table, no longer try to execute it
+	again and again.  This makes FreeType handle endless loops in buggy
+	fonts much faster.
+
+	* src/truetype/ttobjs.h (TT_SizeRec): The fields `bytecode_ready'
+	and `cvt_ready' are now negative if not initialized yet, otherwise
+	they indicate the error code of the last run.
+
+	* src/truetype/ttobjs.c (tt_size_run_fpgm, tt_size_run_prep,
+	tt_size_done_bytecode, tt_size_init_bytecode,
+	tt_size_ready_bytecode, tt_size_init, tt_size_done, tt_size_reset):
+	Updated.
+
+	* src/truetype/ttgload.c (tt_loader_init): Updated.
+	* src/truetype/ttinterp.c (TT_RunIns): Force reexecution of `fpgm'
+	and `prep' only if we are in the `glyf' table.
+
+2014-07-12  Werner Lemberg  <wl@gnu.org>
+
+	* builds/vms/ftconfig.h: Synchronize.
+	Problem reported by Alexei.
+
+2014-07-11  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	[base] Clean up bitmap conversion.
+
+	* src/base/ftbitmap.c (ft_gray_for_premultiplied_srgb_bgra): Use
+	appropriate FT_DivFix and remove superfluous upscaling.
+
+2014-07-04  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	[base] Small optimization of the ancient code.
+
+	* src/base/ftcalc.c (FT_MulDiv, FT_MulDiv_No_Round): Loosen up the
+	condition for direct 32-bit calculations.
+
+2014-06-27  Werner Lemberg  <wl@gnu.org>
+
+	Fix Apple standard glyph names.
+
+	* src/sfnt/ttpost.c (tt_post_default_names): Synchronize with
+	`tools/glnames.py'
+
+	Problem reported by Adam Twardoch <adam@fontlab.com>.
+
+2014-06-17  Werner Lemberg  <wl@gnu.org>
+
+	Partially revert commit from 2014-06-13.
+
+	* src/autofit/aflatin.c (af_latin_metrics_init_blues): Move
+	declaration of `p_first' and `p_last' out of the loop.
+
+2014-06-17  Werner Lemberg  <wl@gnu.org>
+
+	* builds/unix/freetype2.m4: s/AC_PATH_PROG/AC_PATH_TOOL/.
+
+	This simplifies cross-compiling.
+
+2014-06-13  Werner Lemberg  <wl@gnu.org>
+
+	Fix more compiler warnings.
+	Reported by Wojciech Mamrak <wmamrak@gmail.com>.
+
+	* src/autofit/afglobal.c (af_face_globals_compute_style_coverage):
+	Make integer constant unsigned.
+
+	* src/sfnt/ttsbit.c (tt_face_load_strike_metrics)
+	<TT_SBIT_TABLE_TYPE_SBIX>: Fix types.
+	(tt_sbit_decoder_load_compound, tt_face_load_sbix_image): Add proper
+	casts.
+
+2014-06-13  Werner Lemberg  <wl@gnu.org>
+
+	Fix compiler warnings.
+	Reported by Wojciech Mamrak <wmamrak@gmail.com>.
+
+	* src/autofit/afglobal.c (af_face_globals_compute_style_coverage),
+	src/autofit/afmodule.c (af_property_set): Fix `signed' vs.
+	`unsigned' issues.
+
+	* src/autofit/aflatin.c (af_latin_metrics_init_blues): Make compiler
+	happy.
+
+	* src/base/ftlcdfil.c (_ft_lcd_filter_fir): Use only four elements
+	for `fir'.
+	Fix `signed' vs. `unsigned' issues.
+
+	* src/sfnt/sfobjs.c (WRITE_BYTE): Removed, unused.
+	(WRITE_USHORT, WRITE_ULONG): Add proper casts.
+
+	* src/truetype/ttgload.c (TT_Get_VMetrics): Add proper casts.
+
+	* src/truetype/ttinterp.c (Ins_DELTAP): Add proper casts for `B1'
+	and `B2'.
+
+2014-05-16  Alexey Petruchik  <alexey.petruchik@gmail.com>
+
+	[cmake] Add option to build OS X framework.
+
+	* CMakeLists.txt: Update accordingly.
+
+	* builds/mac/freetype-Info.plist: New file.
+
+2014-05-13  Pavel Koshevoy  <pkoshevoy@gmail.com>
+
+	* CMakeLists.txt (BASE_SRCS): Add missing `ftbdf.c'.
+
+2014-05-11  Werner Lemberg  <wl@gnu.org>
+
+	[autofit] Fix variable initializations.
+
+	* src/autofit/afhints.c (af_glyph_hints_reload): Assign default
+	values to `in_dir' and `out_dir' for all points.
+
+2014-05-11  Werner Lemberg  <wl@gnu.org>
+
+	[autofit] Fix crash with font `CabinSketch-Bold.ttf'.
+
+	Problem reported by Ralf S. Engelschall <rse@engelschall.com>.
+
+	* src/autofit/afhints.c (af_glyph_hints_reload): Fix threshold for
+	finding first non-near point.
+	Properly initialize non-near point deltas.
+
+2014-05-01  Werner Lemberg  <wl@gnu.org>
+
+	[autofit] Add blue-zone support for Devanagari.
+
+	This essentially moves the Devanagari script from the `Indic' hinter
+	to the `Latin' hinter.  Thanks to Girish Dalvi
+	<girish.dalvi@gmail.com> for guidance with blue zone characters!
+
+	* src/autofit/afblue.dat: Add blue zone data for Devanagari.
+
+	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
+
+	* src/autofit/afscript.h: Add Devanagari standard characters and
+	move data out of AF_CONFIG_OPTION_INDIC block.
+
+	* src/autofit/afranges.c: Move Devanagari data out of
+	AF_CONFIG_OPTION_INDIC block.
+	Move U+20B9, (new) Rupee sign, from Latin to Devanagari.
+
+	* src/autofit/afstyles.h: Update Devanagari data; in particular, use
+	AF_WRITING_SYSTEM_LATIN.
+
+2014-05-01  Werner Lemberg  <wl@gnu.org>
+
+	[autofit] Fix handling of neutral blue zones in stems.
+
+	* src/autofit/afhints.h (AF_Edge_Flags): New value
+	`AF_EDGE_NEUTRAL'.
+
+	* src/autofit/aflatin.c (af_latin_hints_compute_blue_edges): Trace
+	neutral blue zones with AF_EDGE_NEUTRAL.
+	(af_latin_hint_edges): Skip neutral blue zones if necessary.
+
+2014-04-28  Werner Lemberg  <wl@gnu.org>
+
+	[autofit] Introduce neutral blue zones to the latin module.
+
+	Such blue zones match either the top or the bottom of a contour.  We
+	need them for scripts where accent-like elements directly touch the
+	base character (for example, some vowel signs in Devanagari, cf.
+	U+0913 or U+0914).
+
+	* src/autofit/afblue.hin (AF_BLUE_PROPERTY_LATIN_NEUTRAL): New
+	property.
+
+	* src/autofit/afblue.h: Regenerated.
+
+	* src/autofit/aflatin.h (AF_LATIN_IS_NEUTRAL_BLUE): New macro.
+	(AF_LATIN_BLUE_NEUTRAL): New enumeration value.
+
+	* src/autofit/aflatin.c (af_latin_metrics_init_blues,
+	af_latin_hints_compute_blue_edges): Handle neutral blue zones.
+
+2014-04-25  Werner Lemberg  <wl@gnu.org>
+
+	* src/autofit/hbshim.c: Partially revert commit from 2014-04-17.
+
+	Using input glyph coverage data is simply wrong.
+
+	Problem reported by Nikolaus Waxweiler <madigens@gmail.com> and
+	Mantas Mikulėnas <grawity@gmail.com>.
+
+2014-04-23  Werner Lemberg  <wl@gnu.org>
+
+	* src/raster/ftraster.c (Vertical_Sweep_Span): Use drop-out mode.
+
+	This spot has been missed while introducing support for various
+	drop-out modes years ago (including no drop-out mode, which this
+	commit fixes).
+
+	Problem reported by Patrick Thomas <pthomas505@gmail.com>.
+
+2014-04-22  Werner Lemberg  <wl@gnu.org>
+
+	* src/sfnt/pngshim.c (error_callback): s/longjmp/ft_longjmp/.
+
+2014-04-20  Werner Lemberg  <wl@gnu.org>
+
+	[autofit] Fix Savannah bug #42148.
+
+	The adaptation of the cjk auto-hinter module to blue stringsets in
+	2013-08-25 had three severe bugs.  Mea culpa.
+
+	1. Contrary to the latin auto-hinter, characters for reference and
+	   overshoot values of a blue zone are specified separately.  Due to
+	   the screwed-up change it didn't work at all.
+
+	2. A boolean comparison was erroneously replaced with a cast,
+	   causing invalid results with the `^' operator later on.  The
+	   visual artifact caused by this problem is the topic of the bug
+	   report.
+
+	3. Two flag values were inverted, causing incorrect assignment of
+	   reference and overshoot values.
+
+	* src/autofit/afblue.dat: Fix CJK bluestrings, introducing a new
+	syntax to have both reference and overshoot characters in a single
+	string.  This is error #1.
+	Add extensive comments.
+
+	* src/autofit/afblue.hin (AF_BLUE_PROPERTY_CJK_FILL): Removed, no
+	longer used.
+	(AF_BLUE_PROPERTY_CJK_TOP, AF_BLUE_PROPERTY_CJK_HORIZ): Fix values.
+	This is error #3.
+
+	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
+
+	* src/autofit/afcjk.c (af_cjk_metrics_init_blues): Correct error #1.
+	Use character `|' to separate characters for reference and overshoot
+	values.
+	Improve tracing messages, synchronizing them with the latin
+	auto-hinter.
+	(af_cjk_hints_compute_blue_edges): Fix value of `is_top_right_blue'.
+	This is error #2.
+	(af_cjk_align_linked_edge): Add tracing message.
+
+	* src/autofit/afcjk.h (AF_CJK_IS_FILLED_BLUE): Removed, no longer
+	used.
+
+2014-04-17  Werner Lemberg  <wl@gnu.org>
+
+	[autofit] More coverage fixes for complex scripts.
+
+	* src/autofit/hbshim.c (af_get_coverage): Merge input glyph coverage
+	of GSUB lookups into output coverage.  Otherwise, ligatures are not
+	handled properly.
+	Don't check blue zone characters for default coverage.
+
+2014-04-17  Werner Lemberg  <wl@gnu.org>
+
+	Make `FT_Get_SubGlyph_Info' actually work.
+
+	* src/base/ftobjs.c (FT_Get_SubGlyph_Info): Return FT_Err_Ok
+	if there is no error.
+
+2014-04-15  Werner Lemberg  <wl@gnu.org>
+
+	[afblue.pl]: Minor improvements.
+
+	* src/tools/afblue.pl: Allow whitespace before comments.
+	Ignore whitespace in strings.
+
+2014-04-14  Werner Lemberg  <wl@gnu.org>
+
+	[autofit] Improve coverage handling.
+
+	* src/autofit/hbshim.c (af_get_coverage): Don't exclude glyphs
+	appearing in the GPOS table if we are processing the default
+	coverage.
+
+2014-04-13  David Weber  <weber.aulendorf@googlemail.com>
+
+	[smooth] Fix stand-alone compilation.
+
+	* src/smooth/ftgrays.c (FT_BEGIN_STMNT, FT_END_STMNT): Define.
+
+2014-04-12  Werner Lemberg  <wl@gnu.org>
+
+	[autofit] Redesign the recognition algorithm of strong points.
+
+	In particular, local extrema without horizontal or vertical segments
+	are better recognized:
+
+	  + A                + D
+	   \                /
+	    \              /
+	     \            /
+	      \          /
+	       \        + C
+	        \    /
+	       B +/
+
+	If the distances AB and CD are large, point B wasn't previously
+	detected as an extremum since the `ft_corner_is_flat' function
+	`swallowed' BC regardless of its direction, tagging point B as weak.
+	The next iteration started at B and made `ft_corner_is_flat' swallow
+	point C, tagging it as weak also, et voilà.
+
+	To improve that, another pass gets now performed before calling
+	`ft_corner_is_flat' to improve the `topology' of an outline: A
+	sequence of non-horizontal or non-vertical vectors that point into
+	the same quadrant are handled as a single, large vector.
+
+	Additionally, distances of near points are now accumulated, which
+	makes the auto-hinter handle them as if they were prepended to the
+	next non-near vector.
+
+	This generally improves the auto-hinter's rendering results.
+
+	* src/autofit/afhints.c (af_glyph_hints_reload): Implement it.
+
+	* src/autofit/afhints.h (AF_FLAGS): Remove no longer used flag
+	`AF_FLAG_NEAR'.
+
+2014-04-05  Werner Lemberg  <wl@gnu.org>
+
+	[autofit] Improve scoring algorithm for identifying stems.
+
+	Problem reported by Karsten Lücke <karsten.luecke@kltf.de>.
+
+	The new algorithm takes care of the width of stems: If the distance
+	between two segments is larger than the largest stem width, the
+	demerits quickly increase for larger distances.  This improves
+	hinting of slanted fonts (especially if the inner parts of serifs
+	have non-horizontal `shoulders'), avoiding false stem links.
+
+	* src/autofit/aflatin.c (af_latin_hints_link_segments): Use largest
+	stem width (if available) to compute better demerits for distances
+	between stems.
+	(af_latin_hints_detect_features): Pass stem width array and array
+	size.
+	(af_latin_metrics_init_widths): Updated to use original algorithm.
+	(af_latin_hints_apply): Updated to use new algorithm.
+
+	* src/autofit/aflatin.h: Updated.
+	* src/autofit/afcjk.c: Updated.
+
+2014-04-03  Werner Lemberg  <wl@gnu.org>
+
+	Don't require `gzip' module for `sfnt'.
+
+	Reported by Preet <prismatic.project@gmail.com>.
+
+	* src/sfnt/sfobjs.c (woff_open_font): Guard use of
+	FT_Gzip_Uncompress with FT_CONFIG_OPTION_USE_ZLIB.
+
+2014-03-27  Werner Lemberg  <wl@gnu.org>
+
+	Fix Savannah bug #38235.
+
+	Work around a bug in pkg-config version 0.28 and earlier: If a
+	variable value gets surrounded by doublequotes (in particular values
+	for the `prefix' variable), the prefix override mechanism fails.
+
+	* builds/unix/freetype2.in: Don't use doublequotes.
+	* builds/unix/unix-def.in (freetype.pc): Escape spaces in directory
+	names with backslashes.
+
+2014-03-24  Werner Lemberg  <wl@gnu.org>
+
+	Fix Savannah bug #41946.
+
+	Based on a patch from Marek Kašík <mkasik@redhat.com>.
+
+	* builds/unix/configure.raw (LIBS_CONFIG): Remove.
+	* builds/unix/freetype-config.in (libs): Hard-code value.
+	* builds/unix/unix-def.in: Updated.
+
+2014-03-22  Werner Lemberg  <wl@gnu.org>
+
+	Another revert for the change from 2014-03-18.
+
+	Problem reported by Nikolaus Waxweiler <madigens@gmail.com>.
+
+	* src/base/ftcalc.c (FT_MulFix): Ensure that an `FT_MulFix' symbol
+	gets always exported.
+
+2014-03-20  Werner Lemberg  <wl@gnu.org>
+
+	CMakeLists.txt: Another fix for include directories.
+
+	Problem reported by Taylor Holberton <taylorcholberton@gmail.com>.
+
+2014-03-19  Werner Lemberg  <wl@gnu.org>
+
+	CMakeLists.txt: Fix include directories.
+
+	Problem reported by Taylor Holberton <taylorcholberton@gmail.com>.
+
+2014-03-19  Werner Lemberg  <wl@gnu.org>
+
+	Partially revert last commit.
+
+	Found by Alexei.
+
+	* src/autofit/aflatin.c (af_latin_metrics_init_blues): Initializing
+	those variables is plain wrong, since we are in a loop.
+
+2014-03-18  Sean McBride  <sean@rogue-research.com>
+	    Werner Lemberg  <wl@gnu.org>
+
+	Fix clang warnings.
+
+	* src/autofit/aflatin.c (af_latin_metrics_init_blues): Initialize
+	some variables.
+
+	* src/base/ftcalc.c (FT_MulFix): Only use code if
+	`FT_MULFIX_INLINED' is not defined.
+
+	* src/bdf/bdfdrivr.c (bdf_cmap_class), src/cache/ftcbasic.c
+	(ftc_basic_image_family_class, ftc_basic_image_cache_class,
+	ftc_basic_sbit_family_class, ftc_basic_sbit_cache_class),
+	src/cache/ftccmap.c (ftc_cmap_cache_class), src/cache/ftcmanag.c
+	(ftc_size_list_class, ftc_face_list_class), src/pcf/pcfdrivr.c
+	(pcf_cmap_class), src/pfr/pfrdrivr.c (pfr_metrics_service_rec): Make
+	function static.
+
+	* src/type1/t1driver.c (t1_ps_get_font_value): Remove redundant
+	code.
+
+2014-03-17  Werner Lemberg  <wl@gnu.org>
+
+	Fix Savannah bug #41869.
+
+	This works around a problem with HarfBuzz (<= 0.9.26), which doesn't
+	validate glyph indices returned by
+	`hb_ot_layout_lookup_collect_glyphs'.
+
+	* src/autofit/hbshim.c (af_get_coverage): Guard `idx'.
+
+	* docs/CHANGES: Updated.
+
+2014-03-14  Werner Lemberg  <wl@gnu.org>
+
+	* builds/unix/configure.raw: Don't show error messages of `which'.
+
+2014-03-09  Alan Coopersmith  <alan.coopersmith@oracle.com>
+
+	Fix cppcheck 1.64 warning.
+
+	* src/autofit/afglobal.c (af_face_globals_new): Catch NULL pointer
+	dereference in case of error.
+
+2014-03-09  Sean McBride  <sean@rogue-research.com>
+
+	* src/sfnt/ttcmap.c (tt_face_build_cmaps): Remove clang warning.
+
+2014-03-06  Werner Lemberg  <wl@gnu.org>
+
+	* Version 2.5.3 released.
+	=========================
+
+
+	Tag sources with `VER-2-5-3'.
+
+	* docs/VERSION.DLL: Update documentation and bump version number to
+	2.5.3.
+
+	* README, Jamfile (RefDoc), builds/windows/vc2005/freetype.vcproj,
+	builds/windows/vc2005/index.html,
+	builds/windows/vc2008/freetype.vcproj,
+	builds/windows/vc2008/index.html,
+	builds/windows/vc2010/freetype.vcxproj,
+	builds/windows/vc2010/index.html,
+	builds/windows/visualc/freetype.dsp,
+	builds/windows/visualc/freetype.vcproj,
+	builds/windows/visualc/index.html,
+	builds/windows/visualce/freetype.dsp,
+	builds/windows/visualce/freetype.vcproj,
+	builds/windows/visualce/index.html,
+	builds/wince/vc2005-ce/freetype.vcproj,
+	builds/wince/vc2005-ce/index.html,
+	builds/wince/vc2008-ce/freetype.vcproj,
+	builds/wince/vc2008-ce/index.html: s/2.5.2/2.5.3/, s/252/253/.
+
+	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 3.
+
+	* builds/unix/configure.raw (version_info): Set to 17:2:11.
+	* CMakeLists.txt (VERSION_PATCH): Set to 3.
+	* docs/CHANGES: Updated.
+
+2014-03-06  Werner Lemberg  <wl@gnu.org>
+
+	Fixes for compilation with C++.
+
+	* src/autofit/hbshim.c (scripts): Change type to `hb_script_t'.
+	(af_get_coverage): Updated.
+	(COVERAGE): Add cast.
+
+2014-03-06  Sean McBride  <sean@rogue-research.com>
+
+	Remove more clang analyzer warnings.
+
+	* src/bdf/bdflib.c (_bdf_readstream), src/truetype/ttgload.c
+	(TT_Load_Glyph): Remove dead stores.
+
+2014-03-05  Werner Lemberg  <wl@gnu.org>
+
+	* builds/unix/configure.raw: Simplify.
+
+2014-03-05  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
+
+	Fix a bug in configure in library dependency setting
+	Reported in https://bugs.freedesktop.org/show_bug.cgi?id=75652.
+
+	* builds/unix/configure.raw: Use `x"${xxx}" != xno' style.
+
+2014-03-04  Werner Lemberg  <wl@gnu.org>
+
+	Minor fix for `make devel'.
+
+	* builds/freetype.mk (INCLUDE_FLAGS) [DEVEL_DIR]: Don't use
+	pkg-config for bzip2 since not all GNU/Linux distributions have
+	`bzip2.pc' (and the header file `bzlib.h' is located in /usr/include
+	normally).
+
+2014-03-04  Sean McBride  <sean@rogue-research.com>
+
+	Fix several clang static analyzer dead store warnings.
+
+	* src/autofit/afhints.c (af_glyph_hints_reload,
+	af_glyph_hints_align_weak_points): Remove unnecessary assignments.
+
+	* src/bdf/bdflib.c (bdf_font_load): Ditto.
+
+	* src/pshinter/pshalgo.c (psh_glyph_compute_extrema,
+	psh_glyph_interpolate_other_points): Ditto.
+
+	* src/type1/t1load.c (T1_Set_MM_Blend): Ditto.
+
+2014-03-03  Werner Lemberg  <wl@gnu.org>
+
+	Rewrite library option handling in `configure'.
+
+	o Introduce `auto' value for `--with-XXX' library options; this is
+	  now the default.
+
+	o First use `pkg-config' for library detection, then fall back to
+	  other tests.
+
+	* builds/unix/configure.raw (--with-zlib, --with-bzip2, --with-png,
+	--with-harfbuzz): Rewrite.
+	Use new `xxx_reqpriv', `xxx_libpriv', and `xxx_libstaticconf'
+	variables to collect data for `freetype2.pc' and `freetype-config'.
+	(FT2_EXTRA_LIBS): Renamed to ...
+	(ft2_extra_libs): This since it gets no longer substituted.
+	(REQUIRES_PRIVATE, LIBS_PRIVATE, LIBS_CONFIG, LIBSSTATIC_CONFIG):
+	New output variables, replacing `XXX_PKG' and `LIBXXX'.
+	Add notice at the end of `configure' showing the library
+	configuration.
+
+	* builds/unix/freetype-config.in (--static): New command line
+	option.
+	(libs): Updated.
+	(staticlibs): New variable, to be used if `--static' is given.
+	* docs/freetype-config.1: Document `--static'.
+
+	* builds/unix/freetype2.in, builds/unix/unix-def.in: Updated.
+
+2014-03-01  Werner Lemberg  <wl@gnu.org>
+
+	Avoid `long long' warnings with older gcc compilers.
+	Problem reported by Hin-Tak Leung <htl10@users.sourceforge.net>.
+
+	* builds/unix/configure.raw: Don't use gcc's `-pedantic' flag for
+	versions < 4.6.  This is especially needed for Max OS X since this
+	OS runs a gcc variant (or emulation) based on version 4.2.1.
+
+2014-03-01  Werner Lemberg  <wl@gnu.org>
+
+	* docs/INSTALL.CROSS: Revised and updated.
+
+2014-03-01  Werner Lemberg  <wl@gnu.org>
+
+	Make `make clean' remove `freetype2.pc'.
+
+	This is a generated file at build time, not configure time.
+
+	* builds/unix/unix-def.in (DISTCLEAN): Move `freetype2.pc' to ...
+	(CLEAN): This variable.
+
+2014-03-01  Werner Lemberg  <wl@gnu.org>
+
+	Use pkg-config for detecting libpng and libbz2 also.
+
+	* builds/unix/configure.raw (HAVE_PKG): New variable.
+	Search for libbz2 using `pkg-config'; s/BZ2/BZIP2/.
+	Search for libpng using `pkg-config'.
+	Fix definition of `LIBHARFBUZZ' variable.
+	* builds/unix/freetype-config.in ($libs): Updated.
+	* builds/unix/freetype2.in: Add `URL' field.
+	Update `Requires.private' and `Libs.private'.
+	* builds/unix/unix-def.in: Updated.
+
+2014-03-01  Werner Lemberg  <wl@gnu.org>
+
+	Add configure support for HarfBuzz.
+
+	* builds/unix/pkg.m4: New file.
+	* builds/unix/configure.raw: Search for libharfbuzz using
+	`pkg-config'.
+	Add `--without-harfbuzz' option.
+	* builds/unix/freetype-config.in, builds/unix/freetype2.in,
+	builds/unix/unix-def.in (freetype-config, freetype2.pc): Handle
+	HarfBuzz.
+
+	* docs/INSTALL.UNIX: Document interdependency of FreeType with
+	HarfBuzz.
+
+2014-02-28  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	[cff] Math simplifications.
+
+	* src/cf2blues.c (cf2_blues_init): Use `FT_MulDiv'.
+	* src/cf2ft.c (cf2_getScaleAndHintFlag): Use simple division.
+
+2014-02-28  Dave Arnold  <darnold@adobe.com>
+
+	[cff] Fix Savannah bug #41697, part 2.
+
+	* src/cff/cf2ft.c (cf2_initLocalRegionBuffer,
+	cf2_initGlobalRegionBuffer): It is possible for a charstring to call
+	a subroutine if no subroutines exist.  This is an error but should
+	not trigger an assert.  Split the assert to account for this.
+
+2014-02-28  Dave Arnold  <darnold@adobe.com>
+
+	[cff] Fix Savannah bug #41697, part 1.
+
+	* src/cff/cf2hints.c (cf2_hintmap_build): Return when `hintMask' is
+	invalid.  In this case, it is not safe to use the length of
+	`hStemHintArray'; the exception has already been recorded in
+	`hintMask'.
+
+2014-02-26  Werner Lemberg  <wl@gnu.org>
+
+	[sfnt] Fix Savannah bug #41696.
+
+	* src/sfnt/ttcmap.c (tt_cmap0_validate, tt_cmap2_validate,
+	tt_cmap4_validate, tt_cmap14_validate): Fix limit tests.
+
+2014-02-26  Werner Lemberg  <wl@gnu.org>
+
+	[winfnt] Fix Savannah bug #41694.
+
+	* src/winfonts/winfnt.c (FNT_Load_Glyph): Check glyph offset.
+
+2014-02-26  Werner Lemberg  <wl@gnu.org>
+
+	[cff] Fix Savannah bug #41693.
+
+	* src/cff/cffload.c (CFF_Load_FD_Select): Reject empty array.
+
+2014-02-26  Werner Lemberg  <wl@gnu.org>
+
+	[bdf] Fix Savannah bug #41692.
+
+	bdflib puts data from the input stream into a buffer in chunks of
+	1024 bytes.  The data itself gets then parsed line by line, simply
+	increasing the current pointer into the buffer; if the search for
+	the final newline character exceeds the buffer size, more data gets
+	read.
+
+	However, in case the current line's end is very near to the buffer
+	end, and the keyword to compare with is longer than the current
+	line's length, an out-of-bounds read might happen since `memcmp'
+	doesn't stop properly at the string end.
+
+	* src/bdf/bdflib.c: s/ft_memcmp/ft_strncmp/ to make comparisons
+	stop at string ends.
+
+2014-02-17  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
+
+	[autofit] Fix `make multi' compilation.
+
+	* src/autofit/hbshim.c: Include `afglobal.h' and `aftypes.h'.
+
+2014-02-19  Werner Lemberg  <wl@gnu.org>
+	    Simon Bünzli  <zeniko@gmail.com>
+
+	Fix Savannah bug #32902.
+
+	Patch taken from
+
+	  https://code.google.com/p/sumatrapdf/source/browse/trunk/ext/_patches/freetype2.patch?spec=svn8620&r=8620#87
+
+	with slight modifications.
+
+	* src/type1/t1parse.c (T1_Get_Private_Dict): Add heuristic test to
+	handle fonts that incorrectly use \r at the beginning of an eexec
+	block.
+
+2014-02-19  Simon Bünzli  <zeniko@gmail.com>
+
+	Fix Savannah bug #41590.
+
+	* src/type1/t1load.c (parse_encoding): Protect against invalid
+	number.
+
+2014-02-12  Dave Arnold  <darnold@adobe.com>
+
+	[cff] Optimize by using `FT_MulDiv'.
+	Suggested by Alexei.
+
+	* src/cff/cf2font.c (cf2_computeDarkening): Do it.
+
+2014-02-12  Werner Lemberg  <wl@gnu.org>
+
+	Fix Savannah bug #41465.
+
+	* builds/unix/unix-def.in (CLEAN): Add `freetype-config'.
+	(DISTCLEAN): Remove `freetype-config'.
+
+2014-02-08  Sean McBride  <sean@rogue-research.com>
+
+	Fix clang static analyzer and compiler warnings.
+
+	* src/autofit/afhints.c (af_glyph_hints_align_weak_points),
+	src/autofit/afloader (af_loader_load_g) <FT_GLYPH_FORMAT_COMPOSITE>,
+	src/base/ftcalc.c (FT_MSB), src/base/ftoutln.c
+	(FT_Outline_Decompose), src/bdf/bdfdrivr.c (bdf_interpret_style),
+	src/cff/cffparse.c (cff_parse_integer), src/cid/cidparse.c
+	(cid_parser_new), src/pfr/pfrload.c (pfr_phy_font_load),
+	src/raster/ftraster.c (Decompose_Curve), src/sfnt/sfdriver.c
+	(sfnt_get_ps_name), src/sfnt/ttcmap.c (tt_cmap12_next,
+	tt_cmap13_next), src/smooth/ftgrays.c (gray_hline): Remove dead
+	code.
+
+	* src/autofit/afmodule.c (af_property_get_face_globals,
+	af_property_set, af_property_get), src/base/ftbitmap.c
+	(ft_gray_for_premultiplied_srgb_bgra): Make functions static.
+
+	* src/base/ftobjs.c (ft_remove_renderer): Protect against
+	library == NULL.
+	(ft_property_do): Make function static.
+
+	* src/base/ftrfork.c: Include `ftbase.h'.
+
+	* src/sfnt/ttsbit.c (tt_face_load_sbix_image)
+	[!FT_CONFIG_OPTION_USE_PNG], src/type1/t1gload.c
+	(T1_Compute_Max_Advance): Avoid compiler warning.
+
+	* src/truetype/ttinterp.c (TT_New_Context): Reduce scope of
+	variable.
+
+2014-02-08  Werner Lemberg  <wl@gnu.org>
+
+	Fix Windows build directories.
+
+	The build target is now `windows' instead of `win32'.
+
+	Problem reported by Nickolas George <darknova.clan@gmail.com>.
+
+	* builds/modules.mk: Don't use `win32' and `win16' (!) but
+	`windows'.
+
+	* builds/windows/detect.mk, builds/windows/win32-def.mk:
+	s/win32/windows/.
+
+2014-02-08  Eugen Sawin  <esawin@mozilla.com>
+
+	Fix Savannah bug #41507.
+
+	* src/sfnt/ttsbit.c (tt_sbit_decoder_load_bitmap)
+	[!FT_CONFIG_OPTION_USE_PNG] <17, 17, 19>: Fix error handling.
+
+2014-02-08  Dave Arnold  <darnold@adobe.com>
+
+	[cff] Fix minor performance bug.
+
+	* src/cff/cf2font.c (cf2_font_setup): Darkening amount and blue zone
+	calculations are now cached and not recomputed on each glyph.
+
+2014-02-05  Werner Lemberg  <wl@gnu.org>
+
+	Fix problems with perl 5.8.8 as distributed with current MinGW.
+
+	* src/tools/afblue.pl: Work-around for Perl bug #63402.
+	(string_re): Avoid `possessive quantifiers', which have been
+	introduced in Perl version 5.10.
+
+2014-02-04  Werner Lemberg  <wl@gnu.org>
+
+	Fix compilation with MinGW.
+
+	Right now, compilation out of the box with latest MinGW is broken
+	due to bugs in header files of mingwrt 4.0.3 in strict ANSI mode,
+	cf.
+
+	  https://sourceforge.net/p/mingw/bugs/2024/
+	  https://sourceforge.net/p/mingw/bugs/2046/
+
+	* builds/unix/configure.raw: Don't set `-ansi' flag for MinGW.
+
+2014-02-04  Werner Lemberg  <wl@gnu.org>
+
+	[autofit] Minor fix.
+
+	* src/autofit/afcjk.c (af_cjk_metrics_init_widths),
+	src/autofit/aflatin.c (af_latin_metrics_init_widths): Fix handling
+	of alternative standard characters.
+	This also fixes a compilation warning in non-debug mode.
+
+2014-02-03  Werner Lemberg  <wl@gnu.org>
+
+	[cff] Fix Savannah bug #41363.
+
+	* src/cff/cf2ft.c (cf2_checkTransform): Convert assertion into
+	parameter check.
+	(cf2_decoder_parse_charstrings): Call `cf2_checkTransform' only if
+	we are scaling the outline.
+	(cf2_getPpemY): Remove problematic assertion.
+
+2014-01-26  Werner Lemberg  <wl@gnu.org>
+
+	[autofit] Introduce two more slots for standard characters.
+
+	This is useful for OpenType features like `c2sc' (caps to small
+	caps) that don't have lowercase letters by definition, or other
+	features that mainly operate on numerals.
+
+	* src/autofit/afscript.h: Add more standard characters.
+
+	* src/autofit/aftypes.h: Update use of `SCRIPT' macro.
+	(AF_ScriptClassRec): Add members to hold two more standard
+	characters.
+	(AF_DEFINE_SCRIPT_CLASS): Updated.
+
+	* src/autofit/afglobal.c, src/autofit/afglobal.h,
+	* src/autofit/afpic.c, src/autofit/afranges.h, src/autofit/hbshim.c:
+	Update use of `SCRIPT' macro.
+
+	* src/autofit/afcjk.c (af_cjk_metrics_init_widths),
+	src/autofit/aflatin.c (af_latin_metrics_init_widths): Scan two more
+	standard characters.
+
+2014-01-24  Werner Lemberg  <wl@gnu.org>
+
+	Fix Savannah bug #41320.
+
+	* src/autofit/aflatin.c (af_latin_metrics_init_blues)
+	<AF_LATIN_IS_LONG_BLUE>: Avoid negative index of `last'.
+
+2014-01-23  Werner Lemberg  <wl@gnu.org>
+
+	Fix Savannah bug #41310.
+
+	* src/sfnt/ttsbit.c (tt_sbit_decoder_load_bitmap) <glyph_format==5>:
+	Don't check metrics, which this format doesn't have.
+	This is another correction to the commit from 2013-11-21.
+
+2014-01-23  Werner Lemberg  <wl@gnu.org>
+
+	Fix Savannah bug #41309.
+
+	* src/type1/t1load.c (t1_parse_font_matrix): Properly handle result
+	of `T1_ToFixedArray'.
+
+	* src/cid/cidload.c (cid_parse_font_matrix): Synchronize with
+	`t1_parse_font_matrix'.
+
+	* src/type42/t42parse.c (t42_parse_font_matrix): Synchronize with
+	`t1_parse_font_matrix'.
+	(t42_parse_encoding): Synchronize with `t1_parse_encoding'.
+
+	* src/psaux/psobjs.c (ps_parser_load_field) <T1_FIELD_TYPE_BBOX>,
+	<T1_FIELD_TYPE_MMOX>: Properly handle result of `ps_tofixedarray'.
+
+2014-01-22  Werner Lemberg  <wl@gnu.org>
+
+	* src/autofit/hbshim.c (af_get_coverage): Fix memory leaks.
+
+2014-01-16  Werner Lemberg  <wl@gnu.org>
+
+	[autofit] Improve tracing of style coverages.
+
+	* include/internal/fttrace.h: Add `afglobal' for tracing style
+	coverages.
+
+	* src/autofit/afglobal.c: Include FT_INTERNAL_DEBUG_H.
+	(FT_COMPONENT): Define.
+	(af_face_globals_compute_style_coverage): Trace `gstyles' array
+	data.
+
+2014-01-09  Werner Lemberg  <wl@gnu.org>
+
+	Fix Savannah bug #41158.
+
+	* builds/unix/install.mk (install): Create man page directory.
+
+2014-01-08  Chongyu Zhu  <lembacon@gmail.com>
+
+	[arm] Fix Savannah bug #41138, part 2.
+
+	* builds/unix/ftconfig.in (FT_MulFix_arm), include/config/ftconfig.h
+	(FT_MulFix_arm), src/truetype/ttinterp.c (TT_MulFix14_arm): Fix
+	preprocessor conditionals for `add.w'.
+
+2014-01-08  Werner Lemberg  <wl@gnu.org>
+
+	[autofit] Fix Savannah bug #41138, part 1.
+
+	* src/tools/afblue.pl <Handling #endif>: Produce correct auxiliary
+	enumeration names for generated `#else'.
+
+	* src/autofit/afblue.h: Regenerated.
+
+2014-01-06  Werner Lemberg  <wl@gnu.org>
+
+	Add manual page for `freetype-config'.
+	Contributed by Nis Martensen <nis.martensen@web.de>.
+
+	* docs/freetype-config.1: New file.
+
+	* builds/unix/unix-def.in (mandir): Define.
+	* builds/unix/install.mk (install, uninstall): Handle manpage.
+
+2014-01-05  Werner Lemberg  <wl@gnu.org>
+
+	[autofit] Minor fixes for `afblue.pl'.
+
+	* src/tools/afblue.pl (aux_name): Don't use `reverse'.
+	<Handling #endif>: Use proper indentation for generated `#else'.
+
+	* src/autofit/afblue.h: Regenerated.
+
+2014-01-04  Werner Lemberg  <wl@gnu.org>
+
+	[autofit] Fix Indic scripts.
+
+	Split the single, incorrect Indic entry into separate scripts so
+	that the covered ranges are the same: Bengali, Devanagari, Gujarati,
+	Gurmukhi, Kannada, Limbu, Malayalam, Oriya, Sinhala, Sundanese,
+	Syloti Nagri, Tamil, Telugu, and Tibetan.  At the same time, remove
+	entries for Meetei Mayek and Sharada – the Unicode ranges were
+	incorrect (and nobody has complained about that), fonts are scarce
+	for those scripts, and the Indic auto-hinter support is rudimentary
+	anyways.
+
+	* src/autofit/afscript.h: Updated, using AF_CONFIG_OPTION_INDIC and
+	AF_CONFIG_OPTION_CJK.
+
+	* src/autofit/afstyles.h (STYLE_DEFAULT_INDIC): New auxiliary macro.
+	Use it, together with AF_CONFIG_OPTION_INDIC and
+	AF_CONFIG_OPTION_CJK, to update.
+
+	* src/autofit/afranges.c [AF_CONFIG_OPTION_INDIC]: Updated.
+	[!AF_CONFIG_OPTION_INDIC, !AF_CONFIG_OPTION_CJK]: Removed.
+	Sort entries by tags.
+
+2014-01-03  Werner Lemberg  <wl@gnu.org>
+
+	[autofit] Thinko.
+
+	* src/autofit/hbshim.c (af_get_char_index): Similar to
+	`af_get_coverage', reject glyphs which are not substituted.
+
+2014-01-03  Werner Lemberg  <wl@gnu.org>
+
+	[autofit] Fix handling of default coverages.
+
+	With this commit, the implementation of coverage handling is
+	completed.
+
+	* src/autofit/hbshim.c (af_get_coverage): Exit early if nothing to
+	do.
+	Reject coverages which don't contain appropriate glyphs for blue
+	zones.
+
+2014-01-03  Werner Lemberg  <wl@gnu.org>
+
+	[autofit] Fix handling of default coverages.
+
+	* src/autofit/afglobal.c (af_face_globals_compute_style_coverage):
+	First handle non-default coverages, then the default coverage of the
+	default script, and finally the other default coverages.
+
+2014-01-03  Werner Lemberg  <wl@gnu.org>
+
+	[autofit] Fix scaling of HarfBuzz shaping.
+
+	* src/autofit/hbshim.c (af_get_char_index): Scale to units per EM.
+
+2014-01-03  Werner Lemberg  <wl@gnu.org>
+
+	[autofit] Better ftgrid support.
+
+	* src/autofit/afhints.c (af_glyph_hints_get_segment_offset): Add
+	parameters `is_blue' and `blue_offset'.
+
+2014-01-01  Werner Lemberg  <wl@gnu.org>
+
+	[autofit] Remove some styles.
+
+	* src/autofit/afcover.h: Remove coverages for alternative fractions,
+	denominators, numerators, and fractions.
+
+	* src/autofit/afstyles.h (META_STYLE_LATIN): Updated.
+
+2014-01-01  Werner Lemberg  <wl@gnu.org>
+
+	[autofit] Add more styles.
+
+	* src/autofit/afstyles.h (STYLE_LATIN, META_STYLE_LATIN): New
+	auxiliary macros; use them to define styles for Cyrillic, Greek, and
+	Latin.
+
+	* src/autofit/afcover.h: Remove coverage for oldstyle figures.
+	Since those digits are used in combination with ordinary letters, it
+	makes no sense to handle them separately.
+
+	* src/autofit/afglobal.c (af_face_globals_get_metrics): Don't limit
+	`options' parameter to 4 bits.
+
+2014-01-01  Werner Lemberg  <wl@gnu.org>
+
+	[autofit] Fix style assignments to glyphs.
+
+	* src/autofit/hbshim.c (af_get_coverage)
+	[FT_CONFIG_OPTION_USE_HARFBUZZ]: Scan GPOS coverage of features also
+	so that we can skip glyphs that have both GSUB and GPOS data.
+
+2014-01-01  Werner Lemberg  <wl@gnu.org>
+
+	* src/autofit/hbshim.c: s/{lookups,glyphs}/gsub_{lookups,glyphs}/.
+
+2014-01-01  Werner Lemberg  <wl@gnu.org>
+
+	[autofit] Implement and use `af_get_char_index' with HarfBuzz.
+
+	* src/autofit/hbshim.c (COVERAGE) [FT_CONFIG_OPTION_USE_HARFBUZZ]:
+	Redefine to construct HarfBuzz features.
+	(af_get_char_index) [FT_CONFIG_OPTION_USE_HARFBUZZ]: Rewritten.
+
+	* src/autofit/aflatin.c (af_latin_metrics_init_blues): Use
+	`y_offset' to adjust `best_y'.
+
+2013-12-31  Werner Lemberg  <wl@gnu.org>
+
+	[autofit] s/AF_STYLE_...._DEFAULT/AF_STYLE_...._DFLT/i.
+
+2013-12-31  Werner Lemberg  <wl@gnu.org>
+
+	[autofit] Fix interface of `af_get_char_index'.
+
+	* src/autofit/hbshim.c (af_get_char_index): Return error value.
+	Add argument for y offset (to be used in a yet-to-come patch).
+
+	* src/autofit/hbshim.h, src/autofit/afcjk.c,
+	src/autofit/aflatin.c: Updated.
+
+2013-12-30  Werner Lemberg  <wl@gnu.org>
+
+	[autofit] Don't combine multiple features into one set.
+
+	Combining them, as originally envisioned, would lead to much more
+	complicated code, as investigations have shown meanwhile.  The major
+	drawback is that we run out of available style slots much earlier.
+	However, this is only a theoretical issue since we don't support a
+	large number of scripts currently.
+
+	* src/autofit/afcover.h: Replace `COVERAGE_{1,2,3}' macros with
+	a single-element `COVERAGE' macro, sort the elements by the feature
+	tags, and add entry for `ruby'.
+
+	* src/autofit/aftypes.h: Updated.
+	* src/autofit/hbshim.c: Updated.
+
+2013-12-28  Werner Lemberg  <wl@gnu.org>
+
+	[autofit] Code shuffling to reduce use of cpp macros.
+
+	* src/autofit/afglobal.c (af_face_globals_compute_style_coverage):
+	Call `af_get_coverage' unconditionally.
+
+	* src/autofit/autofit.c: Include `hbshim.c' unconditionally.
+
+	* src/autofit/hbshim.c (af_get_coverage)
+	[!FT_CONFIG_OPTION_USE_HARFBUZZ]: Provide dummy function.
+
+	* src/autofit/hbshim.h: Provide function declarations
+	unconditionally.
+
+2013-12-28  Werner Lemberg  <wl@gnu.org>
+
+	[autofit] Add wrapper function for `FT_Get_Char_Index'.
+
+	Yet-to-come changes will provide HarfBuzz functionality for the new
+	function.
+
+	* src/autofit/hbshim.c (af_get_char_index): New function.
+	* src/autofit/hbshim.h: Updated.
+
+	* src/autofit/afcjk.c (af_cjk_metrics_init_widths,
+	af_cjk_metrics_init_blues, af_cjk_metrics_check_digits): Updated.
+
+	* src/autofit/aflatin.c (af_latin_metrics_init_widths,
+	af_latin_metrics_init_blues, af_latin_metrics_check_digits):
+	Updated.
+
+2013-12-28  Werner Lemberg  <wl@gnu.org>
+
+	[autofit] Use `global' HarfBuzz font object.
+
+	We now use `hb_font' instead of `hb_face' since yet-to-come changes
+	need this.
+
+	* src/autofit/afglobal.h: Include `hbshim.h'.
+	(AF_FaceGlobalsRec) [FT_CONFIG_OPTION_USE_HARFBUZZ]: New member
+	`hb_font'.
+
+	* src/autofit/afglobal.c (af_face_globals_new)
+	[FT_CONFIG_OPTION_USE_HARFBUZZ]: Create `hb_font'.
+	(af_face_globals_free) [FT_CONFIG_OPTION_USE_HARFBUZZ]: Destroy
+	`hb_font'.
+
+	* src/autofit/hbshim.h: Include HarfBuzz headers.
+
+	* src/autofit/hbshim.c: Include `hbshim.h' instead of HarfBuzz
+	headers.
+	(af_get_coverage): Updated.
+
+2013-12-27  Werner Lemberg  <wl@gnu.org>
+
+	[autofit] Handle `DFLT' OpenType script for coverages.
+
+	* include/ftautoh.h: Document new `default-script' property.
+
+	* src/autofit/hbshim.c (af_get_coverage): Use `AF_FaceGlobals' for
+	type of first parameter.
+	(script_tags): Add one more element.
+	(af_get_coverage): Adjust `script_tags' to handle `DFLT' script tag.
+
+	* src/autofit/hbshim.h: Updated.
+
+	* src/autofit/afglobal.c (af_face_globals_compute_style_coverage):
+	Updated.
+
+	* src/autofit/afglobal.h (AF_SCRIPT_DEFAULT): New macro.
+
+	* src/autofit/afmodule.h (AF_ModuleRec): New `default_script'
+	member.
+
+	* src/autofit/afmodule.c (af_property_set, af_property_get): Handle
+	`default-script' property.
+	(af_autofitter_init): Updated.
+
+2013-12-27  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
+
+	[ftrfork] Fix the face order difference between POSIX and Carbon.
+
+	The fragmented resources in Suitcase and .dfont should be reordered
+	when `POST' resource for Type1 is being restored, but reordering of
+	sfnt resources induces the different face order.  Now the ordering
+	is restricted to `POST' resource only, to prevent the different
+	order issue (e.g. the face index in the fontconfig cache generated
+	with Carbon framework is incompatible with that by FreeType 2
+	without Carbon framework.)  Found by Khaled Hosny and Hin-Tak Leung.
+
+	https://lists.gnu.org/archive/html/freetype-devel/2013-02/msg00035.html
+	https://lists.gnu.org/archive/html/freetype-devel/2013-12/msg00027.html
+
+	* src/base/ftrfork.c (FT_Raccess_Get_DataOffsets): Add a switch
+	`sort_by_res_id' to control the fragmented resource ordering.
+	* include/internal/ftrfork.h: Declare new switch.
+	* src/base/ftobjs.c (IsMacResource): Enable the sorting for `POST'
+	resource, and disable the sorting for `sfnt' resource.
+
+2013-12-25  Werner Lemberg  <wl@gnu.org>
+
+	Fix Savannah bug #40997.
+
+	* src/bdf/bdfdrivr.c (BDF_Face_Init): Only use OR operator to
+	adjust face flags since FT_FACE_FLAG_EXTERNAL_STREAM might already
+	be set.
+	* src/cff/cffobjs.c (cff_face_init): Ditto.
+	* src/cid/cidobjs.c (cid_face_init): Ditto.
+	* src/pcf/pcfread.c (pcf_load_font): Ditto.
+	* src/pfr/pfrobjs.c (pfr_face_init): Ditto.
+	* src/type1/t1objs.c (T1_Face_Init): Ditto.
+	* src/type42/t42objs.c (T42_Face_Init): Ditto.
+	* src/winfonts/winfnt.c (FNT_Face_Init): Ditto.
+
+2013-12-21  Werner Lemberg  <wl@gnu.org>
+
+	[autofit] Introduce `coverages'.
+
+	Coverages are the interface to the HarfBuzz library to access
+	OpenType features for handling glyphs not addressable by the cmap.
+
+	Right now, compilation of HarfBuzz is only added to the development
+	build.  A solution for standard build mode will be delayed until
+	HarfBuzz gets split into two libraries to avoid mutual dependencies
+	between FreeType and HarfBuzz.
+
+	Note that this is only a first step in handling coverages, basically
+	providing the framework only.  Code for handling selected OpenType
+	features (this is, actually using the data in `afcover.h') will
+	follow.
+
+	* devel/ftoption.h, include/config/ftoption.h
+	(FT_CONFIG_OPTION_USE_HARFBUZZ): New macro.
+
+	* src/autofit/hbshim.c, src/autofit/hbshim.h, src/autofit/afcover.h:
+	New files.
+
+	* src/autofit/afscript.h: Add HarfBuzz script name tags.
+
+	* src/autofit/afstyles.h: Add default coverage enumeration values.
+
+	* src/autofit/aftypes.h: Update use of `SCRIPT' and `STYLE' macros.
+	(AF_Coverage): New enumeration (generated by `afcover.h').
+	(AF_StyleClassRec): New member `coverage'.
+	(AF_DEFINE_STYLE_CLASS): Updated.
+
+	* include/internal/fttrace.h: Add `afharfbuzz' for tracing coverage
+	data.
+
+	* src/autofit/afglobal.h: Update use of `SCRIPT' and `STYLE' macros.
+	(AF_SCRIPT_FALLBACK): Renamed to ...
+	(AF_STYLE_FALLBACK): ... this.
+
+	* src/autofit/afglobal.c: Include `hbshim.c'.
+	Update use of `SCRIPT' and `STYLE' macros.
+	(af_face_globals_compute_style_coverage)
+	[FT_CONFIG_OPTION_USE_HARFBUZZ]: Call `af_get_coverage'.
+	Update.
+
+	* src/autofit/afmodule.h (AF_ModuleRec):
+	s/fallback_script/fallback_style/.
+
+	* src/autofit/afmodule.c (af_property_set): Adapt handling of
+	`fallback-script' property to set a fallback style.
+	(af_property_get, af_autofitter_init): Updated.
+
+	* src/autofit/afpic.c: Update use of `SCRIPT' and `STYLE' macros.
+
+	* src/autofit/afranges.h: Update use of `SCRIPT' macro.
+
+	* src/autofit/autofit.c [FT_CONFIG_OPTION_USE_HARFBUZZ]: Include
+	`hbshim.c'.
+
+	* src/autofit/rules.mk (AUTOF_DRV_SRC): Add `hbshim.c'.
+	(AUTOF_DRV_H): Add `afcover.h'.
+
+	* builds/freetype.mk (INCLUDE_FLAGS) [DEVEL_DIR]: Use pkg-config for
+	all libraries needed by FreeType.
+
+2013-12-21  Werner Lemberg  <wl@gnu.org>
+
+	Fix Savannah bug #40975 (sort of).
+
+	* src/truetype/ttinterp.c (Ins_IP): Fix sign typo to make FreeType
+	behave the same as the Windows TrueType engine for the invalid case.
+
+2013-12-21  Werner Lemberg  <wl@gnu.org>
+
+	[autofit] Make PIC mode work actually.
+
+	* src/autofit/afpic.h (AFModulePIC): Fix array sizes to fit the
+	enumeration values automatically generated by including `afscript.h'
+	and friends.
+
+	* src/autofit/afpic.c (autofit_module_class_pic_init): Updated.
+
+2013-12-21  Werner Lemberg  <wl@gnu.org>
+
+	Fix PIC linking.
+
+	* include/internal/ftrfork.h (CONST_FT_RFORK_RULE_ARRAY_BEGIN): Fix
+	generated function name.
+
+	* src/base/basepic.c (FT_Init_Table_raccess_guess_table): Rename
+	to ...
+	(FT_Init_Table_ft_raccess_guess_table): ... this so that the
+	function name correctly corresponds to what the macro framework
+	expects.
+
+	* src/psnames/rules.mk (PSNAMES_DRV_SRC_S): Use correct file name so
+	that PIC functions are compiled also.
+
+2013-12-21  Werner Lemberg  <wl@gnu.org>
+
+	[base] Add missing dependencies to Makefile.
+
+	* src/base/rules.mk (BASE_SRC): Add `basepic.c' and `ftpic.c'.
+	(BASE_H): Add `basepic.h'.
+
+2013-12-20  Werner Lemberg  <wl@gnu.org>
+
+	[autofit] Fix PIC compilation.
+
+	* src/autofit/afcjk.c (af_cjk_metrics_init_widths),
+	src/autofit/aflatin.c (af_latin_metrics_init_widths)
+	[FT_CONFIG_OPTION_PIC]: Declare `globals'.
+
+	* src/autofit/afglobal.c: Always call AF_DEFINE_SCRIPT_CLASS, and
+	AF_DEFINE_STYLE_CLASS.
+
+	* src/autofit/afpic.c: Include `afglobal.h'.
+	(autofit_module_class_pic_init): Typo.
+
+	* src/autofit/aftypes.h (AF_DEFINE_SCRIPT_CLASS,
+	AF_DEFINE_STYLE_CLASS): Don't use the same identifier for macro
+	parameter and structure member.
+
+2013-12-20  Werner Lemberg  <wl@gnu.org>
+
+	[autofit] Introduce `styles'.
+
+	This is the new top-level structure for handling glyph input data;
+	scripts are now defined separately.
+
+	* src/autofit/aftypes.h (SCRIPT): Updated.
+	(AF_ScriptClassRec): Move `blue_stringset' and `writing_system'
+	members to ...
+	(AF_Style_ClassRec): ... this new structure.
+	(AF_Style): New enumeration.
+	(AF_StyleMetricsRec): Replace `script' enumeration with
+	`style_class' pointer.
+	(AF_DEFINE_SCRIPT_CLASS, AF_DECLARE_SCRIPT_CLASS): Updated.
+	(AF_DEFINE_STYLE_CLASS, AF_DECLARE_STYLE_CLASS): New macros.
+
+	* src/autofit/afstyles.h: New file, using data from `afscript.h'.
+	* src/autofit/afscript.h: Updated.
+
+	* src/autofit/afcjk.c (af_cjk_metrics_init_widths,
+	af_cjk_metrics_init_blues, af_cjk_hint_edges): Updated.
+
+	* src/autofit/afglobal.c (SCRIPT): Updated.
+	(STYLE): Redefine macro to load `afstyles.h'.
+	(af_script_names) [FT_DEBUG_LEVEL_TRACE]: Replace with...
+	(af_style_names): ... this array.
+	(af_face_globals_compute_script_coverage): Renamed to...
+	(af_face_globals_compute_style_coverage): ... this.
+	Updated.
+	(af_face_globals_new, af_face_globals_free,
+	af_face_globals_get_metrics): Updated.
+
+	* src/autofit/afglobal.h (SCRIPT): Updated.
+	(STYLE): Redefine macro to load `afstyles.h'.
+	(AF_SCRIPT_FALLBACK): Update definition.  This will get more
+	refinements with later on.
+	(AF_SCRIPT_UNASSIGNED): Replace with...
+	(AF_STYLE_UNASSIGNED): ... this macro.
+	(AF_FaceGlobalsRec): Updated.
+
+	* src/autofit/aflatin.c (af_latin_metrics_init_widths,
+	af_latin_metrics_init_blues, af_latin_metrics_scale_dim,
+	af_latin_hint_edges): Updated.
+
+	* src/autofit/aflatin2.c (af_latin2_metrics_init_widths): Updated.
+	(af_ltn2_uniranges): Removed.
+
+	* src/autofit/afloader.c (af_loader_load_g, af_loader_load_glyph):
+	Updated.
+
+	* src/autofit/afpic.c (autofit_module_class_pic_init): Updated.
+	* src/autofit/afpic.h (AF_STYLE_CLASSES_GET): New macro.
+	(AFModulePIC): Add `af_style_classes' and `af_style_classes_rec'
+	members.
+
+	* src/autofit/afranges.h: Updated.
+
+	* src/autofit/rules.mk (AUTOF_DRV_H): Add `afstyles.h'.
+
+2013-12-19  Werner Lemberg  <wl@gnu.org>
+
+	[autofit] Factor scripts and uniranges out of writing system files.
+
+	* src/autofit/afranges.c, src/autofit/afranges.h: New files.
+
+	* src/autofit/afscript.h: Extend `SCRIPT' macro with more
+	parameters, taking data from the writing system files.
+
+	* src/autofit/aftypes.h: Updated.
+
+	* src/autofit/afglobal.c: Include `afranges.h'.
+	Load `afscript.h' to call AF_DEFINE_SCRIPT_CLASS.
+	* src/autofit/afglobal.c: Include `afranges.h'.
+	Load `afscript.h' to call AF_DECLARE_SCRIPT_CLASS.
+
+	* src/autofit/afcjk.c, src/autofit/afcjk.h: Updated.
+	* src/autofit/afdummy.c, src/autofit/afdummy.h: Updated.
+	* src/autofit/afindic.c, src/autofit/afindic.h: Updated.
+	* src/autofit/aflatin.c, src/autofit/aflatin.h: Updated.
+	* src/autofit/aflatin2.c, src/autofit/aflatin2.h: Updated.
+
+	* src/autofit/afpic.c: Updated.
+
+	* src/autofit/autofit.c: Include `afranges.c'.
+	* src/autofit/rules.mk (AUTOF_DRV_SRC): Add `afranges.c'.
+
+2013-12-18  Werner Lemberg  <wl@gnu.org>
+
+	[autofit] More code orthogonality.
+
+	* src/autofit/aftypes.h (AF_StyleMetrics): Replace `script_class'
+	pointer to an `AF_ScriptClass' structure with `script' index of type
+	`AF_Script'.
+	Move some code around.
+
+	* src/autofit/afcjk.c: Include `afpic.h'.
+	(af_cjk_metrics_init_widths, af_cjk_metrics_init_blues,
+	af_cjk_hint_edges): Updated.
+
+	* src/autofit/aflatin.c: Include `afpic.h'.
+	(af_latin_metrics_init_widths, af_latin_metrics_init_blues,
+	af_latin_metrics_scale_dim, af_latin_hint_edges): Updated.
+
+	* src/autofit/afglobal.c (af_face_globals_get_metrics): Updated.
+
+	* src/autofit/afloader.c (af_loader_load_g, af_loader_load_glyph):
+	Updated.
+
+2013-12-18  Werner Lemberg  <wl@gnu.org>
+
+	[autofit] s/ScriptMetrics/StyleMetrics/.
+
+2013-12-18  Werner Lemberg  <wl@gnu.org>
+
+	[autofit] s/script_{metrics,hints}/style_{metrics,hints}/
+
+2013-12-18  Werner Lemberg  <wl@gnu.org>
+
+	[autofit] s/gscripts/gstyles/.
+
+2013-12-18  Werner Lemberg  <wl@gnu.org>
+
+	[autofit] s/glyph_scripts/glyph_styles/.
+
+	This is the first commit of a series to create a new top-level
+	structure (a `style') for handling scripts, writing_systems, and
+	soon-to-be-added coverages.
+
+2013-12-17  Werner Lemberg  <wl@gnu.org>
+
+	[autofit] s/AF_Script_/AF_WritingSystem_/ where appropriate.
+
+2013-12-11  Infinality  <infinality@infinality.net>
+
+	[truetype] Simplify logic of rendering modes.
+
+	This patch unifies the subpixel and non-subpixel cases.
+
+	* src/truetype/ttinterp.h (TT_ExecContextRec): Remove
+	`grayscale_hinting'; all code should refer to `grayscale' instead.
+	Remove unused `native_hinting' member.
+	Rename `subpixel_hinting' member to `subpixel.
+
+	* src/truetype/ttgload.c (TT_LOADER_SET_PP): Updated.
+	(tt_loader_init): Updated.
+
+	* src/truetype/ttinterp.c (Ins_GETINFO): Simplify.
+	Updated.
+
+2013-12-11  Werner Lemberg  <wl@gnu.org>
+
+	[documentation] Add section how to include FreeType header files.
+	Problem reported by David Kastrup <dak@gnu.org>.
+
+	Surprisingly, a description how to do that was completely missing in
+	the API reference.
+
+	* include/freetype.h, include/ftchapters.h: New documentation
+	section `header_inclusion'.
+
+2013-12-10  Werner Lemberg  <wl@gnu.org>
+
+	[autofit] s/DFLT/NONE/, s/dflt/none/.
+
+2013-12-10  Werner Lemberg  <wl@gnu.org>
+
+	[autofit] s/AF_SCRIPT_NONE/AF_SCRIPT_UNASSIGNED/.
+
+2013-12-10  Werner Lemberg  <wl@gnu.org>
+
+	[truetype] Fix scaling of vertical phantom points.
+
+	* src/truetype/ttgload.c (load_truetype_glyph): Scale pp3.x and
+	pp4.x also.
+
+2013-12-10  Werner Lemberg  <wl@gnu.org>
+
+	[truetype] Fix positioning of composite glyphs.
+	Problem reported by Nigel Tao <nigeltao@golang.org>.
+
+	* src/truetype/ttgload.c (TT_Hint_Glyph): Remove code that shifts
+	the glyph (component) by a fractional value computed from the LSB
+	phantom point.  This is wrong, since the horizontal phantom points
+	get rounded horizontally later on.
+
+2013-12-08  Werner Lemberg  <wl@gnu.org>
+
+	* Version 2.5.2 released.
+	=========================
+
+
+	Tag sources with `VER-2-5-2'.
+
+	* docs/VERSION.DLL: Update documentation and bump version number to
+	2.5.2.
+
+	* README, Jamfile (RefDoc), builds/windows/vc2005/freetype.vcproj,
+	builds/windows/vc2005/index.html,
+	builds/windows/vc2008/freetype.vcproj,
+	builds/windows/vc2008/index.html,
+	builds/windows/vc2010/freetype.vcxproj,
+	builds/windows/vc2010/index.html,
+	builds/windows/visualc/freetype.dsp,
+	builds/windows/visualc/freetype.vcproj,
+	builds/windows/visualc/index.html,
+	builds/windows/visualce/freetype.dsp,
+	builds/windows/visualce/freetype.vcproj,
+	builds/windows/visualce/index.html,
+	builds/wince/vc2005-ce/freetype.vcproj,
+	builds/wince/vc2005-ce/index.html,
+	builds/wince/vc2008-ce/freetype.vcproj,
+	builds/wince/vc2008-ce/index.html: s/2.5.1/2.5.2/, s/251/252/.
+
+	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 2.
+
+	* builds/unix/configure.raw (version_info): Set to 17:1:11.
+	* CMakeLists.txt (VERSION_PATCH): Set to 2.
+	* docs/CHANGES: Updated.
+
+2013-12-07  Werner Lemberg  <wl@gnu.org>
+
+	[truetype] Next round in phantom point handling.
+
+	Greg Hitchcock provided very interesting insights into the
+	complicated history of the horizontal positions of the TSB and BSB
+	phantom points.
+
+	* src/truetype/ttgload.c (TT_LOADER_SET_PP)
+	[TT_CONFIG_OPTION_SUBPIXEL_HINTING]: Use `subpixel_hinting' and
+	`grayscale_hinting' flags as conditionals for the x position of TSB
+	and BSB.
+
+2013-12-05  Werner Lemberg  <wl@gnu.org>
+
+	* builds/freetype.mk (FT_CC): Removed.  Unused.
+
+2013-12-04  Werner Lemberg  <wl@gnu.org>
+
+	[sfnt] Fix handling of embedded bitmap strikes.
+
+	This corrects the commit from 2013-11-21.  Problem reported by
+	Andrey Panov <panov@canopus.iacp.dvo.ru>.
+
+	* src/sfnt/ttsbit.c (tt_sbit_decoder_load_bitmap): Fix logic to
+	detect excessive bytes for bit-aligned bitmaps.
+
+2013-12-03  Werner Lemberg  <wl@gnu.org>
+
+	[truetype] Remove dead code.
+
+	Reported by Nigel Tao <nigeltao@golang.org>.
+
+	* include/internal/tttypes.h (TT_LoaderRec): Remove unused
+	`preserve_pps' field.
+	* src/truetype/ttgload.c (TT_Hint_Glyph): Updated.
+
+2013-12-03  Werner Lemberg  <wl@gnu.org>
+
+	[truetype] Fix phantom point handling.
+
+	This is a further improvement to the changes from 2013-11-06.
+
+	* src/truetype/ttgload.c (TT_Hint_Glyph): Horizontal phantom points
+	are rounded horizontally, vertical ones are rounded vertically.
+	(TT_LOADER_SET_PP): The horizontal position of vertical phantom
+	points in pre-ClearType mode is zero, as shown in the OpenType
+	specification.
+
+2013-12-02  Werner Lemberg  <wl@gnu.org>
+
+	[truetype] Fix change from 2013-11-20.
+
+	Problem reported by Akira Kakuto <kakuto@fuk.kindai.ac.jp>.
+
+	* src/truetype/ttgload.c (TT_Load_Simple_Glyph): Protect call to
+	`Update_Max' with both a TT_USE_BYTECODE_INTERPRETER guard and a
+	`IS_HINTED' clause.
+	Also remove redundant check using `maxSizeOfInstructions' – in
+	simple glyphs, the bytecode data comes before the outline data, and
+	a validity test for this is already present.
+
+2013-11-27  Werner Lemberg  <wl@gnu.org>
+
+	[autofit] Fix use of dumping functions in `ftgrid' demo program.
+
+	* src/autofit/afhints.c (AF_DUMP) [FT_DEBUG_AUTOFIT]: New macro.
+	(af_glyph_hints_dump_points, af_glyph_hints_dump_segments,
+	af_glyph_hints_dump_edges) [FT_DEBUG_AUTOFIT]: Add parameter to
+	handle output to stdout.
+	Use AF_DUMP.
+	(af_glyph_hints_dump_points, af_glyph_hints_dump_segments,
+	af_glyph_hints_dump_edges) [!FT_DEBUG_AUTOFIT]: Removed.
+
+2013-11-25  Werner Lemberg  <wl@gnu.org>
+
+	* Version 2.5.1 released.
+	=========================
+
+
+	Tag sources with `VER-2-5-1'.
+
+	* docs/VERSION.DLL: Update documentation and bump version number to
+	2.5.1.
+
+	* README, Jamfile (RefDoc), builds/windows/vc2005/freetype.vcproj,
+	builds/windows/vc2005/index.html,
+	builds/windows/vc2008/freetype.vcproj,
+	builds/windows/vc2008/index.html,
+	builds/windows/vc2010/freetype.vcxproj,
+	builds/windows/vc2010/index.html,
+	builds/windows/visualc/freetype.dsp,
+	builds/windows/visualc/freetype.vcproj,
+	builds/windows/visualc/index.html,
+	builds/windows/visualce/freetype.dsp,
+	builds/windows/visualce/freetype.vcproj,
+	builds/windows/visualce/index.html,
+	builds/wince/vc2005-ce/freetype.vcproj,
+	builds/wince/vc2005-ce/index.html,
+	builds/wince/vc2008-ce/freetype.vcproj,
+	builds/wince/vc2008-ce/index.html: s/2.5.0/2.5.1/, s/250/251/.
+
+	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 1.
+
+	* builds/unix/configure.raw (version_info): Set to 17:0:11.
+	* CMakeLists.txt (VERSION_PATCH): Set to 1.
+	* docs/CHANGES, docs/release: Updated.
+
+2013-11-23  Werner Lemberg  <wl@gnu.org>
+
+	[truetype]: Add tricky font names `hkscsiic.ttf' and `iicore.ttf'.
+
+	* src/truetype/ttobjs.c (TRICK_NAMES_MAX_CHARACTERS,
+	TRICK_NAMES_COUNT): Updated.
+	(trick_names): Add family name for the two fonts.
+
+2013-11-23  Werner Lemberg  <wl@gnu.org>
+
+	* src/sfnt/ttsbit.c (tt_sbit_decoder_load_bitmap): Typo.
+
+2013-11-21  Werner Lemberg  <wl@gnu.org>
+
+	[sfnt] Typo.
+
+	Problem reported by Hin-Tak Leung <htl10@users.sourceforge.net>.
+
+	* src/sfnt/sfobjs.c (sfnt_load_face): Return correct `bsize->width'
+	value if the font lacks an `OS/2' table.
+
+2013-11-21  Werner Lemberg  <wl@gnu.org>
+
+	[sfnt] Improve handling of buggy embedded bitmap strikes.
+
+	We are now able to successfully load `AppleMyoungJo.ttf'.
+	Problem reported by Hin-Tak Leung <htl10@users.sourceforge.net>.
+
+	* src/sfnt/ttsbit.c (tt_sbit_decoder_load_bitmap): Don't trust glyph
+	format.
+
+2013-11-20  Werner Lemberg  <wl@gnu.org>
+
+	[truetype] Don't trust `maxp's `maxSizeOfInstructions'.
+
+	Problem reported by Hin-Tak Leung <htl10@users.sourceforge.net>; see
+
+	  https://lists.nongnu.org/archive/html/freetype-devel/2013-08/msg00005.html
+
+	for details.
+
+	* src/base/ftobjs.c (FT_Load_Glyph): Check size of `fpgm' and `prep'
+	tables also for setting `autohint'.
+
+	* src/truetype/ttgload.c (TT_Load_Simple_Glyph): Use code from
+	`TT_Process_Composite_Glyph' for handling unreliable values of
+	`maxSizeOfInstructions'.
+
+2013-11-16  Werner Lemberg  <wl@gnu.org>
+
+	[sfnt] Fix `OS/2' table version 5 support.
+
+	We now follow the `official' announcement from Microsoft (on the
+	OpenType mailing list, which unfortunately hasn't a public archive).
+
+	* include/freetype/tttables.h (TT_OS2):
+	s/usLowerPointSize/usLowerOpticalPointSize/,
+	s/usUpperPointSize/usUpperOpticalPointSize/.
+
+	* src/sfnt/ttload.c (tt_face_load_os2): Update, and set correct
+	default values.
+
+2013-11-13  Werner Lemberg  <wl@gnu.org>
+
+	* builds/unix/ft2unix.h: Remove.  No longer necessary.
+
+	* builds/unix/install.mk (install): Updated.
+
+2013-11-13  Werner Lemberg  <wl@gnu.org>
+
+	Simplify header file hierarchy.
+
+	This large patch changes the header file directory layout from
+	`include/freetype/...' to `include/...', effectively removing one
+	level.  Since the file `ft2build.h' is also located in `include'
+	(and it stays there even after installation), all FreeType header
+	files are now in a single directory.
+
+	Applications that use (a) `freetype-config' or FreeType's
+	`pkg-config' file to get the include directory for the compiler, and
+	(b) the documented way for header inclusion like
+
+	  #include <ft2build.h>
+	  #include FT_FREETYPE_H
+	  ...
+
+	don't need any change to the source code.
+
+	* include/freetype/*: Move up to...
+	* include/*: ... this directory.
+
+	* builds/amiga/include/freetype/*: Move up to...
+	* builds/amiga/include/*: ... this directory.
+
+	*/*: Essentially do `s@/freetype/@/@' where appropriate.
+
+	* CMakeLists.txt: Simplify.
+	* builds/unix/freetype-config.in, builds/unix/freetype2.in: For
+	`--cflags', return a single directory.
+	* builds/unix/install.mk (install): No longer try to remove `cache'
+	and `internal' subdirectories; instead, remove the `freetype'
+	subdirectory.
+
+2013-11-12  Werner Lemberg  <wl@gnu.org>
+
+	[truetype] Fix last `truetype' commit.
+
+	* src/truetype/ttgload.c (tt_get_metrics): Preserve stream position.
+	Return error value.
+	(load_truetype_glyph): Updated.
+
+2013-11-10  Werner Lemberg  <wl@gnu.org>
+
+	* docs/CMAKE: New dummy file.
+
+2013-11-08  Dave Arnold  <darnold@adobe.com>
+
+	[cff] Fix for hints that touch.
+
+	* src/cff/cf2hints.c (cf2_hintmap_insertHint): Fix condition for
+	finding index value of insertion point.
+
+2013-11-06  Werner Lemberg  <wl@gnu.org>
+
+	[truetype] Fix handling of phantom points in composite glyphs.
+	Problem reported by Nigel Tao <nigeltao@golang.org>.
+
+	This is a follow-up commit to the previous one.
+
+	* src/truetype/ttgload.c (load_truetype_glyph): Call
+	`tt_get_metrics' after loading the glyph header.
+
+2013-11-06  Werner Lemberg  <wl@gnu.org>
+
+	[truetype] Improve emulation of vertical metrics.
+
+	This commit also improves the start values of vertical phantom
+	points.  Kudos to Greg Hitchcock for help.
+
+	* src/truetype/ttgload.c (TT_Get_VMetrics): Add parameter to pass
+	`yMax' value.  Replace code with fixed Microsoft definition.
+	(tt_get_metrics): Updated.
+	(TT_LOADER_SET_PP): Add explanation how to initialize phantom
+	points, taken from both the OpenType specification and private
+	communication with Greg (which will eventually be added to the
+	standard).
+	Fix horizontal position of `pp3' and `pp4'.
+
+	* src/truetype/ttgload.h: Updated.
+
+	* src/truetype/ttdriver.c (tt_get_advances): Updated.
+
+	* docs/CHANGES: Updated.
+
+2013-11-05  Werner Lemberg  <wl@gnu.org>
+
+	* builds/windows/vc2010/freetype.vcxproj: s/v110/v100/.
+	PlatformToolSet version 110 is for VC2012.
+
+	Problem reported (with solution) by Dave Arnold <darnold@adobe.com>.
+
+2013-11-05  Werner Lemberg  <wl@gnu.org>
+
+	[truetype] Correctly reset point tags for glyph components.
+	Problem reported by Nigel Tao <nigeltao@golang.org>.
+
+	* src/truetype/ttgload.c (TT_Process_Composite_Glyph): Fix loop.
+
+2013-11-02  Werner Lemberg  <wl@gnu.org>
+
+	[truetype] Fix GETINFO opcode handling of subpixel hinting bits.
+
+	* src/truetype/ttinterp.c (Ins_GETINFO): Don't request bit 6 set to
+	get info on subpixel hinting.
+
+	* docs/CHANGES: Updated.
+
+2013-11-02  Werner Lemberg  <wl@gnu.org>
+
+	Fix Savannah bug #40451.
+
+	Simply apply the patch from the bug report.
+
+	* builds/unix/ftconfig.in, builds/vms/ftconfig.h,
+	include/freetype/config/ftconfig.h: The used #pragma directives only
+	work with gcc versions 4.6 and higher.
+
+2013-11-01  Werner Lemberg  <wl@gnu.org>
+
+	* docs/CHANGES: Updated.
+
+2013-11-01  Werner Lemberg  <wl@gnu.org>
+
+	[truetype] Minor code refactoring.
+
+	Two benefits: The allocated FDEF (and IDEF) array gets slightly
+	smaller, and the `ttdebug' demo program has access to function
+	numbers without additional costs.
+
+	Fortunately, no changes to FontForge are necessary – this is the
+	only external TrueType debugger I know of, but others may exist and
+	should check the code accordingly.
+
+	* src/truetype/ttinterp.h (TT_CallRec): Replace `Cur_Restart' and
+	`Cur_End' with a pointer to the corresponding `TT_DefRecord'
+	structure.
+
+	* src/truetype/ttinterp.c (DO_JROT, DO_JMPR, DO_JROF, Ins_ENDF,
+	Ins_CALL, Ins_LOOPCALL, Ins_UNKNOWN, TT_RunIns <Invalid_Opcode>):
+	Updated.
+
+2013-10-27  Werner Lemberg  <wl@gnu.org>
+
+	[sfnt] Implement support for `OS/2' table version 5.
+
+	See
+
+	  http://typedrawers.com/discussion/470/new-microsoft-size-specific-design-selection-mechanism
+
+	for the announcement.
+
+	* include/freetype/tttables.h (TT_OS2): Add fields
+	`usLowerPointSize' and `usUpperPointSize'.  Since FreeType returns
+	this structure only as a pointer through `FT_Get_Sfnt_Table', there
+	shouldn't be any ABI problems.
+
+	* src/sfnt/ttload.c (tt_face_load_os2): Implement it.
+
+	* docs/CHANGES: Updated.
+
+2013-10-24  Werner Lemberg  <wl@gnu.org>
+
+	* README.git, docs/CHANGES, docs/INSTALL: Updated.
+
+2013-10-24  John Cary  <cary@txcorp.com>
+
+	Provide cmake support.
+
+	* CMakeLists.txt: New file.
+
+2013-10-23  Kenneth Miller  <kennethadammiller@yahoo.com>
+	    Werner Lemberg  <wl@gnu.org>
+
+	Provide support for x64 builds in Visual C++ project files.
+
+	* src/builds/win32: Renamed to...
+	* src/builds/windows: This.
+
+	* src/builds/windows/vc2010/*: Updated to handle x64 target.
+
+	* src/builds/windows/*.mk, docs/INSTALL.GNU: s/win32/windows/ where
+	appropriate.
+
+2013-10-22  Werner Lemberg  <wl@gnu.org>
+
+	* src/base/md5.c, src/base/md5.h: Updated to recent version.
+
+	* src/base/ftobjs.c: Updated; `md5.c' no longer uses `free'.
+
+	The canonical URL to get updates for this file is
+
+	  http://cvsweb.openwall.com/cgi/cvsweb.cgi/Owl/packages/popa3d/popa3d/md5/
+
+	as the author told me in private communication.
+
+2013-10-19  Werner Lemberg  <wl@gnu.org>
+
+	[autofit] s/SMALL_TOP/X_HEIGHT/.
+
+	* src/autofit/afblue.dat: Updated.
+
+	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
+
+	* src/autofit/aflatin.c, src/autofit/aflatin.h,
+	src/autofit/aflatin2.c: Updated.
+
+2013-10-19  Werner Lemberg  <wl@gnu.org>
+
+	* src/autofit/afblue.dat: s/MINOR/DESCENDER/.
+
+	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
+
+2013-10-16  Werner Lemberg  <wl@gnu.org>
+
+	[autofit] Add description strings to script entries.
+
+	Currently, this is unused.
+
+	* src/autofit/afscript.h: Do it.
+	* src/autofit/afglobal.c, src/autofit/afpic.c,
+	src/autofit/aftypes.h: Updated.
+
+2013-10-16  Werner Lemberg  <wl@gnu.org>
+
+	[autofit] Improve tracing message for extra light flag.
+
+	* src/autofit/aflatin.c (af_latin_metrics_scale_dim): Do it.
+
+2013-10-15  Chongyu Zhu  <lembacon@gmail.com>
+
+	[arm] Fix thumb2 inline assembly under LLVM.
+
+	When using `ADD' with an immediate operand, the instruction is
+	actually `ADD Rd, Rn, #<imm12>', that is, the maximum of the
+	immediate operand cannot exceed 4095.  It will fail to compile with
+	LLVM.
+
+	However, in GCC, due to some legacy compatibility considerations,
+	`ADD.W' will be automatically emitted when the immediate operand is
+	larger than 4095.
+
+	* builds/unix/ftconfig.in, include/freetype/config/ftconfig.h
+	(FT_MulFix_arm) [__GNUC__]: Support clang compiler.
+
+	* src/truetype/ttinterp.c (TT_MulFix14_arm) [__GNUC__]: Ditto.
+
+2013-10-12  Werner Lemberg  <wl@gnu.org>
+
+	[autofit] Improve tracing of `latin' hinter.
+
+	* src/autofit/aflatin.c (af_latin_metrics_init_blues): Report blue
+	zone types.
+	(af_latin_metrics_scale_dim): Report scaling changes due to x height
+	alignment.
+	Report scaled stroke width and blue zone values.
+
+2013-10-03  Dave Arnold  <darnold@adobe.com>
+
+	* src/cff/cf2font.c (cf2_computeDarkening): Avoid division by zero.
+
+	Note that the old code avoided using a region of the piecewise
+	linear function where the slope was zero.  The recovery was to use a
+	different section of the function, which produced a different,
+	incorrect amount of darkening.
+
+2013-10-02  Darrell Bellert  <darrell.bellert@hl.konicaminolta.us>
+
+	* src/sfnt/ttload.c (tt_face_load_pclt): Fix `pclt_fields'.
+
+2013-10-02  Dave Arnold  <darnold@adobe.com>
+
+	* src/cff/cf2font.c (cf2_computeDarkening): Initialize darkenAmount.
+
+	This line was lost in commit 89ca1fd6 (from 2013-06-25).  The effect
+	is to use a previous darkening amount when producing an unhinted,
+	unscaled outline.  This can cause autohint samples in ftgrid and
+	ftview to be based on darkened CFF outlines instead of unhinted,
+	undarkened ones.
+
+2013-09-29  Dave Arnold  <darnold@adobe.com>
+
+	Fix Savannah bug #39295.
+
+	The bug was caused by switching to the initial hintmap (the one in
+	effect when `moveto' executes) just before drawing the final element
+	in the charstring.  This ensured that the path was closed (in both
+	Character Space and Device Space).  But if the final element was a
+	curve and if the final hintmap was different enough from the initial
+	one, then the curve was visibly distorted.
+
+	The first part of the fix is to draw the final curve using the final
+	hintmap as specified by the charstring.  This corrects the
+	distortion but does not ensure closing in Device Space.  It may
+	require the rasterizer to automatically generate an extra closing
+	line.  Depending on the hintmap differences, this line could be from
+	zero to a couple pixels in length.
+
+	The second part of the fix covers the case where the charstring
+	subpath is closed with an explicit line.  We now modify that line's
+	end point to avoid the distortion.
+
+	Some glyphs in the bug report font (TexGyreHeros-Regular) that show
+	the change are:
+
+	  25ppem    S (98)
+	  24ppem    eight (52)
+	  25.5ppem  p (85)
+
+	Curves at the *end* of a subpath are no longer distorted.  However,
+	some of these glyphs have bad hint substitutions in the middle of a
+	subpath, and these are not affected.
+
+	The patch has been tested with a set of 106 fonts that shipped with
+	Adobe Creative Suite 4, together with 756 Open Source CFF fonts from
+	Google Fonts.  There are 1.5 million glyphs, of which some 20k are
+	changed with the fix.  A sampling of a few hundred of these changes
+	have been examined more closely, and the changes look good (or at
+	least acceptable).
+
+	* src/cff/cf2hints.h (CF2_GlyphPathRec): New element `pathIsClosing'
+	to indicate that we synthesize a closepath line.
+
+	* src/cff/cf2hints.c (cf2_glyphpath_init): Updated.
+	(cf2_glyphpath_pushPrevElem): If closing, use first hint map (for
+	`lineto' operator) and adjust hint zone.
+	For synthesized closing lines, use end point in first hint zone.
+	(cf2_glyphpath_lineTo): Take care of synthesized closing lines.  In
+	particular, shift the detection of zero-length lines from character
+	space to device space.
+	(cf2_glyphpath_closeOpenPath): Remove assertion.
+	Updated.
+
+2013-09-25  Werner Lemberg  <wl@gnu.org>
+
+	* src/autofit/aflatin.c (af_{grek,cyrl}_uniranges): Fix arrays.
+
+2013-09-25  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
+
+	[bdf, pcf] Refuse non-zero face_index.
+
+	Suggested by Akira Tagoh, see
+
+	  https://lists.gnu.org/archive/html/freetype/2013-09/msg00030.html
+
+	* src/bdf/bdfdrivr.c (BDF_Face_Init): Return `Invalid_Argument'
+	error if the font could be opened but non-zero `face_index' is
+	given.
+	* src/pcf/pcfdrivr.c (PCF_Face_Init): Ditto.
+
+	* src/type42/t42objs.c (T42_Face_Init): Remove unrequired FT_UNUSED
+	macro for `face_index' because it is validated later.
+
+2013-09-23  Werner Lemberg  <wl@gnu.org>
+
+	Fix Savannah bug #40090.
+
+	* src/autofit/afcjk.c (af_cjk_metrics_scale): Revert commit
+	306f8c5d (from 2013-08-25) affecting this function.
+
+2013-09-22  Werner Lemberg  <wl@gnu.org>
+
+	[autofit] Disunify Cyrillic and Greek handling from Latin.
+
+	* src/autofit/afscript.h: Add Cyrillic and Greek.
+
+	* src/autofit/afblue.dat (AF_BLUE_STRINGSET_GREK,
+	AF_BLUE_STRINGSET_CYRL): Add blue zones for Greek and Cyrillic.
+	(AF_BLUE_STRINGSET_LATN): Fix typo.
+	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
+
+	* src/autofit/aflatin.c (af_grek_uniranges, af_cyrl_uniranges): New
+	arrays.
+	(af_grek_script_class, af_cyrl_script_class): New scripts.
+	* src/autofit/aflatin.h: Updated.
+
+2013-09-20  Werner Lemberg  <wl@gnu.org>
+
+	* docs/CHANGES: Updated.
+
+2013-09-20  Behdad Esfahbod  <behdad@behdad.org>
+
+	Fix vertical size of emboldened glyphs.
+
+	Cf. https://bugzilla.gnome.org/show_bug.cgi?id=686709
+
+	* src/base/ftsynth.c (FT_GlyphSlot_Embolden): Adjust `horiBearingY'
+	also.
+
+2013-09-11  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	* include/freetype/ftoutln.h: Correct FT_Outline_Get_Orientation
+	algorithm description.
+
+2013-09-11  Werner Lemberg  <wl@gnu.org>
+
+	[autofit] Improve Hebrew rendering.
+
+	This change introduces a new blue zone property
+	`AF_BLUE_PROPERTY_LATIN_LONG' to make the auto-hinter ignore short
+	top segments.
+
+	* src/autofit/afblue.dat: Fix Hebrew blue strings.
+	Use AF_BLUE_PROPERTY_LATIN_LONG for AF_BLUE_STRING_HEBREW_TOP.
+
+	* src/autofit/afblue.hin (AF_BLUE_PROPERTY_LATIN_LONG): New macro.
+
+	* src/autofit/afblue.c, src/autofit/afblue.h: Updated.
+
+	* src/autofit/aflatin.c (af_latin_metrics_init_blues): Handle
+	`AF_LATIN_IS_LONG_BLUE'.
+
+	* src/autofit/aflatin.h (AF_LATIN_IS_LONG_BLUE): New macro.
+
+2013-08-28  Behdad Esfahbod  <behdad@google.com>
+
+	[sfnt] Fix frame access while reading WOFF table directory.
+
+	* src/sfnt/sfobjs.c (woff_open_font): Using single memory frame
+	while reading the directory entries for the whole loop.
+
+2013-08-29  Werner Lemberg  <wl@gnu.org>
+            Behdad Esfahbod  <behdad@google.com>
+
+	Implement support for WOFF containers.
+
+	We simply synthesize a SFNT from the WOFF, create a memory stream
+	for the new data, and load the SFNT as usual.
+
+	Does NOT add any API to access WOFF metadata or private blocks.
+
+	* include/freetype/internal/tttypes.h (WOFF_HeaderRec,
+	WOFF_TableRec): New structures.
+
+	* include/freetype/tttags.h (TTAG_wOFF): New macro.
+
+	* src/base/ftobjs.c (FT_Open_Face): Set `stream' after calling
+	`open_face'.
+
+	* src/sfnt/sfobjs.c [FT_CONFIG_OPTION_SYSTEM_ZLIB]: Include
+	`FT_GZIP_H'.
+	(WRITE_BYTE, WRITE_USHORT, WRITE_ULONG): New temporary macros for
+	writing to a stream.
+	(sfnt_stream_close, compare_offsets, woff_open_font): New functions.
+	(sfnt_open_font): Handle `TTAG_wOFF'.
+	(sfnt_init_face): Set `stream' after calling `sfnt_open_font'.
+
+	* src/truetype/ttobjs.c (tt_face_init): Set `stream' after calling
+	`sfnt->init_face'.
+
+	* src/base/ftobjs.c (open_face): Use a pointer to FT_Stream as an
+	argument so that a changed stream survives.
+	Update callers.
+
+2013-08-28  Werner Lemberg  <wl@gnu.org>
+
+	[gzip] New function `FT_Gzip_Uncompress'.
+
+	This is modeled after zlib's `uncompress' function.  We need this
+	for WOFF support.
+
+	* include/freetype/ftgzip.h, src/gzip/ftgzip.c (FT_Gzip_Uncompress):
+	New function.
+
+	* src/gzip/rules.mk: Rewrite to better reflect dependencies.
+
+2013-08-28  Werner Lemberg  <wl@gnu.org>
+
+	[autofit] Fix `make multi' compilation.
+
+	* src/autofit/afblue.cin, src/autofit/afblue.c: Don't include
+	`afblue.h' but `aftypes.h'.
+	* src/autofit/afcjk.c: Don't include `aftypes.h' but `afglobal.h'.
+
+2013-08-28  Werner Lemberg  <wl@gnu.org>
+
+	[autofit] Fix C++ compilation.
+
+	* src/autofit/afglobal.c (af_face_globals_get_metrics),
+	src/autofit/afdummy.c (af_dflt_script_class), src/autofit/afindic.c
+	(af_deva_script_class): Use proper casts.
+
+2013-08-27  Behdad Esfahbod  <behdad@google.com>
+
+	* src/sfnt/ttload.c (tt_face_load_font_dir): Fix sign typos.
+
+2013-08-27  Behdad Esfahbod  <behdad@google.com>
+
+	FT_Open_Face: Improve external stream handling.
+
+	If the font's `clazz->init_face' function wants to swap to new
+	stream, handling of whether original stream was external could
+	result to either memory leak or double free.  Mark externality into
+	face flags before calling `init_face' such that the clazz can handle
+	external streams properly.
+
+	* src/base/ftobjs.c (FT_Open_Face): Move code to set
+	FT_FACE_FLAG_EXTERNAL_STREAM to...
+	(open_face): This function.
+
+2013-08-27  Werner Lemberg  <wl@gnu.org>
+
+	Remove `FT_SqrtFixed' function.
+
+	It's no longer used.
+
+	* include/freetype/internal/ftcalc.h, src/base/ftcalc.c: Do it.
+
+2013-08-27  Werner Lemberg  <wl@gnu.org>
+
+	[autofit] While tracing, report script names instead of ID values.
+
+	* src/autofit/afglobal.c (af_script_names) [FT_DEBUG_LEVEL_TRACE]:
+	New array.
+	* src/autofit/afglobal.h: Updated.
+
+	* src/autofit/afcjk.c (af_cjk_metrics_init_widths,
+	af_cjk_hint_edges): Use `af_script_names'.
+	* src/autofit/aflatin.c (af_latin_metrics_init_widths,
+	af_latin_hint_edges): Ditto.
+
+2013-08-26  Werner Lemberg  <wl@gnu.org>
+
+	[autofit] Report used script while hinting a glyph.
+
+	* src/autofit/afcjk.c (af_cjk_hint_edges), src/autofit/aflatin.c
+	(af_latin_hint_edges): Implement it.
+
+2013-08-26  Werner Lemberg  <wl@gnu.org>
+
+	[autofit] Add support for Hebrew script.
+
+	* src/autofit/afblue.dat: Add blue strings for Hebrew.
+	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
+
+	* src/autofit/aflatin.c (af_hebr_uniranges): New array.
+	(af_hebr_script_class): New script.
+	* src/autofit/aflatin.h, src/autofit/afscript.h: Updated.
+
+2013-08-26  Werner Lemberg  <wl@gnu.org>
+
+	[autofit] Improve tracing messages.
+
+	* src/autofit/afcjk.c (af_cjk_metrics_init_widths): Mention script
+	ID in tracing message.
+	(af_cjk_metrics_init_blues): Initialize `axis' outside of the inner
+	loop.
+	Improve tracing messages.
+	(af_cjk_hint_edges) [FT_DEBUG_LEVEL_TRACE]: New variable
+	`num_actions' to count hinting actions.
+	Improve tracing messages.
+
+	* src/autofit/aflatin.c (af_latin_metrics_init_widths): Mention
+	script ID in tracing message.
+	(af_latin_metrics_init_blues, af_latin_hint_edges): Improve tracing
+	messages.
+
+2013-08-26  Werner Lemberg  <wl@gnu.org>
+
+	Better tracing of loaded glyphs.
+
+	Previously, the loading of a glyph was traced at level 4, if at all.
+	With this change, all font loading routines emit a tracing message
+	at level 1, making it easier to select tracing output (for example
+	using F2_DEBUG="any:1 afhints:7 aflatin:7").
+
+	* src/bdf/bdfdrivr.c (BDF_Glyph_Load): Add tracing message.
+	* src/cff/cffdrivr.c (cff_glyph_load): Ditto.
+	* src/cff/cffgload.c (cff_decoder_prepare): Improve tracing
+	messages.
+	* src/cid/cidgload.c (cid_load_glyph): Use level 1 for tracing
+	message.
+	* src/pcf/pcfdrivr.c (PCF_Glyph_Load): Ditto.
+	* src/pfr/pfrobjs.c (pfr_slot_load): Add tracing message.
+	* src/truetype/ttgload.c (TT_Load_Glyph): Ditto.
+	* src/type1/t1gload.c (T1_Load_Glyph): Ditto.
+	* src/type42/t42objs.c (T42_GlyphSlot_Load): Ditto.
+	* src/winfonts/winfnt.c (FNT_Load_Glyph): Ditto.
+
+2013-08-26  Werner Lemberg  <wl@gnu.org>
+
+	[autofit] Fix script selection.
+
+	* src/autofit/afglobal.c (af_face_globals_get_metrics): Use
+	`AF_SCRIPT_DFLT', not value 0.
+	Simplify code.
+
+	* src/autofit/afscript.h: Sort by script name.
+
+2013-08-26  Werner Lemberg  <wl@gnu.org>
+
+	[autofit] Make `dummy' hinter work as expected.
+
+	* src/autofit/afdummy.c (af_dummy_hints_init): Properly set scaling
+	information.
+	(af_dummy_hints_apply): Scale the glyphs.
+
+2013-08-25  Werner Lemberg  <wl@gnu.org>
+
+	[autofit] Make `cjk' module use blue stringsets.
+
+	* src/autofit/afcjk.c (AF_CJK_MAX_TEST_CHARACTERS): Removed.
+	(af_cjk_hani_blue_chars): Removed.
+	(AF_CJK_BLUE_TYPE_*): Removed.
+	(af_cjk_metrics_init_blues): Replace AF_CJK_MAX_TEST_CHARACTERS with
+	AF_BLUE_STRING_MAX_LEN.
+	Change loops to use offsets (in file `afblue.h') into the new arrays
+	`af_blue_stringsets' and `af_blue_strings' (in file `afblue.c').
+	Instead of three dimensions (as used in the old blue string array)
+	we now use properties to do the same, saving one loop nesting level.
+
+	* src/autofit/afcjk.h: Remove old enumeration values superseded by
+	the new data in `afblue.h'.
+	(AF_CJK_IS_TOP_BLUE, AF_CJK_IS_HORIZ_BLUE, AF_CJK_IS_FILLED_BLUE,
+	AF_CJK_IS_RIGHT_BLUE): New macros, to be used in
+	`af_cjk_metrics_init_blues'.
+	(AF_CJK_BLUE_IS_RIGHT): Remove this now redundant enum value.
+	(AF_CJK_BLUE_IS_TOP): Renamed to...
+	(AF_CJK_BLUE_TOP): This.
+	(AF_CJK_MAX_BLUES): Remove.
+	(AF_CJKAxisRec): Updated.
+
+2013-08-25  Werner Lemberg  <wl@gnu.org>
+
+	[autofit] Typo.
+
+	* src/autofit/afblue.hin, src/autofit/afblue.c (GET_UTF8_CHAR): Use