From 57023a556635e86f8dfa6930ff1ec681f7359f77 Mon Sep 17 00:00:00 2001
From: Adrian Biagioli <adrianbiagioli@gmail.com>
Date: Sat, 21 Sep 2019 15:04:23 -0400
Subject: [PATCH] Update freetype and drawsvg_ref.dll so on Win64 DrawSVG
 builds correctly

---
 CMU462/deps/freetype/CMakeLists.txt           |    2 +-
 CMU462/deps/freetype/bin/freetype-config      |  157 -
 CMU462/deps/freetype/bin/freetype.dll         |  Bin 0 -> 822784 bytes
 CMU462/deps/freetype/bin/freetype6.dll        |  Bin 522240 -> 0 bytes
 CMU462/deps/freetype/bin/ftbench.exe          |  Bin 21504 -> 0 bytes
 CMU462/deps/freetype/bin/ftchkwd.exe          |  Bin 14336 -> 0 bytes
 CMU462/deps/freetype/bin/ftdiff.exe           |  Bin 70144 -> 0 bytes
 CMU462/deps/freetype/bin/ftdump.exe           |  Bin 20480 -> 0 bytes
 CMU462/deps/freetype/bin/ftgamma.exe          |  Bin 61440 -> 0 bytes
 CMU462/deps/freetype/bin/ftgrid.exe           |  Bin 95232 -> 0 bytes
 CMU462/deps/freetype/bin/ftlint.exe           |  Bin 14848 -> 0 bytes
 CMU462/deps/freetype/bin/ftmemchk.exe         |  Bin 15360 -> 0 bytes
 CMU462/deps/freetype/bin/ftmulti.exe          |  Bin 58880 -> 0 bytes
 CMU462/deps/freetype/bin/ftpatchk.exe         |  Bin 12800 -> 0 bytes
 CMU462/deps/freetype/bin/ftstring.exe         |  Bin 68608 -> 0 bytes
 CMU462/deps/freetype/bin/fttimer.exe          |  Bin 16384 -> 0 bytes
 CMU462/deps/freetype/bin/ftvalid.exe          |  Bin 20992 -> 0 bytes
 CMU462/deps/freetype/bin/ftview.exe           |  Bin 72192 -> 0 bytes
 CMU462/deps/freetype/bin/zlib1.dll            |  Bin 72192 -> 0 bytes
 .../include/freetype/config/ftconfig.h        |  575 ++
 .../freetype/config/ftheader.h                |  575 +-
 .../include/freetype/config/ftmodule.h        |   32 +
 .../include/freetype/config/ftoption.h        |  982 ++++
 .../include/freetype/config/ftstdlib.h        |  175 +
 .../deps/freetype/include/freetype/freetype.h | 4887 +++++++++++++++++
 .../deps/freetype/include/freetype/ftadvanc.h |  188 +
 .../deps/freetype/include/freetype/ftbbox.h   |  102 +
 CMU462/deps/freetype/include/freetype/ftbdf.h |  213 +
 .../deps/freetype/include/freetype/ftbitmap.h |  330 ++
 .../deps/freetype/include/freetype/ftbzip2.h  |  102 +
 .../deps/freetype/include/freetype/ftcache.h  | 1088 ++++
 .../freetype/include/freetype/ftchapters.h    |  145 +
 CMU462/deps/freetype/include/freetype/ftcid.h |  168 +
 .../deps/freetype/include/freetype/ftcolor.h  |  311 ++
 .../deps/freetype/include/freetype/ftdriver.h | 1232 +++++
 .../{freetype2 => }/freetype/fterrdef.h       |  270 +-
 .../deps/freetype/include/freetype/fterrors.h |  289 +
 .../deps/freetype/include/freetype/ftfntfmt.h |   94 +
 .../deps/freetype/include/freetype/ftgasp.h   |  144 +
 .../deps/freetype/include/freetype/ftglyph.h  |  665 +++
 .../deps/freetype/include/freetype/ftgxval.h  |  355 ++
 .../deps/freetype/include/freetype/ftgzip.h   |  151 +
 .../deps/freetype/include/freetype/ftimage.h  | 1238 +++++
 .../deps/freetype/include/freetype/ftincrem.h |  344 ++
 .../deps/freetype/include/freetype/ftlcdfil.h |  328 ++
 .../deps/freetype/include/freetype/ftlist.h   |  297 +
 CMU462/deps/freetype/include/freetype/ftlzw.h |  100 +
 CMU462/deps/freetype/include/freetype/ftmac.h |  290 +
 CMU462/deps/freetype/include/freetype/ftmm.h  |  753 +++
 .../deps/freetype/include/freetype/ftmodapi.h |  785 +++
 .../deps/freetype/include/freetype/ftmoderr.h |  203 +
 .../deps/freetype/include/freetype/ftotval.h  |  207 +
 .../deps/freetype/include/freetype/ftoutln.h  |  593 ++
 .../deps/freetype/include/freetype/ftparams.h |  204 +
 CMU462/deps/freetype/include/freetype/ftpfr.h |  180 +
 .../deps/freetype/include/freetype/ftrender.h |  245 +
 .../deps/freetype/include/freetype/ftsizes.h  |  160 +
 .../deps/freetype/include/freetype/ftsnames.h |  273 +
 .../{freetype2 => }/freetype/ftstroke.h       |  446 +-
 .../deps/freetype/include/freetype/ftsynth.h  |   84 +
 .../{freetype2 => }/freetype/ftsystem.h       |  157 +-
 .../{freetype2 => }/freetype/fttrigon.h       |  106 +-
 .../deps/freetype/include/freetype/fttypes.h  |  615 +++
 .../deps/freetype/include/freetype/ftwinfnt.h |  277 +
 .../deps/freetype/include/freetype/t1tables.h |  774 +++
 .../{freetype2 => }/freetype/ttnameid.h       | 1172 ++--
 .../deps/freetype/include/freetype/tttables.h |  856 +++
 .../include/{freetype2 => }/freetype/tttags.h |   66 +-
 .../freetype2/freetype/config/ftconfig.h      |  350 --
 .../freetype2/freetype/config/ftmodule.h      |   22 -
 .../freetype2/freetype/config/ftoption.h      |  695 ---
 .../freetype2/freetype/config/ftstdlib.h      |  180 -
 .../include/freetype2/freetype/freetype.h     | 3434 ------------
 .../include/freetype2/freetype/ftbbox.h       |   94 -
 .../include/freetype2/freetype/ftbdf.h        |  200 -
 .../include/freetype2/freetype/ftbitmap.h     |  206 -
 .../include/freetype2/freetype/ftcache.h      | 1110 ----
 .../include/freetype2/freetype/ftchapters.h   |  100 -
 .../include/freetype2/freetype/fterrors.h     |  206 -
 .../include/freetype2/freetype/ftgasp.h       |  113 -
 .../include/freetype2/freetype/ftglyph.h      |  575 --
 .../include/freetype2/freetype/ftgxval.h      |  358 --
 .../include/freetype2/freetype/ftgzip.h       |  102 -
 .../include/freetype2/freetype/ftimage.h      | 1237 -----
 .../include/freetype2/freetype/ftincrem.h     |  331 --
 .../include/freetype2/freetype/ftlcdfil.h     |  166 -
 .../include/freetype2/freetype/ftlist.h       |  273 -
 .../include/freetype2/freetype/ftlzw.h        |   99 -
 .../include/freetype2/freetype/ftmac.h        |  272 -
 .../include/freetype2/freetype/ftmm.h         |  378 --
 .../include/freetype2/freetype/ftmodapi.h     |  406 --
 .../include/freetype2/freetype/ftmoderr.h     |  155 -
 .../include/freetype2/freetype/ftotval.h      |  198 -
 .../include/freetype2/freetype/ftoutln.h      |  526 --
 .../include/freetype2/freetype/ftpfr.h        |  172 -
 .../include/freetype2/freetype/ftrender.h     |  229 -
 .../include/freetype2/freetype/ftsizes.h      |  159 -
 .../include/freetype2/freetype/ftsnames.h     |  170 -
 .../include/freetype2/freetype/ftsynth.h      |   73 -
 .../include/freetype2/freetype/fttypes.h      |  583 --
 .../include/freetype2/freetype/ftwinfnt.h     |  263 -
 .../include/freetype2/freetype/ftxf86.h       |   80 -
 .../include/freetype2/freetype/t1tables.h     |  450 --
 .../include/freetype2/freetype/tttables.h     |  756 ---
 .../include/freetype2/freetype/ttunpat.h      |   59 -
 CMU462/deps/freetype/include/ft2build.h       |   95 +-
 CMU462/deps/freetype/lib/freetype-bcc.lib     |  Bin 32256 -> 0 bytes
 CMU462/deps/freetype/lib/freetype.lib         |  Bin 55978 -> 46362 bytes
 CMU462/deps/freetype/lib/freetype6.def        |  249 -
 .../deps/freetype/lib/pkgconfig/freetype2.pc  |   11 -
 src/reference/drawsvg_ref.lib                 |  Bin 55300 -> 94842 bytes
 111 files changed, 22628 insertions(+), 16492 deletions(-)
 delete mode 100644 CMU462/deps/freetype/bin/freetype-config
 create mode 100644 CMU462/deps/freetype/bin/freetype.dll
 delete mode 100644 CMU462/deps/freetype/bin/freetype6.dll
 delete mode 100644 CMU462/deps/freetype/bin/ftbench.exe
 delete mode 100644 CMU462/deps/freetype/bin/ftchkwd.exe
 delete mode 100644 CMU462/deps/freetype/bin/ftdiff.exe
 delete mode 100644 CMU462/deps/freetype/bin/ftdump.exe
 delete mode 100644 CMU462/deps/freetype/bin/ftgamma.exe
 delete mode 100644 CMU462/deps/freetype/bin/ftgrid.exe
 delete mode 100644 CMU462/deps/freetype/bin/ftlint.exe
 delete mode 100644 CMU462/deps/freetype/bin/ftmemchk.exe
 delete mode 100644 CMU462/deps/freetype/bin/ftmulti.exe
 delete mode 100644 CMU462/deps/freetype/bin/ftpatchk.exe
 delete mode 100644 CMU462/deps/freetype/bin/ftstring.exe
 delete mode 100644 CMU462/deps/freetype/bin/fttimer.exe
 delete mode 100644 CMU462/deps/freetype/bin/ftvalid.exe
 delete mode 100644 CMU462/deps/freetype/bin/ftview.exe
 delete mode 100644 CMU462/deps/freetype/bin/zlib1.dll
 create mode 100644 CMU462/deps/freetype/include/freetype/config/ftconfig.h
 rename CMU462/deps/freetype/include/{freetype2 => }/freetype/config/ftheader.h (51%)
 mode change 100755 => 100644
 create mode 100644 CMU462/deps/freetype/include/freetype/config/ftmodule.h
 create mode 100644 CMU462/deps/freetype/include/freetype/config/ftoption.h
 create mode 100644 CMU462/deps/freetype/include/freetype/config/ftstdlib.h
 create mode 100644 CMU462/deps/freetype/include/freetype/freetype.h
 create mode 100644 CMU462/deps/freetype/include/freetype/ftadvanc.h
 create mode 100644 CMU462/deps/freetype/include/freetype/ftbbox.h
 create mode 100644 CMU462/deps/freetype/include/freetype/ftbdf.h
 create mode 100644 CMU462/deps/freetype/include/freetype/ftbitmap.h
 create mode 100644 CMU462/deps/freetype/include/freetype/ftbzip2.h
 create mode 100644 CMU462/deps/freetype/include/freetype/ftcache.h
 create mode 100644 CMU462/deps/freetype/include/freetype/ftchapters.h
 create mode 100644 CMU462/deps/freetype/include/freetype/ftcid.h
 create mode 100644 CMU462/deps/freetype/include/freetype/ftcolor.h
 create mode 100644 CMU462/deps/freetype/include/freetype/ftdriver.h
 rename CMU462/deps/freetype/include/{freetype2 => }/freetype/fterrdef.h (78%)
 mode change 100755 => 100644
 create mode 100644 CMU462/deps/freetype/include/freetype/fterrors.h
 create mode 100644 CMU462/deps/freetype/include/freetype/ftfntfmt.h
 create mode 100644 CMU462/deps/freetype/include/freetype/ftgasp.h
 create mode 100644 CMU462/deps/freetype/include/freetype/ftglyph.h
 create mode 100644 CMU462/deps/freetype/include/freetype/ftgxval.h
 create mode 100644 CMU462/deps/freetype/include/freetype/ftgzip.h
 create mode 100644 CMU462/deps/freetype/include/freetype/ftimage.h
 create mode 100644 CMU462/deps/freetype/include/freetype/ftincrem.h
 create mode 100644 CMU462/deps/freetype/include/freetype/ftlcdfil.h
 create mode 100644 CMU462/deps/freetype/include/freetype/ftlist.h
 create mode 100644 CMU462/deps/freetype/include/freetype/ftlzw.h
 create mode 100644 CMU462/deps/freetype/include/freetype/ftmac.h
 create mode 100644 CMU462/deps/freetype/include/freetype/ftmm.h
 create mode 100644 CMU462/deps/freetype/include/freetype/ftmodapi.h
 create mode 100644 CMU462/deps/freetype/include/freetype/ftmoderr.h
 create mode 100644 CMU462/deps/freetype/include/freetype/ftotval.h
 create mode 100644 CMU462/deps/freetype/include/freetype/ftoutln.h
 create mode 100644 CMU462/deps/freetype/include/freetype/ftparams.h
 create mode 100644 CMU462/deps/freetype/include/freetype/ftpfr.h
 create mode 100644 CMU462/deps/freetype/include/freetype/ftrender.h
 create mode 100644 CMU462/deps/freetype/include/freetype/ftsizes.h
 create mode 100644 CMU462/deps/freetype/include/freetype/ftsnames.h
 rename CMU462/deps/freetype/include/{freetype2 => }/freetype/ftstroke.h (55%)
 mode change 100755 => 100644
 create mode 100644 CMU462/deps/freetype/include/freetype/ftsynth.h
 rename CMU462/deps/freetype/include/{freetype2 => }/freetype/ftsystem.h (61%)
 mode change 100755 => 100644
 rename CMU462/deps/freetype/include/{freetype2 => }/freetype/fttrigon.h (72%)
 mode change 100755 => 100644
 create mode 100644 CMU462/deps/freetype/include/freetype/fttypes.h
 create mode 100644 CMU462/deps/freetype/include/freetype/ftwinfnt.h
 create mode 100644 CMU462/deps/freetype/include/freetype/t1tables.h
 rename CMU462/deps/freetype/include/{freetype2 => }/freetype/ttnameid.h (51%)
 mode change 100755 => 100644
 create mode 100644 CMU462/deps/freetype/include/freetype/tttables.h
 rename CMU462/deps/freetype/include/{freetype2 => }/freetype/tttags.h (65%)
 mode change 100755 => 100644
 delete mode 100755 CMU462/deps/freetype/include/freetype2/freetype/config/ftconfig.h
 delete mode 100755 CMU462/deps/freetype/include/freetype2/freetype/config/ftmodule.h
 delete mode 100755 CMU462/deps/freetype/include/freetype2/freetype/config/ftoption.h
 delete mode 100755 CMU462/deps/freetype/include/freetype2/freetype/config/ftstdlib.h
 delete mode 100755 CMU462/deps/freetype/include/freetype2/freetype/freetype.h
 delete mode 100755 CMU462/deps/freetype/include/freetype2/freetype/ftbbox.h
 delete mode 100755 CMU462/deps/freetype/include/freetype2/freetype/ftbdf.h
 delete mode 100755 CMU462/deps/freetype/include/freetype2/freetype/ftbitmap.h
 delete mode 100755 CMU462/deps/freetype/include/freetype2/freetype/ftcache.h
 delete mode 100755 CMU462/deps/freetype/include/freetype2/freetype/ftchapters.h
 delete mode 100755 CMU462/deps/freetype/include/freetype2/freetype/fterrors.h
 delete mode 100755 CMU462/deps/freetype/include/freetype2/freetype/ftgasp.h
 delete mode 100755 CMU462/deps/freetype/include/freetype2/freetype/ftglyph.h
 delete mode 100755 CMU462/deps/freetype/include/freetype2/freetype/ftgxval.h
 delete mode 100755 CMU462/deps/freetype/include/freetype2/freetype/ftgzip.h
 delete mode 100755 CMU462/deps/freetype/include/freetype2/freetype/ftimage.h
 delete mode 100755 CMU462/deps/freetype/include/freetype2/freetype/ftincrem.h
 delete mode 100755 CMU462/deps/freetype/include/freetype2/freetype/ftlcdfil.h
 delete mode 100755 CMU462/deps/freetype/include/freetype2/freetype/ftlist.h
 delete mode 100755 CMU462/deps/freetype/include/freetype2/freetype/ftlzw.h
 delete mode 100755 CMU462/deps/freetype/include/freetype2/freetype/ftmac.h
 delete mode 100755 CMU462/deps/freetype/include/freetype2/freetype/ftmm.h
 delete mode 100755 CMU462/deps/freetype/include/freetype2/freetype/ftmodapi.h
 delete mode 100755 CMU462/deps/freetype/include/freetype2/freetype/ftmoderr.h
 delete mode 100755 CMU462/deps/freetype/include/freetype2/freetype/ftotval.h
 delete mode 100755 CMU462/deps/freetype/include/freetype2/freetype/ftoutln.h
 delete mode 100755 CMU462/deps/freetype/include/freetype2/freetype/ftpfr.h
 delete mode 100755 CMU462/deps/freetype/include/freetype2/freetype/ftrender.h
 delete mode 100755 CMU462/deps/freetype/include/freetype2/freetype/ftsizes.h
 delete mode 100755 CMU462/deps/freetype/include/freetype2/freetype/ftsnames.h
 delete mode 100755 CMU462/deps/freetype/include/freetype2/freetype/ftsynth.h
 delete mode 100755 CMU462/deps/freetype/include/freetype2/freetype/fttypes.h
 delete mode 100755 CMU462/deps/freetype/include/freetype2/freetype/ftwinfnt.h
 delete mode 100755 CMU462/deps/freetype/include/freetype2/freetype/ftxf86.h
 delete mode 100755 CMU462/deps/freetype/include/freetype2/freetype/t1tables.h
 delete mode 100755 CMU462/deps/freetype/include/freetype2/freetype/tttables.h
 delete mode 100755 CMU462/deps/freetype/include/freetype2/freetype/ttunpat.h
 delete mode 100755 CMU462/deps/freetype/lib/freetype-bcc.lib
 delete mode 100755 CMU462/deps/freetype/lib/freetype6.def
 delete mode 100755 CMU462/deps/freetype/lib/pkgconfig/freetype2.pc

diff --git a/CMU462/deps/freetype/CMakeLists.txt b/CMU462/deps/freetype/CMakeLists.txt
index 22b1633..eeb299f 100644
--- a/CMU462/deps/freetype/CMakeLists.txt
+++ b/CMU462/deps/freetype/CMakeLists.txt
@@ -1,6 +1,6 @@
 set(FREETYPE_ROOT_DIR ${CMAKE_CURRENT_SOURCE_DIR} CACHE PATH "" FORCE)
 
-set(FREETYPE_HEADER_DIR ${FREETYPE_ROOT_DIR}/include ${FREETYPE_ROOT_DIR}/include/freetype2)
+set(FREETYPE_HEADER_DIR ${FREETYPE_ROOT_DIR}/include ${FREETYPE_ROOT_DIR}/include/freetype)
 file(GLOB FREETYPE_DLLS ${FREETYPE_ROOT_DIR}/bin/*.dll)
 
 include_directories(${FREETYPE_HEADER_DIR})
diff --git a/CMU462/deps/freetype/bin/freetype-config b/CMU462/deps/freetype/bin/freetype-config
deleted file mode 100644
index bebc054..0000000
--- a/CMU462/deps/freetype/bin/freetype-config
+++ /dev/null
@@ -1,157 +0,0 @@
-#! /bin/sh
-#
-# Copyright 2000, 2001, 2002, 2003, 2004, 2005 by
-# David Turner, Robert Wilhelm, and Werner Lemberg.
-#
-# This file is part of the FreeType project, and may only be used, modified,
-# and distributed under the terms of the FreeType project license,
-# LICENSE.TXT.  By continuing to use, modify, or distribute this file you
-# indicate that you have read the license and understand and accept it
-# fully.
-
-prefix=C:/PROGRA~2/GnuWin32
-exec_prefix=${prefix}
-exec_prefix_set=no
-includedir=${prefix}/include
-libdir=${exec_prefix}/lib
-enable_shared=yes
-wl=-Wl,
-hardcode_libdir_flag_spec='-L$libdir'
-
-usage()
-{
-  cat <<EOF
-Usage: freetype-config [OPTION]...
-Get FreeType compilation and linking information.
-
-Options:
-  --prefix               display \`--prefix' value used for building the
-                         FreeType library
-  --prefix=PREFIX        override \`--prefix' value with PREFIX
-  --exec-prefix          display \`--exec-prefix' value used for building
-                         the FreeType library
-  --exec-prefix=EPREFIX  override \`--exec-prefix' value with EPREFIX
-  --version              display libtool version of the FreeType library
-  --ftversion            display FreeType version number
-  --libs                 display flags for linking with the FreeType library
-  --libtool              display library name for linking with libtool
-  --cflags               display flags for compiling with the FreeType
-                         library
-EOF
-  exit $1
-}
-
-if test $# -eq 0 ; then
-  usage 1 1>&2
-fi
-
-while test $# -gt 0 ; do
-  case "$1" in
-  -*=*)
-    optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'`
-    ;;
-  *)
-    optarg=
-    ;;
-  esac
-
-  case $1 in
-  --prefix=*)
-    prefix=$optarg
-    local_prefix=yes
-    ;;
-  --prefix)
-    echo_prefix=yes
-    ;;
-  --exec-prefix=*)
-    exec_prefix=$optarg
-    exec_prefix_set=yes
-    local_prefix=yes
-    ;;
-  --exec-prefix)
-    echo_exec_prefix=yes
-    ;;
-  --version)
-    echo 9.16.3
-    exit 0
-    ;;
-  --ftversion)
-    major=`grep define C:/PROGRA~2/GnuWin32/include/freetype2/freetype/freetype.h \
-           | grep FREETYPE_MAJOR \
-           | sed 's/.*[ 	]\([0-9][0-9]*\).*/\1/'`
-    minor=`grep define C:/PROGRA~2/GnuWin32/include/freetype2/freetype/freetype.h \
-           | grep FREETYPE_MINOR \
-           | sed 's/.*[ 	]\([0-9][0-9]*\).*/\1/'`
-    patch=`grep define C:/PROGRA~2/GnuWin32/include/freetype2/freetype/freetype.h \
-           | grep FREETYPE_PATCH \
-           | sed 's/.*[ 	]\([0-9][0-9]*\).*/\1/'`
-    echo $major.$minor.$patch
-    exit 0
-    ;;
-  --cflags)
-    echo_cflags=yes
-    ;;
-  --libs)
-    echo_libs=yes
-    ;;
-  --libtool)
-    echo_libtool=yes
-    ;;
-  *)
-    usage 1 1>&2
-    ;;
-  esac
-  shift
-done
-
-if test "$local_prefix" = "yes" ; then
-  if test "$exec_prefix_set" != "yes" ; then
-    exec_prefix=$prefix
-  fi
-fi
-
-if test "$echo_prefix" = "yes" ; then
-  echo $prefix
-fi
-
-if test "$echo_exec_prefix" = "yes" ; then
-  echo $exec_prefix
-fi
-
-if test "$exec_prefix_set" = "yes" ; then
-  libdir=$exec_prefix/lib
-else
-  if test "$local_prefix" = "yes" ; then
-    includedir=$prefix/include
-    libdir=$prefix/lib
-  fi
-fi
-
-if test "$echo_cflags" = "yes" ; then
-  cflags="-I$includedir/freetype2"
-  if test "$includedir" != "/usr/include" ; then
-    echo $cflags -I$includedir
-  else
-    echo $cflags
-  fi
-fi
-
-if test "$echo_libs" = "yes" ; then
-  rpath=
-  if test "$enable_shared" = "yes" ; then
-    eval "rpath=\"$hardcode_libdir_flag_spec\""
-  fi
-  libs="-lfreetype -lz   -Wl,-s  -LD:/Progra~1/GnuWin32/lib  -lintl -lwsock32 -lole32 -luuid -lmsvcp60   "
-  if test "$libdir" != "/usr/lib" && test "$libdir" != "/usr/lib64"; then
-    echo -L$libdir $rpath $libs
-  else
-    echo $libs
-  fi
-fi
-
-if test "$echo_libtool" = "yes" ; then
-  convlib="libfreetype.la"
-  echo $libdir/$convlib
-fi
-
-# EOF
diff --git a/CMU462/deps/freetype/bin/freetype.dll b/CMU462/deps/freetype/bin/freetype.dll
new file mode 100644
index 0000000000000000000000000000000000000000..34634dee850d907584768a23f94a23a5443e8233
GIT binary patch
literal 822784
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%0D@q~hWW>gE*r{HFGZ
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

literal 0
HcmV?d00001

diff --git a/CMU462/deps/freetype/bin/freetype6.dll b/CMU462/deps/freetype/bin/freetype6.dll
deleted file mode 100644
index e35edc6bb07a741798aef2b642c13005b8b8ffde..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 522240
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%0Dy#{TMfqvmj8^ln4r
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%0A5g2>GmO5?lQxf5rzm1XuM}&aUaB9{
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%0D`EY1S
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%0DS=-
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%0A)o
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

diff --git a/CMU462/deps/freetype/bin/ftbench.exe b/CMU462/deps/freetype/bin/ftbench.exe
deleted file mode 100644
index 6ce0484476fc420854c904bd5a14ebe0fe87a1fa..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 21504
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
C;?Z{i

diff --git a/CMU462/deps/freetype/bin/ftchkwd.exe b/CMU462/deps/freetype/bin/ftchkwd.exe
deleted file mode 100644
index 6d98d33a43022b45781b43c3e9b0de1447b0e80b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 14336
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
GBk&(%VB{D8

diff --git a/CMU462/deps/freetype/bin/ftdiff.exe b/CMU462/deps/freetype/bin/ftdiff.exe
deleted file mode 100644
index 7ef5af3c0403efa8130740d9d7c27a26b31cf155..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 70144
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
bgblw+(_H^3|2l3{SJ-|@guh(>1seFjM@nnb

diff --git a/CMU462/deps/freetype/bin/ftdump.exe b/CMU462/deps/freetype/bin/ftdump.exe
deleted file mode 100644
index 6a0e4ef7669e93ca30abde44a36dd37cfaf84a36..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 20480
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
Lz@M%^U<CdTPsV~2

diff --git a/CMU462/deps/freetype/bin/ftgamma.exe b/CMU462/deps/freetype/bin/ftgamma.exe
deleted file mode 100644
index 1cadbbcd5df861840f358f0d98e5b106755484e1..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 61440
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
Ys=duKj^0BHadl<sI|O{1{+B)Q-()w2?*IS*

diff --git a/CMU462/deps/freetype/bin/ftgrid.exe b/CMU462/deps/freetype/bin/ftgrid.exe
deleted file mode 100644
index 58af9be5bd6bc89e4cba2ae92255ed9cc3fd2864..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 95232
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
Px6XT4fKStZvj_eaR)Ye(

diff --git a/CMU462/deps/freetype/bin/ftlint.exe b/CMU462/deps/freetype/bin/ftlint.exe
deleted file mode 100644
index 2c783d938f242eabc2b214d6aeca8fae3e2f1b75..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 14848
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
a9iJ-FyyvKWbUddf+21ALqw-sfz<&aj^Oqq2

diff --git a/CMU462/deps/freetype/bin/ftmemchk.exe b/CMU462/deps/freetype/bin/ftmemchk.exe
deleted file mode 100644
index ead01059d75cd001cd1b9ff3f89a9baeb9e7c5ea..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 15360
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
ME&)EeeoqnjSMo<w*8l(j

diff --git a/CMU462/deps/freetype/bin/ftmulti.exe b/CMU462/deps/freetype/bin/ftmulti.exe
deleted file mode 100644
index 44685283f09a939ef9bcd87877507067a8ba5df3..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 58880
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
P=DMFN;MeI}@W6ip0-xE@

diff --git a/CMU462/deps/freetype/bin/ftpatchk.exe b/CMU462/deps/freetype/bin/ftpatchk.exe
deleted file mode 100644
index 3e04441eb9f6a88d0059e8f3d7d0a91177802659..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 12800
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
Zc&do=j->YBvHY57|CE4l%l|S0{|V(*2zCGf

diff --git a/CMU462/deps/freetype/bin/ftstring.exe b/CMU462/deps/freetype/bin/ftstring.exe
deleted file mode 100644
index 8edb92c5ffdd6da5addf7f68797712821312304b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 68608
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

diff --git a/CMU462/deps/freetype/bin/fttimer.exe b/CMU462/deps/freetype/bin/fttimer.exe
deleted file mode 100644
index a87e06d7a251ddf1b717351d675696b76cd44c4f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 16384
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
TT^-D;q4xI(`1JZcM&RE8OS<#1

diff --git a/CMU462/deps/freetype/bin/ftvalid.exe b/CMU462/deps/freetype/bin/ftvalid.exe
deleted file mode 100644
index 2a1287c20e479b29fcae3ebf5c726b98284d308f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 20992
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

diff --git a/CMU462/deps/freetype/bin/ftview.exe b/CMU462/deps/freetype/bin/ftview.exe
deleted file mode 100644
index 7fe982f5bd4023a30120992867f8c8eff0edd366..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 72192
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

diff --git a/CMU462/deps/freetype/bin/zlib1.dll b/CMU462/deps/freetype/bin/zlib1.dll
deleted file mode 100644
index 076f50336d9054c7f1b322dbf28c41d6c67750bc..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 72192
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
IsB&Zh0MOcpIsgCw

diff --git a/CMU462/deps/freetype/include/freetype/config/ftconfig.h b/CMU462/deps/freetype/include/freetype/config/ftconfig.h
new file mode 100644
index 0000000..fc35c93
--- /dev/null
+++ b/CMU462/deps/freetype/include/freetype/config/ftconfig.h
@@ -0,0 +1,575 @@
+/****************************************************************************
+ *
+ * ftconfig.h
+ *
+ *   ANSI-specific configuration file (specification only).
+ *
+ * Copyright (C) 1996-2019 by
+ * David Turner, Robert Wilhelm, and Werner Lemberg.
+ *
+ * This file is part of the FreeType project, and may only be used,
+ * modified, and distributed under the terms of the FreeType project
+ * license, LICENSE.TXT.  By continuing to use, modify, or distribute
+ * this file you indicate that you have read the license and
+ * understand and accept it fully.
+ *
+ */
+
+
+  /**************************************************************************
+   *
+   * This header file contains a number of macro definitions that are used by
+   * the rest of the engine.  Most of the macros here are automatically
+   * determined at compile time, and you should not need to change it to port
+   * FreeType, except to compile the library with a non-ANSI compiler.
+   *
+   * Note however that if some specific modifications are needed, we advise
+   * you to place a modified copy in your build directory.
+   *
+   * The build directory is usually `builds/<system>`, and contains
+   * system-specific files that are always included first when building the
+   * library.
+   *
+   * This ANSI version should stay in `include/config/`.
+   *
+   */
+
+#ifndef FTCONFIG_H_
+#define FTCONFIG_H_
+
+#include <ft2build.h>
+#include FT_CONFIG_OPTIONS_H
+#include FT_CONFIG_STANDARD_LIBRARY_H
+
+
+FT_BEGIN_HEADER
+
+
+  /**************************************************************************
+   *
+   *              PLATFORM-SPECIFIC CONFIGURATION MACROS
+   *
+   * These macros can be toggled to suit a specific system.  The current ones
+   * are defaults used to compile FreeType in an ANSI C environment (16bit
+   * compilers are also supported).  Copy this file to your own
+   * `builds/<system>` directory, and edit it to port the engine.
+   *
+   */
+
+
+  /* There are systems (like the Texas Instruments 'C54x) where a `char`  */
+  /* has 16~bits.  ANSI~C says that `sizeof(char)` is always~1.  Since an */
+  /* `int` has 16~bits also for this system, `sizeof(int)` gives~1 which  */
+  /* is probably unexpected.                                              */
+  /*                                                                      */
+  /* `CHAR_BIT` (defined in `limits.h`) gives the number of bits in a     */
+  /* `char` type.                                                         */
+
+#ifndef FT_CHAR_BIT
+#define FT_CHAR_BIT  CHAR_BIT
+#endif
+
+
+  /* The size of an `int` type. */
+#if                                 FT_UINT_MAX == 0xFFFFUL
+#define FT_SIZEOF_INT  ( 16 / FT_CHAR_BIT )
+#elif                               FT_UINT_MAX == 0xFFFFFFFFUL
+#define FT_SIZEOF_INT  ( 32 / FT_CHAR_BIT )
+#elif FT_UINT_MAX > 0xFFFFFFFFUL && FT_UINT_MAX == 0xFFFFFFFFFFFFFFFFUL
+#define FT_SIZEOF_INT  ( 64 / FT_CHAR_BIT )
+#else
+#error "Unsupported size of `int' type!"
+#endif
+
+  /* The size of a `long` type.  A five-byte `long` (as used e.g. on the */
+  /* DM642) is recognized but avoided.                                   */
+#if                                  FT_ULONG_MAX == 0xFFFFFFFFUL
+#define FT_SIZEOF_LONG  ( 32 / FT_CHAR_BIT )
+#elif FT_ULONG_MAX > 0xFFFFFFFFUL && FT_ULONG_MAX == 0xFFFFFFFFFFUL
+#define FT_SIZEOF_LONG  ( 32 / FT_CHAR_BIT )
+#elif FT_ULONG_MAX > 0xFFFFFFFFUL && FT_ULONG_MAX == 0xFFFFFFFFFFFFFFFFUL
+#define FT_SIZEOF_LONG  ( 64 / FT_CHAR_BIT )
+#else
+#error "Unsupported size of `long' type!"
+#endif
+
+
+  /* `FT_UNUSED` indicates that a given parameter is not used --   */
+  /* this is only used to get rid of unpleasant compiler warnings. */
+#ifndef FT_UNUSED
+#define FT_UNUSED( arg )  ( (arg) = (arg) )
+#endif
+
+
+  /**************************************************************************
+   *
+   *                    AUTOMATIC CONFIGURATION MACROS
+   *
+   * These macros are computed from the ones defined above.  Don't touch
+   * their definition, unless you know precisely what you are doing.  No
+   * porter should need to mess with them.
+   *
+   */
+
+
+  /**************************************************************************
+   *
+   * Mac support
+   *
+   *   This is the only necessary change, so it is defined here instead
+   *   providing a new configuration file.
+   */
+#if defined( __APPLE__ ) || ( defined( __MWERKS__ ) && defined( macintosh ) )
+  /* No Carbon frameworks for 64bit 10.4.x.                         */
+  /* `AvailabilityMacros.h` is available since Mac OS X 10.2,       */
+  /* so guess the system version by maximum errno before inclusion. */
+#include <errno.h>
+#ifdef ECANCELED /* defined since 10.2 */
+#include "AvailabilityMacros.h"
+#endif
+#if defined( __LP64__ ) && \
+    ( MAC_OS_X_VERSION_MIN_REQUIRED <= MAC_OS_X_VERSION_10_4 )
+#undef FT_MACINTOSH
+#endif
+
+#elif defined( __SC__ ) || defined( __MRC__ )
+  /* Classic MacOS compilers */
+#include "ConditionalMacros.h"
+#if TARGET_OS_MAC
+#define FT_MACINTOSH 1
+#endif
+
+#endif
+
+
+  /* Fix compiler warning with sgi compiler. */
+#if defined( __sgi ) && !defined( __GNUC__ )
+#if defined( _COMPILER_VERSION ) && ( _COMPILER_VERSION >= 730 )
+#pragma set woff 3505
+#endif
+#endif
+
+
+  /**************************************************************************
+   *
+   * @section:
+   *   basic_types
+   *
+   */
+
+
+  /**************************************************************************
+   *
+   * @type:
+   *   FT_Int16
+   *
+   * @description:
+   *   A typedef for a 16bit signed integer type.
+   */
+  typedef signed short  FT_Int16;
+
+
+  /**************************************************************************
+   *
+   * @type:
+   *   FT_UInt16
+   *
+   * @description:
+   *   A typedef for a 16bit unsigned integer type.
+   */
+  typedef unsigned short  FT_UInt16;
+
+  /* */
+
+
+  /* this #if 0 ... #endif clause is for documentation purposes */
+#if 0
+
+  /**************************************************************************
+   *
+   * @type:
+   *   FT_Int32
+   *
+   * @description:
+   *   A typedef for a 32bit signed integer type.  The size depends on the
+   *   configuration.
+   */
+  typedef signed XXX  FT_Int32;
+
+
+  /**************************************************************************
+   *
+   * @type:
+   *   FT_UInt32
+   *
+   *   A typedef for a 32bit unsigned integer type.  The size depends on the
+   *   configuration.
+   */
+  typedef unsigned XXX  FT_UInt32;
+
+
+  /**************************************************************************
+   *
+   * @type:
+   *   FT_Int64
+   *
+   *   A typedef for a 64bit signed integer type.  The size depends on the
+   *   configuration.  Only defined if there is real 64bit support;
+   *   otherwise, it gets emulated with a structure (if necessary).
+   */
+  typedef signed XXX  FT_Int64;
+
+
+  /**************************************************************************
+   *
+   * @type:
+   *   FT_UInt64
+   *
+   *   A typedef for a 64bit unsigned integer type.  The size depends on the
+   *   configuration.  Only defined if there is real 64bit support;
+   *   otherwise, it gets emulated with a structure (if necessary).
+   */
+  typedef unsigned XXX  FT_UInt64;
+
+  /* */
+
+#endif
+
+#if FT_SIZEOF_INT == ( 32 / FT_CHAR_BIT )
+
+  typedef signed int      FT_Int32;
+  typedef unsigned int    FT_UInt32;
+
+#elif FT_SIZEOF_LONG == ( 32 / FT_CHAR_BIT )
+
+  typedef signed long     FT_Int32;
+  typedef unsigned long   FT_UInt32;
+
+#else
+#error "no 32bit type found -- please check your configuration files"
+#endif
+
+
+  /* look up an integer type that is at least 32~bits */
+#if FT_SIZEOF_INT >= ( 32 / FT_CHAR_BIT )
+
+  typedef int            FT_Fast;
+  typedef unsigned int   FT_UFast;
+
+#elif FT_SIZEOF_LONG >= ( 32 / FT_CHAR_BIT )
+
+  typedef long           FT_Fast;
+  typedef unsigned long  FT_UFast;
+
+#endif
+
+
+  /* determine whether we have a 64-bit `int` type for platforms without */
+  /* Autoconf                                                            */
+#if FT_SIZEOF_LONG == ( 64 / FT_CHAR_BIT )
+
+  /* `FT_LONG64` must be defined if a 64-bit type is available */
+#define FT_LONG64
+#define FT_INT64   long
+#define FT_UINT64  unsigned long
+
+  /**************************************************************************
+   *
+   * A 64-bit data type may create compilation problems if you compile in
+   * strict ANSI mode.  To avoid them, we disable other 64-bit data types if
+   * `__STDC__` is defined.  You can however ignore this rule by defining the
+   * `FT_CONFIG_OPTION_FORCE_INT64` configuration macro.
+   */
+#elif !defined( __STDC__ ) || defined( FT_CONFIG_OPTION_FORCE_INT64 )
+
+#if defined( __STDC_VERSION__ ) && __STDC_VERSION__ >= 199901L
+
+#define FT_LONG64
+#define FT_INT64   long long int
+#define FT_UINT64  unsigned long long int
+
+#elif defined( _MSC_VER ) && _MSC_VER >= 900 /* Visual C++ (and Intel C++) */
+
+  /* this compiler provides the `__int64` type */
+#define FT_LONG64
+#define FT_INT64   __int64
+#define FT_UINT64  unsigned __int64
+
+#elif defined( __BORLANDC__ )  /* Borland C++ */
+
+  /* XXXX: We should probably check the value of `__BORLANDC__` in order */
+  /*       to test the compiler version.                                 */
+
+  /* this compiler provides the `__int64` type */
+#define FT_LONG64
+#define FT_INT64   __int64
+#define FT_UINT64  unsigned __int64
+
+#elif defined( __WATCOMC__ )   /* Watcom C++ */
+
+  /* Watcom doesn't provide 64-bit data types */
+
+#elif defined( __MWERKS__ )    /* Metrowerks CodeWarrior */
+
+#define FT_LONG64
+#define FT_INT64   long long int
+#define FT_UINT64  unsigned long long int
+
+#elif defined( __GNUC__ )
+
+  /* GCC provides the `long long` type */
+#define FT_LONG64
+#define FT_INT64   long long int
+#define FT_UINT64  unsigned long long int
+
+#endif /* __STDC_VERSION__ >= 199901L */
+
+#endif /* FT_SIZEOF_LONG == (64 / FT_CHAR_BIT) */
+
+#ifdef FT_LONG64
+  typedef FT_INT64   FT_Int64;
+  typedef FT_UINT64  FT_UInt64;
+#endif
+
+
+#ifdef _WIN64
+  /* only 64bit Windows uses the LLP64 data model, i.e., */
+  /* 32bit integers, 64bit pointers                      */
+#define FT_UINT_TO_POINTER( x ) (void*)(unsigned __int64)(x)
+#else
+#define FT_UINT_TO_POINTER( x ) (void*)(unsigned long)(x)
+#endif
+
+
+  /**************************************************************************
+   *
+   * miscellaneous
+   *
+   */
+
+
+#define FT_BEGIN_STMNT  do {
+#define FT_END_STMNT    } while ( 0 )
+#define FT_DUMMY_STMNT  FT_BEGIN_STMNT FT_END_STMNT
+
+
+  /* `typeof` condition taken from gnulib's `intprops.h` header file */
+#if ( ( defined( __GNUC__ ) && __GNUC__ >= 2 )                       || \
+      ( defined( __IBMC__ ) && __IBMC__ >= 1210 &&                      \
+        defined( __IBM__TYPEOF__ ) )                                 || \
+      ( defined( __SUNPRO_C ) && __SUNPRO_C >= 0x5110 && !__STDC__ ) )
+#define FT_TYPEOF( type )  ( __typeof__ ( type ) )
+#else
+#define FT_TYPEOF( type )  /* empty */
+#endif
+
+
+  /* Use `FT_LOCAL` and `FT_LOCAL_DEF` to declare and define,            */
+  /* respectively, a function that gets used only within the scope of a  */
+  /* module.  Normally, both the header and source code files for such a */
+  /* function are within a single module directory.                      */
+  /*                                                                     */
+  /* Intra-module arrays should be tagged with `FT_LOCAL_ARRAY` and      */
+  /* `FT_LOCAL_ARRAY_DEF`.                                               */
+  /*                                                                     */
+#ifdef FT_MAKE_OPTION_SINGLE_OBJECT
+
+#define FT_LOCAL( x )      static  x
+#define FT_LOCAL_DEF( x )  static  x
+
+#else
+
+#ifdef __cplusplus
+#define FT_LOCAL( x )      extern "C"  x
+#define FT_LOCAL_DEF( x )  extern "C"  x
+#else
+#define FT_LOCAL( x )      extern  x
+#define FT_LOCAL_DEF( x )  x
+#endif
+
+#endif /* FT_MAKE_OPTION_SINGLE_OBJECT */
+
+#define FT_LOCAL_ARRAY( x )      extern const  x
+#define FT_LOCAL_ARRAY_DEF( x )  const  x
+
+
+  /* Use `FT_BASE` and `FT_BASE_DEF` to declare and define, respectively, */
+  /* functions that are used in more than a single module.  In the        */
+  /* current setup this implies that the declaration is in a header file  */
+  /* in the `include/freetype/internal` directory, and the function body  */
+  /* is in a file in `src/base`.                                          */
+  /*                                                                      */
+#ifndef FT_BASE
+
+#ifdef __cplusplus
+#define FT_BASE( x )  extern "C"  x
+#else
+#define FT_BASE( x )  extern  x
+#endif
+
+#endif /* !FT_BASE */
+
+
+#ifndef FT_BASE_DEF
+
+#ifdef __cplusplus
+#define FT_BASE_DEF( x )  x
+#else
+#define FT_BASE_DEF( x )  x
+#endif
+
+#endif /* !FT_BASE_DEF */
+
+
+  /* When compiling FreeType as a DLL or DSO with hidden visibility    */
+  /* some systems/compilers need a special attribute in front OR after */
+  /* the return type of function declarations.                         */
+  /*                                                                   */
+  /* Two macros are used within the FreeType source code to define     */
+  /* exported library functions: `FT_EXPORT` and `FT_EXPORT_DEF`.      */
+  /*                                                                   */
+  /* - `FT_EXPORT( return_type )`                                      */
+  /*                                                                   */
+  /*   is used in a function declaration, as in                        */
+  /*                                                                   */
+  /*   ```                                                             */
+  /*     FT_EXPORT( FT_Error )                                         */
+  /*     FT_Init_FreeType( FT_Library*  alibrary );                    */
+  /*   ```                                                             */
+  /*                                                                   */
+  /* - `FT_EXPORT_DEF( return_type )`                                  */
+  /*                                                                   */
+  /*   is used in a function definition, as in                         */
+  /*                                                                   */
+  /*   ```                                                             */
+  /*     FT_EXPORT_DEF( FT_Error )                                     */
+  /*     FT_Init_FreeType( FT_Library*  alibrary )                     */
+  /*     {                                                             */
+  /*       ... some code ...                                           */
+  /*       return FT_Err_Ok;                                           */
+  /*     }                                                             */
+  /*   ```                                                             */
+  /*                                                                   */
+  /* You can provide your own implementation of `FT_EXPORT` and        */
+  /* `FT_EXPORT_DEF` here if you want.                                 */
+  /*                                                                   */
+  /* To export a variable, use `FT_EXPORT_VAR`.                        */
+  /*                                                                   */
+#ifndef FT_EXPORT
+
+#ifdef FT2_BUILD_LIBRARY
+
+#if defined( WIN32 ) && defined( DLL_EXPORT )
+#define FT_EXPORT( x )  __declspec( dllexport )  x
+#elif defined( __GNUC__ ) && __GNUC__ >= 4
+#define FT_EXPORT( x )  __attribute__(( visibility( "default" ) ))  x
+#elif defined( __SUNPRO_C ) && __SUNPRO_C >= 0x550
+#define FT_EXPORT( x )  __global  x
+#elif defined( __cplusplus )
+#define FT_EXPORT( x )  extern "C"  x
+#else
+#define FT_EXPORT( x )  extern  x
+#endif
+
+#else
+
+#if defined( WIN32 ) && defined( DLL_IMPORT )
+#define FT_EXPORT( x )  __declspec( dllimport )  x
+#elif defined( __cplusplus )
+#define FT_EXPORT( x )  extern "C"  x
+#else
+#define FT_EXPORT( x )  extern  x
+#endif
+
+#endif
+
+#endif /* !FT_EXPORT */
+
+
+#ifndef FT_EXPORT_DEF
+
+#ifdef __cplusplus
+#define FT_EXPORT_DEF( x )  extern "C"  x
+#else
+#define FT_EXPORT_DEF( x )  extern  x
+#endif
+
+#endif /* !FT_EXPORT_DEF */
+
+
+#ifndef FT_EXPORT_VAR
+
+#ifdef __cplusplus
+#define FT_EXPORT_VAR( x )  extern "C"  x
+#else
+#define FT_EXPORT_VAR( x )  extern  x
+#endif
+
+#endif /* !FT_EXPORT_VAR */
+
+
+  /* The following macros are needed to compile the library with a   */
+  /* C++ compiler and with 16bit compilers.                          */
+  /*                                                                 */
+
+  /* This is special.  Within C++, you must specify `extern "C"` for */
+  /* functions which are used via function pointers, and you also    */
+  /* must do that for structures which contain function pointers to  */
+  /* assure C linkage -- it's not possible to have (local) anonymous */
+  /* functions which are accessed by (global) function pointers.     */
+  /*                                                                 */
+  /*                                                                 */
+  /* FT_CALLBACK_DEF is used to _define_ a callback function,        */
+  /* located in the same source code file as the structure that uses */
+  /* it.                                                             */
+  /*                                                                 */
+  /* FT_BASE_CALLBACK and FT_BASE_CALLBACK_DEF are used to declare   */
+  /* and define a callback function, respectively, in a similar way  */
+  /* as FT_BASE and FT_BASE_DEF work.                                */
+  /*                                                                 */
+  /* FT_CALLBACK_TABLE is used to _declare_ a constant variable that */
+  /* contains pointers to callback functions.                        */
+  /*                                                                 */
+  /* FT_CALLBACK_TABLE_DEF is used to _define_ a constant variable   */
+  /* that contains pointers to callback functions.                   */
+  /*                                                                 */
+  /*                                                                 */
+  /* Some 16bit compilers have to redefine these macros to insert    */
+  /* the infamous `_cdecl` or `__fastcall` declarations.             */
+  /*                                                                 */
+#ifndef FT_CALLBACK_DEF
+#ifdef __cplusplus
+#define FT_CALLBACK_DEF( x )  extern "C"  x
+#else
+#define FT_CALLBACK_DEF( x )  static  x
+#endif
+#endif /* FT_CALLBACK_DEF */
+
+#ifndef FT_BASE_CALLBACK
+#ifdef __cplusplus
+#define FT_BASE_CALLBACK( x )      extern "C"  x
+#define FT_BASE_CALLBACK_DEF( x )  extern "C"  x
+#else
+#define FT_BASE_CALLBACK( x )      extern  x
+#define FT_BASE_CALLBACK_DEF( x )  x
+#endif
+#endif /* FT_BASE_CALLBACK */
+
+#ifndef FT_CALLBACK_TABLE
+#ifdef __cplusplus
+#define FT_CALLBACK_TABLE      extern "C"
+#define FT_CALLBACK_TABLE_DEF  extern "C"
+#else
+#define FT_CALLBACK_TABLE      extern
+#define FT_CALLBACK_TABLE_DEF  /* nothing */
+#endif
+#endif /* FT_CALLBACK_TABLE */
+
+
+FT_END_HEADER
+
+
+#endif /* FTCONFIG_H_ */
+
+
+/* END */
diff --git a/CMU462/deps/freetype/include/freetype2/freetype/config/ftheader.h b/CMU462/deps/freetype/include/freetype/config/ftheader.h
old mode 100755
new mode 100644
similarity index 51%
rename from CMU462/deps/freetype/include/freetype2/freetype/config/ftheader.h
rename to CMU462/deps/freetype/include/freetype/config/ftheader.h
index b957d05..696d6ba
--- a/CMU462/deps/freetype/include/freetype2/freetype/config/ftheader.h
+++ b/CMU462/deps/freetype/include/freetype/config/ftheader.h
@@ -1,22 +1,22 @@
-/***************************************************************************/
-/*                                                                         */
-/*  ftheader.h                                                             */
-/*                                                                         */
-/*    Build macros of the FreeType 2 library.                              */
-/*                                                                         */
-/*  Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006, 2007 by             */
-/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
-/*                                                                         */
-/*  This file is part of the FreeType project, and may only be used,       */
-/*  modified, and distributed under the terms of the FreeType project      */
-/*  license, LICENSE.TXT.  By continuing to use, modify, or distribute     */
-/*  this file you indicate that you have read the license and              */
-/*  understand and accept it fully.                                        */
-/*                                                                         */
-/***************************************************************************/
-
-#ifndef __FT_HEADER_H__
-#define __FT_HEADER_H__
+/****************************************************************************
+ *
+ * ftheader.h
+ *
+ *   Build macros of the FreeType 2 library.
+ *
+ * Copyright (C) 1996-2019 by
+ * David Turner, Robert Wilhelm, and Werner Lemberg.
+ *
+ * This file is part of the FreeType project, and may only be used,
+ * modified, and distributed under the terms of the FreeType project
+ * license, LICENSE.TXT.  By continuing to use, modify, or distribute
+ * this file you indicate that you have read the license and
+ * understand and accept it fully.
+ *
+ */
+
+#ifndef FTHEADER_H_
+#define FTHEADER_H_
 
 
   /*@***********************************************************************/
@@ -27,7 +27,7 @@
   /* <Description>                                                         */
   /*    This macro is used in association with @FT_END_HEADER in header    */
   /*    files to ensure that the declarations within are properly          */
-  /*    encapsulated in an `extern "C" { .. }' block when included from a  */
+  /*    encapsulated in an `extern "C" { .. }` block when included from a  */
   /*    C++ compiler.                                                      */
   /*                                                                       */
 #ifdef __cplusplus
@@ -45,7 +45,7 @@
   /* <Description>                                                         */
   /*    This macro is used in association with @FT_BEGIN_HEADER in header  */
   /*    files to ensure that the declarations within are properly          */
-  /*    encapsulated in an `extern "C" { .. }' block when included from a  */
+  /*    encapsulated in an `extern "C" { .. }` block when included from a  */
   /*    C++ compiler.                                                      */
   /*                                                                       */
 #ifdef __cplusplus
@@ -55,55 +55,55 @@
 #endif
 
 
-  /*************************************************************************/
-  /*                                                                       */
-  /* Aliases for the FreeType 2 public and configuration files.            */
-  /*                                                                       */
-  /*************************************************************************/
+  /**************************************************************************
+   *
+   * Aliases for the FreeType 2 public and configuration files.
+   *
+   */
 
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Section>                                                             */
-  /*    header_file_macros                                                 */
-  /*                                                                       */
-  /* <Title>                                                               */
-  /*    Header File Macros                                                 */
-  /*                                                                       */
-  /* <Abstract>                                                            */
-  /*    Macro definitions used to #include specific header files.          */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    The following macros are defined to the name of specific           */
-  /*    FreeType 2 header files.  They can be used directly in #include    */
-  /*    statements as in:                                                  */
-  /*                                                                       */
-  /*    {                                                                  */
-  /*      #include FT_FREETYPE_H                                           */
-  /*      #include FT_MULTIPLE_MASTERS_H                                   */
-  /*      #include FT_GLYPH_H                                              */
-  /*    }                                                                  */
-  /*                                                                       */
-  /*    There are several reasons why we are now using macros to name      */
-  /*    public header files.  The first one is that such macros are not    */
-  /*    limited to the infamous 8.3 naming rule required by DOS (and       */
-  /*    `FT_MULTIPLE_MASTERS_H' is a lot more meaningful than `ftmm.h').   */
-  /*                                                                       */
-  /*    The second reason is that it allows for more flexibility in the    */
-  /*    way FreeType 2 is installed on a given system.                     */
-  /*                                                                       */
-  /*************************************************************************/
+  /**************************************************************************
+   *
+   * @section:
+   *   header_file_macros
+   *
+   * @title:
+   *   Header File Macros
+   *
+   * @abstract:
+   *   Macro definitions used to `#include` specific header files.
+   *
+   * @description:
+   *   The following macros are defined to the name of specific FreeType~2
+   *   header files.  They can be used directly in `#include` statements as
+   *   in:
+   *
+   *   ```
+   *     #include FT_FREETYPE_H
+   *     #include FT_MULTIPLE_MASTERS_H
+   *     #include FT_GLYPH_H
+   *   ```
+   *
+   *   There are several reasons why we are now using macros to name public
+   *   header files.  The first one is that such macros are not limited to
+   *   the infamous 8.3~naming rule required by DOS (and
+   *   `FT_MULTIPLE_MASTERS_H` is a lot more meaningful than `ftmm.h`).
+   *
+   *   The second reason is that it allows for more flexibility in the way
+   *   FreeType~2 is installed on a given system.
+   *
+   */
 
 
   /* configuration files */
 
-  /*************************************************************************
+  /**************************************************************************
    *
    * @macro:
    *   FT_CONFIG_CONFIG_H
    *
    * @description:
-   *   A macro used in #include statements to name the file containing
-   *   FreeType 2 configuration data.
+   *   A macro used in `#include` statements to name the file containing
+   *   FreeType~2 configuration data.
    *
    */
 #ifndef FT_CONFIG_CONFIG_H
@@ -111,14 +111,14 @@
 #endif
 
 
-  /*************************************************************************
+  /**************************************************************************
    *
    * @macro:
    *   FT_CONFIG_STANDARD_LIBRARY_H
    *
    * @description:
-   *   A macro used in #include statements to name the file containing
-   *   FreeType 2 interface to the standard C library functions.
+   *   A macro used in `#include` statements to name the file containing
+   *   FreeType~2 interface to the standard C library functions.
    *
    */
 #ifndef FT_CONFIG_STANDARD_LIBRARY_H
@@ -126,14 +126,14 @@
 #endif
 
 
-  /*************************************************************************
+  /**************************************************************************
    *
    * @macro:
    *   FT_CONFIG_OPTIONS_H
    *
    * @description:
-   *   A macro used in #include statements to name the file containing
-   *   FreeType 2 project-specific configuration options.
+   *   A macro used in `#include` statements to name the file containing
+   *   FreeType~2 project-specific configuration options.
    *
    */
 #ifndef FT_CONFIG_OPTIONS_H
@@ -141,14 +141,14 @@
 #endif
 
 
-  /*************************************************************************
+  /**************************************************************************
    *
    * @macro:
    *   FT_CONFIG_MODULES_H
    *
    * @description:
-   *   A macro used in #include statements to name the file containing the
-   *   list of FreeType 2 modules that are statically linked to new library
+   *   A macro used in `#include` statements to name the file containing the
+   *   list of FreeType~2 modules that are statically linked to new library
    *   instances in @FT_Init_FreeType.
    *
    */
@@ -156,30 +156,31 @@
 #define FT_CONFIG_MODULES_H  <freetype/config/ftmodule.h>
 #endif
 
+  /* */
 
   /* public headers */
 
-  /*************************************************************************
+  /**************************************************************************
    *
    * @macro:
    *   FT_FREETYPE_H
    *
    * @description:
-   *   A macro used in #include statements to name the file containing the
-   *   base FreeType 2 API.
+   *   A macro used in `#include` statements to name the file containing the
+   *   base FreeType~2 API.
    *
    */
 #define FT_FREETYPE_H  <freetype/freetype.h>
 
 
-  /*************************************************************************
+  /**************************************************************************
    *
    * @macro:
    *   FT_ERRORS_H
    *
    * @description:
-   *   A macro used in #include statements to name the file containing the
-   *   list of FreeType 2 error codes (and messages).
+   *   A macro used in `#include` statements to name the file containing the
+   *   list of FreeType~2 error codes (and messages).
    *
    *   It is included by @FT_FREETYPE_H.
    *
@@ -187,27 +188,27 @@
 #define FT_ERRORS_H  <freetype/fterrors.h>
 
 
-  /*************************************************************************
+  /**************************************************************************
    *
    * @macro:
    *   FT_MODULE_ERRORS_H
    *
    * @description:
-   *   A macro used in #include statements to name the file containing the
-   *   list of FreeType 2 module error offsets (and messages).
+   *   A macro used in `#include` statements to name the file containing the
+   *   list of FreeType~2 module error offsets (and messages).
    *
    */
 #define FT_MODULE_ERRORS_H  <freetype/ftmoderr.h>
 
 
-  /*************************************************************************
+  /**************************************************************************
    *
    * @macro:
    *   FT_SYSTEM_H
    *
    * @description:
-   *   A macro used in #include statements to name the file containing the
-   *   FreeType 2 interface to low-level operations (i.e., memory management
+   *   A macro used in `#include` statements to name the file containing the
+   *   FreeType~2 interface to low-level operations (i.e., memory management
    *   and stream i/o).
    *
    *   It is included by @FT_FREETYPE_H.
@@ -216,13 +217,13 @@
 #define FT_SYSTEM_H  <freetype/ftsystem.h>
 
 
-  /*************************************************************************
+  /**************************************************************************
    *
    * @macro:
    *   FT_IMAGE_H
    *
    * @description:
-   *   A macro used in #include statements to name the file containing type
+   *   A macro used in `#include` statements to name the file containing type
    *   definitions related to glyph images (i.e., bitmaps, outlines,
    *   scan-converter parameters).
    *
@@ -232,14 +233,14 @@
 #define FT_IMAGE_H  <freetype/ftimage.h>
 
 
-  /*************************************************************************
+  /**************************************************************************
    *
    * @macro:
    *   FT_TYPES_H
    *
    * @description:
-   *   A macro used in #include statements to name the file containing the
-   *   basic data types defined by FreeType 2.
+   *   A macro used in `#include` statements to name the file containing the
+   *   basic data types defined by FreeType~2.
    *
    *   It is included by @FT_FREETYPE_H.
    *
@@ -247,14 +248,14 @@
 #define FT_TYPES_H  <freetype/fttypes.h>
 
 
-  /*************************************************************************
+  /**************************************************************************
    *
    * @macro:
    *   FT_LIST_H
    *
    * @description:
-   *   A macro used in #include statements to name the file containing the
-   *   list management API of FreeType 2.
+   *   A macro used in `#include` statements to name the file containing the
+   *   list management API of FreeType~2.
    *
    *   (Most applications will never need to include this file.)
    *
@@ -262,78 +263,151 @@
 #define FT_LIST_H  <freetype/ftlist.h>
 
 
-  /*************************************************************************
+  /**************************************************************************
    *
    * @macro:
    *   FT_OUTLINE_H
    *
    * @description:
-   *   A macro used in #include statements to name the file containing the
-   *   scalable outline management API of FreeType 2.
+   *   A macro used in `#include` statements to name the file containing the
+   *   scalable outline management API of FreeType~2.
    *
    */
 #define FT_OUTLINE_H  <freetype/ftoutln.h>
 
 
-  /*************************************************************************
+  /**************************************************************************
    *
    * @macro:
    *   FT_SIZES_H
    *
    * @description:
-   *   A macro used in #include statements to name the file containing the
+   *   A macro used in `#include` statements to name the file containing the
    *   API which manages multiple @FT_Size objects per face.
    *
    */
 #define FT_SIZES_H  <freetype/ftsizes.h>
 
 
-  /*************************************************************************
+  /**************************************************************************
    *
    * @macro:
    *   FT_MODULE_H
    *
    * @description:
-   *   A macro used in #include statements to name the file containing the
-   *   module management API of FreeType 2.
+   *   A macro used in `#include` statements to name the file containing the
+   *   module management API of FreeType~2.
    *
    */
 #define FT_MODULE_H  <freetype/ftmodapi.h>
 
 
-  /*************************************************************************
+  /**************************************************************************
    *
    * @macro:
    *   FT_RENDER_H
    *
    * @description:
-   *   A macro used in #include statements to name the file containing the
-   *   renderer module management API of FreeType 2.
+   *   A macro used in `#include` statements to name the file containing the
+   *   renderer module management API of FreeType~2.
    *
    */
 #define FT_RENDER_H  <freetype/ftrender.h>
 
 
-  /*************************************************************************
+  /**************************************************************************
+   *
+   * @macro:
+   *   FT_DRIVER_H
+   *
+   * @description:
+   *   A macro used in `#include` statements to name the file containing
+   *   structures and macros related to the driver modules.
+   *
+   */
+#define FT_DRIVER_H  <freetype/ftdriver.h>
+
+
+  /**************************************************************************
+   *
+   * @macro:
+   *   FT_AUTOHINTER_H
+   *
+   * @description:
+   *   A macro used in `#include` statements to name the file containing
+   *   structures and macros related to the auto-hinting module.
+   *
+   *   Deprecated since version~2.9; use @FT_DRIVER_H instead.
+   *
+   */
+#define FT_AUTOHINTER_H  FT_DRIVER_H
+
+
+  /**************************************************************************
+   *
+   * @macro:
+   *   FT_CFF_DRIVER_H
+   *
+   * @description:
+   *   A macro used in `#include` statements to name the file containing
+   *   structures and macros related to the CFF driver module.
+   *
+   *   Deprecated since version~2.9; use @FT_DRIVER_H instead.
+   *
+   */
+#define FT_CFF_DRIVER_H  FT_DRIVER_H
+
+
+  /**************************************************************************
+   *
+   * @macro:
+   *   FT_TRUETYPE_DRIVER_H
+   *
+   * @description:
+   *   A macro used in `#include` statements to name the file containing
+   *   structures and macros related to the TrueType driver module.
+   *
+   *   Deprecated since version~2.9; use @FT_DRIVER_H instead.
+   *
+   */
+#define FT_TRUETYPE_DRIVER_H  FT_DRIVER_H
+
+
+  /**************************************************************************
+   *
+   * @macro:
+   *   FT_PCF_DRIVER_H
+   *
+   * @description:
+   *   A macro used in `#include` statements to name the file containing
+   *   structures and macros related to the PCF driver module.
+   *
+   *   Deprecated since version~2.9; use @FT_DRIVER_H instead.
+   *
+   */
+#define FT_PCF_DRIVER_H  FT_DRIVER_H
+
+
+  /**************************************************************************
    *
    * @macro:
    *   FT_TYPE1_TABLES_H
    *
    * @description:
-   *   A macro used in #include statements to name the file containing the
-   *   types and API specific to the Type 1 format.
+   *   A macro used in `#include` statements to name the file containing the
+   *   types and API specific to the Type~1 format.
    *
    */
 #define FT_TYPE1_TABLES_H  <freetype/t1tables.h>
 
 
-  /*************************************************************************
+  /**************************************************************************
    *
    * @macro:
    *   FT_TRUETYPE_IDS_H
    *
    * @description:
-   *   A macro used in #include statements to name the file containing the
+   *   A macro used in `#include` statements to name the file containing the
    *   enumeration values which identify name strings, languages, encodings,
    *   etc.  This file really contains a _large_ set of constant macro
    *   definitions, taken from the TrueType and OpenType specifications.
@@ -342,204 +416,172 @@
 #define FT_TRUETYPE_IDS_H  <freetype/ttnameid.h>
 
 
-  /*************************************************************************
+  /**************************************************************************
    *
    * @macro:
    *   FT_TRUETYPE_TABLES_H
    *
    * @description:
-   *   A macro used in #include statements to name the file containing the
+   *   A macro used in `#include` statements to name the file containing the
    *   types and API specific to the TrueType (as well as OpenType) format.
    *
    */
 #define FT_TRUETYPE_TABLES_H  <freetype/tttables.h>
 
 
-  /*************************************************************************
+  /**************************************************************************
    *
    * @macro:
    *   FT_TRUETYPE_TAGS_H
    *
    * @description:
-   *   A macro used in #include statements to name the file containing the
-   *   definitions of TrueType four-byte `tags' which identify blocks in
+   *   A macro used in `#include` statements to name the file containing the
+   *   definitions of TrueType four-byte 'tags' which identify blocks in
    *   SFNT-based font formats (i.e., TrueType and OpenType).
    *
    */
 #define FT_TRUETYPE_TAGS_H  <freetype/tttags.h>
 
 
-  /*************************************************************************
+  /**************************************************************************
    *
    * @macro:
    *   FT_BDF_H
    *
    * @description:
-   *   A macro used in #include statements to name the file containing the
-   *   definitions of an API which accesses BDF-specific strings from a
-   *   face.
+   *   A macro used in `#include` statements to name the file containing the
+   *   definitions of an API which accesses BDF-specific strings from a face.
    *
    */
 #define FT_BDF_H  <freetype/ftbdf.h>
 
 
-  /*************************************************************************
+  /**************************************************************************
+   *
+   * @macro:
+   *   FT_CID_H
+   *
+   * @description:
+   *   A macro used in `#include` statements to name the file containing the
+   *   definitions of an API which access CID font information from a face.
+   *
+   */
+#define FT_CID_H  <freetype/ftcid.h>
+
+
+  /**************************************************************************
    *
    * @macro:
    *   FT_GZIP_H
    *
    * @description:
-   *   A macro used in #include statements to name the file containing the
+   *   A macro used in `#include` statements to name the file containing the
    *   definitions of an API which supports gzip-compressed files.
    *
    */
 #define FT_GZIP_H  <freetype/ftgzip.h>
 
 
-  /*************************************************************************
+  /**************************************************************************
    *
    * @macro:
    *   FT_LZW_H
    *
    * @description:
-   *   A macro used in #include statements to name the file containing the
+   *   A macro used in `#include` statements to name the file containing the
    *   definitions of an API which supports LZW-compressed files.
    *
    */
 #define FT_LZW_H  <freetype/ftlzw.h>
 
 
-  /*************************************************************************
+  /**************************************************************************
+   *
+   * @macro:
+   *   FT_BZIP2_H
+   *
+   * @description:
+   *   A macro used in `#include` statements to name the file containing the
+   *   definitions of an API which supports bzip2-compressed files.
+   *
+   */
+#define FT_BZIP2_H  <freetype/ftbzip2.h>
+
+
+  /**************************************************************************
    *
    * @macro:
    *   FT_WINFONTS_H
    *
    * @description:
-   *   A macro used in #include statements to name the file containing the
+   *   A macro used in `#include` statements to name the file containing the
    *   definitions of an API which supports Windows FNT files.
    *
    */
 #define FT_WINFONTS_H   <freetype/ftwinfnt.h>
 
 
-  /*************************************************************************
+  /**************************************************************************
    *
    * @macro:
    *   FT_GLYPH_H
    *
    * @description:
-   *   A macro used in #include statements to name the file containing the
+   *   A macro used in `#include` statements to name the file containing the
    *   API of the optional glyph management component.
    *
    */
 #define FT_GLYPH_H  <freetype/ftglyph.h>
 
 
-  /*************************************************************************
+  /**************************************************************************
    *
    * @macro:
    *   FT_BITMAP_H
    *
    * @description:
-   *   A macro used in #include statements to name the file containing the
+   *   A macro used in `#include` statements to name the file containing the
    *   API of the optional bitmap conversion component.
    *
    */
 #define FT_BITMAP_H  <freetype/ftbitmap.h>
 
 
-  /*************************************************************************
+  /**************************************************************************
    *
    * @macro:
    *   FT_BBOX_H
    *
    * @description:
-   *   A macro used in #include statements to name the file containing the
+   *   A macro used in `#include` statements to name the file containing the
    *   API of the optional exact bounding box computation routines.
    *
    */
 #define FT_BBOX_H  <freetype/ftbbox.h>
 
 
-  /*************************************************************************
+  /**************************************************************************
    *
    * @macro:
    *   FT_CACHE_H
    *
    * @description:
-   *   A macro used in #include statements to name the file containing the
-   *   API of the optional FreeType 2 cache sub-system.
+   *   A macro used in `#include` statements to name the file containing the
+   *   API of the optional FreeType~2 cache sub-system.
    *
    */
 #define FT_CACHE_H  <freetype/ftcache.h>
 
 
-  /*************************************************************************
-   *
-   * @macro:
-   *   FT_CACHE_IMAGE_H
-   *
-   * @description:
-   *   A macro used in #include statements to name the file containing the
-   *   `glyph image' API of the FreeType 2 cache sub-system.
-   *
-   *   It is used to define a cache for @FT_Glyph elements.  You can also
-   *   use the API defined in @FT_CACHE_SMALL_BITMAPS_H if you only need to
-   *   store small glyph bitmaps, as it will use less memory.
-   *
-   *   This macro is deprecated.  Simply include @FT_CACHE_H to have all
-   *   glyph image-related cache declarations.
-   *
-   */
-#define FT_CACHE_IMAGE_H  FT_CACHE_H
-
-
-  /*************************************************************************
-   *
-   * @macro:
-   *   FT_CACHE_SMALL_BITMAPS_H
-   *
-   * @description:
-   *   A macro used in #include statements to name the file containing the
-   *   `small bitmaps' API of the FreeType 2 cache sub-system.
-   *
-   *   It is used to define a cache for small glyph bitmaps in a relatively
-   *   memory-efficient way.  You can also use the API defined in
-   *   @FT_CACHE_IMAGE_H if you want to cache arbitrary glyph images,
-   *   including scalable outlines.
-   *
-   *   This macro is deprecated.  Simply include @FT_CACHE_H to have all
-   *   small bitmaps-related cache declarations.
-   *
-   */
-#define FT_CACHE_SMALL_BITMAPS_H  FT_CACHE_H
-
-
-  /*************************************************************************
-   *
-   * @macro:
-   *   FT_CACHE_CHARMAP_H
-   *
-   * @description:
-   *   A macro used in #include statements to name the file containing the
-   *   `charmap' API of the FreeType 2 cache sub-system.
-   *
-   *   This macro is deprecated.  Simply include @FT_CACHE_H to have all
-   *   charmap-based cache declarations.
-   *
-   */
-#define FT_CACHE_CHARMAP_H  FT_CACHE_H
-
-
-  /*************************************************************************
+  /**************************************************************************
    *
    * @macro:
    *   FT_MAC_H
    *
    * @description:
-   *   A macro used in #include statements to name the file containing the
-   *   Macintosh-specific FreeType 2 API.  The latter is used to access
-   *   fonts embedded in resource forks.
+   *   A macro used in `#include` statements to name the file containing the
+   *   Macintosh-specific FreeType~2 API.  The latter is used to access fonts
+   *   embedded in resource forks.
    *
    *   This header file must be explicitly included by client applications
    *   compiled on the Mac (note that the base API still works though).
@@ -548,174 +590,217 @@
 #define FT_MAC_H  <freetype/ftmac.h>
 
 
-  /*************************************************************************
+  /**************************************************************************
    *
    * @macro:
    *   FT_MULTIPLE_MASTERS_H
    *
    * @description:
-   *   A macro used in #include statements to name the file containing the
-   *   optional multiple-masters management API of FreeType 2.
+   *   A macro used in `#include` statements to name the file containing the
+   *   optional multiple-masters management API of FreeType~2.
    *
    */
 #define FT_MULTIPLE_MASTERS_H  <freetype/ftmm.h>
 
 
-  /*************************************************************************
+  /**************************************************************************
    *
    * @macro:
    *   FT_SFNT_NAMES_H
    *
    * @description:
-   *   A macro used in #include statements to name the file containing the
-   *   optional FreeType 2 API which accesses embedded `name' strings in
+   *   A macro used in `#include` statements to name the file containing the
+   *   optional FreeType~2 API which accesses embedded 'name' strings in
    *   SFNT-based font formats (i.e., TrueType and OpenType).
    *
    */
 #define FT_SFNT_NAMES_H  <freetype/ftsnames.h>
 
 
-  /*************************************************************************
+  /**************************************************************************
    *
    * @macro:
    *   FT_OPENTYPE_VALIDATE_H
    *
    * @description:
-   *   A macro used in #include statements to name the file containing the
-   *   optional FreeType 2 API which validates OpenType tables (BASE, GDEF,
-   *   GPOS, GSUB, JSTF).
+   *   A macro used in `#include` statements to name the file containing the
+   *   optional FreeType~2 API which validates OpenType tables ('BASE',
+   *   'GDEF', 'GPOS', 'GSUB', 'JSTF').
    *
    */
 #define FT_OPENTYPE_VALIDATE_H  <freetype/ftotval.h>
 
 
-  /*************************************************************************
+  /**************************************************************************
    *
    * @macro:
    *   FT_GX_VALIDATE_H
    *
    * @description:
-   *   A macro used in #include statements to name the file containing the
-   *   optional FreeType 2 API which validates TrueTypeGX/AAT tables (feat,
-   *   mort, morx, bsln, just, kern, opbd, trak, prop).
+   *   A macro used in `#include` statements to name the file containing the
+   *   optional FreeType~2 API which validates TrueTypeGX/AAT tables ('feat',
+   *   'mort', 'morx', 'bsln', 'just', 'kern', 'opbd', 'trak', 'prop').
    *
    */
 #define FT_GX_VALIDATE_H  <freetype/ftgxval.h>
 
 
-  /*************************************************************************
+  /**************************************************************************
    *
    * @macro:
    *   FT_PFR_H
    *
    * @description:
-   *   A macro used in #include statements to name the file containing the
-   *   FreeType 2 API which accesses PFR-specific data.
+   *   A macro used in `#include` statements to name the file containing the
+   *   FreeType~2 API which accesses PFR-specific data.
    *
    */
 #define FT_PFR_H  <freetype/ftpfr.h>
 
 
-  /*************************************************************************
+  /**************************************************************************
    *
    * @macro:
    *   FT_STROKER_H
    *
    * @description:
-   *   A macro used in #include statements to name the file containing the
-   *   FreeType 2 API which provides functions to stroke outline paths.
+   *   A macro used in `#include` statements to name the file containing the
+   *   FreeType~2 API which provides functions to stroke outline paths.
    */
 #define FT_STROKER_H  <freetype/ftstroke.h>
 
 
-  /*************************************************************************
+  /**************************************************************************
    *
    * @macro:
    *   FT_SYNTHESIS_H
    *
    * @description:
-   *   A macro used in #include statements to name the file containing the
-   *   FreeType 2 API which performs artificial obliquing and emboldening.
+   *   A macro used in `#include` statements to name the file containing the
+   *   FreeType~2 API which performs artificial obliquing and emboldening.
    */
 #define FT_SYNTHESIS_H  <freetype/ftsynth.h>
 
 
-  /*************************************************************************
+  /**************************************************************************
    *
    * @macro:
-   *   FT_XFREE86_H
+   *   FT_FONT_FORMATS_H
    *
    * @description:
-   *   A macro used in #include statements to name the file containing the
-   *   FreeType 2 API which provides functions specific to the XFree86 and
-   *   X.Org X11 servers.
+   *   A macro used in `#include` statements to name the file containing the
+   *   FreeType~2 API which provides functions specific to font formats.
    */
-#define FT_XFREE86_H  <freetype/ftxf86.h>
+#define FT_FONT_FORMATS_H  <freetype/ftfntfmt.h>
+
+  /* deprecated */
+#define FT_XFREE86_H  FT_FONT_FORMATS_H
 
 
-  /*************************************************************************
+  /**************************************************************************
    *
    * @macro:
    *   FT_TRIGONOMETRY_H
    *
    * @description:
-   *   A macro used in #include statements to name the file containing the
-   *   FreeType 2 API which performs trigonometric computations (e.g.,
+   *   A macro used in `#include` statements to name the file containing the
+   *   FreeType~2 API which performs trigonometric computations (e.g.,
    *   cosines and arc tangents).
    */
 #define FT_TRIGONOMETRY_H  <freetype/fttrigon.h>
 
 
-  /*************************************************************************
+  /**************************************************************************
    *
    * @macro:
    *   FT_LCD_FILTER_H
    *
    * @description:
-   *   A macro used in #include statements to name the file containing the
-   *   FreeType 2 API which performs color filtering for subpixel rendering.
+   *   A macro used in `#include` statements to name the file containing the
+   *   FreeType~2 API which performs color filtering for subpixel rendering.
    */
 #define FT_LCD_FILTER_H  <freetype/ftlcdfil.h>
 
 
-  /*************************************************************************
+  /**************************************************************************
+   *
+   * @macro:
+   *   FT_INCREMENTAL_H
+   *
+   * @description:
+   *   A macro used in `#include` statements to name the file containing the
+   *   FreeType~2 API which performs incremental glyph loading.
+   */
+#define FT_INCREMENTAL_H  <freetype/ftincrem.h>
+
+
+  /**************************************************************************
    *
    * @macro:
    *   FT_GASP_H
    *
    * @description:
-   *   A macro used in #include statements to name the file containing the
-   *   FreeType 2 API which returns entries from the TrueType GASP table.
+   *   A macro used in `#include` statements to name the file containing the
+   *   FreeType~2 API which returns entries from the TrueType GASP table.
    */
 #define FT_GASP_H  <freetype/ftgasp.h>
 
 
+  /**************************************************************************
+   *
+   * @macro:
+   *   FT_ADVANCES_H
+   *
+   * @description:
+   *   A macro used in `#include` statements to name the file containing the
+   *   FreeType~2 API which returns individual and ranged glyph advances.
+   */
+#define FT_ADVANCES_H  <freetype/ftadvanc.h>
+
+
+  /**************************************************************************
+   *
+   * @macro:
+   *   FT_COLOR_H
+   *
+   * @description:
+   *   A macro used in `#include` statements to name the file containing the
+   *   FreeType~2 API which handles the OpenType 'CPAL' table.
+   */
+#define FT_COLOR_H  <freetype/ftcolor.h>
+
+
   /* */
 
+  /* These header files don't need to be included by the user. */
 #define FT_ERROR_DEFINITIONS_H  <freetype/fterrdef.h>
+#define FT_PARAMETER_TAGS_H     <freetype/ftparams.h>
+
+  /* Deprecated macros. */
+#define FT_UNPATENTED_HINTING_H   <freetype/ftparams.h>
+#define FT_TRUETYPE_UNPATENTED_H  <freetype/ftparams.h>
 
+  /* `FT_CACHE_H` is the only header file needed for the cache subsystem. */
+#define FT_CACHE_IMAGE_H          FT_CACHE_H
+#define FT_CACHE_SMALL_BITMAPS_H  FT_CACHE_H
+#define FT_CACHE_CHARMAP_H        FT_CACHE_H
 
   /* The internals of the cache sub-system are no longer exposed.  We */
-  /* default to FT_CACHE_H at the moment just in case, but we know of */
-  /* no rogue client that uses them.                                  */
+  /* default to `FT_CACHE_H` at the moment just in case, but we know  */
+  /* of no rogue client that uses them.                               */
   /*                                                                  */
-#define FT_CACHE_MANAGER_H           <freetype/ftcache.h>
-#define FT_CACHE_INTERNAL_MRU_H      <freetype/ftcache.h>
-#define FT_CACHE_INTERNAL_MANAGER_H  <freetype/ftcache.h>
-#define FT_CACHE_INTERNAL_CACHE_H    <freetype/ftcache.h>
-#define FT_CACHE_INTERNAL_GLYPH_H    <freetype/ftcache.h>
-#define FT_CACHE_INTERNAL_IMAGE_H    <freetype/ftcache.h>
-#define FT_CACHE_INTERNAL_SBITS_H    <freetype/ftcache.h>
-
-
-#define FT_INCREMENTAL_H          <freetype/ftincrem.h>
-
-#define FT_TRUETYPE_UNPATENTED_H  <freetype/ttunpat.h>
+#define FT_CACHE_MANAGER_H           FT_CACHE_H
+#define FT_CACHE_INTERNAL_MRU_H      FT_CACHE_H
+#define FT_CACHE_INTERNAL_MANAGER_H  FT_CACHE_H
+#define FT_CACHE_INTERNAL_CACHE_H    FT_CACHE_H
+#define FT_CACHE_INTERNAL_GLYPH_H    FT_CACHE_H
+#define FT_CACHE_INTERNAL_IMAGE_H    FT_CACHE_H
+#define FT_CACHE_INTERNAL_SBITS_H    FT_CACHE_H
 
 
   /*
-   * Include internal headers definitions from <freetype/internal/...>
-   * only when building the library.
+   * Include internal headers definitions from `<internal/...>` only when
+   * building the library.
    */
 #ifdef FT2_BUILD_LIBRARY
 #define  FT_INTERNAL_INTERNAL_H  <freetype/internal/internal.h>
@@ -723,7 +808,7 @@
 #endif /* FT2_BUILD_LIBRARY */
 
 
-#endif /* __FT2_BUILD_H__ */
+#endif /* FTHEADER_H_ */
 
 
 /* END */
diff --git a/CMU462/deps/freetype/include/freetype/config/ftmodule.h b/CMU462/deps/freetype/include/freetype/config/ftmodule.h
new file mode 100644
index 0000000..7c603e5
--- /dev/null
+++ b/CMU462/deps/freetype/include/freetype/config/ftmodule.h
@@ -0,0 +1,32 @@
+/*
+ * This file registers the FreeType modules compiled into the library.
+ *
+ * If you use GNU make, this file IS NOT USED!  Instead, it is created in
+ * the objects directory (normally `<topdir>/objs/`) based on information
+ * from `<topdir>/modules.cfg`.
+ *
+ * Please read `docs/INSTALL.ANY` and `docs/CUSTOMIZE` how to compile
+ * FreeType without GNU make.
+ *
+ */
+
+FT_USE_MODULE( FT_Module_Class, autofit_module_class )
+FT_USE_MODULE( FT_Driver_ClassRec, tt_driver_class )
+FT_USE_MODULE( FT_Driver_ClassRec, t1_driver_class )
+FT_USE_MODULE( FT_Driver_ClassRec, cff_driver_class )
+FT_USE_MODULE( FT_Driver_ClassRec, t1cid_driver_class )
+FT_USE_MODULE( FT_Driver_ClassRec, pfr_driver_class )
+FT_USE_MODULE( FT_Driver_ClassRec, t42_driver_class )
+FT_USE_MODULE( FT_Driver_ClassRec, winfnt_driver_class )
+FT_USE_MODULE( FT_Driver_ClassRec, pcf_driver_class )
+FT_USE_MODULE( FT_Module_Class, psaux_module_class )
+FT_USE_MODULE( FT_Module_Class, psnames_module_class )
+FT_USE_MODULE( FT_Module_Class, pshinter_module_class )
+FT_USE_MODULE( FT_Renderer_Class, ft_raster1_renderer_class )
+FT_USE_MODULE( FT_Module_Class, sfnt_module_class )
+FT_USE_MODULE( FT_Renderer_Class, ft_smooth_renderer_class )
+FT_USE_MODULE( FT_Renderer_Class, ft_smooth_lcd_renderer_class )
+FT_USE_MODULE( FT_Renderer_Class, ft_smooth_lcdv_renderer_class )
+FT_USE_MODULE( FT_Driver_ClassRec, bdf_driver_class )
+
+/* EOF */
diff --git a/CMU462/deps/freetype/include/freetype/config/ftoption.h b/CMU462/deps/freetype/include/freetype/config/ftoption.h
new file mode 100644
index 0000000..12f47a8
--- /dev/null
+++ b/CMU462/deps/freetype/include/freetype/config/ftoption.h
@@ -0,0 +1,982 @@
+/****************************************************************************
+ *
+ * ftoption.h
+ *
+ *   User-selectable configuration macros (specification only).
+ *
+ * Copyright (C) 1996-2019 by
+ * David Turner, Robert Wilhelm, and Werner Lemberg.
+ *
+ * This file is part of the FreeType project, and may only be used,
+ * modified, and distributed under the terms of the FreeType project
+ * license, LICENSE.TXT.  By continuing to use, modify, or distribute
+ * this file you indicate that you have read the license and
+ * understand and accept it fully.
+ *
+ */
+
+
+#ifndef FTOPTION_H_
+#define FTOPTION_H_
+
+
+#include <ft2build.h>
+
+
+FT_BEGIN_HEADER
+
+  /**************************************************************************
+   *
+   *                USER-SELECTABLE CONFIGURATION MACROS
+   *
+   * This file contains the default configuration macro definitions for a
+   * standard build of the FreeType library.  There are three ways to use
+   * this file to build project-specific versions of the library:
+   *
+   * - You can modify this file by hand, but this is not recommended in
+   *   cases where you would like to build several versions of the library
+   *   from a single source directory.
+   *
+   * - You can put a copy of this file in your build directory, more
+   *   precisely in `$BUILD/freetype/config/ftoption.h`, where `$BUILD` is
+   *   the name of a directory that is included _before_ the FreeType include
+   *   path during compilation.
+   *
+   *   The default FreeType Makefiles and Jamfiles use the build directory
+   *   `builds/<system>` by default, but you can easily change that for your
+   *   own projects.
+   *
+   * - Copy the file <ft2build.h> to `$BUILD/ft2build.h` and modify it
+   *   slightly to pre-define the macro `FT_CONFIG_OPTIONS_H` used to locate
+   *   this file during the build.  For example,
+   *
+   *   ```
+   *     #define FT_CONFIG_OPTIONS_H  <myftoptions.h>
+   *     #include <freetype/config/ftheader.h>
+   *   ```
+   *
+   *   will use `$BUILD/myftoptions.h` instead of this file for macro
+   *   definitions.
+   *
+   *   Note also that you can similarly pre-define the macro
+   *   `FT_CONFIG_MODULES_H` used to locate the file listing of the modules
+   *   that are statically linked to the library at compile time.  By
+   *   default, this file is `<freetype/config/ftmodule.h>`.
+   *
+   * We highly recommend using the third method whenever possible.
+   *
+   */
+
+
+  /*************************************************************************/
+  /*************************************************************************/
+  /****                                                                 ****/
+  /**** G E N E R A L   F R E E T Y P E   2   C O N F I G U R A T I O N ****/
+  /****                                                                 ****/
+  /*************************************************************************/
+  /*************************************************************************/
+
+
+  /*#************************************************************************
+   *
+   * If you enable this configuration option, FreeType recognizes an
+   * environment variable called `FREETYPE_PROPERTIES`, which can be used to
+   * control the various font drivers and modules.  The controllable
+   * properties are listed in the section @properties.
+   *
+   * You have to undefine this configuration option on platforms that lack
+   * the concept of environment variables (and thus don't have the `getenv`
+   * function), for example Windows CE.
+   *
+   * `FREETYPE_PROPERTIES` has the following syntax form (broken here into
+   * multiple lines for better readability).
+   *
+   * ```
+   *   <optional whitespace>
+   *   <module-name1> ':'
+   *   <property-name1> '=' <property-value1>
+   *   <whitespace>
+   *   <module-name2> ':'
+   *   <property-name2> '=' <property-value2>
+   *   ...
+   * ```
+   *
+   * Example:
+   *
+   * ```
+   *   FREETYPE_PROPERTIES=truetype:interpreter-version=35 \
+   *                       cff:no-stem-darkening=1 \
+   *                       autofitter:warping=1
+   * ```
+   *
+   */
+#define FT_CONFIG_OPTION_ENVIRONMENT_PROPERTIES
+
+
+  /**************************************************************************
+   *
+   * Uncomment the line below if you want to activate LCD rendering
+   * technology similar to ClearType in this build of the library.  This
+   * technology triples the resolution in the direction color subpixels.  To
+   * mitigate color fringes inherent to this technology, you also need to
+   * explicitly set up LCD filtering.
+   *
+   * Note that this feature is covered by several Microsoft patents and
+   * should not be activated in any default build of the library.  When this
+   * macro is not defined, FreeType offers alternative LCD rendering
+   * technology that produces excellent output without LCD filtering.
+   */
+/* #define FT_CONFIG_OPTION_SUBPIXEL_RENDERING */
+
+
+  /**************************************************************************
+   *
+   * Many compilers provide a non-ANSI 64-bit data type that can be used by
+   * FreeType to speed up some computations.  However, this will create some
+   * problems when compiling the library in strict ANSI mode.
+   *
+   * For this reason, the use of 64-bit integers is normally disabled when
+   * the `__STDC__` macro is defined.  You can however disable this by
+   * defining the macro `FT_CONFIG_OPTION_FORCE_INT64` here.
+   *
+   * For most compilers, this will only create compilation warnings when
+   * building the library.
+   *
+   * ObNote: The compiler-specific 64-bit integers are detected in the
+   *         file `ftconfig.h` either statically or through the `configure`
+   *         script on supported platforms.
+   */
+#undef FT_CONFIG_OPTION_FORCE_INT64
+
+
+  /**************************************************************************
+   *
+   * If this macro is defined, do not try to use an assembler version of
+   * performance-critical functions (e.g., @FT_MulFix).  You should only do
+   * that to verify that the assembler function works properly, or to execute
+   * benchmark tests of the various implementations.
+   */
+/* #define FT_CONFIG_OPTION_NO_ASSEMBLER */
+
+
+  /**************************************************************************
+   *
+   * If this macro is defined, try to use an inlined assembler version of the
+   * @FT_MulFix function, which is a 'hotspot' when loading and hinting
+   * glyphs, and which should be executed as fast as possible.
+   *
+   * Note that if your compiler or CPU is not supported, this will default to
+   * the standard and portable implementation found in `ftcalc.c`.
+   */
+#define FT_CONFIG_OPTION_INLINE_MULFIX
+
+
+  /**************************************************************************
+   *
+   * LZW-compressed file support.
+   *
+   *   FreeType now handles font files that have been compressed with the
+   *   `compress` program.  This is mostly used to parse many of the PCF
+   *   files that come with various X11 distributions.  The implementation
+   *   uses NetBSD's `zopen` to partially uncompress the file on the fly (see
+   *   `src/lzw/ftgzip.c`).
+   *
+   *   Define this macro if you want to enable this 'feature'.
+   */
+#define FT_CONFIG_OPTION_USE_LZW
+
+
+  /**************************************************************************
+   *
+   * Gzip-compressed file support.
+   *
+   *   FreeType now handles font files that have been compressed with the
+   *   `gzip` program.  This is mostly used to parse many of the PCF files
+   *   that come with XFree86.  The implementation uses 'zlib' to partially
+   *   uncompress the file on the fly (see `src/gzip/ftgzip.c`).
+   *
+   *   Define this macro if you want to enable this 'feature'.  See also the
+   *   macro `FT_CONFIG_OPTION_SYSTEM_ZLIB` below.
+   */
+#define FT_CONFIG_OPTION_USE_ZLIB
+
+
+  /**************************************************************************
+   *
+   * ZLib library selection
+   *
+   *   This macro is only used when `FT_CONFIG_OPTION_USE_ZLIB` is defined.
+   *   It allows FreeType's 'ftgzip' component to link to the system's
+   *   installation of the ZLib library.  This is useful on systems like
+   *   Unix or VMS where it generally is already available.
+   *
+   *   If you let it undefined, the component will use its own copy of the
+   *   zlib sources instead.  These have been modified to be included
+   *   directly within the component and **not** export external function
+   *   names.  This allows you to link any program with FreeType _and_ ZLib
+   *   without linking conflicts.
+   *
+   *   Do not `#undef` this macro here since the build system might define
+   *   it for certain configurations only.
+   *
+   *   If you use a build system like cmake or the `configure` script,
+   *   options set by those programs have precedence, overwriting the value
+   *   here with the configured one.
+   */
+/* #define FT_CONFIG_OPTION_SYSTEM_ZLIB */
+
+
+  /**************************************************************************
+   *
+   * Bzip2-compressed file support.
+   *
+   *   FreeType now handles font files that have been compressed with the
+   *   `bzip2` program.  This is mostly used to parse many of the PCF files
+   *   that come with XFree86.  The implementation uses `libbz2` to partially
+   *   uncompress the file on the fly (see `src/bzip2/ftbzip2.c`).  Contrary
+   *   to gzip, bzip2 currently is not included and need to use the system
+   *   available bzip2 implementation.
+   *
+   *   Define this macro if you want to enable this 'feature'.
+   *
+   *   If you use a build system like cmake or the `configure` script,
+   *   options set by those programs have precedence, overwriting the value
+   *   here with the configured one.
+   */
+/* #define FT_CONFIG_OPTION_USE_BZIP2 */
+
+
+  /**************************************************************************
+   *
+   * Define to disable the use of file stream functions and types, `FILE`,
+   * `fopen`, etc.  Enables the use of smaller system libraries on embedded
+   * systems that have multiple system libraries, some with or without file
+   * stream support, in the cases where file stream support is not necessary
+   * such as memory loading of font files.
+   */
+/* #define FT_CONFIG_OPTION_DISABLE_STREAM_SUPPORT */
+
+
+  /**************************************************************************
+   *
+   * PNG bitmap support.
+   *
+   *   FreeType now handles loading color bitmap glyphs in the PNG format.
+   *   This requires help from the external libpng library.  Uncompressed
+   *   color bitmaps do not need any external libraries and will be supported
+   *   regardless of this configuration.
+   *
+   *   Define this macro if you want to enable this 'feature'.
+   *
+   *   If you use a build system like cmake or the `configure` script,
+   *   options set by those programs have precedence, overwriting the value
+   *   here with the configured one.
+   */
+/* #define FT_CONFIG_OPTION_USE_PNG */
+
+
+  /**************************************************************************
+   *
+   * HarfBuzz support.
+   *
+   *   FreeType uses the HarfBuzz library to improve auto-hinting of OpenType
+   *   fonts.  If available, many glyphs not directly addressable by a font's
+   *   character map will be hinted also.
+   *
+   *   Define this macro if you want to enable this 'feature'.
+   *
+   *   If you use a build system like cmake or the `configure` script,
+   *   options set by those programs have precedence, overwriting the value
+   *   here with the configured one.
+   */
+/* #define FT_CONFIG_OPTION_USE_HARFBUZZ */
+
+
+  /**************************************************************************
+   *
+   * Glyph Postscript Names handling
+   *
+   *   By default, FreeType 2 is compiled with the 'psnames' module.  This
+   *   module is in charge of converting a glyph name string into a Unicode
+   *   value, or return a Macintosh standard glyph name for the use with the
+   *   TrueType 'post' table.
+   *
+   *   Undefine this macro if you do not want 'psnames' compiled in your
+   *   build of FreeType.  This has the following effects:
+   *
+   *   - The TrueType driver will provide its own set of glyph names, if you
+   *     build it to support postscript names in the TrueType 'post' table,
+   *     but will not synthesize a missing Unicode charmap.
+   *
+   *   - The Type~1 driver will not be able to synthesize a Unicode charmap
+   *     out of the glyphs found in the fonts.
+   *
+   *   You would normally undefine this configuration macro when building a
+   *   version of FreeType that doesn't contain a Type~1 or CFF driver.
+   */
+#define FT_CONFIG_OPTION_POSTSCRIPT_NAMES
+
+
+  /**************************************************************************
+   *
+   * Postscript Names to Unicode Values support
+   *
+   *   By default, FreeType~2 is built with the 'psnames' module compiled in.
+   *   Among other things, the module is used to convert a glyph name into a
+   *   Unicode value.  This is especially useful in order to synthesize on
+   *   the fly a Unicode charmap from the CFF/Type~1 driver through a big
+   *   table named the 'Adobe Glyph List' (AGL).
+   *
+   *   Undefine this macro if you do not want the Adobe Glyph List compiled
+   *   in your 'psnames' module.  The Type~1 driver will not be able to
+   *   synthesize a Unicode charmap out of the glyphs found in the fonts.
+   */
+#define FT_CONFIG_OPTION_ADOBE_GLYPH_LIST
+
+
+  /**************************************************************************
+   *
+   * Support for Mac fonts
+   *
+   *   Define this macro if you want support for outline fonts in Mac format
+   *   (mac dfont, mac resource, macbinary containing a mac resource) on
+   *   non-Mac platforms.
+   *
+   *   Note that the 'FOND' resource isn't checked.
+   */
+#define FT_CONFIG_OPTION_MAC_FONTS
+
+
+  /**************************************************************************
+   *
+   * Guessing methods to access embedded resource forks
+   *
+   *   Enable extra Mac fonts support on non-Mac platforms (e.g., GNU/Linux).
+   *
+   *   Resource forks which include fonts data are stored sometimes in
+   *   locations which users or developers don't expected.  In some cases,
+   *   resource forks start with some offset from the head of a file.  In
+   *   other cases, the actual resource fork is stored in file different from
+   *   what the user specifies.  If this option is activated, FreeType tries
+   *   to guess whether such offsets or different file names must be used.
+   *
+   *   Note that normal, direct access of resource forks is controlled via
+   *   the `FT_CONFIG_OPTION_MAC_FONTS` option.
+   */
+#ifdef FT_CONFIG_OPTION_MAC_FONTS
+#define FT_CONFIG_OPTION_GUESSING_EMBEDDED_RFORK
+#endif
+
+
+  /**************************************************************************
+   *
+   * Allow the use of `FT_Incremental_Interface` to load typefaces that
+   * contain no glyph data, but supply it via a callback function.  This is
+   * required by clients supporting document formats which supply font data
+   * incrementally as the document is parsed, such as the Ghostscript
+   * interpreter for the PostScript language.
+   */
+#define FT_CONFIG_OPTION_INCREMENTAL
+
+
+  /**************************************************************************
+   *
+   * The size in bytes of the render pool used by the scan-line converter to
+   * do all of its work.
+   */
+#define FT_RENDER_POOL_SIZE  16384L
+
+
+  /**************************************************************************
+   *
+   * FT_MAX_MODULES
+   *
+   *   The maximum number of modules that can be registered in a single
+   *   FreeType library object.  32~is the default.
+   */
+#define FT_MAX_MODULES  32
+
+
+  /**************************************************************************
+   *
+   * Debug level
+   *
+   *   FreeType can be compiled in debug or trace mode.  In debug mode,
+   *   errors are reported through the 'ftdebug' component.  In trace mode,
+   *   additional messages are sent to the standard output during execution.
+   *
+   *   Define `FT_DEBUG_LEVEL_ERROR` to build the library in debug mode.
+   *   Define `FT_DEBUG_LEVEL_TRACE` to build it in trace mode.
+   *
+   *   Don't define any of these macros to compile in 'release' mode!
+   *
+   *   Do not `#undef` these macros here since the build system might define
+   *   them for certain configurations only.
+   */
+/* #define FT_DEBUG_LEVEL_ERROR */
+/* #define FT_DEBUG_LEVEL_TRACE */
+
+
+  /**************************************************************************
+   *
+   * Autofitter debugging
+   *
+   *   If `FT_DEBUG_AUTOFIT` is defined, FreeType provides some means to
+   *   control the autofitter behaviour for debugging purposes with global
+   *   boolean variables (consequently, you should **never** enable this
+   *   while compiling in 'release' mode):
+   *
+   *   ```
+   *     _af_debug_disable_horz_hints
+   *     _af_debug_disable_vert_hints
+   *     _af_debug_disable_blue_hints
+   *   ```
+   *
+   *   Additionally, the following functions provide dumps of various
+   *   internal autofit structures to stdout (using `printf`):
+   *
+   *   ```
+   *     af_glyph_hints_dump_points
+   *     af_glyph_hints_dump_segments
+   *     af_glyph_hints_dump_edges
+   *     af_glyph_hints_get_num_segments
+   *     af_glyph_hints_get_segment_offset
+   *   ```
+   *
+   *   As an argument, they use another global variable:
+   *
+   *   ```
+   *     _af_debug_hints
+   *   ```
+   *
+   *   Please have a look at the `ftgrid` demo program to see how those
+   *   variables and macros should be used.
+   *
+   *   Do not `#undef` these macros here since the build system might define
+   *   them for certain configurations only.
+   */
+/* #define FT_DEBUG_AUTOFIT */
+
+
+  /**************************************************************************
+   *
+   * Memory Debugging
+   *
+   *   FreeType now comes with an integrated memory debugger that is capable
+   *   of detecting simple errors like memory leaks or double deletes.  To
+   *   compile it within your build of the library, you should define
+   *   `FT_DEBUG_MEMORY` here.
+   *
+   *   Note that the memory debugger is only activated at runtime when when
+   *   the _environment_ variable `FT2_DEBUG_MEMORY` is defined also!
+   *
+   *   Do not `#undef` this macro here since the build system might define it
+   *   for certain configurations only.
+   */
+/* #define FT_DEBUG_MEMORY */
+
+
+  /**************************************************************************
+   *
+   * Module errors
+   *
+   *   If this macro is set (which is _not_ the default), the higher byte of
+   *   an error code gives the module in which the error has occurred, while
+   *   the lower byte is the real error code.
+   *
+   *   Setting this macro makes sense for debugging purposes only, since it
+   *   would break source compatibility of certain programs that use
+   *   FreeType~2.
+   *
+   *   More details can be found in the files `ftmoderr.h` and `fterrors.h`.
+   */
+#undef FT_CONFIG_OPTION_USE_MODULE_ERRORS
+
+
+  /**************************************************************************
+   *
+   * Error Strings
+   *
+   *   If this macro is set, `FT_Error_String` will return meaningful
+   *   descriptions.  This is not enabled by default to reduce the overall
+   *   size of FreeType.
+   *
+   *   More details can be found in the file `fterrors.h`.
+   */
+/* #define FT_CONFIG_OPTION_ERROR_STRINGS */
+
+
+  /*************************************************************************/
+  /*************************************************************************/
+  /****                                                                 ****/
+  /****        S F N T   D R I V E R    C O N F I G U R A T I O N       ****/
+  /****                                                                 ****/
+  /*************************************************************************/
+  /*************************************************************************/
+
+
+  /**************************************************************************
+   *
+   * Define `TT_CONFIG_OPTION_EMBEDDED_BITMAPS` if you want to support
+   * embedded bitmaps in all formats using the 'sfnt' module (namely
+   * TrueType~& OpenType).
+   */
+#define TT_CONFIG_OPTION_EMBEDDED_BITMAPS
+
+
+  /**************************************************************************
+   *
+   * Define `TT_CONFIG_OPTION_COLOR_LAYERS` if you want to support coloured
+   * outlines (from the 'COLR'/'CPAL' tables) in all formats using the 'sfnt'
+   * module (namely TrueType~& OpenType).
+   */
+#define TT_CONFIG_OPTION_COLOR_LAYERS
+
+
+  /**************************************************************************
+   *
+   * Define `TT_CONFIG_OPTION_POSTSCRIPT_NAMES` if you want to be able to
+   * load and enumerate the glyph Postscript names in a TrueType or OpenType
+   * file.
+   *
+   * Note that when you do not compile the 'psnames' module by undefining the
+   * above `FT_CONFIG_OPTION_POSTSCRIPT_NAMES`, the 'sfnt' module will
+   * contain additional code used to read the PS Names table from a font.
+   *
+   * (By default, the module uses 'psnames' to extract glyph names.)
+   */
+#define TT_CONFIG_OPTION_POSTSCRIPT_NAMES
+
+
+  /**************************************************************************
+   *
+   * Define `TT_CONFIG_OPTION_SFNT_NAMES` if your applications need to access
+   * the internal name table in a SFNT-based format like TrueType or
+   * OpenType.  The name table contains various strings used to describe the
+   * font, like family name, copyright, version, etc.  It does not contain
+   * any glyph name though.
+   *
+   * Accessing SFNT names is done through the functions declared in
+   * `ftsnames.h`.
+   */
+#define TT_CONFIG_OPTION_SFNT_NAMES
+
+
+  /**************************************************************************
+   *
+   * TrueType CMap support
+   *
+   *   Here you can fine-tune which TrueType CMap table format shall be
+   *   supported.
+   */
+#define TT_CONFIG_CMAP_FORMAT_0
+#define TT_CONFIG_CMAP_FORMAT_2
+#define TT_CONFIG_CMAP_FORMAT_4
+#define TT_CONFIG_CMAP_FORMAT_6
+#define TT_CONFIG_CMAP_FORMAT_8
+#define TT_CONFIG_CMAP_FORMAT_10
+#define TT_CONFIG_CMAP_FORMAT_12
+#define TT_CONFIG_CMAP_FORMAT_13
+#define TT_CONFIG_CMAP_FORMAT_14
+
+
+  /*************************************************************************/
+  /*************************************************************************/
+  /****                                                                 ****/
+  /****    T R U E T Y P E   D R I V E R    C O N F I G U R A T I O N   ****/
+  /****                                                                 ****/
+  /*************************************************************************/
+  /*************************************************************************/
+
+  /**************************************************************************
+   *
+   * Define `TT_CONFIG_OPTION_BYTECODE_INTERPRETER` if you want to compile a
+   * bytecode interpreter in the TrueType driver.
+   *
+   * By undefining this, you will only compile the code necessary to load
+   * TrueType glyphs without hinting.
+   *
+   * Do not `#undef` this macro here, since the build system might define it
+   * for certain configurations only.
+   */
+#define TT_CONFIG_OPTION_BYTECODE_INTERPRETER
+
+
+  /**************************************************************************
+   *
+   * Define `TT_CONFIG_OPTION_SUBPIXEL_HINTING` if you want to compile
+   * subpixel hinting support into the TrueType driver.  This modifies the
+   * TrueType hinting mechanism when anything but `FT_RENDER_MODE_MONO` is
+   * requested.
+   *
+   * In particular, it modifies the bytecode interpreter to interpret (or
+   * not) instructions in a certain way so that all TrueType fonts look like
+   * they do in a Windows ClearType (DirectWrite) environment.  See [1] for a
+   * technical overview on what this means.  See `ttinterp.h` for more
+   * details on the LEAN option.
+   *
+   * There are three possible values.
+   *
+   * Value 1:
+   *   This value is associated with the 'Infinality' moniker, contributed by
+   *   an individual nicknamed Infinality with the goal of making TrueType
+   *   fonts render better than on Windows.  A high amount of configurability
+   *   and flexibility, down to rules for single glyphs in fonts, but also
+   *   very slow.  Its experimental and slow nature and the original
+   *   developer losing interest meant that this option was never enabled in
+   *   default builds.
+   *
+   *   The corresponding interpreter version is v38.
+   *
+   * Value 2:
+   *   The new default mode for the TrueType driver.  The Infinality code
+   *   base was stripped to the bare minimum and all configurability removed
+   *   in the name of speed and simplicity.  The configurability was mainly
+   *   aimed at legacy fonts like 'Arial', 'Times New Roman', or 'Courier'.
+   *   Legacy fonts are fonts that modify vertical stems to achieve clean
+   *   black-and-white bitmaps.  The new mode focuses on applying a minimal
+   *   set of rules to all fonts indiscriminately so that modern and web
+   *   fonts render well while legacy fonts render okay.
+   *
+   *   The corresponding interpreter version is v40.
+   *
+   * Value 3:
+   *   Compile both, making both v38 and v40 available (the latter is the
+   *   default).
+   *
+   * By undefining these, you get rendering behavior like on Windows without
+   * ClearType, i.e., Windows XP without ClearType enabled and Win9x
+   * (interpreter version v35).  Or not, depending on how much hinting blood
+   * and testing tears the font designer put into a given font.  If you
+   * define one or both subpixel hinting options, you can switch between
+   * between v35 and the ones you define (using `FT_Property_Set`).
+   *
+   * This option requires `TT_CONFIG_OPTION_BYTECODE_INTERPRETER` to be
+   * defined.
+   *
+   * [1]
+   * https://www.microsoft.com/typography/cleartype/truetypecleartype.aspx
+   */
+/* #define TT_CONFIG_OPTION_SUBPIXEL_HINTING  1         */
+#define TT_CONFIG_OPTION_SUBPIXEL_HINTING  2
+/* #define TT_CONFIG_OPTION_SUBPIXEL_HINTING  ( 1 | 2 ) */
+
+
+  /**************************************************************************
+   *
+   * Define `TT_CONFIG_OPTION_COMPONENT_OFFSET_SCALED` to compile the
+   * TrueType glyph loader to use Apple's definition of how to handle
+   * component offsets in composite glyphs.
+   *
+   * Apple and MS disagree on the default behavior of component offsets in
+   * composites.  Apple says that they should be scaled by the scaling
+   * factors in the transformation matrix (roughly, it's more complex) while
+   * MS says they should not.  OpenType defines two bits in the composite
+   * flags array which can be used to disambiguate, but old fonts will not
+   * have them.
+   *
+   *   https://www.microsoft.com/typography/otspec/glyf.htm
+   *   https://developer.apple.com/fonts/TrueType-Reference-Manual/RM06/Chap6glyf.html
+   */
+#undef TT_CONFIG_OPTION_COMPONENT_OFFSET_SCALED
+
+
+  /**************************************************************************
+   *
+   * Define `TT_CONFIG_OPTION_GX_VAR_SUPPORT` if you want to include support
+   * for Apple's distortable font technology ('fvar', 'gvar', 'cvar', and
+   * 'avar' tables).  Tagged 'Font Variations', this is now part of OpenType
+   * also.  This has many similarities to Type~1 Multiple Masters support.
+   */
+#define TT_CONFIG_OPTION_GX_VAR_SUPPORT
+
+
+  /**************************************************************************
+   *
+   * Define `TT_CONFIG_OPTION_BDF` if you want to include support for an
+   * embedded 'BDF~' table within SFNT-based bitmap formats.
+   */
+#define TT_CONFIG_OPTION_BDF
+
+
+  /**************************************************************************
+   *
+   * Option `TT_CONFIG_OPTION_MAX_RUNNABLE_OPCODES` controls the maximum
+   * number of bytecode instructions executed for a single run of the
+   * bytecode interpreter, needed to prevent infinite loops.  You don't want
+   * to change this except for very special situations (e.g., making a
+   * library fuzzer spend less time to handle broken fonts).
+   *
+   * It is not expected that this value is ever modified by a configuring
+   * script; instead, it gets surrounded with `#ifndef ... #endif` so that
+   * the value can be set as a preprocessor option on the compiler's command
+   * line.
+   */
+#ifndef TT_CONFIG_OPTION_MAX_RUNNABLE_OPCODES
+#define TT_CONFIG_OPTION_MAX_RUNNABLE_OPCODES  1000000L
+#endif
+
+
+  /*************************************************************************/
+  /*************************************************************************/
+  /****                                                                 ****/
+  /****      T Y P E 1   D R I V E R    C O N F I G U R A T I O N       ****/
+  /****                                                                 ****/
+  /*************************************************************************/
+  /*************************************************************************/
+
+
+  /**************************************************************************
+   *
+   * `T1_MAX_DICT_DEPTH` is the maximum depth of nest dictionaries and arrays
+   * in the Type~1 stream (see `t1load.c`).  A minimum of~4 is required.
+   */
+#define T1_MAX_DICT_DEPTH  5
+
+
+  /**************************************************************************
+   *
+   * `T1_MAX_SUBRS_CALLS` details the maximum number of nested sub-routine
+   * calls during glyph loading.
+   */
+#define T1_MAX_SUBRS_CALLS  16
+
+
+  /**************************************************************************
+   *
+   * `T1_MAX_CHARSTRING_OPERANDS` is the charstring stack's capacity.  A
+   * minimum of~16 is required.
+   *
+   * The Chinese font 'MingTiEG-Medium' (covering the CNS 11643 character
+   * set) needs 256.
+   */
+#define T1_MAX_CHARSTRINGS_OPERANDS  256
+
+
+  /**************************************************************************
+   *
+   * Define this configuration macro if you want to prevent the compilation
+   * of the 't1afm' module, which is in charge of reading Type~1 AFM files
+   * into an existing face.  Note that if set, the Type~1 driver will be
+   * unable to produce kerning distances.
+   */
+#undef T1_CONFIG_OPTION_NO_AFM
+
+
+  /**************************************************************************
+   *
+   * Define this configuration macro if you want to prevent the compilation
+   * of the Multiple Masters font support in the Type~1 driver.
+   */
+#undef T1_CONFIG_OPTION_NO_MM_SUPPORT
+
+
+  /**************************************************************************
+   *
+   * `T1_CONFIG_OPTION_OLD_ENGINE` controls whether the pre-Adobe Type~1
+   * engine gets compiled into FreeType.  If defined, it is possible to
+   * switch between the two engines using the `hinting-engine` property of
+   * the 'type1' driver module.
+   */
+/* #define T1_CONFIG_OPTION_OLD_ENGINE */
+
+
+  /*************************************************************************/
+  /*************************************************************************/
+  /****                                                                 ****/
+  /****         C F F   D R I V E R    C O N F I G U R A T I O N        ****/
+  /****                                                                 ****/
+  /*************************************************************************/
+  /*************************************************************************/
+
+
+  /**************************************************************************
+   *
+   * Using `CFF_CONFIG_OPTION_DARKENING_PARAMETER_{X,Y}{1,2,3,4}` it is
+   * possible to set up the default values of the four control points that
+   * define the stem darkening behaviour of the (new) CFF engine.  For more
+   * details please read the documentation of the `darkening-parameters`
+   * property (file `ftdriver.h`), which allows the control at run-time.
+   *
+   * Do **not** undefine these macros!
+   */
+#define CFF_CONFIG_OPTION_DARKENING_PARAMETER_X1   500
+#define CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y1   400
+
+#define CFF_CONFIG_OPTION_DARKENING_PARAMETER_X2  1000
+#define CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y2   275
+
+#define CFF_CONFIG_OPTION_DARKENING_PARAMETER_X3  1667
+#define CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y3   275
+
+#define CFF_CONFIG_OPTION_DARKENING_PARAMETER_X4  2333
+#define CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y4     0
+
+
+  /**************************************************************************
+   *
+   * `CFF_CONFIG_OPTION_OLD_ENGINE` controls whether the pre-Adobe CFF engine
+   * gets compiled into FreeType.  If defined, it is possible to switch
+   * between the two engines using the `hinting-engine` property of the 'cff'
+   * driver module.
+   */
+/* #define CFF_CONFIG_OPTION_OLD_ENGINE */
+
+
+  /*************************************************************************/
+  /*************************************************************************/
+  /****                                                                 ****/
+  /****         P C F   D R I V E R    C O N F I G U R A T I O N        ****/
+  /****                                                                 ****/
+  /*************************************************************************/
+  /*************************************************************************/
+
+
+  /**************************************************************************
+   *
+   * There are many PCF fonts just called 'Fixed' which look completely
+   * different, and which have nothing to do with each other.  When selecting
+   * 'Fixed' in KDE or Gnome one gets results that appear rather random, the
+   * style changes often if one changes the size and one cannot select some
+   * fonts at all.  This option makes the 'pcf' module prepend the foundry
+   * name (plus a space) to the family name.
+   *
+   * We also check whether we have 'wide' characters; all put together, we
+   * get family names like 'Sony Fixed' or 'Misc Fixed Wide'.
+   *
+   * If this option is activated, it can be controlled with the
+   * `no-long-family-names` property of the 'pcf' driver module.
+   */
+/* #define PCF_CONFIG_OPTION_LONG_FAMILY_NAMES */
+
+
+  /*************************************************************************/
+  /*************************************************************************/
+  /****                                                                 ****/
+  /****    A U T O F I T   M O D U L E    C O N F I G U R A T I O N     ****/
+  /****                                                                 ****/
+  /*************************************************************************/
+  /*************************************************************************/
+
+
+  /**************************************************************************
+   *
+   * Compile 'autofit' module with CJK (Chinese, Japanese, Korean) script
+   * support.
+   */
+#define AF_CONFIG_OPTION_CJK
+
+
+  /**************************************************************************
+   *
+   * Compile 'autofit' module with fallback Indic script support, covering
+   * some scripts that the 'latin' submodule of the 'autofit' module doesn't
+   * (yet) handle.
+   */
+#define AF_CONFIG_OPTION_INDIC
+
+
+  /**************************************************************************
+   *
+   * Compile 'autofit' module with warp hinting.  The idea of the warping
+   * code is to slightly scale and shift a glyph within a single dimension so
+   * that as much of its segments are aligned (more or less) on the grid.  To
+   * find out the optimal scaling and shifting value, various parameter
+   * combinations are tried and scored.
+   *
+   * You can switch warping on and off with the `warping` property of the
+   * auto-hinter (see file `ftdriver.h` for more information; by default it
+   * is switched off).
+   *
+   * This experimental option is not active if the rendering mode is
+   * `FT_RENDER_MODE_LIGHT`.
+   */
+#define AF_CONFIG_OPTION_USE_WARPER
+
+
+  /**************************************************************************
+   *
+   * Use TrueType-like size metrics for 'light' auto-hinting.
+   *
+   * It is strongly recommended to avoid this option, which exists only to
+   * help some legacy applications retain its appearance and behaviour with
+   * respect to auto-hinted TrueType fonts.
+   *
+   * The very reason this option exists at all are GNU/Linux distributions
+   * like Fedora that did not un-patch the following change (which was
+   * present in FreeType between versions 2.4.6 and 2.7.1, inclusive).
+   *
+   * ```
+   *   2011-07-16  Steven Chu  <steven.f.chu@gmail.com>
+   *
+   *     [truetype] Fix metrics on size request for scalable fonts.
+   * ```
+   *
+   * This problematic commit is now reverted (more or less).
+   */
+/* #define AF_CONFIG_OPTION_TT_SIZE_METRICS */
+
+  /* */
+
+
+  /*
+   * This macro is obsolete.  Support has been removed in FreeType version
+   * 2.5.
+   */
+/* #define FT_CONFIG_OPTION_OLD_INTERNALS */
+
+
+  /*
+   * The next three macros are defined if native TrueType hinting is
+   * requested by the definitions above.  Don't change this.
+   */
+#ifdef TT_CONFIG_OPTION_BYTECODE_INTERPRETER
+#define  TT_USE_BYTECODE_INTERPRETER
+
+#ifdef TT_CONFIG_OPTION_SUBPIXEL_HINTING
+#if TT_CONFIG_OPTION_SUBPIXEL_HINTING & 1
+#define  TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY
+#endif
+
+#if TT_CONFIG_OPTION_SUBPIXEL_HINTING & 2
+#define  TT_SUPPORT_SUBPIXEL_HINTING_MINIMAL
+#endif
+#endif
+#endif
+
+
+  /*
+   * Check CFF darkening parameters.  The checks are the same as in function
+   * `cff_property_set` in file `cffdrivr.c`.
+   */
+#if CFF_CONFIG_OPTION_DARKENING_PARAMETER_X1 < 0   || \
+    CFF_CONFIG_OPTION_DARKENING_PARAMETER_X2 < 0   || \
+    CFF_CONFIG_OPTION_DARKENING_PARAMETER_X3 < 0   || \
+    CFF_CONFIG_OPTION_DARKENING_PARAMETER_X4 < 0   || \
+                                                      \
+    CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y1 < 0   || \
+    CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y2 < 0   || \
+    CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y3 < 0   || \
+    CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y4 < 0   || \
+                                                      \
+    CFF_CONFIG_OPTION_DARKENING_PARAMETER_X1 >        \
+      CFF_CONFIG_OPTION_DARKENING_PARAMETER_X2     || \
+    CFF_CONFIG_OPTION_DARKENING_PARAMETER_X2 >        \
+      CFF_CONFIG_OPTION_DARKENING_PARAMETER_X3     || \
+    CFF_CONFIG_OPTION_DARKENING_PARAMETER_X3 >        \
+      CFF_CONFIG_OPTION_DARKENING_PARAMETER_X4     || \
+                                                      \
+    CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y1 > 500 || \
+    CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y2 > 500 || \
+    CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y3 > 500 || \
+    CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y4 > 500
+#error "Invalid CFF darkening parameters!"
+#endif
+
+FT_END_HEADER
+
+
+#endif /* FTOPTION_H_ */
+
+
+/* END */
diff --git a/CMU462/deps/freetype/include/freetype/config/ftstdlib.h b/CMU462/deps/freetype/include/freetype/config/ftstdlib.h
new file mode 100644
index 0000000..438b614
--- /dev/null
+++ b/CMU462/deps/freetype/include/freetype/config/ftstdlib.h
@@ -0,0 +1,175 @@
+/****************************************************************************
+ *
+ * ftstdlib.h
+ *
+ *   ANSI-specific library and header configuration file (specification
+ *   only).
+ *
+ * Copyright (C) 2002-2019 by
+ * David Turner, Robert Wilhelm, and Werner Lemberg.
+ *
+ * This file is part of the FreeType project, and may only be used,
+ * modified, and distributed under the terms of the FreeType project
+ * license, LICENSE.TXT.  By continuing to use, modify, or distribute
+ * this file you indicate that you have read the license and
+ * understand and accept it fully.
+ *
+ */
+
+
+  /**************************************************************************
+   *
+   * This file is used to group all `#includes` to the ANSI~C library that
+   * FreeType normally requires.  It also defines macros to rename the
+   * standard functions within the FreeType source code.
+   *
+   * Load a file which defines `FTSTDLIB_H_` before this one to override it.
+   *
+   */
+
+
+#ifndef FTSTDLIB_H_
+#define FTSTDLIB_H_
+
+
+#include <stddef.h>
+
+#define ft_ptrdiff_t  ptrdiff_t
+
+
+  /**************************************************************************
+   *
+   *                          integer limits
+   *
+   * `UINT_MAX` and `ULONG_MAX` are used to automatically compute the size of
+   * `int` and `long` in bytes at compile-time.  So far, this works for all
+   * platforms the library has been tested on.
+   *
+   * Note that on the extremely rare platforms that do not provide integer
+   * types that are _exactly_ 16 and 32~bits wide (e.g., some old Crays where
+   * `int` is 36~bits), we do not make any guarantee about the correct
+   * behaviour of FreeType~2 with all fonts.
+   *
+   * In these cases, `ftconfig.h` will refuse to compile anyway with a
+   * message like 'couldn't find 32-bit type' or something similar.
+   *
+   */
+
+
+#include <limits.h>
+
+#define FT_CHAR_BIT    CHAR_BIT
+#define FT_USHORT_MAX  USHRT_MAX
+#define FT_INT_MAX     INT_MAX
+#define FT_INT_MIN     INT_MIN
+#define FT_UINT_MAX    UINT_MAX
+#define FT_LONG_MIN    LONG_MIN
+#define FT_LONG_MAX    LONG_MAX
+#define FT_ULONG_MAX   ULONG_MAX
+
+
+  /**************************************************************************
+   *
+   *                character and string processing
+   *
+   */
+
+
+#include <string.h>
+
+#define ft_memchr   memchr
+#define ft_memcmp   memcmp
+#define ft_memcpy   memcpy
+#define ft_memmove  memmove
+#define ft_memset   memset
+#define ft_strcat   strcat
+#define ft_strcmp   strcmp
+#define ft_strcpy   strcpy
+#define ft_strlen   strlen
+#define ft_strncmp  strncmp
+#define ft_strncpy  strncpy
+#define ft_strrchr  strrchr
+#define ft_strstr   strstr
+
+
+  /**************************************************************************
+   *
+   *                          file handling
+   *
+   */
+
+
+#include <stdio.h>
+
+#define FT_FILE     FILE
+#define ft_fclose   fclose
+#define ft_fopen    fopen
+#define ft_fread    fread
+#define ft_fseek    fseek
+#define ft_ftell    ftell
+#define ft_sprintf  sprintf
+
+
+  /**************************************************************************
+   *
+   *                            sorting
+   *
+   */
+
+
+#include <stdlib.h>
+
+#define ft_qsort  qsort
+
+
+  /**************************************************************************
+   *
+   *                       memory allocation
+   *
+   */
+
+
+#define ft_scalloc   calloc
+#define ft_sfree     free
+#define ft_smalloc   malloc
+#define ft_srealloc  realloc
+
+
+  /**************************************************************************
+   *
+   *                         miscellaneous
+   *
+   */
+
+
+#define ft_strtol  strtol
+#define ft_getenv  getenv
+
+
+  /**************************************************************************
+   *
+   *                        execution control
+   *
+   */
+
+
+#include <setjmp.h>
+
+#define ft_jmp_buf     jmp_buf  /* note: this cannot be a typedef since  */
+                                /*       `jmp_buf` is defined as a macro */
+                                /*       on certain platforms            */
+
+#define ft_longjmp     longjmp
+#define ft_setjmp( b ) setjmp( *(ft_jmp_buf*) &(b) ) /* same thing here */
+
+
+  /* The following is only used for debugging purposes, i.e., if   */
+  /* `FT_DEBUG_LEVEL_ERROR` or `FT_DEBUG_LEVEL_TRACE` are defined. */
+
+#include <stdarg.h>
+
+
+#endif /* FTSTDLIB_H_ */
+
+
+/* END */
diff --git a/CMU462/deps/freetype/include/freetype/freetype.h b/CMU462/deps/freetype/include/freetype/freetype.h
new file mode 100644
index 0000000..a6bb667
--- /dev/null
+++ b/CMU462/deps/freetype/include/freetype/freetype.h
@@ -0,0 +1,4887 @@
+/****************************************************************************
+ *
+ * freetype.h
+ *
+ *   FreeType high-level API and common types (specification only).
+ *
+ * Copyright (C) 1996-2019 by
+ * David Turner, Robert Wilhelm, and Werner Lemberg.
+ *
+ * This file is part of the FreeType project, and may only be used,
+ * modified, and distributed under the terms of the FreeType project
+ * license, LICENSE.TXT.  By continuing to use, modify, or distribute
+ * this file you indicate that you have read the license and
+ * understand and accept it fully.
+ *
+ */
+
+
+#ifndef FREETYPE_H_
+#define FREETYPE_H_
+
+
+#ifndef FT_FREETYPE_H
+#error "`ft2build.h' hasn't been included yet!"
+#error "Please always use macros to include FreeType header files."
+#error "Example:"
+#error "  #include <ft2build.h>"
+#error "  #include FT_FREETYPE_H"
+#endif
+
+
+#include <ft2build.h>
+#include FT_CONFIG_CONFIG_H
+#include FT_TYPES_H
+#include FT_ERRORS_H
+
+
+FT_BEGIN_HEADER
+
+
+
+  /**************************************************************************
+   *
+   * @section:
+   *   header_inclusion
+   *
+   * @title:
+   *   FreeType's header inclusion scheme
+   *
+   * @abstract:
+   *   How client applications should include FreeType header files.
+   *
+   * @description:
+   *   To be as flexible as possible (and for historical reasons), FreeType
+   *   uses a very special inclusion scheme to load header files, for example
+   *
+   *   ```
+   *     #include <ft2build.h>
+   *
+   *     #include FT_FREETYPE_H
+   *     #include FT_OUTLINE_H
+   *   ```
+   *
+   *   A compiler and its preprocessor only needs an include path to find the
+   *   file `ft2build.h`; the exact locations and names of the other FreeType
+   *   header files are hidden by @header_file_macros, loaded by
+   *   `ft2build.h`.  The API documentation always gives the header macro
+   *   name needed for a particular function.
+   *
+   */
+
+
+  /**************************************************************************
+   *
+   * @section:
+   *   user_allocation
+   *
+   * @title:
+   *   User allocation
+   *
+   * @abstract:
+   *   How client applications should allocate FreeType data structures.
+   *
+   * @description:
+   *   FreeType assumes that structures allocated by the user and passed as
+   *   arguments are zeroed out except for the actual data.  In other words,
+   *   it is recommended to use `calloc` (or variants of it) instead of
+   *   `malloc` for allocation.
+   *
+   */
+
+
+
+  /*************************************************************************/
+  /*************************************************************************/
+  /*                                                                       */
+  /*                        B A S I C   T Y P E S                          */
+  /*                                                                       */
+  /*************************************************************************/
+  /*************************************************************************/
+
+
+  /**************************************************************************
+   *
+   * @section:
+   *   base_interface
+   *
+   * @title:
+   *   Base Interface
+   *
+   * @abstract:
+   *   The FreeType~2 base font interface.
+   *
+   * @description:
+   *   This section describes the most important public high-level API
+   *   functions of FreeType~2.
+   *
+   * @order:
+   *   FT_Library
+   *   FT_Face
+   *   FT_Size
+   *   FT_GlyphSlot
+   *   FT_CharMap
+   *   FT_Encoding
+   *   FT_ENC_TAG
+   *
+   *   FT_FaceRec
+   *
+   *   FT_FACE_FLAG_SCALABLE
+   *   FT_FACE_FLAG_FIXED_SIZES
+   *   FT_FACE_FLAG_FIXED_WIDTH
+   *   FT_FACE_FLAG_HORIZONTAL
+   *   FT_FACE_FLAG_VERTICAL
+   *   FT_FACE_FLAG_COLOR
+   *   FT_FACE_FLAG_SFNT
+   *   FT_FACE_FLAG_CID_KEYED
+   *   FT_FACE_FLAG_TRICKY
+   *   FT_FACE_FLAG_KERNING
+   *   FT_FACE_FLAG_MULTIPLE_MASTERS
+   *   FT_FACE_FLAG_VARIATION
+   *   FT_FACE_FLAG_GLYPH_NAMES
+   *   FT_FACE_FLAG_EXTERNAL_STREAM
+   *   FT_FACE_FLAG_HINTER
+   *
+   *   FT_HAS_HORIZONTAL
+   *   FT_HAS_VERTICAL
+   *   FT_HAS_KERNING
+   *   FT_HAS_FIXED_SIZES
+   *   FT_HAS_GLYPH_NAMES
+   *   FT_HAS_COLOR
+   *   FT_HAS_MULTIPLE_MASTERS
+   *
+   *   FT_IS_SFNT
+   *   FT_IS_SCALABLE
+   *   FT_IS_FIXED_WIDTH
+   *   FT_IS_CID_KEYED
+   *   FT_IS_TRICKY
+   *   FT_IS_NAMED_INSTANCE
+   *   FT_IS_VARIATION
+   *
+   *   FT_STYLE_FLAG_BOLD
+   *   FT_STYLE_FLAG_ITALIC
+   *
+   *   FT_SizeRec
+   *   FT_Size_Metrics
+   *
+   *   FT_GlyphSlotRec
+   *   FT_Glyph_Metrics
+   *   FT_SubGlyph
+   *
+   *   FT_Bitmap_Size
+   *
+   *   FT_Init_FreeType
+   *   FT_Done_FreeType
+   *
+   *   FT_New_Face
+   *   FT_Done_Face
+   *   FT_Reference_Face
+   *   FT_New_Memory_Face
+   *   FT_Face_Properties
+   *   FT_Open_Face
+   *   FT_Open_Args
+   *   FT_Parameter
+   *   FT_Attach_File
+   *   FT_Attach_Stream
+   *
+   *   FT_Set_Char_Size
+   *   FT_Set_Pixel_Sizes
+   *   FT_Request_Size
+   *   FT_Select_Size
+   *   FT_Size_Request_Type
+   *   FT_Size_RequestRec
+   *   FT_Size_Request
+   *   FT_Set_Transform
+   *   FT_Load_Glyph
+   *   FT_Get_Char_Index
+   *   FT_Get_First_Char
+   *   FT_Get_Next_Char
+   *   FT_Get_Name_Index
+   *   FT_Load_Char
+   *
+   *   FT_OPEN_MEMORY
+   *   FT_OPEN_STREAM
+   *   FT_OPEN_PATHNAME
+   *   FT_OPEN_DRIVER
+   *   FT_OPEN_PARAMS
+   *
+   *   FT_LOAD_DEFAULT
+   *   FT_LOAD_RENDER
+   *   FT_LOAD_MONOCHROME
+   *   FT_LOAD_LINEAR_DESIGN
+   *   FT_LOAD_NO_SCALE
+   *   FT_LOAD_NO_HINTING
+   *   FT_LOAD_NO_BITMAP
+   *   FT_LOAD_NO_AUTOHINT
+   *   FT_LOAD_COLOR
+   *
+   *   FT_LOAD_VERTICAL_LAYOUT
+   *   FT_LOAD_IGNORE_TRANSFORM
+   *   FT_LOAD_FORCE_AUTOHINT
+   *   FT_LOAD_NO_RECURSE
+   *   FT_LOAD_PEDANTIC
+   *
+   *   FT_LOAD_TARGET_NORMAL
+   *   FT_LOAD_TARGET_LIGHT
+   *   FT_LOAD_TARGET_MONO
+   *   FT_LOAD_TARGET_LCD
+   *   FT_LOAD_TARGET_LCD_V
+   *
+   *   FT_LOAD_TARGET_MODE
+   *
+   *   FT_Render_Glyph
+   *   FT_Render_Mode
+   *   FT_Get_Kerning
+   *   FT_Kerning_Mode
+   *   FT_Get_Track_Kerning
+   *   FT_Get_Glyph_Name
+   *   FT_Get_Postscript_Name
+   *
+   *   FT_CharMapRec
+   *   FT_Select_Charmap
+   *   FT_Set_Charmap
+   *   FT_Get_Charmap_Index
+   *
+   *   FT_Get_FSType_Flags
+   *   FT_Get_SubGlyph_Info
+   *
+   *   FT_Face_Internal
+   *   FT_Size_Internal
+   *   FT_Slot_Internal
+   *
+   *   FT_FACE_FLAG_XXX
+   *   FT_STYLE_FLAG_XXX
+   *   FT_OPEN_XXX
+   *   FT_LOAD_XXX
+   *   FT_LOAD_TARGET_XXX
+   *   FT_SUBGLYPH_FLAG_XXX
+   *   FT_FSTYPE_XXX
+   *
+   *   FT_HAS_FAST_GLYPHS
+   *
+   */
+
+
+  /**************************************************************************
+   *
+   * @struct:
+   *   FT_Glyph_Metrics
+   *
+   * @description:
+   *   A structure to model the metrics of a single glyph.  The values are
+   *   expressed in 26.6 fractional pixel format; if the flag
+   *   @FT_LOAD_NO_SCALE has been used while loading the glyph, values are
+   *   expressed in font units instead.
+   *
+   * @fields:
+   *   width ::
+   *     The glyph's width.
+   *
+   *   height ::
+   *     The glyph's height.
+   *
+   *   horiBearingX ::
+   *     Left side bearing for horizontal layout.
+   *
+   *   horiBearingY ::
+   *     Top side bearing for horizontal layout.
+   *
+   *   horiAdvance ::
+   *     Advance width for horizontal layout.
+   *
+   *   vertBearingX ::
+   *     Left side bearing for vertical layout.
+   *
+   *   vertBearingY ::
+   *     Top side bearing for vertical layout.  Larger positive values mean
+   *     further below the vertical glyph origin.
+   *
+   *   vertAdvance ::
+   *     Advance height for vertical layout.  Positive values mean the glyph
+   *     has a positive advance downward.
+   *
+   * @note:
+   *   If not disabled with @FT_LOAD_NO_HINTING, the values represent
+   *   dimensions of the hinted glyph (in case hinting is applicable).
+   *
+   *   Stroking a glyph with an outside border does not increase
+   *   `horiAdvance` or `vertAdvance`; you have to manually adjust these
+   *   values to account for the added width and height.
+   *
+   *   FreeType doesn't use the 'VORG' table data for CFF fonts because it
+   *   doesn't have an interface to quickly retrieve the glyph height.  The
+   *   y~coordinate of the vertical origin can be simply computed as
+   *   `vertBearingY + height` after loading a glyph.
+   */
+  typedef struct  FT_Glyph_Metrics_
+  {
+    FT_Pos  width;
+    FT_Pos  height;
+
+    FT_Pos  horiBearingX;
+    FT_Pos  horiBearingY;
+    FT_Pos  horiAdvance;
+
+    FT_Pos  vertBearingX;
+    FT_Pos  vertBearingY;
+    FT_Pos  vertAdvance;
+
+  } FT_Glyph_Metrics;
+
+
+  /**************************************************************************
+   *
+   * @struct:
+   *   FT_Bitmap_Size
+   *
+   * @description:
+   *   This structure models the metrics of a bitmap strike (i.e., a set of
+   *   glyphs for a given point size and resolution) in a bitmap font.  It is
+   *   used for the `available_sizes` field of @FT_Face.
+   *
+   * @fields:
+   *   height ::
+   *     The vertical distance, in pixels, between two consecutive baselines.
+   *     It is always positive.
+   *
+   *   width ::
+   *     The average width, in pixels, of all glyphs in the strike.
+   *
+   *   size ::
+   *     The nominal size of the strike in 26.6 fractional points.  This
+   *     field is not very useful.
+   *
+   *   x_ppem ::
+   *     The horizontal ppem (nominal width) in 26.6 fractional pixels.
+   *
+   *   y_ppem ::
+   *     The vertical ppem (nominal height) in 26.6 fractional pixels.
+   *
+   * @note:
+   *   Windows FNT:
+   *     The nominal size given in a FNT font is not reliable.  If the driver
+   *     finds it incorrect, it sets `size` to some calculated values, and
+   *     `x_ppem` and `y_ppem` to the pixel width and height given in the
+   *     font, respectively.
+   *
+   *   TrueType embedded bitmaps:
+   *     `size`, `width`, and `height` values are not contained in the bitmap
+   *     strike itself.  They are computed from the global font parameters.
+   */
+  typedef struct  FT_Bitmap_Size_
+  {
+    FT_Short  height;
+    FT_Short  width;
+
+    FT_Pos    size;
+
+    FT_Pos    x_ppem;
+    FT_Pos    y_ppem;
+
+  } FT_Bitmap_Size;
+
+
+  /*************************************************************************/
+  /*************************************************************************/
+  /*                                                                       */
+  /*                     O B J E C T   C L A S S E S                       */
+  /*                                                                       */
+  /*************************************************************************/
+  /*************************************************************************/
+
+  /**************************************************************************
+   *
+   * @type:
+   *   FT_Library
+   *
+   * @description:
+   *   A handle to a FreeType library instance.  Each 'library' is completely
+   *   independent from the others; it is the 'root' of a set of objects like
+   *   fonts, faces, sizes, etc.
+   *
+   *   It also embeds a memory manager (see @FT_Memory), as well as a
+   *   scan-line converter object (see @FT_Raster).
+   *
+   *   [Since 2.5.6] In multi-threaded applications it is easiest to use one
+   *   `FT_Library` object per thread.  In case this is too cumbersome, a
+   *   single `FT_Library` object across threads is possible also, as long as
+   *   a mutex lock is used around @FT_New_Face and @FT_Done_Face.
+   *
+   * @note:
+   *   Library objects are normally created by @FT_Init_FreeType, and
+   *   destroyed with @FT_Done_FreeType.  If you need reference-counting
+   *   (cf. @FT_Reference_Library), use @FT_New_Library and @FT_Done_Library.
+   */
+  typedef struct FT_LibraryRec_  *FT_Library;
+
+
+  /**************************************************************************
+   *
+   * @section:
+   *   module_management
+   *
+   */
+
+  /**************************************************************************
+   *
+   * @type:
+   *   FT_Module
+   *
+   * @description:
+   *   A handle to a given FreeType module object.  A module can be a font
+   *   driver, a renderer, or anything else that provides services to the
+   *   former.
+   */
+  typedef struct FT_ModuleRec_*  FT_Module;
+
+
+  /**************************************************************************
+   *
+   * @type:
+   *   FT_Driver
+   *
+   * @description:
+   *   A handle to a given FreeType font driver object.  A font driver is a
+   *   module capable of creating faces from font files.
+   */
+  typedef struct FT_DriverRec_*  FT_Driver;
+
+
+  /**************************************************************************
+   *
+   * @type:
+   *   FT_Renderer
+   *
+   * @description:
+   *   A handle to a given FreeType renderer.  A renderer is a module in
+   *   charge of converting a glyph's outline image to a bitmap.  It supports
+   *   a single glyph image format, and one or more target surface depths.
+   */
+  typedef struct FT_RendererRec_*  FT_Renderer;
+
+
+  /**************************************************************************
+   *
+   * @section:
+   *   base_interface
+   *
+   */
+
+  /**************************************************************************
+   *
+   * @type:
+   *   FT_Face
+   *
+   * @description:
+   *   A handle to a typographic face object.  A face object models a given
+   *   typeface, in a given style.
+   *
+   * @note:
+   *   A face object also owns a single @FT_GlyphSlot object, as well as one
+   *   or more @FT_Size objects.
+   *
+   *   Use @FT_New_Face or @FT_Open_Face to create a new face object from a
+   *   given filepath or a custom input stream.
+   *
+   *   Use @FT_Done_Face to destroy it (along with its slot and sizes).
+   *
+   *   An `FT_Face` object can only be safely used from one thread at a time.
+   *   Similarly, creation and destruction of `FT_Face` with the same
+   *   @FT_Library object can only be done from one thread at a time.  On the
+   *   other hand, functions like @FT_Load_Glyph and its siblings are
+   *   thread-safe and do not need the lock to be held as long as the same
+   *   `FT_Face` object is not used from multiple threads at the same time.
+   *
+   * @also:
+   *   See @FT_FaceRec for the publicly accessible fields of a given face
+   *   object.
+   */
+  typedef struct FT_FaceRec_*  FT_Face;
+
+
+  /**************************************************************************
+   *
+   * @type:
+   *   FT_Size
+   *
+   * @description:
+   *   A handle to an object that models a face scaled to a given character
+   *   size.
+   *
+   * @note:
+   *   An @FT_Face has one _active_ @FT_Size object that is used by functions
+   *   like @FT_Load_Glyph to determine the scaling transformation that in
+   *   turn is used to load and hint glyphs and metrics.
+   *
+   *   You can use @FT_Set_Char_Size, @FT_Set_Pixel_Sizes, @FT_Request_Size
+   *   or even @FT_Select_Size to change the content (i.e., the scaling
+   *   values) of the active @FT_Size.
+   *
+   *   You can use @FT_New_Size to create additional size objects for a given
+   *   @FT_Face, but they won't be used by other functions until you activate
+   *   it through @FT_Activate_Size.  Only one size can be activated at any
+   *   given time per face.
+   *
+   * @also:
+   *   See @FT_SizeRec for the publicly accessible fields of a given size
+   *   object.
+   */
+  typedef struct FT_SizeRec_*  FT_Size;
+
+
+  /**************************************************************************
+   *
+   * @type:
+   *   FT_GlyphSlot
+   *
+   * @description:
+   *   A handle to a given 'glyph slot'.  A slot is a container that can hold
+   *   any of the glyphs contained in its parent face.
+   *
+   *   In other words, each time you call @FT_Load_Glyph or @FT_Load_Char,
+   *   the slot's content is erased by the new glyph data, i.e., the glyph's
+   *   metrics, its image (bitmap or outline), and other control information.
+   *
+   * @also:
+   *   See @FT_GlyphSlotRec for the publicly accessible glyph fields.
+   */
+  typedef struct FT_GlyphSlotRec_*  FT_GlyphSlot;
+
+
+  /**************************************************************************
+   *
+   * @type:
+   *   FT_CharMap
+   *
+   * @description:
+   *   A handle to a character map (usually abbreviated to 'charmap').  A
+   *   charmap is used to translate character codes in a given encoding into
+   *   glyph indexes for its parent's face.  Some font formats may provide
+   *   several charmaps per font.
+   *
+   *   Each face object owns zero or more charmaps, but only one of them can
+   *   be 'active', providing the data used by @FT_Get_Char_Index or
+   *   @FT_Load_Char.
+   *
+   *   The list of available charmaps in a face is available through the
+   *   `face->num_charmaps` and `face->charmaps` fields of @FT_FaceRec.
+   *
+   *   The currently active charmap is available as `face->charmap`.  You
+   *   should call @FT_Set_Charmap to change it.
+   *
+   * @note:
+   *   When a new face is created (either through @FT_New_Face or
+   *   @FT_Open_Face), the library looks for a Unicode charmap within the
+   *   list and automatically activates it.  If there is no Unicode charmap,
+   *   FreeType doesn't set an 'active' charmap.
+   *
+   * @also:
+   *   See @FT_CharMapRec for the publicly accessible fields of a given
+   *   character map.
+   */
+  typedef struct FT_CharMapRec_*  FT_CharMap;
+
+
+  /**************************************************************************
+   *
+   * @macro:
+   *   FT_ENC_TAG
+   *
+   * @description:
+   *   This macro converts four-letter tags into an unsigned long.  It is
+   *   used to define 'encoding' identifiers (see @FT_Encoding).
+   *
+   * @note:
+   *   Since many 16-bit compilers don't like 32-bit enumerations, you should
+   *   redefine this macro in case of problems to something like this:
+   *
+   *   ```
+   *     #define FT_ENC_TAG( value, a, b, c, d )  value
+   *   ```
+   *
+   *   to get a simple enumeration without assigning special numbers.
+   */
+
+#ifndef FT_ENC_TAG
+#define FT_ENC_TAG( value, a, b, c, d )         \
+          value = ( ( (FT_UInt32)(a) << 24 ) |  \
+                    ( (FT_UInt32)(b) << 16 ) |  \
+                    ( (FT_UInt32)(c) <<  8 ) |  \
+                      (FT_UInt32)(d)         )
+
+#endif /* FT_ENC_TAG */
+
+
+  /**************************************************************************
+   *
+   * @enum:
+   *   FT_Encoding
+   *
+   * @description:
+   *   An enumeration to specify character sets supported by charmaps.  Used
+   *   in the @FT_Select_Charmap API function.
+   *
+   * @note:
+   *   Despite the name, this enumeration lists specific character
+   *   repertories (i.e., charsets), and not text encoding methods (e.g.,
+   *   UTF-8, UTF-16, etc.).
+   *
+   *   Other encodings might be defined in the future.
+   *
+   * @values:
+   *   FT_ENCODING_NONE ::
+   *     The encoding value~0 is reserved for all formats except BDF, PCF,
+   *     and Windows FNT; see below for more information.
+   *
+   *   FT_ENCODING_UNICODE ::
+   *     The Unicode character set.  This value covers all versions of the
+   *     Unicode repertoire, including ASCII and Latin-1.  Most fonts include
+   *     a Unicode charmap, but not all of them.
+   *
+   *     For example, if you want to access Unicode value U+1F028 (and the
+   *     font contains it), use value 0x1F028 as the input value for
+   *     @FT_Get_Char_Index.
+   *
+   *   FT_ENCODING_MS_SYMBOL ::
+   *     Microsoft Symbol encoding, used to encode mathematical symbols and
+   *     wingdings.  For more information, see
+   *     'https://www.microsoft.com/typography/otspec/recom.htm#non-standard-symbol-fonts',
+   *     'http://www.kostis.net/charsets/symbol.htm', and
+   *     'http://www.kostis.net/charsets/wingding.htm'.
+   *
+   *     This encoding uses character codes from the PUA (Private Unicode
+   *     Area) in the range U+F020-U+F0FF.
+   *
+   *   FT_ENCODING_SJIS ::
+   *     Shift JIS encoding for Japanese.  More info at
+   *     'https://en.wikipedia.org/wiki/Shift_JIS'.  See note on multi-byte
+   *     encodings below.
+   *
+   *   FT_ENCODING_PRC ::
+   *     Corresponds to encoding systems mainly for Simplified Chinese as
+   *     used in People's Republic of China (PRC).  The encoding layout is
+   *     based on GB~2312 and its supersets GBK and GB~18030.
+   *
+   *   FT_ENCODING_BIG5 ::
+   *     Corresponds to an encoding system for Traditional Chinese as used in
+   *     Taiwan and Hong Kong.
+   *
+   *   FT_ENCODING_WANSUNG ::
+   *     Corresponds to the Korean encoding system known as Extended Wansung
+   *     (MS Windows code page 949).  For more information see
+   *     'https://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WindowsBestFit/bestfit949.txt'.
+   *
+   *   FT_ENCODING_JOHAB ::
+   *     The Korean standard character set (KS~C 5601-1992), which
+   *     corresponds to MS Windows code page 1361.  This character set
+   *     includes all possible Hangul character combinations.
+   *
+   *   FT_ENCODING_ADOBE_LATIN_1 ::
+   *     Corresponds to a Latin-1 encoding as defined in a Type~1 PostScript
+   *     font.  It is limited to 256 character codes.
+   *
+   *   FT_ENCODING_ADOBE_STANDARD ::
+   *     Adobe Standard encoding, as found in Type~1, CFF, and OpenType/CFF
+   *     fonts.  It is limited to 256 character codes.
+   *
+   *   FT_ENCODING_ADOBE_EXPERT ::
+   *     Adobe Expert encoding, as found in Type~1, CFF, and OpenType/CFF
+   *     fonts.  It is limited to 256 character codes.
+   *
+   *   FT_ENCODING_ADOBE_CUSTOM ::
+   *     Corresponds to a custom encoding, as found in Type~1, CFF, and
+   *     OpenType/CFF fonts.  It is limited to 256 character codes.
+   *
+   *   FT_ENCODING_APPLE_ROMAN ::
+   *     Apple roman encoding.  Many TrueType and OpenType fonts contain a
+   *     charmap for this 8-bit encoding, since older versions of Mac OS are
+   *     able to use it.
+   *
+   *   FT_ENCODING_OLD_LATIN_2 ::
+   *     This value is deprecated and was neither used nor reported by
+   *     FreeType.  Don't use or test for it.
+   *
+   *   FT_ENCODING_MS_SJIS ::
+   *     Same as FT_ENCODING_SJIS.  Deprecated.
+   *
+   *   FT_ENCODING_MS_GB2312 ::
+   *     Same as FT_ENCODING_PRC.  Deprecated.
+   *
+   *   FT_ENCODING_MS_BIG5 ::
+   *     Same as FT_ENCODING_BIG5.  Deprecated.
+   *
+   *   FT_ENCODING_MS_WANSUNG ::
+   *     Same as FT_ENCODING_WANSUNG.  Deprecated.
+   *
+   *   FT_ENCODING_MS_JOHAB ::
+   *     Same as FT_ENCODING_JOHAB.  Deprecated.
+   *
+   * @note:
+   *   By default, FreeType enables a Unicode charmap and tags it with
+   *   `FT_ENCODING_UNICODE` when it is either provided or can be generated
+   *   from PostScript glyph name dictionaries in the font file.  All other
+   *   encodings are considered legacy and tagged only if explicitly defined
+   *   in the font file.  Otherwise, `FT_ENCODING_NONE` is used.
+   *
+   *   `FT_ENCODING_NONE` is set by the BDF and PCF drivers if the charmap is
+   *   neither Unicode nor ISO-8859-1 (otherwise it is set to
+   *   `FT_ENCODING_UNICODE`).  Use @FT_Get_BDF_Charset_ID to find out which
+   *   encoding is really present.  If, for example, the `cs_registry` field
+   *   is 'KOI8' and the `cs_encoding` field is 'R', the font is encoded in
+   *   KOI8-R.
+   *
+   *   `FT_ENCODING_NONE` is always set (with a single exception) by the
+   *   winfonts driver.  Use @FT_Get_WinFNT_Header and examine the `charset`
+   *   field of the @FT_WinFNT_HeaderRec structure to find out which encoding
+   *   is really present.  For example, @FT_WinFNT_ID_CP1251 (204) means
+   *   Windows code page 1251 (for Russian).
+   *
+   *   `FT_ENCODING_NONE` is set if `platform_id` is @TT_PLATFORM_MACINTOSH
+   *   and `encoding_id` is not `TT_MAC_ID_ROMAN` (otherwise it is set to
+   *   `FT_ENCODING_APPLE_ROMAN`).
+   *
+   *   If `platform_id` is @TT_PLATFORM_MACINTOSH, use the function
+   *   @FT_Get_CMap_Language_ID to query the Mac language ID that may be
+   *   needed to be able to distinguish Apple encoding variants.  See
+   *
+   *     https://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/Readme.txt
+   *
+   *   to get an idea how to do that.  Basically, if the language ID is~0,
+   *   don't use it, otherwise subtract 1 from the language ID.  Then examine
+   *   `encoding_id`.  If, for example, `encoding_id` is `TT_MAC_ID_ROMAN`
+   *   and the language ID (minus~1) is `TT_MAC_LANGID_GREEK`, it is the
+   *   Greek encoding, not Roman.  `TT_MAC_ID_ARABIC` with
+   *   `TT_MAC_LANGID_FARSI` means the Farsi variant the Arabic encoding.
+   */
+  typedef enum  FT_Encoding_
+  {
+    FT_ENC_TAG( FT_ENCODING_NONE, 0, 0, 0, 0 ),
+
+    FT_ENC_TAG( FT_ENCODING_MS_SYMBOL, 's', 'y', 'm', 'b' ),
+    FT_ENC_TAG( FT_ENCODING_UNICODE,   'u', 'n', 'i', 'c' ),
+
+    FT_ENC_TAG( FT_ENCODING_SJIS,    's', 'j', 'i', 's' ),
+    FT_ENC_TAG( FT_ENCODING_PRC,     'g', 'b', ' ', ' ' ),
+    FT_ENC_TAG( FT_ENCODING_BIG5,    'b', 'i', 'g', '5' ),
+    FT_ENC_TAG( FT_ENCODING_WANSUNG, 'w', 'a', 'n', 's' ),
+    FT_ENC_TAG( FT_ENCODING_JOHAB,   'j', 'o', 'h', 'a' ),
+
+    /* for backward compatibility */
+    FT_ENCODING_GB2312     = FT_ENCODING_PRC,
+    FT_ENCODING_MS_SJIS    = FT_ENCODING_SJIS,
+    FT_ENCODING_MS_GB2312  = FT_ENCODING_PRC,
+    FT_ENCODING_MS_BIG5    = FT_ENCODING_BIG5,
+    FT_ENCODING_MS_WANSUNG = FT_ENCODING_WANSUNG,
+    FT_ENCODING_MS_JOHAB   = FT_ENCODING_JOHAB,
+
+    FT_ENC_TAG( FT_ENCODING_ADOBE_STANDARD, 'A', 'D', 'O', 'B' ),
+    FT_ENC_TAG( FT_ENCODING_ADOBE_EXPERT,   'A', 'D', 'B', 'E' ),
+    FT_ENC_TAG( FT_ENCODING_ADOBE_CUSTOM,   'A', 'D', 'B', 'C' ),
+    FT_ENC_TAG( FT_ENCODING_ADOBE_LATIN_1,  'l', 'a', 't', '1' ),
+
+    FT_ENC_TAG( FT_ENCODING_OLD_LATIN_2, 'l', 'a', 't', '2' ),
+
+    FT_ENC_TAG( FT_ENCODING_APPLE_ROMAN, 'a', 'r', 'm', 'n' )
+
+  } FT_Encoding;
+
+
+  /* these constants are deprecated; use the corresponding `FT_Encoding` */
+  /* values instead                                                      */
+#define ft_encoding_none            FT_ENCODING_NONE
+#define ft_encoding_unicode         FT_ENCODING_UNICODE
+#define ft_encoding_symbol          FT_ENCODING_MS_SYMBOL
+#define ft_encoding_latin_1         FT_ENCODING_ADOBE_LATIN_1
+#define ft_encoding_latin_2         FT_ENCODING_OLD_LATIN_2
+#define ft_encoding_sjis            FT_ENCODING_SJIS
+#define ft_encoding_gb2312          FT_ENCODING_PRC
+#define ft_encoding_big5            FT_ENCODING_BIG5
+#define ft_encoding_wansung         FT_ENCODING_WANSUNG
+#define ft_encoding_johab           FT_ENCODING_JOHAB
+
+#define ft_encoding_adobe_standard  FT_ENCODING_ADOBE_STANDARD
+#define ft_encoding_adobe_expert    FT_ENCODING_ADOBE_EXPERT
+#define ft_encoding_adobe_custom    FT_ENCODING_ADOBE_CUSTOM
+#define ft_encoding_apple_roman     FT_ENCODING_APPLE_ROMAN
+
+
+  /**************************************************************************
+   *
+   * @struct:
+   *   FT_CharMapRec
+   *
+   * @description:
+   *   The base charmap structure.
+   *
+   * @fields:
+   *   face ::
+   *     A handle to the parent face object.
+   *
+   *   encoding ::
+   *     An @FT_Encoding tag identifying the charmap.  Use this with
+   *     @FT_Select_Charmap.
+   *
+   *   platform_id ::
+   *     An ID number describing the platform for the following encoding ID.
+   *     This comes directly from the TrueType specification and gets
+   *     emulated for other formats.
+   *
+   *   encoding_id ::
+   *     A platform-specific encoding number.  This also comes from the
+   *     TrueType specification and gets emulated similarly.
+   */
+  typedef struct  FT_CharMapRec_
+  {
+    FT_Face      face;
+    FT_Encoding  encoding;
+    FT_UShort    platform_id;
+    FT_UShort    encoding_id;
+
+  } FT_CharMapRec;
+
+
+  /*************************************************************************/
+  /*************************************************************************/
+  /*                                                                       */
+  /*                 B A S E   O B J E C T   C L A S S E S                 */
+  /*                                                                       */
+  /*************************************************************************/
+  /*************************************************************************/
+
+
+  /**************************************************************************
+   *
+   * @type:
+   *   FT_Face_Internal
+   *
+   * @description:
+   *   An opaque handle to an `FT_Face_InternalRec` structure that models the
+   *   private data of a given @FT_Face object.
+   *
+   *   This structure might change between releases of FreeType~2 and is not
+   *   generally available to client applications.
+   */
+  typedef struct FT_Face_InternalRec_*  FT_Face_Internal;
+
+
+  /**************************************************************************
+   *
+   * @struct:
+   *   FT_FaceRec
+   *
+   * @description:
+   *   FreeType root face class structure.  A face object models a typeface
+   *   in a font file.
+   *
+   * @fields:
+   *   num_faces ::
+   *     The number of faces in the font file.  Some font formats can have
+   *     multiple faces in a single font file.
+   *
+   *   face_index ::
+   *     This field holds two different values.  Bits 0-15 are the index of
+   *     the face in the font file (starting with value~0).  They are set
+   *     to~0 if there is only one face in the font file.
+   *
+   *     [Since 2.6.1] Bits 16-30 are relevant to GX and OpenType variation
+   *     fonts only, holding the named instance index for the current face
+   *     index (starting with value~1; value~0 indicates font access without
+   *     a named instance).  For non-variation fonts, bits 16-30 are ignored.
+   *     If we have the third named instance of face~4, say, `face_index` is
+   *     set to 0x00030004.
+   *
+   *     Bit 31 is always zero (this is, `face_index` is always a positive
+   *     value).
+   *
+   *     [Since 2.9] Changing the design coordinates with
+   *     @FT_Set_Var_Design_Coordinates or @FT_Set_Var_Blend_Coordinates does
+   *     not influence the named instance index value (only
+   *     @FT_Set_Named_Instance does that).
+   *
+   *   face_flags ::
+   *     A set of bit flags that give important information about the face;
+   *     see @FT_FACE_FLAG_XXX for the details.
+   *
+   *   style_flags ::
+   *     The lower 16~bits contain a set of bit flags indicating the style of
+   *     the face; see @FT_STYLE_FLAG_XXX for the details.
+   *
+   *     [Since 2.6.1] Bits 16-30 hold the number of named instances
+   *     available for the current face if we have a GX or OpenType variation
+   *     (sub)font.  Bit 31 is always zero (this is, `style_flags` is always
+   *     a positive value).  Note that a variation font has always at least
+   *     one named instance, namely the default instance.
+   *
+   *   num_glyphs ::
+   *     The number of glyphs in the face.  If the face is scalable and has
+   *     sbits (see `num_fixed_sizes`), it is set to the number of outline
+   *     glyphs.
+   *
+   *     For CID-keyed fonts (not in an SFNT wrapper) this value gives the
+   *     highest CID used in the font.
+   *
+   *   family_name ::
+   *     The face's family name.  This is an ASCII string, usually in
+   *     English, that describes the typeface's family (like 'Times New
+   *     Roman', 'Bodoni', 'Garamond', etc).  This is a least common
+   *     denominator used to list fonts.  Some formats (TrueType & OpenType)
+   *     provide localized and Unicode versions of this string.  Applications
+   *     should use the format-specific interface to access them.  Can be
+   *     `NULL` (e.g., in fonts embedded in a PDF file).
+   *
+   *     In case the font doesn't provide a specific family name entry,
+   *     FreeType tries to synthesize one, deriving it from other name
+   *     entries.
+   *
+   *   style_name ::
+   *     The face's style name.  This is an ASCII string, usually in English,
+   *     that describes the typeface's style (like 'Italic', 'Bold',
+   *     'Condensed', etc).  Not all font formats provide a style name, so
+   *     this field is optional, and can be set to `NULL`.  As for
+   *     `family_name`, some formats provide localized and Unicode versions
+   *     of this string.  Applications should use the format-specific
+   *     interface to access them.
+   *
+   *   num_fixed_sizes ::
+   *     The number of bitmap strikes in the face.  Even if the face is
+   *     scalable, there might still be bitmap strikes, which are called
+   *     'sbits' in that case.
+   *
+   *   available_sizes ::
+   *     An array of @FT_Bitmap_Size for all bitmap strikes in the face.  It
+   *     is set to `NULL` if there is no bitmap strike.
+   *
+   *     Note that FreeType tries to sanitize the strike data since they are
+   *     sometimes sloppy or incorrect, but this can easily fail.
+   *
+   *   num_charmaps ::
+   *     The number of charmaps in the face.
+   *
+   *   charmaps ::
+   *     An array of the charmaps of the face.
+   *
+   *   generic ::
+   *     A field reserved for client uses.  See the @FT_Generic type
+   *     description.
+   *
+   *   bbox ::
+   *     The font bounding box.  Coordinates are expressed in font units (see
+   *     `units_per_EM`).  The box is large enough to contain any glyph from
+   *     the font.  Thus, `bbox.yMax` can be seen as the 'maximum ascender',
+   *     and `bbox.yMin` as the 'minimum descender'.  Only relevant for
+   *     scalable formats.
+   *
+   *     Note that the bounding box might be off by (at least) one pixel for
+   *     hinted fonts.  See @FT_Size_Metrics for further discussion.
+   *
+   *   units_per_EM ::
+   *     The number of font units per EM square for this face.  This is
+   *     typically 2048 for TrueType fonts, and 1000 for Type~1 fonts.  Only
+   *     relevant for scalable formats.
+   *
+   *   ascender ::
+   *     The typographic ascender of the face, expressed in font units.  For
+   *     font formats not having this information, it is set to `bbox.yMax`.
+   *     Only relevant for scalable formats.
+   *
+   *   descender ::
+   *     The typographic descender of the face, expressed in font units.  For
+   *     font formats not having this information, it is set to `bbox.yMin`.
+   *     Note that this field is negative for values below the baseline.
+   *     Only relevant for scalable formats.
+   *
+   *   height ::
+   *     This value is the vertical distance between two consecutive
+   *     baselines, expressed in font units.  It is always positive.  Only
+   *     relevant for scalable formats.
+   *
+   *     If you want the global glyph height, use `ascender - descender`.
+   *
+   *   max_advance_width ::
+   *     The maximum advance width, in font units, for all glyphs in this
+   *     face.  This can be used to make word wrapping computations faster.
+   *     Only relevant for scalable formats.
+   *
+   *   max_advance_height ::
+   *     The maximum advance height, in font units, for all glyphs in this
+   *     face.  This is only relevant for vertical layouts, and is set to
+   *     `height` for fonts that do not provide vertical metrics.  Only
+   *     relevant for scalable formats.
+   *
+   *   underline_position ::
+   *     The position, in font units, of the underline line for this face.
+   *     It is the center of the underlining stem.  Only relevant for
+   *     scalable formats.
+   *
+   *   underline_thickness ::
+   *     The thickness, in font units, of the underline for this face.  Only
+   *     relevant for scalable formats.
+   *
+   *   glyph ::
+   *     The face's associated glyph slot(s).
+   *
+   *   size ::
+   *     The current active size for this face.
+   *
+   *   charmap ::
+   *     The current active charmap for this face.
+   *
+   * @note:
+   *   Fields may be changed after a call to @FT_Attach_File or
+   *   @FT_Attach_Stream.
+   *
+   *   For an OpenType variation font, the values of the following fields can
+   *   change after a call to @FT_Set_Var_Design_Coordinates (and friends) if
+   *   the font contains an 'MVAR' table: `ascender`, `descender`, `height`,
+   *   `underline_position`, and `underline_thickness`.
+   *
+   *   Especially for TrueType fonts see also the documentation for
+   *   @FT_Size_Metrics.
+   */
+  typedef struct  FT_FaceRec_
+  {
+    FT_Long           num_faces;
+    FT_Long           face_index;
+
+    FT_Long           face_flags;
+    FT_Long           style_flags;
+
+    FT_Long           num_glyphs;
+
+    FT_String*        family_name;
+    FT_String*        style_name;
+
+    FT_Int            num_fixed_sizes;
+    FT_Bitmap_Size*   available_sizes;
+
+    FT_Int            num_charmaps;
+    FT_CharMap*       charmaps;
+
+    FT_Generic        generic;
+
+    /*# The following member variables (down to `underline_thickness`) */
+    /*# are only relevant to scalable outlines; cf. @FT_Bitmap_Size    */
+    /*# for bitmap fonts.                                              */
+    FT_BBox           bbox;
+
+    FT_UShort         units_per_EM;
+    FT_Short          ascender;
+    FT_Short          descender;
+    FT_Short          height;
+
+    FT_Short          max_advance_width;
+    FT_Short          max_advance_height;
+
+    FT_Short          underline_position;
+    FT_Short          underline_thickness;
+
+    FT_GlyphSlot      glyph;
+    FT_Size           size;
+    FT_CharMap        charmap;
+
+    /*@private begin */
+
+    FT_Driver         driver;
+    FT_Memory         memory;
+    FT_Stream         stream;
+
+    FT_ListRec        sizes_list;
+
+    FT_Generic        autohint;   /* face-specific auto-hinter data */
+    void*             extensions; /* unused                         */
+
+    FT_Face_Internal  internal;
+
+    /*@private end */
+
+  } FT_FaceRec;
+
+
+  /**************************************************************************
+   *
+   * @enum:
+   *   FT_FACE_FLAG_XXX
+   *
+   * @description:
+   *   A list of bit flags used in the `face_flags` field of the @FT_FaceRec
+   *   structure.  They inform client applications of properties of the
+   *   corresponding face.
+   *
+   * @values:
+   *   FT_FACE_FLAG_SCALABLE ::
+   *     The face contains outline glyphs.  Note that a face can contain
+   *     bitmap strikes also, i.e., a face can have both this flag and
+   *     @FT_FACE_FLAG_FIXED_SIZES set.
+   *
+   *   FT_FACE_FLAG_FIXED_SIZES ::
+   *     The face contains bitmap strikes.  See also the `num_fixed_sizes`
+   *     and `available_sizes` fields of @FT_FaceRec.
+   *
+   *   FT_FACE_FLAG_FIXED_WIDTH ::
+   *     The face contains fixed-width characters (like Courier, Lucida,
+   *     MonoType, etc.).
+   *
+   *   FT_FACE_FLAG_SFNT ::
+   *     The face uses the SFNT storage scheme.  For now, this means TrueType
+   *     and OpenType.
+   *
+   *   FT_FACE_FLAG_HORIZONTAL ::
+   *     The face contains horizontal glyph metrics.  This should be set for
+   *     all common formats.
+   *
+   *   FT_FACE_FLAG_VERTICAL ::
+   *     The face contains vertical glyph metrics.  This is only available in
+   *     some formats, not all of them.
+   *
+   *   FT_FACE_FLAG_KERNING ::
+   *     The face contains kerning information.  If set, the kerning distance
+   *     can be retrieved using the function @FT_Get_Kerning.  Otherwise the
+   *     function always return the vector (0,0).  Note that FreeType doesn't
+   *     handle kerning data from the SFNT 'GPOS' table (as present in many
+   *     OpenType fonts).
+   *
+   *   FT_FACE_FLAG_FAST_GLYPHS ::
+   *     THIS FLAG IS DEPRECATED.  DO NOT USE OR TEST IT.
+   *
+   *   FT_FACE_FLAG_MULTIPLE_MASTERS ::
+   *     The face contains multiple masters and is capable of interpolating
+   *     between them.  Supported formats are Adobe MM, TrueType GX, and
+   *     OpenType variation fonts.
+   *
+   *     See section @multiple_masters for API details.
+   *
+   *   FT_FACE_FLAG_GLYPH_NAMES ::
+   *     The face contains glyph names, which can be retrieved using
+   *     @FT_Get_Glyph_Name.  Note that some TrueType fonts contain broken
+   *     glyph name tables.  Use the function @FT_Has_PS_Glyph_Names when
+   *     needed.
+   *
+   *   FT_FACE_FLAG_EXTERNAL_STREAM ::
+   *     Used internally by FreeType to indicate that a face's stream was
+   *     provided by the client application and should not be destroyed when
+   *     @FT_Done_Face is called.  Don't read or test this flag.
+   *
+   *   FT_FACE_FLAG_HINTER ::
+   *     The font driver has a hinting machine of its own.  For example, with
+   *     TrueType fonts, it makes sense to use data from the SFNT 'gasp'
+   *     table only if the native TrueType hinting engine (with the bytecode
+   *     interpreter) is available and active.
+   *
+   *   FT_FACE_FLAG_CID_KEYED ::
+   *     The face is CID-keyed.  In that case, the face is not accessed by
+   *     glyph indices but by CID values.  For subsetted CID-keyed fonts this
+   *     has the consequence that not all index values are a valid argument
+   *     to @FT_Load_Glyph.  Only the CID values for which corresponding
+   *     glyphs in the subsetted font exist make `FT_Load_Glyph` return
+   *     successfully; in all other cases you get an
+   *     `FT_Err_Invalid_Argument` error.
+   *
+   *     Note that CID-keyed fonts that are in an SFNT wrapper (this is, all
+   *     OpenType/CFF fonts) don't have this flag set since the glyphs are
+   *     accessed in the normal way (using contiguous indices); the
+   *     'CID-ness' isn't visible to the application.
+   *
+   *   FT_FACE_FLAG_TRICKY ::
+   *     The face is 'tricky', this is, it always needs the font format's
+   *     native hinting engine to get a reasonable result.  A typical example
+   *     is the old Chinese font `mingli.ttf` (but not `mingliu.ttc`) that
+   *     uses TrueType bytecode instructions to move and scale all of its
+   *     subglyphs.
+   *
+   *     It is not possible to auto-hint such fonts using
+   *     @FT_LOAD_FORCE_AUTOHINT; it will also ignore @FT_LOAD_NO_HINTING.
+   *     You have to set both @FT_LOAD_NO_HINTING and @FT_LOAD_NO_AUTOHINT to
+   *     really disable hinting; however, you probably never want this except
+   *     for demonstration purposes.
+   *
+   *     Currently, there are about a dozen TrueType fonts in the list of
+   *     tricky fonts; they are hard-coded in file `ttobjs.c`.
+   *
+   *   FT_FACE_FLAG_COLOR ::
+   *     [Since 2.5.1] The face has color glyph tables.  See @FT_LOAD_COLOR
+   *     for more information.
+   *
+   *   FT_FACE_FLAG_VARIATION ::
+   *     [Since 2.9] Set if the current face (or named instance) has been
+   *     altered with @FT_Set_MM_Design_Coordinates,
+   *     @FT_Set_Var_Design_Coordinates, or @FT_Set_Var_Blend_Coordinates.
+   *     This flag is unset by a call to @FT_Set_Named_Instance.
+   */
+#define FT_FACE_FLAG_SCALABLE          ( 1L <<  0 )
+#define FT_FACE_FLAG_FIXED_SIZES       ( 1L <<  1 )
+#define FT_FACE_FLAG_FIXED_WIDTH       ( 1L <<  2 )
+#define FT_FACE_FLAG_SFNT              ( 1L <<  3 )
+#define FT_FACE_FLAG_HORIZONTAL        ( 1L <<  4 )
+#define FT_FACE_FLAG_VERTICAL          ( 1L <<  5 )
+#define FT_FACE_FLAG_KERNING           ( 1L <<  6 )
+#define FT_FACE_FLAG_FAST_GLYPHS       ( 1L <<  7 )
+#define FT_FACE_FLAG_MULTIPLE_MASTERS  ( 1L <<  8 )
+#define FT_FACE_FLAG_GLYPH_NAMES       ( 1L <<  9 )
+#define FT_FACE_FLAG_EXTERNAL_STREAM   ( 1L << 10 )
+#define FT_FACE_FLAG_HINTER            ( 1L << 11 )
+#define FT_FACE_FLAG_CID_KEYED         ( 1L << 12 )
+#define FT_FACE_FLAG_TRICKY            ( 1L << 13 )
+#define FT_FACE_FLAG_COLOR             ( 1L << 14 )
+#define FT_FACE_FLAG_VARIATION         ( 1L << 15 )
+
+
+  /**************************************************************************
+   *
+   * @macro:
+   *   FT_HAS_HORIZONTAL
+   *
+   * @description:
+   *   A macro that returns true whenever a face object contains horizontal
+   *   metrics (this is true for all font formats though).
+   *
+   * @also:
+   *   @FT_HAS_VERTICAL can be used to check for vertical metrics.
+   *
+   */
+#define FT_HAS_HORIZONTAL( face ) \
+          ( (face)->face_flags & FT_FACE_FLAG_HORIZONTAL )
+
+
+  /**************************************************************************
+   *
+   * @macro:
+   *   FT_HAS_VERTICAL
+   *
+   * @description:
+   *   A macro that returns true whenever a face object contains real
+   *   vertical metrics (and not only synthesized ones).
+   *
+   */
+#define FT_HAS_VERTICAL( face ) \
+          ( (face)->face_flags & FT_FACE_FLAG_VERTICAL )
+
+
+  /**************************************************************************
+   *
+   * @macro:
+   *   FT_HAS_KERNING
+   *
+   * @description:
+   *   A macro that returns true whenever a face object contains kerning data
+   *   that can be accessed with @FT_Get_Kerning.
+   *
+   */
+#define FT_HAS_KERNING( face ) \
+          ( (face)->face_flags & FT_FACE_FLAG_KERNING )
+
+
+  /**************************************************************************
+   *
+   * @macro:
+   *   FT_IS_SCALABLE
+   *
+   * @description:
+   *   A macro that returns true whenever a face object contains a scalable
+   *   font face (true for TrueType, Type~1, Type~42, CID, OpenType/CFF, and
+   *   PFR font formats).
+   *
+   */
+#define FT_IS_SCALABLE( face ) \
+          ( (face)->face_flags & FT_FACE_FLAG_SCALABLE )
+
+
+  /**************************************************************************
+   *
+   * @macro:
+   *   FT_IS_SFNT
+   *
+   * @description:
+   *   A macro that returns true whenever a face object contains a font whose
+   *   format is based on the SFNT storage scheme.  This usually means:
+   *   TrueType fonts, OpenType fonts, as well as SFNT-based embedded bitmap
+   *   fonts.
+   *
+   *   If this macro is true, all functions defined in @FT_SFNT_NAMES_H and
+   *   @FT_TRUETYPE_TABLES_H are available.
+   *
+   */
+#define FT_IS_SFNT( face ) \
+          ( (face)->face_flags & FT_FACE_FLAG_SFNT )
+
+
+  /**************************************************************************
+   *
+   * @macro:
+   *   FT_IS_FIXED_WIDTH
+   *
+   * @description:
+   *   A macro that returns true whenever a face object contains a font face
+   *   that contains fixed-width (or 'monospace', 'fixed-pitch', etc.)
+   *   glyphs.
+   *
+   */
+#define FT_IS_FIXED_WIDTH( face ) \
+          ( (face)->face_flags & FT_FACE_FLAG_FIXED_WIDTH )
+
+
+  /**************************************************************************
+   *
+   * @macro:
+   *   FT_HAS_FIXED_SIZES
+   *
+   * @description:
+   *   A macro that returns true whenever a face object contains some
+   *   embedded bitmaps.  See the `available_sizes` field of the @FT_FaceRec
+   *   structure.
+   *
+   */
+#define FT_HAS_FIXED_SIZES( face ) \
+          ( (face)->face_flags & FT_FACE_FLAG_FIXED_SIZES )
+
+
+  /**************************************************************************
+   *
+   * @macro:
+   *   FT_HAS_FAST_GLYPHS
+   *
+   * @description:
+   *   Deprecated.
+   *
+   */
+#define FT_HAS_FAST_GLYPHS( face )  0
+
+
+  /**************************************************************************
+   *
+   * @macro:
+   *   FT_HAS_GLYPH_NAMES
+   *
+   * @description:
+   *   A macro that returns true whenever a face object contains some glyph
+   *   names that can be accessed through @FT_Get_Glyph_Name.
+   *
+   */
+#define FT_HAS_GLYPH_NAMES( face ) \
+          ( (face)->face_flags & FT_FACE_FLAG_GLYPH_NAMES )
+
+
+  /**************************************************************************
+   *
+   * @macro:
+   *   FT_HAS_MULTIPLE_MASTERS
+   *
+   * @description:
+   *   A macro that returns true whenever a face object contains some
+   *   multiple masters.  The functions provided by @FT_MULTIPLE_MASTERS_H
+   *   are then available to choose the exact design you want.
+   *
+   */
+#define FT_HAS_MULTIPLE_MASTERS( face ) \
+          ( (face)->face_flags & FT_FACE_FLAG_MULTIPLE_MASTERS )
+
+
+  /**************************************************************************
+   *
+   * @macro:
+   *   FT_IS_NAMED_INSTANCE
+   *
+   * @description:
+   *   A macro that returns true whenever a face object is a named instance
+   *   of a GX or OpenType variation font.
+   *
+   *   [Since 2.9] Changing the design coordinates with
+   *   @FT_Set_Var_Design_Coordinates or @FT_Set_Var_Blend_Coordinates does
+   *   not influence the return value of this macro (only
+   *   @FT_Set_Named_Instance does that).
+   *
+   * @since:
+   *   2.7
+   *
+   */
+#define FT_IS_NAMED_INSTANCE( face ) \
+          ( (face)->face_index & 0x7FFF0000L )
+
+
+  /**************************************************************************
+   *
+   * @macro:
+   *   FT_IS_VARIATION
+   *
+   * @description:
+   *   A macro that returns true whenever a face object has been altered by
+   *   @FT_Set_MM_Design_Coordinates, @FT_Set_Var_Design_Coordinates, or
+   *   @FT_Set_Var_Blend_Coordinates.
+   *
+   * @since:
+   *   2.9
+   *
+   */
+#define FT_IS_VARIATION( face ) \
+          ( (face)->face_flags & FT_FACE_FLAG_VARIATION )
+
+
+  /**************************************************************************
+   *
+   * @macro:
+   *   FT_IS_CID_KEYED
+   *
+   * @description:
+   *   A macro that returns true whenever a face object contains a CID-keyed
+   *   font.  See the discussion of @FT_FACE_FLAG_CID_KEYED for more details.
+   *
+   *   If this macro is true, all functions defined in @FT_CID_H are
+   *   available.
+   *
+   */
+#define FT_IS_CID_KEYED( face ) \
+          ( (face)->face_flags & FT_FACE_FLAG_CID_KEYED )
+
+
+  /**************************************************************************
+   *
+   * @macro:
+   *   FT_IS_TRICKY
+   *
+   * @description:
+   *   A macro that returns true whenever a face represents a 'tricky' font.
+   *   See the discussion of @FT_FACE_FLAG_TRICKY for more details.
+   *
+   */
+#define FT_IS_TRICKY( face ) \
+          ( (face)->face_flags & FT_FACE_FLAG_TRICKY )
+
+
+  /**************************************************************************
+   *
+   * @macro:
+   *   FT_HAS_COLOR
+   *
+   * @description:
+   *   A macro that returns true whenever a face object contains tables for
+   *   color glyphs.
+   *
+   * @since:
+   *   2.5.1
+   *
+   */
+#define FT_HAS_COLOR( face ) \
+          ( (face)->face_flags & FT_FACE_FLAG_COLOR )
+
+
+  /**************************************************************************
+   *
+   * @enum:
+   *   FT_STYLE_FLAG_XXX
+   *
+   * @description:
+   *   A list of bit flags to indicate the style of a given face.  These are
+   *   used in the `style_flags` field of @FT_FaceRec.
+   *
+   * @values:
+   *   FT_STYLE_FLAG_ITALIC ::
+   *     The face style is italic or oblique.
+   *
+   *   FT_STYLE_FLAG_BOLD ::
+   *     The face is bold.
+   *
+   * @note:
+   *   The style information as provided by FreeType is very basic.  More
+   *   details are beyond the scope and should be done on a higher level (for
+   *   example, by analyzing various fields of the 'OS/2' table in SFNT based
+   *   fonts).
+   */
+#define FT_STYLE_FLAG_ITALIC  ( 1 << 0 )
+#define FT_STYLE_FLAG_BOLD    ( 1 << 1 )
+
+
+  /**************************************************************************
+   *
+   * @type:
+   *   FT_Size_Internal
+   *
+   * @description:
+   *   An opaque handle to an `FT_Size_InternalRec` structure, used to model
+   *   private data of a given @FT_Size object.
+   */
+  typedef struct FT_Size_InternalRec_*  FT_Size_Internal;
+
+
+  /**************************************************************************
+   *
+   * @struct:
+   *   FT_Size_Metrics
+   *
+   * @description:
+   *   The size metrics structure gives the metrics of a size object.
+   *
+   * @fields:
+   *   x_ppem ::
+   *     The width of the scaled EM square in pixels, hence the term 'ppem'
+   *     (pixels per EM).  It is also referred to as 'nominal width'.
+   *
+   *   y_ppem ::
+   *     The height of the scaled EM square in pixels, hence the term 'ppem'
+   *     (pixels per EM).  It is also referred to as 'nominal height'.
+   *
+   *   x_scale ::
+   *     A 16.16 fractional scaling value to convert horizontal metrics from
+   *     font units to 26.6 fractional pixels.  Only relevant for scalable
+   *     font formats.
+   *
+   *   y_scale ::
+   *     A 16.16 fractional scaling value to convert vertical metrics from
+   *     font units to 26.6 fractional pixels.  Only relevant for scalable
+   *     font formats.
+   *
+   *   ascender ::
+   *     The ascender in 26.6 fractional pixels, rounded up to an integer
+   *     value.  See @FT_FaceRec for the details.
+   *
+   *   descender ::
+   *     The descender in 26.6 fractional pixels, rounded down to an integer
+   *     value.  See @FT_FaceRec for the details.
+   *
+   *   height ::
+   *     The height in 26.6 fractional pixels, rounded to an integer value.
+   *     See @FT_FaceRec for the details.
+   *
+   *   max_advance ::
+   *     The maximum advance width in 26.6 fractional pixels, rounded to an
+   *     integer value.  See @FT_FaceRec for the details.
+   *
+   * @note:
+   *   The scaling values, if relevant, are determined first during a size
+   *   changing operation.  The remaining fields are then set by the driver.
+   *   For scalable formats, they are usually set to scaled values of the
+   *   corresponding fields in @FT_FaceRec.  Some values like ascender or
+   *   descender are rounded for historical reasons; more precise values (for
+   *   outline fonts) can be derived by scaling the corresponding @FT_FaceRec
+   *   values manually, with code similar to the following.
+   *
+   *   ```
+   *     scaled_ascender = FT_MulFix( face->ascender,
+   *                                  size_metrics->y_scale );
+   *   ```
+   *
+   *   Note that due to glyph hinting and the selected rendering mode these
+   *   values are usually not exact; consequently, they must be treated as
+   *   unreliable with an error margin of at least one pixel!
+   *
+   *   Indeed, the only way to get the exact metrics is to render _all_
+   *   glyphs.  As this would be a definite performance hit, it is up to
+   *   client applications to perform such computations.
+   *
+   *   The `FT_Size_Metrics` structure is valid for bitmap fonts also.
+   *
+   *
+   *   **TrueType fonts with native bytecode hinting**
+   *
+   *   All applications that handle TrueType fonts with native hinting must
+   *   be aware that TTFs expect different rounding of vertical font
+   *   dimensions.  The application has to cater for this, especially if it
+   *   wants to rely on a TTF's vertical data (for example, to properly align
+   *   box characters vertically).
+   *
+   *   Only the application knows _in advance_ that it is going to use native
+   *   hinting for TTFs!  FreeType, on the other hand, selects the hinting
+   *   mode not at the time of creating an @FT_Size object but much later,
+   *   namely while calling @FT_Load_Glyph.
+   *
+   *   Here is some pseudo code that illustrates a possible solution.
+   *
+   *   ```
+   *     font_format = FT_Get_Font_Format( face );
+   *
+   *     if ( !strcmp( font_format, "TrueType" ) &&
+   *          do_native_bytecode_hinting         )
+   *     {
+   *       ascender  = ROUND( FT_MulFix( face->ascender,
+   *                                     size_metrics->y_scale ) );
+   *       descender = ROUND( FT_MulFix( face->descender,
+   *                                     size_metrics->y_scale ) );
+   *     }
+   *     else
+   *     {
+   *       ascender  = size_metrics->ascender;
+   *       descender = size_metrics->descender;
+   *     }
+   *
+   *     height      = size_metrics->height;
+   *     max_advance = size_metrics->max_advance;
+   *   ```
+   */
+  typedef struct  FT_Size_Metrics_
+  {
+    FT_UShort  x_ppem;      /* horizontal pixels per EM               */
+    FT_UShort  y_ppem;      /* vertical pixels per EM                 */
+
+    FT_Fixed   x_scale;     /* scaling values used to convert font    */
+    FT_Fixed   y_scale;     /* units to 26.6 fractional pixels        */
+
+    FT_Pos     ascender;    /* ascender in 26.6 frac. pixels          */
+    FT_Pos     descender;   /* descender in 26.6 frac. pixels         */
+    FT_Pos     height;      /* text height in 26.6 frac. pixels       */
+    FT_Pos     max_advance; /* max horizontal advance, in 26.6 pixels */
+
+  } FT_Size_Metrics;
+
+
+  /**************************************************************************
+   *
+   * @struct:
+   *   FT_SizeRec
+   *
+   * @description:
+   *   FreeType root size class structure.  A size object models a face
+   *   object at a given size.
+   *
+   * @fields:
+   *   face ::
+   *     Handle to the parent face object.
+   *
+   *   generic ::
+   *     A typeless pointer, unused by the FreeType library or any of its
+   *     drivers.  It can be used by client applications to link their own
+   *     data to each size object.
+   *
+   *   metrics ::
+   *     Metrics for this size object.  This field is read-only.
+   */
+  typedef struct  FT_SizeRec_
+  {
+    FT_Face           face;      /* parent face object              */
+    FT_Generic        generic;   /* generic pointer for client uses */
+    FT_Size_Metrics   metrics;   /* size metrics                    */
+    FT_Size_Internal  internal;
+
+  } FT_SizeRec;
+
+
+  /**************************************************************************
+   *
+   * @struct:
+   *   FT_SubGlyph
+   *
+   * @description:
+   *   The subglyph structure is an internal object used to describe
+   *   subglyphs (for example, in the case of composites).
+   *
+   * @note:
+   *   The subglyph implementation is not part of the high-level API, hence
+   *   the forward structure declaration.
+   *
+   *   You can however retrieve subglyph information with
+   *   @FT_Get_SubGlyph_Info.
+   */
+  typedef struct FT_SubGlyphRec_*  FT_SubGlyph;
+
+
+  /**************************************************************************
+   *
+   * @type:
+   *   FT_Slot_Internal
+   *
+   * @description:
+   *   An opaque handle to an `FT_Slot_InternalRec` structure, used to model
+   *   private data of a given @FT_GlyphSlot object.
+   */
+  typedef struct FT_Slot_InternalRec_*  FT_Slot_Internal;
+
+
+  /**************************************************************************
+   *
+   * @struct:
+   *   FT_GlyphSlotRec
+   *
+   * @description:
+   *   FreeType root glyph slot class structure.  A glyph slot is a container
+   *   where individual glyphs can be loaded, be they in outline or bitmap
+   *   format.
+   *
+   * @fields:
+   *   library ::
+   *     A handle to the FreeType library instance this slot belongs to.
+   *
+   *   face ::
+   *     A handle to the parent face object.
+   *
+   *   next ::
+   *     In some cases (like some font tools), several glyph slots per face
+   *     object can be a good thing.  As this is rare, the glyph slots are
+   *     listed through a direct, single-linked list using its `next` field.
+   *
+   *   glyph_index ::
+   *     [Since 2.10] The glyph index passed as an argument to @FT_Load_Glyph
+   *     while initializing the glyph slot.
+   *
+   *   generic ::
+   *     A typeless pointer unused by the FreeType library or any of its
+   *     drivers.  It can be used by client applications to link their own
+   *     data to each glyph slot object.
+   *
+   *   metrics ::
+   *     The metrics of the last loaded glyph in the slot.  The returned
+   *     values depend on the last load flags (see the @FT_Load_Glyph API
+   *     function) and can be expressed either in 26.6 fractional pixels or
+   *     font units.
+   *
+   *     Note that even when the glyph image is transformed, the metrics are
+   *     not.
+   *
+   *   linearHoriAdvance ::
+   *     The advance width of the unhinted glyph.  Its value is expressed in
+   *     16.16 fractional pixels, unless @FT_LOAD_LINEAR_DESIGN is set when
+   *     loading the glyph.  This field can be important to perform correct
+   *     WYSIWYG layout.  Only relevant for outline glyphs.
+   *
+   *   linearVertAdvance ::
+   *     The advance height of the unhinted glyph.  Its value is expressed in
+   *     16.16 fractional pixels, unless @FT_LOAD_LINEAR_DESIGN is set when
+   *     loading the glyph.  This field can be important to perform correct
+   *     WYSIWYG layout.  Only relevant for outline glyphs.
+   *
+   *   advance ::
+   *     This shorthand is, depending on @FT_LOAD_IGNORE_TRANSFORM, the
+   *     transformed (hinted) advance width for the glyph, in 26.6 fractional
+   *     pixel format.  As specified with @FT_LOAD_VERTICAL_LAYOUT, it uses
+   *     either the `horiAdvance` or the `vertAdvance` value of `metrics`
+   *     field.
+   *
+   *   format ::
+   *     This field indicates the format of the image contained in the glyph
+   *     slot.  Typically @FT_GLYPH_FORMAT_BITMAP, @FT_GLYPH_FORMAT_OUTLINE,
+   *     or @FT_GLYPH_FORMAT_COMPOSITE, but other values are possible.
+   *
+   *   bitmap ::
+   *     This field is used as a bitmap descriptor.  Note that the address
+   *     and content of the bitmap buffer can change between calls of
+   *     @FT_Load_Glyph and a few other functions.
+   *
+   *   bitmap_left ::
+   *     The bitmap's left bearing expressed in integer pixels.
+   *
+   *   bitmap_top ::
+   *     The bitmap's top bearing expressed in integer pixels.  This is the
+   *     distance from the baseline to the top-most glyph scanline, upwards
+   *     y~coordinates being **positive**.
+   *
+   *   outline ::
+   *     The outline descriptor for the current glyph image if its format is
+   *     @FT_GLYPH_FORMAT_OUTLINE.  Once a glyph is loaded, `outline` can be
+   *     transformed, distorted, emboldened, etc.  However, it must not be
+   *     freed.
+   *
+   *     [Since 2.10.1] If @FT_LOAD_NO_SCALE is set, outline coordinates of
+   *     OpenType variation fonts for a selected instance are internally
+   *     handled as 26.6 fractional font units but returned as (rounded)
+   *     integers, as expected.  To get unrounded font units, don't use
+   *     @FT_LOAD_NO_SCALE but load the glyph with @FT_LOAD_NO_HINTING and
+   *     scale it, using the font's `units_per_EM` value as the ppem.
+   *
+   *   num_subglyphs ::
+   *     The number of subglyphs in a composite glyph.  This field is only
+   *     valid for the composite glyph format that should normally only be
+   *     loaded with the @FT_LOAD_NO_RECURSE flag.
+   *
+   *   subglyphs ::
+   *     An array of subglyph descriptors for composite glyphs.  There are
+   *     `num_subglyphs` elements in there.  Currently internal to FreeType.
+   *
+   *   control_data ::
+   *     Certain font drivers can also return the control data for a given
+   *     glyph image (e.g.  TrueType bytecode, Type~1 charstrings, etc.).
+   *     This field is a pointer to such data; it is currently internal to
+   *     FreeType.
+   *
+   *   control_len ::
+   *     This is the length in bytes of the control data.  Currently internal
+   *     to FreeType.
+   *
+   *   other ::
+   *     Reserved.
+   *
+   *   lsb_delta ::
+   *     The difference between hinted and unhinted left side bearing while
+   *     auto-hinting is active.  Zero otherwise.
+   *
+   *   rsb_delta ::
+   *     The difference between hinted and unhinted right side bearing while
+   *     auto-hinting is active.  Zero otherwise.
+   *
+   * @note:
+   *   If @FT_Load_Glyph is called with default flags (see @FT_LOAD_DEFAULT)
+   *   the glyph image is loaded in the glyph slot in its native format
+   *   (e.g., an outline glyph for TrueType and Type~1 formats).  [Since 2.9]
+   *   The prospective bitmap metrics are calculated according to
+   *   @FT_LOAD_TARGET_XXX and other flags even for the outline glyph, even
+   *   if @FT_LOAD_RENDER is not set.
+   *
+   *   This image can later be converted into a bitmap by calling
+   *   @FT_Render_Glyph.  This function searches the current renderer for the
+   *   native image's format, then invokes it.
+   *
+   *   The renderer is in charge of transforming the native image through the
+   *   slot's face transformation fields, then converting it into a bitmap
+   *   that is returned in `slot->bitmap`.
+   *
+   *   Note that `slot->bitmap_left` and `slot->bitmap_top` are also used to
+   *   specify the position of the bitmap relative to the current pen
+   *   position (e.g., coordinates (0,0) on the baseline).  Of course,
+   *   `slot->format` is also changed to @FT_GLYPH_FORMAT_BITMAP.
+   *
+   *   Here is a small pseudo code fragment that shows how to use `lsb_delta`
+   *   and `rsb_delta` to do fractional positioning of glyphs:
+   *
+   *   ```
+   *     FT_GlyphSlot  slot     = face->glyph;
+   *     FT_Pos        origin_x = 0;
+   *
+   *
+   *     for all glyphs do
+   *       <load glyph with `FT_Load_Glyph'>
+   *
+   *       FT_Outline_Translate( slot->outline, origin_x & 63, 0 );
+   *
+   *       <save glyph image, or render glyph, or ...>
+   *
+   *       <compute kern between current and next glyph
+   *        and add it to `origin_x'>
+   *
+   *       origin_x += slot->advance.x;
+   *       origin_x += slot->lsb_delta - slot->rsb_delta;
+   *     endfor
+   *   ```
+   *
+   *   Here is another small pseudo code fragment that shows how to use
+   *   `lsb_delta` and `rsb_delta` to improve integer positioning of glyphs:
+   *
+   *   ```
+   *     FT_GlyphSlot  slot           = face->glyph;
+   *     FT_Pos        origin_x       = 0;
+   *     FT_Pos        prev_rsb_delta = 0;
+   *
+   *
+   *     for all glyphs do
+   *       <compute kern between current and previous glyph
+   *        and add it to `origin_x'>
+   *
+   *       <load glyph with `FT_Load_Glyph'>
+   *
+   *       if ( prev_rsb_delta - slot->lsb_delta >  32 )
+   *         origin_x -= 64;
+   *       else if ( prev_rsb_delta - slot->lsb_delta < -31 )
+   *         origin_x += 64;
+   *
+   *       prev_rsb_delta = slot->rsb_delta;
+   *
+   *       <save glyph image, or render glyph, or ...>
+   *
+   *       origin_x += slot->advance.x;
+   *     endfor
+   *   ```
+   *
+   *   If you use strong auto-hinting, you **must** apply these delta values!
+   *   Otherwise you will experience far too large inter-glyph spacing at
+   *   small rendering sizes in most cases.  Note that it doesn't harm to use
+   *   the above code for other hinting modes also, since the delta values
+   *   are zero then.
+   */
+  typedef struct  FT_GlyphSlotRec_
+  {
+    FT_Library        library;
+    FT_Face           face;
+    FT_GlyphSlot      next;
+    FT_UInt           glyph_index; /* new in 2.10; was reserved previously */
+    FT_Generic        generic;
+
+    FT_Glyph_Metrics  metrics;
+    FT_Fixed          linearHoriAdvance;
+    FT_Fixed          linearVertAdvance;
+    FT_Vector         advance;
+
+    FT_Glyph_Format   format;
+
+    FT_Bitmap         bitmap;
+    FT_Int            bitmap_left;
+    FT_Int            bitmap_top;
+
+    FT_Outline        outline;
+
+    FT_UInt           num_subglyphs;
+    FT_SubGlyph       subglyphs;
+
+    void*             control_data;
+    long              control_len;
+
+    FT_Pos            lsb_delta;
+    FT_Pos            rsb_delta;
+
+    void*             other;
+
+    FT_Slot_Internal  internal;
+
+  } FT_GlyphSlotRec;
+
+
+  /*************************************************************************/
+  /*************************************************************************/
+  /*                                                                       */
+  /*                         F U N C T I O N S                             */
+  /*                                                                       */
+  /*************************************************************************/
+  /*************************************************************************/
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Init_FreeType
+   *
+   * @description:
+   *   Initialize a new FreeType library object.  The set of modules that are
+   *   registered by this function is determined at build time.
+   *
+   * @output:
+   *   alibrary ::
+   *     A handle to a new library object.
+   *
+   * @return:
+   *   FreeType error code.  0~means success.
+   *
+   * @note:
+   *   In case you want to provide your own memory allocating routines, use
+   *   @FT_New_Library instead, followed by a call to @FT_Add_Default_Modules
+   *   (or a series of calls to @FT_Add_Module) and
+   *   @FT_Set_Default_Properties.
+   *
+   *   See the documentation of @FT_Library and @FT_Face for multi-threading
+   *   issues.
+   *
+   *   If you need reference-counting (cf. @FT_Reference_Library), use
+   *   @FT_New_Library and @FT_Done_Library.
+   *
+   *   If compilation option `FT_CONFIG_OPTION_ENVIRONMENT_PROPERTIES` is
+   *   set, this function reads the `FREETYPE_PROPERTIES` environment
+   *   variable to control driver properties.  See section @properties for
+   *   more.
+   */
+  FT_EXPORT( FT_Error )
+  FT_Init_FreeType( FT_Library  *alibrary );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Done_FreeType
+   *
+   * @description:
+   *   Destroy a given FreeType library object and all of its children,
+   *   including resources, drivers, faces, sizes, etc.
+   *
+   * @input:
+   *   library ::
+   *     A handle to the target library object.
+   *
+   * @return:
+   *   FreeType error code.  0~means success.
+   */
+  FT_EXPORT( FT_Error )
+  FT_Done_FreeType( FT_Library  library );
+
+
+  /**************************************************************************
+   *
+   * @enum:
+   *   FT_OPEN_XXX
+   *
+   * @description:
+   *   A list of bit field constants used within the `flags` field of the
+   *   @FT_Open_Args structure.
+   *
+   * @values:
+   *   FT_OPEN_MEMORY ::
+   *     This is a memory-based stream.
+   *
+   *   FT_OPEN_STREAM ::
+   *     Copy the stream from the `stream` field.
+   *
+   *   FT_OPEN_PATHNAME ::
+   *     Create a new input stream from a C~path name.
+   *
+   *   FT_OPEN_DRIVER ::
+   *     Use the `driver` field.
+   *
+   *   FT_OPEN_PARAMS ::
+   *     Use the `num_params` and `params` fields.
+   *
+   * @note:
+   *   The `FT_OPEN_MEMORY`, `FT_OPEN_STREAM`, and `FT_OPEN_PATHNAME` flags
+   *   are mutually exclusive.
+   */
+#define FT_OPEN_MEMORY    0x1
+#define FT_OPEN_STREAM    0x2
+#define FT_OPEN_PATHNAME  0x4
+#define FT_OPEN_DRIVER    0x8
+#define FT_OPEN_PARAMS    0x10
+
+
+  /* these constants are deprecated; use the corresponding `FT_OPEN_XXX` */
+  /* values instead                                                      */
+#define ft_open_memory    FT_OPEN_MEMORY
+#define ft_open_stream    FT_OPEN_STREAM
+#define ft_open_pathname  FT_OPEN_PATHNAME
+#define ft_open_driver    FT_OPEN_DRIVER
+#define ft_open_params    FT_OPEN_PARAMS
+
+
+  /**************************************************************************
+   *
+   * @struct:
+   *   FT_Parameter
+   *
+   * @description:
+   *   A simple structure to pass more or less generic parameters to
+   *   @FT_Open_Face and @FT_Face_Properties.
+   *
+   * @fields:
+   *   tag ::
+   *     A four-byte identification tag.
+   *
+   *   data ::
+   *     A pointer to the parameter data.
+   *
+   * @note:
+   *   The ID and function of parameters are driver-specific.  See section
+   *   @parameter_tags for more information.
+   */
+  typedef struct  FT_Parameter_
+  {
+    FT_ULong    tag;
+    FT_Pointer  data;
+
+  } FT_Parameter;
+
+
+  /**************************************************************************
+   *
+   * @struct:
+   *   FT_Open_Args
+   *
+   * @description:
+   *   A structure to indicate how to open a new font file or stream.  A
+   *   pointer to such a structure can be used as a parameter for the
+   *   functions @FT_Open_Face and @FT_Attach_Stream.
+   *
+   * @fields:
+   *   flags ::
+   *     A set of bit flags indicating how to use the structure.
+   *
+   *   memory_base ::
+   *     The first byte of the file in memory.
+   *
+   *   memory_size ::
+   *     The size in bytes of the file in memory.
+   *
+   *   pathname ::
+   *     A pointer to an 8-bit file pathname.
+   *
+   *   stream ::
+   *     A handle to a source stream object.
+   *
+   *   driver ::
+   *     This field is exclusively used by @FT_Open_Face; it simply specifies
+   *     the font driver to use for opening the face.  If set to `NULL`,
+   *     FreeType tries to load the face with each one of the drivers in its
+   *     list.
+   *
+   *   num_params ::
+   *     The number of extra parameters.
+   *
+   *   params ::
+   *     Extra parameters passed to the font driver when opening a new face.
+   *
+   * @note:
+   *   The stream type is determined by the contents of `flags` that are
+   *   tested in the following order by @FT_Open_Face:
+   *
+   *   If the @FT_OPEN_MEMORY bit is set, assume that this is a memory file
+   *   of `memory_size` bytes, located at `memory_address`.  The data are not
+   *   copied, and the client is responsible for releasing and destroying
+   *   them _after_ the corresponding call to @FT_Done_Face.
+   *
+   *   Otherwise, if the @FT_OPEN_STREAM bit is set, assume that a custom
+   *   input stream `stream` is used.
+   *
+   *   Otherwise, if the @FT_OPEN_PATHNAME bit is set, assume that this is a
+   *   normal file and use `pathname` to open it.
+   *
+   *   If the @FT_OPEN_DRIVER bit is set, @FT_Open_Face only tries to open
+   *   the file with the driver whose handler is in `driver`.
+   *
+   *   If the @FT_OPEN_PARAMS bit is set, the parameters given by
+   *   `num_params` and `params` is used.  They are ignored otherwise.
+   *
+   *   Ideally, both the `pathname` and `params` fields should be tagged as
+   *   'const'; this is missing for API backward compatibility.  In other
+   *   words, applications should treat them as read-only.
+   */
+  typedef struct  FT_Open_Args_
+  {
+    FT_UInt         flags;
+    const FT_Byte*  memory_base;
+    FT_Long         memory_size;
+    FT_String*      pathname;
+    FT_Stream       stream;
+    FT_Module       driver;
+    FT_Int          num_params;
+    FT_Parameter*   params;
+
+  } FT_Open_Args;
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_New_Face
+   *
+   * @description:
+   *   Call @FT_Open_Face to open a font by its pathname.
+   *
+   * @inout:
+   *   library ::
+   *     A handle to the library resource.
+   *
+   * @input:
+   *   pathname ::
+   *     A path to the font file.
+   *
+   *   face_index ::
+   *     See @FT_Open_Face for a detailed description of this parameter.
+   *
+   * @output:
+   *   aface ::
+   *     A handle to a new face object.  If `face_index` is greater than or
+   *     equal to zero, it must be non-`NULL`.
+   *
+   * @return:
+   *   FreeType error code.  0~means success.
+   *
+   * @note:
+   *   Use @FT_Done_Face to destroy the created @FT_Face object (along with
+   *   its slot and sizes).
+   */
+  FT_EXPORT( FT_Error )
+  FT_New_Face( FT_Library   library,
+               const char*  filepathname,
+               FT_Long      face_index,
+               FT_Face     *aface );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_New_Memory_Face
+   *
+   * @description:
+   *   Call @FT_Open_Face to open a font that has been loaded into memory.
+   *
+   * @inout:
+   *   library ::
+   *     A handle to the library resource.
+   *
+   * @input:
+   *   file_base ::
+   *     A pointer to the beginning of the font data.
+   *
+   *   file_size ::
+   *     The size of the memory chunk used by the font data.
+   *
+   *   face_index ::
+   *     See @FT_Open_Face for a detailed description of this parameter.
+   *
+   * @output:
+   *   aface ::
+   *     A handle to a new face object.  If `face_index` is greater than or
+   *     equal to zero, it must be non-`NULL`.
+   *
+   * @return:
+   *   FreeType error code.  0~means success.
+   *
+   * @note:
+   *   You must not deallocate the memory before calling @FT_Done_Face.
+   */
+  FT_EXPORT( FT_Error )
+  FT_New_Memory_Face( FT_Library      library,
+                      const FT_Byte*  file_base,
+                      FT_Long         file_size,
+                      FT_Long         face_index,
+                      FT_Face        *aface );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Open_Face
+   *
+   * @description:
+   *   Create a face object from a given resource described by @FT_Open_Args.
+   *
+   * @inout:
+   *   library ::
+   *     A handle to the library resource.
+   *
+   * @input:
+   *   args ::
+   *     A pointer to an `FT_Open_Args` structure that must be filled by the
+   *     caller.
+   *
+   *   face_index ::
+   *     This field holds two different values.  Bits 0-15 are the index of
+   *     the face in the font file (starting with value~0).  Set it to~0 if
+   *     there is only one face in the font file.
+   *
+   *     [Since 2.6.1] Bits 16-30 are relevant to GX and OpenType variation
+   *     fonts only, specifying the named instance index for the current face
+   *     index (starting with value~1; value~0 makes FreeType ignore named
+   *     instances).  For non-variation fonts, bits 16-30 are ignored.
+   *     Assuming that you want to access the third named instance in face~4,
+   *     `face_index` should be set to 0x00030004.  If you want to access
+   *     face~4 without variation handling, simply set `face_index` to
+   *     value~4.
+   *
+   *     `FT_Open_Face` and its siblings can be used to quickly check whether
+   *     the font format of a given font resource is supported by FreeType.
+   *     In general, if the `face_index` argument is negative, the function's
+   *     return value is~0 if the font format is recognized, or non-zero
+   *     otherwise.  The function allocates a more or less empty face handle
+   *     in `*aface` (if `aface` isn't `NULL`); the only two useful fields in
+   *     this special case are `face->num_faces` and `face->style_flags`.
+   *     For any negative value of `face_index`, `face->num_faces` gives the
+   *     number of faces within the font file.  For the negative value
+   *     '-(N+1)' (with 'N' a non-negative 16-bit value), bits 16-30 in
+   *     `face->style_flags` give the number of named instances in face 'N'
+   *     if we have a variation font (or zero otherwise).  After examination,
+   *     the returned @FT_Face structure should be deallocated with a call to
+   *     @FT_Done_Face.
+   *
+   * @output:
+   *   aface ::
+   *     A handle to a new face object.  If `face_index` is greater than or
+   *     equal to zero, it must be non-`NULL`.
+   *
+   * @return:
+   *   FreeType error code.  0~means success.
+   *
+   * @note:
+   *   Unlike FreeType 1.x, this function automatically creates a glyph slot
+   *   for the face object that can be accessed directly through
+   *   `face->glyph`.
+   *
+   *   Each new face object created with this function also owns a default
+   *   @FT_Size object, accessible as `face->size`.
+   *
+   *   One @FT_Library instance can have multiple face objects, this is,
+   *   @FT_Open_Face and its siblings can be called multiple times using the
+   *   same `library` argument.
+   *
+   *   See the discussion of reference counters in the description of
+   *   @FT_Reference_Face.
+   *
+   * @example:
+   *   To loop over all faces, use code similar to the following snippet
+   *   (omitting the error handling).
+   *
+   *   ```
+   *     ...
+   *     FT_Face  face;
+   *     FT_Long  i, num_faces;
+   *
+   *
+   *     error = FT_Open_Face( library, args, -1, &face );
+   *     if ( error ) { ... }
+   *
+   *     num_faces = face->num_faces;
+   *     FT_Done_Face( face );
+   *
+   *     for ( i = 0; i < num_faces; i++ )
+   *     {
+   *       ...
+   *       error = FT_Open_Face( library, args, i, &face );
+   *       ...
+   *       FT_Done_Face( face );
+   *       ...
+   *     }
+   *   ```
+   *
+   *   To loop over all valid values for `face_index`, use something similar
+   *   to the following snippet, again without error handling.  The code
+   *   accesses all faces immediately (thus only a single call of
+   *   `FT_Open_Face` within the do-loop), with and without named instances.
+   *
+   *   ```
+   *     ...
+   *     FT_Face  face;
+   *
+   *     FT_Long  num_faces     = 0;
+   *     FT_Long  num_instances = 0;
+   *
+   *     FT_Long  face_idx     = 0;
+   *     FT_Long  instance_idx = 0;
+   *
+   *
+   *     do
+   *     {
+   *       FT_Long  id = ( instance_idx << 16 ) + face_idx;
+   *
+   *
+   *       error = FT_Open_Face( library, args, id, &face );
+   *       if ( error ) { ... }
+   *
+   *       num_faces     = face->num_faces;
+   *       num_instances = face->style_flags >> 16;
+   *
+   *       ...
+   *
+   *       FT_Done_Face( face );
+   *
+   *       if ( instance_idx < num_instances )
+   *         instance_idx++;
+   *       else
+   *       {
+   *         face_idx++;
+   *         instance_idx = 0;
+   *       }
+   *
+   *     } while ( face_idx < num_faces )
+   *   ```
+   */
+  FT_EXPORT( FT_Error )
+  FT_Open_Face( FT_Library           library,
+                const FT_Open_Args*  args,
+                FT_Long              face_index,
+                FT_Face             *aface );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Attach_File
+   *
+   * @description:
+   *   Call @FT_Attach_Stream to attach a file.
+   *
+   * @inout:
+   *   face ::
+   *     The target face object.
+   *
+   * @input:
+   *   filepathname ::
+   *     The pathname.
+   *
+   * @return:
+   *   FreeType error code.  0~means success.
+   */
+  FT_EXPORT( FT_Error )
+  FT_Attach_File( FT_Face      face,
+                  const char*  filepathname );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Attach_Stream
+   *
+   * @description:
+   *   'Attach' data to a face object.  Normally, this is used to read
+   *   additional information for the face object.  For example, you can
+   *   attach an AFM file that comes with a Type~1 font to get the kerning
+   *   values and other metrics.
+   *
+   * @inout:
+   *   face ::
+   *     The target face object.
+   *
+   * @input:
+   *   parameters ::
+   *     A pointer to @FT_Open_Args that must be filled by the caller.
+   *
+   * @return:
+   *   FreeType error code.  0~means success.
+   *
+   * @note:
+   *   The meaning of the 'attach' (i.e., what really happens when the new
+   *   file is read) is not fixed by FreeType itself.  It really depends on
+   *   the font format (and thus the font driver).
+   *
+   *   Client applications are expected to know what they are doing when
+   *   invoking this function.  Most drivers simply do not implement file or
+   *   stream attachments.
+   */
+  FT_EXPORT( FT_Error )
+  FT_Attach_Stream( FT_Face        face,
+                    FT_Open_Args*  parameters );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Reference_Face
+   *
+   * @description:
+   *   A counter gets initialized to~1 at the time an @FT_Face structure is
+   *   created.  This function increments the counter.  @FT_Done_Face then
+   *   only destroys a face if the counter is~1, otherwise it simply
+   *   decrements the counter.
+   *
+   *   This function helps in managing life-cycles of structures that
+   *   reference @FT_Face objects.
+   *
+   * @input:
+   *   face ::
+   *     A handle to a target face object.
+   *
+   * @return:
+   *   FreeType error code.  0~means success.
+   *
+   * @since:
+   *   2.4.2
+   */
+  FT_EXPORT( FT_Error )
+  FT_Reference_Face( FT_Face  face );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Done_Face
+   *
+   * @description:
+   *   Discard a given face object, as well as all of its child slots and
+   *   sizes.
+   *
+   * @input:
+   *   face ::
+   *     A handle to a target face object.
+   *
+   * @return:
+   *   FreeType error code.  0~means success.
+   *
+   * @note:
+   *   See the discussion of reference counters in the description of
+   *   @FT_Reference_Face.
+   */
+  FT_EXPORT( FT_Error )
+  FT_Done_Face( FT_Face  face );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Select_Size
+   *
+   * @description:
+   *   Select a bitmap strike.  To be more precise, this function sets the
+   *   scaling factors of the active @FT_Size object in a face so that
+   *   bitmaps from this particular strike are taken by @FT_Load_Glyph and
+   *   friends.
+   *
+   * @inout:
+   *   face ::
+   *     A handle to a target face object.
+   *
+   * @input:
+   *   strike_index ::
+   *     The index of the bitmap strike in the `available_sizes` field of
+   *     @FT_FaceRec structure.
+   *
+   * @return:
+   *   FreeType error code.  0~means success.
+   *
+   * @note:
+   *   For bitmaps embedded in outline fonts it is common that only a subset
+   *   of the available glyphs at a given ppem value is available.  FreeType
+   *   silently uses outlines if there is no bitmap for a given glyph index.
+   *
+   *   For GX and OpenType variation fonts, a bitmap strike makes sense only
+   *   if the default instance is active (this is, no glyph variation takes
+   *   place); otherwise, FreeType simply ignores bitmap strikes.  The same
+   *   is true for all named instances that are different from the default
+   *   instance.
+   *
+   *   Don't use this function if you are using the FreeType cache API.
+   */
+  FT_EXPORT( FT_Error )
+  FT_Select_Size( FT_Face  face,
+                  FT_Int   strike_index );
+
+
+  /**************************************************************************
+   *
+   * @enum:
+   *   FT_Size_Request_Type
+   *
+   * @description:
+   *   An enumeration type that lists the supported size request types, i.e.,
+   *   what input size (in font units) maps to the requested output size (in
+   *   pixels, as computed from the arguments of @FT_Size_Request).
+   *
+   * @values:
+   *   FT_SIZE_REQUEST_TYPE_NOMINAL ::
+   *     The nominal size.  The `units_per_EM` field of @FT_FaceRec is used
+   *     to determine both scaling values.
+   *
+   *     This is the standard scaling found in most applications.  In
+   *     particular, use this size request type for TrueType fonts if they
+   *     provide optical scaling or something similar.  Note, however, that
+   *     `units_per_EM` is a rather abstract value which bears no relation to
+   *     the actual size of the glyphs in a font.
+   *
+   *   FT_SIZE_REQUEST_TYPE_REAL_DIM ::
+   *     The real dimension.  The sum of the `ascender` and (minus of) the
+   *     `descender` fields of @FT_FaceRec is used to determine both scaling
+   *     values.
+   *
+   *   FT_SIZE_REQUEST_TYPE_BBOX ::
+   *     The font bounding box.  The width and height of the `bbox` field of
+   *     @FT_FaceRec are used to determine the horizontal and vertical
+   *     scaling value, respectively.
+   *
+   *   FT_SIZE_REQUEST_TYPE_CELL ::
+   *     The `max_advance_width` field of @FT_FaceRec is used to determine
+   *     the horizontal scaling value; the vertical scaling value is
+   *     determined the same way as @FT_SIZE_REQUEST_TYPE_REAL_DIM does.
+   *     Finally, both scaling values are set to the smaller one.  This type
+   *     is useful if you want to specify the font size for, say, a window of
+   *     a given dimension and 80x24 cells.
+   *
+   *   FT_SIZE_REQUEST_TYPE_SCALES ::
+   *     Specify the scaling values directly.
+   *
+   * @note:
+   *   The above descriptions only apply to scalable formats.  For bitmap
+   *   formats, the behaviour is up to the driver.
+   *
+   *   See the note section of @FT_Size_Metrics if you wonder how size
+   *   requesting relates to scaling values.
+   */
+  typedef enum  FT_Size_Request_Type_
+  {
+    FT_SIZE_REQUEST_TYPE_NOMINAL,
+    FT_SIZE_REQUEST_TYPE_REAL_DIM,
+    FT_SIZE_REQUEST_TYPE_BBOX,
+    FT_SIZE_REQUEST_TYPE_CELL,
+    FT_SIZE_REQUEST_TYPE_SCALES,
+
+    FT_SIZE_REQUEST_TYPE_MAX
+
+  } FT_Size_Request_Type;
+
+
+  /**************************************************************************
+   *
+   * @struct:
+   *   FT_Size_RequestRec
+   *
+   * @description:
+   *   A structure to model a size request.
+   *
+   * @fields:
+   *   type ::
+   *     See @FT_Size_Request_Type.
+   *
+   *   width ::
+   *     The desired width, given as a 26.6 fractional point value (with 72pt
+   *     = 1in).
+   *
+   *   height ::
+   *     The desired height, given as a 26.6 fractional point value (with
+   *     72pt = 1in).
+   *
+   *   horiResolution ::
+   *     The horizontal resolution (dpi, i.e., pixels per inch).  If set to
+   *     zero, `width` is treated as a 26.6 fractional **pixel** value, which
+   *     gets internally rounded to an integer.
+   *
+   *   vertResolution ::
+   *     The vertical resolution (dpi, i.e., pixels per inch).  If set to
+   *     zero, `height` is treated as a 26.6 fractional **pixel** value,
+   *     which gets internally rounded to an integer.
+   *
+   * @note:
+   *   If `width` is zero, the horizontal scaling value is set equal to the
+   *   vertical scaling value, and vice versa.
+   *
+   *   If `type` is `FT_SIZE_REQUEST_TYPE_SCALES`, `width` and `height` are
+   *   interpreted directly as 16.16 fractional scaling values, without any
+   *   further modification, and both `horiResolution` and `vertResolution`
+   *   are ignored.
+   */
+  typedef struct  FT_Size_RequestRec_
+  {
+    FT_Size_Request_Type  type;
+    FT_Long               width;
+    FT_Long               height;
+    FT_UInt               horiResolution;
+    FT_UInt               vertResolution;
+
+  } FT_Size_RequestRec;
+
+
+  /**************************************************************************
+   *
+   * @struct:
+   *   FT_Size_Request
+   *
+   * @description:
+   *   A handle to a size request structure.
+   */
+  typedef struct FT_Size_RequestRec_  *FT_Size_Request;
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Request_Size
+   *
+   * @description:
+   *   Resize the scale of the active @FT_Size object in a face.
+   *
+   * @inout:
+   *   face ::
+   *     A handle to a target face object.
+   *
+   * @input:
+   *   req ::
+   *     A pointer to a @FT_Size_RequestRec.
+   *
+   * @return:
+   *   FreeType error code.  0~means success.
+   *
+   * @note:
+   *   Although drivers may select the bitmap strike matching the request,
+   *   you should not rely on this if you intend to select a particular
+   *   bitmap strike.  Use @FT_Select_Size instead in that case.
+   *
+   *   The relation between the requested size and the resulting glyph size
+   *   is dependent entirely on how the size is defined in the source face.
+   *   The font designer chooses the final size of each glyph relative to
+   *   this size.  For more information refer to
+   *   'https://www.freetype.org/freetype2/docs/glyphs/glyphs-2.html'.
+   *
+   *   Contrary to @FT_Set_Char_Size, this function doesn't have special code
+   *   to normalize zero-valued widths, heights, or resolutions (which lead
+   *   to errors in most cases).
+   *
+   *   Don't use this function if you are using the FreeType cache API.
+   */
+  FT_EXPORT( FT_Error )
+  FT_Request_Size( FT_Face          face,
+                   FT_Size_Request  req );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Set_Char_Size
+   *
+   * @description:
+   *   Call @FT_Request_Size to request the nominal size (in points).
+   *
+   * @inout:
+   *   face ::
+   *     A handle to a target face object.
+   *
+   * @input:
+   *   char_width ::
+   *     The nominal width, in 26.6 fractional points.
+   *
+   *   char_height ::
+   *     The nominal height, in 26.6 fractional points.
+   *
+   *   horz_resolution ::
+   *     The horizontal resolution in dpi.
+   *
+   *   vert_resolution ::
+   *     The vertical resolution in dpi.
+   *
+   * @return:
+   *   FreeType error code.  0~means success.
+   *
+   * @note:
+   *   While this function allows fractional points as input values, the
+   *   resulting ppem value for the given resolution is always rounded to the
+   *   nearest integer.
+   *
+   *   If either the character width or height is zero, it is set equal to
+   *   the other value.
+   *
+   *   If either the horizontal or vertical resolution is zero, it is set
+   *   equal to the other value.
+   *
+   *   A character width or height smaller than 1pt is set to 1pt; if both
+   *   resolution values are zero, they are set to 72dpi.
+   *
+   *   Don't use this function if you are using the FreeType cache API.
+   */
+  FT_EXPORT( FT_Error )
+  FT_Set_Char_Size( FT_Face     face,
+                    FT_F26Dot6  char_width,
+                    FT_F26Dot6  char_height,
+                    FT_UInt     horz_resolution,
+                    FT_UInt     vert_resolution );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Set_Pixel_Sizes
+   *
+   * @description:
+   *   Call @FT_Request_Size to request the nominal size (in pixels).
+   *
+   * @inout:
+   *   face ::
+   *     A handle to the target face object.
+   *
+   * @input:
+   *   pixel_width ::
+   *     The nominal width, in pixels.
+   *
+   *   pixel_height ::
+   *     The nominal height, in pixels.
+   *
+   * @return:
+   *   FreeType error code.  0~means success.
+   *
+   * @note:
+   *   You should not rely on the resulting glyphs matching or being
+   *   constrained to this pixel size.  Refer to @FT_Request_Size to
+   *   understand how requested sizes relate to actual sizes.
+   *
+   *   Don't use this function if you are using the FreeType cache API.
+   */
+  FT_EXPORT( FT_Error )
+  FT_Set_Pixel_Sizes( FT_Face  face,
+                      FT_UInt  pixel_width,
+                      FT_UInt  pixel_height );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Load_Glyph
+   *
+   * @description:
+   *   Load a glyph into the glyph slot of a face object.
+   *
+   * @inout:
+   *   face ::
+   *     A handle to the target face object where the glyph is loaded.
+   *
+   * @input:
+   *   glyph_index ::
+   *     The index of the glyph in the font file.  For CID-keyed fonts
+   *     (either in PS or in CFF format) this argument specifies the CID
+   *     value.
+   *
+   *   load_flags ::
+   *     A flag indicating what to load for this glyph.  The @FT_LOAD_XXX
+   *     constants can be used to control the glyph loading process (e.g.,
+   *     whether the outline should be scaled, whether to load bitmaps or
+   *     not, whether to hint the outline, etc).
+   *
+   * @return:
+   *   FreeType error code.  0~means success.
+   *
+   * @note:
+   *   The loaded glyph may be transformed.  See @FT_Set_Transform for the
+   *   details.
+   *
+   *   For subsetted CID-keyed fonts, `FT_Err_Invalid_Argument` is returned
+   *   for invalid CID values (this is, for CID values that don't have a
+   *   corresponding glyph in the font).  See the discussion of the
+   *   @FT_FACE_FLAG_CID_KEYED flag for more details.
+   *
+   *   If you receive `FT_Err_Glyph_Too_Big`, try getting the glyph outline
+   *   at EM size, then scale it manually and fill it as a graphics
+   *   operation.
+   */
+  FT_EXPORT( FT_Error )
+  FT_Load_Glyph( FT_Face   face,
+                 FT_UInt   glyph_index,
+                 FT_Int32  load_flags );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Load_Char
+   *
+   * @description:
+   *   Load a glyph into the glyph slot of a face object, accessed by its
+   *   character code.
+   *
+   * @inout:
+   *   face ::
+   *     A handle to a target face object where the glyph is loaded.
+   *
+   * @input:
+   *   char_code ::
+   *     The glyph's character code, according to the current charmap used in
+   *     the face.
+   *
+   *   load_flags ::
+   *     A flag indicating what to load for this glyph.  The @FT_LOAD_XXX
+   *     constants can be used to control the glyph loading process (e.g.,
+   *     whether the outline should be scaled, whether to load bitmaps or
+   *     not, whether to hint the outline, etc).
+   *
+   * @return:
+   *   FreeType error code.  0~means success.
+   *
+   * @note:
+   *   This function simply calls @FT_Get_Char_Index and @FT_Load_Glyph.
+   *
+   *   Many fonts contain glyphs that can't be loaded by this function since
+   *   its glyph indices are not listed in any of the font's charmaps.
+   *
+   *   If no active cmap is set up (i.e., `face->charmap` is zero), the call
+   *   to @FT_Get_Char_Index is omitted, and the function behaves identically
+   *   to @FT_Load_Glyph.
+   */
+  FT_EXPORT( FT_Error )
+  FT_Load_Char( FT_Face   face,
+                FT_ULong  char_code,
+                FT_Int32  load_flags );
+
+
+  /**************************************************************************
+   *
+   * @enum:
+   *   FT_LOAD_XXX
+   *
+   * @description:
+   *   A list of bit field constants for @FT_Load_Glyph to indicate what kind
+   *   of operations to perform during glyph loading.
+   *
+   * @values:
+   *   FT_LOAD_DEFAULT ::
+   *     Corresponding to~0, this value is used as the default glyph load
+   *     operation.  In this case, the following happens:
+   *
+   *     1. FreeType looks for a bitmap for the glyph corresponding to the
+   *     face's current size.  If one is found, the function returns.  The
+   *     bitmap data can be accessed from the glyph slot (see note below).
+   *
+   *     2. If no embedded bitmap is searched for or found, FreeType looks
+   *     for a scalable outline.  If one is found, it is loaded from the font
+   *     file, scaled to device pixels, then 'hinted' to the pixel grid in
+   *     order to optimize it.  The outline data can be accessed from the
+   *     glyph slot (see note below).
+   *
+   *     Note that by default the glyph loader doesn't render outlines into
+   *     bitmaps.  The following flags are used to modify this default
+   *     behaviour to more specific and useful cases.
+   *
+   *   FT_LOAD_NO_SCALE ::
+   *     Don't scale the loaded outline glyph but keep it in font units.
+   *
+   *     This flag implies @FT_LOAD_NO_HINTING and @FT_LOAD_NO_BITMAP, and
+   *     unsets @FT_LOAD_RENDER.
+   *
+   *     If the font is 'tricky' (see @FT_FACE_FLAG_TRICKY for more), using
+   *     `FT_LOAD_NO_SCALE` usually yields meaningless outlines because the
+   *     subglyphs must be scaled and positioned with hinting instructions. 
+   *     This can be solved by loading the font without `FT_LOAD_NO_SCALE`
+   *     and setting the character size to `font->units_per_EM`.
+   *
+   *   FT_LOAD_NO_HINTING ::
+   *     Disable hinting.  This generally generates 'blurrier' bitmap glyphs
+   *     when the glyph are rendered in any of the anti-aliased modes.  See
+   *     also the note below.
+   *
+   *     This flag is implied by @FT_LOAD_NO_SCALE.
+   *
+   *   FT_LOAD_RENDER ::
+   *     Call @FT_Render_Glyph after the glyph is loaded.  By default, the
+   *     glyph is rendered in @FT_RENDER_MODE_NORMAL mode.  This can be
+   *     overridden by @FT_LOAD_TARGET_XXX or @FT_LOAD_MONOCHROME.
+   *
+   *     This flag is unset by @FT_LOAD_NO_SCALE.
+   *
+   *   FT_LOAD_NO_BITMAP ::
+   *     Ignore bitmap strikes when loading.  Bitmap-only fonts ignore this
+   *     flag.
+   *
+   *     @FT_LOAD_NO_SCALE always sets this flag.
+   *
+   *   FT_LOAD_VERTICAL_LAYOUT ::
+   *     Load the glyph for vertical text layout.  In particular, the
+   *     `advance` value in the @FT_GlyphSlotRec structure is set to the
+   *     `vertAdvance` value of the `metrics` field.
+   *
+   *     In case @FT_HAS_VERTICAL doesn't return true, you shouldn't use this
+   *     flag currently.  Reason is that in this case vertical metrics get
+   *     synthesized, and those values are not always consistent across
+   *     various font formats.
+   *
+   *   FT_LOAD_FORCE_AUTOHINT ::
+   *     Prefer the auto-hinter over the font's native hinter.  See also the
+   *     note below.
+   *
+   *   FT_LOAD_PEDANTIC ::
+   *     Make the font driver perform pedantic verifications during glyph
+   *     loading and hinting.  This is mostly used to detect broken glyphs in
+   *     fonts.  By default, FreeType tries to handle broken fonts also.
+   *
+   *     In particular, errors from the TrueType bytecode engine are not
+   *     passed to the application if this flag is not set; this might result
+   *     in partially hinted or distorted glyphs in case a glyph's bytecode
+   *     is buggy.
+   *
+   *   FT_LOAD_NO_RECURSE ::
+   *     Don't load composite glyphs recursively.  Instead, the font driver
+   *     fills the `num_subglyph` and `subglyphs` values of the glyph slot;
+   *     it also sets `glyph->format` to @FT_GLYPH_FORMAT_COMPOSITE.  The
+   *     description of subglyphs can then be accessed with
+   *     @FT_Get_SubGlyph_Info.
+   *
+   *     Don't use this flag for retrieving metrics information since some
+   *     font drivers only return rudimentary data.
+   *
+   *     This flag implies @FT_LOAD_NO_SCALE and @FT_LOAD_IGNORE_TRANSFORM.
+   *
+   *   FT_LOAD_IGNORE_TRANSFORM ::
+   *     Ignore the transform matrix set by @FT_Set_Transform.
+   *
+   *   FT_LOAD_MONOCHROME ::
+   *     This flag is used with @FT_LOAD_RENDER to indicate that you want to
+   *     render an outline glyph to a 1-bit monochrome bitmap glyph, with
+   *     8~pixels packed into each byte of the bitmap data.
+   *
+   *     Note that this has no effect on the hinting algorithm used.  You
+   *     should rather use @FT_LOAD_TARGET_MONO so that the
+   *     monochrome-optimized hinting algorithm is used.
+   *
+   *   FT_LOAD_LINEAR_DESIGN ::
+   *     Keep `linearHoriAdvance` and `linearVertAdvance` fields of
+   *     @FT_GlyphSlotRec in font units.  See @FT_GlyphSlotRec for details.
+   *
+   *   FT_LOAD_NO_AUTOHINT ::
+   *     Disable the auto-hinter.  See also the note below.
+   *
+   *   FT_LOAD_COLOR ::
+   *     Load colored glyphs.  There are slight differences depending on the
+   *     font format.
+   *
+   *     [Since 2.5] Load embedded color bitmap images.  The resulting color
+   *     bitmaps, if available, will have the @FT_PIXEL_MODE_BGRA format,
+   *     with pre-multiplied color channels.  If the flag is not set and
+   *     color bitmaps are found, they are converted to 256-level gray
+   *     bitmaps, using the @FT_PIXEL_MODE_GRAY format.
+   *
+   *     [Since 2.10, experimental] If the glyph index contains an entry in
+   *     the face's 'COLR' table with a 'CPAL' palette table (as defined in
+   *     the OpenType specification), make @FT_Render_Glyph provide a default
+   *     blending of the color glyph layers associated with the glyph index,
+   *     using the same bitmap format as embedded color bitmap images.  This
+   *     is mainly for convenience; for full control of color layers use
+   *     @FT_Get_Color_Glyph_Layer and FreeType's color functions like
+   *     @FT_Palette_Select instead of setting @FT_LOAD_COLOR for rendering
+   *     so that the client application can handle blending by itself.
+   *
+   *   FT_LOAD_COMPUTE_METRICS ::
+   *     [Since 2.6.1] Compute glyph metrics from the glyph data, without the
+   *     use of bundled metrics tables (for example, the 'hdmx' table in
+   *     TrueType fonts).  This flag is mainly used by font validating or
+   *     font editing applications, which need to ignore, verify, or edit
+   *     those tables.
+   *
+   *     Currently, this flag is only implemented for TrueType fonts.
+   *
+   *   FT_LOAD_BITMAP_METRICS_ONLY ::
+   *     [Since 2.7.1] Request loading of the metrics and bitmap image
+   *     information of a (possibly embedded) bitmap glyph without allocating
+   *     or copying the bitmap image data itself.  No effect if the target
+   *     glyph is not a bitmap image.
+   *
+   *     This flag unsets @FT_LOAD_RENDER.
+   *
+   *   FT_LOAD_CROP_BITMAP ::
+   *     Ignored.  Deprecated.
+   *
+   *   FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH ::
+   *     Ignored.  Deprecated.
+   *
+   * @note:
+   *   By default, hinting is enabled and the font's native hinter (see
+   *   @FT_FACE_FLAG_HINTER) is preferred over the auto-hinter.  You can
+   *   disable hinting by setting @FT_LOAD_NO_HINTING or change the
+   *   precedence by setting @FT_LOAD_FORCE_AUTOHINT.  You can also set
+   *   @FT_LOAD_NO_AUTOHINT in case you don't want the auto-hinter to be used
+   *   at all.
+   *
+   *   See the description of @FT_FACE_FLAG_TRICKY for a special exception
+   *   (affecting only a handful of Asian fonts).
+   *
+   *   Besides deciding which hinter to use, you can also decide which
+   *   hinting algorithm to use.  See @FT_LOAD_TARGET_XXX for details.
+   *
+   *   Note that the auto-hinter needs a valid Unicode cmap (either a native
+   *   one or synthesized by FreeType) for producing correct results.  If a
+   *   font provides an incorrect mapping (for example, assigning the
+   *   character code U+005A, LATIN CAPITAL LETTER~Z, to a glyph depicting a
+   *   mathematical integral sign), the auto-hinter might produce useless
+   *   results.
+   *
+   */
+#define FT_LOAD_DEFAULT                      0x0
+#define FT_LOAD_NO_SCALE                     ( 1L << 0 )
+#define FT_LOAD_NO_HINTING                   ( 1L << 1 )
+#define FT_LOAD_RENDER                       ( 1L << 2 )
+#define FT_LOAD_NO_BITMAP                    ( 1L << 3 )
+#define FT_LOAD_VERTICAL_LAYOUT              ( 1L << 4 )
+#define FT_LOAD_FORCE_AUTOHINT               ( 1L << 5 )
+#define FT_LOAD_CROP_BITMAP                  ( 1L << 6 )
+#define FT_LOAD_PEDANTIC                     ( 1L << 7 )
+#define FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH  ( 1L << 9 )
+#define FT_LOAD_NO_RECURSE                   ( 1L << 10 )
+#define FT_LOAD_IGNORE_TRANSFORM             ( 1L << 11 )
+#define FT_LOAD_MONOCHROME                   ( 1L << 12 )
+#define FT_LOAD_LINEAR_DESIGN                ( 1L << 13 )
+#define FT_LOAD_NO_AUTOHINT                  ( 1L << 15 )
+  /* Bits 16-19 are used by `FT_LOAD_TARGET_` */
+#define FT_LOAD_COLOR                        ( 1L << 20 )
+#define FT_LOAD_COMPUTE_METRICS              ( 1L << 21 )
+#define FT_LOAD_BITMAP_METRICS_ONLY          ( 1L << 22 )
+
+  /* */
+
+  /* used internally only by certain font drivers */
+#define FT_LOAD_ADVANCE_ONLY                 ( 1L << 8 )
+#define FT_LOAD_SBITS_ONLY                   ( 1L << 14 )
+
+
+  /**************************************************************************
+   *
+   * @enum:
+   *   FT_LOAD_TARGET_XXX
+   *
+   * @description:
+   *   A list of values to select a specific hinting algorithm for the
+   *   hinter.  You should OR one of these values to your `load_flags` when
+   *   calling @FT_Load_Glyph.
+   *
+   *   Note that a font's native hinters may ignore the hinting algorithm you
+   *   have specified (e.g., the TrueType bytecode interpreter).  You can set
+   *   @FT_LOAD_FORCE_AUTOHINT to ensure that the auto-hinter is used.
+   *
+   * @values:
+   *   FT_LOAD_TARGET_NORMAL ::
+   *     The default hinting algorithm, optimized for standard gray-level
+   *     rendering.  For monochrome output, use @FT_LOAD_TARGET_MONO instead.
+   *
+   *   FT_LOAD_TARGET_LIGHT ::
+   *     A lighter hinting algorithm for gray-level modes.  Many generated
+   *     glyphs are fuzzier but better resemble their original shape.  This
+   *     is achieved by snapping glyphs to the pixel grid only vertically
+   *     (Y-axis), as is done by FreeType's new CFF engine or Microsoft's
+   *     ClearType font renderer.  This preserves inter-glyph spacing in
+   *     horizontal text.  The snapping is done either by the native font
+   *     driver, if the driver itself and the font support it, or by the
+   *     auto-hinter.
+   *
+   *     Advance widths are rounded to integer values; however, using the
+   *     `lsb_delta` and `rsb_delta` fields of @FT_GlyphSlotRec, it is
+   *     possible to get fractional advance widths for subpixel positioning
+   *     (which is recommended to use).
+   *
+   *     If configuration option `AF_CONFIG_OPTION_TT_SIZE_METRICS` is
+   *     active, TrueType-like metrics are used to make this mode behave
+   *     similarly as in unpatched FreeType versions between 2.4.6 and 2.7.1
+   *     (inclusive).
+   *
+   *   FT_LOAD_TARGET_MONO ::
+   *     Strong hinting algorithm that should only be used for monochrome
+   *     output.  The result is probably unpleasant if the glyph is rendered
+   *     in non-monochrome modes.
+   *
+   *     Note that for outline fonts only the TrueType font driver has proper
+   *     monochrome hinting support, provided the TTFs contain hints for B/W
+   *     rendering (which most fonts no longer provide).  If these conditions
+   *     are not met it is very likely that you get ugly results at smaller
+   *     sizes.
+   *
+   *   FT_LOAD_TARGET_LCD ::
+   *     A variant of @FT_LOAD_TARGET_LIGHT optimized for horizontally
+   *     decimated LCD displays.
+   *
+   *   FT_LOAD_TARGET_LCD_V ::
+   *     A variant of @FT_LOAD_TARGET_NORMAL optimized for vertically
+   *     decimated LCD displays.
+   *
+   * @note:
+   *   You should use only _one_ of the `FT_LOAD_TARGET_XXX` values in your
+   *   `load_flags`.  They can't be ORed.
+   *
+   *   If @FT_LOAD_RENDER is also set, the glyph is rendered in the
+   *   corresponding mode (i.e., the mode that matches the used algorithm
+   *   best).  An exception is `FT_LOAD_TARGET_MONO` since it implies
+   *   @FT_LOAD_MONOCHROME.
+   *
+   *   You can use a hinting algorithm that doesn't correspond to the same
+   *   rendering mode.  As an example, it is possible to use the 'light'
+   *   hinting algorithm and have the results rendered in horizontal LCD
+   *   pixel mode, with code like
+   *
+   *   ```
+   *     FT_Load_Glyph( face, glyph_index,
+   *                    load_flags | FT_LOAD_TARGET_LIGHT );
+   *
+   *     FT_Render_Glyph( face->glyph, FT_RENDER_MODE_LCD );
+   *   ```
+   *
+   *   In general, you should stick with one rendering mode.  For example,
+   *   switching between @FT_LOAD_TARGET_NORMAL and @FT_LOAD_TARGET_MONO
+   *   enforces a lot of recomputation for TrueType fonts, which is slow.
+   *   Another reason is caching: Selecting a different mode usually causes
+   *   changes in both the outlines and the rasterized bitmaps; it is thus
+   *   necessary to empty the cache after a mode switch to avoid false hits.
+   *
+   */
+#define FT_LOAD_TARGET_( x )   ( (FT_Int32)( (x) & 15 ) << 16 )
+
+#define FT_LOAD_TARGET_NORMAL  FT_LOAD_TARGET_( FT_RENDER_MODE_NORMAL )
+#define FT_LOAD_TARGET_LIGHT   FT_LOAD_TARGET_( FT_RENDER_MODE_LIGHT  )
+#define FT_LOAD_TARGET_MONO    FT_LOAD_TARGET_( FT_RENDER_MODE_MONO   )
+#define FT_LOAD_TARGET_LCD     FT_LOAD_TARGET_( FT_RENDER_MODE_LCD    )
+#define FT_LOAD_TARGET_LCD_V   FT_LOAD_TARGET_( FT_RENDER_MODE_LCD_V  )
+
+
+  /**************************************************************************
+   *
+   * @macro:
+   *   FT_LOAD_TARGET_MODE
+   *
+   * @description:
+   *   Return the @FT_Render_Mode corresponding to a given
+   *   @FT_LOAD_TARGET_XXX value.
+   *
+   */
+#define FT_LOAD_TARGET_MODE( x )  ( (FT_Render_Mode)( ( (x) >> 16 ) & 15 ) )
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Set_Transform
+   *
+   * @description:
+   *   Set the transformation that is applied to glyph images when they are
+   *   loaded into a glyph slot through @FT_Load_Glyph.
+   *
+   * @inout:
+   *   face ::
+   *     A handle to the source face object.
+   *
+   * @input:
+   *   matrix ::
+   *     A pointer to the transformation's 2x2 matrix.  Use `NULL` for the
+   *     identity matrix.
+   *   delta ::
+   *     A pointer to the translation vector.  Use `NULL` for the null vector.
+   *
+   * @note:
+   *   The transformation is only applied to scalable image formats after the
+   *   glyph has been loaded.  It means that hinting is unaltered by the
+   *   transformation and is performed on the character size given in the
+   *   last call to @FT_Set_Char_Size or @FT_Set_Pixel_Sizes.
+   *
+   *   Note that this also transforms the `face.glyph.advance` field, but
+   *   **not** the values in `face.glyph.metrics`.
+   */
+  FT_EXPORT( void )
+  FT_Set_Transform( FT_Face     face,
+                    FT_Matrix*  matrix,
+                    FT_Vector*  delta );
+
+
+  /**************************************************************************
+   *
+   * @enum:
+   *   FT_Render_Mode
+   *
+   * @description:
+   *   Render modes supported by FreeType~2.  Each mode corresponds to a
+   *   specific type of scanline conversion performed on the outline.
+   *
+   *   For bitmap fonts and embedded bitmaps the `bitmap->pixel_mode` field
+   *   in the @FT_GlyphSlotRec structure gives the format of the returned
+   *   bitmap.
+   *
+   *   All modes except @FT_RENDER_MODE_MONO use 256 levels of opacity,
+   *   indicating pixel coverage.  Use linear alpha blending and gamma
+   *   correction to correctly render non-monochrome glyph bitmaps onto a
+   *   surface; see @FT_Render_Glyph.
+   *
+   * @values:
+   *   FT_RENDER_MODE_NORMAL ::
+   *     Default render mode; it corresponds to 8-bit anti-aliased bitmaps.
+   *
+   *   FT_RENDER_MODE_LIGHT ::
+   *     This is equivalent to @FT_RENDER_MODE_NORMAL.  It is only defined as
+   *     a separate value because render modes are also used indirectly to
+   *     define hinting algorithm selectors.  See @FT_LOAD_TARGET_XXX for
+   *     details.
+   *
+   *   FT_RENDER_MODE_MONO ::
+   *     This mode corresponds to 1-bit bitmaps (with 2~levels of opacity).
+   *
+   *   FT_RENDER_MODE_LCD ::
+   *     This mode corresponds to horizontal RGB and BGR subpixel displays
+   *     like LCD screens.  It produces 8-bit bitmaps that are 3~times the
+   *     width of the original glyph outline in pixels, and which use the
+   *     @FT_PIXEL_MODE_LCD mode.
+   *
+   *   FT_RENDER_MODE_LCD_V ::
+   *     This mode corresponds to vertical RGB and BGR subpixel displays
+   *     (like PDA screens, rotated LCD displays, etc.).  It produces 8-bit
+   *     bitmaps that are 3~times the height of the original glyph outline in
+   *     pixels and use the @FT_PIXEL_MODE_LCD_V mode.
+   *
+   * @note:
+   *   Should you define `FT_CONFIG_OPTION_SUBPIXEL_RENDERING` in your
+   *   `ftoption.h`, which enables patented ClearType-style rendering, the
+   *   LCD-optimized glyph bitmaps should be filtered to reduce color fringes
+   *   inherent to this technology.  You can either set up LCD filtering with
+   *   @FT_Library_SetLcdFilter or @FT_Face_Properties, or do the filtering
+   *   yourself.  The default FreeType LCD rendering technology does not
+   *   require filtering.
+   *
+   *   The selected render mode only affects vector glyphs of a font.
+   *   Embedded bitmaps often have a different pixel mode like
+   *   @FT_PIXEL_MODE_MONO.  You can use @FT_Bitmap_Convert to transform them
+   *   into 8-bit pixmaps.
+   */
+  typedef enum  FT_Render_Mode_
+  {
+    FT_RENDER_MODE_NORMAL = 0,
+    FT_RENDER_MODE_LIGHT,
+    FT_RENDER_MODE_MONO,
+    FT_RENDER_MODE_LCD,
+    FT_RENDER_MODE_LCD_V,
+
+    FT_RENDER_MODE_MAX
+
+  } FT_Render_Mode;
+
+
+  /* these constants are deprecated; use the corresponding */
+  /* `FT_Render_Mode` values instead                       */
+#define ft_render_mode_normal  FT_RENDER_MODE_NORMAL
+#define ft_render_mode_mono    FT_RENDER_MODE_MONO
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Render_Glyph
+   *
+   * @description:
+   *   Convert a given glyph image to a bitmap.  It does so by inspecting the
+   *   glyph image format, finding the relevant renderer, and invoking it.
+   *
+   * @inout:
+   *   slot ::
+   *     A handle to the glyph slot containing the image to convert.
+   *
+   * @input:
+   *   render_mode ::
+   *     The render mode used to render the glyph image into a bitmap.  See
+   *     @FT_Render_Mode for a list of possible values.
+   *
+   *     If @FT_RENDER_MODE_NORMAL is used, a previous call of @FT_Load_Glyph
+   *     with flag @FT_LOAD_COLOR makes FT_Render_Glyph provide a default
+   *     blending of colored glyph layers associated with the current glyph
+   *     slot (provided the font contains such layers) instead of rendering
+   *     the glyph slot's outline.  This is an experimental feature; see
+   *     @FT_LOAD_COLOR for more information.
+   *
+   * @return:
+   *   FreeType error code.  0~means success.
+   *
+   * @note:
+   *   To get meaningful results, font scaling values must be set with
+   *   functions like @FT_Set_Char_Size before calling `FT_Render_Glyph`.
+   *
+   *   When FreeType outputs a bitmap of a glyph, it really outputs an alpha
+   *   coverage map.  If a pixel is completely covered by a filled-in
+   *   outline, the bitmap contains 0xFF at that pixel, meaning that
+   *   0xFF/0xFF fraction of that pixel is covered, meaning the pixel is 100%
+   *   black (or 0% bright).  If a pixel is only 50% covered (value 0x80),
+   *   the pixel is made 50% black (50% bright or a middle shade of grey).
+   *   0% covered means 0% black (100% bright or white).
+   *
+   *   On high-DPI screens like on smartphones and tablets, the pixels are so
+   *   small that their chance of being completely covered and therefore
+   *   completely black are fairly good.  On the low-DPI screens, however,
+   *   the situation is different.  The pixels are too large for most of the
+   *   details of a glyph and shades of gray are the norm rather than the
+   *   exception.
+   *
+   *   This is relevant because all our screens have a second problem: they
+   *   are not linear.  1~+~1 is not~2.  Twice the value does not result in
+   *   twice the brightness.  When a pixel is only 50% covered, the coverage
+   *   map says 50% black, and this translates to a pixel value of 128 when
+   *   you use 8~bits per channel (0-255).  However, this does not translate
+   *   to 50% brightness for that pixel on our sRGB and gamma~2.2 screens.
+   *   Due to their non-linearity, they dwell longer in the darks and only a
+   *   pixel value of about 186 results in 50% brightness -- 128 ends up too
+   *   dark on both bright and dark backgrounds.  The net result is that dark
+   *   text looks burnt-out, pixely and blotchy on bright background, bright
+   *   text too frail on dark backgrounds, and colored text on colored
+   *   background (for example, red on green) seems to have dark halos or
+   *   'dirt' around it.  The situation is especially ugly for diagonal stems
+   *   like in 'w' glyph shapes where the quality of FreeType's anti-aliasing
+   *   depends on the correct display of grays.  On high-DPI screens where
+   *   smaller, fully black pixels reign supreme, this doesn't matter, but on
+   *   our low-DPI screens with all the gray shades, it does.  0% and 100%
+   *   brightness are the same things in linear and non-linear space, just
+   *   all the shades in-between aren't.
+   *
+   *   The blending function for placing text over a background is
+   *
+   *   ```
+   *     dst = alpha * src + (1 - alpha) * dst    ,
+   *   ```
+   *
+   *   which is known as the OVER operator.
+   *
+   *   To correctly composite an antialiased pixel of a glyph onto a surface,
+   *
+   *   1. take the foreground and background colors (e.g., in sRGB space)
+   *      and apply gamma to get them in a linear space,
+   *
+   *   2. use OVER to blend the two linear colors using the glyph pixel
+   *      as the alpha value (remember, the glyph bitmap is an alpha coverage
+   *      bitmap), and
+   *
+   *   3. apply inverse gamma to the blended pixel and write it back to
+   *      the image.
+   *
+   *   Internal testing at Adobe found that a target inverse gamma of~1.8 for
+   *   step~3 gives good results across a wide range of displays with an sRGB
+   *   gamma curve or a similar one.
+   *
+   *   This process can cost performance.  There is an approximation that
+   *   does not need to know about the background color; see
+   *   https://bel.fi/alankila/lcd/ and
+   *   https://bel.fi/alankila/lcd/alpcor.html for details.
+   *
+   *   **ATTENTION**: Linear blending is even more important when dealing
+   *   with subpixel-rendered glyphs to prevent color-fringing!  A
+   *   subpixel-rendered glyph must first be filtered with a filter that
+   *   gives equal weight to the three color primaries and does not exceed a
+   *   sum of 0x100, see section @lcd_rendering.  Then the only difference to
+   *   gray linear blending is that subpixel-rendered linear blending is done
+   *   3~times per pixel: red foreground subpixel to red background subpixel
+   *   and so on for green and blue.
+   */
+  FT_EXPORT( FT_Error )
+  FT_Render_Glyph( FT_GlyphSlot    slot,
+                   FT_Render_Mode  render_mode );
+
+
+  /**************************************************************************
+   *
+   * @enum:
+   *   FT_Kerning_Mode
+   *
+   * @description:
+   *   An enumeration to specify the format of kerning values returned by
+   *   @FT_Get_Kerning.
+   *
+   * @values:
+   *   FT_KERNING_DEFAULT ::
+   *     Return grid-fitted kerning distances in 26.6 fractional pixels.
+   *
+   *   FT_KERNING_UNFITTED ::
+   *     Return un-grid-fitted kerning distances in 26.6 fractional pixels.
+   *
+   *   FT_KERNING_UNSCALED ::
+   *     Return the kerning vector in original font units.
+   *
+   * @note:
+   *   `FT_KERNING_DEFAULT` returns full pixel values; it also makes FreeType
+   *   heuristically scale down kerning distances at small ppem values so
+   *   that they don't become too big.
+   *
+   *   Both `FT_KERNING_DEFAULT` and `FT_KERNING_UNFITTED` use the current
+   *   horizontal scaling factor (as set e.g. with @FT_Set_Char_Size) to
+   *   convert font units to pixels.
+   */
+  typedef enum  FT_Kerning_Mode_
+  {
+    FT_KERNING_DEFAULT = 0,
+    FT_KERNING_UNFITTED,
+    FT_KERNING_UNSCALED
+
+  } FT_Kerning_Mode;
+
+
+  /* these constants are deprecated; use the corresponding */
+  /* `FT_Kerning_Mode` values instead                      */
+#define ft_kerning_default   FT_KERNING_DEFAULT
+#define ft_kerning_unfitted  FT_KERNING_UNFITTED
+#define ft_kerning_unscaled  FT_KERNING_UNSCALED
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Get_Kerning
+   *
+   * @description:
+   *   Return the kerning vector between two glyphs of the same face.
+   *
+   * @input:
+   *   face ::
+   *     A handle to a source face object.
+   *
+   *   left_glyph ::
+   *     The index of the left glyph in the kern pair.
+   *
+   *   right_glyph ::
+   *     The index of the right glyph in the kern pair.
+   *
+   *   kern_mode ::
+   *     See @FT_Kerning_Mode for more information.  Determines the scale and
+   *     dimension of the returned kerning vector.
+   *
+   * @output:
+   *   akerning ::
+   *     The kerning vector.  This is either in font units, fractional pixels
+   *     (26.6 format), or pixels for scalable formats, and in pixels for
+   *     fixed-sizes formats.
+   *
+   * @return:
+   *   FreeType error code.  0~means success.
+   *
+   * @note:
+   *   Only horizontal layouts (left-to-right & right-to-left) are supported
+   *   by this method.  Other layouts, or more sophisticated kernings, are
+   *   out of the scope of this API function -- they can be implemented
+   *   through format-specific interfaces.
+   *
+   *   Kerning for OpenType fonts implemented in a 'GPOS' table is not
+   *   supported; use @FT_HAS_KERNING to find out whether a font has data
+   *   that can be extracted with `FT_Get_Kerning`.
+   */
+  FT_EXPORT( FT_Error )
+  FT_Get_Kerning( FT_Face     face,
+                  FT_UInt     left_glyph,
+                  FT_UInt     right_glyph,
+                  FT_UInt     kern_mode,
+                  FT_Vector  *akerning );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Get_Track_Kerning
+   *
+   * @description:
+   *   Return the track kerning for a given face object at a given size.
+   *
+   * @input:
+   *   face ::
+   *     A handle to a source face object.
+   *
+   *   point_size ::
+   *     The point size in 16.16 fractional points.
+   *
+   *   degree ::
+   *     The degree of tightness.  Increasingly negative values represent
+   *     tighter track kerning, while increasingly positive values represent
+   *     looser track kerning.  Value zero means no track kerning.
+   *
+   * @output:
+   *   akerning ::
+   *     The kerning in 16.16 fractional points, to be uniformly applied
+   *     between all glyphs.
+   *
+   * @return:
+   *   FreeType error code.  0~means success.
+   *
+   * @note:
+   *   Currently, only the Type~1 font driver supports track kerning, using
+   *   data from AFM files (if attached with @FT_Attach_File or
+   *   @FT_Attach_Stream).
+   *
+   *   Only very few AFM files come with track kerning data; please refer to
+   *   Adobe's AFM specification for more details.
+   */
+  FT_EXPORT( FT_Error )
+  FT_Get_Track_Kerning( FT_Face    face,
+                        FT_Fixed   point_size,
+                        FT_Int     degree,
+                        FT_Fixed*  akerning );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Get_Glyph_Name
+   *
+   * @description:
+   *   Retrieve the ASCII name of a given glyph in a face.  This only works
+   *   for those faces where @FT_HAS_GLYPH_NAMES(face) returns~1.
+   *
+   * @input:
+   *   face ::
+   *     A handle to a source face object.
+   *
+   *   glyph_index ::
+   *     The glyph index.
+   *
+   *   buffer_max ::
+   *     The maximum number of bytes available in the buffer.
+   *
+   * @output:
+   *   buffer ::
+   *     A pointer to a target buffer where the name is copied to.
+   *
+   * @return:
+   *   FreeType error code.  0~means success.
+   *
+   * @note:
+   *   An error is returned if the face doesn't provide glyph names or if the
+   *   glyph index is invalid.  In all cases of failure, the first byte of
+   *   `buffer` is set to~0 to indicate an empty name.
+   *
+   *   The glyph name is truncated to fit within the buffer if it is too
+   *   long.  The returned string is always zero-terminated.
+   *
+   *   Be aware that FreeType reorders glyph indices internally so that glyph
+   *   index~0 always corresponds to the 'missing glyph' (called '.notdef').
+   *
+   *   This function always returns an error if the config macro
+   *   `FT_CONFIG_OPTION_NO_GLYPH_NAMES` is not defined in `ftoption.h`.
+   */
+  FT_EXPORT( FT_Error )
+  FT_Get_Glyph_Name( FT_Face     face,
+                     FT_UInt     glyph_index,
+                     FT_Pointer  buffer,
+                     FT_UInt     buffer_max );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Get_Postscript_Name
+   *
+   * @description:
+   *   Retrieve the ASCII PostScript name of a given face, if available.
+   *   This only works with PostScript, TrueType, and OpenType fonts.
+   *
+   * @input:
+   *   face ::
+   *     A handle to the source face object.
+   *
+   * @return:
+   *   A pointer to the face's PostScript name.  `NULL` if unavailable.
+   *
+   * @note:
+   *   The returned pointer is owned by the face and is destroyed with it.
+   *
+   *   For variation fonts, this string changes if you select a different
+   *   instance, and you have to call `FT_Get_PostScript_Name` again to
+   *   retrieve it.  FreeType follows Adobe TechNote #5902, 'Generating
+   *   PostScript Names for Fonts Using OpenType Font Variations'.
+   *
+   *     https://download.macromedia.com/pub/developer/opentype/tech-notes/5902.AdobePSNameGeneration.html
+   *
+   *   [Since 2.9] Special PostScript names for named instances are only
+   *   returned if the named instance is set with @FT_Set_Named_Instance (and
+   *   the font has corresponding entries in its 'fvar' table).  If
+   *   @FT_IS_VARIATION returns true, the algorithmically derived PostScript
+   *   name is provided, not looking up special entries for named instances.
+   */
+  FT_EXPORT( const char* )
+  FT_Get_Postscript_Name( FT_Face  face );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Select_Charmap
+   *
+   * @description:
+   *   Select a given charmap by its encoding tag (as listed in
+   *   `freetype.h`).
+   *
+   * @inout:
+   *   face ::
+   *     A handle to the source face object.
+   *
+   * @input:
+   *   encoding ::
+   *     A handle to the selected encoding.
+   *
+   * @return:
+   *   FreeType error code.  0~means success.
+   *
+   * @note:
+   *   This function returns an error if no charmap in the face corresponds
+   *   to the encoding queried here.
+   *
+   *   Because many fonts contain more than a single cmap for Unicode
+   *   encoding, this function has some special code to select the one that
+   *   covers Unicode best ('best' in the sense that a UCS-4 cmap is
+   *   preferred to a UCS-2 cmap).  It is thus preferable to @FT_Set_Charmap
+   *   in this case.
+   */
+  FT_EXPORT( FT_Error )
+  FT_Select_Charmap( FT_Face      face,
+                     FT_Encoding  encoding );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Set_Charmap
+   *
+   * @description:
+   *   Select a given charmap for character code to glyph index mapping.
+   *
+   * @inout:
+   *   face ::
+   *     A handle to the source face object.
+   *
+   * @input:
+   *   charmap ::
+   *     A handle to the selected charmap.
+   *
+   * @return:
+   *   FreeType error code.  0~means success.
+   *
+   * @note:
+   *   This function returns an error if the charmap is not part of the face
+   *   (i.e., if it is not listed in the `face->charmaps` table).
+   *
+   *   It also fails if an OpenType type~14 charmap is selected (which
+   *   doesn't map character codes to glyph indices at all).
+   */
+  FT_EXPORT( FT_Error )
+  FT_Set_Charmap( FT_Face     face,
+                  FT_CharMap  charmap );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Get_Charmap_Index
+   *
+   * @description:
+   *   Retrieve index of a given charmap.
+   *
+   * @input:
+   *   charmap ::
+   *     A handle to a charmap.
+   *
+   * @return:
+   *   The index into the array of character maps within the face to which
+   *   `charmap` belongs.  If an error occurs, -1 is returned.
+   *
+   */
+  FT_EXPORT( FT_Int )
+  FT_Get_Charmap_Index( FT_CharMap  charmap );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Get_Char_Index
+   *
+   * @description:
+   *   Return the glyph index of a given character code.  This function uses
+   *   the currently selected charmap to do the mapping.
+   *
+   * @input:
+   *   face ::
+   *     A handle to the source face object.
+   *
+   *   charcode ::
+   *     The character code.
+   *
+   * @return:
+   *   The glyph index.  0~means 'undefined character code'.
+   *
+   * @note:
+   *   If you use FreeType to manipulate the contents of font files directly,
+   *   be aware that the glyph index returned by this function doesn't always
+   *   correspond to the internal indices used within the file.  This is done
+   *   to ensure that value~0 always corresponds to the 'missing glyph'.  If
+   *   the first glyph is not named '.notdef', then for Type~1 and Type~42
+   *   fonts, '.notdef' will be moved into the glyph ID~0 position, and
+   *   whatever was there will be moved to the position '.notdef' had.  For
+   *   Type~1 fonts, if there is no '.notdef' glyph at all, then one will be
+   *   created at index~0 and whatever was there will be moved to the last
+   *   index -- Type~42 fonts are considered invalid under this condition.
+   */
+  FT_EXPORT( FT_UInt )
+  FT_Get_Char_Index( FT_Face   face,
+                     FT_ULong  charcode );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Get_First_Char
+   *
+   * @description:
+   *   Return the first character code in the current charmap of a given
+   *   face, together with its corresponding glyph index.
+   *
+   * @input:
+   *   face ::
+   *     A handle to the source face object.
+   *
+   * @output:
+   *   agindex ::
+   *     Glyph index of first character code.  0~if charmap is empty.
+   *
+   * @return:
+   *   The charmap's first character code.
+   *
+   * @note:
+   *   You should use this function together with @FT_Get_Next_Char to parse
+   *   all character codes available in a given charmap.  The code should
+   *   look like this:
+   *
+   *   ```
+   *     FT_ULong  charcode;
+   *     FT_UInt   gindex;
+   *
+   *
+   *     charcode = FT_Get_First_Char( face, &gindex );
+   *     while ( gindex != 0 )
+   *     {
+   *       ... do something with (charcode,gindex) pair ...
+   *
+   *       charcode = FT_Get_Next_Char( face, charcode, &gindex );
+   *     }
+   *   ```
+   *
+   *   Be aware that character codes can have values up to 0xFFFFFFFF; this
+   *   might happen for non-Unicode or malformed cmaps.  However, even with
+   *   regular Unicode encoding, so-called 'last resort fonts' (using SFNT
+   *   cmap format 13, see function @FT_Get_CMap_Format) normally have
+   *   entries for all Unicode characters up to 0x1FFFFF, which can cause *a
+   *   lot* of iterations.
+   *
+   *   Note that `*agindex` is set to~0 if the charmap is empty.  The result
+   *   itself can be~0 in two cases: if the charmap is empty or if the
+   *   value~0 is the first valid character code.
+   */
+  FT_EXPORT( FT_ULong )
+  FT_Get_First_Char( FT_Face   face,
+                     FT_UInt  *agindex );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Get_Next_Char
+   *
+   * @description:
+   *   Return the next character code in the current charmap of a given face
+   *   following the value `char_code`, as well as the corresponding glyph
+   *   index.
+   *
+   * @input:
+   *   face ::
+   *     A handle to the source face object.
+   *
+   *   char_code ::
+   *     The starting character code.
+   *
+   * @output:
+   *   agindex ::
+   *     Glyph index of next character code.  0~if charmap is empty.
+   *
+   * @return:
+   *   The charmap's next character code.
+   *
+   * @note:
+   *   You should use this function with @FT_Get_First_Char to walk over all
+   *   character codes available in a given charmap.  See the note for that
+   *   function for a simple code example.
+   *
+   *   Note that `*agindex` is set to~0 when there are no more codes in the
+   *   charmap.
+   */
+  FT_EXPORT( FT_ULong )
+  FT_Get_Next_Char( FT_Face    face,
+                    FT_ULong   char_code,
+                    FT_UInt   *agindex );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Face_Properties
+   *
+   * @description:
+   *   Set or override certain (library or module-wide) properties on a
+   *   face-by-face basis.  Useful for finer-grained control and avoiding
+   *   locks on shared structures (threads can modify their own faces as they
+   *   see fit).
+   *
+   *   Contrary to @FT_Property_Set, this function uses @FT_Parameter so that
+   *   you can pass multiple properties to the target face in one call.  Note
+   *   that only a subset of the available properties can be controlled.
+   *
+   *   * @FT_PARAM_TAG_STEM_DARKENING (stem darkening, corresponding to the
+   *     property `no-stem-darkening` provided by the 'autofit', 'cff',
+   *     'type1', and 't1cid' modules; see @no-stem-darkening).
+   *
+   *   * @FT_PARAM_TAG_LCD_FILTER_WEIGHTS (LCD filter weights, corresponding
+   *     to function @FT_Library_SetLcdFilterWeights).
+   *
+   *   * @FT_PARAM_TAG_RANDOM_SEED (seed value for the CFF, Type~1, and CID
+   *     'random' operator, corresponding to the `random-seed` property
+   *     provided by the 'cff', 'type1', and 't1cid' modules; see
+   *     @random-seed).
+   *
+   *   Pass `NULL` as `data` in @FT_Parameter for a given tag to reset the
+   *   option and use the library or module default again.
+   *
+   * @input:
+   *   face ::
+   *     A handle to the source face object.
+   *
+   *   num_properties ::
+   *     The number of properties that follow.
+   *
+   *   properties ::
+   *     A handle to an @FT_Parameter array with `num_properties` elements.
+   *
+   * @return:
+   *   FreeType error code.  0~means success.
+   *
+   * @example:
+   *   Here is an example that sets three properties.  You must define
+   *   `FT_CONFIG_OPTION_SUBPIXEL_RENDERING` to make the LCD filter examples
+   *   work.
+   *
+   *   ```
+   *     FT_Parameter         property1;
+   *     FT_Bool              darken_stems = 1;
+   *
+   *     FT_Parameter         property2;
+   *     FT_LcdFiveTapFilter  custom_weight =
+   *                            { 0x11, 0x44, 0x56, 0x44, 0x11 };
+   *
+   *     FT_Parameter         property3;
+   *     FT_Int32             random_seed = 314159265;
+   *
+   *     FT_Parameter         properties[3] = { property1,
+   *                                            property2,
+   *                                            property3 };
+   *
+   *
+   *     property1.tag  = FT_PARAM_TAG_STEM_DARKENING;
+   *     property1.data = &darken_stems;
+   *
+   *     property2.tag  = FT_PARAM_TAG_LCD_FILTER_WEIGHTS;
+   *     property2.data = custom_weight;
+   *
+   *     property3.tag  = FT_PARAM_TAG_RANDOM_SEED;
+   *     property3.data = &random_seed;
+   *
+   *     FT_Face_Properties( face, 3, properties );
+   *   ```
+   *
+   *   The next example resets a single property to its default value.
+   *
+   *   ```
+   *     FT_Parameter  property;
+   *
+   *
+   *     property.tag  = FT_PARAM_TAG_LCD_FILTER_WEIGHTS;
+   *     property.data = NULL;
+   *
+   *     FT_Face_Properties( face, 1, &property );
+   *   ```
+   *
+   * @since:
+   *   2.8
+   *
+   */
+  FT_EXPORT( FT_Error )
+  FT_Face_Properties( FT_Face        face,
+                      FT_UInt        num_properties,
+                      FT_Parameter*  properties );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Get_Name_Index
+   *
+   * @description:
+   *   Return the glyph index of a given glyph name.
+   *
+   * @input:
+   *   face ::
+   *     A handle to the source face object.
+   *
+   *   glyph_name ::
+   *     The glyph name.
+   *
+   * @return:
+   *   The glyph index.  0~means 'undefined character code'.
+   */
+  FT_EXPORT( FT_UInt )
+  FT_Get_Name_Index( FT_Face           face,
+                     const FT_String*  glyph_name );
+
+
+  /**************************************************************************
+   *
+   * @enum:
+   *   FT_SUBGLYPH_FLAG_XXX
+   *
+   * @description:
+   *   A list of constants describing subglyphs.  Please refer to the 'glyf'
+   *   table description in the OpenType specification for the meaning of the
+   *   various flags (which get synthesized for non-OpenType subglyphs).
+   *
+   *     https://docs.microsoft.com/en-us/typography/opentype/spec/glyf#composite-glyph-description
+   *
+   * @values:
+   *   FT_SUBGLYPH_FLAG_ARGS_ARE_WORDS ::
+   *   FT_SUBGLYPH_FLAG_ARGS_ARE_XY_VALUES ::
+   *   FT_SUBGLYPH_FLAG_ROUND_XY_TO_GRID ::
+   *   FT_SUBGLYPH_FLAG_SCALE ::
+   *   FT_SUBGLYPH_FLAG_XY_SCALE ::
+   *   FT_SUBGLYPH_FLAG_2X2 ::
+   *   FT_SUBGLYPH_FLAG_USE_MY_METRICS ::
+   *
+   */
+#define FT_SUBGLYPH_FLAG_ARGS_ARE_WORDS          1
+#define FT_SUBGLYPH_FLAG_ARGS_ARE_XY_VALUES      2
+#define FT_SUBGLYPH_FLAG_ROUND_XY_TO_GRID        4
+#define FT_SUBGLYPH_FLAG_SCALE                   8
+#define FT_SUBGLYPH_FLAG_XY_SCALE             0x40
+#define FT_SUBGLYPH_FLAG_2X2                  0x80
+#define FT_SUBGLYPH_FLAG_USE_MY_METRICS      0x200
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Get_SubGlyph_Info
+   *
+   * @description:
+   *   Retrieve a description of a given subglyph.  Only use it if
+   *   `glyph->format` is @FT_GLYPH_FORMAT_COMPOSITE; an error is returned
+   *   otherwise.
+   *
+   * @input:
+   *   glyph ::
+   *     The source glyph slot.
+   *
+   *   sub_index ::
+   *     The index of the subglyph.  Must be less than
+   *     `glyph->num_subglyphs`.
+   *
+   * @output:
+   *   p_index ::
+   *     The glyph index of the subglyph.
+   *
+   *   p_flags ::
+   *     The subglyph flags, see @FT_SUBGLYPH_FLAG_XXX.
+   *
+   *   p_arg1 ::
+   *     The subglyph's first argument (if any).
+   *
+   *   p_arg2 ::
+   *     The subglyph's second argument (if any).
+   *
+   *   p_transform ::
+   *     The subglyph transformation (if any).
+   *
+   * @return:
+   *   FreeType error code.  0~means success.
+   *
+   * @note:
+   *   The values of `*p_arg1`, `*p_arg2`, and `*p_transform` must be
+   *   interpreted depending on the flags returned in `*p_flags`.  See the
+   *   OpenType specification for details.
+   *
+   *     https://docs.microsoft.com/en-us/typography/opentype/spec/glyf#composite-glyph-description
+   *
+   */
+  FT_EXPORT( FT_Error )
+  FT_Get_SubGlyph_Info( FT_GlyphSlot  glyph,
+                        FT_UInt       sub_index,
+                        FT_Int       *p_index,
+                        FT_UInt      *p_flags,
+                        FT_Int       *p_arg1,
+                        FT_Int       *p_arg2,
+                        FT_Matrix    *p_transform );
+
+
+  /**************************************************************************
+   *
+   * @section:
+   *   layer_management
+   *
+   * @title:
+   *   Glyph Layer Management
+   *
+   * @abstract:
+   *   Retrieving and manipulating OpenType's 'COLR' table data.
+   *
+   * @description:
+   *   The functions described here allow access of colored glyph layer data
+   *   in OpenType's 'COLR' tables.
+   */
+
+
+  /**************************************************************************
+   *
+   * @struct:
+   *   FT_LayerIterator
+   *
+   * @description:
+   *   This iterator object is needed for @FT_Get_Color_Glyph_Layer.
+   *
+   * @fields:
+   *   num_layers ::
+   *     The number of glyph layers for the requested glyph index.  Will be
+   *     set by @FT_Get_Color_Glyph_Layer.
+   *
+   *   layer ::
+   *     The current layer.  Will be set by @FT_Get_Color_Glyph_Layer.
+   *
+   *   p ::
+   *     An opaque pointer into 'COLR' table data.  The caller must set this
+   *     to `NULL` before the first call of @FT_Get_Color_Glyph_Layer.
+   */
+  typedef struct  FT_LayerIterator_
+  {
+    FT_UInt   num_layers;
+    FT_UInt   layer;
+    FT_Byte*  p;
+
+  } FT_LayerIterator;
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Get_Color_Glyph_Layer
+   *
+   * @description:
+   *   This is an interface to the 'COLR' table in OpenType fonts to
+   *   iteratively retrieve the colored glyph layers associated with the
+   *   current glyph slot.
+   *
+   *     https://docs.microsoft.com/en-us/typography/opentype/spec/colr
+   *
+   *   The glyph layer data for a given glyph index, if present, provides an
+   *   alternative, multi-colour glyph representation: Instead of rendering
+   *   the outline or bitmap with the given glyph index, glyphs with the
+   *   indices and colors returned by this function are rendered layer by
+   *   layer.
+   *
+   *   The returned elements are ordered in the z~direction from bottom to
+   *   top; the 'n'th element should be rendered with the associated palette
+   *   color and blended on top of the already rendered layers (elements 0,
+   *   1, ..., n-1).
+   *
+   * @input:
+   *   face ::
+   *     A handle to the parent face object.
+   *
+   *   base_glyph ::
+   *     The glyph index the colored glyph layers are associated with.
+   *
+   * @inout:
+   *   iterator ::
+   *     An @FT_LayerIterator object.  For the first call you should set
+   *     `iterator->p` to `NULL`.  For all following calls, simply use the
+   *     same object again.
+   *
+   * @output:
+   *   aglyph_index ::
+   *     The glyph index of the current layer.
+   *
+   *   acolor_index ::
+   *     The color index into the font face's color palette of the current
+   *     layer.  The value 0xFFFF is special; it doesn't reference a palette
+   *     entry but indicates that the text foreground color should be used
+   *     instead (to be set up by the application outside of FreeType).
+   *
+   *     The color palette can be retrieved with @FT_Palette_Select.
+   *
+   * @return:
+   *   Value~1 if everything is OK.  If there are no more layers (or if there
+   *   are no layers at all), value~0 gets returned.  In case of an error,
+   *   value~0 is returned also.
+   *
+   * @note:
+   *   This function is necessary if you want to handle glyph layers by
+   *   yourself.  In particular, functions that operate with @FT_GlyphRec
+   *   objects (like @FT_Get_Glyph or @FT_Glyph_To_Bitmap) don't have access
+   *   to this information.
+   *
+   *   Note that @FT_Render_Glyph is able to handle colored glyph layers
+   *   automatically if the @FT_LOAD_COLOR flag is passed to a previous call
+   *   to @FT_Load_Glyph.  [This is an experimental feature.]
+   *
+   * @example:
+   *   ```
+   *     FT_Color*         palette;
+   *     FT_LayerIterator  iterator;
+   *
+   *     FT_Bool  have_layers;
+   *     FT_UInt  layer_glyph_index;
+   *     FT_UInt  layer_color_index;
+   *
+   *
+   *     error = FT_Palette_Select( face, palette_index, &palette );
+   *     if ( error )
+   *       palette = NULL;
+   *
+   *     iterator.p  = NULL;
+   *     have_layers = FT_Get_Color_Glyph_Layer( face,
+   *                                             glyph_index,
+   *                                             &layer_glyph_index,
+   *                                             &layer_color_index,
+   *                                             &iterator );
+   *
+   *     if ( palette && have_layers )
+   *     {
+   *       do
+   *       {
+   *         FT_Color  layer_color;
+   *
+   *
+   *         if ( layer_color_index == 0xFFFF )
+   *           layer_color = text_foreground_color;
+   *         else
+   *           layer_color = palette[layer_color_index];
+   *
+   *         // Load and render glyph `layer_glyph_index', then
+   *         // blend resulting pixmap (using color `layer_color')
+   *         // with previously created pixmaps.
+   *
+   *       } while ( FT_Get_Color_Glyph_Layer( face,
+   *                                           glyph_index,
+   *                                           &layer_glyph_index,
+   *                                           &layer_color_index,
+   *                                           &iterator ) );
+   *     }
+   *   ```
+   */
+  FT_EXPORT( FT_Bool )
+  FT_Get_Color_Glyph_Layer( FT_Face            face,
+                            FT_UInt            base_glyph,
+                            FT_UInt           *aglyph_index,
+                            FT_UInt           *acolor_index,
+                            FT_LayerIterator*  iterator );
+
+
+  /**************************************************************************
+   *
+   * @section:
+   *   base_interface
+   *
+   */
+
+  /**************************************************************************
+   *
+   * @enum:
+   *   FT_FSTYPE_XXX
+   *
+   * @description:
+   *   A list of bit flags used in the `fsType` field of the OS/2 table in a
+   *   TrueType or OpenType font and the `FSType` entry in a PostScript font.
+   *   These bit flags are returned by @FT_Get_FSType_Flags; they inform
+   *   client applications of embedding and subsetting restrictions
+   *   associated with a font.
+   *
+   *   See
+   *   https://www.adobe.com/content/dam/Adobe/en/devnet/acrobat/pdfs/FontPolicies.pdf
+   *   for more details.
+   *
+   * @values:
+   *   FT_FSTYPE_INSTALLABLE_EMBEDDING ::
+   *     Fonts with no fsType bit set may be embedded and permanently
+   *     installed on the remote system by an application.
+   *
+   *   FT_FSTYPE_RESTRICTED_LICENSE_EMBEDDING ::
+   *     Fonts that have only this bit set must not be modified, embedded or
+   *     exchanged in any manner without first obtaining permission of the
+   *     font software copyright owner.
+   *
+   *   FT_FSTYPE_PREVIEW_AND_PRINT_EMBEDDING ::
+   *     The font may be embedded and temporarily loaded on the remote
+   *     system.  Documents containing Preview & Print fonts must be opened
+   *     'read-only'; no edits can be applied to the document.
+   *
+   *   FT_FSTYPE_EDITABLE_EMBEDDING ::
+   *     The font may be embedded but must only be installed temporarily on
+   *     other systems.  In contrast to Preview & Print fonts, documents
+   *     containing editable fonts may be opened for reading, editing is
+   *     permitted, and changes may be saved.
+   *
+   *   FT_FSTYPE_NO_SUBSETTING ::
+   *     The font may not be subsetted prior to embedding.
+   *
+   *   FT_FSTYPE_BITMAP_EMBEDDING_ONLY ::
+   *     Only bitmaps contained in the font may be embedded; no outline data
+   *     may be embedded.  If there are no bitmaps available in the font,
+   *     then the font is unembeddable.
+   *
+   * @note:
+   *   The flags are ORed together, thus more than a single value can be
+   *   returned.
+   *
+   *   While the `fsType` flags can indicate that a font may be embedded, a
+   *   license with the font vendor may be separately required to use the
+   *   font in this way.
+   */
+#define FT_FSTYPE_INSTALLABLE_EMBEDDING         0x0000
+#define FT_FSTYPE_RESTRICTED_LICENSE_EMBEDDING  0x0002
+#define FT_FSTYPE_PREVIEW_AND_PRINT_EMBEDDING   0x0004
+#define FT_FSTYPE_EDITABLE_EMBEDDING            0x0008
+#define FT_FSTYPE_NO_SUBSETTING                 0x0100
+#define FT_FSTYPE_BITMAP_EMBEDDING_ONLY         0x0200
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Get_FSType_Flags
+   *
+   * @description:
+   *   Return the `fsType` flags for a font.
+   *
+   * @input:
+   *   face ::
+   *     A handle to the source face object.
+   *
+   * @return:
+   *   The `fsType` flags, see @FT_FSTYPE_XXX.
+   *
+   * @note:
+   *   Use this function rather than directly reading the `fs_type` field in
+   *   the @PS_FontInfoRec structure, which is only guaranteed to return the
+   *   correct results for Type~1 fonts.
+   *
+   * @since:
+   *   2.3.8
+   */
+  FT_EXPORT( FT_UShort )
+  FT_Get_FSType_Flags( FT_Face  face );
+
+
+  /**************************************************************************
+   *
+   * @section:
+   *   glyph_variants
+   *
+   * @title:
+   *   Unicode Variation Sequences
+   *
+   * @abstract:
+   *   The FreeType~2 interface to Unicode Variation Sequences (UVS), using
+   *   the SFNT cmap format~14.
+   *
+   * @description:
+   *   Many characters, especially for CJK scripts, have variant forms.  They
+   *   are a sort of grey area somewhere between being totally irrelevant and
+   *   semantically distinct; for this reason, the Unicode consortium decided
+   *   to introduce Variation Sequences (VS), consisting of a Unicode base
+   *   character and a variation selector instead of further extending the
+   *   already huge number of characters.
+   *
+   *   Unicode maintains two different sets, namely 'Standardized Variation
+   *   Sequences' and registered 'Ideographic Variation Sequences' (IVS),
+   *   collected in the 'Ideographic Variation Database' (IVD).
+   *
+   *     https://unicode.org/Public/UCD/latest/ucd/StandardizedVariants.txt
+   *     https://unicode.org/reports/tr37/ https://unicode.org/ivd/
+   *
+   *   To date (January 2017), the character with the most ideographic
+   *   variations is U+9089, having 32 such IVS.
+   *
+   *   Three Mongolian Variation Selectors have the values U+180B-U+180D; 256
+   *   generic Variation Selectors are encoded in the ranges U+FE00-U+FE0F
+   *   and U+E0100-U+E01EF.  IVS currently use Variation Selectors from the
+   *   range U+E0100-U+E01EF only.
+   *
+   *   A VS consists of the base character value followed by a single
+   *   Variation Selector.  For example, to get the first variation of
+   *   U+9089, you have to write the character sequence `U+9089 U+E0100`.
+   *
+   *   Adobe and MS decided to support both standardized and ideographic VS
+   *   with a new cmap subtable (format~14).  It is an odd subtable because
+   *   it is not a mapping of input code points to glyphs, but contains lists
+   *   of all variations supported by the font.
+   *
+   *   A variation may be either 'default' or 'non-default' for a given font.
+   *   A default variation is the one you will get for that code point if you
+   *   look it up in the standard Unicode cmap.  A non-default variation is a
+   *   different glyph.
+   *
+   */
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Face_GetCharVariantIndex
+   *
+   * @description:
+   *   Return the glyph index of a given character code as modified by the
+   *   variation selector.
+   *
+   * @input:
+   *   face ::
+   *     A handle to the source face object.
+   *
+   *   charcode ::
+   *     The character code point in Unicode.
+   *
+   *   variantSelector ::
+   *     The Unicode code point of the variation selector.
+   *
+   * @return:
+   *   The glyph index.  0~means either 'undefined character code', or
+   *   'undefined selector code', or 'no variation selector cmap subtable',
+   *   or 'current CharMap is not Unicode'.
+   *
+   * @note:
+   *   If you use FreeType to manipulate the contents of font files directly,
+   *   be aware that the glyph index returned by this function doesn't always
+   *   correspond to the internal indices used within the file.  This is done
+   *   to ensure that value~0 always corresponds to the 'missing glyph'.
+   *
+   *   This function is only meaningful if
+   *     a) the font has a variation selector cmap sub table, and
+   *     b) the current charmap has a Unicode encoding.
+   *
+   * @since:
+   *   2.3.6
+   */
+  FT_EXPORT( FT_UInt )
+  FT_Face_GetCharVariantIndex( FT_Face   face,
+                               FT_ULong  charcode,
+                               FT_ULong  variantSelector );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Face_GetCharVariantIsDefault
+   *
+   * @description:
+   *   Check whether this variation of this Unicode character is the one to
+   *   be found in the charmap.
+   *
+   * @input:
+   *   face ::
+   *     A handle to the source face object.
+   *
+   *   charcode ::
+   *     The character codepoint in Unicode.
+   *
+   *   variantSelector ::
+   *     The Unicode codepoint of the variation selector.
+   *
+   * @return:
+   *   1~if found in the standard (Unicode) cmap, 0~if found in the variation
+   *   selector cmap, or -1 if it is not a variation.
+   *
+   * @note:
+   *   This function is only meaningful if the font has a variation selector
+   *   cmap subtable.
+   *
+   * @since:
+   *   2.3.6
+   */
+  FT_EXPORT( FT_Int )
+  FT_Face_GetCharVariantIsDefault( FT_Face   face,
+                                   FT_ULong  charcode,
+                                   FT_ULong  variantSelector );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Face_GetVariantSelectors
+   *
+   * @description:
+   *   Return a zero-terminated list of Unicode variation selectors found in
+   *   the font.
+   *
+   * @input:
+   *   face ::
+   *     A handle to the source face object.
+   *
+   * @return:
+   *   A pointer to an array of selector code points, or `NULL` if there is
+   *   no valid variation selector cmap subtable.
+   *
+   * @note:
+   *   The last item in the array is~0; the array is owned by the @FT_Face
+   *   object but can be overwritten or released on the next call to a
+   *   FreeType function.
+   *
+   * @since:
+   *   2.3.6
+   */
+  FT_EXPORT( FT_UInt32* )
+  FT_Face_GetVariantSelectors( FT_Face  face );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Face_GetVariantsOfChar
+   *
+   * @description:
+   *   Return a zero-terminated list of Unicode variation selectors found for
+   *   the specified character code.
+   *
+   * @input:
+   *   face ::
+   *     A handle to the source face object.
+   *
+   *   charcode ::
+   *     The character codepoint in Unicode.
+   *
+   * @return:
+   *   A pointer to an array of variation selector code points that are
+   *   active for the given character, or `NULL` if the corresponding list is
+   *   empty.
+   *
+   * @note:
+   *   The last item in the array is~0; the array is owned by the @FT_Face
+   *   object but can be overwritten or released on the next call to a
+   *   FreeType function.
+   *
+   * @since:
+   *   2.3.6
+   */
+  FT_EXPORT( FT_UInt32* )
+  FT_Face_GetVariantsOfChar( FT_Face   face,
+                             FT_ULong  charcode );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Face_GetCharsOfVariant
+   *
+   * @description:
+   *   Return a zero-terminated list of Unicode character codes found for the
+   *   specified variation selector.
+   *
+   * @input:
+   *   face ::
+   *     A handle to the source face object.
+   *
+   *   variantSelector ::
+   *     The variation selector code point in Unicode.
+   *
+   * @return:
+   *   A list of all the code points that are specified by this selector
+   *   (both default and non-default codes are returned) or `NULL` if there
+   *   is no valid cmap or the variation selector is invalid.
+   *
+   * @note:
+   *   The last item in the array is~0; the array is owned by the @FT_Face
+   *   object but can be overwritten or released on the next call to a
+   *   FreeType function.
+   *
+   * @since:
+   *   2.3.6
+   */
+  FT_EXPORT( FT_UInt32* )
+  FT_Face_GetCharsOfVariant( FT_Face   face,
+                             FT_ULong  variantSelector );
+
+
+  /**************************************************************************
+   *
+   * @section:
+   *   computations
+   *
+   * @title:
+   *   Computations
+   *
+   * @abstract:
+   *   Crunching fixed numbers and vectors.
+   *
+   * @description:
+   *   This section contains various functions used to perform computations
+   *   on 16.16 fixed-float numbers or 2d vectors.
+   *
+   *   **Attention**: Most arithmetic functions take `FT_Long` as arguments.
+   *   For historical reasons, FreeType was designed under the assumption
+   *   that `FT_Long` is a 32-bit integer; results can thus be undefined if
+   *   the arguments don't fit into 32 bits.
+   *
+   * @order:
+   *   FT_MulDiv
+   *   FT_MulFix
+   *   FT_DivFix
+   *   FT_RoundFix
+   *   FT_CeilFix
+   *   FT_FloorFix
+   *   FT_Vector_Transform
+   *   FT_Matrix_Multiply
+   *   FT_Matrix_Invert
+   *
+   */
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_MulDiv
+   *
+   * @description:
+   *   Compute `(a*b)/c` with maximum accuracy, using a 64-bit intermediate
+   *   integer whenever necessary.
+   *
+   *   This function isn't necessarily as fast as some processor-specific
+   *   operations, but is at least completely portable.
+   *
+   * @input:
+   *   a ::
+   *     The first multiplier.
+   *
+   *   b ::
+   *     The second multiplier.
+   *
+   *   c ::
+   *     The divisor.
+   *
+   * @return:
+   *   The result of `(a*b)/c`.  This function never traps when trying to
+   *   divide by zero; it simply returns 'MaxInt' or 'MinInt' depending on
+   *   the signs of `a` and `b`.
+   */
+  FT_EXPORT( FT_Long )
+  FT_MulDiv( FT_Long  a,
+             FT_Long  b,
+             FT_Long  c );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_MulFix
+   *
+   * @description:
+   *   Compute `(a*b)/0x10000` with maximum accuracy.  Its main use is to
+   *   multiply a given value by a 16.16 fixed-point factor.
+   *
+   * @input:
+   *   a ::
+   *     The first multiplier.
+   *
+   *   b ::
+   *     The second multiplier.  Use a 16.16 factor here whenever possible
+   *     (see note below).
+   *
+   * @return:
+   *   The result of `(a*b)/0x10000`.
+   *
+   * @note:
+   *   This function has been optimized for the case where the absolute value
+   *   of `a` is less than 2048, and `b` is a 16.16 scaling factor.  As this
+   *   happens mainly when scaling from notional units to fractional pixels
+   *   in FreeType, it resulted in noticeable speed improvements between
+   *   versions 2.x and 1.x.
+   *
+   *   As a conclusion, always try to place a 16.16 factor as the _second_
+   *   argument of this function; this can make a great difference.
+   */
+  FT_EXPORT( FT_Long )
+  FT_MulFix( FT_Long  a,
+             FT_Long  b );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_DivFix
+   *
+   * @description:
+   *   Compute `(a*0x10000)/b` with maximum accuracy.  Its main use is to
+   *   divide a given value by a 16.16 fixed-point factor.
+   *
+   * @input:
+   *   a ::
+   *     The numerator.
+   *
+   *   b ::
+   *     The denominator.  Use a 16.16 factor here.
+   *
+   * @return:
+   *   The result of `(a*0x10000)/b`.
+   */
+  FT_EXPORT( FT_Long )
+  FT_DivFix( FT_Long  a,
+             FT_Long  b );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_RoundFix
+   *
+   * @description:
+   *   Round a 16.16 fixed number.
+   *
+   * @input:
+   *   a ::
+   *     The number to be rounded.
+   *
+   * @return:
+   *   `a` rounded to the nearest 16.16 fixed integer, halfway cases away
+   *   from zero.
+   *
+   * @note:
+   *   The function uses wrap-around arithmetic.
+   */
+  FT_EXPORT( FT_Fixed )
+  FT_RoundFix( FT_Fixed  a );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_CeilFix
+   *
+   * @description:
+   *   Compute the smallest following integer of a 16.16 fixed number.
+   *
+   * @input:
+   *   a ::
+   *     The number for which the ceiling function is to be computed.
+   *
+   * @return:
+   *   `a` rounded towards plus infinity.
+   *
+   * @note:
+   *   The function uses wrap-around arithmetic.
+   */
+  FT_EXPORT( FT_Fixed )
+  FT_CeilFix( FT_Fixed  a );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_FloorFix
+   *
+   * @description:
+   *   Compute the largest previous integer of a 16.16 fixed number.
+   *
+   * @input:
+   *   a ::
+   *     The number for which the floor function is to be computed.
+   *
+   * @return:
+   *   `a` rounded towards minus infinity.
+   */
+  FT_EXPORT( FT_Fixed )
+  FT_FloorFix( FT_Fixed  a );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Vector_Transform
+   *
+   * @description:
+   *   Transform a single vector through a 2x2 matrix.
+   *
+   * @inout:
+   *   vector ::
+   *     The target vector to transform.
+   *
+   * @input:
+   *   matrix ::
+   *     A pointer to the source 2x2 matrix.
+   *
+   * @note:
+   *   The result is undefined if either `vector` or `matrix` is invalid.
+   */
+  FT_EXPORT( void )
+  FT_Vector_Transform( FT_Vector*        vector,
+                       const FT_Matrix*  matrix );
+
+
+  /**************************************************************************
+   *
+   * @section:
+   *   version
+   *
+   * @title:
+   *   FreeType Version
+   *
+   * @abstract:
+   *   Functions and macros related to FreeType versions.
+   *
+   * @description:
+   *   Note that those functions and macros are of limited use because even a
+   *   new release of FreeType with only documentation changes increases the
+   *   version number.
+   *
+   * @order:
+   *   FT_Library_Version
+   *
+   *   FREETYPE_MAJOR
+   *   FREETYPE_MINOR
+   *   FREETYPE_PATCH
+   *
+   *   FT_Face_CheckTrueTypePatents
+   *   FT_Face_SetUnpatentedHinting
+   *
+   */
+
+
+  /**************************************************************************
+   *
+   * @enum:
+   *   FREETYPE_XXX
+   *
+   * @description:
+   *   These three macros identify the FreeType source code version.  Use
+   *   @FT_Library_Version to access them at runtime.
+   *
+   * @values:
+   *   FREETYPE_MAJOR ::
+   *     The major version number.
+   *   FREETYPE_MINOR ::
+   *     The minor version number.
+   *   FREETYPE_PATCH ::
+   *     The patch level.
+   *
+   * @note:
+   *   The version number of FreeType if built as a dynamic link library with
+   *   the 'libtool' package is _not_ controlled by these three macros.
+   *
+   */
+#define FREETYPE_MAJOR  2
+#define FREETYPE_MINOR  10
+#define FREETYPE_PATCH  1
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Library_Version
+   *
+   * @description:
+   *   Return the version of the FreeType library being used.  This is useful
+   *   when dynamically linking to the library, since one cannot use the
+   *   macros @FREETYPE_MAJOR, @FREETYPE_MINOR, and @FREETYPE_PATCH.
+   *
+   * @input:
+   *   library ::
+   *     A source library handle.
+   *
+   * @output:
+   *   amajor ::
+   *     The major version number.
+   *
+   *   aminor ::
+   *     The minor version number.
+   *
+   *   apatch ::
+   *     The patch version number.
+   *
+   * @note:
+   *   The reason why this function takes a `library` argument is because
+   *   certain programs implement library initialization in a custom way that
+   *   doesn't use @FT_Init_FreeType.
+   *
+   *   In such cases, the library version might not be available before the
+   *   library object has been created.
+   */
+  FT_EXPORT( void )
+  FT_Library_Version( FT_Library   library,
+                      FT_Int      *amajor,
+                      FT_Int      *aminor,
+                      FT_Int      *apatch );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Face_CheckTrueTypePatents
+   *
+   * @description:
+   *   Deprecated, does nothing.
+   *
+   * @input:
+   *   face ::
+   *     A face handle.
+   *
+   * @return:
+   *   Always returns false.
+   *
+   * @note:
+   *   Since May 2010, TrueType hinting is no longer patented.
+   *
+   * @since:
+   *   2.3.5
+   */
+  FT_EXPORT( FT_Bool )
+  FT_Face_CheckTrueTypePatents( FT_Face  face );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Face_SetUnpatentedHinting
+   *
+   * @description:
+   *   Deprecated, does nothing.
+   *
+   * @input:
+   *   face ::
+   *     A face handle.
+   *
+   *   value ::
+   *     New boolean setting.
+   *
+   * @return:
+   *   Always returns false.
+   *
+   * @note:
+   *   Since May 2010, TrueType hinting is no longer patented.
+   *
+   * @since:
+   *   2.3.5
+   */
+  FT_EXPORT( FT_Bool )
+  FT_Face_SetUnpatentedHinting( FT_Face  face,
+                                FT_Bool  value );
+
+  /* */
+
+
+FT_END_HEADER
+
+#endif /* FREETYPE_H_ */
+
+
+/* END */
diff --git a/CMU462/deps/freetype/include/freetype/ftadvanc.h b/CMU462/deps/freetype/include/freetype/ftadvanc.h
new file mode 100644
index 0000000..95c38f9
--- /dev/null
+++ b/CMU462/deps/freetype/include/freetype/ftadvanc.h
@@ -0,0 +1,188 @@
+/****************************************************************************
+ *
+ * ftadvanc.h
+ *
+ *   Quick computation of advance widths (specification only).
+ *
+ * Copyright (C) 2008-2019 by
+ * David Turner, Robert Wilhelm, and Werner Lemberg.
+ *
+ * This file is part of the FreeType project, and may only be used,
+ * modified, and distributed under the terms of the FreeType project
+ * license, LICENSE.TXT.  By continuing to use, modify, or distribute
+ * this file you indicate that you have read the license and
+ * understand and accept it fully.
+ *
+ */
+
+
+#ifndef FTADVANC_H_
+#define FTADVANC_H_
+
+
+#include <ft2build.h>
+#include FT_FREETYPE_H
+
+#ifdef FREETYPE_H
+#error "freetype.h of FreeType 1 has been loaded!"
+#error "Please fix the directory search order for header files"
+#error "so that freetype.h of FreeType 2 is found first."
+#endif
+
+
+FT_BEGIN_HEADER
+
+
+  /**************************************************************************
+   *
+   * @section:
+   *   quick_advance
+   *
+   * @title:
+   *   Quick retrieval of advance values
+   *
+   * @abstract:
+   *   Retrieve horizontal and vertical advance values without processing
+   *   glyph outlines, if possible.
+   *
+   * @description:
+   *   This section contains functions to quickly extract advance values
+   *   without handling glyph outlines, if possible.
+   *
+   * @order:
+   *   FT_Get_Advance
+   *   FT_Get_Advances
+   *
+   */
+
+
+  /**************************************************************************
+   *
+   * @enum:
+   *   FT_ADVANCE_FLAG_FAST_ONLY
+   *
+   * @description:
+   *   A bit-flag to be OR-ed with the `flags` parameter of the
+   *   @FT_Get_Advance and @FT_Get_Advances functions.
+   *
+   *   If set, it indicates that you want these functions to fail if the
+   *   corresponding hinting mode or font driver doesn't allow for very quick
+   *   advance computation.
+   *
+   *   Typically, glyphs that are either unscaled, unhinted, bitmapped, or
+   *   light-hinted can have their advance width computed very quickly.
+   *
+   *   Normal and bytecode hinted modes that require loading, scaling, and
+   *   hinting of the glyph outline, are extremely slow by comparison.
+   */
+#define FT_ADVANCE_FLAG_FAST_ONLY  0x20000000L
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Get_Advance
+   *
+   * @description:
+   *   Retrieve the advance value of a given glyph outline in an @FT_Face.
+   *
+   * @input:
+   *   face ::
+   *     The source @FT_Face handle.
+   *
+   *   gindex ::
+   *     The glyph index.
+   *
+   *   load_flags ::
+   *     A set of bit flags similar to those used when calling
+   *     @FT_Load_Glyph, used to determine what kind of advances you need.
+   * @output:
+   *   padvance ::
+   *     The advance value.  If scaling is performed (based on the value of
+   *     `load_flags`), the advance value is in 16.16 format.  Otherwise, it
+   *     is in font units.
+   *
+   *     If @FT_LOAD_VERTICAL_LAYOUT is set, this is the vertical advance
+   *     corresponding to a vertical layout.  Otherwise, it is the horizontal
+   *     advance in a horizontal layout.
+   *
+   * @return:
+   *   FreeType error code.  0 means success.
+   *
+   * @note:
+   *   This function may fail if you use @FT_ADVANCE_FLAG_FAST_ONLY and if
+   *   the corresponding font backend doesn't have a quick way to retrieve
+   *   the advances.
+   *
+   *   A scaled advance is returned in 16.16 format but isn't transformed by
+   *   the affine transformation specified by @FT_Set_Transform.
+   */
+  FT_EXPORT( FT_Error )
+  FT_Get_Advance( FT_Face    face,
+                  FT_UInt    gindex,
+                  FT_Int32   load_flags,
+                  FT_Fixed  *padvance );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Get_Advances
+   *
+   * @description:
+   *   Retrieve the advance values of several glyph outlines in an @FT_Face.
+   *
+   * @input:
+   *   face ::
+   *     The source @FT_Face handle.
+   *
+   *   start ::
+   *     The first glyph index.
+   *
+   *   count ::
+   *     The number of advance values you want to retrieve.
+   *
+   *   load_flags ::
+   *     A set of bit flags similar to those used when calling
+   *     @FT_Load_Glyph.
+   *
+   * @output:
+   *   padvance ::
+   *     The advance values.  This array, to be provided by the caller, must
+   *     contain at least `count` elements.
+   *
+   *     If scaling is performed (based on the value of `load_flags`), the
+   *     advance values are in 16.16 format.  Otherwise, they are in font
+   *     units.
+   *
+   *     If @FT_LOAD_VERTICAL_LAYOUT is set, these are the vertical advances
+   *     corresponding to a vertical layout.  Otherwise, they are the
+   *     horizontal advances in a horizontal layout.
+   *
+   * @return:
+   *   FreeType error code.  0 means success.
+   *
+   * @note:
+   *   This function may fail if you use @FT_ADVANCE_FLAG_FAST_ONLY and if
+   *   the corresponding font backend doesn't have a quick way to retrieve
+   *   the advances.
+   *
+   *   Scaled advances are returned in 16.16 format but aren't transformed by
+   *   the affine transformation specified by @FT_Set_Transform.
+   */
+  FT_EXPORT( FT_Error )
+  FT_Get_Advances( FT_Face    face,
+                   FT_UInt    start,
+                   FT_UInt    count,
+                   FT_Int32   load_flags,
+                   FT_Fixed  *padvances );
+
+  /* */
+
+
+FT_END_HEADER
+
+#endif /* FTADVANC_H_ */
+
+
+/* END */
diff --git a/CMU462/deps/freetype/include/freetype/ftbbox.h b/CMU462/deps/freetype/include/freetype/ftbbox.h
new file mode 100644
index 0000000..22da70c
--- /dev/null
+++ b/CMU462/deps/freetype/include/freetype/ftbbox.h
@@ -0,0 +1,102 @@
+/****************************************************************************
+ *
+ * ftbbox.h
+ *
+ *   FreeType exact bbox computation (specification).
+ *
+ * Copyright (C) 1996-2019 by
+ * David Turner, Robert Wilhelm, and Werner Lemberg.
+ *
+ * This file is part of the FreeType project, and may only be used,
+ * modified, and distributed under the terms of the FreeType project
+ * license, LICENSE.TXT.  By continuing to use, modify, or distribute
+ * this file you indicate that you have read the license and
+ * understand and accept it fully.
+ *
+ */
+
+
+  /**************************************************************************
+   *
+   * This component has a _single_ role: to compute exact outline bounding
+   * boxes.
+   *
+   * It is separated from the rest of the engine for various technical
+   * reasons.  It may well be integrated in 'ftoutln' later.
+   *
+   */
+
+
+#ifndef FTBBOX_H_
+#define FTBBOX_H_
+
+
+#include <ft2build.h>
+#include FT_FREETYPE_H
+
+#ifdef FREETYPE_H
+#error "freetype.h of FreeType 1 has been loaded!"
+#error "Please fix the directory search order for header files"
+#error "so that freetype.h of FreeType 2 is found first."
+#endif
+
+
+FT_BEGIN_HEADER
+
+
+  /**************************************************************************
+   *
+   * @section:
+   *   outline_processing
+   *
+   */
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Outline_Get_BBox
+   *
+   * @description:
+   *   Compute the exact bounding box of an outline.  This is slower than
+   *   computing the control box.  However, it uses an advanced algorithm
+   *   that returns _very_ quickly when the two boxes coincide.  Otherwise,
+   *   the outline Bezier arcs are traversed to extract their extrema.
+   *
+   * @input:
+   *   outline ::
+   *     A pointer to the source outline.
+   *
+   * @output:
+   *   abbox ::
+   *     The outline's exact bounding box.
+   *
+   * @return:
+   *   FreeType error code.  0~means success.
+   *
+   * @note:
+   *   If the font is tricky and the glyph has been loaded with
+   *   @FT_LOAD_NO_SCALE, the resulting BBox is meaningless.  To get
+   *   reasonable values for the BBox it is necessary to load the glyph at a
+   *   large ppem value (so that the hinting instructions can properly shift
+   *   and scale the subglyphs), then extracting the BBox, which can be
+   *   eventually converted back to font units.
+   */
+  FT_EXPORT( FT_Error )
+  FT_Outline_Get_BBox( FT_Outline*  outline,
+                       FT_BBox     *abbox );
+
+  /* */
+
+
+FT_END_HEADER
+
+#endif /* FTBBOX_H_ */
+
+
+/* END */
+
+
+/* Local Variables: */
+/* coding: utf-8    */
+/* End:             */
diff --git a/CMU462/deps/freetype/include/freetype/ftbdf.h b/CMU462/deps/freetype/include/freetype/ftbdf.h
new file mode 100644
index 0000000..1c46da5
--- /dev/null
+++ b/CMU462/deps/freetype/include/freetype/ftbdf.h
@@ -0,0 +1,213 @@
+/****************************************************************************
+ *
+ * ftbdf.h
+ *
+ *   FreeType API for accessing BDF-specific strings (specification).
+ *
+ * Copyright (C) 2002-2019 by
+ * David Turner, Robert Wilhelm, and Werner Lemberg.
+ *
+ * This file is part of the FreeType project, and may only be used,
+ * modified, and distributed under the terms of the FreeType project
+ * license, LICENSE.TXT.  By continuing to use, modify, or distribute
+ * this file you indicate that you have read the license and
+ * understand and accept it fully.
+ *
+ */
+
+
+#ifndef FTBDF_H_
+#define FTBDF_H_
+
+#include <ft2build.h>
+#include FT_FREETYPE_H
+
+#ifdef FREETYPE_H
+#error "freetype.h of FreeType 1 has been loaded!"
+#error "Please fix the directory search order for header files"
+#error "so that freetype.h of FreeType 2 is found first."
+#endif
+
+
+FT_BEGIN_HEADER
+
+
+  /**************************************************************************
+   *
+   * @section:
+   *   bdf_fonts
+   *
+   * @title:
+   *   BDF and PCF Files
+   *
+   * @abstract:
+   *   BDF and PCF specific API.
+   *
+   * @description:
+   *   This section contains the declaration of functions specific to BDF and
+   *   PCF fonts.
+   *
+   */
+
+
+  /**************************************************************************
+   *
+   * @enum:
+   *    BDF_PropertyType
+   *
+   * @description:
+   *    A list of BDF property types.
+   *
+   * @values:
+   *    BDF_PROPERTY_TYPE_NONE ::
+   *      Value~0 is used to indicate a missing property.
+   *
+   *    BDF_PROPERTY_TYPE_ATOM ::
+   *      Property is a string atom.
+   *
+   *    BDF_PROPERTY_TYPE_INTEGER ::
+   *      Property is a 32-bit signed integer.
+   *
+   *    BDF_PROPERTY_TYPE_CARDINAL ::
+   *      Property is a 32-bit unsigned integer.
+   */
+  typedef enum  BDF_PropertyType_
+  {
+    BDF_PROPERTY_TYPE_NONE     = 0,
+    BDF_PROPERTY_TYPE_ATOM     = 1,
+    BDF_PROPERTY_TYPE_INTEGER  = 2,
+    BDF_PROPERTY_TYPE_CARDINAL = 3
+
+  } BDF_PropertyType;
+
+
+  /**************************************************************************
+   *
+   * @type:
+   *    BDF_Property
+   *
+   * @description:
+   *    A handle to a @BDF_PropertyRec structure to model a given BDF/PCF
+   *    property.
+   */
+  typedef struct BDF_PropertyRec_*  BDF_Property;
+
+
+  /**************************************************************************
+   *
+   * @struct:
+   *    BDF_PropertyRec
+   *
+   * @description:
+   *    This structure models a given BDF/PCF property.
+   *
+   * @fields:
+   *    type ::
+   *      The property type.
+   *
+   *    u.atom ::
+   *      The atom string, if type is @BDF_PROPERTY_TYPE_ATOM.  May be
+   *      `NULL`, indicating an empty string.
+   *
+   *    u.integer ::
+   *      A signed integer, if type is @BDF_PROPERTY_TYPE_INTEGER.
+   *
+   *    u.cardinal ::
+   *      An unsigned integer, if type is @BDF_PROPERTY_TYPE_CARDINAL.
+   */
+  typedef struct  BDF_PropertyRec_
+  {
+    BDF_PropertyType  type;
+    union {
+      const char*     atom;
+      FT_Int32        integer;
+      FT_UInt32       cardinal;
+
+    } u;
+
+  } BDF_PropertyRec;
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *    FT_Get_BDF_Charset_ID
+   *
+   * @description:
+   *    Retrieve a BDF font character set identity, according to the BDF
+   *    specification.
+   *
+   * @input:
+   *    face ::
+   *      A handle to the input face.
+   *
+   * @output:
+   *    acharset_encoding ::
+   *      Charset encoding, as a C~string, owned by the face.
+   *
+   *    acharset_registry ::
+   *      Charset registry, as a C~string, owned by the face.
+   *
+   * @return:
+   *   FreeType error code.  0~means success.
+   *
+   * @note:
+   *   This function only works with BDF faces, returning an error otherwise.
+   */
+  FT_EXPORT( FT_Error )
+  FT_Get_BDF_Charset_ID( FT_Face       face,
+                         const char*  *acharset_encoding,
+                         const char*  *acharset_registry );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *    FT_Get_BDF_Property
+   *
+   * @description:
+   *    Retrieve a BDF property from a BDF or PCF font file.
+   *
+   * @input:
+   *    face ::
+   *      A handle to the input face.
+   *
+   *    name ::
+   *      The property name.
+   *
+   * @output:
+   *    aproperty ::
+   *      The property.
+   *
+   * @return:
+   *   FreeType error code.  0~means success.
+   *
+   * @note:
+   *   This function works with BDF _and_ PCF fonts.  It returns an error
+   *   otherwise.  It also returns an error if the property is not in the
+   *   font.
+   *
+   *   A 'property' is a either key-value pair within the STARTPROPERTIES
+   *   ... ENDPROPERTIES block of a BDF font or a key-value pair from the
+   *   `info->props` array within a `FontRec` structure of a PCF font.
+   *
+   *   Integer properties are always stored as 'signed' within PCF fonts;
+   *   consequently, @BDF_PROPERTY_TYPE_CARDINAL is a possible return value
+   *   for BDF fonts only.
+   *
+   *   In case of error, `aproperty->type` is always set to
+   *   @BDF_PROPERTY_TYPE_NONE.
+   */
+  FT_EXPORT( FT_Error )
+  FT_Get_BDF_Property( FT_Face           face,
+                       const char*       prop_name,
+                       BDF_PropertyRec  *aproperty );
+
+  /* */
+
+FT_END_HEADER
+
+#endif /* FTBDF_H_ */
+
+
+/* END */
diff --git a/CMU462/deps/freetype/include/freetype/ftbitmap.h b/CMU462/deps/freetype/include/freetype/ftbitmap.h
new file mode 100644
index 0000000..a6acdb9
--- /dev/null
+++ b/CMU462/deps/freetype/include/freetype/ftbitmap.h
@@ -0,0 +1,330 @@
+/****************************************************************************
+ *
+ * ftbitmap.h
+ *
+ *   FreeType utility functions for bitmaps (specification).
+ *
+ * Copyright (C) 2004-2019 by
+ * David Turner, Robert Wilhelm, and Werner Lemberg.
+ *
+ * This file is part of the FreeType project, and may only be used,
+ * modified, and distributed under the terms of the FreeType project
+ * license, LICENSE.TXT.  By continuing to use, modify, or distribute
+ * this file you indicate that you have read the license and
+ * understand and accept it fully.
+ *
+ */
+
+
+#ifndef FTBITMAP_H_
+#define FTBITMAP_H_
+
+
+#include <ft2build.h>
+#include FT_FREETYPE_H
+#include FT_COLOR_H
+
+#ifdef FREETYPE_H
+#error "freetype.h of FreeType 1 has been loaded!"
+#error "Please fix the directory search order for header files"
+#error "so that freetype.h of FreeType 2 is found first."
+#endif
+
+
+FT_BEGIN_HEADER
+
+
+  /**************************************************************************
+   *
+   * @section:
+   *   bitmap_handling
+   *
+   * @title:
+   *   Bitmap Handling
+   *
+   * @abstract:
+   *   Handling FT_Bitmap objects.
+   *
+   * @description:
+   *   This section contains functions for handling @FT_Bitmap objects,
+   *   automatically adjusting the target's bitmap buffer size as needed.
+   *
+   *   Note that none of the functions changes the bitmap's 'flow' (as
+   *   indicated by the sign of the `pitch` field in @FT_Bitmap).
+   *
+   *   To set the flow, assign an appropriate positive or negative value to
+   *   the `pitch` field of the target @FT_Bitmap object after calling
+   *   @FT_Bitmap_Init but before calling any of the other functions
+   *   described here.
+   */
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Bitmap_Init
+   *
+   * @description:
+   *   Initialize a pointer to an @FT_Bitmap structure.
+   *
+   * @inout:
+   *   abitmap ::
+   *     A pointer to the bitmap structure.
+   *
+   * @note:
+   *   A deprecated name for the same function is `FT_Bitmap_New`.
+   */
+  FT_EXPORT( void )
+  FT_Bitmap_Init( FT_Bitmap  *abitmap );
+
+
+  /* deprecated */
+  FT_EXPORT( void )
+  FT_Bitmap_New( FT_Bitmap  *abitmap );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Bitmap_Copy
+   *
+   * @description:
+   *   Copy a bitmap into another one.
+   *
+   * @input:
+   *   library ::
+   *     A handle to a library object.
+   *
+   *   source ::
+   *     A handle to the source bitmap.
+   *
+   * @output:
+   *   target ::
+   *     A handle to the target bitmap.
+   *
+   * @return:
+   *   FreeType error code.  0~means success.
+   *
+   * @note:
+   *   `source->buffer` and `target->buffer` must neither be equal nor
+   *   overlap.
+   */
+  FT_EXPORT( FT_Error )
+  FT_Bitmap_Copy( FT_Library        library,
+                  const FT_Bitmap  *source,
+                  FT_Bitmap        *target );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Bitmap_Embolden
+   *
+   * @description:
+   *   Embolden a bitmap.  The new bitmap will be about `xStrength` pixels
+   *   wider and `yStrength` pixels higher.  The left and bottom borders are
+   *   kept unchanged.
+   *
+   * @input:
+   *   library ::
+   *     A handle to a library object.
+   *
+   *   xStrength ::
+   *     How strong the glyph is emboldened horizontally.  Expressed in 26.6
+   *     pixel format.
+   *
+   *   yStrength ::
+   *     How strong the glyph is emboldened vertically.  Expressed in 26.6
+   *     pixel format.
+   *
+   * @inout:
+   *   bitmap ::
+   *     A handle to the target bitmap.
+   *
+   * @return:
+   *   FreeType error code.  0~means success.
+   *
+   * @note:
+   *   The current implementation restricts `xStrength` to be less than or
+   *   equal to~8 if bitmap is of pixel_mode @FT_PIXEL_MODE_MONO.
+   *
+   *   If you want to embolden the bitmap owned by a @FT_GlyphSlotRec, you
+   *   should call @FT_GlyphSlot_Own_Bitmap on the slot first.
+   *
+   *   Bitmaps in @FT_PIXEL_MODE_GRAY2 and @FT_PIXEL_MODE_GRAY@ format are
+   *   converted to @FT_PIXEL_MODE_GRAY format (i.e., 8bpp).
+   */
+  FT_EXPORT( FT_Error )
+  FT_Bitmap_Embolden( FT_Library  library,
+                      FT_Bitmap*  bitmap,
+                      FT_Pos      xStrength,
+                      FT_Pos      yStrength );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Bitmap_Convert
+   *
+   * @description:
+   *   Convert a bitmap object with depth 1bpp, 2bpp, 4bpp, 8bpp or 32bpp to
+   *   a bitmap object with depth 8bpp, making the number of used bytes per
+   *   line (a.k.a. the 'pitch') a multiple of `alignment`.
+   *
+   * @input:
+   *   library ::
+   *     A handle to a library object.
+   *
+   *   source ::
+   *     The source bitmap.
+   *
+   *   alignment ::
+   *     The pitch of the bitmap is a multiple of this argument.  Common
+   *     values are 1, 2, or 4.
+   *
+   * @output:
+   *   target ::
+   *     The target bitmap.
+   *
+   * @return:
+   *   FreeType error code.  0~means success.
+   *
+   * @note:
+   *   It is possible to call @FT_Bitmap_Convert multiple times without
+   *   calling @FT_Bitmap_Done (the memory is simply reallocated).
+   *
+   *   Use @FT_Bitmap_Done to finally remove the bitmap object.
+   *
+   *   The `library` argument is taken to have access to FreeType's memory
+   *   handling functions.
+   *
+   *   `source->buffer` and `target->buffer` must neither be equal nor
+   *   overlap.
+   */
+  FT_EXPORT( FT_Error )
+  FT_Bitmap_Convert( FT_Library        library,
+                     const FT_Bitmap  *source,
+                     FT_Bitmap        *target,
+                     FT_Int            alignment );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Bitmap_Blend
+   *
+   * @description:
+   *   Blend a bitmap onto another bitmap, using a given color.
+   *
+   * @input:
+   *   library ::
+   *     A handle to a library object.
+   *
+   *   source ::
+   *     The source bitmap, which can have any @FT_Pixel_Mode format.
+   *
+   *   source_offset ::
+   *     The offset vector to the upper left corner of the source bitmap in
+   *     26.6 pixel format.  It should represent an integer offset; the
+   *     function will set the lowest six bits to zero to enforce that.
+   *
+   *   color ::
+   *     The color used to draw `source` onto `target`.
+   *
+   * @inout:
+   *   target ::
+   *     A handle to an `FT_Bitmap` object.  It should be either initialized
+   *     as empty with a call to @FT_Bitmap_Init, or it should be of type
+   *     @FT_PIXEL_MODE_BGRA.
+   *
+   *   atarget_offset ::
+   *     The offset vector to the upper left corner of the target bitmap in
+   *     26.6 pixel format.  It should represent an integer offset; the
+   *     function will set the lowest six bits to zero to enforce that.
+   *
+   * @return:
+   *   FreeType error code.  0~means success.
+   *
+   * @note:
+   *   This function doesn't perform clipping.
+   *
+   *   The bitmap in `target` gets allocated or reallocated as needed; the
+   *   vector `atarget_offset` is updated accordingly.
+   *
+   *   In case of allocation or reallocation, the bitmap's pitch is set to
+   *   `4 * width`.  Both `source` and `target` must have the same bitmap
+   *   flow (as indicated by the sign of the `pitch` field).
+   *
+   *   `source->buffer` and `target->buffer` must neither be equal nor
+   *   overlap.
+   *
+   * @since:
+   *   2.10
+   */
+  FT_EXPORT( FT_Error )
+  FT_Bitmap_Blend( FT_Library         library,
+                   const FT_Bitmap*   source,
+                   const FT_Vector    source_offset,
+                   FT_Bitmap*         target,
+                   FT_Vector         *atarget_offset,
+                   FT_Color           color );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_GlyphSlot_Own_Bitmap
+   *
+   * @description:
+   *   Make sure that a glyph slot owns `slot->bitmap`.
+   *
+   * @input:
+   *   slot ::
+   *     The glyph slot.
+   *
+   * @return:
+   *   FreeType error code.  0~means success.
+   *
+   * @note:
+   *   This function is to be used in combination with @FT_Bitmap_Embolden.
+   */
+  FT_EXPORT( FT_Error )
+  FT_GlyphSlot_Own_Bitmap( FT_GlyphSlot  slot );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Bitmap_Done
+   *
+   * @description:
+   *   Destroy a bitmap object initialized with @FT_Bitmap_Init.
+   *
+   * @input:
+   *   library ::
+   *     A handle to a library object.
+   *
+   *   bitmap ::
+   *     The bitmap object to be freed.
+   *
+   * @return:
+   *   FreeType error code.  0~means success.
+   *
+   * @note:
+   *   The `library` argument is taken to have access to FreeType's memory
+   *   handling functions.
+   */
+  FT_EXPORT( FT_Error )
+  FT_Bitmap_Done( FT_Library  library,
+                  FT_Bitmap  *bitmap );
+
+
+  /* */
+
+
+FT_END_HEADER
+
+#endif /* FTBITMAP_H_ */
+
+
+/* END */
diff --git a/CMU462/deps/freetype/include/freetype/ftbzip2.h b/CMU462/deps/freetype/include/freetype/ftbzip2.h
new file mode 100644
index 0000000..ae88cfd
--- /dev/null
+++ b/CMU462/deps/freetype/include/freetype/ftbzip2.h
@@ -0,0 +1,102 @@
+/****************************************************************************
+ *
+ * ftbzip2.h
+ *
+ *   Bzip2-compressed stream support.
+ *
+ * Copyright (C) 2010-2019 by
+ * Joel Klinghed.
+ *
+ * This file is part of the FreeType project, and may only be used,
+ * modified, and distributed under the terms of the FreeType project
+ * license, LICENSE.TXT.  By continuing to use, modify, or distribute
+ * this file you indicate that you have read the license and
+ * understand and accept it fully.
+ *
+ */
+
+
+#ifndef FTBZIP2_H_
+#define FTBZIP2_H_
+
+#include <ft2build.h>
+#include FT_FREETYPE_H
+
+#ifdef FREETYPE_H
+#error "freetype.h of FreeType 1 has been loaded!"
+#error "Please fix the directory search order for header files"
+#error "so that freetype.h of FreeType 2 is found first."
+#endif
+
+
+FT_BEGIN_HEADER
+
+  /**************************************************************************
+   *
+   * @section:
+   *   bzip2
+   *
+   * @title:
+   *   BZIP2 Streams
+   *
+   * @abstract:
+   *   Using bzip2-compressed font files.
+   *
+   * @description:
+   *   This section contains the declaration of Bzip2-specific functions.
+   *
+   */
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Stream_OpenBzip2
+   *
+   * @description:
+   *   Open a new stream to parse bzip2-compressed font files.  This is
+   *   mainly used to support the compressed `*.pcf.bz2` fonts that come with
+   *   XFree86.
+   *
+   * @input:
+   *   stream ::
+   *     The target embedding stream.
+   *
+   *   source ::
+   *     The source stream.
+   *
+   * @return:
+   *   FreeType error code.  0~means success.
+   *
+   * @note:
+   *   The source stream must be opened _before_ calling this function.
+   *
+   *   Calling the internal function `FT_Stream_Close` on the new stream will
+   *   **not** call `FT_Stream_Close` on the source stream.  None of the
+   *   stream objects will be released to the heap.
+   *
+   *   The stream implementation is very basic and resets the decompression
+   *   process each time seeking backwards is needed within the stream.
+   *
+   *   In certain builds of the library, bzip2 compression recognition is
+   *   automatically handled when calling @FT_New_Face or @FT_Open_Face.
+   *   This means that if no font driver is capable of handling the raw
+   *   compressed file, the library will try to open a bzip2 compressed
+   *   stream from it and re-open the face with it.
+   *
+   *   This function may return `FT_Err_Unimplemented_Feature` if your build
+   *   of FreeType was not compiled with bzip2 support.
+   */
+  FT_EXPORT( FT_Error )
+  FT_Stream_OpenBzip2( FT_Stream  stream,
+                       FT_Stream  source );
+
+  /* */
+
+
+FT_END_HEADER
+
+#endif /* FTBZIP2_H_ */
+
+
+/* END */
diff --git a/CMU462/deps/freetype/include/freetype/ftcache.h b/CMU462/deps/freetype/include/freetype/ftcache.h
new file mode 100644
index 0000000..0d589d0
--- /dev/null
+++ b/CMU462/deps/freetype/include/freetype/ftcache.h
@@ -0,0 +1,1088 @@
+/****************************************************************************
+ *
+ * ftcache.h
+ *
+ *   FreeType Cache subsystem (specification).
+ *
+ * Copyright (C) 1996-2019 by
+ * David Turner, Robert Wilhelm, and Werner Lemberg.
+ *
+ * This file is part of the FreeType project, and may only be used,
+ * modified, and distributed under the terms of the FreeType project
+ * license, LICENSE.TXT.  By continuing to use, modify, or distribute
+ * this file you indicate that you have read the license and
+ * understand and accept it fully.
+ *
+ */
+
+
+#ifndef FTCACHE_H_
+#define FTCACHE_H_
+
+
+#include <ft2build.h>
+#include FT_GLYPH_H
+
+
+FT_BEGIN_HEADER
+
+
+  /**************************************************************************
+   *
+   * @section:
+   *   cache_subsystem
+   *
+   * @title:
+   *   Cache Sub-System
+   *
+   * @abstract:
+   *   How to cache face, size, and glyph data with FreeType~2.
+   *
+   * @description:
+   *   This section describes the FreeType~2 cache sub-system, which is used
+   *   to limit the number of concurrently opened @FT_Face and @FT_Size
+   *   objects, as well as caching information like character maps and glyph
+   *   images while limiting their maximum memory usage.
+   *
+   *   Note that all types and functions begin with the `FTC_` prefix.
+   *
+   *   The cache is highly portable and thus doesn't know anything about the
+   *   fonts installed on your system, or how to access them.  This implies
+   *   the following scheme:
+   *
+   *   First, available or installed font faces are uniquely identified by
+   *   @FTC_FaceID values, provided to the cache by the client.  Note that
+   *   the cache only stores and compares these values, and doesn't try to
+   *   interpret them in any way.
+   *
+   *   Second, the cache calls, only when needed, a client-provided function
+   *   to convert an @FTC_FaceID into a new @FT_Face object.  The latter is
+   *   then completely managed by the cache, including its termination
+   *   through @FT_Done_Face.  To monitor termination of face objects, the
+   *   finalizer callback in the `generic` field of the @FT_Face object can
+   *   be used, which might also be used to store the @FTC_FaceID of the
+   *   face.
+   *
+   *   Clients are free to map face IDs to anything else.  The most simple
+   *   usage is to associate them to a (pathname,face_index) pair that is
+   *   used to call @FT_New_Face.  However, more complex schemes are also
+   *   possible.
+   *
+   *   Note that for the cache to work correctly, the face ID values must be
+   *   **persistent**, which means that the contents they point to should not
+   *   change at runtime, or that their value should not become invalid.
+   *
+   *   If this is unavoidable (e.g., when a font is uninstalled at runtime),
+   *   you should call @FTC_Manager_RemoveFaceID as soon as possible, to let
+   *   the cache get rid of any references to the old @FTC_FaceID it may keep
+   *   internally.  Failure to do so will lead to incorrect behaviour or even
+   *   crashes.
+   *
+   *   To use the cache, start with calling @FTC_Manager_New to create a new
+   *   @FTC_Manager object, which models a single cache instance.  You can
+   *   then look up @FT_Face and @FT_Size objects with
+   *   @FTC_Manager_LookupFace and @FTC_Manager_LookupSize, respectively.
+   *
+   *   If you want to use the charmap caching, call @FTC_CMapCache_New, then
+   *   later use @FTC_CMapCache_Lookup to perform the equivalent of
+   *   @FT_Get_Char_Index, only much faster.
+   *
+   *   If you want to use the @FT_Glyph caching, call @FTC_ImageCache, then
+   *   later use @FTC_ImageCache_Lookup to retrieve the corresponding
+   *   @FT_Glyph objects from the cache.
+   *
+   *   If you need lots of small bitmaps, it is much more memory efficient to
+   *   call @FTC_SBitCache_New followed by @FTC_SBitCache_Lookup.  This
+   *   returns @FTC_SBitRec structures, which are used to store small bitmaps
+   *   directly.  (A small bitmap is one whose metrics and dimensions all fit
+   *   into 8-bit integers).
+   *
+   *   We hope to also provide a kerning cache in the near future.
+   *
+   *
+   * @order:
+   *   FTC_Manager
+   *   FTC_FaceID
+   *   FTC_Face_Requester
+   *
+   *   FTC_Manager_New
+   *   FTC_Manager_Reset
+   *   FTC_Manager_Done
+   *   FTC_Manager_LookupFace
+   *   FTC_Manager_LookupSize
+   *   FTC_Manager_RemoveFaceID
+   *
+   *   FTC_Node
+   *   FTC_Node_Unref
+   *
+   *   FTC_ImageCache
+   *   FTC_ImageCache_New
+   *   FTC_ImageCache_Lookup
+   *
+   *   FTC_SBit
+   *   FTC_SBitCache
+   *   FTC_SBitCache_New
+   *   FTC_SBitCache_Lookup
+   *
+   *   FTC_CMapCache
+   *   FTC_CMapCache_New
+   *   FTC_CMapCache_Lookup
+   *
+   *************************************************************************/
+
+
+  /*************************************************************************/
+  /*************************************************************************/
+  /*************************************************************************/
+  /*****                                                               *****/
+  /*****                    BASIC TYPE DEFINITIONS                     *****/
+  /*****                                                               *****/
+  /*************************************************************************/
+  /*************************************************************************/
+  /*************************************************************************/
+
+
+  /**************************************************************************
+   *
+   * @type:
+   *   FTC_FaceID
+   *
+   * @description:
+   *   An opaque pointer type that is used to identity face objects.  The
+   *   contents of such objects is application-dependent.
+   *
+   *   These pointers are typically used to point to a user-defined structure
+   *   containing a font file path, and face index.
+   *
+   * @note:
+   *   Never use `NULL` as a valid @FTC_FaceID.
+   *
+   *   Face IDs are passed by the client to the cache manager that calls,
+   *   when needed, the @FTC_Face_Requester to translate them into new
+   *   @FT_Face objects.
+   *
+   *   If the content of a given face ID changes at runtime, or if the value
+   *   becomes invalid (e.g., when uninstalling a font), you should
+   *   immediately call @FTC_Manager_RemoveFaceID before any other cache
+   *   function.
+   *
+   *   Failure to do so will result in incorrect behaviour or even memory
+   *   leaks and crashes.
+   */
+  typedef FT_Pointer  FTC_FaceID;
+
+
+  /**************************************************************************
+   *
+   * @functype:
+   *   FTC_Face_Requester
+   *
+   * @description:
+   *   A callback function provided by client applications.  It is used by
+   *   the cache manager to translate a given @FTC_FaceID into a new valid
+   *   @FT_Face object, on demand.
+   *
+   * @input:
+   *   face_id ::
+   *     The face ID to resolve.
+   *
+   *   library ::
+   *     A handle to a FreeType library object.
+   *
+   *   req_data ::
+   *     Application-provided request data (see note below).
+   *
+   * @output:
+   *   aface ::
+   *     A new @FT_Face handle.
+   *
+   * @return:
+   *   FreeType error code.  0~means success.
+   *
+   * @note:
+   *   The third parameter `req_data` is the same as the one passed by the
+   *   client when @FTC_Manager_New is called.
+   *
+   *   The face requester should not perform funny things on the returned
+   *   face object, like creating a new @FT_Size for it, or setting a
+   *   transformation through @FT_Set_Transform!
+   */
+  typedef FT_Error
+  (*FTC_Face_Requester)( FTC_FaceID  face_id,
+                         FT_Library  library,
+                         FT_Pointer  req_data,
+                         FT_Face*    aface );
+
+  /* */
+
+
+  /*************************************************************************/
+  /*************************************************************************/
+  /*************************************************************************/
+  /*****                                                               *****/
+  /*****                      CACHE MANAGER OBJECT                     *****/
+  /*****                                                               *****/
+  /*************************************************************************/
+  /*************************************************************************/
+  /*************************************************************************/
+
+
+  /**************************************************************************
+   *
+   * @type:
+   *   FTC_Manager
+   *
+   * @description:
+   *   This object corresponds to one instance of the cache-subsystem.  It is
+   *   used to cache one or more @FT_Face objects, along with corresponding
+   *   @FT_Size objects.
+   *
+   *   The manager intentionally limits the total number of opened @FT_Face
+   *   and @FT_Size objects to control memory usage.  See the `max_faces` and
+   *   `max_sizes` parameters of @FTC_Manager_New.
+   *
+   *   The manager is also used to cache 'nodes' of various types while
+   *   limiting their total memory usage.
+   *
+   *   All limitations are enforced by keeping lists of managed objects in
+   *   most-recently-used order, and flushing old nodes to make room for new
+   *   ones.
+   */
+  typedef struct FTC_ManagerRec_*  FTC_Manager;
+
+
+  /**************************************************************************
+   *
+   * @type:
+   *   FTC_Node
+   *
+   * @description:
+   *   An opaque handle to a cache node object.  Each cache node is
+   *   reference-counted.  A node with a count of~0 might be flushed out of a
+   *   full cache whenever a lookup request is performed.
+   *
+   *   If you look up nodes, you have the ability to 'acquire' them, i.e., to
+   *   increment their reference count.  This will prevent the node from
+   *   being flushed out of the cache until you explicitly 'release' it (see
+   *   @FTC_Node_Unref).
+   *
+   *   See also @FTC_SBitCache_Lookup and @FTC_ImageCache_Lookup.
+   */
+  typedef struct FTC_NodeRec_*  FTC_Node;
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FTC_Manager_New
+   *
+   * @description:
+   *   Create a new cache manager.
+   *
+   * @input:
+   *   library ::
+   *     The parent FreeType library handle to use.
+   *
+   *   max_faces ::
+   *     Maximum number of opened @FT_Face objects managed by this cache
+   *     instance.  Use~0 for defaults.
+   *
+   *   max_sizes ::
+   *     Maximum number of opened @FT_Size objects managed by this cache
+   *     instance.  Use~0 for defaults.
+   *
+   *   max_bytes ::
+   *     Maximum number of bytes to use for cached data nodes.  Use~0 for
+   *     defaults.  Note that this value does not account for managed
+   *     @FT_Face and @FT_Size objects.
+   *
+   *   requester ::
+   *     An application-provided callback used to translate face IDs into
+   *     real @FT_Face objects.
+   *
+   *   req_data ::
+   *     A generic pointer that is passed to the requester each time it is
+   *     called (see @FTC_Face_Requester).
+   *
+   * @output:
+   *   amanager ::
+   *     A handle to a new manager object.  0~in case of failure.
+   *
+   * @return:
+   *   FreeType error code.  0~means success.
+   */
+  FT_EXPORT( FT_Error )
+  FTC_Manager_New( FT_Library          library,
+                   FT_UInt             max_faces,
+                   FT_UInt             max_sizes,
+                   FT_ULong            max_bytes,
+                   FTC_Face_Requester  requester,
+                   FT_Pointer          req_data,
+                   FTC_Manager        *amanager );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FTC_Manager_Reset
+   *
+   * @description:
+   *   Empty a given cache manager.  This simply gets rid of all the
+   *   currently cached @FT_Face and @FT_Size objects within the manager.
+   *
+   * @inout:
+   *   manager ::
+   *     A handle to the manager.
+   */
+  FT_EXPORT( void )
+  FTC_Manager_Reset( FTC_Manager  manager );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FTC_Manager_Done
+   *
+   * @description:
+   *   Destroy a given manager after emptying it.
+   *
+   * @input:
+   *   manager ::
+   *     A handle to the target cache manager object.
+   */
+  FT_EXPORT( void )
+  FTC_Manager_Done( FTC_Manager  manager );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FTC_Manager_LookupFace
+   *
+   * @description:
+   *   Retrieve the @FT_Face object that corresponds to a given face ID
+   *   through a cache manager.
+   *
+   * @input:
+   *   manager ::
+   *     A handle to the cache manager.
+   *
+   *   face_id ::
+   *     The ID of the face object.
+   *
+   * @output:
+   *   aface ::
+   *     A handle to the face object.
+   *
+   * @return:
+   *   FreeType error code.  0~means success.
+   *
+   * @note:
+   *   The returned @FT_Face object is always owned by the manager.  You
+   *   should never try to discard it yourself.
+   *
+   *   The @FT_Face object doesn't necessarily have a current size object
+   *   (i.e., face->size can be~0).  If you need a specific 'font size', use
+   *   @FTC_Manager_LookupSize instead.
+   *
+   *   Never change the face's transformation matrix (i.e., never call the
+   *   @FT_Set_Transform function) on a returned face!  If you need to
+   *   transform glyphs, do it yourself after glyph loading.
+   *
+   *   When you perform a lookup, out-of-memory errors are detected _within_
+   *   the lookup and force incremental flushes of the cache until enough
+   *   memory is released for the lookup to succeed.
+   *
+   *   If a lookup fails with `FT_Err_Out_Of_Memory` the cache has already
+   *   been completely flushed, and still no memory was available for the
+   *   operation.
+   */
+  FT_EXPORT( FT_Error )
+  FTC_Manager_LookupFace( FTC_Manager  manager,
+                          FTC_FaceID   face_id,
+                          FT_Face     *aface );
+
+
+  /**************************************************************************
+   *
+   * @struct:
+   *   FTC_ScalerRec
+   *
+   * @description:
+   *   A structure used to describe a given character size in either pixels
+   *   or points to the cache manager.  See @FTC_Manager_LookupSize.
+   *
+   * @fields:
+   *   face_id ::
+   *     The source face ID.
+   *
+   *   width ::
+   *     The character width.
+   *
+   *   height ::
+   *     The character height.
+   *
+   *   pixel ::
+   *     A Boolean.  If 1, the `width` and `height` fields are interpreted as
+   *     integer pixel character sizes.  Otherwise, they are expressed as
+   *     1/64th of points.
+   *
+   *   x_res ::
+   *     Only used when `pixel` is value~0 to indicate the horizontal
+   *     resolution in dpi.
+   *
+   *   y_res ::
+   *     Only used when `pixel` is value~0 to indicate the vertical
+   *     resolution in dpi.
+   *
+   * @note:
+   *   This type is mainly used to retrieve @FT_Size objects through the
+   *   cache manager.
+   */
+  typedef struct  FTC_ScalerRec_
+  {
+    FTC_FaceID  face_id;
+    FT_UInt     width;
+    FT_UInt     height;
+    FT_Int      pixel;
+    FT_UInt     x_res;
+    FT_UInt     y_res;
+
+  } FTC_ScalerRec;
+
+
+  /**************************************************************************
+   *
+   * @struct:
+   *   FTC_Scaler
+   *
+   * @description:
+   *   A handle to an @FTC_ScalerRec structure.
+   */
+  typedef struct FTC_ScalerRec_*  FTC_Scaler;
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FTC_Manager_LookupSize
+   *
+   * @description:
+   *   Retrieve the @FT_Size object that corresponds to a given
+   *   @FTC_ScalerRec pointer through a cache manager.
+   *
+   * @input:
+   *   manager ::
+   *     A handle to the cache manager.
+   *
+   *   scaler ::
+   *     A scaler handle.
+   *
+   * @output:
+   *   asize ::
+   *     A handle to the size object.
+   *
+   * @return:
+   *   FreeType error code.  0~means success.
+   *
+   * @note:
+   *   The returned @FT_Size object is always owned by the manager.  You
+   *   should never try to discard it by yourself.
+   *
+   *   You can access the parent @FT_Face object simply as `size->face` if
+   *   you need it.  Note that this object is also owned by the manager.
+   *
+   * @note:
+   *   When you perform a lookup, out-of-memory errors are detected _within_
+   *   the lookup and force incremental flushes of the cache until enough
+   *   memory is released for the lookup to succeed.
+   *
+   *   If a lookup fails with `FT_Err_Out_Of_Memory` the cache has already
+   *   been completely flushed, and still no memory is available for the
+   *   operation.
+   */
+  FT_EXPORT( FT_Error )
+  FTC_Manager_LookupSize( FTC_Manager  manager,
+                          FTC_Scaler   scaler,
+                          FT_Size     *asize );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FTC_Node_Unref
+   *
+   * @description:
+   *   Decrement a cache node's internal reference count.  When the count
+   *   reaches 0, it is not destroyed but becomes eligible for subsequent
+   *   cache flushes.
+   *
+   * @input:
+   *   node ::
+   *     The cache node handle.
+   *
+   *   manager ::
+   *     The cache manager handle.
+   */
+  FT_EXPORT( void )
+  FTC_Node_Unref( FTC_Node     node,
+                  FTC_Manager  manager );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FTC_Manager_RemoveFaceID
+   *
+   * @description:
+   *   A special function used to indicate to the cache manager that a given
+   *   @FTC_FaceID is no longer valid, either because its content changed, or
+   *   because it was deallocated or uninstalled.
+   *
+   * @input:
+   *   manager ::
+   *     The cache manager handle.
+   *
+   *   face_id ::
+   *     The @FTC_FaceID to be removed.
+   *
+   * @note:
+   *   This function flushes all nodes from the cache corresponding to this
+   *   `face_id`, with the exception of nodes with a non-null reference
+   *   count.
+   *
+   *   Such nodes are however modified internally so as to never appear in
+   *   later lookups with the same `face_id` value, and to be immediately
+   *   destroyed when released by all their users.
+   *
+   */
+  FT_EXPORT( void )
+  FTC_Manager_RemoveFaceID( FTC_Manager  manager,
+                            FTC_FaceID   face_id );
+
+
+  /**************************************************************************
+   *
+   * @type:
+   *   FTC_CMapCache
+   *
+   * @description:
+   *   An opaque handle used to model a charmap cache.  This cache is to hold
+   *   character codes -> glyph indices mappings.
+   *
+   */
+  typedef struct FTC_CMapCacheRec_*  FTC_CMapCache;
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FTC_CMapCache_New
+   *
+   * @description:
+   *   Create a new charmap cache.
+   *
+   * @input:
+   *   manager ::
+   *     A handle to the cache manager.
+   *
+   * @output:
+   *   acache ::
+   *     A new cache handle.  `NULL` in case of error.
+   *
+   * @return:
+   *   FreeType error code.  0~means success.
+   *
+   * @note:
+   *   Like all other caches, this one will be destroyed with the cache
+   *   manager.
+   *
+   */
+  FT_EXPORT( FT_Error )
+  FTC_CMapCache_New( FTC_Manager     manager,
+                     FTC_CMapCache  *acache );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FTC_CMapCache_Lookup
+   *
+   * @description:
+   *   Translate a character code into a glyph index, using the charmap
+   *   cache.
+   *
+   * @input:
+   *   cache ::
+   *     A charmap cache handle.
+   *
+   *   face_id ::
+   *     The source face ID.
+   *
+   *   cmap_index ::
+   *     The index of the charmap in the source face.  Any negative value
+   *     means to use the cache @FT_Face's default charmap.
+   *
+   *   char_code ::
+   *     The character code (in the corresponding charmap).
+   *
+   * @return:
+   *    Glyph index.  0~means 'no glyph'.
+   *
+   */
+  FT_EXPORT( FT_UInt )
+  FTC_CMapCache_Lookup( FTC_CMapCache  cache,
+                        FTC_FaceID     face_id,
+                        FT_Int         cmap_index,
+                        FT_UInt32      char_code );
+
+
+  /*************************************************************************/
+  /*************************************************************************/
+  /*************************************************************************/
+  /*****                                                               *****/
+  /*****                       IMAGE CACHE OBJECT                      *****/
+  /*****                                                               *****/
+  /*************************************************************************/
+  /*************************************************************************/
+  /*************************************************************************/
+
+
+  /**************************************************************************
+   *
+   * @struct:
+   *   FTC_ImageTypeRec
+   *
+   * @description:
+   *   A structure used to model the type of images in a glyph cache.
+   *
+   * @fields:
+   *   face_id ::
+   *     The face ID.
+   *
+   *   width ::
+   *     The width in pixels.
+   *
+   *   height ::
+   *     The height in pixels.
+   *
+   *   flags ::
+   *     The load flags, as in @FT_Load_Glyph.
+   *
+   */
+  typedef struct  FTC_ImageTypeRec_
+  {
+    FTC_FaceID  face_id;
+    FT_UInt     width;
+    FT_UInt     height;
+    FT_Int32    flags;
+
+  } FTC_ImageTypeRec;
+
+
+  /**************************************************************************
+   *
+   * @type:
+   *   FTC_ImageType
+   *
+   * @description:
+   *   A handle to an @FTC_ImageTypeRec structure.
+   *
+   */
+  typedef struct FTC_ImageTypeRec_*  FTC_ImageType;
+
+
+  /* */
+
+
+#define FTC_IMAGE_TYPE_COMPARE( d1, d2 )      \
+          ( (d1)->face_id == (d2)->face_id && \
+            (d1)->width   == (d2)->width   && \
+            (d1)->flags   == (d2)->flags   )
+
+
+  /**************************************************************************
+   *
+   * @type:
+   *   FTC_ImageCache
+   *
+   * @description:
+   *   A handle to a glyph image cache object.  They are designed to hold
+   *   many distinct glyph images while not exceeding a certain memory
+   *   threshold.
+   */
+  typedef struct FTC_ImageCacheRec_*  FTC_ImageCache;
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FTC_ImageCache_New
+   *
+   * @description:
+   *   Create a new glyph image cache.
+   *
+   * @input:
+   *   manager ::
+   *     The parent manager for the image cache.
+   *
+   * @output:
+   *   acache ::
+   *     A handle to the new glyph image cache object.
+   *
+   * @return:
+   *   FreeType error code.  0~means success.
+   */
+  FT_EXPORT( FT_Error )
+  FTC_ImageCache_New( FTC_Manager      manager,
+                      FTC_ImageCache  *acache );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FTC_ImageCache_Lookup
+   *
+   * @description:
+   *   Retrieve a given glyph image from a glyph image cache.
+   *
+   * @input:
+   *   cache ::
+   *     A handle to the source glyph image cache.
+   *
+   *   type ::
+   *     A pointer to a glyph image type descriptor.
+   *
+   *   gindex ::
+   *     The glyph index to retrieve.
+   *
+   * @output:
+   *   aglyph ::
+   *     The corresponding @FT_Glyph object.  0~in case of failure.
+   *
+   *   anode ::
+   *     Used to return the address of the corresponding cache node after
+   *     incrementing its reference count (see note below).
+   *
+   * @return:
+   *   FreeType error code.  0~means success.
+   *
+   * @note:
+   *   The returned glyph is owned and managed by the glyph image cache.
+   *   Never try to transform or discard it manually!  You can however create
+   *   a copy with @FT_Glyph_Copy and modify the new one.
+   *
+   *   If `anode` is _not_ `NULL`, it receives the address of the cache node
+   *   containing the glyph image, after increasing its reference count.
+   *   This ensures that the node (as well as the @FT_Glyph) will always be
+   *   kept in the cache until you call @FTC_Node_Unref to 'release' it.
+   *
+   *   If `anode` is `NULL`, the cache node is left unchanged, which means
+   *   that the @FT_Glyph could be flushed out of the cache on the next call
+   *   to one of the caching sub-system APIs.  Don't assume that it is
+   *   persistent!
+   */
+  FT_EXPORT( FT_Error )
+  FTC_ImageCache_Lookup( FTC_ImageCache  cache,
+                         FTC_ImageType   type,
+                         FT_UInt         gindex,
+                         FT_Glyph       *aglyph,
+                         FTC_Node       *anode );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FTC_ImageCache_LookupScaler
+   *
+   * @description:
+   *   A variant of @FTC_ImageCache_Lookup that uses an @FTC_ScalerRec to
+   *   specify the face ID and its size.
+   *
+   * @input:
+   *   cache ::
+   *     A handle to the source glyph image cache.
+   *
+   *   scaler ::
+   *     A pointer to a scaler descriptor.
+   *
+   *   load_flags ::
+   *     The corresponding load flags.
+   *
+   *   gindex ::
+   *     The glyph index to retrieve.
+   *
+   * @output:
+   *   aglyph ::
+   *     The corresponding @FT_Glyph object.  0~in case of failure.
+   *
+   *   anode ::
+   *     Used to return the address of the corresponding cache node after
+   *     incrementing its reference count (see note below).
+   *
+   * @return:
+   *   FreeType error code.  0~means success.
+   *
+   * @note:
+   *   The returned glyph is owned and managed by the glyph image cache.
+   *   Never try to transform or discard it manually!  You can however create
+   *   a copy with @FT_Glyph_Copy and modify the new one.
+   *
+   *   If `anode` is _not_ `NULL`, it receives the address of the cache node
+   *   containing the glyph image, after increasing its reference count.
+   *   This ensures that the node (as well as the @FT_Glyph) will always be
+   *   kept in the cache until you call @FTC_Node_Unref to 'release' it.
+   *
+   *   If `anode` is `NULL`, the cache node is left unchanged, which means
+   *   that the @FT_Glyph could be flushed out of the cache on the next call
+   *   to one of the caching sub-system APIs.  Don't assume that it is
+   *   persistent!
+   *
+   *   Calls to @FT_Set_Char_Size and friends have no effect on cached
+   *   glyphs; you should always use the FreeType cache API instead.
+   */
+  FT_EXPORT( FT_Error )
+  FTC_ImageCache_LookupScaler( FTC_ImageCache  cache,
+                               FTC_Scaler      scaler,
+                               FT_ULong        load_flags,
+                               FT_UInt         gindex,
+                               FT_Glyph       *aglyph,
+                               FTC_Node       *anode );
+
+
+  /**************************************************************************
+   *
+   * @type:
+   *   FTC_SBit
+   *
+   * @description:
+   *   A handle to a small bitmap descriptor.  See the @FTC_SBitRec structure
+   *   for details.
+   */
+  typedef struct FTC_SBitRec_*  FTC_SBit;
+
+
+  /**************************************************************************
+   *
+   * @struct:
+   *   FTC_SBitRec
+   *
+   * @description:
+   *   A very compact structure used to describe a small glyph bitmap.
+   *
+   * @fields:
+   *   width ::
+   *     The bitmap width in pixels.
+   *
+   *   height ::
+   *     The bitmap height in pixels.
+   *
+   *   left ::
+   *     The horizontal distance from the pen position to the left bitmap
+   *     border (a.k.a. 'left side bearing', or 'lsb').
+   *
+   *   top ::
+   *     The vertical distance from the pen position (on the baseline) to the
+   *     upper bitmap border (a.k.a. 'top side bearing').  The distance is
+   *     positive for upwards y~coordinates.
+   *
+   *   format ::
+   *     The format of the glyph bitmap (monochrome or gray).
+   *
+   *   max_grays ::
+   *     Maximum gray level value (in the range 1 to~255).
+   *
+   *   pitch ::
+   *     The number of bytes per bitmap line.  May be positive or negative.
+   *
+   *   xadvance ::
+   *     The horizontal advance width in pixels.
+   *
+   *   yadvance ::
+   *     The vertical advance height in pixels.
+   *
+   *   buffer ::
+   *     A pointer to the bitmap pixels.
+   */
+  typedef struct  FTC_SBitRec_
+  {
+    FT_Byte   width;
+    FT_Byte   height;
+    FT_Char   left;
+    FT_Char   top;
+
+    FT_Byte   format;
+    FT_Byte   max_grays;
+    FT_Short  pitch;
+    FT_Char   xadvance;
+    FT_Char   yadvance;
+
+    FT_Byte*  buffer;
+
+  } FTC_SBitRec;
+
+
+  /**************************************************************************
+   *
+   * @type:
+   *   FTC_SBitCache
+   *
+   * @description:
+   *   A handle to a small bitmap cache.  These are special cache objects
+   *   used to store small glyph bitmaps (and anti-aliased pixmaps) in a much
+   *   more efficient way than the traditional glyph image cache implemented
+   *   by @FTC_ImageCache.
+   */
+  typedef struct FTC_SBitCacheRec_*  FTC_SBitCache;
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FTC_SBitCache_New
+   *
+   * @description:
+   *   Create a new cache to store small glyph bitmaps.
+   *
+   * @input:
+   *   manager ::
+   *     A handle to the source cache manager.
+   *
+   * @output:
+   *   acache ::
+   *     A handle to the new sbit cache.  `NULL` in case of error.
+   *
+   * @return:
+   *   FreeType error code.  0~means success.
+   */
+  FT_EXPORT( FT_Error )
+  FTC_SBitCache_New( FTC_Manager     manager,
+                     FTC_SBitCache  *acache );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FTC_SBitCache_Lookup
+   *
+   * @description:
+   *   Look up a given small glyph bitmap in a given sbit cache and 'lock' it
+   *   to prevent its flushing from the cache until needed.
+   *
+   * @input:
+   *   cache ::
+   *     A handle to the source sbit cache.
+   *
+   *   type ::
+   *     A pointer to the glyph image type descriptor.
+   *
+   *   gindex ::
+   *     The glyph index.
+   *
+   * @output:
+   *   sbit ::
+   *     A handle to a small bitmap descriptor.
+   *
+   *   anode ::
+   *     Used to return the address of the corresponding cache node after
+   *     incrementing its reference count (see note below).
+   *
+   * @return:
+   *   FreeType error code.  0~means success.
+   *
+   * @note:
+   *   The small bitmap descriptor and its bit buffer are owned by the cache
+   *   and should never be freed by the application.  They might as well
+   *   disappear from memory on the next cache lookup, so don't treat them as
+   *   persistent data.
+   *
+   *   The descriptor's `buffer` field is set to~0 to indicate a missing
+   *   glyph bitmap.
+   *
+   *   If `anode` is _not_ `NULL`, it receives the address of the cache node
+   *   containing the bitmap, after increasing its reference count.  This
+   *   ensures that the node (as well as the image) will always be kept in
+   *   the cache until you call @FTC_Node_Unref to 'release' it.
+   *
+   *   If `anode` is `NULL`, the cache node is left unchanged, which means
+   *   that the bitmap could be flushed out of the cache on the next call to
+   *   one of the caching sub-system APIs.  Don't assume that it is
+   *   persistent!
+   */
+  FT_EXPORT( FT_Error )
+  FTC_SBitCache_Lookup( FTC_SBitCache    cache,
+                        FTC_ImageType    type,
+                        FT_UInt          gindex,
+                        FTC_SBit        *sbit,
+                        FTC_Node        *anode );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FTC_SBitCache_LookupScaler
+   *
+   * @description:
+   *   A variant of @FTC_SBitCache_Lookup that uses an @FTC_ScalerRec to
+   *   specify the face ID and its size.
+   *
+   * @input:
+   *   cache ::
+   *     A handle to the source sbit cache.
+   *
+   *   scaler ::
+   *     A pointer to the scaler descriptor.
+   *
+   *   load_flags ::
+   *     The corresponding load flags.
+   *
+   *   gindex ::
+   *     The glyph index.
+   *
+   * @output:
+   *   sbit ::
+   *     A handle to a small bitmap descriptor.
+   *
+   *   anode ::
+   *     Used to return the address of the corresponding cache node after
+   *     incrementing its reference count (see note below).
+   *
+   * @return:
+   *   FreeType error code.  0~means success.
+   *
+   * @note:
+   *   The small bitmap descriptor and its bit buffer are owned by the cache
+   *   and should never be freed by the application.  They might as well
+   *   disappear from memory on the next cache lookup, so don't treat them as
+   *   persistent data.
+   *
+   *   The descriptor's `buffer` field is set to~0 to indicate a missing
+   *   glyph bitmap.
+   *
+   *   If `anode` is _not_ `NULL`, it receives the address of the cache node
+   *   containing the bitmap, after increasing its reference count.  This
+   *   ensures that the node (as well as the image) will always be kept in
+   *   the cache until you call @FTC_Node_Unref to 'release' it.
+   *
+   *   If `anode` is `NULL`, the cache node is left unchanged, which means
+   *   that the bitmap could be flushed out of the cache on the next call to
+   *   one of the caching sub-system APIs.  Don't assume that it is
+   *   persistent!
+   */
+  FT_EXPORT( FT_Error )
+  FTC_SBitCache_LookupScaler( FTC_SBitCache  cache,
+                              FTC_Scaler     scaler,
+                              FT_ULong       load_flags,
+                              FT_UInt        gindex,
+                              FTC_SBit      *sbit,
+                              FTC_Node      *anode );
+
+  /* */
+
+
+FT_END_HEADER
+
+#endif /* FTCACHE_H_ */
+
+
+/* END */
diff --git a/CMU462/deps/freetype/include/freetype/ftchapters.h b/CMU462/deps/freetype/include/freetype/ftchapters.h
new file mode 100644
index 0000000..2ee2697
--- /dev/null
+++ b/CMU462/deps/freetype/include/freetype/ftchapters.h
@@ -0,0 +1,145 @@
+/****************************************************************************
+ *
+ * This file defines the structure of the FreeType reference.
+ * It is used by the python script that generates the HTML files.
+ *
+ */
+
+
+  /**************************************************************************
+   *
+   * @chapter:
+   *   general_remarks
+   *
+   * @title:
+   *   General Remarks
+   *
+   * @sections:
+   *   header_inclusion
+   *   user_allocation
+   *
+   */
+
+
+  /**************************************************************************
+   *
+   * @chapter:
+   *   core_api
+   *
+   * @title:
+   *   Core API
+   *
+   * @sections:
+   *   version
+   *   basic_types
+   *   base_interface
+   *   glyph_variants
+   *   color_management
+   *   layer_management
+   *   glyph_management
+   *   mac_specific
+   *   sizes_management
+   *   header_file_macros
+   *
+   */
+
+
+  /**************************************************************************
+   *
+   * @chapter:
+   *   format_specific
+   *
+   * @title:
+   *   Format-Specific API
+   *
+   * @sections:
+   *   multiple_masters
+   *   truetype_tables
+   *   type1_tables
+   *   sfnt_names
+   *   bdf_fonts
+   *   cid_fonts
+   *   pfr_fonts
+   *   winfnt_fonts
+   *   font_formats
+   *   gasp_table
+   *
+   */
+
+
+  /**************************************************************************
+   *
+   * @chapter:
+   *   module_specific
+   *
+   * @title:
+   *   Controlling FreeType Modules
+   *
+   * @sections:
+   *   auto_hinter
+   *   cff_driver
+   *   t1_cid_driver
+   *   tt_driver
+   *   pcf_driver
+   *   properties
+   *   parameter_tags
+   *   lcd_rendering
+   *
+   */
+
+
+  /**************************************************************************
+   *
+   * @chapter:
+   *   cache_subsystem
+   *
+   * @title:
+   *   Cache Sub-System
+   *
+   * @sections:
+   *   cache_subsystem
+   *
+   */
+
+
+  /**************************************************************************
+   *
+   * @chapter:
+   *   support_api
+   *
+   * @title:
+   *   Support API
+   *
+   * @sections:
+   *   computations
+   *   list_processing
+   *   outline_processing
+   *   quick_advance
+   *   bitmap_handling
+   *   raster
+   *   glyph_stroker
+   *   system_interface
+   *   module_management
+   *   gzip
+   *   lzw
+   *   bzip2
+   *
+   */
+
+
+  /**************************************************************************
+   *
+   * @chapter:
+   *   error_codes
+   *
+   * @title:
+   *   Error Codes
+   *
+   * @sections:
+   *   error_enumerations
+   *   error_code_values
+   *
+   */
+
+
+/* END */
diff --git a/CMU462/deps/freetype/include/freetype/ftcid.h b/CMU462/deps/freetype/include/freetype/ftcid.h
new file mode 100644
index 0000000..8eafc1c
--- /dev/null
+++ b/CMU462/deps/freetype/include/freetype/ftcid.h
@@ -0,0 +1,168 @@
+/****************************************************************************
+ *
+ * ftcid.h
+ *
+ *   FreeType API for accessing CID font information (specification).
+ *
+ * Copyright (C) 2007-2019 by
+ * Dereg Clegg and Michael Toftdal.
+ *
+ * This file is part of the FreeType project, and may only be used,
+ * modified, and distributed under the terms of the FreeType project
+ * license, LICENSE.TXT.  By continuing to use, modify, or distribute
+ * this file you indicate that you have read the license and
+ * understand and accept it fully.
+ *
+ */
+
+
+#ifndef FTCID_H_
+#define FTCID_H_
+
+#include <ft2build.h>
+#include FT_FREETYPE_H
+
+#ifdef FREETYPE_H
+#error "freetype.h of FreeType 1 has been loaded!"
+#error "Please fix the directory search order for header files"
+#error "so that freetype.h of FreeType 2 is found first."
+#endif
+
+
+FT_BEGIN_HEADER
+
+
+  /**************************************************************************
+   *
+   * @section:
+   *   cid_fonts
+   *
+   * @title:
+   *   CID Fonts
+   *
+   * @abstract:
+   *   CID-keyed font-specific API.
+   *
+   * @description:
+   *   This section contains the declaration of CID-keyed font-specific
+   *   functions.
+   *
+   */
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *    FT_Get_CID_Registry_Ordering_Supplement
+   *
+   * @description:
+   *    Retrieve the Registry/Ordering/Supplement triple (also known as the
+   *    "R/O/S") from a CID-keyed font.
+   *
+   * @input:
+   *    face ::
+   *      A handle to the input face.
+   *
+   * @output:
+   *    registry ::
+   *      The registry, as a C~string, owned by the face.
+   *
+   *    ordering ::
+   *      The ordering, as a C~string, owned by the face.
+   *
+   *    supplement ::
+   *      The supplement.
+   *
+   * @return:
+   *    FreeType error code.  0~means success.
+   *
+   * @note:
+   *    This function only works with CID faces, returning an error
+   *    otherwise.
+   *
+   * @since:
+   *    2.3.6
+   */
+  FT_EXPORT( FT_Error )
+  FT_Get_CID_Registry_Ordering_Supplement( FT_Face       face,
+                                           const char*  *registry,
+                                           const char*  *ordering,
+                                           FT_Int       *supplement );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *    FT_Get_CID_Is_Internally_CID_Keyed
+   *
+   * @description:
+   *    Retrieve the type of the input face, CID keyed or not.  In contrast
+   *    to the @FT_IS_CID_KEYED macro this function returns successfully also
+   *    for CID-keyed fonts in an SFNT wrapper.
+   *
+   * @input:
+   *    face ::
+   *      A handle to the input face.
+   *
+   * @output:
+   *    is_cid ::
+   *      The type of the face as an @FT_Bool.
+   *
+   * @return:
+   *    FreeType error code.  0~means success.
+   *
+   * @note:
+   *    This function only works with CID faces and OpenType fonts, returning
+   *    an error otherwise.
+   *
+   * @since:
+   *    2.3.9
+   */
+  FT_EXPORT( FT_Error )
+  FT_Get_CID_Is_Internally_CID_Keyed( FT_Face   face,
+                                      FT_Bool  *is_cid );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *    FT_Get_CID_From_Glyph_Index
+   *
+   * @description:
+   *    Retrieve the CID of the input glyph index.
+   *
+   * @input:
+   *    face ::
+   *      A handle to the input face.
+   *
+   *    glyph_index ::
+   *      The input glyph index.
+   *
+   * @output:
+   *    cid ::
+   *      The CID as an @FT_UInt.
+   *
+   * @return:
+   *    FreeType error code.  0~means success.
+   *
+   * @note:
+   *    This function only works with CID faces and OpenType fonts, returning
+   *    an error otherwise.
+   *
+   * @since:
+   *    2.3.9
+   */
+  FT_EXPORT( FT_Error )
+  FT_Get_CID_From_Glyph_Index( FT_Face   face,
+                               FT_UInt   glyph_index,
+                               FT_UInt  *cid );
+
+  /* */
+
+
+FT_END_HEADER
+
+#endif /* FTCID_H_ */
+
+
+/* END */
diff --git a/CMU462/deps/freetype/include/freetype/ftcolor.h b/CMU462/deps/freetype/include/freetype/ftcolor.h
new file mode 100644
index 0000000..cf18021
--- /dev/null
+++ b/CMU462/deps/freetype/include/freetype/ftcolor.h
@@ -0,0 +1,311 @@
+/****************************************************************************
+ *
+ * ftcolor.h
+ *
+ *   FreeType's glyph color management (specification).
+ *
+ * Copyright (C) 2018-2019 by
+ * David Turner, Robert Wilhelm, and Werner Lemberg.
+ *
+ * This file is part of the FreeType project, and may only be used,
+ * modified, and distributed under the terms of the FreeType project
+ * license, LICENSE.TXT.  By continuing to use, modify, or distribute
+ * this file you indicate that you have read the license and
+ * understand and accept it fully.
+ *
+ */
+
+
+#ifndef FTCOLOR_H_
+#define FTCOLOR_H_
+
+#include <ft2build.h>
+#include FT_FREETYPE_H
+
+#ifdef FREETYPE_H
+#error "freetype.h of FreeType 1 has been loaded!"
+#error "Please fix the directory search order for header files"
+#error "so that freetype.h of FreeType 2 is found first."
+#endif
+
+
+FT_BEGIN_HEADER
+
+
+  /**************************************************************************
+   *
+   * @section:
+   *   color_management
+   *
+   * @title:
+   *   Glyph Color Management
+   *
+   * @abstract:
+   *   Retrieving and manipulating OpenType's 'CPAL' table data.
+   *
+   * @description:
+   *   The functions described here allow access and manipulation of color
+   *   palette entries in OpenType's 'CPAL' tables.
+   */
+
+
+  /**************************************************************************
+   *
+   * @struct:
+   *   FT_Color
+   *
+   * @description:
+   *   This structure models a BGRA color value of a 'CPAL' palette entry.
+   *
+   *   The used color space is sRGB; the colors are not pre-multiplied, and
+   *   alpha values must be explicitly set.
+   *
+   * @fields:
+   *   blue ::
+   *     Blue value.
+   *
+   *   green ::
+   *     Green value.
+   *
+   *   red ::
+   *     Red value.
+   *
+   *   alpha ::
+   *     Alpha value, giving the red, green, and blue color's opacity.
+   *
+   * @since:
+   *   2.10
+   */
+  typedef struct  FT_Color_
+  {
+    FT_Byte  blue;
+    FT_Byte  green;
+    FT_Byte  red;
+    FT_Byte  alpha;
+
+  } FT_Color;
+
+
+  /**************************************************************************
+   *
+   * @enum:
+   *   FT_PALETTE_XXX
+   *
+   * @description:
+   *   A list of bit field constants used in the `palette_flags` array of the
+   *   @FT_Palette_Data structure to indicate for which background a palette
+   *   with a given index is usable.
+   *
+   * @values:
+   *   FT_PALETTE_FOR_LIGHT_BACKGROUND ::
+   *     The palette is appropriate to use when displaying the font on a
+   *     light background such as white.
+   *
+   *   FT_PALETTE_FOR_DARK_BACKGROUND ::
+   *     The palette is appropriate to use when displaying the font on a dark
+   *     background such as black.
+   *
+   * @since:
+   *   2.10
+   */
+#define FT_PALETTE_FOR_LIGHT_BACKGROUND  0x01
+#define FT_PALETTE_FOR_DARK_BACKGROUND   0x02
+
+
+  /**************************************************************************
+   *
+   * @struct:
+   *   FT_Palette_Data
+   *
+   * @description:
+   *   This structure holds the data of the 'CPAL' table.
+   *
+   * @fields:
+   *   num_palettes ::
+   *     The number of palettes.
+   *
+   *   palette_name_ids ::
+   *     A read-only array of palette name IDs with `num_palettes` elements,
+   *     corresponding to entries like 'dark' or 'light' in the font's 'name'
+   *     table.
+   *
+   *     An empty name ID in the 'CPAL' table gets represented as value
+   *     0xFFFF.
+   *
+   *     `NULL` if the font's 'CPAL' table doesn't contain appropriate data.
+   *
+   *   palette_flags ::
+   *     A read-only array of palette flags with `num_palettes` elements.
+   *     Possible values are an ORed combination of
+   *     @FT_PALETTE_FOR_LIGHT_BACKGROUND and
+   *     @FT_PALETTE_FOR_DARK_BACKGROUND.
+   *
+   *     `NULL` if the font's 'CPAL' table doesn't contain appropriate data.
+   *
+   *   num_palette_entries ::
+   *     The number of entries in a single palette.  All palettes have the
+   *     same size.
+   *
+   *   palette_entry_name_ids ::
+   *     A read-only array of palette entry name IDs with
+   *     `num_palette_entries`.  In each palette, entries with the same index
+   *     have the same function.  For example, index~0 might correspond to
+   *     string 'outline' in the font's 'name' table to indicate that this
+   *     palette entry is used for outlines, index~1 might correspond to
+   *     'fill' to indicate the filling color palette entry, etc.
+   *
+   *     An empty entry name ID in the 'CPAL' table gets represented as value
+   *     0xFFFF.
+   *
+   *     `NULL` if the font's 'CPAL' table doesn't contain appropriate data.
+   *
+   * @note:
+   *   Use function @FT_Get_Sfnt_Name to map name IDs and entry name IDs to
+   *   name strings.
+   *
+   * @since:
+   *   2.10
+   */
+  typedef struct  FT_Palette_Data_ {
+    FT_UShort         num_palettes;
+    const FT_UShort*  palette_name_ids;
+    const FT_UShort*  palette_flags;
+
+    FT_UShort         num_palette_entries;
+    const FT_UShort*  palette_entry_name_ids;
+
+  } FT_Palette_Data;
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Palette_Data_Get
+   *
+   * @description:
+   *   Retrieve the face's color palette data.
+   *
+   * @input:
+   *   face ::
+   *     The source face handle.
+   *
+   * @output:
+   *   apalette ::
+   *     A pointer to an @FT_Palette_Data structure.
+   *
+   * @return:
+   *   FreeType error code.  0~means success.
+   *
+   * @note:
+   *   All arrays in the returned @FT_Palette_Data structure are read-only.
+   *
+   *   This function always returns an error if the config macro
+   *   `TT_CONFIG_OPTION_COLOR_LAYERS` is not defined in `ftoption.h`.
+   *
+   * @since:
+   *   2.10
+   */
+  FT_EXPORT( FT_Error )
+  FT_Palette_Data_Get( FT_Face           face,
+                       FT_Palette_Data  *apalette );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Palette_Select
+   *
+   * @description:
+   *   This function has two purposes.
+   *
+   *   (1) It activates a palette for rendering color glyphs, and
+   *
+   *   (2) it retrieves all (unmodified) color entries of this palette.  This
+   *       function returns a read-write array, which means that a calling
+   *       application can modify the palette entries on demand.
+   *
+   * A corollary of (2) is that calling the function, then modifying some
+   * values, then calling the function again with the same arguments resets
+   * all color entries to the original 'CPAL' values; all user modifications
+   * are lost.
+   *
+   * @input:
+   *   face ::
+   *     The source face handle.
+   *
+   *   palette_index ::
+   *     The palette index.
+   *
+   * @output:
+   *   apalette ::
+   *     An array of color entries for a palette with index `palette_index`,
+   *     having `num_palette_entries` elements (as found in the
+   *     `FT_Palette_Data` structure).  If `apalette` is set to `NULL`, no
+   *     array gets returned (and no color entries can be modified).
+   *
+   *     In case the font doesn't support color palettes, `NULL` is returned.
+   *
+   * @return:
+   *   FreeType error code.  0~means success.
+   *
+   * @note:
+   *   The array pointed to by `apalette_entries` is owned and managed by
+   *   FreeType.
+   *
+   *   This function always returns an error if the config macro
+   *   `TT_CONFIG_OPTION_COLOR_LAYERS` is not defined in `ftoption.h`.
+   *
+   * @since:
+   *   2.10
+   */
+  FT_EXPORT( FT_Error )
+  FT_Palette_Select( FT_Face     face,
+                     FT_UShort   palette_index,
+                     FT_Color*  *apalette );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Palette_Set_Foreground_Color
+   *
+   * @description:
+   *   'COLR' uses palette index 0xFFFF to indicate a 'text foreground
+   *   color'.  This function sets this value.
+   *
+   * @input:
+   *   face ::
+   *     The source face handle.
+   *
+   *   foreground_color ::
+   *     An `FT_Color` structure to define the text foreground color.
+   *
+   * @return:
+   *   FreeType error code.  0~means success.
+   *
+   * @note:
+   *   If this function isn't called, the text foreground color is set to
+   *   white opaque (BGRA value 0xFFFFFFFF) if
+   *   @FT_PALETTE_FOR_DARK_BACKGROUND is present for the current palette,
+   *   and black opaque (BGRA value 0x000000FF) otherwise, including the case
+   *   that no palette types are available in the 'CPAL' table.
+   *
+   *   This function always returns an error if the config macro
+   *   `TT_CONFIG_OPTION_COLOR_LAYERS` is not defined in `ftoption.h`.
+   *
+   * @since:
+   *   2.10
+   */
+  FT_EXPORT( FT_Error )
+  FT_Palette_Set_Foreground_Color( FT_Face   face,
+                                   FT_Color  foreground_color );
+
+  /* */
+
+
+FT_END_HEADER
+
+#endif /* FTCOLOR_H_ */
+
+
+/* END */
diff --git a/CMU462/deps/freetype/include/freetype/ftdriver.h b/CMU462/deps/freetype/include/freetype/ftdriver.h
new file mode 100644
index 0000000..497bde9
--- /dev/null
+++ b/CMU462/deps/freetype/include/freetype/ftdriver.h
@@ -0,0 +1,1232 @@
+/****************************************************************************
+ *
+ * ftdriver.h
+ *
+ *   FreeType API for controlling driver modules (specification only).
+ *
+ * Copyright (C) 2017-2019 by
+ * David Turner, Robert Wilhelm, and Werner Lemberg.
+ *
+ * This file is part of the FreeType project, and may only be used,
+ * modified, and distributed under the terms of the FreeType project
+ * license, LICENSE.TXT.  By continuing to use, modify, or distribute
+ * this file you indicate that you have read the license and
+ * understand and accept it fully.
+ *
+ */
+
+
+#ifndef FTDRIVER_H_
+#define FTDRIVER_H_
+
+#include <ft2build.h>
+#include FT_FREETYPE_H
+#include FT_PARAMETER_TAGS_H
+
+#ifdef FREETYPE_H
+#error "freetype.h of FreeType 1 has been loaded!"
+#error "Please fix the directory search order for header files"
+#error "so that freetype.h of FreeType 2 is found first."
+#endif
+
+
+FT_BEGIN_HEADER
+
+
+  /**************************************************************************
+   *
+   * @section:
+   *   auto_hinter
+   *
+   * @title:
+   *   The auto-hinter
+   *
+   * @abstract:
+   *   Controlling the auto-hinting module.
+   *
+   * @description:
+   *   While FreeType's auto-hinter doesn't expose API functions by itself,
+   *   it is possible to control its behaviour with @FT_Property_Set and
+   *   @FT_Property_Get.  The following lists the available properties
+   *   together with the necessary macros and structures.
+   *
+   *   Note that the auto-hinter's module name is 'autofitter' for historical
+   *   reasons.
+   *
+   *   Available properties are @increase-x-height, @no-stem-darkening
+   *   (experimental), @darkening-parameters (experimental), @warping
+   *   (experimental), @glyph-to-script-map (experimental), @fallback-script
+   *   (experimental), and @default-script (experimental), as documented in
+   *   the @properties section.
+   *
+   */
+
+
+  /**************************************************************************
+   *
+   * @section:
+   *   cff_driver
+   *
+   * @title:
+   *   The CFF driver
+   *
+   * @abstract:
+   *   Controlling the CFF driver module.
+   *
+   * @description:
+   *   While FreeType's CFF driver doesn't expose API functions by itself, it
+   *   is possible to control its behaviour with @FT_Property_Set and
+   *   @FT_Property_Get.
+   *
+   *   The CFF driver's module name is 'cff'.
+   *
+   *   Available properties are @hinting-engine, @no-stem-darkening,
+   *   @darkening-parameters, and @random-seed, as documented in the
+   *   @properties section.
+   *
+   *
+   *   **Hinting and antialiasing principles of the new engine**
+   *
+   *   The rasterizer is positioning horizontal features (e.g., ascender
+   *   height & x-height, or crossbars) on the pixel grid and minimizing the
+   *   amount of antialiasing applied to them, while placing vertical
+   *   features (vertical stems) on the pixel grid without hinting, thus
+   *   representing the stem position and weight accurately.  Sometimes the
+   *   vertical stems may be only partially black.  In this context,
+   *   'antialiasing' means that stems are not positioned exactly on pixel
+   *   borders, causing a fuzzy appearance.
+   *
+   *   There are two principles behind this approach.
+   *
+   *   1) No hinting in the horizontal direction: Unlike 'superhinted'
+   *   TrueType, which changes glyph widths to accommodate regular
+   *   inter-glyph spacing, Adobe's approach is 'faithful to the design' in
+   *   representing both the glyph width and the inter-glyph spacing designed
+   *   for the font.  This makes the screen display as close as it can be to
+   *   the result one would get with infinite resolution, while preserving
+   *   what is considered the key characteristics of each glyph.  Note that
+   *   the distances between unhinted and grid-fitted positions at small
+   *   sizes are comparable to kerning values and thus would be noticeable
+   *   (and distracting) while reading if hinting were applied.
+   *
+   *   One of the reasons to not hint horizontally is antialiasing for LCD
+   *   screens: The pixel geometry of modern displays supplies three vertical
+   *   subpixels as the eye moves horizontally across each visible pixel.  On
+   *   devices where we can be certain this characteristic is present a
+   *   rasterizer can take advantage of the subpixels to add increments of
+   *   weight.  In Western writing systems this turns out to be the more
+   *   critical direction anyway; the weights and spacing of vertical stems
+   *   (see above) are central to Armenian, Cyrillic, Greek, and Latin type
+   *   designs.  Even when the rasterizer uses greyscale antialiasing instead
+   *   of color (a necessary compromise when one doesn't know the screen
+   *   characteristics), the unhinted vertical features preserve the design's
+   *   weight and spacing much better than aliased type would.
+   *
+   *   2) Alignment in the vertical direction: Weights and spacing along the
+   *   y~axis are less critical; what is much more important is the visual
+   *   alignment of related features (like cap-height and x-height).  The
+   *   sense of alignment for these is enhanced by the sharpness of grid-fit
+   *   edges, while the cruder vertical resolution (full pixels instead of
+   *   1/3 pixels) is less of a problem.
+   *
+   *   On the technical side, horizontal alignment zones for ascender,
+   *   x-height, and other important height values (traditionally called
+   *   'blue zones') as defined in the font are positioned independently,
+   *   each being rounded to the nearest pixel edge, taking care of overshoot
+   *   suppression at small sizes, stem darkening, and scaling.
+   *
+   *   Hstems (this is, hint values defined in the font to help align
+   *   horizontal features) that fall within a blue zone are said to be
+   *   'captured' and are aligned to that zone.  Uncaptured stems are moved
+   *   in one of four ways, top edge up or down, bottom edge up or down.
+   *   Unless there are conflicting hstems, the smallest movement is taken to
+   *   minimize distortion.
+   *
+   */
+
+
+  /**************************************************************************
+   *
+   * @section:
+   *   pcf_driver
+   *
+   * @title:
+   *   The PCF driver
+   *
+   * @abstract:
+   *   Controlling the PCF driver module.
+   *
+   * @description:
+   *   While FreeType's PCF driver doesn't expose API functions by itself, it
+   *   is possible to control its behaviour with @FT_Property_Set and
+   *   @FT_Property_Get.  Right now, there is a single property
+   *   @no-long-family-names available if FreeType is compiled with
+   *   PCF_CONFIG_OPTION_LONG_FAMILY_NAMES.
+   *
+   *   The PCF driver's module name is 'pcf'.
+   *
+   */
+
+
+  /**************************************************************************
+   *
+   * @section:
+   *   t1_cid_driver
+   *
+   * @title:
+   *   The Type 1 and CID drivers
+   *
+   * @abstract:
+   *   Controlling the Type~1 and CID driver modules.
+   *
+   * @description:
+   *   It is possible to control the behaviour of FreeType's Type~1 and
+   *   Type~1 CID drivers with @FT_Property_Set and @FT_Property_Get.
+   *
+   *   Behind the scenes, both drivers use the Adobe CFF engine for hinting;
+   *   however, the used properties must be specified separately.
+   *
+   *   The Type~1 driver's module name is 'type1'; the CID driver's module
+   *   name is 't1cid'.
+   *
+   *   Available properties are @hinting-engine, @no-stem-darkening,
+   *   @darkening-parameters, and @random-seed, as documented in the
+   *   @properties section.
+   *
+   *   Please see the @cff_driver section for more details on the new hinting
+   *   engine.
+   *
+   */
+
+
+  /**************************************************************************
+   *
+   * @section:
+   *   tt_driver
+   *
+   * @title:
+   *   The TrueType driver
+   *
+   * @abstract:
+   *   Controlling the TrueType driver module.
+   *
+   * @description:
+   *   While FreeType's TrueType driver doesn't expose API functions by
+   *   itself, it is possible to control its behaviour with @FT_Property_Set
+   *   and @FT_Property_Get.  The following lists the available properties
+   *   together with the necessary macros and structures.
+   *
+   *   The TrueType driver's module name is 'truetype'.
+   *
+   *   A single property @interpreter-version is available, as documented in
+   *   the @properties section.
+   *
+   *   We start with a list of definitions, kindly provided by Greg
+   *   Hitchcock.
+   *
+   *   _Bi-Level Rendering_
+   *
+   *   Monochromatic rendering, exclusively used in the early days of
+   *   TrueType by both Apple and Microsoft.  Microsoft's GDI interface
+   *   supported hinting of the right-side bearing point, such that the
+   *   advance width could be non-linear.  Most often this was done to
+   *   achieve some level of glyph symmetry.  To enable reasonable
+   *   performance (e.g., not having to run hinting on all glyphs just to get
+   *   the widths) there was a bit in the head table indicating if the side
+   *   bearing was hinted, and additional tables, 'hdmx' and 'LTSH', to cache
+   *   hinting widths across multiple sizes and device aspect ratios.
+   *
+   *   _Font Smoothing_
+   *
+   *   Microsoft's GDI implementation of anti-aliasing.  Not traditional
+   *   anti-aliasing as the outlines were hinted before the sampling.  The
+   *   widths matched the bi-level rendering.
+   *
+   *   _ClearType Rendering_
+   *
+   *   Technique that uses physical subpixels to improve rendering on LCD
+   *   (and other) displays.  Because of the higher resolution, many methods
+   *   of improving symmetry in glyphs through hinting the right-side bearing
+   *   were no longer necessary.  This lead to what GDI calls 'natural
+   *   widths' ClearType, see
+   *   http://rastertragedy.com/RTRCh4.htm#Sec21.  Since hinting
+   *   has extra resolution, most non-linearity went away, but it is still
+   *   possible for hints to change the advance widths in this mode.
+   *
+   *   _ClearType Compatible Widths_
+   *
+   *   One of the earliest challenges with ClearType was allowing the
+   *   implementation in GDI to be selected without requiring all UI and
+   *   documents to reflow.  To address this, a compatible method of
+   *   rendering ClearType was added where the font hints are executed once
+   *   to determine the width in bi-level rendering, and then re-run in
+   *   ClearType, with the difference in widths being absorbed in the font
+   *   hints for ClearType (mostly in the white space of hints); see
+   *   http://rastertragedy.com/RTRCh4.htm#Sec20.  Somewhat by
+   *   definition, compatible width ClearType allows for non-linear widths,
+   *   but only when the bi-level version has non-linear widths.
+   *
+   *   _ClearType Subpixel Positioning_
+   *
+   *   One of the nice benefits of ClearType is the ability to more crisply
+   *   display fractional widths; unfortunately, the GDI model of integer
+   *   bitmaps did not support this.  However, the WPF and Direct Write
+   *   frameworks do support fractional widths.  DWrite calls this 'natural
+   *   mode', not to be confused with GDI's 'natural widths'.  Subpixel
+   *   positioning, in the current implementation of Direct Write,
+   *   unfortunately does not support hinted advance widths, see
+   *   http://rastertragedy.com/RTRCh4.htm#Sec22.  Note that the
+   *   TrueType interpreter fully allows the advance width to be adjusted in
+   *   this mode, just the DWrite client will ignore those changes.
+   *
+   *   _ClearType Backward Compatibility_
+   *
+   *   This is a set of exceptions made in the TrueType interpreter to
+   *   minimize hinting techniques that were problematic with the extra
+   *   resolution of ClearType; see
+   *   http://rastertragedy.com/RTRCh4.htm#Sec1 and
+   *   https://www.microsoft.com/typography/cleartype/truetypecleartype.aspx.
+   *   This technique is not to be confused with ClearType compatible widths.
+   *   ClearType backward compatibility has no direct impact on changing
+   *   advance widths, but there might be an indirect impact on disabling
+   *   some deltas.  This could be worked around in backward compatibility
+   *   mode.
+   *
+   *   _Native ClearType Mode_
+   *
+   *   (Not to be confused with 'natural widths'.)  This mode removes all the
+   *   exceptions in the TrueType interpreter when running with ClearType.
+   *   Any issues on widths would still apply, though.
+   *
+   */
+
+
+  /**************************************************************************
+   *
+   * @section:
+   *   properties
+   *
+   * @title:
+   *   Driver properties
+   *
+   * @abstract:
+   *   Controlling driver modules.
+   *
+   * @description:
+   *   Driver modules can be controlled by setting and unsetting properties,
+   *   using the functions @FT_Property_Set and @FT_Property_Get.  This
+   *   section documents the available properties, together with auxiliary
+   *   macros and structures.
+   *
+   */
+
+
+  /**************************************************************************
+   *
+   * @enum:
+   *   FT_HINTING_XXX
+   *
+   * @description:
+   *   A list of constants used for the @hinting-engine property to select
+   *   the hinting engine for CFF, Type~1, and CID fonts.
+   *
+   * @values:
+   *   FT_HINTING_FREETYPE ::
+   *     Use the old FreeType hinting engine.
+   *
+   *   FT_HINTING_ADOBE ::
+   *     Use the hinting engine contributed by Adobe.
+   *
+   * @since:
+   *   2.9
+   *
+   */
+#define FT_HINTING_FREETYPE  0
+#define FT_HINTING_ADOBE     1
+
+  /* these constants (introduced in 2.4.12) are deprecated */
+#define FT_CFF_HINTING_FREETYPE  FT_HINTING_FREETYPE
+#define FT_CFF_HINTING_ADOBE     FT_HINTING_ADOBE
+
+
+  /**************************************************************************
+   *
+   * @property:
+   *   hinting-engine
+   *
+   * @description:
+   *   Thanks to Adobe, which contributed a new hinting (and parsing) engine,
+   *   an application can select between 'freetype' and 'adobe' if compiled
+   *   with `CFF_CONFIG_OPTION_OLD_ENGINE`.  If this configuration macro
+   *   isn't defined, 'hinting-engine' does nothing.
+   *
+   *   The same holds for the Type~1 and CID modules if compiled with
+   *   `T1_CONFIG_OPTION_OLD_ENGINE`.
+   *
+   *   For the 'cff' module, the default engine is 'freetype' if
+   *   `CFF_CONFIG_OPTION_OLD_ENGINE` is defined, and 'adobe' otherwise.
+   *
+   *   For both the 'type1' and 't1cid' modules, the default engine is
+   *   'freetype' if `T1_CONFIG_OPTION_OLD_ENGINE` is defined, and 'adobe'
+   *   otherwise.
+   *
+   * @note:
+   *   This property can be used with @FT_Property_Get also.
+   *
+   *   This property can be set via the `FREETYPE_PROPERTIES` environment
+   *   variable (using values 'adobe' or 'freetype').
+   *
+   * @example:
+   *   The following example code demonstrates how to select Adobe's hinting
+   *   engine for the 'cff' module (omitting the error handling).
+   *
+   *   ```
+   *     FT_Library  library;
+   *     FT_UInt     hinting_engine = FT_HINTING_ADOBE;
+   *
+   *
+   *     FT_Init_FreeType( &library );
+   *
+   *     FT_Property_Set( library, "cff",
+   *                               "hinting-engine", &hinting_engine );
+   *   ```
+   *
+   * @since:
+   *   2.4.12 (for 'cff' module)
+   *
+   *   2.9 (for 'type1' and 't1cid' modules)
+   *
+   */
+
+
+  /**************************************************************************
+   *
+   * @property:
+   *   no-stem-darkening
+   *
+   * @description:
+   *   All glyphs that pass through the auto-hinter will be emboldened unless
+   *   this property is set to TRUE.  The same is true for the CFF, Type~1,
+   *   and CID font modules if the 'Adobe' engine is selected (which is the
+   *   default).
+   *
+   *   Stem darkening emboldens glyphs at smaller sizes to make them more
+   *   readable on common low-DPI screens when using linear alpha blending
+   *   and gamma correction, see @FT_Render_Glyph.  When not using linear
+   *   alpha blending and gamma correction, glyphs will appear heavy and
+   *   fuzzy!
+   *
+   *   Gamma correction essentially lightens fonts since shades of grey are
+   *   shifted to higher pixel values (=~higher brightness) to match the
+   *   original intention to the reality of our screens.  The side-effect is
+   *   that glyphs 'thin out'.  Mac OS~X and Adobe's proprietary font
+   *   rendering library implement a counter-measure: stem darkening at
+   *   smaller sizes where shades of gray dominate.  By emboldening a glyph
+   *   slightly in relation to its pixel size, individual pixels get higher
+   *   coverage of filled-in outlines and are therefore 'blacker'.  This
+   *   counteracts the 'thinning out' of glyphs, making text remain readable
+   *   at smaller sizes.
+   *
+   *   By default, the Adobe engines for CFF, Type~1, and CID fonts darken
+   *   stems at smaller sizes, regardless of hinting, to enhance contrast.
+   *   Setting this property, stem darkening gets switched off.
+   *
+   *   For the auto-hinter, stem-darkening is experimental currently and thus
+   *   switched off by default (this is, `no-stem-darkening` is set to TRUE
+   *   by default).  Total consistency with the CFF driver is not achieved
+   *   right now because the emboldening method differs and glyphs must be
+   *   scaled down on the Y-axis to keep outline points inside their
+   *   precomputed blue zones.  The smaller the size (especially 9ppem and
+   *   down), the higher the loss of emboldening versus the CFF driver.
+   *
+   *   Note that stem darkening is never applied if @FT_LOAD_NO_SCALE is set.
+   *
+   * @note:
+   *   This property can be used with @FT_Property_Get also.
+   *
+   *   This property can be set via the `FREETYPE_PROPERTIES` environment
+   *   variable (using values 1 and 0 for 'on' and 'off', respectively).  It
+   *   can also be set per face using @FT_Face_Properties with
+   *   @FT_PARAM_TAG_STEM_DARKENING.
+   *
+   * @example:
+   *   ```
+   *     FT_Library  library;
+   *     FT_Bool     no_stem_darkening = TRUE;
+   *
+   *
+   *     FT_Init_FreeType( &library );
+   *
+   *     FT_Property_Set( library, "cff",
+   *                               "no-stem-darkening", &no_stem_darkening );
+   *   ```
+   *
+   * @since:
+   *   2.4.12 (for 'cff' module)
+   *
+   *   2.6.2 (for 'autofitter' module)
+   *
+   *   2.9 (for 'type1' and 't1cid' modules)
+   *
+   */
+
+
+  /**************************************************************************
+   *
+   * @property:
+   *   darkening-parameters
+   *
+   * @description:
+   *   By default, the Adobe hinting engine, as used by the CFF, Type~1, and
+   *   CID font drivers, darkens stems as follows (if the `no-stem-darkening`
+   *   property isn't set):
+   *
+   *   ```
+   *     stem width <= 0.5px:   darkening amount = 0.4px
+   *     stem width  = 1px:     darkening amount = 0.275px
+   *     stem width  = 1.667px: darkening amount = 0.275px
+   *     stem width >= 2.333px: darkening amount = 0px
+   *   ```
+   *
+   *   and piecewise linear in-between.  At configuration time, these four
+   *   control points can be set with the macro
+   *   `CFF_CONFIG_OPTION_DARKENING_PARAMETERS`; the CFF, Type~1, and CID
+   *   drivers share these values.  At runtime, the control points can be
+   *   changed using the `darkening-parameters` property (see the example
+   *   below that demonstrates this for the Type~1 driver).
+   *
+   *   The x~values give the stem width, and the y~values the darkening
+   *   amount.  The unit is 1000th of pixels.  All coordinate values must be
+   *   positive; the x~values must be monotonically increasing; the y~values
+   *   must be monotonically decreasing and smaller than or equal to 500
+   *   (corresponding to half a pixel); the slope of each linear piece must
+   *   be shallower than -1 (e.g., -.4).
+   *
+   *   The auto-hinter provides this property, too, as an experimental
+   *   feature.  See @no-stem-darkening for more.
+   *
+   * @note:
+   *   This property can be used with @FT_Property_Get also.
+   *
+   *   This property can be set via the `FREETYPE_PROPERTIES` environment
+   *   variable, using eight comma-separated integers without spaces.  Here
+   *   the above example, using `\` to break the line for readability.
+   *
+   *   ```
+   *     FREETYPE_PROPERTIES=\
+   *     type1:darkening-parameters=500,300,1000,200,1500,100,2000,0
+   *   ```
+   *
+   * @example:
+   *   ```
+   *     FT_Library  library;
+   *     FT_Int      darken_params[8] = {  500, 300,   // x1, y1
+   *                                      1000, 200,   // x2, y2
+   *                                      1500, 100,   // x3, y3
+   *                                      2000,   0 }; // x4, y4
+   *
+   *
+   *     FT_Init_FreeType( &library );
+   *
+   *     FT_Property_Set( library, "type1",
+   *                               "darkening-parameters", darken_params );
+   *   ```
+   *
+   * @since:
+   *   2.5.1 (for 'cff' module)
+   *
+   *   2.6.2 (for 'autofitter' module)
+   *
+   *   2.9 (for 'type1' and 't1cid' modules)
+   *
+   */
+
+
+  /**************************************************************************
+   *
+   * @property:
+   *   random-seed
+   *
+   * @description:
+   *   By default, the seed value for the CFF 'random' operator and the
+   *   similar '0 28 callothersubr pop' command for the Type~1 and CID
+   *   drivers is set to a random value.  However, mainly for debugging
+   *   purposes, it is often necessary to use a known value as a seed so that
+   *   the pseudo-random number sequences generated by 'random' are
+   *   repeatable.
+   *
+   *   The `random-seed` property does that.  Its argument is a signed 32bit
+   *   integer; if the value is zero or negative, the seed given by the
+   *   `intitialRandomSeed` private DICT operator in a CFF file gets used (or
+   *   a default value if there is no such operator).  If the value is
+   *   positive, use it instead of `initialRandomSeed`, which is consequently
+   *   ignored.
+   *
+   * @note:
+   *   This property can be set via the `FREETYPE_PROPERTIES` environment
+   *   variable.  It can also be set per face using @FT_Face_Properties with
+   *   @FT_PARAM_TAG_RANDOM_SEED.
+   *
+   * @since:
+   *   2.8 (for 'cff' module)
+   *
+   *   2.9 (for 'type1' and 't1cid' modules)
+   *
+   */
+
+
+  /**************************************************************************
+   *
+   * @property:
+   *   no-long-family-names
+   *
+   * @description:
+   *   If `PCF_CONFIG_OPTION_LONG_FAMILY_NAMES` is active while compiling
+   *   FreeType, the PCF driver constructs long family names.
+   *
+   *   There are many PCF fonts just called 'Fixed' which look completely
+   *   different, and which have nothing to do with each other.  When
+   *   selecting 'Fixed' in KDE or Gnome one gets results that appear rather
+   *   random, the style changes often if one changes the size and one cannot
+   *   select some fonts at all.  The improve this situation, the PCF module
+   *   prepends the foundry name (plus a space) to the family name.  It also
+   *   checks whether there are 'wide' characters; all put together, family
+   *   names like 'Sony Fixed' or 'Misc Fixed Wide' are constructed.
+   *
+   *   If `no-long-family-names` is set, this feature gets switched off.
+   *
+   * @note:
+   *   This property can be used with @FT_Property_Get also.
+   *
+   *   This property can be set via the `FREETYPE_PROPERTIES` environment
+   *   variable (using values 1 and 0 for 'on' and 'off', respectively).
+   *
+   * @example:
+   *   ```
+   *     FT_Library  library;
+   *     FT_Bool     no_long_family_names = TRUE;
+   *
+   *
+   *     FT_Init_FreeType( &library );
+   *
+   *     FT_Property_Set( library, "pcf",
+   *                               "no-long-family-names",
+   *                               &no_long_family_names );
+   *   ```
+   *
+   * @since:
+   *   2.8
+   */
+
+
+  /**************************************************************************
+   *
+   * @enum:
+   *   TT_INTERPRETER_VERSION_XXX
+   *
+   * @description:
+   *   A list of constants used for the @interpreter-version property to
+   *   select the hinting engine for Truetype fonts.
+   *
+   *   The numeric value in the constant names represents the version number
+   *   as returned by the 'GETINFO' bytecode instruction.
+   *
+   * @values:
+   *   TT_INTERPRETER_VERSION_35 ::
+   *     Version~35 corresponds to MS rasterizer v.1.7 as used e.g. in
+   *     Windows~98; only grayscale and B/W rasterizing is supported.
+   *
+   *   TT_INTERPRETER_VERSION_38 ::
+   *     Version~38 corresponds to MS rasterizer v.1.9; it is roughly
+   *     equivalent to the hinting provided by DirectWrite ClearType (as can
+   *     be found, for example, in the Internet Explorer~9 running on
+   *     Windows~7).  It is used in FreeType to select the 'Infinality'
+   *     subpixel hinting code.  The code may be removed in a future version.
+   *
+   *   TT_INTERPRETER_VERSION_40 ::
+   *     Version~40 corresponds to MS rasterizer v.2.1; it is roughly
+   *     equivalent to the hinting provided by DirectWrite ClearType (as can
+   *     be found, for example, in Microsoft's Edge Browser on Windows~10).
+   *     It is used in FreeType to select the 'minimal' subpixel hinting
+   *     code, a stripped-down and higher performance version of the
+   *     'Infinality' code.
+   *
+   * @note:
+   *   This property controls the behaviour of the bytecode interpreter and
+   *   thus how outlines get hinted.  It does **not** control how glyph get
+   *   rasterized!  In particular, it does not control subpixel color
+   *   filtering.
+   *
+   *   If FreeType has not been compiled with the configuration option
+   *   `TT_CONFIG_OPTION_SUBPIXEL_HINTING`, selecting version~38 or~40 causes
+   *   an `FT_Err_Unimplemented_Feature` error.
+   *
+   *   Depending on the graphics framework, Microsoft uses different bytecode
+   *   and rendering engines.  As a consequence, the version numbers returned
+   *   by a call to the 'GETINFO' bytecode instruction are more convoluted
+   *   than desired.
+   *
+   *   Here are two tables that try to shed some light on the possible values
+   *   for the MS rasterizer engine, together with the additional features
+   *   introduced by it.
+   *
+   *   ```
+   *     GETINFO framework               version feature
+   *     -------------------------------------------------------------------
+   *         3   GDI (Win 3.1),            v1.0  16-bit, first version
+   *             TrueImage
+   *        33   GDI (Win NT 3.1),         v1.5  32-bit
+   *             HP Laserjet
+   *        34   GDI (Win 95)              v1.6  font smoothing,
+   *                                             new SCANTYPE opcode
+   *        35   GDI (Win 98/2000)         v1.7  (UN)SCALED_COMPONENT_OFFSET
+   *                                               bits in composite glyphs
+   *        36   MGDI (Win CE 2)           v1.6+ classic ClearType
+   *        37   GDI (XP and later),       v1.8  ClearType
+   *             GDI+ old (before Vista)
+   *        38   GDI+ old (Vista, Win 7),  v1.9  subpixel ClearType,
+   *             WPF                             Y-direction ClearType,
+   *                                             additional error checking
+   *        39   DWrite (before Win 8)     v2.0  subpixel ClearType flags
+   *                                               in GETINFO opcode,
+   *                                             bug fixes
+   *        40   GDI+ (after Win 7),       v2.1  Y-direction ClearType flag
+   *             DWrite (Win 8)                    in GETINFO opcode,
+   *                                             Gray ClearType
+   *   ```
+   *
+   *   The 'version' field gives a rough orientation only, since some
+   *   applications provided certain features much earlier (as an example,
+   *   Microsoft Reader used subpixel and Y-direction ClearType already in
+   *   Windows 2000).  Similarly, updates to a given framework might include
+   *   improved hinting support.
+   *
+   *   ```
+   *      version   sampling          rendering        comment
+   *               x        y       x           y
+   *     --------------------------------------------------------------
+   *       v1.0   normal  normal  B/W           B/W    bi-level
+   *       v1.6   high    high    gray          gray   grayscale
+   *       v1.8   high    normal  color-filter  B/W    (GDI) ClearType
+   *       v1.9   high    high    color-filter  gray   Color ClearType
+   *       v2.1   high    normal  gray          B/W    Gray ClearType
+   *       v2.1   high    high    gray          gray   Gray ClearType
+   *   ```
+   *
+   *   Color and Gray ClearType are the two available variants of
+   *   'Y-direction ClearType', meaning grayscale rasterization along the
+   *   Y-direction; the name used in the TrueType specification for this
+   *   feature is 'symmetric smoothing'.  'Classic ClearType' is the original
+   *   algorithm used before introducing a modified version in Win~XP.
+   *   Another name for v1.6's grayscale rendering is 'font smoothing', and
+   *   'Color ClearType' is sometimes also called 'DWrite ClearType'.  To
+   *   differentiate between today's Color ClearType and the earlier
+   *   ClearType variant with B/W rendering along the vertical axis, the
+   *   latter is sometimes called 'GDI ClearType'.
+   *
+   *   'Normal' and 'high' sampling describe the (virtual) resolution to
+   *   access the rasterized outline after the hinting process.  'Normal'
+   *   means 1 sample per grid line (i.e., B/W).  In the current Microsoft
+   *   implementation, 'high' means an extra virtual resolution of 16x16 (or
+   *   16x1) grid lines per pixel for bytecode instructions like 'MIRP'.
+   *   After hinting, these 16 grid lines are mapped to 6x5 (or 6x1) grid
+   *   lines for color filtering if Color ClearType is activated.
+   *
+   *   Note that 'Gray ClearType' is essentially the same as v1.6's grayscale
+   *   rendering.  However, the GETINFO instruction handles it differently:
+   *   v1.6 returns bit~12 (hinting for grayscale), while v2.1 returns
+   *   bits~13 (hinting for ClearType), 18 (symmetrical smoothing), and~19
+   *   (Gray ClearType).  Also, this mode respects bits 2 and~3 for the
+   *   version~1 gasp table exclusively (like Color ClearType), while v1.6
+   *   only respects the values of version~0 (bits 0 and~1).
+   *
+   *   Keep in mind that the features of the above interpreter versions might
+   *   not map exactly to FreeType features or behavior because it is a
+   *   fundamentally different library with different internals.
+   *
+   */
+#define TT_INTERPRETER_VERSION_35  35
+#define TT_INTERPRETER_VERSION_38  38
+#define TT_INTERPRETER_VERSION_40  40
+
+
+  /**************************************************************************
+   *
+   * @property:
+   *   interpreter-version
+   *
+   * @description:
+   *   Currently, three versions are available, two representing the bytecode
+   *   interpreter with subpixel hinting support (old 'Infinality' code and
+   *   new stripped-down and higher performance 'minimal' code) and one
+   *   without, respectively.  The default is subpixel support if
+   *   `TT_CONFIG_OPTION_SUBPIXEL_HINTING` is defined, and no subpixel
+   *   support otherwise (since it isn't available then).
+   *
+   *   If subpixel hinting is on, many TrueType bytecode instructions behave
+   *   differently compared to B/W or grayscale rendering (except if 'native
+   *   ClearType' is selected by the font).  Microsoft's main idea is to
+   *   render at a much increased horizontal resolution, then sampling down
+   *   the created output to subpixel precision.  However, many older fonts
+   *   are not suited to this and must be specially taken care of by applying
+   *   (hardcoded) tweaks in Microsoft's interpreter.
+   *
+   *   Details on subpixel hinting and some of the necessary tweaks can be
+   *   found in Greg Hitchcock's whitepaper at
+   *   'https://www.microsoft.com/typography/cleartype/truetypecleartype.aspx'.
+   *   Note that FreeType currently doesn't really 'subpixel hint' (6x1, 6x2,
+   *   or 6x5 supersampling) like discussed in the paper.  Depending on the
+   *   chosen interpreter, it simply ignores instructions on vertical stems
+   *   to arrive at very similar results.
+   *
+   * @note:
+   *   This property can be used with @FT_Property_Get also.
+   *
+   *   This property can be set via the `FREETYPE_PROPERTIES` environment
+   *   variable (using values '35', '38', or '40').
+   *
+   * @example:
+   *   The following example code demonstrates how to deactivate subpixel
+   *   hinting (omitting the error handling).
+   *
+   *   ```
+   *     FT_Library  library;
+   *     FT_Face     face;
+   *     FT_UInt     interpreter_version = TT_INTERPRETER_VERSION_35;
+   *
+   *
+   *     FT_Init_FreeType( &library );
+   *
+   *     FT_Property_Set( library, "truetype",
+   *                               "interpreter-version",
+   *                               &interpreter_version );
+   *   ```
+   *
+   * @since:
+   *   2.5
+   */
+
+
+  /**************************************************************************
+   *
+   * @property:
+   *   glyph-to-script-map
+   *
+   * @description:
+   *   **Experimental only**
+   *
+   *   The auto-hinter provides various script modules to hint glyphs.
+   *   Examples of supported scripts are Latin or CJK.  Before a glyph is
+   *   auto-hinted, the Unicode character map of the font gets examined, and
+   *   the script is then determined based on Unicode character ranges, see
+   *   below.
+   *
+   *   OpenType fonts, however, often provide much more glyphs than character
+   *   codes (small caps, superscripts, ligatures, swashes, etc.), to be
+   *   controlled by so-called 'features'.  Handling OpenType features can be
+   *   quite complicated and thus needs a separate library on top of
+   *   FreeType.
+   *
+   *   The mapping between glyph indices and scripts (in the auto-hinter
+   *   sense, see the @FT_AUTOHINTER_SCRIPT_XXX values) is stored as an array
+   *   with `num_glyphs` elements, as found in the font's @FT_Face structure.
+   *   The `glyph-to-script-map` property returns a pointer to this array,
+   *   which can be modified as needed.  Note that the modification should
+   *   happen before the first glyph gets processed by the auto-hinter so
+   *   that the global analysis of the font shapes actually uses the modified
+   *   mapping.
+   *
+   * @example:
+   *   The following example code demonstrates how to access it (omitting the
+   *   error handling).
+   *
+   *   ```
+   *     FT_Library                library;
+   *     FT_Face                   face;
+   *     FT_Prop_GlyphToScriptMap  prop;
+   *
+   *
+   *     FT_Init_FreeType( &library );
+   *     FT_New_Face( library, "foo.ttf", 0, &face );
+   *
+   *     prop.face = face;
+   *
+   *     FT_Property_Get( library, "autofitter",
+   *                               "glyph-to-script-map", &prop );
+   *
+   *     // adjust `prop.map' as needed right here
+   *
+   *     FT_Load_Glyph( face, ..., FT_LOAD_FORCE_AUTOHINT );
+   *   ```
+   *
+   * @since:
+   *   2.4.11
+   *
+   */
+
+
+  /**************************************************************************
+   *
+   * @enum:
+   *   FT_AUTOHINTER_SCRIPT_XXX
+   *
+   * @description:
+   *   **Experimental only**
+   *
+   *   A list of constants used for the @glyph-to-script-map property to
+   *   specify the script submodule the auto-hinter should use for hinting a
+   *   particular glyph.
+   *
+   * @values:
+   *   FT_AUTOHINTER_SCRIPT_NONE ::
+   *     Don't auto-hint this glyph.
+   *
+   *   FT_AUTOHINTER_SCRIPT_LATIN ::
+   *     Apply the latin auto-hinter.  For the auto-hinter, 'latin' is a very
+   *     broad term, including Cyrillic and Greek also since characters from
+   *     those scripts share the same design constraints.
+   *
+   *     By default, characters from the following Unicode ranges are
+   *     assigned to this submodule.
+   *
+   *     ```
+   *       U+0020 - U+007F  // Basic Latin (no control characters)
+   *       U+00A0 - U+00FF  // Latin-1 Supplement (no control characters)
+   *       U+0100 - U+017F  // Latin Extended-A
+   *       U+0180 - U+024F  // Latin Extended-B
+   *       U+0250 - U+02AF  // IPA Extensions
+   *       U+02B0 - U+02FF  // Spacing Modifier Letters
+   *       U+0300 - U+036F  // Combining Diacritical Marks
+   *       U+0370 - U+03FF  // Greek and Coptic
+   *       U+0400 - U+04FF  // Cyrillic
+   *       U+0500 - U+052F  // Cyrillic Supplement
+   *       U+1D00 - U+1D7F  // Phonetic Extensions
+   *       U+1D80 - U+1DBF  // Phonetic Extensions Supplement
+   *       U+1DC0 - U+1DFF  // Combining Diacritical Marks Supplement
+   *       U+1E00 - U+1EFF  // Latin Extended Additional
+   *       U+1F00 - U+1FFF  // Greek Extended
+   *       U+2000 - U+206F  // General Punctuation
+   *       U+2070 - U+209F  // Superscripts and Subscripts
+   *       U+20A0 - U+20CF  // Currency Symbols
+   *       U+2150 - U+218F  // Number Forms
+   *       U+2460 - U+24FF  // Enclosed Alphanumerics
+   *       U+2C60 - U+2C7F  // Latin Extended-C
+   *       U+2DE0 - U+2DFF  // Cyrillic Extended-A
+   *       U+2E00 - U+2E7F  // Supplemental Punctuation
+   *       U+A640 - U+A69F  // Cyrillic Extended-B
+   *       U+A720 - U+A7FF  // Latin Extended-D
+   *       U+FB00 - U+FB06  // Alphab. Present. Forms (Latin Ligatures)
+   *      U+1D400 - U+1D7FF // Mathematical Alphanumeric Symbols
+   *      U+1F100 - U+1F1FF // Enclosed Alphanumeric Supplement
+   *     ```
+   *
+   *   FT_AUTOHINTER_SCRIPT_CJK ::
+   *     Apply the CJK auto-hinter, covering Chinese, Japanese, Korean, old
+   *     Vietnamese, and some other scripts.
+   *
+   *     By default, characters from the following Unicode ranges are
+   *     assigned to this submodule.
+   *
+   *     ```
+   *       U+1100 - U+11FF  // Hangul Jamo
+   *       U+2E80 - U+2EFF  // CJK Radicals Supplement
+   *       U+2F00 - U+2FDF  // Kangxi Radicals
+   *       U+2FF0 - U+2FFF  // Ideographic Description Characters
+   *       U+3000 - U+303F  // CJK Symbols and Punctuation
+   *       U+3040 - U+309F  // Hiragana
+   *       U+30A0 - U+30FF  // Katakana
+   *       U+3100 - U+312F  // Bopomofo
+   *       U+3130 - U+318F  // Hangul Compatibility Jamo
+   *       U+3190 - U+319F  // Kanbun
+   *       U+31A0 - U+31BF  // Bopomofo Extended
+   *       U+31C0 - U+31EF  // CJK Strokes
+   *       U+31F0 - U+31FF  // Katakana Phonetic Extensions
+   *       U+3200 - U+32FF  // Enclosed CJK Letters and Months
+   *       U+3300 - U+33FF  // CJK Compatibility
+   *       U+3400 - U+4DBF  // CJK Unified Ideographs Extension A
+   *       U+4DC0 - U+4DFF  // Yijing Hexagram Symbols
+   *       U+4E00 - U+9FFF  // CJK Unified Ideographs
+   *       U+A960 - U+A97F  // Hangul Jamo Extended-A
+   *       U+AC00 - U+D7AF  // Hangul Syllables
+   *       U+D7B0 - U+D7FF  // Hangul Jamo Extended-B
+   *       U+F900 - U+FAFF  // CJK Compatibility Ideographs
+   *       U+FE10 - U+FE1F  // Vertical forms
+   *       U+FE30 - U+FE4F  // CJK Compatibility Forms
+   *       U+FF00 - U+FFEF  // Halfwidth and Fullwidth Forms
+   *      U+1B000 - U+1B0FF // Kana Supplement
+   *      U+1D300 - U+1D35F // Tai Xuan Hing Symbols
+   *      U+1F200 - U+1F2FF // Enclosed Ideographic Supplement
+   *      U+20000 - U+2A6DF // CJK Unified Ideographs Extension B
+   *      U+2A700 - U+2B73F // CJK Unified Ideographs Extension C
+   *      U+2B740 - U+2B81F // CJK Unified Ideographs Extension D
+   *      U+2F800 - U+2FA1F // CJK Compatibility Ideographs Supplement
+   *     ```
+   *
+   *   FT_AUTOHINTER_SCRIPT_INDIC ::
+   *     Apply the indic auto-hinter, covering all major scripts from the
+   *     Indian sub-continent and some other related scripts like Thai, Lao,
+   *     or Tibetan.
+   *
+   *     By default, characters from the following Unicode ranges are
+   *     assigned to this submodule.
+   *
+   *     ```
+   *       U+0900 - U+0DFF  // Indic Range
+   *       U+0F00 - U+0FFF  // Tibetan
+   *       U+1900 - U+194F  // Limbu
+   *       U+1B80 - U+1BBF  // Sundanese
+   *       U+A800 - U+A82F  // Syloti Nagri
+   *       U+ABC0 - U+ABFF  // Meetei Mayek
+   *      U+11800 - U+118DF // Sharada
+   *     ```
+   *
+   *     Note that currently Indic support is rudimentary only, missing blue
+   *     zone support.
+   *
+   * @since:
+   *   2.4.11
+   *
+   */
+#define FT_AUTOHINTER_SCRIPT_NONE   0
+#define FT_AUTOHINTER_SCRIPT_LATIN  1
+#define FT_AUTOHINTER_SCRIPT_CJK    2
+#define FT_AUTOHINTER_SCRIPT_INDIC  3
+
+
+  /**************************************************************************
+   *
+   * @struct:
+   *   FT_Prop_GlyphToScriptMap
+   *
+   * @description:
+   *   **Experimental only**
+   *
+   *   The data exchange structure for the @glyph-to-script-map property.
+   *
+   * @since:
+   *   2.4.11
+   *
+   */
+  typedef struct  FT_Prop_GlyphToScriptMap_
+  {
+    FT_Face     face;
+    FT_UShort*  map;
+
+  } FT_Prop_GlyphToScriptMap;
+
+
+  /**************************************************************************
+   *
+   * @property:
+   *   fallback-script
+   *
+   * @description:
+   *   **Experimental only**
+   *
+   *   If no auto-hinter script module can be assigned to a glyph, a fallback
+   *   script gets assigned to it (see also the @glyph-to-script-map
+   *   property).  By default, this is @FT_AUTOHINTER_SCRIPT_CJK.  Using the
+   *   `fallback-script` property, this fallback value can be changed.
+   *
+   * @note:
+   *   This property can be used with @FT_Property_Get also.
+   *
+   *   It's important to use the right timing for changing this value: The
+   *   creation of the glyph-to-script map that eventually uses the fallback
+   *   script value gets triggered either by setting or reading a
+   *   face-specific property like @glyph-to-script-map, or by auto-hinting
+   *   any glyph from that face.  In particular, if you have already created
+   *   an @FT_Face structure but not loaded any glyph (using the
+   *   auto-hinter), a change of the fallback script will affect this face.
+   *
+   * @example:
+   *   ```
+   *     FT_Library  library;
+   *     FT_UInt     fallback_script = FT_AUTOHINTER_SCRIPT_NONE;
+   *
+   *
+   *     FT_Init_FreeType( &library );
+   *
+   *     FT_Property_Set( library, "autofitter",
+   *                               "fallback-script", &fallback_script );
+   *   ```
+   *
+   * @since:
+   *   2.4.11
+   *
+   */
+
+
+  /**************************************************************************
+   *
+   * @property:
+   *   default-script
+   *
+   * @description:
+   *   **Experimental only**
+   *
+   *   If FreeType gets compiled with `FT_CONFIG_OPTION_USE_HARFBUZZ` to make
+   *   the HarfBuzz library access OpenType features for getting better glyph
+   *   coverages, this property sets the (auto-fitter) script to be used for
+   *   the default (OpenType) script data of a font's GSUB table.  Features
+   *   for the default script are intended for all scripts not explicitly
+   *   handled in GSUB; an example is a 'dlig' feature, containing the
+   *   combination of the characters 'T', 'E', and 'L' to form a 'TEL'
+   *   ligature.
+   *
+   *   By default, this is @FT_AUTOHINTER_SCRIPT_LATIN.  Using the
+   *   `default-script` property, this default value can be changed.
+   *
+   * @note:
+   *   This property can be used with @FT_Property_Get also.
+   *
+   *   It's important to use the right timing for changing this value: The
+   *   creation of the glyph-to-script map that eventually uses the default
+   *   script value gets triggered either by setting or reading a
+   *   face-specific property like @glyph-to-script-map, or by auto-hinting
+   *   any glyph from that face.  In particular, if you have already created
+   *   an @FT_Face structure but not loaded any glyph (using the
+   *   auto-hinter), a change of the default script will affect this face.
+   *
+   * @example:
+   *   ```
+   *     FT_Library  library;
+   *     FT_UInt     default_script = FT_AUTOHINTER_SCRIPT_NONE;
+   *
+   *
+   *     FT_Init_FreeType( &library );
+   *
+   *     FT_Property_Set( library, "autofitter",
+   *                               "default-script", &default_script );
+   *   ```
+   *
+   * @since:
+   *   2.5.3
+   *
+   */
+
+
+  /**************************************************************************
+   *
+   * @property:
+   *   increase-x-height
+   *
+   * @description:
+   *   For ppem values in the range 6~<= ppem <= `increase-x-height`, round
+   *   up the font's x~height much more often than normally.  If the value is
+   *   set to~0, which is the default, this feature is switched off.  Use
+   *   this property to improve the legibility of small font sizes if
+   *   necessary.
+   *
+   * @note:
+   *   This property can be used with @FT_Property_Get also.
+   *
+   *   Set this value right after calling @FT_Set_Char_Size, but before
+   *   loading any glyph (using the auto-hinter).
+   *
+   * @example:
+   *   ```
+   *     FT_Library               library;
+   *     FT_Face                  face;
+   *     FT_Prop_IncreaseXHeight  prop;
+   *
+   *
+   *     FT_Init_FreeType( &library );
+   *     FT_New_Face( library, "foo.ttf", 0, &face );
+   *     FT_Set_Char_Size( face, 10 * 64, 0, 72, 0 );
+   *
+   *     prop.face  = face;
+   *     prop.limit = 14;
+   *
+   *     FT_Property_Set( library, "autofitter",
+   *                               "increase-x-height", &prop );
+   *   ```
+   *
+   * @since:
+   *   2.4.11
+   *
+   */
+
+
+  /**************************************************************************
+   *
+   * @struct:
+   *   FT_Prop_IncreaseXHeight
+   *
+   * @description:
+   *   The data exchange structure for the @increase-x-height property.
+   *
+   */
+  typedef struct  FT_Prop_IncreaseXHeight_
+  {
+    FT_Face  face;
+    FT_UInt  limit;
+
+  } FT_Prop_IncreaseXHeight;
+
+
+  /**************************************************************************
+   *
+   * @property:
+   *   warping
+   *
+   * @description:
+   *   **Experimental only**
+   *
+   *   If FreeType gets compiled with option `AF_CONFIG_OPTION_USE_WARPER` to
+   *   activate the warp hinting code in the auto-hinter, this property
+   *   switches warping on and off.
+   *
+   *   Warping only works in 'normal' auto-hinting mode replacing it.  The
+   *   idea of the code is to slightly scale and shift a glyph along the
+   *   non-hinted dimension (which is usually the horizontal axis) so that as
+   *   much of its segments are aligned (more or less) to the grid.  To find
+   *   out a glyph's optimal scaling and shifting value, various parameter
+   *   combinations are tried and scored.
+   *
+   *   By default, warping is off.
+   *
+   * @note:
+   *   This property can be used with @FT_Property_Get also.
+   *
+   *   This property can be set via the `FREETYPE_PROPERTIES` environment
+   *   variable (using values 1 and 0 for 'on' and 'off', respectively).
+   *
+   *   The warping code can also change advance widths.  Have a look at the
+   *   `lsb_delta` and `rsb_delta` fields in the @FT_GlyphSlotRec structure
+   *   for details on improving inter-glyph distances while rendering.
+   *
+   *   Since warping is a global property of the auto-hinter it is best to
+   *   change its value before rendering any face.  Otherwise, you should
+   *   reload all faces that get auto-hinted in 'normal' hinting mode.
+   *
+   * @example:
+   *   This example shows how to switch on warping (omitting the error
+   *   handling).
+   *
+   *   ```
+   *     FT_Library  library;
+   *     FT_Bool     warping = 1;
+   *
+   *
+   *     FT_Init_FreeType( &library );
+   *
+   *     FT_Property_Set( library, "autofitter", "warping", &warping );
+   *   ```
+   *
+   * @since:
+   *   2.6
+   *
+   */
+
+
+ /* */
+
+
+FT_END_HEADER
+
+
+#endif /* FTDRIVER_H_ */
+
+
+/* END */
diff --git a/CMU462/deps/freetype/include/freetype2/freetype/fterrdef.h b/CMU462/deps/freetype/include/freetype/fterrdef.h
old mode 100755
new mode 100644
similarity index 78%
rename from CMU462/deps/freetype/include/freetype2/freetype/fterrdef.h
rename to CMU462/deps/freetype/include/freetype/fterrdef.h
index d7ad256..9bc7dc6
--- a/CMU462/deps/freetype/include/freetype2/freetype/fterrdef.h
+++ b/CMU462/deps/freetype/include/freetype/fterrdef.h
@@ -1,239 +1,279 @@
-/***************************************************************************/
-/*                                                                         */
-/*  fterrdef.h                                                             */
-/*                                                                         */
-/*    FreeType error codes (specification).                                */
-/*                                                                         */
-/*  Copyright 2002, 2004, 2006, 2007 by                                    */
-/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
-/*                                                                         */
-/*  This file is part of the FreeType project, and may only be used,       */
-/*  modified, and distributed under the terms of the FreeType project      */
-/*  license, LICENSE.TXT.  By continuing to use, modify, or distribute     */
-/*  this file you indicate that you have read the license and              */
-/*  understand and accept it fully.                                        */
-/*                                                                         */
-/***************************************************************************/
-
-
-  /*******************************************************************/
-  /*******************************************************************/
-  /*****                                                         *****/
-  /*****                LIST OF ERROR CODES/MESSAGES             *****/
-  /*****                                                         *****/
-  /*******************************************************************/
-  /*******************************************************************/
-
-
-  /* You need to define both FT_ERRORDEF_ and FT_NOERRORDEF_ before */
-  /* including this file.                                           */
+/****************************************************************************
+ *
+ * fterrdef.h
+ *
+ *   FreeType error codes (specification).
+ *
+ * Copyright (C) 2002-2019 by
+ * David Turner, Robert Wilhelm, and Werner Lemberg.
+ *
+ * This file is part of the FreeType project, and may only be used,
+ * modified, and distributed under the terms of the FreeType project
+ * license, LICENSE.TXT.  By continuing to use, modify, or distribute
+ * this file you indicate that you have read the license and
+ * understand and accept it fully.
+ *
+ */
 
 
+  /**************************************************************************
+   *
+   * @section:
+   *  error_code_values
+   *
+   * @title:
+   *  Error Code Values
+   *
+   * @abstract:
+   *  All possible error codes returned by FreeType functions.
+   *
+   * @description:
+   *  The list below is taken verbatim from the file `fterrdef.h` (loaded
+   *  automatically by including `FT_FREETYPE_H`).  The first argument of the
+   *  `FT_ERROR_DEF_` macro is the error label; by default, the prefix
+   *  `FT_Err_` gets added so that you get error names like
+   *  `FT_Err_Cannot_Open_Resource`.  The second argument is the error code,
+   *  and the last argument an error string, which is not used by FreeType.
+   *
+   *  Within your application you should **only** use error names and
+   *  **never** its numeric values!  The latter might (and actually do)
+   *  change in forthcoming FreeType versions.
+   *
+   *  Macro `FT_NOERRORDEF_` defines `FT_Err_Ok`, which is always zero.  See
+   *  the 'Error Enumerations' subsection how to automatically generate a
+   *  list of error strings.
+   *
+   */
+
+
+  /**************************************************************************
+   *
+   * @enum:
+   *   FT_Err_XXX
+   *
+   */
+
   /* generic errors */
 
-  FT_NOERRORDEF_( Ok,                                        0x00, \
+  FT_NOERRORDEF_( Ok,                                        0x00,
                   "no error" )
 
-  FT_ERRORDEF_( Cannot_Open_Resource,                        0x01, \
+  FT_ERRORDEF_( Cannot_Open_Resource,                        0x01,
                 "cannot open resource" )
-  FT_ERRORDEF_( Unknown_File_Format,                         0x02, \
+  FT_ERRORDEF_( Unknown_File_Format,                         0x02,
                 "unknown file format" )
-  FT_ERRORDEF_( Invalid_File_Format,                         0x03, \
+  FT_ERRORDEF_( Invalid_File_Format,                         0x03,
                 "broken file" )
-  FT_ERRORDEF_( Invalid_Version,                             0x04, \
+  FT_ERRORDEF_( Invalid_Version,                             0x04,
                 "invalid FreeType version" )
-  FT_ERRORDEF_( Lower_Module_Version,                        0x05, \
+  FT_ERRORDEF_( Lower_Module_Version,                        0x05,
                 "module version is too low" )
-  FT_ERRORDEF_( Invalid_Argument,                            0x06, \
+  FT_ERRORDEF_( Invalid_Argument,                            0x06,
                 "invalid argument" )
-  FT_ERRORDEF_( Unimplemented_Feature,                       0x07, \
+  FT_ERRORDEF_( Unimplemented_Feature,                       0x07,
                 "unimplemented feature" )
-  FT_ERRORDEF_( Invalid_Table,                               0x08, \
+  FT_ERRORDEF_( Invalid_Table,                               0x08,
                 "broken table" )
-  FT_ERRORDEF_( Invalid_Offset,                              0x09, \
+  FT_ERRORDEF_( Invalid_Offset,                              0x09,
                 "broken offset within table" )
-  FT_ERRORDEF_( Array_Too_Large,                             0x0A, \
+  FT_ERRORDEF_( Array_Too_Large,                             0x0A,
                 "array allocation size too large" )
+  FT_ERRORDEF_( Missing_Module,                              0x0B,
+                "missing module" )
+  FT_ERRORDEF_( Missing_Property,                            0x0C,
+                "missing property" )
 
   /* glyph/character errors */
 
-  FT_ERRORDEF_( Invalid_Glyph_Index,                         0x10, \
+  FT_ERRORDEF_( Invalid_Glyph_Index,                         0x10,
                 "invalid glyph index" )
-  FT_ERRORDEF_( Invalid_Character_Code,                      0x11, \
+  FT_ERRORDEF_( Invalid_Character_Code,                      0x11,
                 "invalid character code" )
-  FT_ERRORDEF_( Invalid_Glyph_Format,                        0x12, \
+  FT_ERRORDEF_( Invalid_Glyph_Format,                        0x12,
                 "unsupported glyph image format" )
-  FT_ERRORDEF_( Cannot_Render_Glyph,                         0x13, \
+  FT_ERRORDEF_( Cannot_Render_Glyph,                         0x13,
                 "cannot render this glyph format" )
-  FT_ERRORDEF_( Invalid_Outline,                             0x14, \
+  FT_ERRORDEF_( Invalid_Outline,                             0x14,
                 "invalid outline" )
-  FT_ERRORDEF_( Invalid_Composite,                           0x15, \
+  FT_ERRORDEF_( Invalid_Composite,                           0x15,
                 "invalid composite glyph" )
-  FT_ERRORDEF_( Too_Many_Hints,                              0x16, \
+  FT_ERRORDEF_( Too_Many_Hints,                              0x16,
                 "too many hints" )
-  FT_ERRORDEF_( Invalid_Pixel_Size,                          0x17, \
+  FT_ERRORDEF_( Invalid_Pixel_Size,                          0x17,
                 "invalid pixel size" )
 
   /* handle errors */
 
-  FT_ERRORDEF_( Invalid_Handle,                              0x20, \
+  FT_ERRORDEF_( Invalid_Handle,                              0x20,
                 "invalid object handle" )
-  FT_ERRORDEF_( Invalid_Library_Handle,                      0x21, \
+  FT_ERRORDEF_( Invalid_Library_Handle,                      0x21,
                 "invalid library handle" )
-  FT_ERRORDEF_( Invalid_Driver_Handle,                       0x22, \
+  FT_ERRORDEF_( Invalid_Driver_Handle,                       0x22,
                 "invalid module handle" )
-  FT_ERRORDEF_( Invalid_Face_Handle,                         0x23, \
+  FT_ERRORDEF_( Invalid_Face_Handle,                         0x23,
                 "invalid face handle" )
-  FT_ERRORDEF_( Invalid_Size_Handle,                         0x24, \
+  FT_ERRORDEF_( Invalid_Size_Handle,                         0x24,
                 "invalid size handle" )
-  FT_ERRORDEF_( Invalid_Slot_Handle,                         0x25, \
+  FT_ERRORDEF_( Invalid_Slot_Handle,                         0x25,
                 "invalid glyph slot handle" )
-  FT_ERRORDEF_( Invalid_CharMap_Handle,                      0x26, \
+  FT_ERRORDEF_( Invalid_CharMap_Handle,                      0x26,
                 "invalid charmap handle" )
-  FT_ERRORDEF_( Invalid_Cache_Handle,                        0x27, \
+  FT_ERRORDEF_( Invalid_Cache_Handle,                        0x27,
                 "invalid cache manager handle" )
-  FT_ERRORDEF_( Invalid_Stream_Handle,                       0x28, \
+  FT_ERRORDEF_( Invalid_Stream_Handle,                       0x28,
                 "invalid stream handle" )
 
   /* driver errors */
 
-  FT_ERRORDEF_( Too_Many_Drivers,                            0x30, \
+  FT_ERRORDEF_( Too_Many_Drivers,                            0x30,
                 "too many modules" )
-  FT_ERRORDEF_( Too_Many_Extensions,                         0x31, \
+  FT_ERRORDEF_( Too_Many_Extensions,                         0x31,
                 "too many extensions" )
 
   /* memory errors */
 
-  FT_ERRORDEF_( Out_Of_Memory,                               0x40, \
+  FT_ERRORDEF_( Out_Of_Memory,                               0x40,
                 "out of memory" )
-  FT_ERRORDEF_( Unlisted_Object,                             0x41, \
+  FT_ERRORDEF_( Unlisted_Object,                             0x41,
                 "unlisted object" )
 
   /* stream errors */
 
-  FT_ERRORDEF_( Cannot_Open_Stream,                          0x51, \
+  FT_ERRORDEF_( Cannot_Open_Stream,                          0x51,
                 "cannot open stream" )
-  FT_ERRORDEF_( Invalid_Stream_Seek,                         0x52, \
+  FT_ERRORDEF_( Invalid_Stream_Seek,                         0x52,
                 "invalid stream seek" )
-  FT_ERRORDEF_( Invalid_Stream_Skip,                         0x53, \
+  FT_ERRORDEF_( Invalid_Stream_Skip,                         0x53,
                 "invalid stream skip" )
-  FT_ERRORDEF_( Invalid_Stream_Read,                         0x54, \
+  FT_ERRORDEF_( Invalid_Stream_Read,                         0x54,
                 "invalid stream read" )
-  FT_ERRORDEF_( Invalid_Stream_Operation,                    0x55, \
+  FT_ERRORDEF_( Invalid_Stream_Operation,                    0x55,
                 "invalid stream operation" )
-  FT_ERRORDEF_( Invalid_Frame_Operation,                     0x56, \
+  FT_ERRORDEF_( Invalid_Frame_Operation,                     0x56,
                 "invalid frame operation" )
-  FT_ERRORDEF_( Nested_Frame_Access,                         0x57, \
+  FT_ERRORDEF_( Nested_Frame_Access,                         0x57,
                 "nested frame access" )
-  FT_ERRORDEF_( Invalid_Frame_Read,                          0x58, \
+  FT_ERRORDEF_( Invalid_Frame_Read,                          0x58,
                 "invalid frame read" )
 
   /* raster errors */
 
-  FT_ERRORDEF_( Raster_Uninitialized,                        0x60, \
+  FT_ERRORDEF_( Raster_Uninitialized,                        0x60,
                 "raster uninitialized" )
-  FT_ERRORDEF_( Raster_Corrupted,                            0x61, \
+  FT_ERRORDEF_( Raster_Corrupted,                            0x61,
                 "raster corrupted" )
-  FT_ERRORDEF_( Raster_Overflow,                             0x62, \
+  FT_ERRORDEF_( Raster_Overflow,                             0x62,
                 "raster overflow" )
-  FT_ERRORDEF_( Raster_Negative_Height,                      0x63, \
+  FT_ERRORDEF_( Raster_Negative_Height,                      0x63,
                 "negative height while rastering" )
 
   /* cache errors */
 
-  FT_ERRORDEF_( Too_Many_Caches,                             0x70, \
+  FT_ERRORDEF_( Too_Many_Caches,                             0x70,
                 "too many registered caches" )
 
   /* TrueType and SFNT errors */
 
-  FT_ERRORDEF_( Invalid_Opcode,                              0x80, \
+  FT_ERRORDEF_( Invalid_Opcode,                              0x80,
                 "invalid opcode" )
-  FT_ERRORDEF_( Too_Few_Arguments,                           0x81, \
+  FT_ERRORDEF_( Too_Few_Arguments,                           0x81,
                 "too few arguments" )
-  FT_ERRORDEF_( Stack_Overflow,                              0x82, \
+  FT_ERRORDEF_( Stack_Overflow,                              0x82,
                 "stack overflow" )
-  FT_ERRORDEF_( Code_Overflow,                               0x83, \
+  FT_ERRORDEF_( Code_Overflow,                               0x83,
                 "code overflow" )
-  FT_ERRORDEF_( Bad_Argument,                                0x84, \
+  FT_ERRORDEF_( Bad_Argument,                                0x84,
                 "bad argument" )
-  FT_ERRORDEF_( Divide_By_Zero,                              0x85, \
+  FT_ERRORDEF_( Divide_By_Zero,                              0x85,
                 "division by zero" )
-  FT_ERRORDEF_( Invalid_Reference,                           0x86, \
+  FT_ERRORDEF_( Invalid_Reference,                           0x86,
                 "invalid reference" )
-  FT_ERRORDEF_( Debug_OpCode,                                0x87, \
+  FT_ERRORDEF_( Debug_OpCode,                                0x87,
                 "found debug opcode" )
-  FT_ERRORDEF_( ENDF_In_Exec_Stream,                         0x88, \
+  FT_ERRORDEF_( ENDF_In_Exec_Stream,                         0x88,
                 "found ENDF opcode in execution stream" )
-  FT_ERRORDEF_( Nested_DEFS,                                 0x89, \
+  FT_ERRORDEF_( Nested_DEFS,                                 0x89,
                 "nested DEFS" )
-  FT_ERRORDEF_( Invalid_CodeRange,                           0x8A, \
+  FT_ERRORDEF_( Invalid_CodeRange,                           0x8A,
                 "invalid code range" )
-  FT_ERRORDEF_( Execution_Too_Long,                          0x8B, \
+  FT_ERRORDEF_( Execution_Too_Long,                          0x8B,
                 "execution context too long" )
-  FT_ERRORDEF_( Too_Many_Function_Defs,                      0x8C, \
+  FT_ERRORDEF_( Too_Many_Function_Defs,                      0x8C,
                 "too many function definitions" )
-  FT_ERRORDEF_( Too_Many_Instruction_Defs,                   0x8D, \
+  FT_ERRORDEF_( Too_Many_Instruction_Defs,                   0x8D,
                 "too many instruction definitions" )
-  FT_ERRORDEF_( Table_Missing,                               0x8E, \
+  FT_ERRORDEF_( Table_Missing,                               0x8E,
                 "SFNT font table missing" )
-  FT_ERRORDEF_( Horiz_Header_Missing,                        0x8F, \
+  FT_ERRORDEF_( Horiz_Header_Missing,                        0x8F,
                 "horizontal header (hhea) table missing" )
-  FT_ERRORDEF_( Locations_Missing,                           0x90, \
+  FT_ERRORDEF_( Locations_Missing,                           0x90,
                 "locations (loca) table missing" )
-  FT_ERRORDEF_( Name_Table_Missing,                          0x91, \
+  FT_ERRORDEF_( Name_Table_Missing,                          0x91,
                 "name table missing" )
-  FT_ERRORDEF_( CMap_Table_Missing,                          0x92, \
+  FT_ERRORDEF_( CMap_Table_Missing,                          0x92,
                 "character map (cmap) table missing" )
-  FT_ERRORDEF_( Hmtx_Table_Missing,                          0x93, \
+  FT_ERRORDEF_( Hmtx_Table_Missing,                          0x93,
                 "horizontal metrics (hmtx) table missing" )
-  FT_ERRORDEF_( Post_Table_Missing,                          0x94, \
+  FT_ERRORDEF_( Post_Table_Missing,                          0x94,
                 "PostScript (post) table missing" )
-  FT_ERRORDEF_( Invalid_Horiz_Metrics,                       0x95, \
+  FT_ERRORDEF_( Invalid_Horiz_Metrics,                       0x95,
                 "invalid horizontal metrics" )
-  FT_ERRORDEF_( Invalid_CharMap_Format,                      0x96, \
+  FT_ERRORDEF_( Invalid_CharMap_Format,                      0x96,
                 "invalid character map (cmap) format" )
-  FT_ERRORDEF_( Invalid_PPem,                                0x97, \
+  FT_ERRORDEF_( Invalid_PPem,                                0x97,
                 "invalid ppem value" )
-  FT_ERRORDEF_( Invalid_Vert_Metrics,                        0x98, \
+  FT_ERRORDEF_( Invalid_Vert_Metrics,                        0x98,
                 "invalid vertical metrics" )
-  FT_ERRORDEF_( Could_Not_Find_Context,                      0x99, \
+  FT_ERRORDEF_( Could_Not_Find_Context,                      0x99,
                 "could not find context" )
-  FT_ERRORDEF_( Invalid_Post_Table_Format,                   0x9A, \
+  FT_ERRORDEF_( Invalid_Post_Table_Format,                   0x9A,
                 "invalid PostScript (post) table format" )
-  FT_ERRORDEF_( Invalid_Post_Table,                          0x9B, \
+  FT_ERRORDEF_( Invalid_Post_Table,                          0x9B,
                 "invalid PostScript (post) table" )
+  FT_ERRORDEF_( DEF_In_Glyf_Bytecode,                        0x9C,
+                "found FDEF or IDEF opcode in glyf bytecode" )
+  FT_ERRORDEF_( Missing_Bitmap,                              0x9D,
+                "missing bitmap in strike" )
 
   /* CFF, CID, and Type 1 errors */
 
-  FT_ERRORDEF_( Syntax_Error,                                0xA0, \
+  FT_ERRORDEF_( Syntax_Error,                                0xA0,
                 "opcode syntax error" )
-  FT_ERRORDEF_( Stack_Underflow,                             0xA1, \
+  FT_ERRORDEF_( Stack_Underflow,                             0xA1,
                 "argument stack underflow" )
-  FT_ERRORDEF_( Ignore,                                      0xA2, \
+  FT_ERRORDEF_( Ignore,                                      0xA2,
                 "ignore" )
+  FT_ERRORDEF_( No_Unicode_Glyph_Name,                       0xA3,
+                "no Unicode glyph name found" )
+  FT_ERRORDEF_( Glyph_Too_Big,                               0xA4,
+                "glyph too big for hinting" )
 
   /* BDF errors */
 
-  FT_ERRORDEF_( Missing_Startfont_Field,                     0xB0, \
+  FT_ERRORDEF_( Missing_Startfont_Field,                     0xB0,
                 "`STARTFONT' field missing" )
-  FT_ERRORDEF_( Missing_Font_Field,                          0xB1, \
+  FT_ERRORDEF_( Missing_Font_Field,                          0xB1,
                 "`FONT' field missing" )
-  FT_ERRORDEF_( Missing_Size_Field,                          0xB2, \
+  FT_ERRORDEF_( Missing_Size_Field,                          0xB2,
                 "`SIZE' field missing" )
-  FT_ERRORDEF_( Missing_Chars_Field,                         0xB3, \
+  FT_ERRORDEF_( Missing_Fontboundingbox_Field,               0xB3,
+                "`FONTBOUNDINGBOX' field missing" )
+  FT_ERRORDEF_( Missing_Chars_Field,                         0xB4,
                 "`CHARS' field missing" )
-  FT_ERRORDEF_( Missing_Startchar_Field,                     0xB4, \
+  FT_ERRORDEF_( Missing_Startchar_Field,                     0xB5,
                 "`STARTCHAR' field missing" )
-  FT_ERRORDEF_( Missing_Encoding_Field,                      0xB5, \
+  FT_ERRORDEF_( Missing_Encoding_Field,                      0xB6,
                 "`ENCODING' field missing" )
-  FT_ERRORDEF_( Missing_Bbx_Field,                           0xB6, \
+  FT_ERRORDEF_( Missing_Bbx_Field,                           0xB7,
                 "`BBX' field missing" )
-  FT_ERRORDEF_( Bbx_Too_Big,                                 0xB7, \
+  FT_ERRORDEF_( Bbx_Too_Big,                                 0xB8,
                 "`BBX' too big" )
-  FT_ERRORDEF_( Corrupted_Font_Header,                       0xB8, \
+  FT_ERRORDEF_( Corrupted_Font_Header,                       0xB9,
                 "Font header corrupted or missing fields" )
-  FT_ERRORDEF_( Corrupted_Font_Glyphs,                       0xB9, \
+  FT_ERRORDEF_( Corrupted_Font_Glyphs,                       0xBA,
                 "Font glyphs corrupted or missing fields" )
 
+  /* */
+
 
 /* END */
diff --git a/CMU462/deps/freetype/include/freetype/fterrors.h b/CMU462/deps/freetype/include/freetype/fterrors.h
new file mode 100644
index 0000000..2b47eb2
--- /dev/null
+++ b/CMU462/deps/freetype/include/freetype/fterrors.h
@@ -0,0 +1,289 @@
+/****************************************************************************
+ *
+ * fterrors.h
+ *
+ *   FreeType error code handling (specification).
+ *
+ * Copyright (C) 1996-2019 by
+ * David Turner, Robert Wilhelm, and Werner Lemberg.
+ *
+ * This file is part of the FreeType project, and may only be used,
+ * modified, and distributed under the terms of the FreeType project
+ * license, LICENSE.TXT.  By continuing to use, modify, or distribute
+ * this file you indicate that you have read the license and
+ * understand and accept it fully.
+ *
+ */
+
+
+  /**************************************************************************
+   *
+   * @section:
+   *   error_enumerations
+   *
+   * @title:
+   *   Error Enumerations
+   *
+   * @abstract:
+   *   How to handle errors and error strings.
+   *
+   * @description:
+   *   The header file `fterrors.h` (which is automatically included by
+   *   `freetype.h` defines the handling of FreeType's enumeration
+   *   constants.  It can also be used to generate error message strings
+   *   with a small macro trick explained below.
+   *
+   *   **Error Formats**
+   *
+   *   The configuration macro `FT_CONFIG_OPTION_USE_MODULE_ERRORS` can be
+   *   defined in `ftoption.h` in order to make the higher byte indicate the
+   *   module where the error has happened (this is not compatible with
+   *   standard builds of FreeType~2, however).  See the file `ftmoderr.h`
+   *   for more details.
+   *
+   *   **Error Message Strings**
+   *
+   *   Error definitions are set up with special macros that allow client
+   *   applications to build a table of error message strings.  The strings
+   *   are not included in a normal build of FreeType~2 to save space (most
+   *   client applications do not use them).
+   *
+   *   To do so, you have to define the following macros before including
+   *   this file.
+   *
+   *   ```
+   *     FT_ERROR_START_LIST
+   *   ```
+   *
+   *   This macro is called before anything else to define the start of the
+   *   error list.  It is followed by several `FT_ERROR_DEF` calls.
+   *
+   *   ```
+   *     FT_ERROR_DEF( e, v, s )
+   *   ```
+   *
+   *   This macro is called to define one single error.  'e' is the error
+   *   code identifier (e.g., `Invalid_Argument`), 'v' is the error's
+   *   numerical value, and 's' is the corresponding error string.
+   *
+   *   ```
+   *     FT_ERROR_END_LIST
+   *   ```
+   *
+   *   This macro ends the list.
+   *
+   *   Additionally, you have to undefine `FTERRORS_H_` before #including
+   *   this file.
+   *
+   *   Here is a simple example.
+   *
+   *   ```
+   *     #undef FTERRORS_H_
+   *     #define FT_ERRORDEF( e, v, s )  { e, s },
+   *     #define FT_ERROR_START_LIST     {
+   *     #define FT_ERROR_END_LIST       { 0, NULL } };
+   *
+   *     const struct
+   *     {
+   *       int          err_code;
+   *       const char*  err_msg;
+   *     } ft_errors[] =
+   *
+   *     #include FT_ERRORS_H
+   *   ```
+   *
+   *   An alternative to using an array is a switch statement.
+   *
+   *   ```
+   *     #undef FTERRORS_H_
+   *     #define FT_ERROR_START_LIST     switch ( error_code ) {
+   *     #define FT_ERRORDEF( e, v, s )    case v: return s;
+   *     #define FT_ERROR_END_LIST       }
+   *   ```
+   *
+   *   If you use `FT_CONFIG_OPTION_USE_MODULE_ERRORS`, `error_code` should
+   *   be replaced with `FT_ERROR_BASE(error_code)` in the last example.
+   */
+
+  /* */
+
+  /* In previous FreeType versions we used `__FTERRORS_H__`.  However, */
+  /* using two successive underscores in a non-system symbol name      */
+  /* violates the C (and C++) standard, so it was changed to the       */
+  /* current form.  In spite of this, we have to make                  */
+  /*                                                                   */
+  /* ```                                                               */
+  /*   #undefine __FTERRORS_H__                                        */
+  /* ```                                                               */
+  /*                                                                   */
+  /* work for backward compatibility.                                  */
+  /*                                                                   */
+#if !( defined( FTERRORS_H_ ) && defined ( __FTERRORS_H__ ) )
+#define FTERRORS_H_
+#define __FTERRORS_H__
+
+
+  /* include module base error codes */
+#include FT_MODULE_ERRORS_H
+
+
+  /*******************************************************************/
+  /*******************************************************************/
+  /*****                                                         *****/
+  /*****                       SETUP MACROS                      *****/
+  /*****                                                         *****/
+  /*******************************************************************/
+  /*******************************************************************/
+
+
+#undef  FT_NEED_EXTERN_C
+
+
+  /* FT_ERR_PREFIX is used as a prefix for error identifiers. */
+  /* By default, we use `FT_Err_`.                            */
+  /*                                                          */
+#ifndef FT_ERR_PREFIX
+#define FT_ERR_PREFIX  FT_Err_
+#endif
+
+
+  /* FT_ERR_BASE is used as the base for module-specific errors. */
+  /*                                                             */
+#ifdef FT_CONFIG_OPTION_USE_MODULE_ERRORS
+
+#ifndef FT_ERR_BASE
+#define FT_ERR_BASE  FT_Mod_Err_Base
+#endif
+
+#else
+
+#undef FT_ERR_BASE
+#define FT_ERR_BASE  0
+
+#endif /* FT_CONFIG_OPTION_USE_MODULE_ERRORS */
+
+
+  /* If FT_ERRORDEF is not defined, we need to define a simple */
+  /* enumeration type.                                         */
+  /*                                                           */
+#ifndef FT_ERRORDEF
+
+#define FT_INCLUDE_ERR_PROTOS
+
+#define FT_ERRORDEF( e, v, s )  e = v,
+#define FT_ERROR_START_LIST     enum {
+#define FT_ERROR_END_LIST       FT_ERR_CAT( FT_ERR_PREFIX, Max ) };
+
+#ifdef __cplusplus
+#define FT_NEED_EXTERN_C
+  extern "C" {
+#endif
+
+#endif /* !FT_ERRORDEF */
+
+
+  /* this macro is used to define an error */
+#define FT_ERRORDEF_( e, v, s )                                             \
+          FT_ERRORDEF( FT_ERR_CAT( FT_ERR_PREFIX, e ), v + FT_ERR_BASE, s )
+
+  /* this is only used for <module>_Err_Ok, which must be 0! */
+#define FT_NOERRORDEF_( e, v, s )                             \
+          FT_ERRORDEF( FT_ERR_CAT( FT_ERR_PREFIX, e ), v, s )
+
+
+#ifdef FT_ERROR_START_LIST
+  FT_ERROR_START_LIST
+#endif
+
+
+  /* now include the error codes */
+#include FT_ERROR_DEFINITIONS_H
+
+
+#ifdef FT_ERROR_END_LIST
+  FT_ERROR_END_LIST
+#endif
+
+
+  /*******************************************************************/
+  /*******************************************************************/
+  /*****                                                         *****/
+  /*****                      SIMPLE CLEANUP                     *****/
+  /*****                                                         *****/
+  /*******************************************************************/
+  /*******************************************************************/
+
+#ifdef FT_NEED_EXTERN_C
+  }
+#endif
+
+#undef FT_ERROR_START_LIST
+#undef FT_ERROR_END_LIST
+
+#undef FT_ERRORDEF
+#undef FT_ERRORDEF_
+#undef FT_NOERRORDEF_
+
+#undef FT_NEED_EXTERN_C
+#undef FT_ERR_BASE
+
+  /* FT_ERR_PREFIX is needed internally */
+#ifndef FT2_BUILD_LIBRARY
+#undef FT_ERR_PREFIX
+#endif
+
+  /* FT_INCLUDE_ERR_PROTOS:  Control if function prototypes should be       */
+  /*                         included with `#include FT_ERRORS_H'.  This is */
+  /*                         only true where `FT_ERRORDEF` is undefined.    */
+  /* FT_ERR_PROTOS_DEFINED:  Actual multiple-inclusion protection of        */
+  /*                         `fterrors.h`.                                  */
+#ifdef FT_INCLUDE_ERR_PROTOS
+#undef FT_INCLUDE_ERR_PROTOS
+
+#ifndef FT_ERR_PROTOS_DEFINED
+#define FT_ERR_PROTOS_DEFINED
+
+
+FT_BEGIN_HEADER
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Error_String
+   *
+   * @description:
+   *   Retrieve the description of a valid FreeType error code.
+   *
+   * @input:
+   *   error_code ::
+   *     A valid FreeType error code.
+   *
+   * @return:
+   *   A C~string or `NULL`, if any error occurred.
+   *
+   * @note:
+   *   FreeType has to be compiled with `FT_CONFIG_OPTION_ERROR_STRINGS` or
+   *   `FT_DEBUG_LEVEL_ERROR` to get meaningful descriptions.
+   *   'error_string' will be `NULL` otherwise.
+   *
+   *   Module identification will be ignored:
+   *
+   *   ```c
+   *     strcmp( FT_Error_String(  FT_Err_Unknown_File_Format ),
+   *             FT_Error_String( BDF_Err_Unknown_File_Format ) ) == 0;
+   *   ```
+   */
+  FT_EXPORT( const char* )
+  FT_Error_String( FT_Error  error_code );
+
+FT_END_HEADER
+
+
+#endif /* FT_ERR_PROTOS_DEFINED */
+
+#endif /* FT_INCLUDE_ERR_PROTOS */
+
+#endif /* !(FTERRORS_H_ && __FTERRORS_H__) */
+
+
+/* END */
diff --git a/CMU462/deps/freetype/include/freetype/ftfntfmt.h b/CMU462/deps/freetype/include/freetype/ftfntfmt.h
new file mode 100644
index 0000000..aae0b13
--- /dev/null
+++ b/CMU462/deps/freetype/include/freetype/ftfntfmt.h
@@ -0,0 +1,94 @@
+/****************************************************************************
+ *
+ * ftfntfmt.h
+ *
+ *   Support functions for font formats.
+ *
+ * Copyright (C) 2002-2019 by
+ * David Turner, Robert Wilhelm, and Werner Lemberg.
+ *
+ * This file is part of the FreeType project, and may only be used,
+ * modified, and distributed under the terms of the FreeType project
+ * license, LICENSE.TXT.  By continuing to use, modify, or distribute
+ * this file you indicate that you have read the license and
+ * understand and accept it fully.
+ *
+ */
+
+
+#ifndef FTFNTFMT_H_
+#define FTFNTFMT_H_
+
+#include <ft2build.h>
+#include FT_FREETYPE_H
+
+#ifdef FREETYPE_H
+#error "freetype.h of FreeType 1 has been loaded!"
+#error "Please fix the directory search order for header files"
+#error "so that freetype.h of FreeType 2 is found first."
+#endif
+
+
+FT_BEGIN_HEADER
+
+
+  /**************************************************************************
+   *
+   * @section:
+   *  font_formats
+   *
+   * @title:
+   *  Font Formats
+   *
+   * @abstract:
+   *  Getting the font format.
+   *
+   * @description:
+   *  The single function in this section can be used to get the font format.
+   *  Note that this information is not needed normally; however, there are
+   *  special cases (like in PDF devices) where it is important to
+   *  differentiate, in spite of FreeType's uniform API.
+   *
+   */
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *  FT_Get_Font_Format
+   *
+   * @description:
+   *  Return a string describing the format of a given face.  Possible values
+   *  are 'TrueType', 'Type~1', 'BDF', 'PCF', 'Type~42', 'CID~Type~1', 'CFF',
+   *  'PFR', and 'Windows~FNT'.
+   *
+   *  The return value is suitable to be used as an X11 FONT_PROPERTY.
+   *
+   * @input:
+   *  face ::
+   *    Input face handle.
+   *
+   * @return:
+   *  Font format string.  `NULL` in case of error.
+   *
+   * @note:
+   *  A deprecated name for the same function is `FT_Get_X11_Font_Format`.
+   */
+  FT_EXPORT( const char* )
+  FT_Get_Font_Format( FT_Face  face );
+
+
+  /* deprecated */
+  FT_EXPORT( const char* )
+  FT_Get_X11_Font_Format( FT_Face  face );
+
+
+  /* */
+
+
+FT_END_HEADER
+
+#endif /* FTFNTFMT_H_ */
+
+
+/* END */
diff --git a/CMU462/deps/freetype/include/freetype/ftgasp.h b/CMU462/deps/freetype/include/freetype/ftgasp.h
new file mode 100644
index 0000000..24673d8
--- /dev/null
+++ b/CMU462/deps/freetype/include/freetype/ftgasp.h
@@ -0,0 +1,144 @@
+/****************************************************************************
+ *
+ * ftgasp.h
+ *
+ *   Access of TrueType's 'gasp' table (specification).
+ *
+ * Copyright (C) 2007-2019 by
+ * David Turner, Robert Wilhelm, and Werner Lemberg.
+ *
+ * This file is part of the FreeType project, and may only be used,
+ * modified, and distributed under the terms of the FreeType project
+ * license, LICENSE.TXT.  By continuing to use, modify, or distribute
+ * this file you indicate that you have read the license and
+ * understand and accept it fully.
+ *
+ */
+
+
+#ifndef FTGASP_H_
+#define FTGASP_H_
+
+#include <ft2build.h>
+#include FT_FREETYPE_H
+
+#ifdef FREETYPE_H
+#error "freetype.h of FreeType 1 has been loaded!"
+#error "Please fix the directory search order for header files"
+#error "so that freetype.h of FreeType 2 is found first."
+#endif
+
+
+FT_BEGIN_HEADER
+
+
+  /**************************************************************************
+   *
+   * @section:
+   *   gasp_table
+   *
+   * @title:
+   *   Gasp Table
+   *
+   * @abstract:
+   *   Retrieving TrueType 'gasp' table entries.
+   *
+   * @description:
+   *   The function @FT_Get_Gasp can be used to query a TrueType or OpenType
+   *   font for specific entries in its 'gasp' table, if any.  This is mainly
+   *   useful when implementing native TrueType hinting with the bytecode
+   *   interpreter to duplicate the Windows text rendering results.
+   */
+
+  /**************************************************************************
+   *
+   * @enum:
+   *   FT_GASP_XXX
+   *
+   * @description:
+   *   A list of values and/or bit-flags returned by the @FT_Get_Gasp
+   *   function.
+   *
+   * @values:
+   *   FT_GASP_NO_TABLE ::
+   *     This special value means that there is no GASP table in this face.
+   *     It is up to the client to decide what to do.
+   *
+   *   FT_GASP_DO_GRIDFIT ::
+   *     Grid-fitting and hinting should be performed at the specified ppem.
+   *     This **really** means TrueType bytecode interpretation.  If this bit
+   *     is not set, no hinting gets applied.
+   *
+   *   FT_GASP_DO_GRAY ::
+   *     Anti-aliased rendering should be performed at the specified ppem.
+   *     If not set, do monochrome rendering.
+   *
+   *   FT_GASP_SYMMETRIC_SMOOTHING ::
+   *     If set, smoothing along multiple axes must be used with ClearType.
+   *
+   *   FT_GASP_SYMMETRIC_GRIDFIT ::
+   *     Grid-fitting must be used with ClearType's symmetric smoothing.
+   *
+   * @note:
+   *   The bit-flags `FT_GASP_DO_GRIDFIT` and `FT_GASP_DO_GRAY` are to be
+   *   used for standard font rasterization only.  Independently of that,
+   *   `FT_GASP_SYMMETRIC_SMOOTHING` and `FT_GASP_SYMMETRIC_GRIDFIT` are to
+   *   be used if ClearType is enabled (and `FT_GASP_DO_GRIDFIT` and
+   *   `FT_GASP_DO_GRAY` are consequently ignored).
+   *
+   *   'ClearType' is Microsoft's implementation of LCD rendering, partly
+   *   protected by patents.
+   *
+   * @since:
+   *   2.3.0
+   */
+#define FT_GASP_NO_TABLE               -1
+#define FT_GASP_DO_GRIDFIT           0x01
+#define FT_GASP_DO_GRAY              0x02
+#define FT_GASP_SYMMETRIC_GRIDFIT    0x04
+#define FT_GASP_SYMMETRIC_SMOOTHING  0x08
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Get_Gasp
+   *
+   * @description:
+   *   For a TrueType or OpenType font file, return the rasterizer behaviour
+   *   flags from the font's 'gasp' table corresponding to a given character
+   *   pixel size.
+   *
+   * @input:
+   *   face ::
+   *     The source face handle.
+   *
+   *   ppem ::
+   *     The vertical character pixel size.
+   *
+   * @return:
+   *   Bit flags (see @FT_GASP_XXX), or @FT_GASP_NO_TABLE if there is no
+   *   'gasp' table in the face.
+   *
+   * @note:
+   *   If you want to use the MM functionality of OpenType variation fonts
+   *   (i.e., using @FT_Set_Var_Design_Coordinates and friends), call this
+   *   function **after** setting an instance since the return values can
+   *   change.
+   *
+   * @since:
+   *   2.3.0
+   */
+  FT_EXPORT( FT_Int )
+  FT_Get_Gasp( FT_Face  face,
+               FT_UInt  ppem );
+
+  /* */
+
+
+FT_END_HEADER
+
+#endif /* FTGASP_H_ */
+
+
+/* END */
diff --git a/CMU462/deps/freetype/include/freetype/ftglyph.h b/CMU462/deps/freetype/include/freetype/ftglyph.h
new file mode 100644
index 0000000..fedab84
--- /dev/null
+++ b/CMU462/deps/freetype/include/freetype/ftglyph.h
@@ -0,0 +1,665 @@
+/****************************************************************************
+ *
+ * ftglyph.h
+ *
+ *   FreeType convenience functions to handle glyphs (specification).
+ *
+ * Copyright (C) 1996-2019 by
+ * David Turner, Robert Wilhelm, and Werner Lemberg.
+ *
+ * This file is part of the FreeType project, and may only be used,
+ * modified, and distributed under the terms of the FreeType project
+ * license, LICENSE.TXT.  By continuing to use, modify, or distribute
+ * this file you indicate that you have read the license and
+ * understand and accept it fully.
+ *
+ */
+
+
+  /**************************************************************************
+   *
+   * This file contains the definition of several convenience functions that
+   * can be used by client applications to easily retrieve glyph bitmaps and
+   * outlines from a given face.
+   *
+   * These functions should be optional if you are writing a font server or
+   * text layout engine on top of FreeType.  However, they are pretty handy
+   * for many other simple uses of the library.
+   *
+   */
+
+
+#ifndef FTGLYPH_H_
+#define FTGLYPH_H_
+
+
+#include <ft2build.h>
+#include FT_FREETYPE_H
+
+#ifdef FREETYPE_H
+#error "freetype.h of FreeType 1 has been loaded!"
+#error "Please fix the directory search order for header files"
+#error "so that freetype.h of FreeType 2 is found first."
+#endif
+
+
+FT_BEGIN_HEADER
+
+
+  /**************************************************************************
+   *
+   * @section:
+   *   glyph_management
+   *
+   * @title:
+   *   Glyph Management
+   *
+   * @abstract:
+   *   Generic interface to manage individual glyph data.
+   *
+   * @description:
+   *   This section contains definitions used to manage glyph data through
+   *   generic @FT_Glyph objects.  Each of them can contain a bitmap,
+   *   a vector outline, or even images in other formats.  These objects are
+   *   detached from @FT_Face, contrary to @FT_GlyphSlot.
+   *
+   */
+
+
+  /* forward declaration to a private type */
+  typedef struct FT_Glyph_Class_  FT_Glyph_Class;
+
+
+  /**************************************************************************
+   *
+   * @type:
+   *   FT_Glyph
+   *
+   * @description:
+   *   Handle to an object used to model generic glyph images.  It is a
+   *   pointer to the @FT_GlyphRec structure and can contain a glyph bitmap
+   *   or pointer.
+   *
+   * @note:
+   *   Glyph objects are not owned by the library.  You must thus release
+   *   them manually (through @FT_Done_Glyph) _before_ calling
+   *   @FT_Done_FreeType.
+   */
+  typedef struct FT_GlyphRec_*  FT_Glyph;
+
+
+  /**************************************************************************
+   *
+   * @struct:
+   *   FT_GlyphRec
+   *
+   * @description:
+   *   The root glyph structure contains a given glyph image plus its advance
+   *   width in 16.16 fixed-point format.
+   *
+   * @fields:
+   *   library ::
+   *     A handle to the FreeType library object.
+   *
+   *   clazz ::
+   *     A pointer to the glyph's class.  Private.
+   *
+   *   format ::
+   *     The format of the glyph's image.
+   *
+   *   advance ::
+   *     A 16.16 vector that gives the glyph's advance width.
+   */
+  typedef struct  FT_GlyphRec_
+  {
+    FT_Library             library;
+    const FT_Glyph_Class*  clazz;
+    FT_Glyph_Format        format;
+    FT_Vector              advance;
+
+  } FT_GlyphRec;
+
+
+  /**************************************************************************
+   *
+   * @type:
+   *   FT_BitmapGlyph
+   *
+   * @description:
+   *   A handle to an object used to model a bitmap glyph image.  This is a
+   *   sub-class of @FT_Glyph, and a pointer to @FT_BitmapGlyphRec.
+   */
+  typedef struct FT_BitmapGlyphRec_*  FT_BitmapGlyph;
+
+
+  /**************************************************************************
+   *
+   * @struct:
+   *   FT_BitmapGlyphRec
+   *
+   * @description:
+   *   A structure used for bitmap glyph images.  This really is a
+   *   'sub-class' of @FT_GlyphRec.
+   *
+   * @fields:
+   *   root ::
+   *     The root @FT_Glyph fields.
+   *
+   *   left ::
+   *     The left-side bearing, i.e., the horizontal distance from the
+   *     current pen position to the left border of the glyph bitmap.
+   *
+   *   top ::
+   *     The top-side bearing, i.e., the vertical distance from the current
+   *     pen position to the top border of the glyph bitmap.  This distance
+   *     is positive for upwards~y!
+   *
+   *   bitmap ::
+   *     A descriptor for the bitmap.
+   *
+   * @note:
+   *   You can typecast an @FT_Glyph to @FT_BitmapGlyph if you have
+   *   `glyph->format == FT_GLYPH_FORMAT_BITMAP`.  This lets you access the
+   *   bitmap's contents easily.
+   *
+   *   The corresponding pixel buffer is always owned by @FT_BitmapGlyph and
+   *   is thus created and destroyed with it.
+   */
+  typedef struct  FT_BitmapGlyphRec_
+  {
+    FT_GlyphRec  root;
+    FT_Int       left;
+    FT_Int       top;
+    FT_Bitmap    bitmap;
+
+  } FT_BitmapGlyphRec;
+
+
+  /**************************************************************************
+   *
+   * @type:
+   *   FT_OutlineGlyph
+   *
+   * @description:
+   *   A handle to an object used to model an outline glyph image.  This is a
+   *   sub-class of @FT_Glyph, and a pointer to @FT_OutlineGlyphRec.
+   */
+  typedef struct FT_OutlineGlyphRec_*  FT_OutlineGlyph;
+
+
+  /**************************************************************************
+   *
+   * @struct:
+   *   FT_OutlineGlyphRec
+   *
+   * @description:
+   *   A structure used for outline (vectorial) glyph images.  This really is
+   *   a 'sub-class' of @FT_GlyphRec.
+   *
+   * @fields:
+   *   root ::
+   *     The root @FT_Glyph fields.
+   *
+   *   outline ::
+   *     A descriptor for the outline.
+   *
+   * @note:
+   *   You can typecast an @FT_Glyph to @FT_OutlineGlyph if you have
+   *   `glyph->format == FT_GLYPH_FORMAT_OUTLINE`.  This lets you access the
+   *   outline's content easily.
+   *
+   *   As the outline is extracted from a glyph slot, its coordinates are
+   *   expressed normally in 26.6 pixels, unless the flag @FT_LOAD_NO_SCALE
+   *   was used in @FT_Load_Glyph or @FT_Load_Char.
+   *
+   *   The outline's tables are always owned by the object and are destroyed
+   *   with it.
+   */
+  typedef struct  FT_OutlineGlyphRec_
+  {
+    FT_GlyphRec  root;
+    FT_Outline   outline;
+
+  } FT_OutlineGlyphRec;
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_New_Glyph
+   *
+   * @description:
+   *   A function used to create a new empty glyph image.  Note that the
+   *   created @FT_Glyph object must be released with @FT_Done_Glyph.
+   *
+   * @input:
+   *   library ::
+   *     A handle to the FreeType library object.
+   *
+   *   format ::
+   *     The format of the glyph's image.
+   *
+   * @output:
+   *   aglyph ::
+   *     A handle to the glyph object.
+   *
+   * @return:
+   *   FreeType error code.  0~means success.
+   *
+   * @since:
+   *   2.10
+   */
+  FT_EXPORT( FT_Error )
+  FT_New_Glyph( FT_Library       library,
+                FT_Glyph_Format  format,
+                FT_Glyph         *aglyph );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Get_Glyph
+   *
+   * @description:
+   *   A function used to extract a glyph image from a slot.  Note that the
+   *   created @FT_Glyph object must be released with @FT_Done_Glyph.
+   *
+   * @input:
+   *   slot ::
+   *     A handle to the source glyph slot.
+   *
+   * @output:
+   *   aglyph ::
+   *     A handle to the glyph object.
+   *
+   * @return:
+   *   FreeType error code.  0~means success.
+   *
+   * @note:
+   *   Because `*aglyph->advance.x` and `*aglyph->advance.y` are 16.16
+   *   fixed-point numbers, `slot->advance.x` and `slot->advance.y` (which
+   *   are in 26.6 fixed-point format) must be in the range ]-32768;32768[.
+   */
+  FT_EXPORT( FT_Error )
+  FT_Get_Glyph( FT_GlyphSlot  slot,
+                FT_Glyph     *aglyph );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Glyph_Copy
+   *
+   * @description:
+   *   A function used to copy a glyph image.  Note that the created
+   *   @FT_Glyph object must be released with @FT_Done_Glyph.
+   *
+   * @input:
+   *   source ::
+   *     A handle to the source glyph object.
+   *
+   * @output:
+   *   target ::
+   *     A handle to the target glyph object.  0~in case of error.
+   *
+   * @return:
+   *   FreeType error code.  0~means success.
+   */
+  FT_EXPORT( FT_Error )
+  FT_Glyph_Copy( FT_Glyph   source,
+                 FT_Glyph  *target );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Glyph_Transform
+   *
+   * @description:
+   *   Transform a glyph image if its format is scalable.
+   *
+   * @inout:
+   *   glyph ::
+   *     A handle to the target glyph object.
+   *
+   * @input:
+   *   matrix ::
+   *     A pointer to a 2x2 matrix to apply.
+   *
+   *   delta ::
+   *     A pointer to a 2d vector to apply.  Coordinates are expressed in
+   *     1/64th of a pixel.
+   *
+   * @return:
+   *   FreeType error code (if not 0, the glyph format is not scalable).
+   *
+   * @note:
+   *   The 2x2 transformation matrix is also applied to the glyph's advance
+   *   vector.
+   */
+  FT_EXPORT( FT_Error )
+  FT_Glyph_Transform( FT_Glyph    glyph,
+                      FT_Matrix*  matrix,
+                      FT_Vector*  delta );
+
+
+  /**************************************************************************
+   *
+   * @enum:
+   *   FT_Glyph_BBox_Mode
+   *
+   * @description:
+   *   The mode how the values of @FT_Glyph_Get_CBox are returned.
+   *
+   * @values:
+   *   FT_GLYPH_BBOX_UNSCALED ::
+   *     Return unscaled font units.
+   *
+   *   FT_GLYPH_BBOX_SUBPIXELS ::
+   *     Return unfitted 26.6 coordinates.
+   *
+   *   FT_GLYPH_BBOX_GRIDFIT ::
+   *     Return grid-fitted 26.6 coordinates.
+   *
+   *   FT_GLYPH_BBOX_TRUNCATE ::
+   *     Return coordinates in integer pixels.
+   *
+   *   FT_GLYPH_BBOX_PIXELS ::
+   *     Return grid-fitted pixel coordinates.
+   */
+  typedef enum  FT_Glyph_BBox_Mode_
+  {
+    FT_GLYPH_BBOX_UNSCALED  = 0,
+    FT_GLYPH_BBOX_SUBPIXELS = 0,
+    FT_GLYPH_BBOX_GRIDFIT   = 1,
+    FT_GLYPH_BBOX_TRUNCATE  = 2,
+    FT_GLYPH_BBOX_PIXELS    = 3
+
+  } FT_Glyph_BBox_Mode;
+
+
+  /* these constants are deprecated; use the corresponding */
+  /* `FT_Glyph_BBox_Mode` values instead                   */
+#define ft_glyph_bbox_unscaled   FT_GLYPH_BBOX_UNSCALED
+#define ft_glyph_bbox_subpixels  FT_GLYPH_BBOX_SUBPIXELS
+#define ft_glyph_bbox_gridfit    FT_GLYPH_BBOX_GRIDFIT
+#define ft_glyph_bbox_truncate   FT_GLYPH_BBOX_TRUNCATE
+#define ft_glyph_bbox_pixels     FT_GLYPH_BBOX_PIXELS
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Glyph_Get_CBox
+   *
+   * @description:
+   *   Return a glyph's 'control box'.  The control box encloses all the
+   *   outline's points, including Bezier control points.  Though it
+   *   coincides with the exact bounding box for most glyphs, it can be
+   *   slightly larger in some situations (like when rotating an outline that
+   *   contains Bezier outside arcs).
+   *
+   *   Computing the control box is very fast, while getting the bounding box
+   *   can take much more time as it needs to walk over all segments and arcs
+   *   in the outline.  To get the latter, you can use the 'ftbbox'
+   *   component, which is dedicated to this single task.
+   *
+   * @input:
+   *   glyph ::
+   *     A handle to the source glyph object.
+   *
+   *   mode ::
+   *     The mode that indicates how to interpret the returned bounding box
+   *     values.
+   *
+   * @output:
+   *   acbox ::
+   *     The glyph coordinate bounding box.  Coordinates are expressed in
+   *     1/64th of pixels if it is grid-fitted.
+   *
+   * @note:
+   *   Coordinates are relative to the glyph origin, using the y~upwards
+   *   convention.
+   *
+   *   If the glyph has been loaded with @FT_LOAD_NO_SCALE, `bbox_mode` must
+   *   be set to @FT_GLYPH_BBOX_UNSCALED to get unscaled font units in 26.6
+   *   pixel format.  The value @FT_GLYPH_BBOX_SUBPIXELS is another name for
+   *   this constant.
+   *
+   *   If the font is tricky and the glyph has been loaded with
+   *   @FT_LOAD_NO_SCALE, the resulting CBox is meaningless.  To get
+   *   reasonable values for the CBox it is necessary to load the glyph at a
+   *   large ppem value (so that the hinting instructions can properly shift
+   *   and scale the subglyphs), then extracting the CBox, which can be
+   *   eventually converted back to font units.
+   *
+   *   Note that the maximum coordinates are exclusive, which means that one
+   *   can compute the width and height of the glyph image (be it in integer
+   *   or 26.6 pixels) as:
+   *
+   *   ```
+   *     width  = bbox.xMax - bbox.xMin;
+   *     height = bbox.yMax - bbox.yMin;
+   *   ```
+   *
+   *   Note also that for 26.6 coordinates, if `bbox_mode` is set to
+   *   @FT_GLYPH_BBOX_GRIDFIT, the coordinates will also be grid-fitted,
+   *   which corresponds to:
+   *
+   *   ```
+   *     bbox.xMin = FLOOR(bbox.xMin);
+   *     bbox.yMin = FLOOR(bbox.yMin);
+   *     bbox.xMax = CEILING(bbox.xMax);
+   *     bbox.yMax = CEILING(bbox.yMax);
+   *   ```
+   *
+   *   To get the bbox in pixel coordinates, set `bbox_mode` to
+   *   @FT_GLYPH_BBOX_TRUNCATE.
+   *
+   *   To get the bbox in grid-fitted pixel coordinates, set `bbox_mode` to
+   *   @FT_GLYPH_BBOX_PIXELS.
+   */
+  FT_EXPORT( void )
+  FT_Glyph_Get_CBox( FT_Glyph  glyph,
+                     FT_UInt   bbox_mode,
+                     FT_BBox  *acbox );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Glyph_To_Bitmap
+   *
+   * @description:
+   *   Convert a given glyph object to a bitmap glyph object.
+   *
+   * @inout:
+   *   the_glyph ::
+   *     A pointer to a handle to the target glyph.
+   *
+   * @input:
+   *   render_mode ::
+   *     An enumeration that describes how the data is rendered.
+   *
+   *   origin ::
+   *     A pointer to a vector used to translate the glyph image before
+   *     rendering.  Can be~0 (if no translation).  The origin is expressed
+   *     in 26.6 pixels.
+   *
+   *   destroy ::
+   *     A boolean that indicates that the original glyph image should be
+   *     destroyed by this function.  It is never destroyed in case of error.
+   *
+   * @return:
+   *   FreeType error code.  0~means success.
+   *
+   * @note:
+   *   This function does nothing if the glyph format isn't scalable.
+   *
+   *   The glyph image is translated with the `origin` vector before
+   *   rendering.
+   *
+   *   The first parameter is a pointer to an @FT_Glyph handle, that will be
+   *   _replaced_ by this function (with newly allocated data).  Typically,
+   *   you would use (omitting error handling):
+   *
+   *   ```
+   *     FT_Glyph        glyph;
+   *     FT_BitmapGlyph  glyph_bitmap;
+   *
+   *
+   *     // load glyph
+   *     error = FT_Load_Char( face, glyph_index, FT_LOAD_DEFAULT );
+   *
+   *     // extract glyph image
+   *     error = FT_Get_Glyph( face->glyph, &glyph );
+   *
+   *     // convert to a bitmap (default render mode + destroying old)
+   *     if ( glyph->format != FT_GLYPH_FORMAT_BITMAP )
+   *     {
+   *       error = FT_Glyph_To_Bitmap( &glyph, FT_RENDER_MODE_NORMAL,
+   *                                     0, 1 );
+   *       if ( error ) // `glyph' unchanged
+   *         ...
+   *     }
+   *
+   *     // access bitmap content by typecasting
+   *     glyph_bitmap = (FT_BitmapGlyph)glyph;
+   *
+   *     // do funny stuff with it, like blitting/drawing
+   *     ...
+   *
+   *     // discard glyph image (bitmap or not)
+   *     FT_Done_Glyph( glyph );
+   *   ```
+   *
+   *   Here is another example, again without error handling:
+   *
+   *   ```
+   *     FT_Glyph  glyphs[MAX_GLYPHS]
+   *
+   *
+   *     ...
+   *
+   *     for ( idx = 0; i < MAX_GLYPHS; i++ )
+   *       error = FT_Load_Glyph( face, idx, FT_LOAD_DEFAULT ) ||
+   *               FT_Get_Glyph ( face->glyph, &glyphs[idx] );
+   *
+   *     ...
+   *
+   *     for ( idx = 0; i < MAX_GLYPHS; i++ )
+   *     {
+   *       FT_Glyph  bitmap = glyphs[idx];
+   *
+   *
+   *       ...
+   *
+   *       // after this call, `bitmap' no longer points into
+   *       // the `glyphs' array (and the old value isn't destroyed)
+   *       FT_Glyph_To_Bitmap( &bitmap, FT_RENDER_MODE_MONO, 0, 0 );
+   *
+   *       ...
+   *
+   *       FT_Done_Glyph( bitmap );
+   *     }
+   *
+   *     ...
+   *
+   *     for ( idx = 0; i < MAX_GLYPHS; i++ )
+   *       FT_Done_Glyph( glyphs[idx] );
+   *   ```
+   */
+  FT_EXPORT( FT_Error )
+  FT_Glyph_To_Bitmap( FT_Glyph*       the_glyph,
+                      FT_Render_Mode  render_mode,
+                      FT_Vector*      origin,
+                      FT_Bool         destroy );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Done_Glyph
+   *
+   * @description:
+   *   Destroy a given glyph.
+   *
+   * @input:
+   *   glyph ::
+   *     A handle to the target glyph object.
+   */
+  FT_EXPORT( void )
+  FT_Done_Glyph( FT_Glyph  glyph );
+
+  /* */
+
+
+  /* other helpful functions */
+
+  /**************************************************************************
+   *
+   * @section:
+   *   computations
+   *
+   */
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Matrix_Multiply
+   *
+   * @description:
+   *   Perform the matrix operation `b = a*b`.
+   *
+   * @input:
+   *   a ::
+   *     A pointer to matrix `a`.
+   *
+   * @inout:
+   *   b ::
+   *     A pointer to matrix `b`.
+   *
+   * @note:
+   *   The result is undefined if either `a` or `b` is zero.
+   *
+   *   Since the function uses wrap-around arithmetic, results become
+   *   meaningless if the arguments are very large.
+   */
+  FT_EXPORT( void )
+  FT_Matrix_Multiply( const FT_Matrix*  a,
+                      FT_Matrix*        b );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Matrix_Invert
+   *
+   * @description:
+   *   Invert a 2x2 matrix.  Return an error if it can't be inverted.
+   *
+   * @inout:
+   *   matrix ::
+   *     A pointer to the target matrix.  Remains untouched in case of error.
+   *
+   * @return:
+   *   FreeType error code.  0~means success.
+   */
+  FT_EXPORT( FT_Error )
+  FT_Matrix_Invert( FT_Matrix*  matrix );
+
+  /* */
+
+
+FT_END_HEADER
+
+#endif /* FTGLYPH_H_ */
+
+
+/* END */
+
+
+/* Local Variables: */
+/* coding: utf-8    */
+/* End:             */
diff --git a/CMU462/deps/freetype/include/freetype/ftgxval.h b/CMU462/deps/freetype/include/freetype/ftgxval.h
new file mode 100644
index 0000000..b14f637
--- /dev/null
+++ b/CMU462/deps/freetype/include/freetype/ftgxval.h
@@ -0,0 +1,355 @@
+/****************************************************************************
+ *
+ * ftgxval.h
+ *
+ *   FreeType API for validating TrueTypeGX/AAT tables (specification).
+ *
+ * Copyright (C) 2004-2019 by
+ * Masatake YAMATO, Redhat K.K,
+ * David Turner, Robert Wilhelm, and Werner Lemberg.
+ *
+ * This file is part of the FreeType project, and may only be used,
+ * modified, and distributed under the terms of the FreeType project
+ * license, LICENSE.TXT.  By continuing to use, modify, or distribute
+ * this file you indicate that you have read the license and
+ * understand and accept it fully.
+ *
+ */
+
+/****************************************************************************
+ *
+ * gxvalid is derived from both gxlayout module and otvalid module.
+ * Development of gxlayout is supported by the Information-technology
+ * Promotion Agency(IPA), Japan.
+ *
+ */
+
+
+#ifndef FTGXVAL_H_
+#define FTGXVAL_H_
+
+#include <ft2build.h>
+#include FT_FREETYPE_H
+
+#ifdef FREETYPE_H
+#error "freetype.h of FreeType 1 has been loaded!"
+#error "Please fix the directory search order for header files"
+#error "so that freetype.h of FreeType 2 is found first."
+#endif
+
+
+FT_BEGIN_HEADER
+
+
+  /**************************************************************************
+   *
+   * @section:
+   *   gx_validation
+   *
+   * @title:
+   *   TrueTypeGX/AAT Validation
+   *
+   * @abstract:
+   *   An API to validate TrueTypeGX/AAT tables.
+   *
+   * @description:
+   *   This section contains the declaration of functions to validate some
+   *   TrueTypeGX tables (feat, mort, morx, bsln, just, kern, opbd, trak,
+   *   prop, lcar).
+   *
+   * @order:
+   *   FT_TrueTypeGX_Validate
+   *   FT_TrueTypeGX_Free
+   *
+   *   FT_ClassicKern_Validate
+   *   FT_ClassicKern_Free
+   *
+   *   FT_VALIDATE_GX_LENGTH
+   *   FT_VALIDATE_GXXXX
+   *   FT_VALIDATE_CKERNXXX
+   *
+   */
+
+  /**************************************************************************
+   *
+   *
+   * Warning: Use `FT_VALIDATE_XXX` to validate a table.
+   *          Following definitions are for gxvalid developers.
+   *
+   *
+   */
+
+#define FT_VALIDATE_feat_INDEX     0
+#define FT_VALIDATE_mort_INDEX     1
+#define FT_VALIDATE_morx_INDEX     2
+#define FT_VALIDATE_bsln_INDEX     3
+#define FT_VALIDATE_just_INDEX     4
+#define FT_VALIDATE_kern_INDEX     5
+#define FT_VALIDATE_opbd_INDEX     6
+#define FT_VALIDATE_trak_INDEX     7
+#define FT_VALIDATE_prop_INDEX     8
+#define FT_VALIDATE_lcar_INDEX     9
+#define FT_VALIDATE_GX_LAST_INDEX  FT_VALIDATE_lcar_INDEX
+
+
+  /**************************************************************************
+   *
+   * @macro:
+   *   FT_VALIDATE_GX_LENGTH
+   *
+   * @description:
+   *   The number of tables checked in this module.  Use it as a parameter
+   *   for the `table-length` argument of function @FT_TrueTypeGX_Validate.
+   */
+#define FT_VALIDATE_GX_LENGTH  ( FT_VALIDATE_GX_LAST_INDEX + 1 )
+
+  /* */
+
+  /* Up to 0x1000 is used by otvalid.
+     Ox2xxx is reserved for feature OT extension. */
+#define FT_VALIDATE_GX_START  0x4000
+#define FT_VALIDATE_GX_BITFIELD( tag ) \
+          ( FT_VALIDATE_GX_START << FT_VALIDATE_##tag##_INDEX )
+
+
+  /**************************************************************************
+   *
+   * @enum:
+   *    FT_VALIDATE_GXXXX
+   *
+   * @description:
+   *    A list of bit-field constants used with @FT_TrueTypeGX_Validate to
+   *    indicate which TrueTypeGX/AAT Type tables should be validated.
+   *
+   * @values:
+   *    FT_VALIDATE_feat ::
+   *      Validate 'feat' table.
+   *
+   *    FT_VALIDATE_mort ::
+   *      Validate 'mort' table.
+   *
+   *    FT_VALIDATE_morx ::
+   *      Validate 'morx' table.
+   *
+   *    FT_VALIDATE_bsln ::
+   *      Validate 'bsln' table.
+   *
+   *    FT_VALIDATE_just ::
+   *      Validate 'just' table.
+   *
+   *    FT_VALIDATE_kern ::
+   *      Validate 'kern' table.
+   *
+   *    FT_VALIDATE_opbd ::
+   *      Validate 'opbd' table.
+   *
+   *    FT_VALIDATE_trak ::
+   *      Validate 'trak' table.
+   *
+   *    FT_VALIDATE_prop ::
+   *      Validate 'prop' table.
+   *
+   *    FT_VALIDATE_lcar ::
+   *      Validate 'lcar' table.
+   *
+   *    FT_VALIDATE_GX ::
+   *      Validate all TrueTypeGX tables (feat, mort, morx, bsln, just, kern,
+   *      opbd, trak, prop and lcar).
+   *
+   */
+
+#define FT_VALIDATE_feat  FT_VALIDATE_GX_BITFIELD( feat )
+#define FT_VALIDATE_mort  FT_VALIDATE_GX_BITFIELD( mort )
+#define FT_VALIDATE_morx  FT_VALIDATE_GX_BITFIELD( morx )
+#define FT_VALIDATE_bsln  FT_VALIDATE_GX_BITFIELD( bsln )
+#define FT_VALIDATE_just  FT_VALIDATE_GX_BITFIELD( just )
+#define FT_VALIDATE_kern  FT_VALIDATE_GX_BITFIELD( kern )
+#define FT_VALIDATE_opbd  FT_VALIDATE_GX_BITFIELD( opbd )
+#define FT_VALIDATE_trak  FT_VALIDATE_GX_BITFIELD( trak )
+#define FT_VALIDATE_prop  FT_VALIDATE_GX_BITFIELD( prop )
+#define FT_VALIDATE_lcar  FT_VALIDATE_GX_BITFIELD( lcar )
+
+#define FT_VALIDATE_GX  ( FT_VALIDATE_feat | \
+                          FT_VALIDATE_mort | \
+                          FT_VALIDATE_morx | \
+                          FT_VALIDATE_bsln | \
+                          FT_VALIDATE_just | \
+                          FT_VALIDATE_kern | \
+                          FT_VALIDATE_opbd | \
+                          FT_VALIDATE_trak | \
+                          FT_VALIDATE_prop | \
+                          FT_VALIDATE_lcar )
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *    FT_TrueTypeGX_Validate
+   *
+   * @description:
+   *    Validate various TrueTypeGX tables to assure that all offsets and
+   *    indices are valid.  The idea is that a higher-level library that
+   *    actually does the text layout can access those tables without error
+   *    checking (which can be quite time consuming).
+   *
+   * @input:
+   *    face ::
+   *      A handle to the input face.
+   *
+   *    validation_flags ::
+   *      A bit field that specifies the tables to be validated.  See
+   *      @FT_VALIDATE_GXXXX for possible values.
+   *
+   *    table_length ::
+   *      The size of the `tables` array.  Normally, @FT_VALIDATE_GX_LENGTH
+   *      should be passed.
+   *
+   * @output:
+   *    tables ::
+   *      The array where all validated sfnt tables are stored.  The array
+   *      itself must be allocated by a client.
+   *
+   * @return:
+   *   FreeType error code.  0~means success.
+   *
+   * @note:
+   *   This function only works with TrueTypeGX fonts, returning an error
+   *   otherwise.
+   *
+   *   After use, the application should deallocate the buffers pointed to by
+   *   each `tables` element, by calling @FT_TrueTypeGX_Free.  A `NULL` value
+   *   indicates that the table either doesn't exist in the font, the
+   *   application hasn't asked for validation, or the validator doesn't have
+   *   the ability to validate the sfnt table.
+   */
+  FT_EXPORT( FT_Error )
+  FT_TrueTypeGX_Validate( FT_Face   face,
+                          FT_UInt   validation_flags,
+                          FT_Bytes  tables[FT_VALIDATE_GX_LENGTH],
+                          FT_UInt   table_length );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *    FT_TrueTypeGX_Free
+   *
+   * @description:
+   *    Free the buffer allocated by TrueTypeGX validator.
+   *
+   * @input:
+   *    face ::
+   *      A handle to the input face.
+   *
+   *    table ::
+   *      The pointer to the buffer allocated by @FT_TrueTypeGX_Validate.
+   *
+   * @note:
+   *   This function must be used to free the buffer allocated by
+   *   @FT_TrueTypeGX_Validate only.
+   */
+  FT_EXPORT( void )
+  FT_TrueTypeGX_Free( FT_Face   face,
+                      FT_Bytes  table );
+
+
+  /**************************************************************************
+   *
+   * @enum:
+   *    FT_VALIDATE_CKERNXXX
+   *
+   * @description:
+   *    A list of bit-field constants used with @FT_ClassicKern_Validate to
+   *    indicate the classic kern dialect or dialects.  If the selected type
+   *    doesn't fit, @FT_ClassicKern_Validate regards the table as invalid.
+   *
+   * @values:
+   *    FT_VALIDATE_MS ::
+   *      Handle the 'kern' table as a classic Microsoft kern table.
+   *
+   *    FT_VALIDATE_APPLE ::
+   *      Handle the 'kern' table as a classic Apple kern table.
+   *
+   *    FT_VALIDATE_CKERN ::
+   *      Handle the 'kern' as either classic Apple or Microsoft kern table.
+   */
+#define FT_VALIDATE_MS     ( FT_VALIDATE_GX_START << 0 )
+#define FT_VALIDATE_APPLE  ( FT_VALIDATE_GX_START << 1 )
+
+#define FT_VALIDATE_CKERN  ( FT_VALIDATE_MS | FT_VALIDATE_APPLE )
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *    FT_ClassicKern_Validate
+   *
+   * @description:
+   *    Validate classic (16-bit format) kern table to assure that the
+   *    offsets and indices are valid.  The idea is that a higher-level
+   *    library that actually does the text layout can access those tables
+   *    without error checking (which can be quite time consuming).
+   *
+   *    The 'kern' table validator in @FT_TrueTypeGX_Validate deals with both
+   *    the new 32-bit format and the classic 16-bit format, while
+   *    FT_ClassicKern_Validate only supports the classic 16-bit format.
+   *
+   * @input:
+   *    face ::
+   *      A handle to the input face.
+   *
+   *    validation_flags ::
+   *      A bit field that specifies the dialect to be validated.  See
+   *      @FT_VALIDATE_CKERNXXX for possible values.
+   *
+   * @output:
+   *    ckern_table ::
+   *      A pointer to the kern table.
+   *
+   * @return:
+   *   FreeType error code.  0~means success.
+   *
+   * @note:
+   *   After use, the application should deallocate the buffers pointed to by
+   *   `ckern_table`, by calling @FT_ClassicKern_Free.  A `NULL` value
+   *   indicates that the table doesn't exist in the font.
+   */
+  FT_EXPORT( FT_Error )
+  FT_ClassicKern_Validate( FT_Face    face,
+                           FT_UInt    validation_flags,
+                           FT_Bytes  *ckern_table );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *    FT_ClassicKern_Free
+   *
+   * @description:
+   *    Free the buffer allocated by classic Kern validator.
+   *
+   * @input:
+   *    face ::
+   *      A handle to the input face.
+   *
+   *    table ::
+   *      The pointer to the buffer that is allocated by
+   *      @FT_ClassicKern_Validate.
+   *
+   * @note:
+   *   This function must be used to free the buffer allocated by
+   *   @FT_ClassicKern_Validate only.
+   */
+  FT_EXPORT( void )
+  FT_ClassicKern_Free( FT_Face   face,
+                       FT_Bytes  table );
+
+  /* */
+
+
+FT_END_HEADER
+
+#endif /* FTGXVAL_H_ */
+
+
+/* END */
diff --git a/CMU462/deps/freetype/include/freetype/ftgzip.h b/CMU462/deps/freetype/include/freetype/ftgzip.h
new file mode 100644
index 0000000..418c612
--- /dev/null
+++ b/CMU462/deps/freetype/include/freetype/ftgzip.h
@@ -0,0 +1,151 @@
+/****************************************************************************
+ *
+ * ftgzip.h
+ *
+ *   Gzip-compressed stream support.
+ *
+ * Copyright (C) 2002-2019 by
+ * David Turner, Robert Wilhelm, and Werner Lemberg.
+ *
+ * This file is part of the FreeType project, and may only be used,
+ * modified, and distributed under the terms of the FreeType project
+ * license, LICENSE.TXT.  By continuing to use, modify, or distribute
+ * this file you indicate that you have read the license and
+ * understand and accept it fully.
+ *
+ */
+
+
+#ifndef FTGZIP_H_
+#define FTGZIP_H_
+
+#include <ft2build.h>
+#include FT_FREETYPE_H
+
+#ifdef FREETYPE_H
+#error "freetype.h of FreeType 1 has been loaded!"
+#error "Please fix the directory search order for header files"
+#error "so that freetype.h of FreeType 2 is found first."
+#endif
+
+
+FT_BEGIN_HEADER
+
+  /**************************************************************************
+   *
+   * @section:
+   *   gzip
+   *
+   * @title:
+   *   GZIP Streams
+   *
+   * @abstract:
+   *   Using gzip-compressed font files.
+   *
+   * @description:
+   *   This section contains the declaration of Gzip-specific functions.
+   *
+   */
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Stream_OpenGzip
+   *
+   * @description:
+   *   Open a new stream to parse gzip-compressed font files.  This is mainly
+   *   used to support the compressed `*.pcf.gz` fonts that come with
+   *   XFree86.
+   *
+   * @input:
+   *   stream ::
+   *     The target embedding stream.
+   *
+   *   source ::
+   *     The source stream.
+   *
+   * @return:
+   *   FreeType error code.  0~means success.
+   *
+   * @note:
+   *   The source stream must be opened _before_ calling this function.
+   *
+   *   Calling the internal function `FT_Stream_Close` on the new stream will
+   *   **not** call `FT_Stream_Close` on the source stream.  None of the
+   *   stream objects will be released to the heap.
+   *
+   *   The stream implementation is very basic and resets the decompression
+   *   process each time seeking backwards is needed within the stream.
+   *
+   *   In certain builds of the library, gzip compression recognition is
+   *   automatically handled when calling @FT_New_Face or @FT_Open_Face.
+   *   This means that if no font driver is capable of handling the raw
+   *   compressed file, the library will try to open a gzipped stream from it
+   *   and re-open the face with it.
+   *
+   *   This function may return `FT_Err_Unimplemented_Feature` if your build
+   *   of FreeType was not compiled with zlib support.
+   */
+  FT_EXPORT( FT_Error )
+  FT_Stream_OpenGzip( FT_Stream  stream,
+                      FT_Stream  source );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Gzip_Uncompress
+   *
+   * @description:
+   *   Decompress a zipped input buffer into an output buffer.  This function
+   *   is modeled after zlib's `uncompress` function.
+   *
+   * @input:
+   *   memory ::
+   *     A FreeType memory handle.
+   *
+   *   input ::
+   *     The input buffer.
+   *
+   *   input_len ::
+   *     The length of the input buffer.
+   *
+   * @output:
+   *   output ::
+   *     The output buffer.
+   *
+   * @inout:
+   *   output_len ::
+   *     Before calling the function, this is the total size of the output
+   *     buffer, which must be large enough to hold the entire uncompressed
+   *     data (so the size of the uncompressed data must be known in
+   *     advance).  After calling the function, `output_len` is the size of
+   *     the used data in `output`.
+   *
+   * @return:
+   *   FreeType error code.  0~means success.
+   *
+   * @note:
+   *   This function may return `FT_Err_Unimplemented_Feature` if your build
+   *   of FreeType was not compiled with zlib support.
+   *
+   * @since:
+   *   2.5.1
+   */
+  FT_EXPORT( FT_Error )
+  FT_Gzip_Uncompress( FT_Memory       memory,
+                      FT_Byte*        output,
+                      FT_ULong*       output_len,
+                      const FT_Byte*  input,
+                      FT_ULong        input_len );
+
+  /* */
+
+
+FT_END_HEADER
+
+#endif /* FTGZIP_H_ */
+
+
+/* END */
diff --git a/CMU462/deps/freetype/include/freetype/ftimage.h b/CMU462/deps/freetype/include/freetype/ftimage.h
new file mode 100644
index 0000000..face34f
--- /dev/null
+++ b/CMU462/deps/freetype/include/freetype/ftimage.h
@@ -0,0 +1,1238 @@
+/****************************************************************************
+ *
+ * ftimage.h
+ *
+ *   FreeType glyph image formats and default raster interface
+ *   (specification).
+ *
+ * Copyright (C) 1996-2019 by
+ * David Turner, Robert Wilhelm, and Werner Lemberg.
+ *
+ * This file is part of the FreeType project, and may only be used,
+ * modified, and distributed under the terms of the FreeType project
+ * license, LICENSE.TXT.  By continuing to use, modify, or distribute
+ * this file you indicate that you have read the license and
+ * understand and accept it fully.
+ *
+ */
+
+  /**************************************************************************
+   *
+   * Note: A 'raster' is simply a scan-line converter, used to render
+   *       FT_Outlines into FT_Bitmaps.
+   *
+   */
+
+
+#ifndef FTIMAGE_H_
+#define FTIMAGE_H_
+
+
+  /* STANDALONE_ is from ftgrays.c */
+#ifndef STANDALONE_
+#include <ft2build.h>
+#endif
+
+
+FT_BEGIN_HEADER
+
+
+  /**************************************************************************
+   *
+   * @section:
+   *   basic_types
+   *
+   */
+
+
+  /**************************************************************************
+   *
+   * @type:
+   *   FT_Pos
+   *
+   * @description:
+   *   The type FT_Pos is used to store vectorial coordinates.  Depending on
+   *   the context, these can represent distances in integer font units, or
+   *   16.16, or 26.6 fixed-point pixel coordinates.
+   */
+  typedef signed long  FT_Pos;
+
+
+  /**************************************************************************
+   *
+   * @struct:
+   *   FT_Vector
+   *
+   * @description:
+   *   A simple structure used to store a 2D vector; coordinates are of the
+   *   FT_Pos type.
+   *
+   * @fields:
+   *   x ::
+   *     The horizontal coordinate.
+   *   y ::
+   *     The vertical coordinate.
+   */
+  typedef struct  FT_Vector_
+  {
+    FT_Pos  x;
+    FT_Pos  y;
+
+  } FT_Vector;
+
+
+  /**************************************************************************
+   *
+   * @struct:
+   *   FT_BBox
+   *
+   * @description:
+   *   A structure used to hold an outline's bounding box, i.e., the
+   *   coordinates of its extrema in the horizontal and vertical directions.
+   *
+   * @fields:
+   *   xMin ::
+   *     The horizontal minimum (left-most).
+   *
+   *   yMin ::
+   *     The vertical minimum (bottom-most).
+   *
+   *   xMax ::
+   *     The horizontal maximum (right-most).
+   *
+   *   yMax ::
+   *     The vertical maximum (top-most).
+   *
+   * @note:
+   *   The bounding box is specified with the coordinates of the lower left
+   *   and the upper right corner.  In PostScript, those values are often
+   *   called (llx,lly) and (urx,ury), respectively.
+   *
+   *   If `yMin` is negative, this value gives the glyph's descender.
+   *   Otherwise, the glyph doesn't descend below the baseline.  Similarly,
+   *   if `ymax` is positive, this value gives the glyph's ascender.
+   *
+   *   `xMin` gives the horizontal distance from the glyph's origin to the
+   *   left edge of the glyph's bounding box.  If `xMin` is negative, the
+   *   glyph extends to the left of the origin.
+   */
+  typedef struct  FT_BBox_
+  {
+    FT_Pos  xMin, yMin;
+    FT_Pos  xMax, yMax;
+
+  } FT_BBox;
+
+
+  /**************************************************************************
+   *
+   * @enum:
+   *   FT_Pixel_Mode
+   *
+   * @description:
+   *   An enumeration type used to describe the format of pixels in a given
+   *   bitmap.  Note that additional formats may be added in the future.
+   *
+   * @values:
+   *   FT_PIXEL_MODE_NONE ::
+   *     Value~0 is reserved.
+   *
+   *   FT_PIXEL_MODE_MONO ::
+   *     A monochrome bitmap, using 1~bit per pixel.  Note that pixels are
+   *     stored in most-significant order (MSB), which means that the
+   *     left-most pixel in a byte has value 128.
+   *
+   *   FT_PIXEL_MODE_GRAY ::
+   *     An 8-bit bitmap, generally used to represent anti-aliased glyph
+   *     images.  Each pixel is stored in one byte.  Note that the number of
+   *     'gray' levels is stored in the `num_grays` field of the @FT_Bitmap
+   *     structure (it generally is 256).
+   *
+   *   FT_PIXEL_MODE_GRAY2 ::
+   *     A 2-bit per pixel bitmap, used to represent embedded anti-aliased
+   *     bitmaps in font files according to the OpenType specification.  We
+   *     haven't found a single font using this format, however.
+   *
+   *   FT_PIXEL_MODE_GRAY4 ::
+   *     A 4-bit per pixel bitmap, representing embedded anti-aliased bitmaps
+   *     in font files according to the OpenType specification.  We haven't
+   *     found a single font using this format, however.
+   *
+   *   FT_PIXEL_MODE_LCD ::
+   *     An 8-bit bitmap, representing RGB or BGR decimated glyph images used
+   *     for display on LCD displays; the bitmap is three times wider than
+   *     the original glyph image.  See also @FT_RENDER_MODE_LCD.
+   *
+   *   FT_PIXEL_MODE_LCD_V ::
+   *     An 8-bit bitmap, representing RGB or BGR decimated glyph images used
+   *     for display on rotated LCD displays; the bitmap is three times
+   *     taller than the original glyph image.  See also
+   *     @FT_RENDER_MODE_LCD_V.
+   *
+   *   FT_PIXEL_MODE_BGRA ::
+   *     [Since 2.5] An image with four 8-bit channels per pixel,
+   *     representing a color image (such as emoticons) with alpha channel.
+   *     For each pixel, the format is BGRA, which means, the blue channel
+   *     comes first in memory.  The color channels are pre-multiplied and in
+   *     the sRGB colorspace.  For example, full red at half-translucent
+   *     opacity will be represented as '00,00,80,80', not '00,00,FF,80'.
+   *     See also @FT_LOAD_COLOR.
+   */
+  typedef enum  FT_Pixel_Mode_
+  {
+    FT_PIXEL_MODE_NONE = 0,
+    FT_PIXEL_MODE_MONO,
+    FT_PIXEL_MODE_GRAY,
+    FT_PIXEL_MODE_GRAY2,
+    FT_PIXEL_MODE_GRAY4,
+    FT_PIXEL_MODE_LCD,
+    FT_PIXEL_MODE_LCD_V,
+    FT_PIXEL_MODE_BGRA,
+
+    FT_PIXEL_MODE_MAX      /* do not remove */
+
+  } FT_Pixel_Mode;
+
+
+  /* these constants are deprecated; use the corresponding `FT_Pixel_Mode` */
+  /* values instead.                                                       */
+#define ft_pixel_mode_none   FT_PIXEL_MODE_NONE
+#define ft_pixel_mode_mono   FT_PIXEL_MODE_MONO
+#define ft_pixel_mode_grays  FT_PIXEL_MODE_GRAY
+#define ft_pixel_mode_pal2   FT_PIXEL_MODE_GRAY2
+#define ft_pixel_mode_pal4   FT_PIXEL_MODE_GRAY4
+
+
+  /**************************************************************************
+   *
+   * @struct:
+   *   FT_Bitmap
+   *
+   * @description:
+   *   A structure used to describe a bitmap or pixmap to the raster.  Note
+   *   that we now manage pixmaps of various depths through the `pixel_mode`
+   *   field.
+   *
+   * @fields:
+   *   rows ::
+   *     The number of bitmap rows.
+   *
+   *   width ::
+   *     The number of pixels in bitmap row.
+   *
+   *   pitch ::
+   *     The pitch's absolute value is the number of bytes taken by one
+   *     bitmap row, including padding.  However, the pitch is positive when
+   *     the bitmap has a 'down' flow, and negative when it has an 'up' flow.
+   *     In all cases, the pitch is an offset to add to a bitmap pointer in
+   *     order to go down one row.
+   *
+   *     Note that 'padding' means the alignment of a bitmap to a byte
+   *     border, and FreeType functions normally align to the smallest
+   *     possible integer value.
+   *
+   *     For the B/W rasterizer, `pitch` is always an even number.
+   *
+   *     To change the pitch of a bitmap (say, to make it a multiple of 4),
+   *     use @FT_Bitmap_Convert.  Alternatively, you might use callback
+   *     functions to directly render to the application's surface; see the
+   *     file `example2.cpp` in the tutorial for a demonstration.
+   *
+   *   buffer ::
+   *     A typeless pointer to the bitmap buffer.  This value should be
+   *     aligned on 32-bit boundaries in most cases.
+   *
+   *   num_grays ::
+   *     This field is only used with @FT_PIXEL_MODE_GRAY; it gives the
+   *     number of gray levels used in the bitmap.
+   *
+   *   pixel_mode ::
+   *     The pixel mode, i.e., how pixel bits are stored.  See @FT_Pixel_Mode
+   *     for possible values.
+   *
+   *   palette_mode ::
+   *     This field is intended for paletted pixel modes; it indicates how
+   *     the palette is stored.  Not used currently.
+   *
+   *   palette ::
+   *     A typeless pointer to the bitmap palette; this field is intended for
+   *     paletted pixel modes.  Not used currently.
+   */
+  typedef struct  FT_Bitmap_
+  {
+    unsigned int    rows;
+    unsigned int    width;
+    int             pitch;
+    unsigned char*  buffer;
+    unsigned short  num_grays;
+    unsigned char   pixel_mode;
+    unsigned char   palette_mode;
+    void*           palette;
+
+  } FT_Bitmap;
+
+
+  /**************************************************************************
+   *
+   * @section:
+   *   outline_processing
+   *
+   */
+
+
+  /**************************************************************************
+   *
+   * @struct:
+   *   FT_Outline
+   *
+   * @description:
+   *   This structure is used to describe an outline to the scan-line
+   *   converter.
+   *
+   * @fields:
+   *   n_contours ::
+   *     The number of contours in the outline.
+   *
+   *   n_points ::
+   *     The number of points in the outline.
+   *
+   *   points ::
+   *     A pointer to an array of `n_points` @FT_Vector elements, giving the
+   *     outline's point coordinates.
+   *
+   *   tags ::
+   *     A pointer to an array of `n_points` chars, giving each outline
+   *     point's type.
+   *
+   *     If bit~0 is unset, the point is 'off' the curve, i.e., a Bezier
+   *     control point, while it is 'on' if set.
+   *
+   *     Bit~1 is meaningful for 'off' points only.  If set, it indicates a
+   *     third-order Bezier arc control point; and a second-order control
+   *     point if unset.
+   *
+   *     If bit~2 is set, bits 5-7 contain the drop-out mode (as defined in
+   *     the OpenType specification; the value is the same as the argument to
+   *     the 'SCANMODE' instruction).
+   *
+   *     Bits 3 and~4 are reserved for internal purposes.
+   *
+   *   contours ::
+   *     An array of `n_contours` shorts, giving the end point of each
+   *     contour within the outline.  For example, the first contour is
+   *     defined by the points '0' to `contours[0]`, the second one is
+   *     defined by the points `contours[0]+1` to `contours[1]`, etc.
+   *
+   *   flags ::
+   *     A set of bit flags used to characterize the outline and give hints
+   *     to the scan-converter and hinter on how to convert/grid-fit it.  See
+   *     @FT_OUTLINE_XXX.
+   *
+   * @note:
+   *   The B/W rasterizer only checks bit~2 in the `tags` array for the first
+   *   point of each contour.  The drop-out mode as given with
+   *   @FT_OUTLINE_IGNORE_DROPOUTS, @FT_OUTLINE_SMART_DROPOUTS, and
+   *   @FT_OUTLINE_INCLUDE_STUBS in `flags` is then overridden.
+   */
+  typedef struct  FT_Outline_
+  {
+    short       n_contours;      /* number of contours in glyph        */
+    short       n_points;        /* number of points in the glyph      */
+
+    FT_Vector*  points;          /* the outline's points               */
+    char*       tags;            /* the points flags                   */
+    short*      contours;        /* the contour end points             */
+
+    int         flags;           /* outline masks                      */
+
+  } FT_Outline;
+
+  /* */
+
+  /* Following limits must be consistent with */
+  /* FT_Outline.{n_contours,n_points}         */
+#define FT_OUTLINE_CONTOURS_MAX  SHRT_MAX
+#define FT_OUTLINE_POINTS_MAX    SHRT_MAX
+
+
+  /**************************************************************************
+   *
+   * @enum:
+   *   FT_OUTLINE_XXX
+   *
+   * @description:
+   *   A list of bit-field constants used for the flags in an outline's
+   *   `flags` field.
+   *
+   * @values:
+   *   FT_OUTLINE_NONE ::
+   *     Value~0 is reserved.
+   *
+   *   FT_OUTLINE_OWNER ::
+   *     If set, this flag indicates that the outline's field arrays (i.e.,
+   *     `points`, `flags`, and `contours`) are 'owned' by the outline
+   *     object, and should thus be freed when it is destroyed.
+   *
+   *   FT_OUTLINE_EVEN_ODD_FILL ::
+   *     By default, outlines are filled using the non-zero winding rule.  If
+   *     set to 1, the outline will be filled using the even-odd fill rule
+   *     (only works with the smooth rasterizer).
+   *
+   *   FT_OUTLINE_REVERSE_FILL ::
+   *     By default, outside contours of an outline are oriented in
+   *     clock-wise direction, as defined in the TrueType specification.
+   *     This flag is set if the outline uses the opposite direction
+   *     (typically for Type~1 fonts).  This flag is ignored by the scan
+   *     converter.
+   *
+   *   FT_OUTLINE_IGNORE_DROPOUTS ::
+   *     By default, the scan converter will try to detect drop-outs in an
+   *     outline and correct the glyph bitmap to ensure consistent shape
+   *     continuity.  If set, this flag hints the scan-line converter to
+   *     ignore such cases.  See below for more information.
+   *
+   *   FT_OUTLINE_SMART_DROPOUTS ::
+   *     Select smart dropout control.  If unset, use simple dropout control.
+   *     Ignored if @FT_OUTLINE_IGNORE_DROPOUTS is set.  See below for more
+   *     information.
+   *
+   *   FT_OUTLINE_INCLUDE_STUBS ::
+   *     If set, turn pixels on for 'stubs', otherwise exclude them.  Ignored
+   *     if @FT_OUTLINE_IGNORE_DROPOUTS is set.  See below for more
+   *     information.
+   *
+   *   FT_OUTLINE_HIGH_PRECISION ::
+   *     This flag indicates that the scan-line converter should try to
+   *     convert this outline to bitmaps with the highest possible quality.
+   *     It is typically set for small character sizes.  Note that this is
+   *     only a hint that might be completely ignored by a given
+   *     scan-converter.
+   *
+   *   FT_OUTLINE_SINGLE_PASS ::
+   *     This flag is set to force a given scan-converter to only use a
+   *     single pass over the outline to render a bitmap glyph image.
+   *     Normally, it is set for very large character sizes.  It is only a
+   *     hint that might be completely ignored by a given scan-converter.
+   *
+   * @note:
+   *   The flags @FT_OUTLINE_IGNORE_DROPOUTS, @FT_OUTLINE_SMART_DROPOUTS, and
+   *   @FT_OUTLINE_INCLUDE_STUBS are ignored by the smooth rasterizer.
+   *
+   *   There exists a second mechanism to pass the drop-out mode to the B/W
+   *   rasterizer; see the `tags` field in @FT_Outline.
+   *
+   *   Please refer to the description of the 'SCANTYPE' instruction in the
+   *   OpenType specification (in file `ttinst1.doc`) how simple drop-outs,
+   *   smart drop-outs, and stubs are defined.
+   */
+#define FT_OUTLINE_NONE             0x0
+#define FT_OUTLINE_OWNER            0x1
+#define FT_OUTLINE_EVEN_ODD_FILL    0x2
+#define FT_OUTLINE_REVERSE_FILL     0x4
+#define FT_OUTLINE_IGNORE_DROPOUTS  0x8
+#define FT_OUTLINE_SMART_DROPOUTS   0x10
+#define FT_OUTLINE_INCLUDE_STUBS    0x20
+
+#define FT_OUTLINE_HIGH_PRECISION   0x100
+#define FT_OUTLINE_SINGLE_PASS      0x200
+
+
+  /* these constants are deprecated; use the corresponding */
+  /* `FT_OUTLINE_XXX` values instead                       */
+#define ft_outline_none             FT_OUTLINE_NONE
+#define ft_outline_owner            FT_OUTLINE_OWNER
+#define ft_outline_even_odd_fill    FT_OUTLINE_EVEN_ODD_FILL
+#define ft_outline_reverse_fill     FT_OUTLINE_REVERSE_FILL
+#define ft_outline_ignore_dropouts  FT_OUTLINE_IGNORE_DROPOUTS
+#define ft_outline_high_precision   FT_OUTLINE_HIGH_PRECISION
+#define ft_outline_single_pass      FT_OUTLINE_SINGLE_PASS
+
+  /* */
+
+#define FT_CURVE_TAG( flag )  ( flag & 0x03 )
+
+  /* see the `tags` field in `FT_Outline` for a description of the values */
+#define FT_CURVE_TAG_ON            0x01
+#define FT_CURVE_TAG_CONIC         0x00
+#define FT_CURVE_TAG_CUBIC         0x02
+
+#define FT_CURVE_TAG_HAS_SCANMODE  0x04
+
+#define FT_CURVE_TAG_TOUCH_X       0x08  /* reserved for TrueType hinter */
+#define FT_CURVE_TAG_TOUCH_Y       0x10  /* reserved for TrueType hinter */
+
+#define FT_CURVE_TAG_TOUCH_BOTH    ( FT_CURVE_TAG_TOUCH_X | \
+                                     FT_CURVE_TAG_TOUCH_Y )
+  /* values 0x20, 0x40, and 0x80 are reserved */
+
+
+  /* these constants are deprecated; use the corresponding */
+  /* `FT_CURVE_TAG_XXX` values instead                     */
+#define FT_Curve_Tag_On       FT_CURVE_TAG_ON
+#define FT_Curve_Tag_Conic    FT_CURVE_TAG_CONIC
+#define FT_Curve_Tag_Cubic    FT_CURVE_TAG_CUBIC
+#define FT_Curve_Tag_Touch_X  FT_CURVE_TAG_TOUCH_X
+#define FT_Curve_Tag_Touch_Y  FT_CURVE_TAG_TOUCH_Y
+
+
+  /**************************************************************************
+   *
+   * @functype:
+   *   FT_Outline_MoveToFunc
+   *
+   * @description:
+   *   A function pointer type used to describe the signature of a 'move to'
+   *   function during outline walking/decomposition.
+   *
+   *   A 'move to' is emitted to start a new contour in an outline.
+   *
+   * @input:
+   *   to ::
+   *     A pointer to the target point of the 'move to'.
+   *
+   *   user ::
+   *     A typeless pointer, which is passed from the caller of the
+   *     decomposition function.
+   *
+   * @return:
+   *   Error code.  0~means success.
+   */
+  typedef int
+  (*FT_Outline_MoveToFunc)( const FT_Vector*  to,
+                            void*             user );
+
+#define FT_Outline_MoveTo_Func  FT_Outline_MoveToFunc
+
+
+  /**************************************************************************
+   *
+   * @functype:
+   *   FT_Outline_LineToFunc
+   *
+   * @description:
+   *   A function pointer type used to describe the signature of a 'line to'
+   *   function during outline walking/decomposition.
+   *
+   *   A 'line to' is emitted to indicate a segment in the outline.
+   *
+   * @input:
+   *   to ::
+   *     A pointer to the target point of the 'line to'.
+   *
+   *   user ::
+   *     A typeless pointer, which is passed from the caller of the
+   *     decomposition function.
+   *
+   * @return:
+   *   Error code.  0~means success.
+   */
+  typedef int
+  (*FT_Outline_LineToFunc)( const FT_Vector*  to,
+                            void*             user );
+
+#define FT_Outline_LineTo_Func  FT_Outline_LineToFunc
+
+
+  /**************************************************************************
+   *
+   * @functype:
+   *   FT_Outline_ConicToFunc
+   *
+   * @description:
+   *   A function pointer type used to describe the signature of a 'conic to'
+   *   function during outline walking or decomposition.
+   *
+   *   A 'conic to' is emitted to indicate a second-order Bezier arc in the
+   *   outline.
+   *
+   * @input:
+   *   control ::
+   *     An intermediate control point between the last position and the new
+   *     target in `to`.
+   *
+   *   to ::
+   *     A pointer to the target end point of the conic arc.
+   *
+   *   user ::
+   *     A typeless pointer, which is passed from the caller of the
+   *     decomposition function.
+   *
+   * @return:
+   *   Error code.  0~means success.
+   */
+  typedef int
+  (*FT_Outline_ConicToFunc)( const FT_Vector*  control,
+                             const FT_Vector*  to,
+                             void*             user );
+
+#define FT_Outline_ConicTo_Func  FT_Outline_ConicToFunc
+
+
+  /**************************************************************************
+   *
+   * @functype:
+   *   FT_Outline_CubicToFunc
+   *
+   * @description:
+   *   A function pointer type used to describe the signature of a 'cubic to'
+   *   function during outline walking or decomposition.
+   *
+   *   A 'cubic to' is emitted to indicate a third-order Bezier arc.
+   *
+   * @input:
+   *   control1 ::
+   *     A pointer to the first Bezier control point.
+   *
+   *   control2 ::
+   *     A pointer to the second Bezier control point.
+   *
+   *   to ::
+   *     A pointer to the target end point.
+   *
+   *   user ::
+   *     A typeless pointer, which is passed from the caller of the
+   *     decomposition function.
+   *
+   * @return:
+   *   Error code.  0~means success.
+   */
+  typedef int
+  (*FT_Outline_CubicToFunc)( const FT_Vector*  control1,
+                             const FT_Vector*  control2,
+                             const FT_Vector*  to,
+                             void*             user );
+
+#define FT_Outline_CubicTo_Func  FT_Outline_CubicToFunc
+
+
+  /**************************************************************************
+   *
+   * @struct:
+   *   FT_Outline_Funcs
+   *
+   * @description:
+   *   A structure to hold various function pointers used during outline
+   *   decomposition in order to emit segments, conic, and cubic Beziers.
+   *
+   * @fields:
+   *   move_to ::
+   *     The 'move to' emitter.
+   *
+   *   line_to ::
+   *     The segment emitter.
+   *
+   *   conic_to ::
+   *     The second-order Bezier arc emitter.
+   *
+   *   cubic_to ::
+   *     The third-order Bezier arc emitter.
+   *
+   *   shift ::
+   *     The shift that is applied to coordinates before they are sent to the
+   *     emitter.
+   *
+   *   delta ::
+   *     The delta that is applied to coordinates before they are sent to the
+   *     emitter, but after the shift.
+   *
+   * @note:
+   *   The point coordinates sent to the emitters are the transformed version
+   *   of the original coordinates (this is important for high accuracy
+   *   during scan-conversion).  The transformation is simple:
+   *
+   *   ```
+   *     x' = (x << shift) - delta
+   *     y' = (y << shift) - delta
+   *   ```
+   *
+   *   Set the values of `shift` and `delta` to~0 to get the original point
+   *   coordinates.
+   */
+  typedef struct  FT_Outline_Funcs_
+  {
+    FT_Outline_MoveToFunc   move_to;
+    FT_Outline_LineToFunc   line_to;
+    FT_Outline_ConicToFunc  conic_to;
+    FT_Outline_CubicToFunc  cubic_to;
+
+    int                     shift;
+    FT_Pos                  delta;
+
+  } FT_Outline_Funcs;
+
+
+  /**************************************************************************
+   *
+   * @section:
+   *   basic_types
+   *
+   */
+
+
+  /**************************************************************************
+   *
+   * @macro:
+   *   FT_IMAGE_TAG
+   *
+   * @description:
+   *   This macro converts four-letter tags to an unsigned long type.
+   *
+   * @note:
+   *   Since many 16-bit compilers don't like 32-bit enumerations, you should
+   *   redefine this macro in case of problems to something like this:
+   *
+   *   ```
+   *     #define FT_IMAGE_TAG( value, _x1, _x2, _x3, _x4 )  value
+   *   ```
+   *
+   *   to get a simple enumeration without assigning special numbers.
+   */
+#ifndef FT_IMAGE_TAG
+#define FT_IMAGE_TAG( value, _x1, _x2, _x3, _x4 )  \
+          value = ( ( (unsigned long)_x1 << 24 ) | \
+                    ( (unsigned long)_x2 << 16 ) | \
+                    ( (unsigned long)_x3 << 8  ) | \
+                      (unsigned long)_x4         )
+#endif /* FT_IMAGE_TAG */
+
+
+  /**************************************************************************
+   *
+   * @enum:
+   *   FT_Glyph_Format
+   *
+   * @description:
+   *   An enumeration type used to describe the format of a given glyph
+   *   image.  Note that this version of FreeType only supports two image
+   *   formats, even though future font drivers will be able to register
+   *   their own format.
+   *
+   * @values:
+   *   FT_GLYPH_FORMAT_NONE ::
+   *     The value~0 is reserved.
+   *
+   *   FT_GLYPH_FORMAT_COMPOSITE ::
+   *     The glyph image is a composite of several other images.  This format
+   *     is _only_ used with @FT_LOAD_NO_RECURSE, and is used to report
+   *     compound glyphs (like accented characters).
+   *
+   *   FT_GLYPH_FORMAT_BITMAP ::
+   *     The glyph image is a bitmap, and can be described as an @FT_Bitmap.
+   *     You generally need to access the `bitmap` field of the
+   *     @FT_GlyphSlotRec structure to read it.
+   *
+   *   FT_GLYPH_FORMAT_OUTLINE ::
+   *     The glyph image is a vectorial outline made of line segments and
+   *     Bezier arcs; it can be described as an @FT_Outline; you generally
+   *     want to access the `outline` field of the @FT_GlyphSlotRec structure
+   *     to read it.
+   *
+   *   FT_GLYPH_FORMAT_PLOTTER ::
+   *     The glyph image is a vectorial path with no inside and outside
+   *     contours.  Some Type~1 fonts, like those in the Hershey family,
+   *     contain glyphs in this format.  These are described as @FT_Outline,
+   *     but FreeType isn't currently capable of rendering them correctly.
+   */
+  typedef enum  FT_Glyph_Format_
+  {
+    FT_IMAGE_TAG( FT_GLYPH_FORMAT_NONE, 0, 0, 0, 0 ),
+
+    FT_IMAGE_TAG( FT_GLYPH_FORMAT_COMPOSITE, 'c', 'o', 'm', 'p' ),
+    FT_IMAGE_TAG( FT_GLYPH_FORMAT_BITMAP,    'b', 'i', 't', 's' ),
+    FT_IMAGE_TAG( FT_GLYPH_FORMAT_OUTLINE,   'o', 'u', 't', 'l' ),
+    FT_IMAGE_TAG( FT_GLYPH_FORMAT_PLOTTER,   'p', 'l', 'o', 't' )
+
+  } FT_Glyph_Format;
+
+
+  /* these constants are deprecated; use the corresponding */
+  /* `FT_Glyph_Format` values instead.                     */
+#define ft_glyph_format_none       FT_GLYPH_FORMAT_NONE
+#define ft_glyph_format_composite  FT_GLYPH_FORMAT_COMPOSITE
+#define ft_glyph_format_bitmap     FT_GLYPH_FORMAT_BITMAP
+#define ft_glyph_format_outline    FT_GLYPH_FORMAT_OUTLINE
+#define ft_glyph_format_plotter    FT_GLYPH_FORMAT_PLOTTER
+
+
+  /*************************************************************************/
+  /*************************************************************************/
+  /*************************************************************************/
+  /*****                                                               *****/
+  /*****            R A S T E R   D E F I N I T I O N S                *****/
+  /*****                                                               *****/
+  /*************************************************************************/
+  /*************************************************************************/
+  /*************************************************************************/
+
+
+  /**************************************************************************
+   *
+   * A raster is a scan converter, in charge of rendering an outline into a
+   * bitmap.  This section contains the public API for rasters.
+   *
+   * Note that in FreeType 2, all rasters are now encapsulated within
+   * specific modules called 'renderers'.  See `ftrender.h` for more details
+   * on renderers.
+   *
+   */
+
+
+  /**************************************************************************
+   *
+   * @section:
+   *   raster
+   *
+   * @title:
+   *   Scanline Converter
+   *
+   * @abstract:
+   *   How vectorial outlines are converted into bitmaps and pixmaps.
+   *
+   * @description:
+   *   This section contains technical definitions.
+   *
+   * @order:
+   *   FT_Raster
+   *   FT_Span
+   *   FT_SpanFunc
+   *
+   *   FT_Raster_Params
+   *   FT_RASTER_FLAG_XXX
+   *
+   *   FT_Raster_NewFunc
+   *   FT_Raster_DoneFunc
+   *   FT_Raster_ResetFunc
+   *   FT_Raster_SetModeFunc
+   *   FT_Raster_RenderFunc
+   *   FT_Raster_Funcs
+   *
+   */
+
+
+  /**************************************************************************
+   *
+   * @type:
+   *   FT_Raster
+   *
+   * @description:
+   *   An opaque handle (pointer) to a raster object.  Each object can be
+   *   used independently to convert an outline into a bitmap or pixmap.
+   */
+  typedef struct FT_RasterRec_*  FT_Raster;
+
+
+  /**************************************************************************
+   *
+   * @struct:
+   *   FT_Span
+   *
+   * @description:
+   *   A structure used to model a single span of gray pixels when rendering
+   *   an anti-aliased bitmap.
+   *
+   * @fields:
+   *   x ::
+   *     The span's horizontal start position.
+   *
+   *   len ::
+   *     The span's length in pixels.
+   *
+   *   coverage ::
+   *     The span color/coverage, ranging from 0 (background) to 255
+   *     (foreground).
+   *
+   * @note:
+   *   This structure is used by the span drawing callback type named
+   *   @FT_SpanFunc that takes the y~coordinate of the span as a parameter.
+   *
+   *   The coverage value is always between 0 and 255.  If you want less gray
+   *   values, the callback function has to reduce them.
+   */
+  typedef struct  FT_Span_
+  {
+    short           x;
+    unsigned short  len;
+    unsigned char   coverage;
+
+  } FT_Span;
+
+
+  /**************************************************************************
+   *
+   * @functype:
+   *   FT_SpanFunc
+   *
+   * @description:
+   *   A function used as a call-back by the anti-aliased renderer in order
+   *   to let client applications draw themselves the gray pixel spans on
+   *   each scan line.
+   *
+   * @input:
+   *   y ::
+   *     The scanline's upward y~coordinate.
+   *
+   *   count ::
+   *     The number of spans to draw on this scanline.
+   *
+   *   spans ::
+   *     A table of `count` spans to draw on the scanline.
+   *
+   *   user ::
+   *     User-supplied data that is passed to the callback.
+   *
+   * @note:
+   *   This callback allows client applications to directly render the gray
+   *   spans of the anti-aliased bitmap to any kind of surfaces.
+   *
+   *   This can be used to write anti-aliased outlines directly to a given
+   *   background bitmap, and even perform translucency.
+   */
+  typedef void
+  (*FT_SpanFunc)( int             y,
+                  int             count,
+                  const FT_Span*  spans,
+                  void*           user );
+
+#define FT_Raster_Span_Func  FT_SpanFunc
+
+
+  /**************************************************************************
+   *
+   * @functype:
+   *   FT_Raster_BitTest_Func
+   *
+   * @description:
+   *   Deprecated, unimplemented.
+   */
+  typedef int
+  (*FT_Raster_BitTest_Func)( int    y,
+                             int    x,
+                             void*  user );
+
+
+  /**************************************************************************
+   *
+   * @functype:
+   *   FT_Raster_BitSet_Func
+   *
+   * @description:
+   *   Deprecated, unimplemented.
+   */
+  typedef void
+  (*FT_Raster_BitSet_Func)( int    y,
+                            int    x,
+                            void*  user );
+
+
+  /**************************************************************************
+   *
+   * @enum:
+   *   FT_RASTER_FLAG_XXX
+   *
+   * @description:
+   *   A list of bit flag constants as used in the `flags` field of a
+   *   @FT_Raster_Params structure.
+   *
+   * @values:
+   *   FT_RASTER_FLAG_DEFAULT ::
+   *     This value is 0.
+   *
+   *   FT_RASTER_FLAG_AA ::
+   *     This flag is set to indicate that an anti-aliased glyph image should
+   *     be generated.  Otherwise, it will be monochrome (1-bit).
+   *
+   *   FT_RASTER_FLAG_DIRECT ::
+   *     This flag is set to indicate direct rendering.  In this mode, client
+   *     applications must provide their own span callback.  This lets them
+   *     directly draw or compose over an existing bitmap.  If this bit is
+   *     _not_ set, the target pixmap's buffer _must_ be zeroed before
+   *     rendering and the output will be clipped to its size.
+   *
+   *     Direct rendering is only possible with anti-aliased glyphs.
+   *
+   *   FT_RASTER_FLAG_CLIP ::
+   *     This flag is only used in direct rendering mode.  If set, the output
+   *     will be clipped to a box specified in the `clip_box` field of the
+   *     @FT_Raster_Params structure.  Otherwise, the `clip_box` is
+   *     effectively set to the bounding box and all spans are generated.
+   */
+#define FT_RASTER_FLAG_DEFAULT  0x0
+#define FT_RASTER_FLAG_AA       0x1
+#define FT_RASTER_FLAG_DIRECT   0x2
+#define FT_RASTER_FLAG_CLIP     0x4
+
+  /* these constants are deprecated; use the corresponding */
+  /* `FT_RASTER_FLAG_XXX` values instead                   */
+#define ft_raster_flag_default  FT_RASTER_FLAG_DEFAULT
+#define ft_raster_flag_aa       FT_RASTER_FLAG_AA
+#define ft_raster_flag_direct   FT_RASTER_FLAG_DIRECT
+#define ft_raster_flag_clip     FT_RASTER_FLAG_CLIP
+
+
+  /**************************************************************************
+   *
+   * @struct:
+   *   FT_Raster_Params
+   *
+   * @description:
+   *   A structure to hold the parameters used by a raster's render function,
+   *   passed as an argument to @FT_Outline_Render.
+   *
+   * @fields:
+   *   target ::
+   *     The target bitmap.
+   *
+   *   source ::
+   *     A pointer to the source glyph image (e.g., an @FT_Outline).
+   *
+   *   flags ::
+   *     The rendering flags.
+   *
+   *   gray_spans ::
+   *     The gray span drawing callback.
+   *
+   *   black_spans ::
+   *     Unused.
+   *
+   *   bit_test ::
+   *     Unused.
+   *
+   *   bit_set ::
+   *     Unused.
+   *
+   *   user ::
+   *     User-supplied data that is passed to each drawing callback.
+   *
+   *   clip_box ::
+   *     An optional clipping box.  It is only used in direct rendering mode.
+   *     Note that coordinates here should be expressed in _integer_ pixels
+   *     (and not in 26.6 fixed-point units).
+   *
+   * @note:
+   *   An anti-aliased glyph bitmap is drawn if the @FT_RASTER_FLAG_AA bit
+   *   flag is set in the `flags` field, otherwise a monochrome bitmap is
+   *   generated.
+   *
+   *   If the @FT_RASTER_FLAG_DIRECT bit flag is set in `flags`, the raster
+   *   will call the `gray_spans` callback to draw gray pixel spans.  This
+   *   allows direct composition over a pre-existing bitmap through
+   *   user-provided callbacks to perform the span drawing and composition.
+   *   Not supported by the monochrome rasterizer.
+   */
+  typedef struct  FT_Raster_Params_
+  {
+    const FT_Bitmap*        target;
+    const void*             source;
+    int                     flags;
+    FT_SpanFunc             gray_spans;
+    FT_SpanFunc             black_spans;  /* unused */
+    FT_Raster_BitTest_Func  bit_test;     /* unused */
+    FT_Raster_BitSet_Func   bit_set;      /* unused */
+    void*                   user;
+    FT_BBox                 clip_box;
+
+  } FT_Raster_Params;
+
+
+  /**************************************************************************
+   *
+   * @functype:
+   *   FT_Raster_NewFunc
+   *
+   * @description:
+   *   A function used to create a new raster object.
+   *
+   * @input:
+   *   memory ::
+   *     A handle to the memory allocator.
+   *
+   * @output:
+   *   raster ::
+   *     A handle to the new raster object.
+   *
+   * @return:
+   *   Error code.  0~means success.
+   *
+   * @note:
+   *   The `memory` parameter is a typeless pointer in order to avoid
+   *   un-wanted dependencies on the rest of the FreeType code.  In practice,
+   *   it is an @FT_Memory object, i.e., a handle to the standard FreeType
+   *   memory allocator.  However, this field can be completely ignored by a
+   *   given raster implementation.
+   */
+  typedef int
+  (*FT_Raster_NewFunc)( void*       memory,
+                        FT_Raster*  raster );
+
+#define FT_Raster_New_Func  FT_Raster_NewFunc
+
+
+  /**************************************************************************
+   *
+   * @functype:
+   *   FT_Raster_DoneFunc
+   *
+   * @description:
+   *   A function used to destroy a given raster object.
+   *
+   * @input:
+   *   raster ::
+   *     A handle to the raster object.
+   */
+  typedef void
+  (*FT_Raster_DoneFunc)( FT_Raster  raster );
+
+#define FT_Raster_Done_Func  FT_Raster_DoneFunc
+
+
+  /**************************************************************************
+   *
+   * @functype:
+   *   FT_Raster_ResetFunc
+   *
+   * @description:
+   *   FreeType used to provide an area of memory called the 'render pool'
+   *   available to all registered rasterizers.  This was not thread safe,
+   *   however, and now FreeType never allocates this pool.
+   *
+   *   This function is called after a new raster object is created.
+   *
+   * @input:
+   *   raster ::
+   *     A handle to the new raster object.
+   *
+   *   pool_base ::
+   *     Previously, the address in memory of the render pool.  Set this to
+   *     `NULL`.
+   *
+   *   pool_size ::
+   *     Previously, the size in bytes of the render pool.  Set this to 0.
+   *
+   * @note:
+   *   Rasterizers should rely on dynamic or stack allocation if they want to
+   *   (a handle to the memory allocator is passed to the rasterizer
+   *   constructor).
+   */
+  typedef void
+  (*FT_Raster_ResetFunc)( FT_Raster       raster,
+                          unsigned char*  pool_base,
+                          unsigned long   pool_size );
+
+#define FT_Raster_Reset_Func  FT_Raster_ResetFunc
+
+
+  /**************************************************************************
+   *
+   * @functype:
+   *   FT_Raster_SetModeFunc
+   *
+   * @description:
+   *   This function is a generic facility to change modes or attributes in a
+   *   given raster.  This can be used for debugging purposes, or simply to
+   *   allow implementation-specific 'features' in a given raster module.
+   *
+   * @input:
+   *   raster ::
+   *     A handle to the new raster object.
+   *
+   *   mode ::
+   *     A 4-byte tag used to name the mode or property.
+   *
+   *   args ::
+   *     A pointer to the new mode/property to use.
+   */
+  typedef int
+  (*FT_Raster_SetModeFunc)( FT_Raster      raster,
+                            unsigned long  mode,
+                            void*          args );
+
+#define FT_Raster_Set_Mode_Func  FT_Raster_SetModeFunc
+
+
+  /**************************************************************************
+   *
+   * @functype:
+   *   FT_Raster_RenderFunc
+   *
+   * @description:
+   *   Invoke a given raster to scan-convert a given glyph image into a
+   *   target bitmap.
+   *
+   * @input:
+   *   raster ::
+   *     A handle to the raster object.
+   *
+   *   params ::
+   *     A pointer to an @FT_Raster_Params structure used to store the
+   *     rendering parameters.
+   *
+   * @return:
+   *   Error code.  0~means success.
+   *
+   * @note:
+   *   The exact format of the source image depends on the raster's glyph
+   *   format defined in its @FT_Raster_Funcs structure.  It can be an
+   *   @FT_Outline or anything else in order to support a large array of
+   *   glyph formats.
+   *
+   *   Note also that the render function can fail and return a
+   *   `FT_Err_Unimplemented_Feature` error code if the raster used does not
+   *   support direct composition.
+   */
+  typedef int
+  (*FT_Raster_RenderFunc)( FT_Raster                raster,
+                           const FT_Raster_Params*  params );
+
+#define FT_Raster_Render_Func  FT_Raster_RenderFunc
+
+
+  /**************************************************************************
+   *
+   * @struct:
+   *   FT_Raster_Funcs
+   *
+   * @description:
+   *  A structure used to describe a given raster class to the library.
+   *
+   * @fields:
+   *   glyph_format ::
+   *     The supported glyph format for this raster.
+   *
+   *   raster_new ::
+   *     The raster constructor.
+   *
+   *   raster_reset ::
+   *     Used to reset the render pool within the raster.
+   *
+   *   raster_render ::
+   *     A function to render a glyph into a given bitmap.
+   *
+   *   raster_done ::
+   *     The raster destructor.
+   */
+  typedef struct  FT_Raster_Funcs_
+  {
+    FT_Glyph_Format        glyph_format;
+
+    FT_Raster_NewFunc      raster_new;
+    FT_Raster_ResetFunc    raster_reset;
+    FT_Raster_SetModeFunc  raster_set_mode;
+    FT_Raster_RenderFunc   raster_render;
+    FT_Raster_DoneFunc     raster_done;
+
+  } FT_Raster_Funcs;
+
+  /* */
+
+
+FT_END_HEADER
+
+#endif /* FTIMAGE_H_ */
+
+
+/* END */
+
+
+/* Local Variables: */
+/* coding: utf-8    */
+/* End:             */
diff --git a/CMU462/deps/freetype/include/freetype/ftincrem.h b/CMU462/deps/freetype/include/freetype/ftincrem.h
new file mode 100644
index 0000000..a4db02b
--- /dev/null
+++ b/CMU462/deps/freetype/include/freetype/ftincrem.h
@@ -0,0 +1,344 @@
+/****************************************************************************
+ *
+ * ftincrem.h
+ *
+ *   FreeType incremental loading (specification).
+ *
+ * Copyright (C) 2002-2019 by
+ * David Turner, Robert Wilhelm, and Werner Lemberg.
+ *
+ * This file is part of the FreeType project, and may only be used,
+ * modified, and distributed under the terms of the FreeType project
+ * license, LICENSE.TXT.  By continuing to use, modify, or distribute
+ * this file you indicate that you have read the license and
+ * understand and accept it fully.
+ *
+ */
+
+
+#ifndef FTINCREM_H_
+#define FTINCREM_H_
+
+#include <ft2build.h>
+#include FT_FREETYPE_H
+#include FT_PARAMETER_TAGS_H
+
+#ifdef FREETYPE_H
+#error "freetype.h of FreeType 1 has been loaded!"
+#error "Please fix the directory search order for header files"
+#error "so that freetype.h of FreeType 2 is found first."
+#endif
+
+
+FT_BEGIN_HEADER
+
+  /**************************************************************************
+   *
+   * @section:
+   *    incremental
+   *
+   * @title:
+   *    Incremental Loading
+   *
+   * @abstract:
+   *    Custom Glyph Loading.
+   *
+   * @description:
+   *   This section contains various functions used to perform so-called
+   *   'incremental' glyph loading.  This is a mode where all glyphs loaded
+   *   from a given @FT_Face are provided by the client application.
+   *
+   *   Apart from that, all other tables are loaded normally from the font
+   *   file.  This mode is useful when FreeType is used within another
+   *   engine, e.g., a PostScript Imaging Processor.
+   *
+   *   To enable this mode, you must use @FT_Open_Face, passing an
+   *   @FT_Parameter with the @FT_PARAM_TAG_INCREMENTAL tag and an
+   *   @FT_Incremental_Interface value.  See the comments for
+   *   @FT_Incremental_InterfaceRec for an example.
+   *
+   */
+
+
+  /**************************************************************************
+   *
+   * @type:
+   *   FT_Incremental
+   *
+   * @description:
+   *   An opaque type describing a user-provided object used to implement
+   *   'incremental' glyph loading within FreeType.  This is used to support
+   *   embedded fonts in certain environments (e.g., PostScript
+   *   interpreters), where the glyph data isn't in the font file, or must be
+   *   overridden by different values.
+   *
+   * @note:
+   *   It is up to client applications to create and implement
+   *   @FT_Incremental objects, as long as they provide implementations for
+   *   the methods @FT_Incremental_GetGlyphDataFunc,
+   *   @FT_Incremental_FreeGlyphDataFunc and
+   *   @FT_Incremental_GetGlyphMetricsFunc.
+   *
+   *   See the description of @FT_Incremental_InterfaceRec to understand how
+   *   to use incremental objects with FreeType.
+   *
+   */
+  typedef struct FT_IncrementalRec_*  FT_Incremental;
+
+
+  /**************************************************************************
+   *
+   * @struct:
+   *   FT_Incremental_MetricsRec
+   *
+   * @description:
+   *   A small structure used to contain the basic glyph metrics returned by
+   *   the @FT_Incremental_GetGlyphMetricsFunc method.
+   *
+   * @fields:
+   *   bearing_x ::
+   *     Left bearing, in font units.
+   *
+   *   bearing_y ::
+   *     Top bearing, in font units.
+   *
+   *   advance ::
+   *     Horizontal component of glyph advance, in font units.
+   *
+   *   advance_v ::
+   *     Vertical component of glyph advance, in font units.
+   *
+   * @note:
+   *   These correspond to horizontal or vertical metrics depending on the
+   *   value of the `vertical` argument to the function
+   *   @FT_Incremental_GetGlyphMetricsFunc.
+   *
+   */
+  typedef struct  FT_Incremental_MetricsRec_
+  {
+    FT_Long  bearing_x;
+    FT_Long  bearing_y;
+    FT_Long  advance;
+    FT_Long  advance_v;     /* since 2.3.12 */
+
+  } FT_Incremental_MetricsRec;
+
+
+  /**************************************************************************
+   *
+   * @struct:
+   *   FT_Incremental_Metrics
+   *
+   * @description:
+   *   A handle to an @FT_Incremental_MetricsRec structure.
+   *
+   */
+   typedef struct FT_Incremental_MetricsRec_*  FT_Incremental_Metrics;
+
+
+  /**************************************************************************
+   *
+   * @type:
+   *   FT_Incremental_GetGlyphDataFunc
+   *
+   * @description:
+   *   A function called by FreeType to access a given glyph's data bytes
+   *   during @FT_Load_Glyph or @FT_Load_Char if incremental loading is
+   *   enabled.
+   *
+   *   Note that the format of the glyph's data bytes depends on the font
+   *   file format.  For TrueType, it must correspond to the raw bytes within
+   *   the 'glyf' table.  For PostScript formats, it must correspond to the
+   *   **unencrypted** charstring bytes, without any `lenIV` header.  It is
+   *   undefined for any other format.
+   *
+   * @input:
+   *   incremental ::
+   *     Handle to an opaque @FT_Incremental handle provided by the client
+   *     application.
+   *
+   *   glyph_index ::
+   *     Index of relevant glyph.
+   *
+   * @output:
+   *   adata ::
+   *     A structure describing the returned glyph data bytes (which will be
+   *     accessed as a read-only byte block).
+   *
+   * @return:
+   *   FreeType error code.  0~means success.
+   *
+   * @note:
+   *   If this function returns successfully the method
+   *   @FT_Incremental_FreeGlyphDataFunc will be called later to release the
+   *   data bytes.
+   *
+   *   Nested calls to @FT_Incremental_GetGlyphDataFunc can happen for
+   *   compound glyphs.
+   *
+   */
+  typedef FT_Error
+  (*FT_Incremental_GetGlyphDataFunc)( FT_Incremental  incremental,
+                                      FT_UInt         glyph_index,
+                                      FT_Data*        adata );
+
+
+  /**************************************************************************
+   *
+   * @type:
+   *   FT_Incremental_FreeGlyphDataFunc
+   *
+   * @description:
+   *   A function used to release the glyph data bytes returned by a
+   *   successful call to @FT_Incremental_GetGlyphDataFunc.
+   *
+   * @input:
+   *   incremental ::
+   *     A handle to an opaque @FT_Incremental handle provided by the client
+   *     application.
+   *
+   *   data ::
+   *     A structure describing the glyph data bytes (which will be accessed
+   *     as a read-only byte block).
+   *
+   */
+  typedef void
+  (*FT_Incremental_FreeGlyphDataFunc)( FT_Incremental  incremental,
+                                       FT_Data*        data );
+
+
+  /**************************************************************************
+   *
+   * @type:
+   *   FT_Incremental_GetGlyphMetricsFunc
+   *
+   * @description:
+   *   A function used to retrieve the basic metrics of a given glyph index
+   *   before accessing its data.  This is necessary because, in certain
+   *   formats like TrueType, the metrics are stored in a different place
+   *   from the glyph images proper.
+   *
+   * @input:
+   *   incremental ::
+   *     A handle to an opaque @FT_Incremental handle provided by the client
+   *     application.
+   *
+   *   glyph_index ::
+   *     Index of relevant glyph.
+   *
+   *   vertical ::
+   *     If true, return vertical metrics.
+   *
+   *   ametrics ::
+   *     This parameter is used for both input and output.  The original
+   *     glyph metrics, if any, in font units.  If metrics are not available
+   *     all the values must be set to zero.
+   *
+   * @output:
+   *   ametrics ::
+   *     The replacement glyph metrics in font units.
+   *
+   */
+  typedef FT_Error
+  (*FT_Incremental_GetGlyphMetricsFunc)
+                      ( FT_Incremental              incremental,
+                        FT_UInt                     glyph_index,
+                        FT_Bool                     vertical,
+                        FT_Incremental_MetricsRec  *ametrics );
+
+
+  /**************************************************************************
+   *
+   * @struct:
+   *   FT_Incremental_FuncsRec
+   *
+   * @description:
+   *   A table of functions for accessing fonts that load data incrementally.
+   *   Used in @FT_Incremental_InterfaceRec.
+   *
+   * @fields:
+   *   get_glyph_data ::
+   *     The function to get glyph data.  Must not be null.
+   *
+   *   free_glyph_data ::
+   *     The function to release glyph data.  Must not be null.
+   *
+   *   get_glyph_metrics ::
+   *     The function to get glyph metrics.  May be null if the font does not
+   *     provide overriding glyph metrics.
+   *
+   */
+  typedef struct  FT_Incremental_FuncsRec_
+  {
+    FT_Incremental_GetGlyphDataFunc     get_glyph_data;
+    FT_Incremental_FreeGlyphDataFunc    free_glyph_data;
+    FT_Incremental_GetGlyphMetricsFunc  get_glyph_metrics;
+
+  } FT_Incremental_FuncsRec;
+
+
+  /**************************************************************************
+   *
+   * @struct:
+   *   FT_Incremental_InterfaceRec
+   *
+   * @description:
+   *   A structure to be used with @FT_Open_Face to indicate that the user
+   *   wants to support incremental glyph loading.  You should use it with
+   *   @FT_PARAM_TAG_INCREMENTAL as in the following example:
+   *
+   *   ```
+   *     FT_Incremental_InterfaceRec  inc_int;
+   *     FT_Parameter                 parameter;
+   *     FT_Open_Args                 open_args;
+   *
+   *
+   *     // set up incremental descriptor
+   *     inc_int.funcs  = my_funcs;
+   *     inc_int.object = my_object;
+   *
+   *     // set up optional parameter
+   *     parameter.tag  = FT_PARAM_TAG_INCREMENTAL;
+   *     parameter.data = &inc_int;
+   *
+   *     // set up FT_Open_Args structure
+   *     open_args.flags      = FT_OPEN_PATHNAME | FT_OPEN_PARAMS;
+   *     open_args.pathname   = my_font_pathname;
+   *     open_args.num_params = 1;
+   *     open_args.params     = &parameter; // we use one optional argument
+   *
+   *     // open the font
+   *     error = FT_Open_Face( library, &open_args, index, &face );
+   *     ...
+   *   ```
+   *
+   */
+  typedef struct  FT_Incremental_InterfaceRec_
+  {
+    const FT_Incremental_FuncsRec*  funcs;
+    FT_Incremental                  object;
+
+  } FT_Incremental_InterfaceRec;
+
+
+  /**************************************************************************
+   *
+   * @type:
+   *   FT_Incremental_Interface
+   *
+   * @description:
+   *   A pointer to an @FT_Incremental_InterfaceRec structure.
+   *
+   */
+  typedef FT_Incremental_InterfaceRec*   FT_Incremental_Interface;
+
+
+  /* */
+
+
+FT_END_HEADER
+
+#endif /* FTINCREM_H_ */
+
+
+/* END */
diff --git a/CMU462/deps/freetype/include/freetype/ftlcdfil.h b/CMU462/deps/freetype/include/freetype/ftlcdfil.h
new file mode 100644
index 0000000..3a19d04
--- /dev/null
+++ b/CMU462/deps/freetype/include/freetype/ftlcdfil.h
@@ -0,0 +1,328 @@
+/****************************************************************************
+ *
+ * ftlcdfil.h
+ *
+ *   FreeType API for color filtering of subpixel bitmap glyphs
+ *   (specification).
+ *
+ * Copyright (C) 2006-2019 by
+ * David Turner, Robert Wilhelm, and Werner Lemberg.
+ *
+ * This file is part of the FreeType project, and may only be used,
+ * modified, and distributed under the terms of the FreeType project
+ * license, LICENSE.TXT.  By continuing to use, modify, or distribute
+ * this file you indicate that you have read the license and
+ * understand and accept it fully.
+ *
+ */
+
+
+#ifndef FTLCDFIL_H_
+#define FTLCDFIL_H_
+
+#include <ft2build.h>
+#include FT_FREETYPE_H
+#include FT_PARAMETER_TAGS_H
+
+#ifdef FREETYPE_H
+#error "freetype.h of FreeType 1 has been loaded!"
+#error "Please fix the directory search order for header files"
+#error "so that freetype.h of FreeType 2 is found first."
+#endif
+
+
+FT_BEGIN_HEADER
+
+  /**************************************************************************
+   *
+   * @section:
+   *   lcd_rendering
+   *
+   * @title:
+   *   Subpixel Rendering
+   *
+   * @abstract:
+   *   API to control subpixel rendering.
+   *
+   * @description:
+   *   FreeType provides two alternative subpixel rendering technologies. 
+   *   Should you define `FT_CONFIG_OPTION_SUBPIXEL_RENDERING` in your
+   *   `ftoption.h` file, this enables patented ClearType-style rendering. 
+   *   Otherwise, Harmony LCD rendering is enabled.  These technologies are
+   *   controlled differently and API described below, although always
+   *   available, performs its function when appropriate method is enabled
+   *   and does nothing otherwise.
+   *
+   *   ClearType-style LCD rendering exploits the color-striped structure of
+   *   LCD pixels, increasing the available resolution in the direction of
+   *   the stripe (usually horizontal RGB) by a factor of~3.  Using the
+   *   subpixels coverages unfiltered can create severe color fringes
+   *   especially when rendering thin features.  Indeed, to produce
+   *   black-on-white text, the nearby color subpixels must be dimmed
+   *   equally.
+   *
+   *   A good 5-tap FIR filter should be applied to subpixel coverages
+   *   regardless of pixel boundaries and should have these properties:
+   *
+   *   1. It should be symmetrical, like {~a, b, c, b, a~}, to avoid
+   *      any shifts in appearance.
+   *
+   *   2. It should be color-balanced, meaning a~+ b~=~c, to reduce color
+   *      fringes by distributing the computed coverage for one subpixel to
+   *      all subpixels equally.
+   *
+   *   3. It should be normalized, meaning 2a~+ 2b~+ c~=~1.0 to maintain
+   *      overall brightness.
+   *
+   *   Boxy 3-tap filter {0, 1/3, 1/3, 1/3, 0} is sharper but is less
+   *   forgiving of non-ideal gamma curves of a screen (and viewing angles),
+   *   beveled filters are fuzzier but more tolerant.
+   *
+   *   Use the @FT_Library_SetLcdFilter or @FT_Library_SetLcdFilterWeights
+   *   API to specify a low-pass filter, which is then applied to
+   *   subpixel-rendered bitmaps generated through @FT_Render_Glyph.
+   *
+   *   Harmony LCD rendering is suitable to panels with any regular subpixel
+   *   structure, not just monitors with 3 color striped subpixels, as long
+   *   as the color subpixels have fixed positions relative to the pixel
+   *   center.  In this case, each color channel is then rendered separately
+   *   after shifting the outline opposite to the subpixel shift so that the
+   *   coverage maps are aligned.  This method is immune to color fringes
+   *   because the shifts do not change integral coverage.
+   *
+   *   The subpixel geometry must be specified by xy-coordinates for each
+   *   subpixel. By convention they may come in the RGB order: {{-1/3, 0},
+   *   {0, 0}, {1/3, 0}} for standard RGB striped panel or {{-1/6, 1/4},
+   *   {-1/6, -1/4}, {1/3, 0}} for a certain PenTile panel.
+   *
+   *   Use the @FT_Library_SetLcdGeometry API to specify subpixel positions.
+   *   If one follows the RGB order convention, the same order applies to the
+   *   resulting @FT_PIXEL_MODE_LCD and @FT_PIXEL_MODE_LCD_V bitmaps.  Note,
+   *   however, that the coordinate frame for the latter must be rotated
+   *   clockwise.  Harmony with default LCD geometry is equivalent to
+   *   ClearType with light filter.
+   *
+   *   As a result of ClearType filtering or Harmony rendering, the
+   *   dimensions of LCD bitmaps can be either wider or taller than the
+   *   dimensions of the corresponding outline with regard to the pixel grid.
+   *   For example, for @FT_RENDER_MODE_LCD, the filter adds 2~subpixels to
+   *   the left, and 2~subpixels to the right.  The bitmap offset values are
+   *   adjusted accordingly, so clients shouldn't need to modify their layout
+   *   and glyph positioning code when enabling the filter.
+   *
+   *   The ClearType and Harmony rendering is applicable to glyph bitmaps
+   *   rendered through @FT_Render_Glyph, @FT_Load_Glyph, @FT_Load_Char, and
+   *   @FT_Glyph_To_Bitmap, when @FT_RENDER_MODE_LCD or @FT_RENDER_MODE_LCD_V
+   *   is specified.  This API does not control @FT_Outline_Render and
+   *   @FT_Outline_Get_Bitmap.
+   *
+   *   The described algorithms can completely remove color artefacts when
+   *   combined with gamma-corrected alpha blending in linear space.  Each of
+   *   the 3~alpha values (subpixels) must by independently used to blend one
+   *   color channel.  That is, red alpha blends the red channel of the text
+   *   color with the red channel of the background pixel.
+   */
+
+
+  /**************************************************************************
+   *
+   * @enum:
+   *   FT_LcdFilter
+   *
+   * @description:
+   *   A list of values to identify various types of LCD filters.
+   *
+   * @values:
+   *   FT_LCD_FILTER_NONE ::
+   *     Do not perform filtering.  When used with subpixel rendering, this
+   *     results in sometimes severe color fringes.
+   *
+   *   FT_LCD_FILTER_DEFAULT ::
+   *     This is a beveled, normalized, and color-balanced five-tap filter
+   *     with weights of [0x08 0x4D 0x56 0x4D 0x08] in 1/256th units.
+   *
+   *   FT_LCD_FILTER_LIGHT ::
+   *     this is a boxy, normalized, and color-balanced three-tap filter with
+   *     weights of [0x00 0x55 0x56 0x55 0x00] in 1/256th units.
+   *
+   *   FT_LCD_FILTER_LEGACY ::
+   *   FT_LCD_FILTER_LEGACY1 ::
+   *     This filter corresponds to the original libXft color filter.  It
+   *     provides high contrast output but can exhibit really bad color
+   *     fringes if glyphs are not extremely well hinted to the pixel grid.
+   *     This filter is only provided for comparison purposes, and might be
+   *     disabled or stay unsupported in the future. The second value is
+   *     provided for compatibility with FontConfig, which historically used
+   *     different enumeration, sometimes incorrectly forwarded to FreeType.
+   *
+   * @since:
+   *   2.3.0 (`FT_LCD_FILTER_LEGACY1` since 2.6.2)
+   */
+  typedef enum  FT_LcdFilter_
+  {
+    FT_LCD_FILTER_NONE    = 0,
+    FT_LCD_FILTER_DEFAULT = 1,
+    FT_LCD_FILTER_LIGHT   = 2,
+    FT_LCD_FILTER_LEGACY1 = 3,
+    FT_LCD_FILTER_LEGACY  = 16,
+
+    FT_LCD_FILTER_MAX   /* do not remove */
+
+  } FT_LcdFilter;
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Library_SetLcdFilter
+   *
+   * @description:
+   *   This function is used to apply color filtering to LCD decimated
+   *   bitmaps, like the ones used when calling @FT_Render_Glyph with
+   *   @FT_RENDER_MODE_LCD or @FT_RENDER_MODE_LCD_V.
+   *
+   * @input:
+   *   library ::
+   *     A handle to the target library instance.
+   *
+   *   filter ::
+   *     The filter type.
+   *
+   *     You can use @FT_LCD_FILTER_NONE here to disable this feature, or
+   *     @FT_LCD_FILTER_DEFAULT to use a default filter that should work well
+   *     on most LCD screens.
+   *
+   * @return:
+   *   FreeType error code.  0~means success.
+   *
+   * @note:
+   *   This feature is always disabled by default.  Clients must make an
+   *   explicit call to this function with a `filter` value other than
+   *   @FT_LCD_FILTER_NONE in order to enable it.
+   *
+   *   Due to **PATENTS** covering subpixel rendering, this function doesn't
+   *   do anything except returning `FT_Err_Unimplemented_Feature` if the
+   *   configuration macro `FT_CONFIG_OPTION_SUBPIXEL_RENDERING` is not
+   *   defined in your build of the library, which should correspond to all
+   *   default builds of FreeType.
+   *
+   * @since:
+   *   2.3.0
+   */
+  FT_EXPORT( FT_Error )
+  FT_Library_SetLcdFilter( FT_Library    library,
+                           FT_LcdFilter  filter );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Library_SetLcdFilterWeights
+   *
+   * @description:
+   *   This function can be used to enable LCD filter with custom weights,
+   *   instead of using presets in @FT_Library_SetLcdFilter.
+   *
+   * @input:
+   *   library ::
+   *     A handle to the target library instance.
+   *
+   *   weights ::
+   *     A pointer to an array; the function copies the first five bytes and
+   *     uses them to specify the filter weights in 1/256th units.
+   *
+   * @return:
+   *   FreeType error code.  0~means success.
+   *
+   * @note:
+   *   Due to **PATENTS** covering subpixel rendering, this function doesn't
+   *   do anything except returning `FT_Err_Unimplemented_Feature` if the
+   *   configuration macro `FT_CONFIG_OPTION_SUBPIXEL_RENDERING` is not
+   *   defined in your build of the library, which should correspond to all
+   *   default builds of FreeType.
+   *
+   *   LCD filter weights can also be set per face using @FT_Face_Properties
+   *   with @FT_PARAM_TAG_LCD_FILTER_WEIGHTS.
+   *
+   * @since:
+   *   2.4.0
+   */
+  FT_EXPORT( FT_Error )
+  FT_Library_SetLcdFilterWeights( FT_Library      library,
+                                  unsigned char  *weights );
+
+
+  /**************************************************************************
+   *
+   * @type:
+   *   FT_LcdFiveTapFilter
+   *
+   * @description:
+   *   A typedef for passing the five LCD filter weights to
+   *   @FT_Face_Properties within an @FT_Parameter structure.
+   *
+   * @since:
+   *   2.8
+   *
+   */
+#define FT_LCD_FILTER_FIVE_TAPS  5
+
+  typedef FT_Byte  FT_LcdFiveTapFilter[FT_LCD_FILTER_FIVE_TAPS];
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Library_SetLcdGeometry
+   *
+   * @description:
+   *   This function can be used to modify default positions of color
+   *   subpixels, which controls Harmony LCD rendering.
+   *
+   * @input:
+   *   library ::
+   *     A handle to the target library instance.
+   *
+   *   sub ::
+   *     A pointer to an array of 3 vectors in 26.6 fractional pixel format;
+   *     the function modifies the default values, see the note below.
+   *
+   * @return:
+   *   FreeType error code.  0~means success.
+   *
+   * @note:
+   *   Subpixel geometry examples:
+   *
+   *   - {{-21, 0}, {0, 0}, {21, 0}} is the default, corresponding to 3 color
+   *   stripes shifted by a third of a pixel. This could be an RGB panel.
+   *
+   *   - {{21, 0}, {0, 0}, {-21, 0}} looks the same as the default but can
+   *   specify a BGR panel instead, while keeping the bitmap in the same
+   *   RGB888 format.
+   *
+   *   - {{0, 21}, {0, 0}, {0, -21}} is the vertical RGB, but the bitmap
+   *   stays RGB888 as a result.
+   *
+   *   - {{-11, 16}, {-11, -16}, {22, 0}} is a certain PenTile arrangement.
+   *
+   *   This function does nothing and returns `FT_Err_Unimplemented_Feature`
+   *   in the context of ClearType-style subpixel rendering when
+   *   `FT_CONFIG_OPTION_SUBPIXEL_RENDERING` is defined in your build of the
+   *   library.
+   *
+   * @since:
+   *   2.10.0
+   */
+  FT_EXPORT( FT_Error )
+  FT_Library_SetLcdGeometry( FT_Library  library,
+                             FT_Vector   sub[3] );
+
+  /* */
+
+
+FT_END_HEADER
+
+#endif /* FTLCDFIL_H_ */
+
+
+/* END */
diff --git a/CMU462/deps/freetype/include/freetype/ftlist.h b/CMU462/deps/freetype/include/freetype/ftlist.h
new file mode 100644
index 0000000..4782892
--- /dev/null
+++ b/CMU462/deps/freetype/include/freetype/ftlist.h
@@ -0,0 +1,297 @@
+/****************************************************************************
+ *
+ * ftlist.h
+ *
+ *   Generic list support for FreeType (specification).
+ *
+ * Copyright (C) 1996-2019 by
+ * David Turner, Robert Wilhelm, and Werner Lemberg.
+ *
+ * This file is part of the FreeType project, and may only be used,
+ * modified, and distributed under the terms of the FreeType project
+ * license, LICENSE.TXT.  By continuing to use, modify, or distribute
+ * this file you indicate that you have read the license and
+ * understand and accept it fully.
+ *
+ */
+
+
+  /**************************************************************************
+   *
+   * This file implements functions relative to list processing.  Its data
+   * structures are defined in `freetype.h`.
+   *
+   */
+
+
+#ifndef FTLIST_H_
+#define FTLIST_H_
+
+
+#include <ft2build.h>
+#include FT_FREETYPE_H
+
+#ifdef FREETYPE_H
+#error "freetype.h of FreeType 1 has been loaded!"
+#error "Please fix the directory search order for header files"
+#error "so that freetype.h of FreeType 2 is found first."
+#endif
+
+
+FT_BEGIN_HEADER
+
+
+  /**************************************************************************
+   *
+   * @section:
+   *   list_processing
+   *
+   * @title:
+   *   List Processing
+   *
+   * @abstract:
+   *   Simple management of lists.
+   *
+   * @description:
+   *   This section contains various definitions related to list processing
+   *   using doubly-linked nodes.
+   *
+   * @order:
+   *   FT_List
+   *   FT_ListNode
+   *   FT_ListRec
+   *   FT_ListNodeRec
+   *
+   *   FT_List_Add
+   *   FT_List_Insert
+   *   FT_List_Find
+   *   FT_List_Remove
+   *   FT_List_Up
+   *   FT_List_Iterate
+   *   FT_List_Iterator
+   *   FT_List_Finalize
+   *   FT_List_Destructor
+   *
+   */
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_List_Find
+   *
+   * @description:
+   *   Find the list node for a given listed object.
+   *
+   * @input:
+   *   list ::
+   *     A pointer to the parent list.
+   *   data ::
+   *     The address of the listed object.
+   *
+   * @return:
+   *   List node.  `NULL` if it wasn't found.
+   */
+  FT_EXPORT( FT_ListNode )
+  FT_List_Find( FT_List  list,
+                void*    data );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_List_Add
+   *
+   * @description:
+   *   Append an element to the end of a list.
+   *
+   * @inout:
+   *   list ::
+   *     A pointer to the parent list.
+   *   node ::
+   *     The node to append.
+   */
+  FT_EXPORT( void )
+  FT_List_Add( FT_List      list,
+               FT_ListNode  node );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_List_Insert
+   *
+   * @description:
+   *   Insert an element at the head of a list.
+   *
+   * @inout:
+   *   list ::
+   *     A pointer to parent list.
+   *   node ::
+   *     The node to insert.
+   */
+  FT_EXPORT( void )
+  FT_List_Insert( FT_List      list,
+                  FT_ListNode  node );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_List_Remove
+   *
+   * @description:
+   *   Remove a node from a list.  This function doesn't check whether the
+   *   node is in the list!
+   *
+   * @input:
+   *   node ::
+   *     The node to remove.
+   *
+   * @inout:
+   *   list ::
+   *     A pointer to the parent list.
+   */
+  FT_EXPORT( void )
+  FT_List_Remove( FT_List      list,
+                  FT_ListNode  node );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_List_Up
+   *
+   * @description:
+   *   Move a node to the head/top of a list.  Used to maintain LRU lists.
+   *
+   * @inout:
+   *   list ::
+   *     A pointer to the parent list.
+   *   node ::
+   *     The node to move.
+   */
+  FT_EXPORT( void )
+  FT_List_Up( FT_List      list,
+              FT_ListNode  node );
+
+
+  /**************************************************************************
+   *
+   * @functype:
+   *   FT_List_Iterator
+   *
+   * @description:
+   *   An FT_List iterator function that is called during a list parse by
+   *   @FT_List_Iterate.
+   *
+   * @input:
+   *   node ::
+   *     The current iteration list node.
+   *
+   *   user ::
+   *     A typeless pointer passed to @FT_List_Iterate.  Can be used to point
+   *     to the iteration's state.
+   */
+  typedef FT_Error
+  (*FT_List_Iterator)( FT_ListNode  node,
+                       void*        user );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_List_Iterate
+   *
+   * @description:
+   *   Parse a list and calls a given iterator function on each element.
+   *   Note that parsing is stopped as soon as one of the iterator calls
+   *   returns a non-zero value.
+   *
+   * @input:
+   *   list ::
+   *     A handle to the list.
+   *   iterator ::
+   *     An iterator function, called on each node of the list.
+   *   user ::
+   *     A user-supplied field that is passed as the second argument to the
+   *     iterator.
+   *
+   * @return:
+   *   The result (a FreeType error code) of the last iterator call.
+   */
+  FT_EXPORT( FT_Error )
+  FT_List_Iterate( FT_List           list,
+                   FT_List_Iterator  iterator,
+                   void*             user );
+
+
+  /**************************************************************************
+   *
+   * @functype:
+   *   FT_List_Destructor
+   *
+   * @description:
+   *   An @FT_List iterator function that is called during a list
+   *   finalization by @FT_List_Finalize to destroy all elements in a given
+   *   list.
+   *
+   * @input:
+   *   system ::
+   *     The current system object.
+   *
+   *   data ::
+   *     The current object to destroy.
+   *
+   *   user ::
+   *     A typeless pointer passed to @FT_List_Iterate.  It can be used to
+   *     point to the iteration's state.
+   */
+  typedef void
+  (*FT_List_Destructor)( FT_Memory  memory,
+                         void*      data,
+                         void*      user );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_List_Finalize
+   *
+   * @description:
+   *   Destroy all elements in the list as well as the list itself.
+   *
+   * @input:
+   *   list ::
+   *     A handle to the list.
+   *
+   *   destroy ::
+   *     A list destructor that will be applied to each element of the list.
+   *     Set this to `NULL` if not needed.
+   *
+   *   memory ::
+   *     The current memory object that handles deallocation.
+   *
+   *   user ::
+   *     A user-supplied field that is passed as the last argument to the
+   *     destructor.
+   *
+   * @note:
+   *   This function expects that all nodes added by @FT_List_Add or
+   *   @FT_List_Insert have been dynamically allocated.
+   */
+  FT_EXPORT( void )
+  FT_List_Finalize( FT_List             list,
+                    FT_List_Destructor  destroy,
+                    FT_Memory           memory,
+                    void*               user );
+
+  /* */
+
+
+FT_END_HEADER
+
+#endif /* FTLIST_H_ */
+
+
+/* END */
diff --git a/CMU462/deps/freetype/include/freetype/ftlzw.h b/CMU462/deps/freetype/include/freetype/ftlzw.h
new file mode 100644
index 0000000..fd22968
--- /dev/null
+++ b/CMU462/deps/freetype/include/freetype/ftlzw.h
@@ -0,0 +1,100 @@
+/****************************************************************************
+ *
+ * ftlzw.h
+ *
+ *   LZW-compressed stream support.
+ *
+ * Copyright (C) 2004-2019 by
+ * David Turner, Robert Wilhelm, and Werner Lemberg.
+ *
+ * This file is part of the FreeType project, and may only be used,
+ * modified, and distributed under the terms of the FreeType project
+ * license, LICENSE.TXT.  By continuing to use, modify, or distribute
+ * this file you indicate that you have read the license and
+ * understand and accept it fully.
+ *
+ */
+
+
+#ifndef FTLZW_H_
+#define FTLZW_H_
+
+#include <ft2build.h>
+#include FT_FREETYPE_H
+
+#ifdef FREETYPE_H
+#error "freetype.h of FreeType 1 has been loaded!"
+#error "Please fix the directory search order for header files"
+#error "so that freetype.h of FreeType 2 is found first."
+#endif
+
+
+FT_BEGIN_HEADER
+
+  /**************************************************************************
+   *
+   * @section:
+   *   lzw
+   *
+   * @title:
+   *   LZW Streams
+   *
+   * @abstract:
+   *   Using LZW-compressed font files.
+   *
+   * @description:
+   *   This section contains the declaration of LZW-specific functions.
+   *
+   */
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Stream_OpenLZW
+   *
+   * @description:
+   *   Open a new stream to parse LZW-compressed font files.  This is mainly
+   *   used to support the compressed `*.pcf.Z` fonts that come with XFree86.
+   *
+   * @input:
+   *   stream ::
+   *     The target embedding stream.
+   *
+   *   source ::
+   *     The source stream.
+   *
+   * @return:
+   *   FreeType error code.  0~means success.
+   *
+   * @note:
+   *   The source stream must be opened _before_ calling this function.
+   *
+   *   Calling the internal function `FT_Stream_Close` on the new stream will
+   *   **not** call `FT_Stream_Close` on the source stream.  None of the
+   *   stream objects will be released to the heap.
+   *
+   *   The stream implementation is very basic and resets the decompression
+   *   process each time seeking backwards is needed within the stream
+   *
+   *   In certain builds of the library, LZW compression recognition is
+   *   automatically handled when calling @FT_New_Face or @FT_Open_Face.
+   *   This means that if no font driver is capable of handling the raw
+   *   compressed file, the library will try to open a LZW stream from it and
+   *   re-open the face with it.
+   *
+   *   This function may return `FT_Err_Unimplemented_Feature` if your build
+   *   of FreeType was not compiled with LZW support.
+   */
+  FT_EXPORT( FT_Error )
+  FT_Stream_OpenLZW( FT_Stream  stream,
+                     FT_Stream  source );
+
+  /* */
+
+
+FT_END_HEADER
+
+#endif /* FTLZW_H_ */
+
+
+/* END */
diff --git a/CMU462/deps/freetype/include/freetype/ftmac.h b/CMU462/deps/freetype/include/freetype/ftmac.h
new file mode 100644
index 0000000..92b9f3d
--- /dev/null
+++ b/CMU462/deps/freetype/include/freetype/ftmac.h
@@ -0,0 +1,290 @@
+/****************************************************************************
+ *
+ * ftmac.h
+ *
+ *   Additional Mac-specific API.
+ *
+ * Copyright (C) 1996-2019 by
+ * Just van Rossum, David Turner, Robert Wilhelm, and Werner Lemberg.
+ *
+ * This file is part of the FreeType project, and may only be used,
+ * modified, and distributed under the terms of the FreeType project
+ * license, LICENSE.TXT.  By continuing to use, modify, or distribute
+ * this file you indicate that you have read the license and
+ * understand and accept it fully.
+ *
+ */
+
+
+/****************************************************************************
+ *
+ * NOTE: Include this file after `FT_FREETYPE_H` and after any
+ *       Mac-specific headers (because this header uses Mac types such as
+ *       'Handle', 'FSSpec', 'FSRef', etc.)
+ *
+ */
+
+
+#ifndef FTMAC_H_
+#define FTMAC_H_
+
+
+#include <ft2build.h>
+
+
+FT_BEGIN_HEADER
+
+
+  /* gcc-3.1 and later can warn about functions tagged as deprecated */
+#ifndef FT_DEPRECATED_ATTRIBUTE
+#if defined( __GNUC__ )                                     && \
+    ( ( __GNUC__ >= 4 )                                  ||    \
+      ( ( __GNUC__ == 3 ) && ( __GNUC_MINOR__ >= 1 ) ) )
+#define FT_DEPRECATED_ATTRIBUTE  __attribute__(( deprecated ))
+#else
+#define FT_DEPRECATED_ATTRIBUTE
+#endif
+#endif
+
+
+  /**************************************************************************
+   *
+   * @section:
+   *   mac_specific
+   *
+   * @title:
+   *   Mac Specific Interface
+   *
+   * @abstract:
+   *   Only available on the Macintosh.
+   *
+   * @description:
+   *   The following definitions are only available if FreeType is compiled
+   *   on a Macintosh.
+   *
+   */
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_New_Face_From_FOND
+   *
+   * @description:
+   *   Create a new face object from a FOND resource.
+   *
+   * @inout:
+   *   library ::
+   *     A handle to the library resource.
+   *
+   * @input:
+   *   fond ::
+   *     A FOND resource.
+   *
+   *   face_index ::
+   *     Only supported for the -1 'sanity check' special case.
+   *
+   * @output:
+   *   aface ::
+   *     A handle to a new face object.
+   *
+   * @return:
+   *   FreeType error code.  0~means success.
+   *
+   * @example:
+   *   This function can be used to create @FT_Face objects from fonts that
+   *   are installed in the system as follows.
+   *
+   *   ```
+   *     fond  = GetResource( 'FOND', fontName );
+   *     error = FT_New_Face_From_FOND( library, fond, 0, &face );
+   *   ```
+   */
+  FT_EXPORT( FT_Error )
+  FT_New_Face_From_FOND( FT_Library  library,
+                         Handle      fond,
+                         FT_Long     face_index,
+                         FT_Face    *aface )
+                       FT_DEPRECATED_ATTRIBUTE;
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_GetFile_From_Mac_Name
+   *
+   * @description:
+   *   Return an FSSpec for the disk file containing the named font.
+   *
+   * @input:
+   *   fontName ::
+   *     Mac OS name of the font (e.g., Times New Roman Bold).
+   *
+   * @output:
+   *   pathSpec ::
+   *     FSSpec to the file.  For passing to @FT_New_Face_From_FSSpec.
+   *
+   *   face_index ::
+   *     Index of the face.  For passing to @FT_New_Face_From_FSSpec.
+   *
+   * @return:
+   *   FreeType error code.  0~means success.
+   */
+  FT_EXPORT( FT_Error )
+  FT_GetFile_From_Mac_Name( const char*  fontName,
+                            FSSpec*      pathSpec,
+                            FT_Long*     face_index )
+                          FT_DEPRECATED_ATTRIBUTE;
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_GetFile_From_Mac_ATS_Name
+   *
+   * @description:
+   *   Return an FSSpec for the disk file containing the named font.
+   *
+   * @input:
+   *   fontName ::
+   *     Mac OS name of the font in ATS framework.
+   *
+   * @output:
+   *   pathSpec ::
+   *     FSSpec to the file. For passing to @FT_New_Face_From_FSSpec.
+   *
+   *   face_index ::
+   *     Index of the face. For passing to @FT_New_Face_From_FSSpec.
+   *
+   * @return:
+   *   FreeType error code.  0~means success.
+   */
+  FT_EXPORT( FT_Error )
+  FT_GetFile_From_Mac_ATS_Name( const char*  fontName,
+                                FSSpec*      pathSpec,
+                                FT_Long*     face_index )
+                              FT_DEPRECATED_ATTRIBUTE;
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_GetFilePath_From_Mac_ATS_Name
+   *
+   * @description:
+   *   Return a pathname of the disk file and face index for given font name
+   *   that is handled by ATS framework.
+   *
+   * @input:
+   *   fontName ::
+   *     Mac OS name of the font in ATS framework.
+   *
+   * @output:
+   *   path ::
+   *     Buffer to store pathname of the file.  For passing to @FT_New_Face.
+   *     The client must allocate this buffer before calling this function.
+   *
+   *   maxPathSize ::
+   *     Lengths of the buffer `path` that client allocated.
+   *
+   *   face_index ::
+   *     Index of the face.  For passing to @FT_New_Face.
+   *
+   * @return:
+   *   FreeType error code.  0~means success.
+   */
+  FT_EXPORT( FT_Error )
+  FT_GetFilePath_From_Mac_ATS_Name( const char*  fontName,
+                                    UInt8*       path,
+                                    UInt32       maxPathSize,
+                                    FT_Long*     face_index )
+                                  FT_DEPRECATED_ATTRIBUTE;
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_New_Face_From_FSSpec
+   *
+   * @description:
+   *   Create a new face object from a given resource and typeface index
+   *   using an FSSpec to the font file.
+   *
+   * @inout:
+   *   library ::
+   *     A handle to the library resource.
+   *
+   * @input:
+   *   spec ::
+   *     FSSpec to the font file.
+   *
+   *   face_index ::
+   *     The index of the face within the resource.  The first face has
+   *     index~0.
+   * @output:
+   *   aface ::
+   *     A handle to a new face object.
+   *
+   * @return:
+   *   FreeType error code.  0~means success.
+   *
+   * @note:
+   *   @FT_New_Face_From_FSSpec is identical to @FT_New_Face except it
+   *   accepts an FSSpec instead of a path.
+   */
+  FT_EXPORT( FT_Error )
+  FT_New_Face_From_FSSpec( FT_Library     library,
+                           const FSSpec  *spec,
+                           FT_Long        face_index,
+                           FT_Face       *aface )
+                         FT_DEPRECATED_ATTRIBUTE;
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_New_Face_From_FSRef
+   *
+   * @description:
+   *   Create a new face object from a given resource and typeface index
+   *   using an FSRef to the font file.
+   *
+   * @inout:
+   *   library ::
+   *     A handle to the library resource.
+   *
+   * @input:
+   *   spec ::
+   *     FSRef to the font file.
+   *
+   *   face_index ::
+   *     The index of the face within the resource.  The first face has
+   *     index~0.
+   * @output:
+   *   aface ::
+   *     A handle to a new face object.
+   *
+   * @return:
+   *   FreeType error code.  0~means success.
+   *
+   * @note:
+   *   @FT_New_Face_From_FSRef is identical to @FT_New_Face except it accepts
+   *   an FSRef instead of a path.
+   */
+  FT_EXPORT( FT_Error )
+  FT_New_Face_From_FSRef( FT_Library    library,
+                          const FSRef  *ref,
+                          FT_Long       face_index,
+                          FT_Face      *aface )
+                        FT_DEPRECATED_ATTRIBUTE;
+
+  /* */
+
+
+FT_END_HEADER
+
+
+#endif /* FTMAC_H_ */
+
+
+/* END */
diff --git a/CMU462/deps/freetype/include/freetype/ftmm.h b/CMU462/deps/freetype/include/freetype/ftmm.h
new file mode 100644
index 0000000..f2e16b6
--- /dev/null
+++ b/CMU462/deps/freetype/include/freetype/ftmm.h
@@ -0,0 +1,753 @@
+/****************************************************************************
+ *
+ * ftmm.h
+ *
+ *   FreeType Multiple Master font interface (specification).
+ *
+ * Copyright (C) 1996-2019 by
+ * David Turner, Robert Wilhelm, and Werner Lemberg.
+ *
+ * This file is part of the FreeType project, and may only be used,
+ * modified, and distributed under the terms of the FreeType project
+ * license, LICENSE.TXT.  By continuing to use, modify, or distribute
+ * this file you indicate that you have read the license and
+ * understand and accept it fully.
+ *
+ */
+
+
+#ifndef FTMM_H_
+#define FTMM_H_
+
+
+#include <ft2build.h>
+#include FT_TYPE1_TABLES_H
+
+
+FT_BEGIN_HEADER
+
+
+  /**************************************************************************
+   *
+   * @section:
+   *   multiple_masters
+   *
+   * @title:
+   *   Multiple Masters
+   *
+   * @abstract:
+   *   How to manage Multiple Masters fonts.
+   *
+   * @description:
+   *   The following types and functions are used to manage Multiple Master
+   *   fonts, i.e., the selection of specific design instances by setting
+   *   design axis coordinates.
+   *
+   *   Besides Adobe MM fonts, the interface supports Apple's TrueType GX and
+   *   OpenType variation fonts.  Some of the routines only work with Adobe
+   *   MM fonts, others will work with all three types.  They are similar
+   *   enough that a consistent interface makes sense.
+   *
+   */
+
+
+  /**************************************************************************
+   *
+   * @struct:
+   *   FT_MM_Axis
+   *
+   * @description:
+   *   A structure to model a given axis in design space for Multiple Masters
+   *   fonts.
+   *
+   *   This structure can't be used for TrueType GX or OpenType variation
+   *   fonts.
+   *
+   * @fields:
+   *   name ::
+   *     The axis's name.
+   *
+   *   minimum ::
+   *     The axis's minimum design coordinate.
+   *
+   *   maximum ::
+   *     The axis's maximum design coordinate.
+   */
+  typedef struct  FT_MM_Axis_
+  {
+    FT_String*  name;
+    FT_Long     minimum;
+    FT_Long     maximum;
+
+  } FT_MM_Axis;
+
+
+  /**************************************************************************
+   *
+   * @struct:
+   *   FT_Multi_Master
+   *
+   * @description:
+   *   A structure to model the axes and space of a Multiple Masters font.
+   *
+   *   This structure can't be used for TrueType GX or OpenType variation
+   *   fonts.
+   *
+   * @fields:
+   *   num_axis ::
+   *     Number of axes.  Cannot exceed~4.
+   *
+   *   num_designs ::
+   *     Number of designs; should be normally 2^num_axis even though the
+   *     Type~1 specification strangely allows for intermediate designs to be
+   *     present.  This number cannot exceed~16.
+   *
+   *   axis ::
+   *     A table of axis descriptors.
+   */
+  typedef struct  FT_Multi_Master_
+  {
+    FT_UInt     num_axis;
+    FT_UInt     num_designs;
+    FT_MM_Axis  axis[T1_MAX_MM_AXIS];
+
+  } FT_Multi_Master;
+
+
+  /**************************************************************************
+   *
+   * @struct:
+   *   FT_Var_Axis
+   *
+   * @description:
+   *   A structure to model a given axis in design space for Multiple
+   *   Masters, TrueType GX, and OpenType variation fonts.
+   *
+   * @fields:
+   *   name ::
+   *     The axis's name.  Not always meaningful for TrueType GX or OpenType
+   *     variation fonts.
+   *
+   *   minimum ::
+   *     The axis's minimum design coordinate.
+   *
+   *   def ::
+   *     The axis's default design coordinate.  FreeType computes meaningful
+   *     default values for Adobe MM fonts.
+   *
+   *   maximum ::
+   *     The axis's maximum design coordinate.
+   *
+   *   tag ::
+   *     The axis's tag (the equivalent to 'name' for TrueType GX and
+   *     OpenType variation fonts).  FreeType provides default values for
+   *     Adobe MM fonts if possible.
+   *
+   *   strid ::
+   *     The axis name entry in the font's 'name' table.  This is another
+   *     (and often better) version of the 'name' field for TrueType GX or
+   *     OpenType variation fonts.  Not meaningful for Adobe MM fonts.
+   *
+   * @note:
+   *   The fields `minimum`, `def`, and `maximum` are 16.16 fractional values
+   *   for TrueType GX and OpenType variation fonts.  For Adobe MM fonts, the
+   *   values are integers.
+   */
+  typedef struct  FT_Var_Axis_
+  {
+    FT_String*  name;
+
+    FT_Fixed    minimum;
+    FT_Fixed    def;
+    FT_Fixed    maximum;
+
+    FT_ULong    tag;
+    FT_UInt     strid;
+
+  } FT_Var_Axis;
+
+
+  /**************************************************************************
+   *
+   * @struct:
+   *   FT_Var_Named_Style
+   *
+   * @description:
+   *   A structure to model a named instance in a TrueType GX or OpenType
+   *   variation font.
+   *
+   *   This structure can't be used for Adobe MM fonts.
+   *
+   * @fields:
+   *   coords ::
+   *     The design coordinates for this instance.  This is an array with one
+   *     entry for each axis.
+   *
+   *   strid ::
+   *     The entry in 'name' table identifying this instance.
+   *
+   *   psid ::
+   *     The entry in 'name' table identifying a PostScript name for this
+   *     instance.  Value 0xFFFF indicates a missing entry.
+   */
+  typedef struct  FT_Var_Named_Style_
+  {
+    FT_Fixed*  coords;
+    FT_UInt    strid;
+    FT_UInt    psid;   /* since 2.7.1 */
+
+  } FT_Var_Named_Style;
+
+
+  /**************************************************************************
+   *
+   * @struct:
+   *   FT_MM_Var
+   *
+   * @description:
+   *   A structure to model the axes and space of an Adobe MM, TrueType GX,
+   *   or OpenType variation font.
+   *
+   *   Some fields are specific to one format and not to the others.
+   *
+   * @fields:
+   *   num_axis ::
+   *     The number of axes.  The maximum value is~4 for Adobe MM fonts; no
+   *     limit in TrueType GX or OpenType variation fonts.
+   *
+   *   num_designs ::
+   *     The number of designs; should be normally 2^num_axis for Adobe MM
+   *     fonts.  Not meaningful for TrueType GX or OpenType variation fonts
+   *     (where every glyph could have a different number of designs).
+   *
+   *   num_namedstyles ::
+   *     The number of named styles; a 'named style' is a tuple of design
+   *     coordinates that has a string ID (in the 'name' table) associated
+   *     with it.  The font can tell the user that, for example,
+   *     [Weight=1.5,Width=1.1] is 'Bold'.  Another name for 'named style' is
+   *     'named instance'.
+   *
+   *     For Adobe Multiple Masters fonts, this value is always zero because
+   *     the format does not support named styles.
+   *
+   *   axis ::
+   *     An axis descriptor table.  TrueType GX and OpenType variation fonts
+   *     contain slightly more data than Adobe MM fonts.  Memory management
+   *     of this pointer is done internally by FreeType.
+   *
+   *   namedstyle ::
+   *     A named style (instance) table.  Only meaningful for TrueType GX and
+   *     OpenType variation fonts.  Memory management of this pointer is done
+   *     internally by FreeType.
+   */
+  typedef struct  FT_MM_Var_
+  {
+    FT_UInt              num_axis;
+    FT_UInt              num_designs;
+    FT_UInt              num_namedstyles;
+    FT_Var_Axis*         axis;
+    FT_Var_Named_Style*  namedstyle;
+
+  } FT_MM_Var;
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Get_Multi_Master
+   *
+   * @description:
+   *   Retrieve a variation descriptor of a given Adobe MM font.
+   *
+   *   This function can't be used with TrueType GX or OpenType variation
+   *   fonts.
+   *
+   * @input:
+   *   face ::
+   *     A handle to the source face.
+   *
+   * @output:
+   *   amaster ::
+   *     The Multiple Masters descriptor.
+   *
+   * @return:
+   *   FreeType error code.  0~means success.
+   */
+  FT_EXPORT( FT_Error )
+  FT_Get_Multi_Master( FT_Face           face,
+                       FT_Multi_Master  *amaster );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Get_MM_Var
+   *
+   * @description:
+   *   Retrieve a variation descriptor for a given font.
+   *
+   *   This function works with all supported variation formats.
+   *
+   * @input:
+   *   face ::
+   *     A handle to the source face.
+   *
+   * @output:
+   *   amaster ::
+   *     The variation descriptor.  Allocates a data structure, which the
+   *     user must deallocate with a call to @FT_Done_MM_Var after use.
+   *
+   * @return:
+   *   FreeType error code.  0~means success.
+   */
+  FT_EXPORT( FT_Error )
+  FT_Get_MM_Var( FT_Face      face,
+                 FT_MM_Var*  *amaster );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Done_MM_Var
+   *
+   * @description:
+   *   Free the memory allocated by @FT_Get_MM_Var.
+   *
+   * @input:
+   *   library ::
+   *     A handle of the face's parent library object that was used in the
+   *     call to @FT_Get_MM_Var to create `amaster`.
+   *
+   * @return:
+   *   FreeType error code.  0~means success.
+   */
+  FT_EXPORT( FT_Error )
+  FT_Done_MM_Var( FT_Library   library,
+                  FT_MM_Var   *amaster );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Set_MM_Design_Coordinates
+   *
+   * @description:
+   *   For Adobe MM fonts, choose an interpolated font design through design
+   *   coordinates.
+   *
+   *   This function can't be used with TrueType GX or OpenType variation
+   *   fonts.
+   *
+   * @inout:
+   *   face ::
+   *     A handle to the source face.
+   *
+   * @input:
+   *   num_coords ::
+   *     The number of available design coordinates.  If it is larger than
+   *     the number of axes, ignore the excess values.  If it is smaller than
+   *     the number of axes, use default values for the remaining axes.
+   *
+   *   coords ::
+   *     An array of design coordinates.
+   *
+   * @return:
+   *   FreeType error code.  0~means success.
+   *
+   * @note:
+   *   [Since 2.8.1] To reset all axes to the default values, call the
+   *   function with `num_coords` set to zero and `coords` set to `NULL`.
+   *
+   *   [Since 2.9] If `num_coords` is larger than zero, this function sets
+   *   the @FT_FACE_FLAG_VARIATION bit in @FT_Face's `face_flags` field
+   *   (i.e., @FT_IS_VARIATION will return true).  If `num_coords` is zero,
+   *   this bit flag gets unset.
+   */
+  FT_EXPORT( FT_Error )
+  FT_Set_MM_Design_Coordinates( FT_Face   face,
+                                FT_UInt   num_coords,
+                                FT_Long*  coords );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Set_Var_Design_Coordinates
+   *
+   * @description:
+   *   Choose an interpolated font design through design coordinates.
+   *
+   *   This function works with all supported variation formats.
+   *
+   * @inout:
+   *   face ::
+   *     A handle to the source face.
+   *
+   * @input:
+   *   num_coords ::
+   *     The number of available design coordinates.  If it is larger than
+   *     the number of axes, ignore the excess values.  If it is smaller than
+   *     the number of axes, use default values for the remaining axes.
+   *
+   *   coords ::
+   *     An array of design coordinates.
+   *
+   * @return:
+   *   FreeType error code.  0~means success.
+   *
+   * @note:
+   *   [Since 2.8.1] To reset all axes to the default values, call the
+   *   function with `num_coords` set to zero and `coords` set to `NULL`.
+   *   [Since 2.9] 'Default values' means the currently selected named
+   *   instance (or the base font if no named instance is selected).
+   *
+   *   [Since 2.9] If `num_coords` is larger than zero, this function sets
+   *   the @FT_FACE_FLAG_VARIATION bit in @FT_Face's `face_flags` field
+   *   (i.e., @FT_IS_VARIATION will return true).  If `num_coords` is zero,
+   *   this bit flag gets unset.
+   */
+  FT_EXPORT( FT_Error )
+  FT_Set_Var_Design_Coordinates( FT_Face    face,
+                                 FT_UInt    num_coords,
+                                 FT_Fixed*  coords );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Get_Var_Design_Coordinates
+   *
+   * @description:
+   *   Get the design coordinates of the currently selected interpolated
+   *   font.
+   *
+   *   This function works with all supported variation formats.
+   *
+   * @input:
+   *   face ::
+   *     A handle to the source face.
+   *
+   *   num_coords ::
+   *     The number of design coordinates to retrieve.  If it is larger than
+   *     the number of axes, set the excess values to~0.
+   *
+   * @output:
+   *   coords ::
+   *     The design coordinates array.
+   *
+   * @return:
+   *   FreeType error code.  0~means success.
+   *
+   * @since:
+   *   2.7.1
+   */
+  FT_EXPORT( FT_Error )
+  FT_Get_Var_Design_Coordinates( FT_Face    face,
+                                 FT_UInt    num_coords,
+                                 FT_Fixed*  coords );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Set_MM_Blend_Coordinates
+   *
+   * @description:
+   *   Choose an interpolated font design through normalized blend
+   *   coordinates.
+   *
+   *   This function works with all supported variation formats.
+   *
+   * @inout:
+   *   face ::
+   *     A handle to the source face.
+   *
+   * @input:
+   *   num_coords ::
+   *     The number of available design coordinates.  If it is larger than
+   *     the number of axes, ignore the excess values.  If it is smaller than
+   *     the number of axes, use default values for the remaining axes.
+   *
+   *   coords ::
+   *     The design coordinates array (each element must be between 0 and 1.0
+   *     for Adobe MM fonts, and between -1.0 and 1.0 for TrueType GX and
+   *     OpenType variation fonts).
+   *
+   * @return:
+   *   FreeType error code.  0~means success.
+   *
+   * @note:
+   *   [Since 2.8.1] To reset all axes to the default values, call the
+   *   function with `num_coords` set to zero and `coords` set to `NULL`.
+   *   [Since 2.9] 'Default values' means the currently selected named
+   *   instance (or the base font if no named instance is selected).
+   *
+   *   [Since 2.9] If `num_coords` is larger than zero, this function sets
+   *   the @FT_FACE_FLAG_VARIATION bit in @FT_Face's `face_flags` field
+   *   (i.e., @FT_IS_VARIATION will return true).  If `num_coords` is zero,
+   *   this bit flag gets unset.
+   */
+  FT_EXPORT( FT_Error )
+  FT_Set_MM_Blend_Coordinates( FT_Face    face,
+                               FT_UInt    num_coords,
+                               FT_Fixed*  coords );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Get_MM_Blend_Coordinates
+   *
+   * @description:
+   *   Get the normalized blend coordinates of the currently selected
+   *   interpolated font.
+   *
+   *   This function works with all supported variation formats.
+   *
+   * @input:
+   *   face ::
+   *     A handle to the source face.
+   *
+   *   num_coords ::
+   *     The number of normalized blend coordinates to retrieve.  If it is
+   *     larger than the number of axes, set the excess values to~0.5 for
+   *     Adobe MM fonts, and to~0 for TrueType GX and OpenType variation
+   *     fonts.
+   *
+   * @output:
+   *   coords ::
+   *     The normalized blend coordinates array.
+   *
+   * @return:
+   *   FreeType error code.  0~means success.
+   *
+   * @since:
+   *   2.7.1
+   */
+  FT_EXPORT( FT_Error )
+  FT_Get_MM_Blend_Coordinates( FT_Face    face,
+                               FT_UInt    num_coords,
+                               FT_Fixed*  coords );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Set_Var_Blend_Coordinates
+   *
+   * @description:
+   *   This is another name of @FT_Set_MM_Blend_Coordinates.
+   */
+  FT_EXPORT( FT_Error )
+  FT_Set_Var_Blend_Coordinates( FT_Face    face,
+                                FT_UInt    num_coords,
+                                FT_Fixed*  coords );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Get_Var_Blend_Coordinates
+   *
+   * @description:
+   *   This is another name of @FT_Get_MM_Blend_Coordinates.
+   *
+   * @since:
+   *   2.7.1
+   */
+  FT_EXPORT( FT_Error )
+  FT_Get_Var_Blend_Coordinates( FT_Face    face,
+                                FT_UInt    num_coords,
+                                FT_Fixed*  coords );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Set_MM_WeightVector
+   *
+   * @description:
+   *   For Adobe MM fonts, choose an interpolated font design by directly
+   *   setting the weight vector.
+   *
+   *   This function can't be used with TrueType GX or OpenType variation
+   *   fonts.
+   *
+   * @inout:
+   *   face ::
+   *     A handle to the source face.
+   *
+   * @input:
+   *   len ::
+   *     The length of the weight vector array.  If it is larger than the
+   *     number of designs, the extra values are ignored.  If it is less than
+   *     the number of designs, the remaining values are set to zero.
+   *
+   *   weightvector ::
+   *     An array representing the weight vector.
+   *
+   * @return:
+   *   FreeType error code.  0~means success.
+   *
+   * @note:
+   *   Adobe Multiple Master fonts limit the number of designs, and thus the
+   *   length of the weight vector to~16.
+   *
+   *   If `len` is zero and `weightvector` is `NULL`, the weight vector array
+   *   is reset to the default values.
+   *
+   *   The Adobe documentation also states that the values in the
+   *   WeightVector array must total 1.0 +/-~0.001.  In practice this does
+   *   not seem to be enforced, so is not enforced here, either.
+   *
+   * @since:
+   *   2.10
+   */
+  FT_EXPORT( FT_Error )
+  FT_Set_MM_WeightVector( FT_Face    face,
+                          FT_UInt    len,
+                          FT_Fixed*  weightvector );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Get_MM_WeightVector
+   *
+   * @description:
+   *   For Adobe MM fonts, retrieve the current weight vector of the font.
+   *
+   *   This function can't be used with TrueType GX or OpenType variation
+   *   fonts.
+   *
+   * @inout:
+   *   face ::
+   *     A handle to the source face.
+   *
+   *   len ::
+   *     A pointer to the size of the array to be filled.  If the size of the
+   *     array is less than the number of designs, `FT_Err_Invalid_Argument`
+   *     is returned, and `len` is set to the required size (the number of
+   *     designs).  If the size of the array is greater than the number of
+   *     designs, the remaining entries are set to~0.  On successful
+   *     completion, `len` is set to the number of designs (i.e., the number
+   *     of values written to the array).
+   *
+   * @output:
+   *   weightvector ::
+   *     An array to be filled.
+   *
+   * @return:
+   *   FreeType error code.  0~means success.
+   *
+   * @note:
+   *   Adobe Multiple Master fonts limit the number of designs, and thus the
+   *   length of the WeightVector to~16.
+   *
+   * @since:
+   *   2.10
+   */
+  FT_EXPORT( FT_Error )
+  FT_Get_MM_WeightVector( FT_Face    face,
+                          FT_UInt*   len,
+                          FT_Fixed*  weightvector );
+
+
+  /**************************************************************************
+   *
+   * @enum:
+   *   FT_VAR_AXIS_FLAG_XXX
+   *
+   * @description:
+   *   A list of bit flags used in the return value of
+   *   @FT_Get_Var_Axis_Flags.
+   *
+   * @values:
+   *   FT_VAR_AXIS_FLAG_HIDDEN ::
+   *     The variation axis should not be exposed to user interfaces.
+   *
+   * @since:
+   *   2.8.1
+   */
+#define FT_VAR_AXIS_FLAG_HIDDEN  1
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Get_Var_Axis_Flags
+   *
+   * @description:
+   *   Get the 'flags' field of an OpenType Variation Axis Record.
+   *
+   *   Not meaningful for Adobe MM fonts (`*flags` is always zero).
+   *
+   * @input:
+   *   master ::
+   *     The variation descriptor.
+   *
+   *   axis_index ::
+   *     The index of the requested variation axis.
+   *
+   * @output:
+   *   flags ::
+   *     The 'flags' field.  See @FT_VAR_AXIS_FLAG_XXX for possible values.
+   *
+   * @return:
+   *   FreeType error code.  0~means success.
+   *
+   * @since:
+   *   2.8.1
+   */
+  FT_EXPORT( FT_Error )
+  FT_Get_Var_Axis_Flags( FT_MM_Var*  master,
+                         FT_UInt     axis_index,
+                         FT_UInt*    flags );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Set_Named_Instance
+   *
+   * @description:
+   *   Set or change the current named instance.
+   *
+   * @input:
+   *   face ::
+   *     A handle to the source face.
+   *
+   *   instance_index ::
+   *     The index of the requested instance, starting with value 1.  If set
+   *     to value 0, FreeType switches to font access without a named
+   *     instance.
+   *
+   * @return:
+   *   FreeType error code.  0~means success.
+   *
+   * @note:
+   *   The function uses the value of `instance_index` to set bits 16-30 of
+   *   the face's `face_index` field.  It also resets any variation applied
+   *   to the font, and the @FT_FACE_FLAG_VARIATION bit of the face's
+   *   `face_flags` field gets reset to zero (i.e., @FT_IS_VARIATION will
+   *   return false).
+   *
+   *   For Adobe MM fonts (which don't have named instances) this function
+   *   simply resets the current face to the default instance.
+   *
+   * @since:
+   *   2.9
+   */
+  FT_EXPORT( FT_Error )
+  FT_Set_Named_Instance( FT_Face  face,
+                         FT_UInt  instance_index );
+
+  /* */
+
+
+FT_END_HEADER
+
+#endif /* FTMM_H_ */
+
+
+/* END */
diff --git a/CMU462/deps/freetype/include/freetype/ftmodapi.h b/CMU462/deps/freetype/include/freetype/ftmodapi.h
new file mode 100644
index 0000000..8d039c4
--- /dev/null
+++ b/CMU462/deps/freetype/include/freetype/ftmodapi.h
@@ -0,0 +1,785 @@
+/****************************************************************************
+ *
+ * ftmodapi.h
+ *
+ *   FreeType modules public interface (specification).
+ *
+ * Copyright (C) 1996-2019 by
+ * David Turner, Robert Wilhelm, and Werner Lemberg.
+ *
+ * This file is part of the FreeType project, and may only be used,
+ * modified, and distributed under the terms of the FreeType project
+ * license, LICENSE.TXT.  By continuing to use, modify, or distribute
+ * this file you indicate that you have read the license and
+ * understand and accept it fully.
+ *
+ */
+
+
+#ifndef FTMODAPI_H_
+#define FTMODAPI_H_
+
+
+#include <ft2build.h>
+#include FT_FREETYPE_H
+
+#ifdef FREETYPE_H
+#error "freetype.h of FreeType 1 has been loaded!"
+#error "Please fix the directory search order for header files"
+#error "so that freetype.h of FreeType 2 is found first."
+#endif
+
+
+FT_BEGIN_HEADER
+
+
+  /**************************************************************************
+   *
+   * @section:
+   *   module_management
+   *
+   * @title:
+   *   Module Management
+   *
+   * @abstract:
+   *   How to add, upgrade, remove, and control modules from FreeType.
+   *
+   * @description:
+   *   The definitions below are used to manage modules within FreeType.
+   *   Modules can be added, upgraded, and removed at runtime.  Additionally,
+   *   some module properties can be controlled also.
+   *
+   *   Here is a list of possible values of the `module_name` field in the
+   *   @FT_Module_Class structure.
+   *
+   *   ```
+   *     autofitter
+   *     bdf
+   *     cff
+   *     gxvalid
+   *     otvalid
+   *     pcf
+   *     pfr
+   *     psaux
+   *     pshinter
+   *     psnames
+   *     raster1
+   *     sfnt
+   *     smooth, smooth-lcd, smooth-lcdv
+   *     truetype
+   *     type1
+   *     type42
+   *     t1cid
+   *     winfonts
+   *   ```
+   *
+   *   Note that the FreeType Cache sub-system is not a FreeType module.
+   *
+   * @order:
+   *   FT_Module
+   *   FT_Module_Constructor
+   *   FT_Module_Destructor
+   *   FT_Module_Requester
+   *   FT_Module_Class
+   *
+   *   FT_Add_Module
+   *   FT_Get_Module
+   *   FT_Remove_Module
+   *   FT_Add_Default_Modules
+   *
+   *   FT_Property_Set
+   *   FT_Property_Get
+   *   FT_Set_Default_Properties
+   *
+   *   FT_New_Library
+   *   FT_Done_Library
+   *   FT_Reference_Library
+   *
+   *   FT_Renderer
+   *   FT_Renderer_Class
+   *
+   *   FT_Get_Renderer
+   *   FT_Set_Renderer
+   *
+   *   FT_Set_Debug_Hook
+   *
+   */
+
+
+  /* module bit flags */
+#define FT_MODULE_FONT_DRIVER         1  /* this module is a font driver  */
+#define FT_MODULE_RENDERER            2  /* this module is a renderer     */
+#define FT_MODULE_HINTER              4  /* this module is a glyph hinter */
+#define FT_MODULE_STYLER              8  /* this module is a styler       */
+
+#define FT_MODULE_DRIVER_SCALABLE      0x100  /* the driver supports      */
+                                              /* scalable fonts           */
+#define FT_MODULE_DRIVER_NO_OUTLINES   0x200  /* the driver does not      */
+                                              /* support vector outlines  */
+#define FT_MODULE_DRIVER_HAS_HINTER    0x400  /* the driver provides its  */
+                                              /* own hinter               */
+#define FT_MODULE_DRIVER_HINTS_LIGHTLY 0x800  /* the driver's hinter      */
+                                              /* produces LIGHT hints     */
+
+
+  /* deprecated values */
+#define ft_module_font_driver         FT_MODULE_FONT_DRIVER
+#define ft_module_renderer            FT_MODULE_RENDERER
+#define ft_module_hinter              FT_MODULE_HINTER
+#define ft_module_styler              FT_MODULE_STYLER
+
+#define ft_module_driver_scalable       FT_MODULE_DRIVER_SCALABLE
+#define ft_module_driver_no_outlines    FT_MODULE_DRIVER_NO_OUTLINES
+#define ft_module_driver_has_hinter     FT_MODULE_DRIVER_HAS_HINTER
+#define ft_module_driver_hints_lightly  FT_MODULE_DRIVER_HINTS_LIGHTLY
+
+
+  typedef FT_Pointer  FT_Module_Interface;
+
+
+  /**************************************************************************
+   *
+   * @functype:
+   *   FT_Module_Constructor
+   *
+   * @description:
+   *   A function used to initialize (not create) a new module object.
+   *
+   * @input:
+   *   module ::
+   *     The module to initialize.
+   */
+  typedef FT_Error
+  (*FT_Module_Constructor)( FT_Module  module );
+
+
+  /**************************************************************************
+   *
+   * @functype:
+   *   FT_Module_Destructor
+   *
+   * @description:
+   *   A function used to finalize (not destroy) a given module object.
+   *
+   * @input:
+   *   module ::
+   *     The module to finalize.
+   */
+  typedef void
+  (*FT_Module_Destructor)( FT_Module  module );
+
+
+  /**************************************************************************
+   *
+   * @functype:
+   *   FT_Module_Requester
+   *
+   * @description:
+   *   A function used to query a given module for a specific interface.
+   *
+   * @input:
+   *   module ::
+   *     The module to be searched.
+   *
+   *   name ::
+   *     The name of the interface in the module.
+   */
+  typedef FT_Module_Interface
+  (*FT_Module_Requester)( FT_Module    module,
+                          const char*  name );
+
+
+  /**************************************************************************
+   *
+   * @struct:
+   *   FT_Module_Class
+   *
+   * @description:
+   *   The module class descriptor.  While being a public structure necessary
+   *   for FreeType's module bookkeeping, most of the fields are essentially
+   *   internal, not to be used directly by an application.
+   *
+   * @fields:
+   *   module_flags ::
+   *     Bit flags describing the module.
+   *
+   *   module_size ::
+   *     The size of one module object/instance in bytes.
+   *
+   *   module_name ::
+   *     The name of the module.
+   *
+   *   module_version ::
+   *     The version, as a 16.16 fixed number (major.minor).
+   *
+   *   module_requires ::
+   *     The version of FreeType this module requires, as a 16.16 fixed
+   *     number (major.minor).  Starts at version 2.0, i.e., 0x20000.
+   *
+   *   module_interface ::
+   *     A typeless pointer to a structure (which varies between different
+   *     modules) that holds the module's interface functions.  This is
+   *     essentially what `get_interface` returns.
+   *
+   *   module_init ::
+   *     The initializing function.
+   *
+   *   module_done ::
+   *     The finalizing function.
+   *
+   *   get_interface ::
+   *     The interface requesting function.
+   */
+  typedef struct  FT_Module_Class_
+  {
+    FT_ULong               module_flags;
+    FT_Long                module_size;
+    const FT_String*       module_name;
+    FT_Fixed               module_version;
+    FT_Fixed               module_requires;
+
+    const void*            module_interface;
+
+    FT_Module_Constructor  module_init;
+    FT_Module_Destructor   module_done;
+    FT_Module_Requester    get_interface;
+
+  } FT_Module_Class;
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Add_Module
+   *
+   * @description:
+   *   Add a new module to a given library instance.
+   *
+   * @inout:
+   *   library ::
+   *     A handle to the library object.
+   *
+   * @input:
+   *   clazz ::
+   *     A pointer to class descriptor for the module.
+   *
+   * @return:
+   *   FreeType error code.  0~means success.
+   *
+   * @note:
+   *   An error will be returned if a module already exists by that name, or
+   *   if the module requires a version of FreeType that is too great.
+   */
+  FT_EXPORT( FT_Error )
+  FT_Add_Module( FT_Library              library,
+                 const FT_Module_Class*  clazz );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Get_Module
+   *
+   * @description:
+   *   Find a module by its name.
+   *
+   * @input:
+   *   library ::
+   *     A handle to the library object.
+   *
+   *   module_name ::
+   *     The module's name (as an ASCII string).
+   *
+   * @return:
+   *   A module handle.  0~if none was found.
+   *
+   * @note:
+   *   FreeType's internal modules aren't documented very well, and you
+   *   should look up the source code for details.
+   */
+  FT_EXPORT( FT_Module )
+  FT_Get_Module( FT_Library   library,
+                 const char*  module_name );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Remove_Module
+   *
+   * @description:
+   *   Remove a given module from a library instance.
+   *
+   * @inout:
+   *   library ::
+   *     A handle to a library object.
+   *
+   * @input:
+   *   module ::
+   *     A handle to a module object.
+   *
+   * @return:
+   *   FreeType error code.  0~means success.
+   *
+   * @note:
+   *   The module object is destroyed by the function in case of success.
+   */
+  FT_EXPORT( FT_Error )
+  FT_Remove_Module( FT_Library  library,
+                    FT_Module   module );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *    FT_Property_Set
+   *
+   * @description:
+   *    Set a property for a given module.
+   *
+   * @input:
+   *    library ::
+   *      A handle to the library the module is part of.
+   *
+   *    module_name ::
+   *      The module name.
+   *
+   *    property_name ::
+   *      The property name.  Properties are described in section
+   *      @properties.
+   *
+   *      Note that only a few modules have properties.
+   *
+   *    value ::
+   *      A generic pointer to a variable or structure that gives the new
+   *      value of the property.  The exact definition of `value` is
+   *      dependent on the property; see section @properties.
+   *
+   * @return:
+   *   FreeType error code.  0~means success.
+   *
+   * @note:
+   *    If `module_name` isn't a valid module name, or `property_name`
+   *    doesn't specify a valid property, or if `value` doesn't represent a
+   *    valid value for the given property, an error is returned.
+   *
+   *    The following example sets property 'bar' (a simple integer) in
+   *    module 'foo' to value~1.
+   *
+   *    ```
+   *      FT_UInt  bar;
+   *
+   *
+   *      bar = 1;
+   *      FT_Property_Set( library, "foo", "bar", &bar );
+   *    ```
+   *
+   *    Note that the FreeType Cache sub-system doesn't recognize module
+   *    property changes.  To avoid glyph lookup confusion within the cache
+   *    you should call @FTC_Manager_Reset to completely flush the cache if a
+   *    module property gets changed after @FTC_Manager_New has been called.
+   *
+   *    It is not possible to set properties of the FreeType Cache sub-system
+   *    itself with FT_Property_Set; use @FTC_Property_Set instead.
+   *
+   * @since:
+   *   2.4.11
+   *
+   */
+  FT_EXPORT( FT_Error )
+  FT_Property_Set( FT_Library        library,
+                   const FT_String*  module_name,
+                   const FT_String*  property_name,
+                   const void*       value );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *    FT_Property_Get
+   *
+   * @description:
+   *    Get a module's property value.
+   *
+   * @input:
+   *    library ::
+   *      A handle to the library the module is part of.
+   *
+   *    module_name ::
+   *      The module name.
+   *
+   *    property_name ::
+   *      The property name.  Properties are described in section
+   *      @properties.
+   *
+   * @inout:
+   *    value ::
+   *      A generic pointer to a variable or structure that gives the value
+   *      of the property.  The exact definition of `value` is dependent on
+   *      the property; see section @properties.
+   *
+   * @return:
+   *   FreeType error code.  0~means success.
+   *
+   * @note:
+   *    If `module_name` isn't a valid module name, or `property_name`
+   *    doesn't specify a valid property, or if `value` doesn't represent a
+   *    valid value for the given property, an error is returned.
+   *
+   *    The following example gets property 'baz' (a range) in module 'foo'.
+   *
+   *    ```
+   *      typedef  range_
+   *      {
+   *        FT_Int32  min;
+   *        FT_Int32  max;
+   *
+   *      } range;
+   *
+   *      range  baz;
+   *
+   *
+   *      FT_Property_Get( library, "foo", "baz", &baz );
+   *    ```
+   *
+   *    It is not possible to retrieve properties of the FreeType Cache
+   *    sub-system with FT_Property_Get; use @FTC_Property_Get instead.
+   *
+   * @since:
+   *   2.4.11
+   *
+   */
+  FT_EXPORT( FT_Error )
+  FT_Property_Get( FT_Library        library,
+                   const FT_String*  module_name,
+                   const FT_String*  property_name,
+                   void*             value );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Set_Default_Properties
+   *
+   * @description:
+   *   If compilation option `FT_CONFIG_OPTION_ENVIRONMENT_PROPERTIES` is
+   *   set, this function reads the `FREETYPE_PROPERTIES` environment
+   *   variable to control driver properties.  See section @properties for
+   *   more.
+   *
+   *   If the compilation option is not set, this function does nothing.
+   *
+   *   `FREETYPE_PROPERTIES` has the following syntax form (broken here into
+   *   multiple lines for better readability).
+   *
+   *   ```
+   *     <optional whitespace>
+   *     <module-name1> ':'
+   *     <property-name1> '=' <property-value1>
+   *     <whitespace>
+   *     <module-name2> ':'
+   *     <property-name2> '=' <property-value2>
+   *     ...
+   *   ```
+   *
+   *   Example:
+   *
+   *   ```
+   *     FREETYPE_PROPERTIES=truetype:interpreter-version=35 \
+   *                         cff:no-stem-darkening=1 \
+   *                         autofitter:warping=1
+   *   ```
+   *
+   * @inout:
+   *   library ::
+   *     A handle to a new library object.
+   *
+   * @since:
+   *   2.8
+   */
+  FT_EXPORT( void )
+  FT_Set_Default_Properties( FT_Library  library );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Reference_Library
+   *
+   * @description:
+   *   A counter gets initialized to~1 at the time an @FT_Library structure
+   *   is created.  This function increments the counter.  @FT_Done_Library
+   *   then only destroys a library if the counter is~1, otherwise it simply
+   *   decrements the counter.
+   *
+   *   This function helps in managing life-cycles of structures that
+   *   reference @FT_Library objects.
+   *
+   * @input:
+   *   library ::
+   *     A handle to a target library object.
+   *
+   * @return:
+   *   FreeType error code.  0~means success.
+   *
+   * @since:
+   *   2.4.2
+   */
+  FT_EXPORT( FT_Error )
+  FT_Reference_Library( FT_Library  library );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_New_Library
+   *
+   * @description:
+   *   This function is used to create a new FreeType library instance from a
+   *   given memory object.  It is thus possible to use libraries with
+   *   distinct memory allocators within the same program.  Note, however,
+   *   that the used @FT_Memory structure is expected to remain valid for the
+   *   life of the @FT_Library object.
+   *
+   *   Normally, you would call this function (followed by a call to
+   *   @FT_Add_Default_Modules or a series of calls to @FT_Add_Module, and a
+   *   call to @FT_Set_Default_Properties) instead of @FT_Init_FreeType to
+   *   initialize the FreeType library.
+   *
+   *   Don't use @FT_Done_FreeType but @FT_Done_Library to destroy a library
+   *   instance.
+   *
+   * @input:
+   *   memory ::
+   *     A handle to the original memory object.
+   *
+   * @output:
+   *   alibrary ::
+   *     A pointer to handle of a new library object.
+   *
+   * @return:
+   *   FreeType error code.  0~means success.
+   *
+   * @note:
+   *   See the discussion of reference counters in the description of
+   *   @FT_Reference_Library.
+   */
+  FT_EXPORT( FT_Error )
+  FT_New_Library( FT_Memory    memory,
+                  FT_Library  *alibrary );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Done_Library
+   *
+   * @description:
+   *   Discard a given library object.  This closes all drivers and discards
+   *   all resource objects.
+   *
+   * @input:
+   *   library ::
+   *     A handle to the target library.
+   *
+   * @return:
+   *   FreeType error code.  0~means success.
+   *
+   * @note:
+   *   See the discussion of reference counters in the description of
+   *   @FT_Reference_Library.
+   */
+  FT_EXPORT( FT_Error )
+  FT_Done_Library( FT_Library  library );
+
+
+  /**************************************************************************
+   *
+   * @functype:
+   *   FT_DebugHook_Func
+   *
+   * @description:
+   *   A drop-in replacement (or rather a wrapper) for the bytecode or
+   *   charstring interpreter's main loop function.
+   *
+   *   Its job is essentially
+   *
+   *   - to activate debug mode to enforce single-stepping,
+   *
+   *   - to call the main loop function to interpret the next opcode, and
+   *
+   *   - to show the changed context to the user.
+   *
+   *   An example for such a main loop function is `TT_RunIns` (declared in
+   *   FreeType's internal header file `src/truetype/ttinterp.h`).
+   *
+   *   Have a look at the source code of the `ttdebug` FreeType demo program
+   *   for an example of a drop-in replacement.
+   *
+   * @inout:
+   *   arg ::
+   *     A typeless pointer, to be cast to the main loop function's data
+   *     structure (which depends on the font module).  For TrueType fonts
+   *     it is bytecode interpreter's execution context, `TT_ExecContext`,
+   *     which is declared in FreeType's internal header file `tttypes.h`.
+   */
+  typedef FT_Error
+  (*FT_DebugHook_Func)( void*  arg );
+
+
+  /**************************************************************************
+   *
+   * @enum:
+   *   FT_DEBUG_HOOK_XXX
+   *
+   * @description:
+   *   A list of named debug hook indices.
+   *
+   * @values:
+   *   FT_DEBUG_HOOK_TRUETYPE::
+   *     This hook index identifies the TrueType bytecode debugger.
+   */
+#define FT_DEBUG_HOOK_TRUETYPE  0
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Set_Debug_Hook
+   *
+   * @description:
+   *   Set a debug hook function for debugging the interpreter of a font
+   *   format.
+   *
+   *   While this is a public API function, an application needs access to
+   *   FreeType's internal header files to do something useful.
+   *
+   *   Have a look at the source code of the `ttdebug` FreeType demo program
+   *   for an example of its usage.
+   *
+   * @inout:
+   *   library ::
+   *     A handle to the library object.
+   *
+   * @input:
+   *   hook_index ::
+   *     The index of the debug hook.  You should use defined enumeration
+   *     macros like @FT_DEBUG_HOOK_TRUETYPE.
+   *
+   *   debug_hook ::
+   *     The function used to debug the interpreter.
+   *
+   * @note:
+   *   Currently, four debug hook slots are available, but only one (for the
+   *   TrueType interpreter) is defined.
+   */
+  FT_EXPORT( void )
+  FT_Set_Debug_Hook( FT_Library         library,
+                     FT_UInt            hook_index,
+                     FT_DebugHook_Func  debug_hook );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Add_Default_Modules
+   *
+   * @description:
+   *   Add the set of default drivers to a given library object.  This is
+   *   only useful when you create a library object with @FT_New_Library
+   *   (usually to plug a custom memory manager).
+   *
+   * @inout:
+   *   library ::
+   *     A handle to a new library object.
+   */
+  FT_EXPORT( void )
+  FT_Add_Default_Modules( FT_Library  library );
+
+
+
+  /**************************************************************************
+   *
+   * @section:
+   *   truetype_engine
+   *
+   * @title:
+   *   The TrueType Engine
+   *
+   * @abstract:
+   *   TrueType bytecode support.
+   *
+   * @description:
+   *   This section contains a function used to query the level of TrueType
+   *   bytecode support compiled in this version of the library.
+   *
+   */
+
+
+  /**************************************************************************
+   *
+   * @enum:
+   *    FT_TrueTypeEngineType
+   *
+   * @description:
+   *    A list of values describing which kind of TrueType bytecode engine is
+   *    implemented in a given FT_Library instance.  It is used by the
+   *    @FT_Get_TrueType_Engine_Type function.
+   *
+   * @values:
+   *    FT_TRUETYPE_ENGINE_TYPE_NONE ::
+   *      The library doesn't implement any kind of bytecode interpreter.
+   *
+   *    FT_TRUETYPE_ENGINE_TYPE_UNPATENTED ::
+   *      Deprecated and removed.
+   *
+   *    FT_TRUETYPE_ENGINE_TYPE_PATENTED ::
+   *      The library implements a bytecode interpreter that covers the full
+   *      instruction set of the TrueType virtual machine (this was governed
+   *      by patents until May 2010, hence the name).
+   *
+   * @since:
+   *    2.2
+   *
+   */
+  typedef enum  FT_TrueTypeEngineType_
+  {
+    FT_TRUETYPE_ENGINE_TYPE_NONE = 0,
+    FT_TRUETYPE_ENGINE_TYPE_UNPATENTED,
+    FT_TRUETYPE_ENGINE_TYPE_PATENTED
+
+  } FT_TrueTypeEngineType;
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *    FT_Get_TrueType_Engine_Type
+   *
+   * @description:
+   *    Return an @FT_TrueTypeEngineType value to indicate which level of the
+   *    TrueType virtual machine a given library instance supports.
+   *
+   * @input:
+   *    library ::
+   *      A library instance.
+   *
+   * @return:
+   *    A value indicating which level is supported.
+   *
+   * @since:
+   *    2.2
+   *
+   */
+  FT_EXPORT( FT_TrueTypeEngineType )
+  FT_Get_TrueType_Engine_Type( FT_Library  library );
+
+  /* */
+
+
+FT_END_HEADER
+
+#endif /* FTMODAPI_H_ */
+
+
+/* END */
diff --git a/CMU462/deps/freetype/include/freetype/ftmoderr.h b/CMU462/deps/freetype/include/freetype/ftmoderr.h
new file mode 100644
index 0000000..e169935
--- /dev/null
+++ b/CMU462/deps/freetype/include/freetype/ftmoderr.h
@@ -0,0 +1,203 @@
+/****************************************************************************
+ *
+ * ftmoderr.h
+ *
+ *   FreeType module error offsets (specification).
+ *
+ * Copyright (C) 2001-2019 by
+ * David Turner, Robert Wilhelm, and Werner Lemberg.
+ *
+ * This file is part of the FreeType project, and may only be used,
+ * modified, and distributed under the terms of the FreeType project
+ * license, LICENSE.TXT.  By continuing to use, modify, or distribute
+ * this file you indicate that you have read the license and
+ * understand and accept it fully.
+ *
+ */
+
+
+  /**************************************************************************
+   *
+   * This file is used to define the FreeType module error codes.
+   *
+   * If the macro `FT_CONFIG_OPTION_USE_MODULE_ERRORS` in `ftoption.h` is
+   * set, the lower byte of an error value identifies the error code as
+   * usual.  In addition, the higher byte identifies the module.  For
+   * example, the error `FT_Err_Invalid_File_Format` has value 0x0003, the
+   * error `TT_Err_Invalid_File_Format` has value 0x1303, the error
+   * `T1_Err_Invalid_File_Format` has value 0x1403, etc.
+   *
+   * Note that `FT_Err_Ok`, `TT_Err_Ok`, etc. are always equal to zero,
+   * including the high byte.
+   *
+   * If `FT_CONFIG_OPTION_USE_MODULE_ERRORS` isn't set, the higher byte of an
+   * error value is set to zero.
+   *
+   * To hide the various `XXX_Err_` prefixes in the source code, FreeType
+   * provides some macros in `fttypes.h`.
+   *
+   *   FT_ERR( err )
+   *
+   *     Add current error module prefix (as defined with the `FT_ERR_PREFIX`
+   *     macro) to `err`.  For example, in the BDF module the line
+   *
+   *     ```
+   *       error = FT_ERR( Invalid_Outline );
+   *     ```
+   *
+   *     expands to
+   *
+   *     ```
+   *       error = BDF_Err_Invalid_Outline;
+   *     ```
+   *
+   *     For simplicity, you can always use `FT_Err_Ok` directly instead of
+   *     `FT_ERR( Ok )`.
+   *
+   *   FT_ERR_EQ( errcode, err )
+   *   FT_ERR_NEQ( errcode, err )
+   *
+   *     Compare error code `errcode` with the error `err` for equality and
+   *     inequality, respectively.  Example:
+   *
+   *     ```
+   *       if ( FT_ERR_EQ( error, Invalid_Outline ) )
+   *         ...
+   *     ```
+   *
+   *     Using this macro you don't have to think about error prefixes.  Of
+   *     course, if module errors are not active, the above example is the
+   *     same as
+   *
+   *     ```
+   *       if ( error == FT_Err_Invalid_Outline )
+   *         ...
+   *     ```
+   *
+   *   FT_ERROR_BASE( errcode )
+   *   FT_ERROR_MODULE( errcode )
+   *
+   *     Get base error and module error code, respectively.
+   *
+   * It can also be used to create a module error message table easily with
+   * something like
+   *
+   * ```
+   *   #undef FTMODERR_H_
+   *   #define FT_MODERRDEF( e, v, s )  { FT_Mod_Err_ ## e, s },
+   *   #define FT_MODERR_START_LIST     {
+   *   #define FT_MODERR_END_LIST       { 0, 0 } };
+   *
+   *   const struct
+   *   {
+   *     int          mod_err_offset;
+   *     const char*  mod_err_msg
+   *   } ft_mod_errors[] =
+   *
+   *   #include FT_MODULE_ERRORS_H
+   * ```
+   *
+   */
+
+
+#ifndef FTMODERR_H_
+#define FTMODERR_H_
+
+
+  /*******************************************************************/
+  /*******************************************************************/
+  /*****                                                         *****/
+  /*****                       SETUP MACROS                      *****/
+  /*****                                                         *****/
+  /*******************************************************************/
+  /*******************************************************************/
+
+
+#undef  FT_NEED_EXTERN_C
+
+#ifndef FT_MODERRDEF
+
+#ifdef FT_CONFIG_OPTION_USE_MODULE_ERRORS
+#define FT_MODERRDEF( e, v, s )  FT_Mod_Err_ ## e = v,
+#else
+#define FT_MODERRDEF( e, v, s )  FT_Mod_Err_ ## e = 0,
+#endif
+
+#define FT_MODERR_START_LIST  enum {
+#define FT_MODERR_END_LIST    FT_Mod_Err_Max };
+
+#ifdef __cplusplus
+#define FT_NEED_EXTERN_C
+  extern "C" {
+#endif
+
+#endif /* !FT_MODERRDEF */
+
+
+  /*******************************************************************/
+  /*******************************************************************/
+  /*****                                                         *****/
+  /*****               LIST MODULE ERROR BASES                   *****/
+  /*****                                                         *****/
+  /*******************************************************************/
+  /*******************************************************************/
+
+
+#ifdef FT_MODERR_START_LIST
+  FT_MODERR_START_LIST
+#endif
+
+
+  FT_MODERRDEF( Base,      0x000, "base module" )
+  FT_MODERRDEF( Autofit,   0x100, "autofitter module" )
+  FT_MODERRDEF( BDF,       0x200, "BDF module" )
+  FT_MODERRDEF( Bzip2,     0x300, "Bzip2 module" )
+  FT_MODERRDEF( Cache,     0x400, "cache module" )
+  FT_MODERRDEF( CFF,       0x500, "CFF module" )
+  FT_MODERRDEF( CID,       0x600, "CID module" )
+  FT_MODERRDEF( Gzip,      0x700, "Gzip module" )
+  FT_MODERRDEF( LZW,       0x800, "LZW module" )
+  FT_MODERRDEF( OTvalid,   0x900, "OpenType validation module" )
+  FT_MODERRDEF( PCF,       0xA00, "PCF module" )
+  FT_MODERRDEF( PFR,       0xB00, "PFR module" )
+  FT_MODERRDEF( PSaux,     0xC00, "PS auxiliary module" )
+  FT_MODERRDEF( PShinter,  0xD00, "PS hinter module" )
+  FT_MODERRDEF( PSnames,   0xE00, "PS names module" )
+  FT_MODERRDEF( Raster,    0xF00, "raster module" )
+  FT_MODERRDEF( SFNT,     0x1000, "SFNT module" )
+  FT_MODERRDEF( Smooth,   0x1100, "smooth raster module" )
+  FT_MODERRDEF( TrueType, 0x1200, "TrueType module" )
+  FT_MODERRDEF( Type1,    0x1300, "Type 1 module" )
+  FT_MODERRDEF( Type42,   0x1400, "Type 42 module" )
+  FT_MODERRDEF( Winfonts, 0x1500, "Windows FON/FNT module" )
+  FT_MODERRDEF( GXvalid,  0x1600, "GX validation module" )
+
+
+#ifdef FT_MODERR_END_LIST
+  FT_MODERR_END_LIST
+#endif
+
+
+  /*******************************************************************/
+  /*******************************************************************/
+  /*****                                                         *****/
+  /*****                      CLEANUP                            *****/
+  /*****                                                         *****/
+  /*******************************************************************/
+  /*******************************************************************/
+
+
+#ifdef FT_NEED_EXTERN_C
+  }
+#endif
+
+#undef FT_MODERR_START_LIST
+#undef FT_MODERR_END_LIST
+#undef FT_MODERRDEF
+#undef FT_NEED_EXTERN_C
+
+
+#endif /* FTMODERR_H_ */
+
+
+/* END */
diff --git a/CMU462/deps/freetype/include/freetype/ftotval.h b/CMU462/deps/freetype/include/freetype/ftotval.h
new file mode 100644
index 0000000..c034f48
--- /dev/null
+++ b/CMU462/deps/freetype/include/freetype/ftotval.h
@@ -0,0 +1,207 @@
+/****************************************************************************
+ *
+ * ftotval.h
+ *
+ *   FreeType API for validating OpenType tables (specification).
+ *
+ * Copyright (C) 2004-2019 by
+ * David Turner, Robert Wilhelm, and Werner Lemberg.
+ *
+ * This file is part of the FreeType project, and may only be used,
+ * modified, and distributed under the terms of the FreeType project
+ * license, LICENSE.TXT.  By continuing to use, modify, or distribute
+ * this file you indicate that you have read the license and
+ * understand and accept it fully.
+ *
+ */
+
+
+/****************************************************************************
+ *
+ *
+ * Warning: This module might be moved to a different library in the
+ *          future to avoid a tight dependency between FreeType and the
+ *          OpenType specification.
+ *
+ *
+ */
+
+
+#ifndef FTOTVAL_H_
+#define FTOTVAL_H_
+
+#include <ft2build.h>
+#include FT_FREETYPE_H
+
+#ifdef FREETYPE_H
+#error "freetype.h of FreeType 1 has been loaded!"
+#error "Please fix the directory search order for header files"
+#error "so that freetype.h of FreeType 2 is found first."
+#endif
+
+
+FT_BEGIN_HEADER
+
+
+  /**************************************************************************
+   *
+   * @section:
+   *   ot_validation
+   *
+   * @title:
+   *   OpenType Validation
+   *
+   * @abstract:
+   *   An API to validate OpenType tables.
+   *
+   * @description:
+   *   This section contains the declaration of functions to validate some
+   *   OpenType tables (BASE, GDEF, GPOS, GSUB, JSTF, MATH).
+   *
+   * @order:
+   *   FT_OpenType_Validate
+   *   FT_OpenType_Free
+   *
+   *   FT_VALIDATE_OTXXX
+   *
+   */
+
+
+  /**************************************************************************
+   *
+   * @enum:
+   *    FT_VALIDATE_OTXXX
+   *
+   * @description:
+   *    A list of bit-field constants used with @FT_OpenType_Validate to
+   *    indicate which OpenType tables should be validated.
+   *
+   * @values:
+   *    FT_VALIDATE_BASE ::
+   *      Validate BASE table.
+   *
+   *    FT_VALIDATE_GDEF ::
+   *      Validate GDEF table.
+   *
+   *    FT_VALIDATE_GPOS ::
+   *      Validate GPOS table.
+   *
+   *    FT_VALIDATE_GSUB ::
+   *      Validate GSUB table.
+   *
+   *    FT_VALIDATE_JSTF ::
+   *      Validate JSTF table.
+   *
+   *    FT_VALIDATE_MATH ::
+   *      Validate MATH table.
+   *
+   *    FT_VALIDATE_OT ::
+   *      Validate all OpenType tables (BASE, GDEF, GPOS, GSUB, JSTF, MATH).
+   *
+   */
+#define FT_VALIDATE_BASE  0x0100
+#define FT_VALIDATE_GDEF  0x0200
+#define FT_VALIDATE_GPOS  0x0400
+#define FT_VALIDATE_GSUB  0x0800
+#define FT_VALIDATE_JSTF  0x1000
+#define FT_VALIDATE_MATH  0x2000
+
+#define FT_VALIDATE_OT  ( FT_VALIDATE_BASE | \
+                          FT_VALIDATE_GDEF | \
+                          FT_VALIDATE_GPOS | \
+                          FT_VALIDATE_GSUB | \
+                          FT_VALIDATE_JSTF | \
+                          FT_VALIDATE_MATH )
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *    FT_OpenType_Validate
+   *
+   * @description:
+   *    Validate various OpenType tables to assure that all offsets and
+   *    indices are valid.  The idea is that a higher-level library that
+   *    actually does the text layout can access those tables without error
+   *    checking (which can be quite time consuming).
+   *
+   * @input:
+   *    face ::
+   *      A handle to the input face.
+   *
+   *    validation_flags ::
+   *      A bit field that specifies the tables to be validated.  See
+   *      @FT_VALIDATE_OTXXX for possible values.
+   *
+   * @output:
+   *    BASE_table ::
+   *      A pointer to the BASE table.
+   *
+   *    GDEF_table ::
+   *      A pointer to the GDEF table.
+   *
+   *    GPOS_table ::
+   *      A pointer to the GPOS table.
+   *
+   *    GSUB_table ::
+   *      A pointer to the GSUB table.
+   *
+   *    JSTF_table ::
+   *      A pointer to the JSTF table.
+   *
+   * @return:
+   *   FreeType error code.  0~means success.
+   *
+   * @note:
+   *   This function only works with OpenType fonts, returning an error
+   *   otherwise.
+   *
+   *   After use, the application should deallocate the five tables with
+   *   @FT_OpenType_Free.  A `NULL` value indicates that the table either
+   *   doesn't exist in the font, or the application hasn't asked for
+   *   validation.
+   */
+  FT_EXPORT( FT_Error )
+  FT_OpenType_Validate( FT_Face    face,
+                        FT_UInt    validation_flags,
+                        FT_Bytes  *BASE_table,
+                        FT_Bytes  *GDEF_table,
+                        FT_Bytes  *GPOS_table,
+                        FT_Bytes  *GSUB_table,
+                        FT_Bytes  *JSTF_table );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *    FT_OpenType_Free
+   *
+   * @description:
+   *    Free the buffer allocated by OpenType validator.
+   *
+   * @input:
+   *    face ::
+   *      A handle to the input face.
+   *
+   *    table ::
+   *      The pointer to the buffer that is allocated by
+   *      @FT_OpenType_Validate.
+   *
+   * @note:
+   *   This function must be used to free the buffer allocated by
+   *   @FT_OpenType_Validate only.
+   */
+  FT_EXPORT( void )
+  FT_OpenType_Free( FT_Face   face,
+                    FT_Bytes  table );
+
+
+  /* */
+
+
+FT_END_HEADER
+
+#endif /* FTOTVAL_H_ */
+
+
+/* END */
diff --git a/CMU462/deps/freetype/include/freetype/ftoutln.h b/CMU462/deps/freetype/include/freetype/ftoutln.h
new file mode 100644
index 0000000..b72327b
--- /dev/null
+++ b/CMU462/deps/freetype/include/freetype/ftoutln.h
@@ -0,0 +1,593 @@
+/****************************************************************************
+ *
+ * ftoutln.h
+ *
+ *   Support for the FT_Outline type used to store glyph shapes of
+ *   most scalable font formats (specification).
+ *
+ * Copyright (C) 1996-2019 by
+ * David Turner, Robert Wilhelm, and Werner Lemberg.
+ *
+ * This file is part of the FreeType project, and may only be used,
+ * modified, and distributed under the terms of the FreeType project
+ * license, LICENSE.TXT.  By continuing to use, modify, or distribute
+ * this file you indicate that you have read the license and
+ * understand and accept it fully.
+ *
+ */
+
+
+#ifndef FTOUTLN_H_
+#define FTOUTLN_H_
+
+
+#include <ft2build.h>
+#include FT_FREETYPE_H
+
+#ifdef FREETYPE_H
+#error "freetype.h of FreeType 1 has been loaded!"
+#error "Please fix the directory search order for header files"
+#error "so that freetype.h of FreeType 2 is found first."
+#endif
+
+
+FT_BEGIN_HEADER
+
+
+  /**************************************************************************
+   *
+   * @section:
+   *   outline_processing
+   *
+   * @title:
+   *   Outline Processing
+   *
+   * @abstract:
+   *   Functions to create, transform, and render vectorial glyph images.
+   *
+   * @description:
+   *   This section contains routines used to create and destroy scalable
+   *   glyph images known as 'outlines'.  These can also be measured,
+   *   transformed, and converted into bitmaps and pixmaps.
+   *
+   * @order:
+   *   FT_Outline
+   *   FT_Outline_New
+   *   FT_Outline_Done
+   *   FT_Outline_Copy
+   *   FT_Outline_Translate
+   *   FT_Outline_Transform
+   *   FT_Outline_Embolden
+   *   FT_Outline_EmboldenXY
+   *   FT_Outline_Reverse
+   *   FT_Outline_Check
+   *
+   *   FT_Outline_Get_CBox
+   *   FT_Outline_Get_BBox
+   *
+   *   FT_Outline_Get_Bitmap
+   *   FT_Outline_Render
+   *   FT_Outline_Decompose
+   *   FT_Outline_Funcs
+   *   FT_Outline_MoveToFunc
+   *   FT_Outline_LineToFunc
+   *   FT_Outline_ConicToFunc
+   *   FT_Outline_CubicToFunc
+   *
+   *   FT_Orientation
+   *   FT_Outline_Get_Orientation
+   *
+   *   FT_OUTLINE_XXX
+   *
+   */
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Outline_Decompose
+   *
+   * @description:
+   *   Walk over an outline's structure to decompose it into individual
+   *   segments and Bezier arcs.  This function also emits 'move to'
+   *   operations to indicate the start of new contours in the outline.
+   *
+   * @input:
+   *   outline ::
+   *     A pointer to the source target.
+   *
+   *   func_interface ::
+   *     A table of 'emitters', i.e., function pointers called during
+   *     decomposition to indicate path operations.
+   *
+   * @inout:
+   *   user ::
+   *     A typeless pointer that is passed to each emitter during the
+   *     decomposition.  It can be used to store the state during the
+   *     decomposition.
+   *
+   * @return:
+   *   FreeType error code.  0~means success.
+   *
+   * @note:
+   *   A contour that contains a single point only is represented by a 'move
+   *   to' operation followed by 'line to' to the same point.  In most cases,
+   *   it is best to filter this out before using the outline for stroking
+   *   purposes (otherwise it would result in a visible dot when round caps
+   *   are used).
+   *
+   *   Similarly, the function returns success for an empty outline also
+   *   (doing nothing, this is, not calling any emitter); if necessary, you
+   *   should filter this out, too.
+   */
+  FT_EXPORT( FT_Error )
+  FT_Outline_Decompose( FT_Outline*              outline,
+                        const FT_Outline_Funcs*  func_interface,
+                        void*                    user );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Outline_New
+   *
+   * @description:
+   *   Create a new outline of a given size.
+   *
+   * @input:
+   *   library ::
+   *     A handle to the library object from where the outline is allocated.
+   *     Note however that the new outline will **not** necessarily be
+   *     **freed**, when destroying the library, by @FT_Done_FreeType.
+   *
+   *   numPoints ::
+   *     The maximum number of points within the outline.  Must be smaller
+   *     than or equal to 0xFFFF (65535).
+   *
+   *   numContours ::
+   *     The maximum number of contours within the outline.  This value must
+   *     be in the range 0 to `numPoints`.
+   *
+   * @output:
+   *   anoutline ::
+   *     A handle to the new outline.
+   *
+   * @return:
+   *   FreeType error code.  0~means success.
+   *
+   * @note:
+   *   The reason why this function takes a `library` parameter is simply to
+   *   use the library's memory allocator.
+   */
+  FT_EXPORT( FT_Error )
+  FT_Outline_New( FT_Library   library,
+                  FT_UInt      numPoints,
+                  FT_Int       numContours,
+                  FT_Outline  *anoutline );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Outline_Done
+   *
+   * @description:
+   *   Destroy an outline created with @FT_Outline_New.
+   *
+   * @input:
+   *   library ::
+   *     A handle of the library object used to allocate the outline.
+   *
+   *   outline ::
+   *     A pointer to the outline object to be discarded.
+   *
+   * @return:
+   *   FreeType error code.  0~means success.
+   *
+   * @note:
+   *   If the outline's 'owner' field is not set, only the outline descriptor
+   *   will be released.
+   */
+  FT_EXPORT( FT_Error )
+  FT_Outline_Done( FT_Library   library,
+                   FT_Outline*  outline );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Outline_Check
+   *
+   * @description:
+   *   Check the contents of an outline descriptor.
+   *
+   * @input:
+   *   outline ::
+   *     A handle to a source outline.
+   *
+   * @return:
+   *   FreeType error code.  0~means success.
+   *
+   * @note:
+   *   An empty outline, or an outline with a single point only is also
+   *   valid.
+   */
+  FT_EXPORT( FT_Error )
+  FT_Outline_Check( FT_Outline*  outline );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Outline_Get_CBox
+   *
+   * @description:
+   *   Return an outline's 'control box'.  The control box encloses all the
+   *   outline's points, including Bezier control points.  Though it
+   *   coincides with the exact bounding box for most glyphs, it can be
+   *   slightly larger in some situations (like when rotating an outline that
+   *   contains Bezier outside arcs).
+   *
+   *   Computing the control box is very fast, while getting the bounding box
+   *   can take much more time as it needs to walk over all segments and arcs
+   *   in the outline.  To get the latter, you can use the 'ftbbox'
+   *   component, which is dedicated to this single task.
+   *
+   * @input:
+   *   outline ::
+   *     A pointer to the source outline descriptor.
+   *
+   * @output:
+   *   acbox ::
+   *     The outline's control box.
+   *
+   * @note:
+   *   See @FT_Glyph_Get_CBox for a discussion of tricky fonts.
+   */
+  FT_EXPORT( void )
+  FT_Outline_Get_CBox( const FT_Outline*  outline,
+                       FT_BBox           *acbox );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Outline_Translate
+   *
+   * @description:
+   *   Apply a simple translation to the points of an outline.
+   *
+   * @inout:
+   *   outline ::
+   *     A pointer to the target outline descriptor.
+   *
+   * @input:
+   *   xOffset ::
+   *     The horizontal offset.
+   *
+   *   yOffset ::
+   *     The vertical offset.
+   */
+  FT_EXPORT( void )
+  FT_Outline_Translate( const FT_Outline*  outline,
+                        FT_Pos             xOffset,
+                        FT_Pos             yOffset );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Outline_Copy
+   *
+   * @description:
+   *   Copy an outline into another one.  Both objects must have the same
+   *   sizes (number of points & number of contours) when this function is
+   *   called.
+   *
+   * @input:
+   *   source ::
+   *     A handle to the source outline.
+   *
+   * @output:
+   *   target ::
+   *     A handle to the target outline.
+   *
+   * @return:
+   *   FreeType error code.  0~means success.
+   */
+  FT_EXPORT( FT_Error )
+  FT_Outline_Copy( const FT_Outline*  source,
+                   FT_Outline        *target );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Outline_Transform
+   *
+   * @description:
+   *   Apply a simple 2x2 matrix to all of an outline's points.  Useful for
+   *   applying rotations, slanting, flipping, etc.
+   *
+   * @inout:
+   *   outline ::
+   *     A pointer to the target outline descriptor.
+   *
+   * @input:
+   *   matrix ::
+   *     A pointer to the transformation matrix.
+   *
+   * @note:
+   *   You can use @FT_Outline_Translate if you need to translate the
+   *   outline's points.
+   */
+  FT_EXPORT( void )
+  FT_Outline_Transform( const FT_Outline*  outline,
+                        const FT_Matrix*   matrix );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Outline_Embolden
+   *
+   * @description:
+   *   Embolden an outline.  The new outline will be at most 4~times
+   *   `strength` pixels wider and higher.  You may think of the left and
+   *   bottom borders as unchanged.
+   *
+   *   Negative `strength` values to reduce the outline thickness are
+   *   possible also.
+   *
+   * @inout:
+   *   outline ::
+   *     A handle to the target outline.
+   *
+   * @input:
+   *   strength ::
+   *     How strong the glyph is emboldened.  Expressed in 26.6 pixel format.
+   *
+   * @return:
+   *   FreeType error code.  0~means success.
+   *
+   * @note:
+   *   The used algorithm to increase or decrease the thickness of the glyph
+   *   doesn't change the number of points; this means that certain
+   *   situations like acute angles or intersections are sometimes handled
+   *   incorrectly.
+   *
+   *   If you need 'better' metrics values you should call
+   *   @FT_Outline_Get_CBox or @FT_Outline_Get_BBox.
+   *
+   *   To get meaningful results, font scaling values must be set with
+   *   functions like @FT_Set_Char_Size before calling FT_Render_Glyph.
+   *
+   * @example:
+   *   ```
+   *     FT_Load_Glyph( face, index, FT_LOAD_DEFAULT );
+   *
+   *     if ( face->glyph->format == FT_GLYPH_FORMAT_OUTLINE )
+   *       FT_Outline_Embolden( &face->glyph->outline, strength );
+   *   ```
+   *
+   */
+  FT_EXPORT( FT_Error )
+  FT_Outline_Embolden( FT_Outline*  outline,
+                       FT_Pos       strength );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Outline_EmboldenXY
+   *
+   * @description:
+   *   Embolden an outline.  The new outline will be `xstrength` pixels wider
+   *   and `ystrength` pixels higher.  Otherwise, it is similar to
+   *   @FT_Outline_Embolden, which uses the same strength in both directions.
+   *
+   * @since:
+   *   2.4.10
+   */
+  FT_EXPORT( FT_Error )
+  FT_Outline_EmboldenXY( FT_Outline*  outline,
+                         FT_Pos       xstrength,
+                         FT_Pos       ystrength );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Outline_Reverse
+   *
+   * @description:
+   *   Reverse the drawing direction of an outline.  This is used to ensure
+   *   consistent fill conventions for mirrored glyphs.
+   *
+   * @inout:
+   *   outline ::
+   *     A pointer to the target outline descriptor.
+   *
+   * @note:
+   *   This function toggles the bit flag @FT_OUTLINE_REVERSE_FILL in the
+   *   outline's `flags` field.
+   *
+   *   It shouldn't be used by a normal client application, unless it knows
+   *   what it is doing.
+   */
+  FT_EXPORT( void )
+  FT_Outline_Reverse( FT_Outline*  outline );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Outline_Get_Bitmap
+   *
+   * @description:
+   *   Render an outline within a bitmap.  The outline's image is simply
+   *   OR-ed to the target bitmap.
+   *
+   * @input:
+   *   library ::
+   *     A handle to a FreeType library object.
+   *
+   *   outline ::
+   *     A pointer to the source outline descriptor.
+   *
+   * @inout:
+   *   abitmap ::
+   *     A pointer to the target bitmap descriptor.
+   *
+   * @return:
+   *   FreeType error code.  0~means success.
+   *
+   * @note:
+   *   This function does **not create** the bitmap, it only renders an
+   *   outline image within the one you pass to it!  Consequently, the
+   *   various fields in `abitmap` should be set accordingly.
+   *
+   *   It will use the raster corresponding to the default glyph format.
+   *
+   *   The value of the `num_grays` field in `abitmap` is ignored.  If you
+   *   select the gray-level rasterizer, and you want less than 256 gray
+   *   levels, you have to use @FT_Outline_Render directly.
+   */
+  FT_EXPORT( FT_Error )
+  FT_Outline_Get_Bitmap( FT_Library        library,
+                         FT_Outline*       outline,
+                         const FT_Bitmap  *abitmap );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Outline_Render
+   *
+   * @description:
+   *   Render an outline within a bitmap using the current scan-convert.
+   *
+   * @input:
+   *   library ::
+   *     A handle to a FreeType library object.
+   *
+   *   outline ::
+   *     A pointer to the source outline descriptor.
+   *
+   * @inout:
+   *   params ::
+   *     A pointer to an @FT_Raster_Params structure used to describe the
+   *     rendering operation.
+   *
+   * @return:
+   *   FreeType error code.  0~means success.
+   *
+   * @note:
+   *   This advanced function uses @FT_Raster_Params as an argument,
+   *   allowing FreeType rasterizer to be used for direct composition,
+   *   translucency, etc.  You should know how to set up @FT_Raster_Params
+   *   for this function to work.
+   *
+   *   The field `params.source` will be set to `outline` before the scan
+   *   converter is called, which means that the value you give to it is
+   *   actually ignored.
+   *
+   *   The gray-level rasterizer always uses 256 gray levels.  If you want
+   *   less gray levels, you have to provide your own span callback.  See the
+   *   @FT_RASTER_FLAG_DIRECT value of the `flags` field in the
+   *   @FT_Raster_Params structure for more details.
+   */
+  FT_EXPORT( FT_Error )
+  FT_Outline_Render( FT_Library         library,
+                     FT_Outline*        outline,
+                     FT_Raster_Params*  params );
+
+
+  /**************************************************************************
+   *
+   * @enum:
+   *   FT_Orientation
+   *
+   * @description:
+   *   A list of values used to describe an outline's contour orientation.
+   *
+   *   The TrueType and PostScript specifications use different conventions
+   *   to determine whether outline contours should be filled or unfilled.
+   *
+   * @values:
+   *   FT_ORIENTATION_TRUETYPE ::
+   *     According to the TrueType specification, clockwise contours must be
+   *     filled, and counter-clockwise ones must be unfilled.
+   *
+   *   FT_ORIENTATION_POSTSCRIPT ::
+   *     According to the PostScript specification, counter-clockwise
+   *     contours must be filled, and clockwise ones must be unfilled.
+   *
+   *   FT_ORIENTATION_FILL_RIGHT ::
+   *     This is identical to @FT_ORIENTATION_TRUETYPE, but is used to
+   *     remember that in TrueType, everything that is to the right of the
+   *     drawing direction of a contour must be filled.
+   *
+   *   FT_ORIENTATION_FILL_LEFT ::
+   *     This is identical to @FT_ORIENTATION_POSTSCRIPT, but is used to
+   *     remember that in PostScript, everything that is to the left of the
+   *     drawing direction of a contour must be filled.
+   *
+   *   FT_ORIENTATION_NONE ::
+   *     The orientation cannot be determined.  That is, different parts of
+   *     the glyph have different orientation.
+   *
+   */
+  typedef enum  FT_Orientation_
+  {
+    FT_ORIENTATION_TRUETYPE   = 0,
+    FT_ORIENTATION_POSTSCRIPT = 1,
+    FT_ORIENTATION_FILL_RIGHT = FT_ORIENTATION_TRUETYPE,
+    FT_ORIENTATION_FILL_LEFT  = FT_ORIENTATION_POSTSCRIPT,
+    FT_ORIENTATION_NONE
+
+  } FT_Orientation;
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Outline_Get_Orientation
+   *
+   * @description:
+   *   This function analyzes a glyph outline and tries to compute its fill
+   *   orientation (see @FT_Orientation).  This is done by integrating the
+   *   total area covered by the outline. The positive integral corresponds
+   *   to the clockwise orientation and @FT_ORIENTATION_POSTSCRIPT is
+   *   returned. The negative integral corresponds to the counter-clockwise
+   *   orientation and @FT_ORIENTATION_TRUETYPE is returned.
+   *
+   *   Note that this will return @FT_ORIENTATION_TRUETYPE for empty
+   *   outlines.
+   *
+   * @input:
+   *   outline ::
+   *     A handle to the source outline.
+   *
+   * @return:
+   *   The orientation.
+   *
+   */
+  FT_EXPORT( FT_Orientation )
+  FT_Outline_Get_Orientation( FT_Outline*  outline );
+
+
+  /* */
+
+
+FT_END_HEADER
+
+#endif /* FTOUTLN_H_ */
+
+
+/* END */
+
+
+/* Local Variables: */
+/* coding: utf-8    */
+/* End:             */
diff --git a/CMU462/deps/freetype/include/freetype/ftparams.h b/CMU462/deps/freetype/include/freetype/ftparams.h
new file mode 100644
index 0000000..c374ee2
--- /dev/null
+++ b/CMU462/deps/freetype/include/freetype/ftparams.h
@@ -0,0 +1,204 @@
+/****************************************************************************
+ *
+ * ftparams.h
+ *
+ *   FreeType API for possible FT_Parameter tags (specification only).
+ *
+ * Copyright (C) 2017-2019 by
+ * David Turner, Robert Wilhelm, and Werner Lemberg.
+ *
+ * This file is part of the FreeType project, and may only be used,
+ * modified, and distributed under the terms of the FreeType project
+ * license, LICENSE.TXT.  By continuing to use, modify, or distribute
+ * this file you indicate that you have read the license and
+ * understand and accept it fully.
+ *
+ */
+
+
+#ifndef FTPARAMS_H_
+#define FTPARAMS_H_
+
+#include <ft2build.h>
+#include FT_FREETYPE_H
+
+#ifdef FREETYPE_H
+#error "freetype.h of FreeType 1 has been loaded!"
+#error "Please fix the directory search order for header files"
+#error "so that freetype.h of FreeType 2 is found first."
+#endif
+
+
+FT_BEGIN_HEADER
+
+
+  /**************************************************************************
+   *
+   * @section:
+   *   parameter_tags
+   *
+   * @title:
+   *   Parameter Tags
+   *
+   * @abstract:
+   *   Macros for driver property and font loading parameter tags.
+   *
+   * @description:
+   *   This section contains macros for the @FT_Parameter structure that are
+   *   used with various functions to activate some special functionality or
+   *   different behaviour of various components of FreeType.
+   *
+   */
+
+
+  /**************************************************************************
+   *
+   * @enum:
+   *   FT_PARAM_TAG_IGNORE_TYPOGRAPHIC_FAMILY
+   *
+   * @description:
+   *   A tag for @FT_Parameter to make @FT_Open_Face ignore typographic
+   *   family names in the 'name' table (introduced in OpenType version 1.4).
+   *   Use this for backward compatibility with legacy systems that have a
+   *   four-faces-per-family restriction.
+   *
+   * @since:
+   *   2.8
+   *
+   */
+#define FT_PARAM_TAG_IGNORE_TYPOGRAPHIC_FAMILY \
+          FT_MAKE_TAG( 'i', 'g', 'p', 'f' )
+
+
+  /* this constant is deprecated */
+#define FT_PARAM_TAG_IGNORE_PREFERRED_FAMILY \
+          FT_PARAM_TAG_IGNORE_TYPOGRAPHIC_FAMILY
+
+
+  /**************************************************************************
+   *
+   * @enum:
+   *   FT_PARAM_TAG_IGNORE_TYPOGRAPHIC_SUBFAMILY
+   *
+   * @description:
+   *   A tag for @FT_Parameter to make @FT_Open_Face ignore typographic
+   *   subfamily names in the 'name' table (introduced in OpenType version
+   *   1.4).  Use this for backward compatibility with legacy systems that
+   *   have a four-faces-per-family restriction.
+   *
+   * @since:
+   *   2.8
+   *
+   */
+#define FT_PARAM_TAG_IGNORE_TYPOGRAPHIC_SUBFAMILY \
+          FT_MAKE_TAG( 'i', 'g', 'p', 's' )
+
+
+  /* this constant is deprecated */
+#define FT_PARAM_TAG_IGNORE_PREFERRED_SUBFAMILY \
+          FT_PARAM_TAG_IGNORE_TYPOGRAPHIC_SUBFAMILY
+
+
+  /**************************************************************************
+   *
+   * @enum:
+   *   FT_PARAM_TAG_INCREMENTAL
+   *
+   * @description:
+   *   An @FT_Parameter tag to be used with @FT_Open_Face to indicate
+   *   incremental glyph loading.
+   *
+   */
+#define FT_PARAM_TAG_INCREMENTAL \
+          FT_MAKE_TAG( 'i', 'n', 'c', 'r' )
+
+
+  /**************************************************************************
+   *
+   * @enum:
+   *   FT_PARAM_TAG_LCD_FILTER_WEIGHTS
+   *
+   * @description:
+   *   An @FT_Parameter tag to be used with @FT_Face_Properties.  The
+   *   corresponding argument specifies the five LCD filter weights for a
+   *   given face (if using @FT_LOAD_TARGET_LCD, for example), overriding the
+   *   global default values or the values set up with
+   *   @FT_Library_SetLcdFilterWeights.
+   *
+   * @since:
+   *   2.8
+   *
+   */
+#define FT_PARAM_TAG_LCD_FILTER_WEIGHTS \
+          FT_MAKE_TAG( 'l', 'c', 'd', 'f' )
+
+
+  /**************************************************************************
+   *
+   * @enum:
+   *   FT_PARAM_TAG_RANDOM_SEED
+   *
+   * @description:
+   *   An @FT_Parameter tag to be used with @FT_Face_Properties.  The
+   *   corresponding 32bit signed integer argument overrides the font
+   *   driver's random seed value with a face-specific one; see @random-seed.
+   *
+   * @since:
+   *   2.8
+   *
+   */
+#define FT_PARAM_TAG_RANDOM_SEED \
+          FT_MAKE_TAG( 's', 'e', 'e', 'd' )
+
+
+  /**************************************************************************
+   *
+   * @enum:
+   *   FT_PARAM_TAG_STEM_DARKENING
+   *
+   * @description:
+   *   An @FT_Parameter tag to be used with @FT_Face_Properties.  The
+   *   corresponding Boolean argument specifies whether to apply stem
+   *   darkening, overriding the global default values or the values set up
+   *   with @FT_Property_Set (see @no-stem-darkening).
+   *
+   *   This is a passive setting that only takes effect if the font driver or
+   *   autohinter honors it, which the CFF, Type~1, and CID drivers always
+   *   do, but the autohinter only in 'light' hinting mode (as of version
+   *   2.9).
+   *
+   * @since:
+   *   2.8
+   *
+   */
+#define FT_PARAM_TAG_STEM_DARKENING \
+          FT_MAKE_TAG( 'd', 'a', 'r', 'k' )
+
+
+  /**************************************************************************
+   *
+   * @enum:
+   *   FT_PARAM_TAG_UNPATENTED_HINTING
+   *
+   * @description:
+   *   Deprecated, no effect.
+   *
+   *   Previously: A constant used as the tag of an @FT_Parameter structure
+   *   to indicate that unpatented methods only should be used by the
+   *   TrueType bytecode interpreter for a typeface opened by @FT_Open_Face.
+   *
+   */
+#define FT_PARAM_TAG_UNPATENTED_HINTING \
+          FT_MAKE_TAG( 'u', 'n', 'p', 'a' )
+
+
+  /* */
+
+
+FT_END_HEADER
+
+
+#endif /* FTPARAMS_H_ */
+
+
+/* END */
diff --git a/CMU462/deps/freetype/include/freetype/ftpfr.h b/CMU462/deps/freetype/include/freetype/ftpfr.h
new file mode 100644
index 0000000..b4eca76
--- /dev/null
+++ b/CMU462/deps/freetype/include/freetype/ftpfr.h
@@ -0,0 +1,180 @@
+/****************************************************************************
+ *
+ * ftpfr.h
+ *
+ *   FreeType API for accessing PFR-specific data (specification only).
+ *
+ * Copyright (C) 2002-2019 by
+ * David Turner, Robert Wilhelm, and Werner Lemberg.
+ *
+ * This file is part of the FreeType project, and may only be used,
+ * modified, and distributed under the terms of the FreeType project
+ * license, LICENSE.TXT.  By continuing to use, modify, or distribute
+ * this file you indicate that you have read the license and
+ * understand and accept it fully.
+ *
+ */
+
+
+#ifndef FTPFR_H_
+#define FTPFR_H_
+
+#include <ft2build.h>
+#include FT_FREETYPE_H
+
+#ifdef FREETYPE_H
+#error "freetype.h of FreeType 1 has been loaded!"
+#error "Please fix the directory search order for header files"
+#error "so that freetype.h of FreeType 2 is found first."
+#endif
+
+
+FT_BEGIN_HEADER
+
+
+  /**************************************************************************
+   *
+   * @section:
+   *   pfr_fonts
+   *
+   * @title:
+   *   PFR Fonts
+   *
+   * @abstract:
+   *   PFR/TrueDoc-specific API.
+   *
+   * @description:
+   *   This section contains the declaration of PFR-specific functions.
+   *
+   */
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *    FT_Get_PFR_Metrics
+   *
+   * @description:
+   *    Return the outline and metrics resolutions of a given PFR face.
+   *
+   * @input:
+   *    face ::
+   *      Handle to the input face.  It can be a non-PFR face.
+   *
+   * @output:
+   *    aoutline_resolution ::
+   *      Outline resolution.  This is equivalent to `face->units_per_EM` for
+   *      non-PFR fonts.  Optional (parameter can be `NULL`).
+   *
+   *    ametrics_resolution ::
+   *      Metrics resolution.  This is equivalent to `outline_resolution` for
+   *      non-PFR fonts.  Optional (parameter can be `NULL`).
+   *
+   *    ametrics_x_scale ::
+   *      A 16.16 fixed-point number used to scale distance expressed in
+   *      metrics units to device subpixels.  This is equivalent to
+   *      `face->size->x_scale`, but for metrics only.  Optional (parameter
+   *      can be `NULL`).
+   *
+   *    ametrics_y_scale ::
+   *      Same as `ametrics_x_scale` but for the vertical direction.
+   *      optional (parameter can be `NULL`).
+   *
+   * @return:
+   *    FreeType error code.  0~means success.
+   *
+   * @note:
+   *   If the input face is not a PFR, this function will return an error.
+   *   However, in all cases, it will return valid values.
+   */
+  FT_EXPORT( FT_Error )
+  FT_Get_PFR_Metrics( FT_Face    face,
+                      FT_UInt   *aoutline_resolution,
+                      FT_UInt   *ametrics_resolution,
+                      FT_Fixed  *ametrics_x_scale,
+                      FT_Fixed  *ametrics_y_scale );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *    FT_Get_PFR_Kerning
+   *
+   * @description:
+   *    Return the kerning pair corresponding to two glyphs in a PFR face.
+   *    The distance is expressed in metrics units, unlike the result of
+   *    @FT_Get_Kerning.
+   *
+   * @input:
+   *    face ::
+   *      A handle to the input face.
+   *
+   *    left ::
+   *      Index of the left glyph.
+   *
+   *    right ::
+   *      Index of the right glyph.
+   *
+   * @output:
+   *    avector ::
+   *      A kerning vector.
+   *
+   * @return:
+   *    FreeType error code.  0~means success.
+   *
+   * @note:
+   *    This function always return distances in original PFR metrics units.
+   *    This is unlike @FT_Get_Kerning with the @FT_KERNING_UNSCALED mode,
+   *    which always returns distances converted to outline units.
+   *
+   *    You can use the value of the `x_scale` and `y_scale` parameters
+   *    returned by @FT_Get_PFR_Metrics to scale these to device subpixels.
+   */
+  FT_EXPORT( FT_Error )
+  FT_Get_PFR_Kerning( FT_Face     face,
+                      FT_UInt     left,
+                      FT_UInt     right,
+                      FT_Vector  *avector );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *    FT_Get_PFR_Advance
+   *
+   * @description:
+   *    Return a given glyph advance, expressed in original metrics units,
+   *    from a PFR font.
+   *
+   * @input:
+   *    face ::
+   *      A handle to the input face.
+   *
+   *    gindex ::
+   *      The glyph index.
+   *
+   * @output:
+   *    aadvance ::
+   *      The glyph advance in metrics units.
+   *
+   * @return:
+   *    FreeType error code.  0~means success.
+   *
+   * @note:
+   *    You can use the `x_scale` or `y_scale` results of @FT_Get_PFR_Metrics
+   *    to convert the advance to device subpixels (i.e., 1/64th of pixels).
+   */
+  FT_EXPORT( FT_Error )
+  FT_Get_PFR_Advance( FT_Face   face,
+                      FT_UInt   gindex,
+                      FT_Pos   *aadvance );
+
+  /* */
+
+
+FT_END_HEADER
+
+#endif /* FTPFR_H_ */
+
+
+/* END */
diff --git a/CMU462/deps/freetype/include/freetype/ftrender.h b/CMU462/deps/freetype/include/freetype/ftrender.h
new file mode 100644
index 0000000..a01c774
--- /dev/null
+++ b/CMU462/deps/freetype/include/freetype/ftrender.h
@@ -0,0 +1,245 @@
+/****************************************************************************
+ *
+ * ftrender.h
+ *
+ *   FreeType renderer modules public interface (specification).
+ *
+ * Copyright (C) 1996-2019 by
+ * David Turner, Robert Wilhelm, and Werner Lemberg.
+ *
+ * This file is part of the FreeType project, and may only be used,
+ * modified, and distributed under the terms of the FreeType project
+ * license, LICENSE.TXT.  By continuing to use, modify, or distribute
+ * this file you indicate that you have read the license and
+ * understand and accept it fully.
+ *
+ */
+
+
+#ifndef FTRENDER_H_
+#define FTRENDER_H_
+
+
+#include <ft2build.h>
+#include FT_MODULE_H
+#include FT_GLYPH_H
+
+
+FT_BEGIN_HEADER
+
+
+  /**************************************************************************
+   *
+   * @section:
+   *   module_management
+   *
+   */
+
+
+  /* create a new glyph object */
+  typedef FT_Error
+  (*FT_Glyph_InitFunc)( FT_Glyph      glyph,
+                        FT_GlyphSlot  slot );
+
+  /* destroys a given glyph object */
+  typedef void
+  (*FT_Glyph_DoneFunc)( FT_Glyph  glyph );
+
+  typedef void
+  (*FT_Glyph_TransformFunc)( FT_Glyph          glyph,
+                             const FT_Matrix*  matrix,
+                             const FT_Vector*  delta );
+
+  typedef void
+  (*FT_Glyph_GetBBoxFunc)( FT_Glyph  glyph,
+                           FT_BBox*  abbox );
+
+  typedef FT_Error
+  (*FT_Glyph_CopyFunc)( FT_Glyph   source,
+                        FT_Glyph   target );
+
+  typedef FT_Error
+  (*FT_Glyph_PrepareFunc)( FT_Glyph      glyph,
+                           FT_GlyphSlot  slot );
+
+/* deprecated */
+#define FT_Glyph_Init_Func       FT_Glyph_InitFunc
+#define FT_Glyph_Done_Func       FT_Glyph_DoneFunc
+#define FT_Glyph_Transform_Func  FT_Glyph_TransformFunc
+#define FT_Glyph_BBox_Func       FT_Glyph_GetBBoxFunc
+#define FT_Glyph_Copy_Func       FT_Glyph_CopyFunc
+#define FT_Glyph_Prepare_Func    FT_Glyph_PrepareFunc
+
+
+  struct  FT_Glyph_Class_
+  {
+    FT_Long                 glyph_size;
+    FT_Glyph_Format         glyph_format;
+
+    FT_Glyph_InitFunc       glyph_init;
+    FT_Glyph_DoneFunc       glyph_done;
+    FT_Glyph_CopyFunc       glyph_copy;
+    FT_Glyph_TransformFunc  glyph_transform;
+    FT_Glyph_GetBBoxFunc    glyph_bbox;
+    FT_Glyph_PrepareFunc    glyph_prepare;
+  };
+
+
+  typedef FT_Error
+  (*FT_Renderer_RenderFunc)( FT_Renderer       renderer,
+                             FT_GlyphSlot      slot,
+                             FT_Render_Mode    mode,
+                             const FT_Vector*  origin );
+
+  typedef FT_Error
+  (*FT_Renderer_TransformFunc)( FT_Renderer       renderer,
+                                FT_GlyphSlot      slot,
+                                const FT_Matrix*  matrix,
+                                const FT_Vector*  delta );
+
+
+  typedef void
+  (*FT_Renderer_GetCBoxFunc)( FT_Renderer   renderer,
+                              FT_GlyphSlot  slot,
+                              FT_BBox*      cbox );
+
+
+  typedef FT_Error
+  (*FT_Renderer_SetModeFunc)( FT_Renderer  renderer,
+                              FT_ULong     mode_tag,
+                              FT_Pointer   mode_ptr );
+
+/* deprecated identifiers */
+#define FTRenderer_render  FT_Renderer_RenderFunc
+#define FTRenderer_transform  FT_Renderer_TransformFunc
+#define FTRenderer_getCBox  FT_Renderer_GetCBoxFunc
+#define FTRenderer_setMode  FT_Renderer_SetModeFunc
+
+
+  /**************************************************************************
+   *
+   * @struct:
+   *   FT_Renderer_Class
+   *
+   * @description:
+   *   The renderer module class descriptor.
+   *
+   * @fields:
+   *   root ::
+   *     The root @FT_Module_Class fields.
+   *
+   *   glyph_format ::
+   *     The glyph image format this renderer handles.
+   *
+   *   render_glyph ::
+   *     A method used to render the image that is in a given glyph slot into
+   *     a bitmap.
+   *
+   *   transform_glyph ::
+   *     A method used to transform the image that is in a given glyph slot.
+   *
+   *   get_glyph_cbox ::
+   *     A method used to access the glyph's cbox.
+   *
+   *   set_mode ::
+   *     A method used to pass additional parameters.
+   *
+   *   raster_class ::
+   *     For @FT_GLYPH_FORMAT_OUTLINE renderers only.  This is a pointer to
+   *     its raster's class.
+   */
+  typedef struct  FT_Renderer_Class_
+  {
+    FT_Module_Class            root;
+
+    FT_Glyph_Format            glyph_format;
+
+    FT_Renderer_RenderFunc     render_glyph;
+    FT_Renderer_TransformFunc  transform_glyph;
+    FT_Renderer_GetCBoxFunc    get_glyph_cbox;
+    FT_Renderer_SetModeFunc    set_mode;
+
+    FT_Raster_Funcs*           raster_class;
+
+  } FT_Renderer_Class;
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Get_Renderer
+   *
+   * @description:
+   *   Retrieve the current renderer for a given glyph format.
+   *
+   * @input:
+   *   library ::
+   *     A handle to the library object.
+   *
+   *   format ::
+   *     The glyph format.
+   *
+   * @return:
+   *   A renderer handle.  0~if none found.
+   *
+   * @note:
+   *   An error will be returned if a module already exists by that name, or
+   *   if the module requires a version of FreeType that is too great.
+   *
+   *   To add a new renderer, simply use @FT_Add_Module.  To retrieve a
+   *   renderer by its name, use @FT_Get_Module.
+   */
+  FT_EXPORT( FT_Renderer )
+  FT_Get_Renderer( FT_Library       library,
+                   FT_Glyph_Format  format );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Set_Renderer
+   *
+   * @description:
+   *   Set the current renderer to use, and set additional mode.
+   *
+   * @inout:
+   *   library ::
+   *     A handle to the library object.
+   *
+   * @input:
+   *   renderer ::
+   *     A handle to the renderer object.
+   *
+   *   num_params ::
+   *     The number of additional parameters.
+   *
+   *   parameters ::
+   *     Additional parameters.
+   *
+   * @return:
+   *   FreeType error code.  0~means success.
+   *
+   * @note:
+   *   In case of success, the renderer will be used to convert glyph images
+   *   in the renderer's known format into bitmaps.
+   *
+   *   This doesn't change the current renderer for other formats.
+   *
+   *   Currently, no FreeType renderer module uses `parameters`; you should
+   *   thus always pass `NULL` as the value.
+   */
+  FT_EXPORT( FT_Error )
+  FT_Set_Renderer( FT_Library     library,
+                   FT_Renderer    renderer,
+                   FT_UInt        num_params,
+                   FT_Parameter*  parameters );
+
+  /* */
+
+
+FT_END_HEADER
+
+#endif /* FTRENDER_H_ */
+
+
+/* END */
diff --git a/CMU462/deps/freetype/include/freetype/ftsizes.h b/CMU462/deps/freetype/include/freetype/ftsizes.h
new file mode 100644
index 0000000..6c63cef
--- /dev/null
+++ b/CMU462/deps/freetype/include/freetype/ftsizes.h
@@ -0,0 +1,160 @@
+/****************************************************************************
+ *
+ * ftsizes.h
+ *
+ *   FreeType size objects management (specification).
+ *
+ * Copyright (C) 1996-2019 by
+ * David Turner, Robert Wilhelm, and Werner Lemberg.
+ *
+ * This file is part of the FreeType project, and may only be used,
+ * modified, and distributed under the terms of the FreeType project
+ * license, LICENSE.TXT.  By continuing to use, modify, or distribute
+ * this file you indicate that you have read the license and
+ * understand and accept it fully.
+ *
+ */
+
+
+  /**************************************************************************
+   *
+   * Typical application would normally not need to use these functions.
+   * However, they have been placed in a public API for the rare cases where
+   * they are needed.
+   *
+   */
+
+
+#ifndef FTSIZES_H_
+#define FTSIZES_H_
+
+
+#include <ft2build.h>
+#include FT_FREETYPE_H
+
+#ifdef FREETYPE_H
+#error "freetype.h of FreeType 1 has been loaded!"
+#error "Please fix the directory search order for header files"
+#error "so that freetype.h of FreeType 2 is found first."
+#endif
+
+
+FT_BEGIN_HEADER
+
+
+  /**************************************************************************
+   *
+   * @section:
+   *   sizes_management
+   *
+   * @title:
+   *   Size Management
+   *
+   * @abstract:
+   *   Managing multiple sizes per face.
+   *
+   * @description:
+   *   When creating a new face object (e.g., with @FT_New_Face), an @FT_Size
+   *   object is automatically created and used to store all pixel-size
+   *   dependent information, available in the `face->size` field.
+   *
+   *   It is however possible to create more sizes for a given face, mostly
+   *   in order to manage several character pixel sizes of the same font
+   *   family and style.  See @FT_New_Size and @FT_Done_Size.
+   *
+   *   Note that @FT_Set_Pixel_Sizes and @FT_Set_Char_Size only modify the
+   *   contents of the current 'active' size; you thus need to use
+   *   @FT_Activate_Size to change it.
+   *
+   *   99% of applications won't need the functions provided here, especially
+   *   if they use the caching sub-system, so be cautious when using these.
+   *
+   */
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_New_Size
+   *
+   * @description:
+   *   Create a new size object from a given face object.
+   *
+   * @input:
+   *   face ::
+   *     A handle to a parent face object.
+   *
+   * @output:
+   *   asize ::
+   *     A handle to a new size object.
+   *
+   * @return:
+   *   FreeType error code.  0~means success.
+   *
+   * @note:
+   *   You need to call @FT_Activate_Size in order to select the new size for
+   *   upcoming calls to @FT_Set_Pixel_Sizes, @FT_Set_Char_Size,
+   *   @FT_Load_Glyph, @FT_Load_Char, etc.
+   */
+  FT_EXPORT( FT_Error )
+  FT_New_Size( FT_Face   face,
+               FT_Size*  size );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Done_Size
+   *
+   * @description:
+   *   Discard a given size object.  Note that @FT_Done_Face automatically
+   *   discards all size objects allocated with @FT_New_Size.
+   *
+   * @input:
+   *   size ::
+   *     A handle to a target size object.
+   *
+   * @return:
+   *   FreeType error code.  0~means success.
+   */
+  FT_EXPORT( FT_Error )
+  FT_Done_Size( FT_Size  size );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Activate_Size
+   *
+   * @description:
+   *   Even though it is possible to create several size objects for a given
+   *   face (see @FT_New_Size for details), functions like @FT_Load_Glyph or
+   *   @FT_Load_Char only use the one that has been activated last to
+   *   determine the 'current character pixel size'.
+   *
+   *   This function can be used to 'activate' a previously created size
+   *   object.
+   *
+   * @input:
+   *   size ::
+   *     A handle to a target size object.
+   *
+   * @return:
+   *   FreeType error code.  0~means success.
+   *
+   * @note:
+   *   If `face` is the size's parent face object, this function changes the
+   *   value of `face->size` to the input size handle.
+   */
+  FT_EXPORT( FT_Error )
+  FT_Activate_Size( FT_Size  size );
+
+  /* */
+
+
+FT_END_HEADER
+
+#endif /* FTSIZES_H_ */
+
+
+/* END */
diff --git a/CMU462/deps/freetype/include/freetype/ftsnames.h b/CMU462/deps/freetype/include/freetype/ftsnames.h
new file mode 100644
index 0000000..4d43602
--- /dev/null
+++ b/CMU462/deps/freetype/include/freetype/ftsnames.h
@@ -0,0 +1,273 @@
+/****************************************************************************
+ *
+ * ftsnames.h
+ *
+ *   Simple interface to access SFNT 'name' tables (which are used
+ *   to hold font names, copyright info, notices, etc.) (specification).
+ *
+ *   This is _not_ used to retrieve glyph names!
+ *
+ * Copyright (C) 1996-2019 by
+ * David Turner, Robert Wilhelm, and Werner Lemberg.
+ *
+ * This file is part of the FreeType project, and may only be used,
+ * modified, and distributed under the terms of the FreeType project
+ * license, LICENSE.TXT.  By continuing to use, modify, or distribute
+ * this file you indicate that you have read the license and
+ * understand and accept it fully.
+ *
+ */
+
+
+#ifndef FTSNAMES_H_
+#define FTSNAMES_H_
+
+
+#include <ft2build.h>
+#include FT_FREETYPE_H
+#include FT_PARAMETER_TAGS_H
+
+#ifdef FREETYPE_H
+#error "freetype.h of FreeType 1 has been loaded!"
+#error "Please fix the directory search order for header files"
+#error "so that freetype.h of FreeType 2 is found first."
+#endif
+
+
+FT_BEGIN_HEADER
+
+
+  /**************************************************************************
+   *
+   * @section:
+   *   sfnt_names
+   *
+   * @title:
+   *   SFNT Names
+   *
+   * @abstract:
+   *   Access the names embedded in TrueType and OpenType files.
+   *
+   * @description:
+   *   The TrueType and OpenType specifications allow the inclusion of a
+   *   special names table ('name') in font files.  This table contains
+   *   textual (and internationalized) information regarding the font, like
+   *   family name, copyright, version, etc.
+   *
+   *   The definitions below are used to access them if available.
+   *
+   *   Note that this has nothing to do with glyph names!
+   *
+   */
+
+
+  /**************************************************************************
+   *
+   * @struct:
+   *   FT_SfntName
+   *
+   * @description:
+   *   A structure used to model an SFNT 'name' table entry.
+   *
+   * @fields:
+   *   platform_id ::
+   *     The platform ID for `string`.  See @TT_PLATFORM_XXX for possible
+   *     values.
+   *
+   *   encoding_id ::
+   *     The encoding ID for `string`.  See @TT_APPLE_ID_XXX, @TT_MAC_ID_XXX,
+   *     @TT_ISO_ID_XXX, @TT_MS_ID_XXX, and @TT_ADOBE_ID_XXX for possible
+   *     values.
+   *
+   *   language_id ::
+   *     The language ID for `string`.  See @TT_MAC_LANGID_XXX and
+   *     @TT_MS_LANGID_XXX for possible values.
+   *
+   *     Registered OpenType values for `language_id` are always smaller than
+   *     0x8000; values equal or larger than 0x8000 usually indicate a
+   *     language tag string (introduced in OpenType version 1.6).  Use
+   *     function @FT_Get_Sfnt_LangTag with `language_id` as its argument to
+   *     retrieve the associated language tag.
+   *
+   *   name_id ::
+   *     An identifier for `string`.  See @TT_NAME_ID_XXX for possible
+   *     values.
+   *
+   *   string ::
+   *     The 'name' string.  Note that its format differs depending on the
+   *     (platform,encoding) pair, being either a string of bytes (without a
+   *     terminating `NULL` byte) or containing UTF-16BE entities.
+   *
+   *   string_len ::
+   *     The length of `string` in bytes.
+   *
+   * @note:
+   *   Please refer to the TrueType or OpenType specification for more
+   *   details.
+   */
+  typedef struct  FT_SfntName_
+  {
+    FT_UShort  platform_id;
+    FT_UShort  encoding_id;
+    FT_UShort  language_id;
+    FT_UShort  name_id;
+
+    FT_Byte*   string;      /* this string is *not* null-terminated! */
+    FT_UInt    string_len;  /* in bytes                              */
+
+  } FT_SfntName;
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Get_Sfnt_Name_Count
+   *
+   * @description:
+   *   Retrieve the number of name strings in the SFNT 'name' table.
+   *
+   * @input:
+   *   face ::
+   *     A handle to the source face.
+   *
+   * @return:
+   *   The number of strings in the 'name' table.
+   *
+   * @note:
+   *   This function always returns an error if the config macro
+   *   `TT_CONFIG_OPTION_SFNT_NAMES` is not defined in `ftoption.h`.
+   */
+  FT_EXPORT( FT_UInt )
+  FT_Get_Sfnt_Name_Count( FT_Face  face );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Get_Sfnt_Name
+   *
+   * @description:
+   *   Retrieve a string of the SFNT 'name' table for a given index.
+   *
+   * @input:
+   *   face ::
+   *     A handle to the source face.
+   *
+   *   idx ::
+   *     The index of the 'name' string.
+   *
+   * @output:
+   *   aname ::
+   *     The indexed @FT_SfntName structure.
+   *
+   * @return:
+   *   FreeType error code.  0~means success.
+   *
+   * @note:
+   *   The `string` array returned in the `aname` structure is not
+   *   null-terminated.  Note that you don't have to deallocate `string` by
+   *   yourself; FreeType takes care of it if you call @FT_Done_Face.
+   *
+   *   Use @FT_Get_Sfnt_Name_Count to get the total number of available
+   *   'name' table entries, then do a loop until you get the right platform,
+   *   encoding, and name ID.
+   *
+   *   'name' table format~1 entries can use language tags also, see
+   *   @FT_Get_Sfnt_LangTag.
+   *
+   *   This function always returns an error if the config macro
+   *   `TT_CONFIG_OPTION_SFNT_NAMES` is not defined in `ftoption.h`.
+   */
+  FT_EXPORT( FT_Error )
+  FT_Get_Sfnt_Name( FT_Face       face,
+                    FT_UInt       idx,
+                    FT_SfntName  *aname );
+
+
+  /**************************************************************************
+   *
+   * @struct:
+   *   FT_SfntLangTag
+   *
+   * @description:
+   *   A structure to model a language tag entry from an SFNT 'name' table.
+   *
+   * @fields:
+   *   string ::
+   *     The language tag string, encoded in UTF-16BE (without trailing
+   *     `NULL` bytes).
+   *
+   *   string_len ::
+   *     The length of `string` in **bytes**.
+   *
+   * @note:
+   *   Please refer to the TrueType or OpenType specification for more
+   *   details.
+   *
+   * @since:
+   *   2.8
+   */
+  typedef struct  FT_SfntLangTag_
+  {
+    FT_Byte*  string;      /* this string is *not* null-terminated! */
+    FT_UInt   string_len;  /* in bytes                              */
+
+  } FT_SfntLangTag;
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Get_Sfnt_LangTag
+   *
+   * @description:
+   *   Retrieve the language tag associated with a language ID of an SFNT
+   *   'name' table entry.
+   *
+   * @input:
+   *   face ::
+   *     A handle to the source face.
+   *
+   *   langID ::
+   *     The language ID, as returned by @FT_Get_Sfnt_Name.  This is always a
+   *     value larger than 0x8000.
+   *
+   * @output:
+   *   alangTag ::
+   *     The language tag associated with the 'name' table entry's language
+   *     ID.
+   *
+   * @return:
+   *   FreeType error code.  0~means success.
+   *
+   * @note:
+   *   The `string` array returned in the `alangTag` structure is not
+   *   null-terminated.  Note that you don't have to deallocate `string` by
+   *   yourself; FreeType takes care of it if you call @FT_Done_Face.
+   *
+   *   Only 'name' table format~1 supports language tags.  For format~0
+   *   tables, this function always returns FT_Err_Invalid_Table.  For
+   *   invalid format~1 language ID values, FT_Err_Invalid_Argument is
+   *   returned.
+   *
+   *   This function always returns an error if the config macro
+   *   `TT_CONFIG_OPTION_SFNT_NAMES` is not defined in `ftoption.h`.
+   *
+   * @since:
+   *   2.8
+   */
+  FT_EXPORT( FT_Error )
+  FT_Get_Sfnt_LangTag( FT_Face          face,
+                       FT_UInt          langID,
+                       FT_SfntLangTag  *alangTag );
+
+
+  /* */
+
+
+FT_END_HEADER
+
+#endif /* FTSNAMES_H_ */
+
+
+/* END */
diff --git a/CMU462/deps/freetype/include/freetype2/freetype/ftstroke.h b/CMU462/deps/freetype/include/freetype/ftstroke.h
old mode 100755
new mode 100644
similarity index 55%
rename from CMU462/deps/freetype/include/freetype2/freetype/ftstroke.h
rename to CMU462/deps/freetype/include/freetype/ftstroke.h
index 738b43c..01a9c18
--- a/CMU462/deps/freetype/include/freetype2/freetype/ftstroke.h
+++ b/CMU462/deps/freetype/include/freetype/ftstroke.h
@@ -1,23 +1,23 @@
-/***************************************************************************/
-/*                                                                         */
-/*  ftstroke.h                                                             */
-/*                                                                         */
-/*    FreeType path stroker (specification).                               */
-/*                                                                         */
-/*  Copyright 2002, 2003, 2004, 2005, 2006 by                              */
-/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
-/*                                                                         */
-/*  This file is part of the FreeType project, and may only be used,       */
-/*  modified, and distributed under the terms of the FreeType project      */
-/*  license, LICENSE.TXT.  By continuing to use, modify, or distribute     */
-/*  this file you indicate that you have read the license and              */
-/*  understand and accept it fully.                                        */
-/*                                                                         */
-/***************************************************************************/
-
-
-#ifndef __FT_STROKE_H__
-#define __FT_STROKE_H__
+/****************************************************************************
+ *
+ * ftstroke.h
+ *
+ *   FreeType path stroker (specification).
+ *
+ * Copyright (C) 2002-2019 by
+ * David Turner, Robert Wilhelm, and Werner Lemberg.
+ *
+ * This file is part of the FreeType project, and may only be used,
+ * modified, and distributed under the terms of the FreeType project
+ * license, LICENSE.TXT.  By continuing to use, modify, or distribute
+ * this file you indicate that you have read the license and
+ * understand and accept it fully.
+ *
+ */
+
+
+#ifndef FTSTROKE_H_
+#define FTSTROKE_H_
 
 #include <ft2build.h>
 #include FT_OUTLINE_H
@@ -27,95 +27,146 @@
 FT_BEGIN_HEADER
 
 
- /************************************************************************
-  *
-  * @section:
-  *    glyph_stroker
-  *
-  * @title:
-  *    Glyph Stroker
-  *
-  * @abstract:
-  *    Generating bordered and stroked glyphs.
-  *
-  * @description:
-  *    This component generates stroked outlines of a given vectorial
-  *    glyph.  It also allows you to retrieve the `outside' and/or the
-  *    `inside' borders of the stroke.
-  *
-  *    This can be useful to generate `bordered' glyph, i.e., glyphs
-  *    displayed with a coloured (and anti-aliased) border around their
-  *    shape.
-  */
-
-
- /**************************************************************
-  *
-  * @type:
-  *   FT_Stroker
-  *
-  * @description:
-  *   Opaque handler to a path stroker object.
-  */
+  /**************************************************************************
+   *
+   * @section:
+   *    glyph_stroker
+   *
+   * @title:
+   *    Glyph Stroker
+   *
+   * @abstract:
+   *    Generating bordered and stroked glyphs.
+   *
+   * @description:
+   *    This component generates stroked outlines of a given vectorial glyph.
+   *    It also allows you to retrieve the 'outside' and/or the 'inside'
+   *    borders of the stroke.
+   *
+   *    This can be useful to generate 'bordered' glyph, i.e., glyphs
+   *    displayed with a coloured (and anti-aliased) border around their
+   *    shape.
+   *
+   * @order:
+   *    FT_Stroker
+   *
+   *    FT_Stroker_LineJoin
+   *    FT_Stroker_LineCap
+   *    FT_StrokerBorder
+   *
+   *    FT_Outline_GetInsideBorder
+   *    FT_Outline_GetOutsideBorder
+   *
+   *    FT_Glyph_Stroke
+   *    FT_Glyph_StrokeBorder
+   *
+   *    FT_Stroker_New
+   *    FT_Stroker_Set
+   *    FT_Stroker_Rewind
+   *    FT_Stroker_ParseOutline
+   *    FT_Stroker_Done
+   *
+   *    FT_Stroker_BeginSubPath
+   *    FT_Stroker_EndSubPath
+   *
+   *    FT_Stroker_LineTo
+   *    FT_Stroker_ConicTo
+   *    FT_Stroker_CubicTo
+   *
+   *    FT_Stroker_GetBorderCounts
+   *    FT_Stroker_ExportBorder
+   *    FT_Stroker_GetCounts
+   *    FT_Stroker_Export
+   *
+   */
+
+
+  /**************************************************************************
+   *
+   * @type:
+   *   FT_Stroker
+   *
+   * @description:
+   *   Opaque handle to a path stroker object.
+   */
   typedef struct FT_StrokerRec_*  FT_Stroker;
 
 
-  /**************************************************************
+  /**************************************************************************
    *
    * @enum:
    *   FT_Stroker_LineJoin
    *
    * @description:
-   *   These values determine how two joining lines are rendered
-   *   in a stroker.
+   *   These values determine how two joining lines are rendered in a
+   *   stroker.
    *
    * @values:
    *   FT_STROKER_LINEJOIN_ROUND ::
-   *     Used to render rounded line joins.  Circular arcs are used
-   *     to join two lines smoothly.
+   *     Used to render rounded line joins.  Circular arcs are used to join
+   *     two lines smoothly.
    *
    *   FT_STROKER_LINEJOIN_BEVEL ::
-   *     Used to render beveled line joins; i.e., the two joining lines
-   *     are extended until they intersect.
-   *
+   *     Used to render beveled line joins.  The outer corner of the joined
+   *     lines is filled by enclosing the triangular region of the corner
+   *     with a straight line between the outer corners of each stroke.
+   *
+   *   FT_STROKER_LINEJOIN_MITER_FIXED ::
+   *     Used to render mitered line joins, with fixed bevels if the miter
+   *     limit is exceeded.  The outer edges of the strokes for the two
+   *     segments are extended until they meet at an angle.  If the segments
+   *     meet at too sharp an angle (such that the miter would extend from
+   *     the intersection of the segments a distance greater than the product
+   *     of the miter limit value and the border radius), then a bevel join
+   *     (see above) is used instead.  This prevents long spikes being
+   *     created.  `FT_STROKER_LINEJOIN_MITER_FIXED` generates a miter line
+   *     join as used in PostScript and PDF.
+   *
+   *   FT_STROKER_LINEJOIN_MITER_VARIABLE ::
    *   FT_STROKER_LINEJOIN_MITER ::
-   *     Same as beveled rendering, except that an additional line
-   *     break is added if the angle between the two joining lines
-   *     is too closed (this is useful to avoid unpleasant spikes
-   *     in beveled rendering).
+   *     Used to render mitered line joins, with variable bevels if the miter
+   *     limit is exceeded.  The intersection of the strokes is clipped at a
+   *     line perpendicular to the bisector of the angle between the strokes,
+   *     at the distance from the intersection of the segments equal to the
+   *     product of the miter limit value and the border radius.  This
+   *     prevents long spikes being created. 
+   *     `FT_STROKER_LINEJOIN_MITER_VARIABLE` generates a mitered line join
+   *     as used in XPS.  `FT_STROKER_LINEJOIN_MITER` is an alias for
+   *     `FT_STROKER_LINEJOIN_MITER_VARIABLE`, retained for backward
+   *     compatibility.
    */
-  typedef enum
+  typedef enum  FT_Stroker_LineJoin_
   {
-    FT_STROKER_LINEJOIN_ROUND = 0,
-    FT_STROKER_LINEJOIN_BEVEL,
-    FT_STROKER_LINEJOIN_MITER
+    FT_STROKER_LINEJOIN_ROUND          = 0,
+    FT_STROKER_LINEJOIN_BEVEL          = 1,
+    FT_STROKER_LINEJOIN_MITER_VARIABLE = 2,
+    FT_STROKER_LINEJOIN_MITER          = FT_STROKER_LINEJOIN_MITER_VARIABLE,
+    FT_STROKER_LINEJOIN_MITER_FIXED    = 3
 
   } FT_Stroker_LineJoin;
 
 
-  /**************************************************************
+  /**************************************************************************
    *
    * @enum:
    *   FT_Stroker_LineCap
    *
    * @description:
-   *   These values determine how the end of opened sub-paths are
-   *   rendered in a stroke.
+   *   These values determine how the end of opened sub-paths are rendered in
+   *   a stroke.
    *
    * @values:
    *   FT_STROKER_LINECAP_BUTT ::
-   *     The end of lines is rendered as a full stop on the last
-   *     point itself.
+   *     The end of lines is rendered as a full stop on the last point
+   *     itself.
    *
    *   FT_STROKER_LINECAP_ROUND ::
-   *     The end of lines is rendered as a half-circle around the
-   *     last point.
+   *     The end of lines is rendered as a half-circle around the last point.
    *
    *   FT_STROKER_LINECAP_SQUARE ::
-   *     The end of lines is rendered as a square around the
-   *     last point.
+   *     The end of lines is rendered as a square around the last point.
    */
-  typedef enum
+  typedef enum  FT_Stroker_LineCap_
   {
     FT_STROKER_LINECAP_BUTT = 0,
     FT_STROKER_LINECAP_ROUND,
@@ -124,14 +175,14 @@ FT_BEGIN_HEADER
   } FT_Stroker_LineCap;
 
 
-  /**************************************************************
+  /**************************************************************************
    *
    * @enum:
    *   FT_StrokerBorder
    *
    * @description:
-   *   These values are used to select a given stroke border
-   *   in @FT_Stroker_GetBorderCounts and @FT_Stroker_ExportBorder.
+   *   These values are used to select a given stroke border in
+   *   @FT_Stroker_GetBorderCounts and @FT_Stroker_ExportBorder.
    *
    * @values:
    *   FT_STROKER_BORDER_LEFT ::
@@ -141,15 +192,15 @@ FT_BEGIN_HEADER
    *     Select the right border, relative to the drawing direction.
    *
    * @note:
-   *   Applications are generally interested in the `inside' and `outside'
+   *   Applications are generally interested in the 'inside' and 'outside'
    *   borders.  However, there is no direct mapping between these and the
-   *   `left' and `right' ones, since this really depends on the glyph's
+   *   'left' and 'right' ones, since this really depends on the glyph's
    *   drawing orientation, which varies between font formats.
    *
    *   You can however use @FT_Outline_GetInsideBorder and
    *   @FT_Outline_GetOutsideBorder to get these.
    */
-  typedef enum
+  typedef enum  FT_StrokerBorder_
   {
     FT_STROKER_BORDER_LEFT = 0,
     FT_STROKER_BORDER_RIGHT
@@ -157,35 +208,35 @@ FT_BEGIN_HEADER
   } FT_StrokerBorder;
 
 
-  /**************************************************************
+  /**************************************************************************
    *
    * @function:
    *   FT_Outline_GetInsideBorder
    *
    * @description:
-   *   Retrieve the @FT_StrokerBorder value corresponding to the
-   *   `inside' borders of a given outline.
+   *   Retrieve the @FT_StrokerBorder value corresponding to the 'inside'
+   *   borders of a given outline.
    *
    * @input:
    *   outline ::
    *     The source outline handle.
    *
    * @return:
-   *   The border index.  @FT_STROKER_BORDER_LEFT for empty or invalid
+   *   The border index.  @FT_STROKER_BORDER_RIGHT for empty or invalid
    *   outlines.
    */
   FT_EXPORT( FT_StrokerBorder )
   FT_Outline_GetInsideBorder( FT_Outline*  outline );
 
 
-  /**************************************************************
+  /**************************************************************************
    *
    * @function:
    *   FT_Outline_GetOutsideBorder
    *
    * @description:
-   *   Retrieve the @FT_StrokerBorder value corresponding to the
-   *   `outside' borders of a given outline.
+   *   Retrieve the @FT_StrokerBorder value corresponding to the 'outside'
+   *   borders of a given outline.
    *
    * @input:
    *   outline ::
@@ -199,7 +250,7 @@ FT_BEGIN_HEADER
   FT_Outline_GetOutsideBorder( FT_Outline*  outline );
 
 
-  /**************************************************************
+  /**************************************************************************
    *
    * @function:
    *   FT_Stroker_New
@@ -213,17 +264,17 @@ FT_BEGIN_HEADER
    *
    * @output:
    *   astroker ::
-   *     A new stroker object handle.  NULL in case of error.
+   *     A new stroker object handle.  `NULL` in case of error.
    *
    * @return:
-   *    FreeType error code.  0 means success.
+   *    FreeType error code.  0~means success.
    */
   FT_EXPORT( FT_Error )
   FT_Stroker_New( FT_Library   library,
                   FT_Stroker  *astroker );
 
 
-  /**************************************************************
+  /**************************************************************************
    *
    * @function:
    *   FT_Stroker_Set
@@ -245,12 +296,14 @@ FT_BEGIN_HEADER
    *     The line join style.
    *
    *   miter_limit ::
-   *     The miter limit for the FT_STROKER_LINEJOIN_MITER style,
-   *     expressed as 16.16 fixed point value.
+   *     The miter limit for the `FT_STROKER_LINEJOIN_MITER_FIXED` and
+   *     `FT_STROKER_LINEJOIN_MITER_VARIABLE` line join styles, expressed as
+   *     16.16 fixed-point value.
    *
    * @note:
-   *   The radius is expressed in the same units that the outline
-   *   coordinates.
+   *   The radius is expressed in the same units as the outline coordinates.
+   *
+   *   This function calls @FT_Stroker_Rewind automatically.
    */
   FT_EXPORT( void )
   FT_Stroker_Set( FT_Stroker           stroker,
@@ -260,16 +313,15 @@ FT_BEGIN_HEADER
                   FT_Fixed             miter_limit );
 
 
-  /**************************************************************
+  /**************************************************************************
    *
    * @function:
    *   FT_Stroker_Rewind
    *
    * @description:
-   *   Reset a stroker object without changing its attributes.
-   *   You should call this function before beginning a new
-   *   series of calls to @FT_Stroker_BeginSubPath or
-   *   @FT_Stroker_EndSubPath.
+   *   Reset a stroker object without changing its attributes.  You should
+   *   call this function before beginning a new series of calls to
+   *   @FT_Stroker_BeginSubPath or @FT_Stroker_EndSubPath.
    *
    * @input:
    *   stroker ::
@@ -279,15 +331,15 @@ FT_BEGIN_HEADER
   FT_Stroker_Rewind( FT_Stroker  stroker );
 
 
-  /**************************************************************
+  /**************************************************************************
    *
    * @function:
    *   FT_Stroker_ParseOutline
    *
    * @description:
-   *   A convenience function used to parse a whole outline with
-   *   the stroker.  The resulting outline(s) can be retrieved
-   *   later by functions like @FT_Stroker_GetCounts and @FT_Stroker_Export.
+   *   A convenience function used to parse a whole outline with the stroker.
+   *   The resulting outline(s) can be retrieved later by functions like
+   *   @FT_Stroker_GetCounts and @FT_Stroker_Export.
    *
    * @input:
    *   stroker ::
@@ -297,18 +349,18 @@ FT_BEGIN_HEADER
    *     The source outline.
    *
    *   opened ::
-   *     A boolean.  If 1, the outline is treated as an open path instead
-   *     of a closed one.
+   *     A boolean.  If~1, the outline is treated as an open path instead of
+   *     a closed one.
    *
    * @return:
-   *   FreeType error code.  0 means success.
+   *   FreeType error code.  0~means success.
    *
    * @note:
-   *   If `opened' is 0 (the default), the outline is treated as a closed
-   *   path, and the stroker will generate two distinct `border' outlines.
+   *   If `opened` is~0 (the default), the outline is treated as a closed
+   *   path, and the stroker generates two distinct 'border' outlines.
    *
-   *   If `opened' is 1, the outline is processed as an open path, and the
-   *   stroker will generate a single `stroke' outline.
+   *   If `opened` is~1, the outline is processed as an open path, and the
+   *   stroker generates a single 'stroke' outline.
    *
    *   This function calls @FT_Stroker_Rewind automatically.
    */
@@ -318,7 +370,7 @@ FT_BEGIN_HEADER
                            FT_Bool      opened );
 
 
-  /**************************************************************
+  /**************************************************************************
    *
    * @function:
    *   FT_Stroker_BeginSubPath
@@ -334,14 +386,14 @@ FT_BEGIN_HEADER
    *     A pointer to the start vector.
    *
    *   open ::
-   *     A boolean.  If 1, the sub-path is treated as an open one.
+   *     A boolean.  If~1, the sub-path is treated as an open one.
    *
    * @return:
-   *   FreeType error code.  0 means success.
+   *   FreeType error code.  0~means success.
    *
    * @note:
-   *   This function is useful when you need to stroke a path that is
-   *   not stored as an @FT_Outline object.
+   *   This function is useful when you need to stroke a path that is not
+   *   stored as an @FT_Outline object.
    */
   FT_EXPORT( FT_Error )
   FT_Stroker_BeginSubPath( FT_Stroker  stroker,
@@ -349,7 +401,7 @@ FT_BEGIN_HEADER
                            FT_Bool     open );
 
 
-  /**************************************************************
+  /**************************************************************************
    *
    * @function:
    *   FT_Stroker_EndSubPath
@@ -362,25 +414,25 @@ FT_BEGIN_HEADER
    *     The target stroker handle.
    *
    * @return:
-   *   FreeType error code.  0 means success.
+   *   FreeType error code.  0~means success.
    *
    * @note:
-   *   You should call this function after @FT_Stroker_BeginSubPath.
-   *   If the subpath was not `opened', this function will `draw' a
-   *   single line segment to the start position when needed.
+   *   You should call this function after @FT_Stroker_BeginSubPath.  If the
+   *   subpath was not 'opened', this function 'draws' a single line segment
+   *   to the start position when needed.
    */
   FT_EXPORT( FT_Error )
   FT_Stroker_EndSubPath( FT_Stroker  stroker );
 
 
-  /**************************************************************
+  /**************************************************************************
    *
    * @function:
    *   FT_Stroker_LineTo
    *
    * @description:
-   *   `Draw' a single line segment in the stroker's current sub-path,
-   *   from the last position.
+   *   'Draw' a single line segment in the stroker's current sub-path, from
+   *   the last position.
    *
    * @input:
    *   stroker ::
@@ -390,7 +442,7 @@ FT_BEGIN_HEADER
    *     A pointer to the destination point.
    *
    * @return:
-   *   FreeType error code.  0 means success.
+   *   FreeType error code.  0~means success.
    *
    * @note:
    *   You should call this function between @FT_Stroker_BeginSubPath and
@@ -401,13 +453,13 @@ FT_BEGIN_HEADER
                      FT_Vector*  to );
 
 
-  /**************************************************************
+  /**************************************************************************
    *
    * @function:
    *   FT_Stroker_ConicTo
    *
    * @description:
-   *   `Draw' a single quadratic Bézier in the stroker's current sub-path,
+   *   'Draw' a single quadratic Bezier in the stroker's current sub-path,
    *   from the last position.
    *
    * @input:
@@ -415,13 +467,13 @@ FT_BEGIN_HEADER
    *     The target stroker handle.
    *
    *   control ::
-   *     A pointer to a Bézier control point.
+   *     A pointer to a Bezier control point.
    *
    *   to ::
    *     A pointer to the destination point.
    *
    * @return:
-   *   FreeType error code.  0 means success.
+   *   FreeType error code.  0~means success.
    *
    * @note:
    *   You should call this function between @FT_Stroker_BeginSubPath and
@@ -433,30 +485,30 @@ FT_BEGIN_HEADER
                       FT_Vector*  to );
 
 
-  /**************************************************************
+  /**************************************************************************
    *
    * @function:
    *   FT_Stroker_CubicTo
    *
    * @description:
-   *   `Draw' a single cubic Bézier in the stroker's current sub-path,
-   *   from the last position.
+   *   'Draw' a single cubic Bezier in the stroker's current sub-path, from
+   *   the last position.
    *
    * @input:
    *   stroker ::
    *     The target stroker handle.
    *
    *   control1 ::
-   *     A pointer to the first Bézier control point.
+   *     A pointer to the first Bezier control point.
    *
    *   control2 ::
-   *     A pointer to second Bézier control point.
+   *     A pointer to second Bezier control point.
    *
    *   to ::
    *     A pointer to the destination point.
    *
    * @return:
-   *   FreeType error code.  0 means success.
+   *   FreeType error code.  0~means success.
    *
    * @note:
    *   You should call this function between @FT_Stroker_BeginSubPath and
@@ -469,16 +521,16 @@ FT_BEGIN_HEADER
                       FT_Vector*  to );
 
 
-  /**************************************************************
+  /**************************************************************************
    *
    * @function:
    *   FT_Stroker_GetBorderCounts
    *
    * @description:
-   *   Call this function once you have finished parsing your paths
-   *   with the stroker.  It will return the number of points and
-   *   contours necessary to export one of the `border' or `stroke'
-   *   outlines generated by the stroker.
+   *   Call this function once you have finished parsing your paths with the
+   *   stroker.  It returns the number of points and contours necessary to
+   *   export one of the 'border' or 'stroke' outlines generated by the
+   *   stroker.
    *
    * @input:
    *   stroker ::
@@ -495,18 +547,18 @@ FT_BEGIN_HEADER
    *     The number of contours.
    *
    * @return:
-   *   FreeType error code.  0 means success.
+   *   FreeType error code.  0~means success.
    *
    * @note:
-   *   When an outline, or a sub-path, is `closed', the stroker generates
-   *   two independent `border' outlines, named `left' and `right'.
+   *   When an outline, or a sub-path, is 'closed', the stroker generates two
+   *   independent 'border' outlines, named 'left' and 'right'.
    *
-   *   When the outline, or a sub-path, is `opened', the stroker merges
-   *   the `border' outlines with caps.  The `left' border receives all
-   *   points, while the `right' border becomes empty.
+   *   When the outline, or a sub-path, is 'opened', the stroker merges the
+   *   'border' outlines with caps.  The 'left' border receives all points,
+   *   while the 'right' border becomes empty.
    *
-   *   Use the function @FT_Stroker_GetCounts instead if you want to
-   *   retrieve the counts associated to both borders.
+   *   Use the function @FT_Stroker_GetCounts instead if you want to retrieve
+   *   the counts associated to both borders.
    */
   FT_EXPORT( FT_Error )
   FT_Stroker_GetBorderCounts( FT_Stroker        stroker,
@@ -515,19 +567,17 @@ FT_BEGIN_HEADER
                               FT_UInt          *anum_contours );
 
 
-  /**************************************************************
+  /**************************************************************************
    *
    * @function:
    *   FT_Stroker_ExportBorder
    *
    * @description:
-   *   Call this function after @FT_Stroker_GetBorderCounts to
-   *   export the corresponding border to your own @FT_Outline
-   *   structure.
+   *   Call this function after @FT_Stroker_GetBorderCounts to export the
+   *   corresponding border to your own @FT_Outline structure.
    *
-   *   Note that this function will append the border points and
-   *   contours to your outline, but will not try to resize its
-   *   arrays.
+   *   Note that this function appends the border points and contours to your
+   *   outline, but does not try to resize its arrays.
    *
    * @input:
    *   stroker ::
@@ -540,19 +590,19 @@ FT_BEGIN_HEADER
    *     The target outline handle.
    *
    * @note:
-   *   Always call this function after @FT_Stroker_GetBorderCounts to
-   *   get sure that there is enough room in your @FT_Outline object to
-   *   receive all new data.
+   *   Always call this function after @FT_Stroker_GetBorderCounts to get
+   *   sure that there is enough room in your @FT_Outline object to receive
+   *   all new data.
    *
-   *   When an outline, or a sub-path, is `closed', the stroker generates
-   *   two independent `border' outlines, named `left' and `right'
+   *   When an outline, or a sub-path, is 'closed', the stroker generates two
+   *   independent 'border' outlines, named 'left' and 'right'.
    *
-   *   When the outline, or a sub-path, is `opened', the stroker merges
-   *   the `border' outlines with caps. The `left' border receives all
-   *   points, while the `right' border becomes empty.
+   *   When the outline, or a sub-path, is 'opened', the stroker merges the
+   *   'border' outlines with caps.  The 'left' border receives all points,
+   *   while the 'right' border becomes empty.
    *
-   *   Use the function @FT_Stroker_Export instead if you want to
-   *   retrieve all borders at once.
+   *   Use the function @FT_Stroker_Export instead if you want to retrieve
+   *   all borders at once.
    */
   FT_EXPORT( void )
   FT_Stroker_ExportBorder( FT_Stroker        stroker,
@@ -560,16 +610,15 @@ FT_BEGIN_HEADER
                            FT_Outline*       outline );
 
 
-  /**************************************************************
+  /**************************************************************************
    *
    * @function:
    *   FT_Stroker_GetCounts
    *
    * @description:
-   *   Call this function once you have finished parsing your paths
-   *   with the stroker.  It returns the number of points and
-   *   contours necessary to export all points/borders from the stroked
-   *   outline/path.
+   *   Call this function once you have finished parsing your paths with the
+   *   stroker.  It returns the number of points and contours necessary to
+   *   export all points/borders from the stroked outline/path.
    *
    * @input:
    *   stroker ::
@@ -583,7 +632,7 @@ FT_BEGIN_HEADER
    *     The number of contours.
    *
    * @return:
-   *   FreeType error code.  0 means success.
+   *   FreeType error code.  0~means success.
    */
   FT_EXPORT( FT_Error )
   FT_Stroker_GetCounts( FT_Stroker  stroker,
@@ -591,18 +640,17 @@ FT_BEGIN_HEADER
                         FT_UInt    *anum_contours );
 
 
-  /**************************************************************
+  /**************************************************************************
    *
    * @function:
    *   FT_Stroker_Export
    *
    * @description:
-   *   Call this function after @FT_Stroker_GetBorderCounts to
-   *   export the all borders to your own @FT_Outline structure.
+   *   Call this function after @FT_Stroker_GetBorderCounts to export all
+   *   borders to your own @FT_Outline structure.
    *
-   *   Note that this function will append the border points and
-   *   contours to your outline, but will not try to resize its
-   *   arrays.
+   *   Note that this function appends the border points and contours to your
+   *   outline, but does not try to resize its arrays.
    *
    * @input:
    *   stroker ::
@@ -616,7 +664,7 @@ FT_BEGIN_HEADER
                      FT_Outline*  outline );
 
 
-  /**************************************************************
+  /**************************************************************************
    *
    * @function:
    *   FT_Stroker_Done
@@ -626,13 +674,13 @@ FT_BEGIN_HEADER
    *
    * @input:
    *   stroker ::
-   *     A stroker handle.  Can be NULL.
+   *     A stroker handle.  Can be `NULL`.
    */
   FT_EXPORT( void )
   FT_Stroker_Done( FT_Stroker  stroker );
 
 
-  /**************************************************************
+  /**************************************************************************
    *
    * @function:
    *   FT_Glyph_Stroke
@@ -649,14 +697,18 @@ FT_BEGIN_HEADER
    *     A stroker handle.
    *
    *   destroy ::
-   *     A Boolean.  If 1, the source glyph object is destroyed
-   *     on success.
+   *     A Boolean.  If~1, the source glyph object is destroyed on success.
    *
    * @return:
-   *    FreeType error code.  0 means success.
+   *    FreeType error code.  0~means success.
    *
    * @note:
    *   The source glyph is untouched in case of error.
+   *
+   *   Adding stroke may yield a significantly wider and taller glyph
+   *   depending on how large of a radius was used to stroke the glyph.  You
+   *   may need to manually adjust horizontal and vertical advance amounts to
+   *   account for this added size.
    */
   FT_EXPORT( FT_Error )
   FT_Glyph_Stroke( FT_Glyph    *pglyph,
@@ -664,14 +716,14 @@ FT_BEGIN_HEADER
                    FT_Bool      destroy );
 
 
-  /**************************************************************
+  /**************************************************************************
    *
    * @function:
    *   FT_Glyph_StrokeBorder
    *
    * @description:
-   *   Stroke a given outline glyph object with a given stroker, but
-   *   only return either its inside or outside border.
+   *   Stroke a given outline glyph object with a given stroker, but only
+   *   return either its inside or outside border.
    *
    * @inout:
    *   pglyph ::
@@ -682,18 +734,22 @@ FT_BEGIN_HEADER
    *     A stroker handle.
    *
    *   inside ::
-   *     A Boolean.  If 1, return the inside border, otherwise
-   *     the outside border.
+   *     A Boolean.  If~1, return the inside border, otherwise the outside
+   *     border.
    *
    *   destroy ::
-   *     A Boolean.  If 1, the source glyph object is destroyed
-   *     on success.
+   *     A Boolean.  If~1, the source glyph object is destroyed on success.
    *
    * @return:
-   *    FreeType error code.  0 means success.
+   *    FreeType error code.  0~means success.
    *
    * @note:
    *   The source glyph is untouched in case of error.
+   *
+   *   Adding stroke may yield a significantly wider and taller glyph
+   *   depending on how large of a radius was used to stroke the glyph.  You
+   *   may need to manually adjust horizontal and vertical advance amounts to
+   *   account for this added size.
    */
   FT_EXPORT( FT_Error )
   FT_Glyph_StrokeBorder( FT_Glyph    *pglyph,
@@ -701,11 +757,11 @@ FT_BEGIN_HEADER
                          FT_Bool      inside,
                          FT_Bool      destroy );
 
- /* */
+  /* */
 
 FT_END_HEADER
 
-#endif /* __FT_STROKE_H__ */
+#endif /* FTSTROKE_H_ */
 
 
 /* END */
diff --git a/CMU462/deps/freetype/include/freetype/ftsynth.h b/CMU462/deps/freetype/include/freetype/ftsynth.h
new file mode 100644
index 0000000..8754f97
--- /dev/null
+++ b/CMU462/deps/freetype/include/freetype/ftsynth.h
@@ -0,0 +1,84 @@
+/****************************************************************************
+ *
+ * ftsynth.h
+ *
+ *   FreeType synthesizing code for emboldening and slanting
+ *   (specification).
+ *
+ * Copyright (C) 2000-2019 by
+ * David Turner, Robert Wilhelm, and Werner Lemberg.
+ *
+ * This file is part of the FreeType project, and may only be used,
+ * modified, and distributed under the terms of the FreeType project
+ * license, LICENSE.TXT.  By continuing to use, modify, or distribute
+ * this file you indicate that you have read the license and
+ * understand and accept it fully.
+ *
+ */
+
+
+  /*************************************************************************/
+  /*************************************************************************/
+  /*************************************************************************/
+  /*************************************************************************/
+  /*************************************************************************/
+  /*********                                                       *********/
+  /*********        WARNING, THIS IS ALPHA CODE!  THIS API         *********/
+  /*********    IS DUE TO CHANGE UNTIL STRICTLY NOTIFIED BY THE    *********/
+  /*********            FREETYPE DEVELOPMENT TEAM                  *********/
+  /*********                                                       *********/
+  /*************************************************************************/
+  /*************************************************************************/
+  /*************************************************************************/
+  /*************************************************************************/
+  /*************************************************************************/
+
+
+  /* Main reason for not lifting the functions in this module to a  */
+  /* 'standard' API is that the used parameters for emboldening and */
+  /* slanting are not configurable.  Consider the functions as a    */
+  /* code resource that should be copied into the application and   */
+  /* adapted to the particular needs.                               */
+
+
+#ifndef FTSYNTH_H_
+#define FTSYNTH_H_
+
+
+#include <ft2build.h>
+#include FT_FREETYPE_H
+
+#ifdef FREETYPE_H
+#error "freetype.h of FreeType 1 has been loaded!"
+#error "Please fix the directory search order for header files"
+#error "so that freetype.h of FreeType 2 is found first."
+#endif
+
+
+FT_BEGIN_HEADER
+
+  /* Embolden a glyph by a 'reasonable' value (which is highly a matter of */
+  /* taste).  This function is actually a convenience function, providing  */
+  /* a wrapper for @FT_Outline_Embolden and @FT_Bitmap_Embolden.           */
+  /*                                                                       */
+  /* For emboldened outlines the height, width, and advance metrics are    */
+  /* increased by the strength of the emboldening -- this even affects     */
+  /* mono-width fonts!                                                     */
+  /*                                                                       */
+  /* You can also call @FT_Outline_Get_CBox to get precise values.         */
+  FT_EXPORT( void )
+  FT_GlyphSlot_Embolden( FT_GlyphSlot  slot );
+
+  /* Slant an outline glyph to the right by about 12 degrees. */
+  FT_EXPORT( void )
+  FT_GlyphSlot_Oblique( FT_GlyphSlot  slot );
+
+  /* */
+
+
+FT_END_HEADER
+
+#endif /* FTSYNTH_H_ */
+
+
+/* END */
diff --git a/CMU462/deps/freetype/include/freetype2/freetype/ftsystem.h b/CMU462/deps/freetype/include/freetype/ftsystem.h
old mode 100755
new mode 100644
similarity index 61%
rename from CMU462/deps/freetype/include/freetype2/freetype/ftsystem.h
rename to CMU462/deps/freetype/include/freetype/ftsystem.h
index 59cd019..889a6ba
--- a/CMU462/deps/freetype/include/freetype2/freetype/ftsystem.h
+++ b/CMU462/deps/freetype/include/freetype/ftsystem.h
@@ -1,23 +1,23 @@
-/***************************************************************************/
-/*                                                                         */
-/*  ftsystem.h                                                             */
-/*                                                                         */
-/*    FreeType low-level system interface definition (specification).      */
-/*                                                                         */
-/*  Copyright 1996-2001, 2002, 2005 by                                     */
-/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
-/*                                                                         */
-/*  This file is part of the FreeType project, and may only be used,       */
-/*  modified, and distributed under the terms of the FreeType project      */
-/*  license, LICENSE.TXT.  By continuing to use, modify, or distribute     */
-/*  this file you indicate that you have read the license and              */
-/*  understand and accept it fully.                                        */
-/*                                                                         */
-/***************************************************************************/
-
-
-#ifndef __FTSYSTEM_H__
-#define __FTSYSTEM_H__
+/****************************************************************************
+ *
+ * ftsystem.h
+ *
+ *   FreeType low-level system interface definition (specification).
+ *
+ * Copyright (C) 1996-2019 by
+ * David Turner, Robert Wilhelm, and Werner Lemberg.
+ *
+ * This file is part of the FreeType project, and may only be used,
+ * modified, and distributed under the terms of the FreeType project
+ * license, LICENSE.TXT.  By continuing to use, modify, or distribute
+ * this file you indicate that you have read the license and
+ * understand and accept it fully.
+ *
+ */
+
+
+#ifndef FTSYSTEM_H_
+#define FTSYSTEM_H_
 
 
 #include <ft2build.h>
@@ -26,34 +26,33 @@
 FT_BEGIN_HEADER
 
 
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Section>                                                             */
-  /*   system_interface                                                    */
-  /*                                                                       */
-  /* <Title>                                                               */
-  /*   System Interface                                                    */
-  /*                                                                       */
-  /* <Abstract>                                                            */
-  /*   How FreeType manages memory and i/o.                                */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*   This section contains various definitions related to memory         */
-  /*   management and i/o access.  You need to understand this             */
-  /*   information if you want to use a custom memory manager or you own   */
-  /*   i/o streams.                                                        */
-  /*                                                                       */
-  /*************************************************************************/
+  /**************************************************************************
+   *
+   * @section:
+   *  system_interface
+   *
+   * @title:
+   *  System Interface
+   *
+   * @abstract:
+   *  How FreeType manages memory and i/o.
+   *
+   * @description:
+   *  This section contains various definitions related to memory management
+   *  and i/o access.  You need to understand this information if you want to
+   *  use a custom memory manager or you own i/o streams.
+   *
+   */
 
 
-  /*************************************************************************/
-  /*                                                                       */
-  /*                  M E M O R Y   M A N A G E M E N T                    */
-  /*                                                                       */
-  /*************************************************************************/
+  /**************************************************************************
+   *
+   *                 M E M O R Y   M A N A G E M E N T
+   *
+   */
 
 
-  /*************************************************************************
+  /**************************************************************************
    *
    * @type:
    *   FT_Memory
@@ -66,13 +65,13 @@ FT_BEGIN_HEADER
   typedef struct FT_MemoryRec_*  FT_Memory;
 
 
-  /*************************************************************************
+  /**************************************************************************
    *
    * @functype:
    *   FT_Alloc_Func
    *
    * @description:
-   *   A function used to allocate `size' bytes from `memory'.
+   *   A function used to allocate `size` bytes from `memory`.
    *
    * @input:
    *   memory ::
@@ -82,7 +81,7 @@ FT_BEGIN_HEADER
    *     The size in bytes to allocate.
    *
    * @return:
-   *   Address of new memory block.  0 in case of failure.
+   *   Address of new memory block.  0~in case of failure.
    *
    */
   typedef void*
@@ -90,7 +89,7 @@ FT_BEGIN_HEADER
                     long       size );
 
 
-  /*************************************************************************
+  /**************************************************************************
    *
    * @functype:
    *   FT_Free_Func
@@ -111,7 +110,7 @@ FT_BEGIN_HEADER
                    void*      block );
 
 
-  /*************************************************************************
+  /**************************************************************************
    *
    * @functype:
    *   FT_Realloc_Func
@@ -133,7 +132,7 @@ FT_BEGIN_HEADER
    *     The block's current address.
    *
    * @return:
-   *   New block address.  0 in case of memory shortage.
+   *   New block address.  0~in case of memory shortage.
    *
    * @note:
    *   In case of error, the old block must still be available.
@@ -146,13 +145,13 @@ FT_BEGIN_HEADER
                       void*      block );
 
 
-  /*************************************************************************
+  /**************************************************************************
    *
    * @struct:
    *   FT_MemoryRec
    *
    * @description:
-   *   A structure used to describe a given memory manager to FreeType 2.
+   *   A structure used to describe a given memory manager to FreeType~2.
    *
    * @fields:
    *   user ::
@@ -177,14 +176,14 @@ FT_BEGIN_HEADER
   };
 
 
-  /*************************************************************************/
-  /*                                                                       */
-  /*                       I / O   M A N A G E M E N T                     */
-  /*                                                                       */
-  /*************************************************************************/
+  /**************************************************************************
+   *
+   *                      I / O   M A N A G E M E N T
+   *
+   */
 
 
-  /*************************************************************************
+  /**************************************************************************
    *
    * @type:
    *   FT_Stream
@@ -192,18 +191,22 @@ FT_BEGIN_HEADER
    * @description:
    *   A handle to an input stream.
    *
+   * @also:
+   *   See @FT_StreamRec for the publicly accessible fields of a given stream
+   *   object.
+   *
    */
   typedef struct FT_StreamRec_*  FT_Stream;
 
 
-  /*************************************************************************
+  /**************************************************************************
    *
    * @struct:
    *   FT_StreamDesc
    *
    * @description:
    *   A union type used to store either a long or a pointer.  This is used
-   *   to store a file descriptor or a `FILE*' in an input stream.
+   *   to store a file descriptor or a `FILE*` in an input stream.
    *
    */
   typedef union  FT_StreamDesc_
@@ -214,7 +217,7 @@ FT_BEGIN_HEADER
   } FT_StreamDesc;
 
 
-  /*************************************************************************
+  /**************************************************************************
    *
    * @functype:
    *   FT_Stream_IoFunc
@@ -239,8 +242,8 @@ FT_BEGIN_HEADER
    *   The number of bytes effectively read by the stream.
    *
    * @note:
-   *   This function might be called to perform a seek or skip operation
-   *   with a `count' of 0.
+   *   This function might be called to perform a seek or skip operation with
+   *   a `count` of~0.  A non-zero return value then indicates an error.
    *
    */
   typedef unsigned long
@@ -250,7 +253,7 @@ FT_BEGIN_HEADER
                        unsigned long   count );
 
 
-  /*************************************************************************
+  /**************************************************************************
    *
    * @functype:
    *   FT_Stream_CloseFunc
@@ -260,14 +263,14 @@ FT_BEGIN_HEADER
    *
    * @input:
    *  stream ::
-   *     A handle to the target stream.
+   *    A handle to the target stream.
    *
    */
   typedef void
   (*FT_Stream_CloseFunc)( FT_Stream  stream );
 
 
-  /*************************************************************************
+  /**************************************************************************
    *
    * @struct:
    *   FT_StreamRec
@@ -278,18 +281,23 @@ FT_BEGIN_HEADER
    * @input:
    *   base ::
    *     For memory-based streams, this is the address of the first stream
-   *     byte in memory.  This field should always be set to NULL for
+   *     byte in memory.  This field should always be set to `NULL` for
    *     disk-based streams.
    *
    *   size ::
    *     The stream size in bytes.
    *
+   *     In case of compressed streams where the size is unknown before
+   *     actually doing the decompression, the value is set to 0x7FFFFFFF.
+   *     (Note that this size value can occur for normal streams also; it is
+   *     thus just a hint.)
+   *
    *   pos ::
    *     The current position within the stream.
    *
    *   descriptor ::
    *     This field is a union that can hold an integer or a pointer.  It is
-   *     used by stream implementations to store file descriptors or `FILE*'
+   *     used by stream implementations to store file descriptors or `FILE*`
    *     pointers.
    *
    *   pathname ::
@@ -301,16 +309,16 @@ FT_BEGIN_HEADER
    *     The stream's input function.
    *
    *   close ::
-   *     The stream;s close function.
+   *     The stream's close function.
    *
    *   memory ::
-   *     The memory manager to use to preload frames.  This is set
-   *     internally by FreeType and shouldn't be touched by stream
-   *     implementations.
+   *     The memory manager to use to preload frames.  This is set internally
+   *     by FreeType and shouldn't be touched by stream implementations.
    *
    *   cursor ::
    *     This field is set and used internally by FreeType when parsing
-   *     frames.
+   *     frames.  In particular, the `FT_GET_XXX` macros use this instead of
+   *     the `pos` field.
    *
    *   limit ::
    *     This field is set and used internally by FreeType when parsing
@@ -334,13 +342,12 @@ FT_BEGIN_HEADER
 
   } FT_StreamRec;
 
-
   /* */
 
 
 FT_END_HEADER
 
-#endif /* __FTSYSTEM_H__ */
+#endif /* FTSYSTEM_H_ */
 
 
 /* END */
diff --git a/CMU462/deps/freetype/include/freetype2/freetype/fttrigon.h b/CMU462/deps/freetype/include/freetype/fttrigon.h
old mode 100755
new mode 100644
similarity index 72%
rename from CMU462/deps/freetype/include/freetype2/freetype/fttrigon.h
rename to CMU462/deps/freetype/include/freetype/fttrigon.h
index 6b77d2e..37e1412
--- a/CMU462/deps/freetype/include/freetype2/freetype/fttrigon.h
+++ b/CMU462/deps/freetype/include/freetype/fttrigon.h
@@ -1,23 +1,23 @@
-/***************************************************************************/
-/*                                                                         */
-/*  fttrigon.h                                                             */
-/*                                                                         */
-/*    FreeType trigonometric functions (specification).                    */
-/*                                                                         */
-/*  Copyright 2001, 2003, 2005, 2007 by                                    */
-/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
-/*                                                                         */
-/*  This file is part of the FreeType project, and may only be used,       */
-/*  modified, and distributed under the terms of the FreeType project      */
-/*  license, LICENSE.TXT.  By continuing to use, modify, or distribute     */
-/*  this file you indicate that you have read the license and              */
-/*  understand and accept it fully.                                        */
-/*                                                                         */
-/***************************************************************************/
-
-
-#ifndef __FTTRIGON_H__
-#define __FTTRIGON_H__
+/****************************************************************************
+ *
+ * fttrigon.h
+ *
+ *   FreeType trigonometric functions (specification).
+ *
+ * Copyright (C) 2001-2019 by
+ * David Turner, Robert Wilhelm, and Werner Lemberg.
+ *
+ * This file is part of the FreeType project, and may only be used,
+ * modified, and distributed under the terms of the FreeType project
+ * license, LICENSE.TXT.  By continuing to use, modify, or distribute
+ * this file you indicate that you have read the license and
+ * understand and accept it fully.
+ *
+ */
+
+
+#ifndef FTTRIGON_H_
+#define FTTRIGON_H_
 
 #include FT_FREETYPE_H
 
@@ -31,28 +31,28 @@
 FT_BEGIN_HEADER
 
 
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Section>                                                             */
-  /*   computations                                                        */
-  /*                                                                       */
-  /*************************************************************************/
+  /**************************************************************************
+   *
+   * @section:
+   *  computations
+   *
+   */
 
 
-  /*************************************************************************
+  /**************************************************************************
    *
    * @type:
    *   FT_Angle
    *
    * @description:
    *   This type is used to model angle values in FreeType.  Note that the
-   *   angle is a 16.16 fixed float value expressed in degrees.
+   *   angle is a 16.16 fixed-point value expressed in degrees.
    *
    */
   typedef FT_Fixed  FT_Angle;
 
 
-  /*************************************************************************
+  /**************************************************************************
    *
    * @macro:
    *   FT_ANGLE_PI
@@ -64,7 +64,7 @@ FT_BEGIN_HEADER
 #define FT_ANGLE_PI  ( 180L << 16 )
 
 
-  /*************************************************************************
+  /**************************************************************************
    *
    * @macro:
    *   FT_ANGLE_2PI
@@ -76,7 +76,7 @@ FT_BEGIN_HEADER
 #define FT_ANGLE_2PI  ( FT_ANGLE_PI * 2 )
 
 
-  /*************************************************************************
+  /**************************************************************************
    *
    * @macro:
    *   FT_ANGLE_PI2
@@ -88,7 +88,7 @@ FT_BEGIN_HEADER
 #define FT_ANGLE_PI2  ( FT_ANGLE_PI / 2 )
 
 
-  /*************************************************************************
+  /**************************************************************************
    *
    * @macro:
    *   FT_ANGLE_PI4
@@ -100,13 +100,13 @@ FT_BEGIN_HEADER
 #define FT_ANGLE_PI4  ( FT_ANGLE_PI / 4 )
 
 
-  /*************************************************************************
+  /**************************************************************************
    *
    * @function:
    *   FT_Sin
    *
    * @description:
-   *   Return the sinus of a given angle in fixed point format.
+   *   Return the sinus of a given angle in fixed-point format.
    *
    * @input:
    *   angle ::
@@ -124,13 +124,13 @@ FT_BEGIN_HEADER
   FT_Sin( FT_Angle  angle );
 
 
-  /*************************************************************************
+  /**************************************************************************
    *
    * @function:
    *   FT_Cos
    *
    * @description:
-   *   Return the cosinus of a given angle in fixed point format.
+   *   Return the cosinus of a given angle in fixed-point format.
    *
    * @input:
    *   angle ::
@@ -148,13 +148,13 @@ FT_BEGIN_HEADER
   FT_Cos( FT_Angle  angle );
 
 
-  /*************************************************************************
+  /**************************************************************************
    *
    * @function:
    *   FT_Tan
    *
    * @description:
-   *   Return the tangent of a given angle in fixed point format.
+   *   Return the tangent of a given angle in fixed-point format.
    *
    * @input:
    *   angle ::
@@ -168,14 +168,14 @@ FT_BEGIN_HEADER
   FT_Tan( FT_Angle  angle );
 
 
-  /*************************************************************************
+  /**************************************************************************
    *
    * @function:
    *   FT_Atan2
    *
    * @description:
-   *   Return the arc-tangent corresponding to a given vector (x,y) in
-   *   the 2d plane.
+   *   Return the arc-tangent corresponding to a given vector (x,y) in the 2d
+   *   plane.
    *
    * @input:
    *   x ::
@@ -193,7 +193,7 @@ FT_BEGIN_HEADER
             FT_Fixed  y );
 
 
-  /*************************************************************************
+  /**************************************************************************
    *
    * @function:
    *   FT_Angle_Diff
@@ -210,7 +210,7 @@ FT_BEGIN_HEADER
    *     Second angle.
    *
    * @return:
-   *   Constrained value of `value2-value1'.
+   *   Constrained value of `angle2-angle1`.
    *
    */
   FT_EXPORT( FT_Angle )
@@ -218,15 +218,15 @@ FT_BEGIN_HEADER
                  FT_Angle  angle2 );
 
 
-  /*************************************************************************
+  /**************************************************************************
    *
    * @function:
    *   FT_Vector_Unit
    *
    * @description:
    *   Return the unit vector corresponding to a given angle.  After the
-   *   call, the value of `vec.x' will be `sin(angle)', and the value of
-   *   `vec.y' will be `cos(angle)'.
+   *   call, the value of `vec.x` will be `cos(angle)`, and the value of
+   *   `vec.y` will be `sin(angle)`.
    *
    *   This function is useful to retrieve both the sinus and cosinus of a
    *   given angle quickly.
@@ -237,7 +237,7 @@ FT_BEGIN_HEADER
    *
    * @input:
    *   angle ::
-   *     The address of angle.
+   *     The input angle.
    *
    */
   FT_EXPORT( void )
@@ -245,7 +245,7 @@ FT_BEGIN_HEADER
                   FT_Angle    angle );
 
 
-  /*************************************************************************
+  /**************************************************************************
    *
    * @function:
    *   FT_Vector_Rotate
@@ -259,7 +259,7 @@ FT_BEGIN_HEADER
    *
    * @input:
    *   angle ::
-   *     The address of angle.
+   *     The input angle.
    *
    */
   FT_EXPORT( void )
@@ -267,7 +267,7 @@ FT_BEGIN_HEADER
                     FT_Angle    angle );
 
 
-  /*************************************************************************
+  /**************************************************************************
    *
    * @function:
    *   FT_Vector_Length
@@ -288,7 +288,7 @@ FT_BEGIN_HEADER
   FT_Vector_Length( FT_Vector*  vec );
 
 
-  /*************************************************************************
+  /**************************************************************************
    *
    * @function:
    *   FT_Vector_Polarize
@@ -314,7 +314,7 @@ FT_BEGIN_HEADER
                       FT_Angle   *angle );
 
 
-  /*************************************************************************
+  /**************************************************************************
    *
    * @function:
    *   FT_Vector_From_Polar
@@ -344,7 +344,7 @@ FT_BEGIN_HEADER
 
 FT_END_HEADER
 
-#endif /* __FTTRIGON_H__ */
+#endif /* FTTRIGON_H_ */
 
 
 /* END */
diff --git a/CMU462/deps/freetype/include/freetype/fttypes.h b/CMU462/deps/freetype/include/freetype/fttypes.h
new file mode 100644
index 0000000..1057150
--- /dev/null
+++ b/CMU462/deps/freetype/include/freetype/fttypes.h
@@ -0,0 +1,615 @@
+/****************************************************************************
+ *
+ * fttypes.h
+ *
+ *   FreeType simple types definitions (specification only).
+ *
+ * Copyright (C) 1996-2019 by
+ * David Turner, Robert Wilhelm, and Werner Lemberg.
+ *
+ * This file is part of the FreeType project, and may only be used,
+ * modified, and distributed under the terms of the FreeType project
+ * license, LICENSE.TXT.  By continuing to use, modify, or distribute
+ * this file you indicate that you have read the license and
+ * understand and accept it fully.
+ *
+ */
+
+
+#ifndef FTTYPES_H_
+#define FTTYPES_H_
+
+
+#include <ft2build.h>
+#include FT_CONFIG_CONFIG_H
+#include FT_SYSTEM_H
+#include FT_IMAGE_H
+
+#include <stddef.h>
+
+
+FT_BEGIN_HEADER
+
+
+  /**************************************************************************
+   *
+   * @section:
+   *   basic_types
+   *
+   * @title:
+   *   Basic Data Types
+   *
+   * @abstract:
+   *   The basic data types defined by the library.
+   *
+   * @description:
+   *   This section contains the basic data types defined by FreeType~2,
+   *   ranging from simple scalar types to bitmap descriptors.  More
+   *   font-specific structures are defined in a different section.
+   *
+   * @order:
+   *   FT_Byte
+   *   FT_Bytes
+   *   FT_Char
+   *   FT_Int
+   *   FT_UInt
+   *   FT_Int16
+   *   FT_UInt16
+   *   FT_Int32
+   *   FT_UInt32
+   *   FT_Int64
+   *   FT_UInt64
+   *   FT_Short
+   *   FT_UShort
+   *   FT_Long
+   *   FT_ULong
+   *   FT_Bool
+   *   FT_Offset
+   *   FT_PtrDist
+   *   FT_String
+   *   FT_Tag
+   *   FT_Error
+   *   FT_Fixed
+   *   FT_Pointer
+   *   FT_Pos
+   *   FT_Vector
+   *   FT_BBox
+   *   FT_Matrix
+   *   FT_FWord
+   *   FT_UFWord
+   *   FT_F2Dot14
+   *   FT_UnitVector
+   *   FT_F26Dot6
+   *   FT_Data
+   *
+   *   FT_MAKE_TAG
+   *
+   *   FT_Generic
+   *   FT_Generic_Finalizer
+   *
+   *   FT_Bitmap
+   *   FT_Pixel_Mode
+   *   FT_Palette_Mode
+   *   FT_Glyph_Format
+   *   FT_IMAGE_TAG
+   *
+   */
+
+
+  /**************************************************************************
+   *
+   * @type:
+   *   FT_Bool
+   *
+   * @description:
+   *   A typedef of unsigned char, used for simple booleans.  As usual,
+   *   values 1 and~0 represent true and false, respectively.
+   */
+  typedef unsigned char  FT_Bool;
+
+
+  /**************************************************************************
+   *
+   * @type:
+   *   FT_FWord
+   *
+   * @description:
+   *   A signed 16-bit integer used to store a distance in original font
+   *   units.
+   */
+  typedef signed short  FT_FWord;   /* distance in FUnits */
+
+
+  /**************************************************************************
+   *
+   * @type:
+   *   FT_UFWord
+   *
+   * @description:
+   *   An unsigned 16-bit integer used to store a distance in original font
+   *   units.
+   */
+  typedef unsigned short  FT_UFWord;  /* unsigned distance */
+
+
+  /**************************************************************************
+   *
+   * @type:
+   *   FT_Char
+   *
+   * @description:
+   *   A simple typedef for the _signed_ char type.
+   */
+  typedef signed char  FT_Char;
+
+
+  /**************************************************************************
+   *
+   * @type:
+   *   FT_Byte
+   *
+   * @description:
+   *   A simple typedef for the _unsigned_ char type.
+   */
+  typedef unsigned char  FT_Byte;
+
+
+  /**************************************************************************
+   *
+   * @type:
+   *   FT_Bytes
+   *
+   * @description:
+   *   A typedef for constant memory areas.
+   */
+  typedef const FT_Byte*  FT_Bytes;
+
+
+  /**************************************************************************
+   *
+   * @type:
+   *   FT_Tag
+   *
+   * @description:
+   *   A typedef for 32-bit tags (as used in the SFNT format).
+   */
+  typedef FT_UInt32  FT_Tag;
+
+
+  /**************************************************************************
+   *
+   * @type:
+   *   FT_String
+   *
+   * @description:
+   *   A simple typedef for the char type, usually used for strings.
+   */
+  typedef char  FT_String;
+
+
+  /**************************************************************************
+   *
+   * @type:
+   *   FT_Short
+   *
+   * @description:
+   *   A typedef for signed short.
+   */
+  typedef signed short  FT_Short;
+
+
+  /**************************************************************************
+   *
+   * @type:
+   *   FT_UShort
+   *
+   * @description:
+   *   A typedef for unsigned short.
+   */
+  typedef unsigned short  FT_UShort;
+
+
+  /**************************************************************************
+   *
+   * @type:
+   *   FT_Int
+   *
+   * @description:
+   *   A typedef for the int type.
+   */
+  typedef signed int  FT_Int;
+
+
+  /**************************************************************************
+   *
+   * @type:
+   *   FT_UInt
+   *
+   * @description:
+   *   A typedef for the unsigned int type.
+   */
+  typedef unsigned int  FT_UInt;
+
+
+  /**************************************************************************
+   *
+   * @type:
+   *   FT_Long
+   *
+   * @description:
+   *   A typedef for signed long.
+   */
+  typedef signed long  FT_Long;
+
+
+  /**************************************************************************
+   *
+   * @type:
+   *   FT_ULong
+   *
+   * @description:
+   *   A typedef for unsigned long.
+   */
+  typedef unsigned long  FT_ULong;
+
+
+  /**************************************************************************
+   *
+   * @type:
+   *   FT_F2Dot14
+   *
+   * @description:
+   *   A signed 2.14 fixed-point type used for unit vectors.
+   */
+  typedef signed short  FT_F2Dot14;
+
+
+  /**************************************************************************
+   *
+   * @type:
+   *   FT_F26Dot6
+   *
+   * @description:
+   *   A signed 26.6 fixed-point type used for vectorial pixel coordinates.
+   */
+  typedef signed long  FT_F26Dot6;
+
+
+  /**************************************************************************
+   *
+   * @type:
+   *   FT_Fixed
+   *
+   * @description:
+   *   This type is used to store 16.16 fixed-point values, like scaling
+   *   values or matrix coefficients.
+   */
+  typedef signed long  FT_Fixed;
+
+
+  /**************************************************************************
+   *
+   * @type:
+   *   FT_Error
+   *
+   * @description:
+   *   The FreeType error code type.  A value of~0 is always interpreted as a
+   *   successful operation.
+   */
+  typedef int  FT_Error;
+
+
+  /**************************************************************************
+   *
+   * @type:
+   *   FT_Pointer
+   *
+   * @description:
+   *   A simple typedef for a typeless pointer.
+   */
+  typedef void*  FT_Pointer;
+
+
+  /**************************************************************************
+   *
+   * @type:
+   *   FT_Offset
+   *
+   * @description:
+   *   This is equivalent to the ANSI~C `size_t` type, i.e., the largest
+   *   _unsigned_ integer type used to express a file size or position, or a
+   *   memory block size.
+   */
+  typedef size_t  FT_Offset;
+
+
+  /**************************************************************************
+   *
+   * @type:
+   *   FT_PtrDist
+   *
+   * @description:
+   *   This is equivalent to the ANSI~C `ptrdiff_t` type, i.e., the largest
+   *   _signed_ integer type used to express the distance between two
+   *   pointers.
+   */
+  typedef ft_ptrdiff_t  FT_PtrDist;
+
+
+  /**************************************************************************
+   *
+   * @struct:
+   *   FT_UnitVector
+   *
+   * @description:
+   *   A simple structure used to store a 2D vector unit vector.  Uses
+   *   FT_F2Dot14 types.
+   *
+   * @fields:
+   *   x ::
+   *     Horizontal coordinate.
+   *
+   *   y ::
+   *     Vertical coordinate.
+   */
+  typedef struct  FT_UnitVector_
+  {
+    FT_F2Dot14  x;
+    FT_F2Dot14  y;
+
+  } FT_UnitVector;
+
+
+  /**************************************************************************
+   *
+   * @struct:
+   *   FT_Matrix
+   *
+   * @description:
+   *   A simple structure used to store a 2x2 matrix.  Coefficients are in
+   *   16.16 fixed-point format.  The computation performed is:
+   *
+   *   ```
+   *     x' = x*xx + y*xy
+   *     y' = x*yx + y*yy
+   *   ```
+   *
+   * @fields:
+   *   xx ::
+   *     Matrix coefficient.
+   *
+   *   xy ::
+   *     Matrix coefficient.
+   *
+   *   yx ::
+   *     Matrix coefficient.
+   *
+   *   yy ::
+   *     Matrix coefficient.
+   */
+  typedef struct  FT_Matrix_
+  {
+    FT_Fixed  xx, xy;
+    FT_Fixed  yx, yy;
+
+  } FT_Matrix;
+
+
+  /**************************************************************************
+   *
+   * @struct:
+   *   FT_Data
+   *
+   * @description:
+   *   Read-only binary data represented as a pointer and a length.
+   *
+   * @fields:
+   *   pointer ::
+   *     The data.
+   *
+   *   length ::
+   *     The length of the data in bytes.
+   */
+  typedef struct  FT_Data_
+  {
+    const FT_Byte*  pointer;
+    FT_Int          length;
+
+  } FT_Data;
+
+
+  /**************************************************************************
+   *
+   * @functype:
+   *   FT_Generic_Finalizer
+   *
+   * @description:
+   *   Describe a function used to destroy the 'client' data of any FreeType
+   *   object.  See the description of the @FT_Generic type for details of
+   *   usage.
+   *
+   * @input:
+   *   The address of the FreeType object that is under finalization.  Its
+   *   client data is accessed through its `generic` field.
+   */
+  typedef void  (*FT_Generic_Finalizer)( void*  object );
+
+
+  /**************************************************************************
+   *
+   * @struct:
+   *   FT_Generic
+   *
+   * @description:
+   *   Client applications often need to associate their own data to a
+   *   variety of FreeType core objects.  For example, a text layout API
+   *   might want to associate a glyph cache to a given size object.
+   *
+   *   Some FreeType object contains a `generic` field, of type `FT_Generic`,
+   *   which usage is left to client applications and font servers.
+   *
+   *   It can be used to store a pointer to client-specific data, as well as
+   *   the address of a 'finalizer' function, which will be called by
+   *   FreeType when the object is destroyed (for example, the previous
+   *   client example would put the address of the glyph cache destructor in
+   *   the `finalizer` field).
+   *
+   * @fields:
+   *   data ::
+   *     A typeless pointer to any client-specified data. This field is
+   *     completely ignored by the FreeType library.
+   *
+   *   finalizer ::
+   *     A pointer to a 'generic finalizer' function, which will be called
+   *     when the object is destroyed.  If this field is set to `NULL`, no
+   *     code will be called.
+   */
+  typedef struct  FT_Generic_
+  {
+    void*                 data;
+    FT_Generic_Finalizer  finalizer;
+
+  } FT_Generic;
+
+
+  /**************************************************************************
+   *
+   * @macro:
+   *   FT_MAKE_TAG
+   *
+   * @description:
+   *   This macro converts four-letter tags that are used to label TrueType
+   *   tables into an unsigned long, to be used within FreeType.
+   *
+   * @note:
+   *   The produced values **must** be 32-bit integers.  Don't redefine this
+   *   macro.
+   */
+#define FT_MAKE_TAG( _x1, _x2, _x3, _x4 ) \
+          (FT_Tag)                        \
+          ( ( (FT_ULong)_x1 << 24 ) |     \
+            ( (FT_ULong)_x2 << 16 ) |     \
+            ( (FT_ULong)_x3 <<  8 ) |     \
+              (FT_ULong)_x4         )
+
+
+  /*************************************************************************/
+  /*************************************************************************/
+  /*                                                                       */
+  /*                    L I S T   M A N A G E M E N T                      */
+  /*                                                                       */
+  /*************************************************************************/
+  /*************************************************************************/
+
+
+  /**************************************************************************
+   *
+   * @section:
+   *   list_processing
+   *
+   */
+
+
+  /**************************************************************************
+   *
+   * @type:
+   *   FT_ListNode
+   *
+   * @description:
+   *    Many elements and objects in FreeType are listed through an @FT_List
+   *    record (see @FT_ListRec).  As its name suggests, an FT_ListNode is a
+   *    handle to a single list element.
+   */
+  typedef struct FT_ListNodeRec_*  FT_ListNode;
+
+
+  /**************************************************************************
+   *
+   * @type:
+   *   FT_List
+   *
+   * @description:
+   *   A handle to a list record (see @FT_ListRec).
+   */
+  typedef struct FT_ListRec_*  FT_List;
+
+
+  /**************************************************************************
+   *
+   * @struct:
+   *   FT_ListNodeRec
+   *
+   * @description:
+   *   A structure used to hold a single list element.
+   *
+   * @fields:
+   *   prev ::
+   *     The previous element in the list.  `NULL` if first.
+   *
+   *   next ::
+   *     The next element in the list.  `NULL` if last.
+   *
+   *   data ::
+   *     A typeless pointer to the listed object.
+   */
+  typedef struct  FT_ListNodeRec_
+  {
+    FT_ListNode  prev;
+    FT_ListNode  next;
+    void*        data;
+
+  } FT_ListNodeRec;
+
+
+  /**************************************************************************
+   *
+   * @struct:
+   *   FT_ListRec
+   *
+   * @description:
+   *   A structure used to hold a simple doubly-linked list.  These are used
+   *   in many parts of FreeType.
+   *
+   * @fields:
+   *   head ::
+   *     The head (first element) of doubly-linked list.
+   *
+   *   tail ::
+   *     The tail (last element) of doubly-linked list.
+   */
+  typedef struct  FT_ListRec_
+  {
+    FT_ListNode  head;
+    FT_ListNode  tail;
+
+  } FT_ListRec;
+
+  /* */
+
+
+#define FT_IS_EMPTY( list )  ( (list).head == 0 )
+#define FT_BOOL( x )  ( (FT_Bool)( (x) != 0 ) )
+
+  /* concatenate C tokens */
+#define FT_ERR_XCAT( x, y )  x ## y
+#define FT_ERR_CAT( x, y )   FT_ERR_XCAT( x, y )
+
+  /* see `ftmoderr.h` for descriptions of the following macros */
+
+#define FT_ERR( e )  FT_ERR_CAT( FT_ERR_PREFIX, e )
+
+#define FT_ERROR_BASE( x )    ( (x) & 0xFF )
+#define FT_ERROR_MODULE( x )  ( (x) & 0xFF00U )
+
+#define FT_ERR_EQ( x, e )                                        \
+          ( FT_ERROR_BASE( x ) == FT_ERROR_BASE( FT_ERR( e ) ) )
+#define FT_ERR_NEQ( x, e )                                       \
+          ( FT_ERROR_BASE( x ) != FT_ERROR_BASE( FT_ERR( e ) ) )
+
+
+FT_END_HEADER
+
+#endif /* FTTYPES_H_ */
+
+
+/* END */
diff --git a/CMU462/deps/freetype/include/freetype/ftwinfnt.h b/CMU462/deps/freetype/include/freetype/ftwinfnt.h
new file mode 100644
index 0000000..a2fba90
--- /dev/null
+++ b/CMU462/deps/freetype/include/freetype/ftwinfnt.h
@@ -0,0 +1,277 @@
+/****************************************************************************
+ *
+ * ftwinfnt.h
+ *
+ *   FreeType API for accessing Windows fnt-specific data.
+ *
+ * Copyright (C) 2003-2019 by
+ * David Turner, Robert Wilhelm, and Werner Lemberg.
+ *
+ * This file is part of the FreeType project, and may only be used,
+ * modified, and distributed under the terms of the FreeType project
+ * license, LICENSE.TXT.  By continuing to use, modify, or distribute
+ * this file you indicate that you have read the license and
+ * understand and accept it fully.
+ *
+ */
+
+
+#ifndef FTWINFNT_H_
+#define FTWINFNT_H_
+
+#include <ft2build.h>
+#include FT_FREETYPE_H
+
+#ifdef FREETYPE_H
+#error "freetype.h of FreeType 1 has been loaded!"
+#error "Please fix the directory search order for header files"
+#error "so that freetype.h of FreeType 2 is found first."
+#endif
+
+
+FT_BEGIN_HEADER
+
+
+  /**************************************************************************
+   *
+   * @section:
+   *   winfnt_fonts
+   *
+   * @title:
+   *   Window FNT Files
+   *
+   * @abstract:
+   *   Windows FNT-specific API.
+   *
+   * @description:
+   *   This section contains the declaration of Windows FNT-specific
+   *   functions.
+   *
+   */
+
+
+  /**************************************************************************
+   *
+   * @enum:
+   *   FT_WinFNT_ID_XXX
+   *
+   * @description:
+   *   A list of valid values for the `charset` byte in @FT_WinFNT_HeaderRec. 
+   *   Exact mapping tables for the various 'cpXXXX' encodings (except for
+   *   'cp1361') can be found at 'ftp://ftp.unicode.org/Public/' in the
+   *   `MAPPINGS/VENDORS/MICSFT/WINDOWS` subdirectory.  'cp1361' is roughly a
+   *   superset of `MAPPINGS/OBSOLETE/EASTASIA/KSC/JOHAB.TXT`.
+   *
+   * @values:
+   *   FT_WinFNT_ID_DEFAULT ::
+   *     This is used for font enumeration and font creation as a 'don't
+   *     care' value.  Valid font files don't contain this value.  When
+   *     querying for information about the character set of the font that is
+   *     currently selected into a specified device context, this return
+   *     value (of the related Windows API) simply denotes failure.
+   *
+   *   FT_WinFNT_ID_SYMBOL ::
+   *     There is no known mapping table available.
+   *
+   *   FT_WinFNT_ID_MAC ::
+   *     Mac Roman encoding.
+   *
+   *   FT_WinFNT_ID_OEM ::
+   *     From Michael Poettgen <michael@poettgen.de>:
+   *
+   *     The 'Windows Font Mapping' article says that `FT_WinFNT_ID_OEM` is
+   *     used for the charset of vector fonts, like `modern.fon`,
+   *     `roman.fon`, and `script.fon` on Windows.
+   *
+   *     The 'CreateFont' documentation says: The `FT_WinFNT_ID_OEM` value
+   *     specifies a character set that is operating-system dependent.
+   *
+   *     The 'IFIMETRICS' documentation from the 'Windows Driver Development
+   *     Kit' says: This font supports an OEM-specific character set.  The
+   *     OEM character set is system dependent.
+   *
+   *     In general OEM, as opposed to ANSI (i.e., 'cp1252'), denotes the
+   *     second default codepage that most international versions of Windows
+   *     have.  It is one of the OEM codepages from
+   *
+   *     https://docs.microsoft.com/en-us/windows/desktop/intl/code-page-identifiers
+   *     ,
+   *
+   *     and is used for the 'DOS boxes', to support legacy applications.  A
+   *     German Windows version for example usually uses ANSI codepage 1252
+   *     and OEM codepage 850.
+   *
+   *   FT_WinFNT_ID_CP874 ::
+   *     A superset of Thai TIS 620 and ISO 8859-11.
+   *
+   *   FT_WinFNT_ID_CP932 ::
+   *     A superset of Japanese Shift-JIS (with minor deviations).
+   *
+   *   FT_WinFNT_ID_CP936 ::
+   *     A superset of simplified Chinese GB 2312-1980 (with different
+   *     ordering and minor deviations).
+   *
+   *   FT_WinFNT_ID_CP949 ::
+   *     A superset of Korean Hangul KS~C 5601-1987 (with different ordering
+   *     and minor deviations).
+   *
+   *   FT_WinFNT_ID_CP950 ::
+   *     A superset of traditional Chinese Big~5 ETen (with different
+   *     ordering and minor deviations).
+   *
+   *   FT_WinFNT_ID_CP1250 ::
+   *     A superset of East European ISO 8859-2 (with slightly different
+   *     ordering).
+   *
+   *   FT_WinFNT_ID_CP1251 ::
+   *     A superset of Russian ISO 8859-5 (with different ordering).
+   *
+   *   FT_WinFNT_ID_CP1252 ::
+   *     ANSI encoding.  A superset of ISO 8859-1.
+   *
+   *   FT_WinFNT_ID_CP1253 ::
+   *     A superset of Greek ISO 8859-7 (with minor modifications).
+   *
+   *   FT_WinFNT_ID_CP1254 ::
+   *     A superset of Turkish ISO 8859-9.
+   *
+   *   FT_WinFNT_ID_CP1255 ::
+   *     A superset of Hebrew ISO 8859-8 (with some modifications).
+   *
+   *   FT_WinFNT_ID_CP1256 ::
+   *     A superset of Arabic ISO 8859-6 (with different ordering).
+   *
+   *   FT_WinFNT_ID_CP1257 ::
+   *     A superset of Baltic ISO 8859-13 (with some deviations).
+   *
+   *   FT_WinFNT_ID_CP1258 ::
+   *     For Vietnamese.  This encoding doesn't cover all necessary
+   *     characters.
+   *
+   *   FT_WinFNT_ID_CP1361 ::
+   *     Korean (Johab).
+   */
+
+#define FT_WinFNT_ID_CP1252    0
+#define FT_WinFNT_ID_DEFAULT   1
+#define FT_WinFNT_ID_SYMBOL    2
+#define FT_WinFNT_ID_MAC      77
+#define FT_WinFNT_ID_CP932   128
+#define FT_WinFNT_ID_CP949   129
+#define FT_WinFNT_ID_CP1361  130
+#define FT_WinFNT_ID_CP936   134
+#define FT_WinFNT_ID_CP950   136
+#define FT_WinFNT_ID_CP1253  161
+#define FT_WinFNT_ID_CP1254  162
+#define FT_WinFNT_ID_CP1258  163
+#define FT_WinFNT_ID_CP1255  177
+#define FT_WinFNT_ID_CP1256  178
+#define FT_WinFNT_ID_CP1257  186
+#define FT_WinFNT_ID_CP1251  204
+#define FT_WinFNT_ID_CP874   222
+#define FT_WinFNT_ID_CP1250  238
+#define FT_WinFNT_ID_OEM     255
+
+
+  /**************************************************************************
+   *
+   * @struct:
+   *   FT_WinFNT_HeaderRec
+   *
+   * @description:
+   *   Windows FNT Header info.
+   */
+  typedef struct  FT_WinFNT_HeaderRec_
+  {
+    FT_UShort  version;
+    FT_ULong   file_size;
+    FT_Byte    copyright[60];
+    FT_UShort  file_type;
+    FT_UShort  nominal_point_size;
+    FT_UShort  vertical_resolution;
+    FT_UShort  horizontal_resolution;
+    FT_UShort  ascent;
+    FT_UShort  internal_leading;
+    FT_UShort  external_leading;
+    FT_Byte    italic;
+    FT_Byte    underline;
+    FT_Byte    strike_out;
+    FT_UShort  weight;
+    FT_Byte    charset;
+    FT_UShort  pixel_width;
+    FT_UShort  pixel_height;
+    FT_Byte    pitch_and_family;
+    FT_UShort  avg_width;
+    FT_UShort  max_width;
+    FT_Byte    first_char;
+    FT_Byte    last_char;
+    FT_Byte    default_char;
+    FT_Byte    break_char;
+    FT_UShort  bytes_per_row;
+    FT_ULong   device_offset;
+    FT_ULong   face_name_offset;
+    FT_ULong   bits_pointer;
+    FT_ULong   bits_offset;
+    FT_Byte    reserved;
+    FT_ULong   flags;
+    FT_UShort  A_space;
+    FT_UShort  B_space;
+    FT_UShort  C_space;
+    FT_UShort  color_table_offset;
+    FT_ULong   reserved1[4];
+
+  } FT_WinFNT_HeaderRec;
+
+
+  /**************************************************************************
+   *
+   * @struct:
+   *   FT_WinFNT_Header
+   *
+   * @description:
+   *   A handle to an @FT_WinFNT_HeaderRec structure.
+   */
+  typedef struct FT_WinFNT_HeaderRec_*  FT_WinFNT_Header;
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *    FT_Get_WinFNT_Header
+   *
+   * @description:
+   *    Retrieve a Windows FNT font info header.
+   *
+   * @input:
+   *    face ::
+   *      A handle to the input face.
+   *
+   * @output:
+   *    aheader ::
+   *      The WinFNT header.
+   *
+   * @return:
+   *   FreeType error code.  0~means success.
+   *
+   * @note:
+   *   This function only works with Windows FNT faces, returning an error
+   *   otherwise.
+   */
+  FT_EXPORT( FT_Error )
+  FT_Get_WinFNT_Header( FT_Face               face,
+                        FT_WinFNT_HeaderRec  *aheader );
+
+  /* */
+
+
+FT_END_HEADER
+
+#endif /* FTWINFNT_H_ */
+
+
+/* END */
+
+
+/* Local Variables: */
+/* coding: utf-8    */
+/* End:             */
diff --git a/CMU462/deps/freetype/include/freetype/t1tables.h b/CMU462/deps/freetype/include/freetype/t1tables.h
new file mode 100644
index 0000000..645e645
--- /dev/null
+++ b/CMU462/deps/freetype/include/freetype/t1tables.h
@@ -0,0 +1,774 @@
+/****************************************************************************
+ *
+ * t1tables.h
+ *
+ *   Basic Type 1/Type 2 tables definitions and interface (specification
+ *   only).
+ *
+ * Copyright (C) 1996-2019 by
+ * David Turner, Robert Wilhelm, and Werner Lemberg.
+ *
+ * This file is part of the FreeType project, and may only be used,
+ * modified, and distributed under the terms of the FreeType project
+ * license, LICENSE.TXT.  By continuing to use, modify, or distribute
+ * this file you indicate that you have read the license and
+ * understand and accept it fully.
+ *
+ */
+
+
+#ifndef T1TABLES_H_
+#define T1TABLES_H_
+
+
+#include <ft2build.h>
+#include FT_FREETYPE_H
+
+#ifdef FREETYPE_H
+#error "freetype.h of FreeType 1 has been loaded!"
+#error "Please fix the directory search order for header files"
+#error "so that freetype.h of FreeType 2 is found first."
+#endif
+
+
+FT_BEGIN_HEADER
+
+
+  /**************************************************************************
+   *
+   * @section:
+   *   type1_tables
+   *
+   * @title:
+   *   Type 1 Tables
+   *
+   * @abstract:
+   *   Type~1-specific font tables.
+   *
+   * @description:
+   *   This section contains the definition of Type~1-specific tables,
+   *   including structures related to other PostScript font formats.
+   *
+   * @order:
+   *   PS_FontInfoRec
+   *   PS_FontInfo
+   *   PS_PrivateRec
+   *   PS_Private
+   *
+   *   CID_FaceDictRec
+   *   CID_FaceDict
+   *   CID_FaceInfoRec
+   *   CID_FaceInfo
+   *
+   *   FT_Has_PS_Glyph_Names
+   *   FT_Get_PS_Font_Info
+   *   FT_Get_PS_Font_Private
+   *   FT_Get_PS_Font_Value
+   *
+   *   T1_Blend_Flags
+   *   T1_EncodingType
+   *   PS_Dict_Keys
+   *
+   */
+
+
+  /* Note that we separate font data in PS_FontInfoRec and PS_PrivateRec */
+  /* structures in order to support Multiple Master fonts.               */
+
+
+  /**************************************************************************
+   *
+   * @struct:
+   *   PS_FontInfoRec
+   *
+   * @description:
+   *   A structure used to model a Type~1 or Type~2 FontInfo dictionary.
+   *   Note that for Multiple Master fonts, each instance has its own
+   *   FontInfo dictionary.
+   */
+  typedef struct  PS_FontInfoRec_
+  {
+    FT_String*  version;
+    FT_String*  notice;
+    FT_String*  full_name;
+    FT_String*  family_name;
+    FT_String*  weight;
+    FT_Long     italic_angle;
+    FT_Bool     is_fixed_pitch;
+    FT_Short    underline_position;
+    FT_UShort   underline_thickness;
+
+  } PS_FontInfoRec;
+
+
+  /**************************************************************************
+   *
+   * @struct:
+   *   PS_FontInfo
+   *
+   * @description:
+   *   A handle to a @PS_FontInfoRec structure.
+   */
+  typedef struct PS_FontInfoRec_*  PS_FontInfo;
+
+
+  /**************************************************************************
+   *
+   * @struct:
+   *   T1_FontInfo
+   *
+   * @description:
+   *   This type is equivalent to @PS_FontInfoRec.  It is deprecated but kept
+   *   to maintain source compatibility between various versions of FreeType.
+   */
+  typedef PS_FontInfoRec  T1_FontInfo;
+
+
+  /**************************************************************************
+   *
+   * @struct:
+   *   PS_PrivateRec
+   *
+   * @description:
+   *   A structure used to model a Type~1 or Type~2 private dictionary.  Note
+   *   that for Multiple Master fonts, each instance has its own Private
+   *   dictionary.
+   */
+  typedef struct  PS_PrivateRec_
+  {
+    FT_Int     unique_id;
+    FT_Int     lenIV;
+
+    FT_Byte    num_blue_values;
+    FT_Byte    num_other_blues;
+    FT_Byte    num_family_blues;
+    FT_Byte    num_family_other_blues;
+
+    FT_Short   blue_values[14];
+    FT_Short   other_blues[10];
+
+    FT_Short   family_blues      [14];
+    FT_Short   family_other_blues[10];
+
+    FT_Fixed   blue_scale;
+    FT_Int     blue_shift;
+    FT_Int     blue_fuzz;
+
+    FT_UShort  standard_width[1];
+    FT_UShort  standard_height[1];
+
+    FT_Byte    num_snap_widths;
+    FT_Byte    num_snap_heights;
+    FT_Bool    force_bold;
+    FT_Bool    round_stem_up;
+
+    FT_Short   snap_widths [13];  /* including std width  */
+    FT_Short   snap_heights[13];  /* including std height */
+
+    FT_Fixed   expansion_factor;
+
+    FT_Long    language_group;
+    FT_Long    password;
+
+    FT_Short   min_feature[2];
+
+  } PS_PrivateRec;
+
+
+  /**************************************************************************
+   *
+   * @struct:
+   *   PS_Private
+   *
+   * @description:
+   *   A handle to a @PS_PrivateRec structure.
+   */
+  typedef struct PS_PrivateRec_*  PS_Private;
+
+
+  /**************************************************************************
+   *
+   * @struct:
+   *   T1_Private
+   *
+   * @description:
+   *  This type is equivalent to @PS_PrivateRec.  It is deprecated but kept
+   *  to maintain source compatibility between various versions of FreeType.
+   */
+  typedef PS_PrivateRec  T1_Private;
+
+
+  /**************************************************************************
+   *
+   * @enum:
+   *   T1_Blend_Flags
+   *
+   * @description:
+   *   A set of flags used to indicate which fields are present in a given
+   *   blend dictionary (font info or private).  Used to support Multiple
+   *   Masters fonts.
+   *
+   * @values:
+   *   T1_BLEND_UNDERLINE_POSITION ::
+   *   T1_BLEND_UNDERLINE_THICKNESS ::
+   *   T1_BLEND_ITALIC_ANGLE ::
+   *   T1_BLEND_BLUE_VALUES ::
+   *   T1_BLEND_OTHER_BLUES ::
+   *   T1_BLEND_STANDARD_WIDTH ::
+   *   T1_BLEND_STANDARD_HEIGHT ::
+   *   T1_BLEND_STEM_SNAP_WIDTHS ::
+   *   T1_BLEND_STEM_SNAP_HEIGHTS ::
+   *   T1_BLEND_BLUE_SCALE ::
+   *   T1_BLEND_BLUE_SHIFT ::
+   *   T1_BLEND_FAMILY_BLUES ::
+   *   T1_BLEND_FAMILY_OTHER_BLUES ::
+   *   T1_BLEND_FORCE_BOLD ::
+   */
+  typedef enum  T1_Blend_Flags_
+  {
+    /* required fields in a FontInfo blend dictionary */
+    T1_BLEND_UNDERLINE_POSITION = 0,
+    T1_BLEND_UNDERLINE_THICKNESS,
+    T1_BLEND_ITALIC_ANGLE,
+
+    /* required fields in a Private blend dictionary */
+    T1_BLEND_BLUE_VALUES,
+    T1_BLEND_OTHER_BLUES,
+    T1_BLEND_STANDARD_WIDTH,
+    T1_BLEND_STANDARD_HEIGHT,
+    T1_BLEND_STEM_SNAP_WIDTHS,
+    T1_BLEND_STEM_SNAP_HEIGHTS,
+    T1_BLEND_BLUE_SCALE,
+    T1_BLEND_BLUE_SHIFT,
+    T1_BLEND_FAMILY_BLUES,
+    T1_BLEND_FAMILY_OTHER_BLUES,
+    T1_BLEND_FORCE_BOLD,
+
+    T1_BLEND_MAX    /* do not remove */
+
+  } T1_Blend_Flags;
+
+
+  /* these constants are deprecated; use the corresponding */
+  /* `T1_Blend_Flags` values instead                       */
+#define t1_blend_underline_position   T1_BLEND_UNDERLINE_POSITION
+#define t1_blend_underline_thickness  T1_BLEND_UNDERLINE_THICKNESS
+#define t1_blend_italic_angle         T1_BLEND_ITALIC_ANGLE
+#define t1_blend_blue_values          T1_BLEND_BLUE_VALUES
+#define t1_blend_other_blues          T1_BLEND_OTHER_BLUES
+#define t1_blend_standard_widths      T1_BLEND_STANDARD_WIDTH
+#define t1_blend_standard_height      T1_BLEND_STANDARD_HEIGHT
+#define t1_blend_stem_snap_widths     T1_BLEND_STEM_SNAP_WIDTHS
+#define t1_blend_stem_snap_heights    T1_BLEND_STEM_SNAP_HEIGHTS
+#define t1_blend_blue_scale           T1_BLEND_BLUE_SCALE
+#define t1_blend_blue_shift           T1_BLEND_BLUE_SHIFT
+#define t1_blend_family_blues         T1_BLEND_FAMILY_BLUES
+#define t1_blend_family_other_blues   T1_BLEND_FAMILY_OTHER_BLUES
+#define t1_blend_force_bold           T1_BLEND_FORCE_BOLD
+#define t1_blend_max                  T1_BLEND_MAX
+
+  /* */
+
+
+  /* maximum number of Multiple Masters designs, as defined in the spec */
+#define T1_MAX_MM_DESIGNS     16
+
+  /* maximum number of Multiple Masters axes, as defined in the spec */
+#define T1_MAX_MM_AXIS        4
+
+  /* maximum number of elements in a design map */
+#define T1_MAX_MM_MAP_POINTS  20
+
+
+  /* this structure is used to store the BlendDesignMap entry for an axis */
+  typedef struct  PS_DesignMap_
+  {
+    FT_Byte    num_points;
+    FT_Long*   design_points;
+    FT_Fixed*  blend_points;
+
+  } PS_DesignMapRec, *PS_DesignMap;
+
+  /* backward compatible definition */
+  typedef PS_DesignMapRec  T1_DesignMap;
+
+
+  typedef struct  PS_BlendRec_
+  {
+    FT_UInt          num_designs;
+    FT_UInt          num_axis;
+
+    FT_String*       axis_names[T1_MAX_MM_AXIS];
+    FT_Fixed*        design_pos[T1_MAX_MM_DESIGNS];
+    PS_DesignMapRec  design_map[T1_MAX_MM_AXIS];
+
+    FT_Fixed*        weight_vector;
+    FT_Fixed*        default_weight_vector;
+
+    PS_FontInfo      font_infos[T1_MAX_MM_DESIGNS + 1];
+    PS_Private       privates  [T1_MAX_MM_DESIGNS + 1];
+
+    FT_ULong         blend_bitflags;
+
+    FT_BBox*         bboxes    [T1_MAX_MM_DESIGNS + 1];
+
+    /* since 2.3.0 */
+
+    /* undocumented, optional: the default design instance;   */
+    /* corresponds to default_weight_vector --                */
+    /* num_default_design_vector == 0 means it is not present */
+    /* in the font and associated metrics files               */
+    FT_UInt          default_design_vector[T1_MAX_MM_DESIGNS];
+    FT_UInt          num_default_design_vector;
+
+  } PS_BlendRec, *PS_Blend;
+
+
+  /* backward compatible definition */
+  typedef PS_BlendRec  T1_Blend;
+
+
+  /**************************************************************************
+   *
+   * @struct:
+   *   CID_FaceDictRec
+   *
+   * @description:
+   *   A structure used to represent data in a CID top-level dictionary.  In
+   *   most cases, they are part of the font's '/FDArray' array.  Within a
+   *   CID font file, such (internal) subfont dictionaries are enclosed by
+   *   '%ADOBeginFontDict' and '%ADOEndFontDict' comments.
+   *
+   *   Note that `CID_FaceDictRec` misses a field for the '/FontName'
+   *   keyword, specifying the subfont's name (the top-level font name is
+   *   given by the '/CIDFontName' keyword).  This is an oversight, but it
+   *   doesn't limit the 'cid' font module's functionality because FreeType
+   *   neither needs this entry nor gives access to CID subfonts.
+   */
+  typedef struct  CID_FaceDictRec_
+  {
+    PS_PrivateRec  private_dict;
+
+    FT_UInt        len_buildchar;
+    FT_Fixed       forcebold_threshold;
+    FT_Pos         stroke_width;
+    FT_Fixed       expansion_factor;   /* this is a duplicate of           */
+                                       /* `private_dict->expansion_factor' */
+    FT_Byte        paint_type;
+    FT_Byte        font_type;
+    FT_Matrix      font_matrix;
+    FT_Vector      font_offset;
+
+    FT_UInt        num_subrs;
+    FT_ULong       subrmap_offset;
+    FT_Int         sd_bytes;
+
+  } CID_FaceDictRec;
+
+
+  /**************************************************************************
+   *
+   * @struct:
+   *   CID_FaceDict
+   *
+   * @description:
+   *   A handle to a @CID_FaceDictRec structure.
+   */
+  typedef struct CID_FaceDictRec_*  CID_FaceDict;
+
+
+  /**************************************************************************
+   *
+   * @struct:
+   *   CID_FontDict
+   *
+   * @description:
+   *   This type is equivalent to @CID_FaceDictRec.  It is deprecated but
+   *   kept to maintain source compatibility between various versions of
+   *   FreeType.
+   */
+  typedef CID_FaceDictRec  CID_FontDict;
+
+
+  /**************************************************************************
+   *
+   * @struct:
+   *   CID_FaceInfoRec
+   *
+   * @description:
+   *   A structure used to represent CID Face information.
+   */
+  typedef struct  CID_FaceInfoRec_
+  {
+    FT_String*      cid_font_name;
+    FT_Fixed        cid_version;
+    FT_Int          cid_font_type;
+
+    FT_String*      registry;
+    FT_String*      ordering;
+    FT_Int          supplement;
+
+    PS_FontInfoRec  font_info;
+    FT_BBox         font_bbox;
+    FT_ULong        uid_base;
+
+    FT_Int          num_xuid;
+    FT_ULong        xuid[16];
+
+    FT_ULong        cidmap_offset;
+    FT_Int          fd_bytes;
+    FT_Int          gd_bytes;
+    FT_ULong        cid_count;
+
+    FT_Int          num_dicts;
+    CID_FaceDict    font_dicts;
+
+    FT_ULong        data_offset;
+
+  } CID_FaceInfoRec;
+
+
+  /**************************************************************************
+   *
+   * @struct:
+   *   CID_FaceInfo
+   *
+   * @description:
+   *   A handle to a @CID_FaceInfoRec structure.
+   */
+  typedef struct CID_FaceInfoRec_*  CID_FaceInfo;
+
+
+  /**************************************************************************
+   *
+   * @struct:
+   *   CID_Info
+   *
+   * @description:
+   *  This type is equivalent to @CID_FaceInfoRec.  It is deprecated but kept
+   *  to maintain source compatibility between various versions of FreeType.
+   */
+  typedef CID_FaceInfoRec  CID_Info;
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *    FT_Has_PS_Glyph_Names
+   *
+   * @description:
+   *    Return true if a given face provides reliable PostScript glyph names.
+   *    This is similar to using the @FT_HAS_GLYPH_NAMES macro, except that
+   *    certain fonts (mostly TrueType) contain incorrect glyph name tables.
+   *
+   *    When this function returns true, the caller is sure that the glyph
+   *    names returned by @FT_Get_Glyph_Name are reliable.
+   *
+   * @input:
+   *    face ::
+   *      face handle
+   *
+   * @return:
+   *    Boolean.  True if glyph names are reliable.
+   *
+   */
+  FT_EXPORT( FT_Int )
+  FT_Has_PS_Glyph_Names( FT_Face  face );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *    FT_Get_PS_Font_Info
+   *
+   * @description:
+   *    Retrieve the @PS_FontInfoRec structure corresponding to a given
+   *    PostScript font.
+   *
+   * @input:
+   *    face ::
+   *      PostScript face handle.
+   *
+   * @output:
+   *    afont_info ::
+   *      Output font info structure pointer.
+   *
+   * @return:
+   *    FreeType error code.  0~means success.
+   *
+   * @note:
+   *    String pointers within the @PS_FontInfoRec structure are owned by the
+   *    face and don't need to be freed by the caller.  Missing entries in
+   *    the font's FontInfo dictionary are represented by `NULL` pointers.
+   *
+   *    If the font's format is not PostScript-based, this function will
+   *    return the `FT_Err_Invalid_Argument` error code.
+   *
+   */
+  FT_EXPORT( FT_Error )
+  FT_Get_PS_Font_Info( FT_Face      face,
+                       PS_FontInfo  afont_info );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *    FT_Get_PS_Font_Private
+   *
+   * @description:
+   *    Retrieve the @PS_PrivateRec structure corresponding to a given
+   *    PostScript font.
+   *
+   * @input:
+   *    face ::
+   *      PostScript face handle.
+   *
+   * @output:
+   *    afont_private ::
+   *      Output private dictionary structure pointer.
+   *
+   * @return:
+   *    FreeType error code.  0~means success.
+   *
+   * @note:
+   *    The string pointers within the @PS_PrivateRec structure are owned by
+   *    the face and don't need to be freed by the caller.
+   *
+   *    If the font's format is not PostScript-based, this function returns
+   *    the `FT_Err_Invalid_Argument` error code.
+   *
+   */
+  FT_EXPORT( FT_Error )
+  FT_Get_PS_Font_Private( FT_Face     face,
+                          PS_Private  afont_private );
+
+
+  /**************************************************************************
+   *
+   * @enum:
+   *   T1_EncodingType
+   *
+   * @description:
+   *   An enumeration describing the 'Encoding' entry in a Type 1 dictionary.
+   *
+   * @values:
+   *   T1_ENCODING_TYPE_NONE ::
+   *   T1_ENCODING_TYPE_ARRAY ::
+   *   T1_ENCODING_TYPE_STANDARD ::
+   *   T1_ENCODING_TYPE_ISOLATIN1 ::
+   *   T1_ENCODING_TYPE_EXPERT ::
+   *
+   * @since:
+   *   2.4.8
+   */
+  typedef enum  T1_EncodingType_
+  {
+    T1_ENCODING_TYPE_NONE = 0,
+    T1_ENCODING_TYPE_ARRAY,
+    T1_ENCODING_TYPE_STANDARD,
+    T1_ENCODING_TYPE_ISOLATIN1,
+    T1_ENCODING_TYPE_EXPERT
+
+  } T1_EncodingType;
+
+
+  /**************************************************************************
+   *
+   * @enum:
+   *   PS_Dict_Keys
+   *
+   * @description:
+   *   An enumeration used in calls to @FT_Get_PS_Font_Value to identify the
+   *   Type~1 dictionary entry to retrieve.
+   *
+   * @values:
+   *   PS_DICT_FONT_TYPE ::
+   *   PS_DICT_FONT_MATRIX ::
+   *   PS_DICT_FONT_BBOX ::
+   *   PS_DICT_PAINT_TYPE ::
+   *   PS_DICT_FONT_NAME ::
+   *   PS_DICT_UNIQUE_ID ::
+   *   PS_DICT_NUM_CHAR_STRINGS ::
+   *   PS_DICT_CHAR_STRING_KEY ::
+   *   PS_DICT_CHAR_STRING ::
+   *   PS_DICT_ENCODING_TYPE ::
+   *   PS_DICT_ENCODING_ENTRY ::
+   *   PS_DICT_NUM_SUBRS ::
+   *   PS_DICT_SUBR ::
+   *   PS_DICT_STD_HW ::
+   *   PS_DICT_STD_VW ::
+   *   PS_DICT_NUM_BLUE_VALUES ::
+   *   PS_DICT_BLUE_VALUE ::
+   *   PS_DICT_BLUE_FUZZ ::
+   *   PS_DICT_NUM_OTHER_BLUES ::
+   *   PS_DICT_OTHER_BLUE ::
+   *   PS_DICT_NUM_FAMILY_BLUES ::
+   *   PS_DICT_FAMILY_BLUE ::
+   *   PS_DICT_NUM_FAMILY_OTHER_BLUES ::
+   *   PS_DICT_FAMILY_OTHER_BLUE ::
+   *   PS_DICT_BLUE_SCALE ::
+   *   PS_DICT_BLUE_SHIFT ::
+   *   PS_DICT_NUM_STEM_SNAP_H ::
+   *   PS_DICT_STEM_SNAP_H ::
+   *   PS_DICT_NUM_STEM_SNAP_V ::
+   *   PS_DICT_STEM_SNAP_V ::
+   *   PS_DICT_FORCE_BOLD ::
+   *   PS_DICT_RND_STEM_UP ::
+   *   PS_DICT_MIN_FEATURE ::
+   *   PS_DICT_LEN_IV ::
+   *   PS_DICT_PASSWORD ::
+   *   PS_DICT_LANGUAGE_GROUP ::
+   *   PS_DICT_VERSION ::
+   *   PS_DICT_NOTICE ::
+   *   PS_DICT_FULL_NAME ::
+   *   PS_DICT_FAMILY_NAME ::
+   *   PS_DICT_WEIGHT ::
+   *   PS_DICT_IS_FIXED_PITCH ::
+   *   PS_DICT_UNDERLINE_POSITION ::
+   *   PS_DICT_UNDERLINE_THICKNESS ::
+   *   PS_DICT_FS_TYPE ::
+   *   PS_DICT_ITALIC_ANGLE ::
+   *
+   * @since:
+   *   2.4.8
+   */
+  typedef enum  PS_Dict_Keys_
+  {
+    /* conventionally in the font dictionary */
+    PS_DICT_FONT_TYPE,              /* FT_Byte         */
+    PS_DICT_FONT_MATRIX,            /* FT_Fixed        */
+    PS_DICT_FONT_BBOX,              /* FT_Fixed        */
+    PS_DICT_PAINT_TYPE,             /* FT_Byte         */
+    PS_DICT_FONT_NAME,              /* FT_String*      */
+    PS_DICT_UNIQUE_ID,              /* FT_Int          */
+    PS_DICT_NUM_CHAR_STRINGS,       /* FT_Int          */
+    PS_DICT_CHAR_STRING_KEY,        /* FT_String*      */
+    PS_DICT_CHAR_STRING,            /* FT_String*      */
+    PS_DICT_ENCODING_TYPE,          /* T1_EncodingType */
+    PS_DICT_ENCODING_ENTRY,         /* FT_String*      */
+
+    /* conventionally in the font Private dictionary */
+    PS_DICT_NUM_SUBRS,              /* FT_Int     */
+    PS_DICT_SUBR,                   /* FT_String* */
+    PS_DICT_STD_HW,                 /* FT_UShort  */
+    PS_DICT_STD_VW,                 /* FT_UShort  */
+    PS_DICT_NUM_BLUE_VALUES,        /* FT_Byte    */
+    PS_DICT_BLUE_VALUE,             /* FT_Short   */
+    PS_DICT_BLUE_FUZZ,              /* FT_Int     */
+    PS_DICT_NUM_OTHER_BLUES,        /* FT_Byte    */
+    PS_DICT_OTHER_BLUE,             /* FT_Short   */
+    PS_DICT_NUM_FAMILY_BLUES,       /* FT_Byte    */
+    PS_DICT_FAMILY_BLUE,            /* FT_Short   */
+    PS_DICT_NUM_FAMILY_OTHER_BLUES, /* FT_Byte    */
+    PS_DICT_FAMILY_OTHER_BLUE,      /* FT_Short   */
+    PS_DICT_BLUE_SCALE,             /* FT_Fixed   */
+    PS_DICT_BLUE_SHIFT,             /* FT_Int     */
+    PS_DICT_NUM_STEM_SNAP_H,        /* FT_Byte    */
+    PS_DICT_STEM_SNAP_H,            /* FT_Short   */
+    PS_DICT_NUM_STEM_SNAP_V,        /* FT_Byte    */
+    PS_DICT_STEM_SNAP_V,            /* FT_Short   */
+    PS_DICT_FORCE_BOLD,             /* FT_Bool    */
+    PS_DICT_RND_STEM_UP,            /* FT_Bool    */
+    PS_DICT_MIN_FEATURE,            /* FT_Short   */
+    PS_DICT_LEN_IV,                 /* FT_Int     */
+    PS_DICT_PASSWORD,               /* FT_Long    */
+    PS_DICT_LANGUAGE_GROUP,         /* FT_Long    */
+
+    /* conventionally in the font FontInfo dictionary */
+    PS_DICT_VERSION,                /* FT_String* */
+    PS_DICT_NOTICE,                 /* FT_String* */
+    PS_DICT_FULL_NAME,              /* FT_String* */
+    PS_DICT_FAMILY_NAME,            /* FT_String* */
+    PS_DICT_WEIGHT,                 /* FT_String* */
+    PS_DICT_IS_FIXED_PITCH,         /* FT_Bool    */
+    PS_DICT_UNDERLINE_POSITION,     /* FT_Short   */
+    PS_DICT_UNDERLINE_THICKNESS,    /* FT_UShort  */
+    PS_DICT_FS_TYPE,                /* FT_UShort  */
+    PS_DICT_ITALIC_ANGLE,           /* FT_Long    */
+
+    PS_DICT_MAX = PS_DICT_ITALIC_ANGLE
+
+  } PS_Dict_Keys;
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *    FT_Get_PS_Font_Value
+   *
+   * @description:
+   *    Retrieve the value for the supplied key from a PostScript font.
+   *
+   * @input:
+   *    face ::
+   *      PostScript face handle.
+   *
+   *    key ::
+   *      An enumeration value representing the dictionary key to retrieve.
+   *
+   *    idx ::
+   *      For array values, this specifies the index to be returned.
+   *
+   *    value ::
+   *      A pointer to memory into which to write the value.
+   *
+   *    valen_len ::
+   *      The size, in bytes, of the memory supplied for the value.
+   *
+   * @output:
+   *    value ::
+   *      The value matching the above key, if it exists.
+   *
+   * @return:
+   *    The amount of memory (in bytes) required to hold the requested value
+   *    (if it exists, -1 otherwise).
+   *
+   * @note:
+   *    The values returned are not pointers into the internal structures of
+   *    the face, but are 'fresh' copies, so that the memory containing them
+   *    belongs to the calling application.  This also enforces the
+   *    'read-only' nature of these values, i.e., this function cannot be
+   *    used to manipulate the face.
+   *
+   *    `value` is a void pointer because the values returned can be of
+   *    various types.
+   *
+   *    If either `value` is `NULL` or `value_len` is too small, just the
+   *    required memory size for the requested entry is returned.
+   *
+   *    The `idx` parameter is used, not only to retrieve elements of, for
+   *    example, the FontMatrix or FontBBox, but also to retrieve name keys
+   *    from the CharStrings dictionary, and the charstrings themselves.  It
+   *    is ignored for atomic values.
+   *
+   *    `PS_DICT_BLUE_SCALE` returns a value that is scaled up by 1000.  To
+   *    get the value as in the font stream, you need to divide by 65536000.0
+   *    (to remove the FT_Fixed scale, and the x1000 scale).
+   *
+   *    IMPORTANT: Only key/value pairs read by the FreeType interpreter can
+   *    be retrieved.  So, for example, PostScript procedures such as NP, ND,
+   *    and RD are not available.  Arbitrary keys are, obviously, not be
+   *    available either.
+   *
+   *    If the font's format is not PostScript-based, this function returns
+   *    the `FT_Err_Invalid_Argument` error code.
+   *
+   * @since:
+   *    2.4.8
+   *
+   */
+  FT_EXPORT( FT_Long )
+  FT_Get_PS_Font_Value( FT_Face       face,
+                        PS_Dict_Keys  key,
+                        FT_UInt       idx,
+                        void         *value,
+                        FT_Long       value_len );
+
+  /* */
+
+FT_END_HEADER
+
+#endif /* T1TABLES_H_ */
+
+
+/* END */
diff --git a/CMU462/deps/freetype/include/freetype2/freetype/ttnameid.h b/CMU462/deps/freetype/include/freetype/ttnameid.h
old mode 100755
new mode 100644
similarity index 51%
rename from CMU462/deps/freetype/include/freetype2/freetype/ttnameid.h
rename to CMU462/deps/freetype/include/freetype/ttnameid.h
index b9acbda..cc677de
--- a/CMU462/deps/freetype/include/freetype2/freetype/ttnameid.h
+++ b/CMU462/deps/freetype/include/freetype/ttnameid.h
@@ -1,23 +1,23 @@
-/***************************************************************************/
-/*                                                                         */
-/*  ttnameid.h                                                             */
-/*                                                                         */
-/*    TrueType name ID definitions (specification only).                   */
-/*                                                                         */
-/*  Copyright 1996-2002, 2003, 2004, 2006, 2007 by                         */
-/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
-/*                                                                         */
-/*  This file is part of the FreeType project, and may only be used,       */
-/*  modified, and distributed under the terms of the FreeType project      */
-/*  license, LICENSE.TXT.  By continuing to use, modify, or distribute     */
-/*  this file you indicate that you have read the license and              */
-/*  understand and accept it fully.                                        */
-/*                                                                         */
-/***************************************************************************/
-
-
-#ifndef __TTNAMEID_H__
-#define __TTNAMEID_H__
+/****************************************************************************
+ *
+ * ttnameid.h
+ *
+ *   TrueType name ID definitions (specification only).
+ *
+ * Copyright (C) 1996-2019 by
+ * David Turner, Robert Wilhelm, and Werner Lemberg.
+ *
+ * This file is part of the FreeType project, and may only be used,
+ * modified, and distributed under the terms of the FreeType project
+ * license, LICENSE.TXT.  By continuing to use, modify, or distribute
+ * this file you indicate that you have read the license and
+ * understand and accept it fully.
+ *
+ */
+
+
+#ifndef TTNAMEID_H_
+#define TTNAMEID_H_
 
 
 #include <ft2build.h>
@@ -26,46 +26,54 @@
 FT_BEGIN_HEADER
 
 
-  /*************************************************************************/
-  /*                                                                       */
-  /* Possible values for the `platform' identifier code in the name        */
-  /* records of the TTF `name' table.                                      */
-  /*                                                                       */
-  /*************************************************************************/
+  /**************************************************************************
+   *
+   * @section:
+   *   truetype_tables
+   */
 
 
-  /***********************************************************************
+  /**************************************************************************
+   *
+   * Possible values for the 'platform' identifier code in the name records
+   * of an SFNT 'name' table.
+   *
+   */
+
+
+  /**************************************************************************
    *
    * @enum:
    *   TT_PLATFORM_XXX
    *
    * @description:
-   *   A list of valid values for the `platform_id' identifier code in
+   *   A list of valid values for the `platform_id` identifier code in
    *   @FT_CharMapRec and @FT_SfntName structures.
    *
    * @values:
    *   TT_PLATFORM_APPLE_UNICODE ::
    *     Used by Apple to indicate a Unicode character map and/or name entry.
-   *     See @TT_APPLE_ID_XXX for corresponding `encoding_id' values.  Note
+   *     See @TT_APPLE_ID_XXX for corresponding `encoding_id` values.  Note
    *     that name entries in this format are coded as big-endian UCS-2
    *     character codes _only_.
    *
    *   TT_PLATFORM_MACINTOSH ::
-   *     Used by Apple to indicate a MacOS-specific charmap and/or name entry.
-   *     See @TT_MAC_ID_XXX for corresponding `encoding_id' values.  Note that
-   *     most TrueType fonts contain an Apple roman charmap to be usable on
-   *     MacOS systems (even if they contain a Microsoft charmap as well).
+   *     Used by Apple to indicate a MacOS-specific charmap and/or name
+   *     entry.  See @TT_MAC_ID_XXX for corresponding `encoding_id` values.
+   *     Note that most TrueType fonts contain an Apple roman charmap to be
+   *     usable on MacOS systems (even if they contain a Microsoft charmap as
+   *     well).
    *
    *   TT_PLATFORM_ISO ::
-   *     This value was used to specify Unicode charmaps.  It is however
-   *     now deprecated.  See @TT_ISO_ID_XXX for a list of corresponding
-   *     `encoding_id' values.
+   *     This value was used to specify ISO/IEC 10646 charmaps.  It is
+   *     however now deprecated.  See @TT_ISO_ID_XXX for a list of
+   *     corresponding `encoding_id` values.
    *
    *   TT_PLATFORM_MICROSOFT ::
    *     Used by Microsoft to indicate Windows-specific charmaps.  See
-   *     @TT_MS_ID_XXX for a list of corresponding `encoding_id' values.
+   *     @TT_MS_ID_XXX for a list of corresponding `encoding_id` values.
    *     Note that most fonts contain a Unicode charmap using
-   *     (TT_PLATFORM_MICROSOFT, @TT_MS_ID_UNICODE_CS).
+   *     (`TT_PLATFORM_MICROSOFT`, @TT_MS_ID_UNICODE_CS).
    *
    *   TT_PLATFORM_CUSTOM ::
    *     Used to indicate application-specific charmaps.
@@ -84,13 +92,13 @@ FT_BEGIN_HEADER
 #define TT_PLATFORM_ADOBE          7 /* artificial */
 
 
-  /***********************************************************************
+  /**************************************************************************
    *
    * @enum:
    *   TT_APPLE_ID_XXX
    *
    * @description:
-   *   A list of valid values for the `encoding_id' for
+   *   A list of valid values for the `encoding_id` for
    *   @TT_PLATFORM_APPLE_UNICODE charmaps and name entries.
    *
    * @values:
@@ -108,59 +116,33 @@ FT_BEGIN_HEADER
    *
    *   TT_APPLE_ID_UNICODE_32 ::
    *     Unicode 3.1 and beyond, using UTF-32.
+   *
+   *   TT_APPLE_ID_VARIANT_SELECTOR ::
+   *     From Adobe, not Apple.  Not a normal cmap.  Specifies variations on
+   *     a real cmap.
+   *
+   *   TT_APPLE_ID_FULL_UNICODE ::
+   *     Used for fallback fonts that provide complete Unicode coverage with
+   *     a type~13 cmap.
    */
 
-#define TT_APPLE_ID_DEFAULT      0 /* Unicode 1.0 */
-#define TT_APPLE_ID_UNICODE_1_1  1 /* specify Hangul at U+34xx */
-#define TT_APPLE_ID_ISO_10646    2 /* deprecated */
-#define TT_APPLE_ID_UNICODE_2_0  3 /* or later */
-#define TT_APPLE_ID_UNICODE_32   4 /* 2.0 or later, full repertoire */
+#define TT_APPLE_ID_DEFAULT           0 /* Unicode 1.0                   */
+#define TT_APPLE_ID_UNICODE_1_1       1 /* specify Hangul at U+34xx      */
+#define TT_APPLE_ID_ISO_10646         2 /* deprecated                    */
+#define TT_APPLE_ID_UNICODE_2_0       3 /* or later                      */
+#define TT_APPLE_ID_UNICODE_32        4 /* 2.0 or later, full repertoire */
+#define TT_APPLE_ID_VARIANT_SELECTOR  5 /* variation selector data       */
+#define TT_APPLE_ID_FULL_UNICODE      6 /* used with type 13 cmaps       */
 
 
-  /***********************************************************************
+  /**************************************************************************
    *
    * @enum:
    *   TT_MAC_ID_XXX
    *
    * @description:
-   *   A list of valid values for the `encoding_id' for
+   *   A list of valid values for the `encoding_id` for
    *   @TT_PLATFORM_MACINTOSH charmaps and name entries.
-   *
-   * @values:
-   *   TT_MAC_ID_ROMAN ::
-   *   TT_MAC_ID_JAPANESE ::
-   *   TT_MAC_ID_TRADITIONAL_CHINESE ::
-   *   TT_MAC_ID_KOREAN ::
-   *   TT_MAC_ID_ARABIC ::
-   *   TT_MAC_ID_HEBREW ::
-   *   TT_MAC_ID_GREEK ::
-   *   TT_MAC_ID_RUSSIAN ::
-   *   TT_MAC_ID_RSYMBOL ::
-   *   TT_MAC_ID_DEVANAGARI ::
-   *   TT_MAC_ID_GURMUKHI ::
-   *   TT_MAC_ID_GUJARATI ::
-   *   TT_MAC_ID_ORIYA ::
-   *   TT_MAC_ID_BENGALI ::
-   *   TT_MAC_ID_TAMIL ::
-   *   TT_MAC_ID_TELUGU ::
-   *   TT_MAC_ID_KANNADA ::
-   *   TT_MAC_ID_MALAYALAM ::
-   *   TT_MAC_ID_SINHALESE ::
-   *   TT_MAC_ID_BURMESE ::
-   *   TT_MAC_ID_KHMER ::
-   *   TT_MAC_ID_THAI ::
-   *   TT_MAC_ID_LAOTIAN ::
-   *   TT_MAC_ID_GEORGIAN ::
-   *   TT_MAC_ID_ARMENIAN ::
-   *   TT_MAC_ID_MALDIVIAN ::
-   *   TT_MAC_ID_SIMPLIFIED_CHINESE ::
-   *   TT_MAC_ID_TIBETAN ::
-   *   TT_MAC_ID_MONGOLIAN ::
-   *   TT_MAC_ID_GEEZ ::
-   *   TT_MAC_ID_SLAVIC ::
-   *   TT_MAC_ID_VIETNAMESE ::
-   *   TT_MAC_ID_SINDHI ::
-   *   TT_MAC_ID_UNINTERP ::
    */
 
 #define TT_MAC_ID_ROMAN                 0
@@ -199,14 +181,14 @@ FT_BEGIN_HEADER
 #define TT_MAC_ID_UNINTERP             32
 
 
-  /***********************************************************************
+  /**************************************************************************
    *
    * @enum:
    *   TT_ISO_ID_XXX
    *
    * @description:
-   *   A list of valid values for the `encoding_id' for
-   *   @TT_PLATFORM_ISO charmaps and name entries.
+   *   A list of valid values for the `encoding_id` for @TT_PLATFORM_ISO
+   *   charmaps and name entries.
    *
    *   Their use is now deprecated.
    *
@@ -224,64 +206,66 @@ FT_BEGIN_HEADER
 #define TT_ISO_ID_8859_1      2
 
 
-  /***********************************************************************
+  /**************************************************************************
    *
    * @enum:
    *   TT_MS_ID_XXX
    *
    * @description:
-   *   A list of valid values for the `encoding_id' for
+   *   A list of valid values for the `encoding_id` for
    *   @TT_PLATFORM_MICROSOFT charmaps and name entries.
    *
    * @values:
    *   TT_MS_ID_SYMBOL_CS ::
-   *     Corresponds to Microsoft symbol encoding. See
-   *     @FT_ENCODING_MS_SYMBOL.
+   *     Microsoft symbol encoding.  See @FT_ENCODING_MS_SYMBOL.
    *
    *   TT_MS_ID_UNICODE_CS ::
-   *     Corresponds to a Microsoft WGL4 charmap, matching Unicode.  See
-   *     @FT_ENCODING_UNICODE.
+   *     Microsoft WGL4 charmap, matching Unicode.  See @FT_ENCODING_UNICODE.
    *
    *   TT_MS_ID_SJIS ::
-   *     Corresponds to SJIS Japanese encoding.  See @FT_ENCODING_SJIS.
+   *     Shift JIS Japanese encoding.  See @FT_ENCODING_SJIS.
    *
-   *   TT_MS_ID_GB2312 ::
-   *     Corresponds to Simplified Chinese as used in Mainland China.  See
-   *     @FT_ENCODING_GB2312.
+   *   TT_MS_ID_PRC ::
+   *     Chinese encodings as used in the People's Republic of China (PRC).
+   *     This means the encodings GB~2312 and its supersets GBK and GB~18030.
+   *     See @FT_ENCODING_PRC.
    *
    *   TT_MS_ID_BIG_5 ::
-   *     Corresponds to Traditional Chinese as used in Taiwan and Hong Kong.
-   *     See @FT_ENCODING_BIG5.
+   *     Traditional Chinese as used in Taiwan and Hong Kong.  See
+   *     @FT_ENCODING_BIG5.
    *
    *   TT_MS_ID_WANSUNG ::
-   *     Corresponds to Korean Wansung encoding.  See @FT_ENCODING_WANSUNG.
+   *     Korean Extended Wansung encoding.  See @FT_ENCODING_WANSUNG.
    *
    *   TT_MS_ID_JOHAB ::
-   *     Corresponds to Johab encoding.  See @FT_ENCODING_JOHAB.
+   *     Korean Johab encoding.  See @FT_ENCODING_JOHAB.
    *
    *   TT_MS_ID_UCS_4 ::
-   *     Corresponds to UCS-4 or UTF-32 charmaps.  This has been added to
-   *     the OpenType specification version 1.4 (mid-2001.)
+   *     UCS-4 or UTF-32 charmaps.  This has been added to the OpenType
+   *     specification version 1.4 (mid-2001).
    */
 
 #define TT_MS_ID_SYMBOL_CS    0
 #define TT_MS_ID_UNICODE_CS   1
 #define TT_MS_ID_SJIS         2
-#define TT_MS_ID_GB2312       3
+#define TT_MS_ID_PRC          3
 #define TT_MS_ID_BIG_5        4
 #define TT_MS_ID_WANSUNG      5
 #define TT_MS_ID_JOHAB        6
 #define TT_MS_ID_UCS_4       10
 
+  /* this value is deprecated */
+#define TT_MS_ID_GB2312  TT_MS_ID_PRC
 
-  /***********************************************************************
+
+  /**************************************************************************
    *
    * @enum:
    *   TT_ADOBE_ID_XXX
    *
    * @description:
-   *   A list of valid values for the `encoding_id' for
-   *   @TT_PLATFORM_ADOBE charmaps.  This is a FreeType-specific extension!
+   *   A list of valid values for the `encoding_id` for @TT_PLATFORM_ADOBE
+   *   charmaps.  This is a FreeType-specific extension!
    *
    * @values:
    *   TT_ADOBE_ID_STANDARD ::
@@ -290,6 +274,8 @@ FT_BEGIN_HEADER
    *     Adobe expert encoding.
    *   TT_ADOBE_ID_CUSTOM ::
    *     Adobe custom encoding.
+   *   TT_ADOBE_ID_LATIN_1 ::
+   *     Adobe Latin~1 encoding.
    */
 
 #define TT_ADOBE_ID_STANDARD  0
@@ -298,16 +284,22 @@ FT_BEGIN_HEADER
 #define TT_ADOBE_ID_LATIN_1   3
 
 
-  /*************************************************************************/
-  /*                                                                       */
-  /* Possible values of the language identifier field in the name records  */
-  /* of the TTF `name' table if the `platform' identifier code is          */
-  /* TT_PLATFORM_MACINTOSH.                                                */
-  /*                                                                       */
-  /* The canonical source for the Apple assigned Language ID's is at       */
-  /*                                                                       */
-  /*   http://fonts.apple.com/TTRefMan/RM06/Chap6name.html                 */
-  /*                                                                       */
+  /**************************************************************************
+   *
+   * @enum:
+   *   TT_MAC_LANGID_XXX
+   *
+   * @description:
+   *   Possible values of the language identifier field in the name records
+   *   of the SFNT 'name' table if the 'platform' identifier code is
+   *   @TT_PLATFORM_MACINTOSH.  These values are also used as return values
+   *   for function @FT_Get_CMap_Language_ID.
+   *
+   *   The canonical source for Apple's IDs is
+   *
+   *     https://developer.apple.com/fonts/TrueType-Reference-Manual/RM06/Chap6name.html
+   */
+
 #define TT_MAC_LANGID_ENGLISH                       0
 #define TT_MAC_LANGID_FRENCH                        1
 #define TT_MAC_LANGID_GERMAN                        2
@@ -418,15 +410,6 @@ FT_BEGIN_HEADER
 #define TT_MAC_LANGID_JAVANESE                    138
 #define TT_MAC_LANGID_SUNDANESE                   139
 
-
-#if 0  /* these seem to be errors that have been dropped */
-
-#define TT_MAC_LANGID_SCOTTISH_GAELIC             140
-#define TT_MAC_LANGID_IRISH_GAELIC                141
-
-#endif
-
-
   /* The following codes are new as of 2000-03-10 */
 #define TT_MAC_LANGID_GALICIAN                    140
 #define TT_MAC_LANGID_AFRIKAANS                   141
@@ -441,149 +424,112 @@ FT_BEGIN_HEADER
 #define TT_MAC_LANGID_AZERBAIJANI_ROMAN_SCRIPT    150
 
 
-  /*************************************************************************/
-  /*                                                                       */
-  /* Possible values of the language identifier field in the name records  */
-  /* of the TTF `name' table if the `platform' identifier code is          */
-  /* TT_PLATFORM_MICROSOFT.                                                */
-  /*                                                                       */
-  /* The canonical source for the MS assigned LCID's (seems to) be at      */
-  /*                                                                       */
-  /*   http://www.microsoft.com/globaldev/reference/lcid-all.mspx          */
-  /*                                                                       */
-  /* It used to be at various places, among them                           */
-  /*                                                                       */
-  /*   http://www.microsoft.com/typography/OTSPEC/lcid-cp.txt              */
-  /*   http://www.microsoft.com/globaldev/reference/loclanghome.asp        */
-  /*   http://support.microsoft.com/support/kb/articles/Q224/8/04.ASP      */
-  /*   http://msdn.microsoft.com/library/en-us/passport25/                 */
-  /*           NET_Passport_VBScript_Documentation/Single_Sign_In/         */
-  /*           Advanced_Single_Sign_In/Localization_and_LCIDs.asp          */
-  /*                                                                       */
-  /* Hopefully, it seems now that the Globaldev site prevails...           */
-  /*                                   (updated by Antoine, 2004-02-17)    */
+  /**************************************************************************
+   *
+   * @enum:
+   *   TT_MS_LANGID_XXX
+   *
+   * @description:
+   *   Possible values of the language identifier field in the name records
+   *   of the SFNT 'name' table if the 'platform' identifier code is
+   *   @TT_PLATFORM_MICROSOFT.  These values are also used as return values
+   *   for function @FT_Get_CMap_Language_ID.
+   *
+   *   The canonical source for Microsoft's IDs is
+   *
+   *     https://docs.microsoft.com/en-us/windows/desktop/Intl/language-identifier-constants-and-strings ,
+   *
+   *   however, we only provide macros for language identifiers present in
+   *   the OpenType specification: Microsoft has abandoned the concept of
+   *   LCIDs (language code identifiers), and format~1 of the 'name' table
+   *   provides a better mechanism for languages not covered here.
+   *
+   *   More legacy values not listed in the reference can be found in the
+   *   @FT_TRUETYPE_IDS_H header file.
+   */
 
-#define TT_MS_LANGID_ARABIC_GENERAL                    0x0001
 #define TT_MS_LANGID_ARABIC_SAUDI_ARABIA               0x0401
 #define TT_MS_LANGID_ARABIC_IRAQ                       0x0801
-#define TT_MS_LANGID_ARABIC_EGYPT                      0x0c01
+#define TT_MS_LANGID_ARABIC_EGYPT                      0x0C01
 #define TT_MS_LANGID_ARABIC_LIBYA                      0x1001
 #define TT_MS_LANGID_ARABIC_ALGERIA                    0x1401
 #define TT_MS_LANGID_ARABIC_MOROCCO                    0x1801
-#define TT_MS_LANGID_ARABIC_TUNISIA                    0x1c01
+#define TT_MS_LANGID_ARABIC_TUNISIA                    0x1C01
 #define TT_MS_LANGID_ARABIC_OMAN                       0x2001
 #define TT_MS_LANGID_ARABIC_YEMEN                      0x2401
 #define TT_MS_LANGID_ARABIC_SYRIA                      0x2801
-#define TT_MS_LANGID_ARABIC_JORDAN                     0x2c01
+#define TT_MS_LANGID_ARABIC_JORDAN                     0x2C01
 #define TT_MS_LANGID_ARABIC_LEBANON                    0x3001
 #define TT_MS_LANGID_ARABIC_KUWAIT                     0x3401
 #define TT_MS_LANGID_ARABIC_UAE                        0x3801
-#define TT_MS_LANGID_ARABIC_BAHRAIN                    0x3c01
+#define TT_MS_LANGID_ARABIC_BAHRAIN                    0x3C01
 #define TT_MS_LANGID_ARABIC_QATAR                      0x4001
 #define TT_MS_LANGID_BULGARIAN_BULGARIA                0x0402
-#define TT_MS_LANGID_CATALAN_SPAIN                     0x0403
-#define TT_MS_LANGID_CHINESE_GENERAL                   0x0004
+#define TT_MS_LANGID_CATALAN_CATALAN                   0x0403
 #define TT_MS_LANGID_CHINESE_TAIWAN                    0x0404
 #define TT_MS_LANGID_CHINESE_PRC                       0x0804
-#define TT_MS_LANGID_CHINESE_HONG_KONG                 0x0c04
+#define TT_MS_LANGID_CHINESE_HONG_KONG                 0x0C04
 #define TT_MS_LANGID_CHINESE_SINGAPORE                 0x1004
-
-#if 1  /* this looks like the correct value */
-#define TT_MS_LANGID_CHINESE_MACAU                     0x1404
-#else  /* but beware, Microsoft may change its mind...
-          the most recent Word reference has the following: */
-#define TT_MS_LANGID_CHINESE_MACAU  TT_MS_LANGID_CHINESE_HONG_KONG
-#endif
-
-#if 0  /* used only with .NET `cultures'; commented out */
-#define TT_MS_LANGID_CHINESE_TRADITIONAL               0x7C04
-#endif
-
+#define TT_MS_LANGID_CHINESE_MACAO                     0x1404
 #define TT_MS_LANGID_CZECH_CZECH_REPUBLIC              0x0405
 #define TT_MS_LANGID_DANISH_DENMARK                    0x0406
 #define TT_MS_LANGID_GERMAN_GERMANY                    0x0407
 #define TT_MS_LANGID_GERMAN_SWITZERLAND                0x0807
-#define TT_MS_LANGID_GERMAN_AUSTRIA                    0x0c07
+#define TT_MS_LANGID_GERMAN_AUSTRIA                    0x0C07
 #define TT_MS_LANGID_GERMAN_LUXEMBOURG                 0x1007
-#define TT_MS_LANGID_GERMAN_LIECHTENSTEI               0x1407
+#define TT_MS_LANGID_GERMAN_LIECHTENSTEIN              0x1407
 #define TT_MS_LANGID_GREEK_GREECE                      0x0408
-
-  /* don't ask what this one means... It is commented out currently. */
-#if 0
-#define TT_MS_LANGID_GREEK_GREECE2                     0x2008
-#endif
-
-#define TT_MS_LANGID_ENGLISH_GENERAL                   0x0009
 #define TT_MS_LANGID_ENGLISH_UNITED_STATES             0x0409
 #define TT_MS_LANGID_ENGLISH_UNITED_KINGDOM            0x0809
-#define TT_MS_LANGID_ENGLISH_AUSTRALIA                 0x0c09
+#define TT_MS_LANGID_ENGLISH_AUSTRALIA                 0x0C09
 #define TT_MS_LANGID_ENGLISH_CANADA                    0x1009
 #define TT_MS_LANGID_ENGLISH_NEW_ZEALAND               0x1409
 #define TT_MS_LANGID_ENGLISH_IRELAND                   0x1809
-#define TT_MS_LANGID_ENGLISH_SOUTH_AFRICA              0x1c09
+#define TT_MS_LANGID_ENGLISH_SOUTH_AFRICA              0x1C09
 #define TT_MS_LANGID_ENGLISH_JAMAICA                   0x2009
 #define TT_MS_LANGID_ENGLISH_CARIBBEAN                 0x2409
 #define TT_MS_LANGID_ENGLISH_BELIZE                    0x2809
-#define TT_MS_LANGID_ENGLISH_TRINIDAD                  0x2c09
+#define TT_MS_LANGID_ENGLISH_TRINIDAD                  0x2C09
 #define TT_MS_LANGID_ENGLISH_ZIMBABWE                  0x3009
 #define TT_MS_LANGID_ENGLISH_PHILIPPINES               0x3409
-#define TT_MS_LANGID_ENGLISH_INDONESIA                 0x3809
-#define TT_MS_LANGID_ENGLISH_HONG_KONG                 0x3c09
 #define TT_MS_LANGID_ENGLISH_INDIA                     0x4009
 #define TT_MS_LANGID_ENGLISH_MALAYSIA                  0x4409
 #define TT_MS_LANGID_ENGLISH_SINGAPORE                 0x4809
-#define TT_MS_LANGID_SPANISH_SPAIN_TRADITIONAL_SORT    0x040a
-#define TT_MS_LANGID_SPANISH_MEXICO                    0x080a
-#define TT_MS_LANGID_SPANISH_SPAIN_INTERNATIONAL_SORT  0x0c0a
-#define TT_MS_LANGID_SPANISH_GUATEMALA                 0x100a
-#define TT_MS_LANGID_SPANISH_COSTA_RICA                0x140a
-#define TT_MS_LANGID_SPANISH_PANAMA                    0x180a
-#define TT_MS_LANGID_SPANISH_DOMINICAN_REPUBLIC        0x1c0a
-#define TT_MS_LANGID_SPANISH_VENEZUELA                 0x200a
-#define TT_MS_LANGID_SPANISH_COLOMBIA                  0x240a
-#define TT_MS_LANGID_SPANISH_PERU                      0x280a
-#define TT_MS_LANGID_SPANISH_ARGENTINA                 0x2c0a
-#define TT_MS_LANGID_SPANISH_ECUADOR                   0x300a
-#define TT_MS_LANGID_SPANISH_CHILE                     0x340a
-#define TT_MS_LANGID_SPANISH_URUGUAY                   0x380a
-#define TT_MS_LANGID_SPANISH_PARAGUAY                  0x3c0a
-#define TT_MS_LANGID_SPANISH_BOLIVIA                   0x400a
-#define TT_MS_LANGID_SPANISH_EL_SALVADOR               0x440a
-#define TT_MS_LANGID_SPANISH_HONDURAS                  0x480a
-#define TT_MS_LANGID_SPANISH_NICARAGUA                 0x4c0a
-#define TT_MS_LANGID_SPANISH_PUERTO_RICO               0x500a
-#define TT_MS_LANGID_SPANISH_UNITED_STATES             0x540a
-  /* The following ID blatantly violate MS specs by using a */
-  /* sublanguage > 0x1F.                                    */
-#define TT_MS_LANGID_SPANISH_LATIN_AMERICA             0xE40aU
-#define TT_MS_LANGID_FINNISH_FINLAND                   0x040b
-#define TT_MS_LANGID_FRENCH_FRANCE                     0x040c
-#define TT_MS_LANGID_FRENCH_BELGIUM                    0x080c
-#define TT_MS_LANGID_FRENCH_CANADA                     0x0c0c
-#define TT_MS_LANGID_FRENCH_SWITZERLAND                0x100c
-#define TT_MS_LANGID_FRENCH_LUXEMBOURG                 0x140c
-#define TT_MS_LANGID_FRENCH_MONACO                     0x180c
-#define TT_MS_LANGID_FRENCH_WEST_INDIES                0x1c0c
-#define TT_MS_LANGID_FRENCH_REUNION                    0x200c
-#define TT_MS_LANGID_FRENCH_CONGO                      0x240c
-  /* which was formerly: */
-#define TT_MS_LANGID_FRENCH_ZAIRE  TT_MS_LANGID_FRENCH_CONGO
-#define TT_MS_LANGID_FRENCH_SENEGAL                    0x280c
-#define TT_MS_LANGID_FRENCH_CAMEROON                   0x2c0c
-#define TT_MS_LANGID_FRENCH_COTE_D_IVOIRE              0x300c
-#define TT_MS_LANGID_FRENCH_MALI                       0x340c
-#define TT_MS_LANGID_FRENCH_MOROCCO                    0x380c
-#define TT_MS_LANGID_FRENCH_HAITI                      0x3c0c
-  /* and another violation of the spec (see 0xE40aU) */
-#define TT_MS_LANGID_FRENCH_NORTH_AFRICA               0xE40cU
-#define TT_MS_LANGID_HEBREW_ISRAEL                     0x040d
-#define TT_MS_LANGID_HUNGARIAN_HUNGARY                 0x040e
-#define TT_MS_LANGID_ICELANDIC_ICELAND                 0x040f
+#define TT_MS_LANGID_SPANISH_SPAIN_TRADITIONAL_SORT    0x040A
+#define TT_MS_LANGID_SPANISH_MEXICO                    0x080A
+#define TT_MS_LANGID_SPANISH_SPAIN_MODERN_SORT         0x0C0A
+#define TT_MS_LANGID_SPANISH_GUATEMALA                 0x100A
+#define TT_MS_LANGID_SPANISH_COSTA_RICA                0x140A
+#define TT_MS_LANGID_SPANISH_PANAMA                    0x180A
+#define TT_MS_LANGID_SPANISH_DOMINICAN_REPUBLIC        0x1C0A
+#define TT_MS_LANGID_SPANISH_VENEZUELA                 0x200A
+#define TT_MS_LANGID_SPANISH_COLOMBIA                  0x240A
+#define TT_MS_LANGID_SPANISH_PERU                      0x280A
+#define TT_MS_LANGID_SPANISH_ARGENTINA                 0x2C0A
+#define TT_MS_LANGID_SPANISH_ECUADOR                   0x300A
+#define TT_MS_LANGID_SPANISH_CHILE                     0x340A
+#define TT_MS_LANGID_SPANISH_URUGUAY                   0x380A
+#define TT_MS_LANGID_SPANISH_PARAGUAY                  0x3C0A
+#define TT_MS_LANGID_SPANISH_BOLIVIA                   0x400A
+#define TT_MS_LANGID_SPANISH_EL_SALVADOR               0x440A
+#define TT_MS_LANGID_SPANISH_HONDURAS                  0x480A
+#define TT_MS_LANGID_SPANISH_NICARAGUA                 0x4C0A
+#define TT_MS_LANGID_SPANISH_PUERTO_RICO               0x500A
+#define TT_MS_LANGID_SPANISH_UNITED_STATES             0x540A
+#define TT_MS_LANGID_FINNISH_FINLAND                   0x040B
+#define TT_MS_LANGID_FRENCH_FRANCE                     0x040C
+#define TT_MS_LANGID_FRENCH_BELGIUM                    0x080C
+#define TT_MS_LANGID_FRENCH_CANADA                     0x0C0C
+#define TT_MS_LANGID_FRENCH_SWITZERLAND                0x100C
+#define TT_MS_LANGID_FRENCH_LUXEMBOURG                 0x140C
+#define TT_MS_LANGID_FRENCH_MONACO                     0x180C
+#define TT_MS_LANGID_HEBREW_ISRAEL                     0x040D
+#define TT_MS_LANGID_HUNGARIAN_HUNGARY                 0x040E
+#define TT_MS_LANGID_ICELANDIC_ICELAND                 0x040F
 #define TT_MS_LANGID_ITALIAN_ITALY                     0x0410
 #define TT_MS_LANGID_ITALIAN_SWITZERLAND               0x0810
 #define TT_MS_LANGID_JAPANESE_JAPAN                    0x0411
-#define TT_MS_LANGID_KOREAN_EXTENDED_WANSUNG_KOREA     0x0412
-#define TT_MS_LANGID_KOREAN_JOHAB_KOREA                0x0812
+#define TT_MS_LANGID_KOREAN_KOREA                      0x0412
 #define TT_MS_LANGID_DUTCH_NETHERLANDS                 0x0413
 #define TT_MS_LANGID_DUTCH_BELGIUM                     0x0813
 #define TT_MS_LANGID_NORWEGIAN_NORWAY_BOKMAL           0x0414
@@ -591,245 +537,315 @@ FT_BEGIN_HEADER
 #define TT_MS_LANGID_POLISH_POLAND                     0x0415
 #define TT_MS_LANGID_PORTUGUESE_BRAZIL                 0x0416
 #define TT_MS_LANGID_PORTUGUESE_PORTUGAL               0x0816
-#define TT_MS_LANGID_RHAETO_ROMANIC_SWITZERLAND        0x0417
+#define TT_MS_LANGID_ROMANSH_SWITZERLAND               0x0417
 #define TT_MS_LANGID_ROMANIAN_ROMANIA                  0x0418
-#define TT_MS_LANGID_MOLDAVIAN_MOLDAVIA                0x0818
 #define TT_MS_LANGID_RUSSIAN_RUSSIA                    0x0419
-#define TT_MS_LANGID_RUSSIAN_MOLDAVIA                  0x0819
-#define TT_MS_LANGID_CROATIAN_CROATIA                  0x041a
-#define TT_MS_LANGID_SERBIAN_SERBIA_LATIN              0x081a
-#define TT_MS_LANGID_SERBIAN_SERBIA_CYRILLIC           0x0c1a
-
-#if 0  /* this used to be this value, but it looks like we were wrong */
-#define TT_MS_LANGID_BOSNIAN_BOSNIA_HERZEGOVINA        0x101a
-#else  /* current sources say */
-#define TT_MS_LANGID_CROATIAN_BOSNIA_HERZEGOVINA       0x101a
-#define TT_MS_LANGID_BOSNIAN_BOSNIA_HERZEGOVINA        0x141a
-       /* and XPsp2 Platform SDK added (2004-07-26) */
-       /* Names are shortened to be significant within 40 chars. */
-#define TT_MS_LANGID_SERBIAN_BOSNIA_HERZ_LATIN         0x181a
-#define TT_MS_LANGID_SERBIAN_BOSNIA_HERZ_CYRILLIC      0x181a
-#endif
-
-#define TT_MS_LANGID_SLOVAK_SLOVAKIA                   0x041b
-#define TT_MS_LANGID_ALBANIAN_ALBANIA                  0x041c
-#define TT_MS_LANGID_SWEDISH_SWEDEN                    0x041d
-#define TT_MS_LANGID_SWEDISH_FINLAND                   0x081d
-#define TT_MS_LANGID_THAI_THAILAND                     0x041e
-#define TT_MS_LANGID_TURKISH_TURKEY                    0x041f
+#define TT_MS_LANGID_CROATIAN_CROATIA                  0x041A
+#define TT_MS_LANGID_SERBIAN_SERBIA_LATIN              0x081A
+#define TT_MS_LANGID_SERBIAN_SERBIA_CYRILLIC           0x0C1A
+#define TT_MS_LANGID_CROATIAN_BOSNIA_HERZEGOVINA       0x101A
+#define TT_MS_LANGID_BOSNIAN_BOSNIA_HERZEGOVINA        0x141A
+#define TT_MS_LANGID_SERBIAN_BOSNIA_HERZ_LATIN         0x181A
+#define TT_MS_LANGID_SERBIAN_BOSNIA_HERZ_CYRILLIC      0x1C1A
+#define TT_MS_LANGID_BOSNIAN_BOSNIA_HERZ_CYRILLIC      0x201A
+#define TT_MS_LANGID_SLOVAK_SLOVAKIA                   0x041B
+#define TT_MS_LANGID_ALBANIAN_ALBANIA                  0x041C
+#define TT_MS_LANGID_SWEDISH_SWEDEN                    0x041D
+#define TT_MS_LANGID_SWEDISH_FINLAND                   0x081D
+#define TT_MS_LANGID_THAI_THAILAND                     0x041E
+#define TT_MS_LANGID_TURKISH_TURKEY                    0x041F
 #define TT_MS_LANGID_URDU_PAKISTAN                     0x0420
-#define TT_MS_LANGID_URDU_INDIA                        0x0820
 #define TT_MS_LANGID_INDONESIAN_INDONESIA              0x0421
 #define TT_MS_LANGID_UKRAINIAN_UKRAINE                 0x0422
 #define TT_MS_LANGID_BELARUSIAN_BELARUS                0x0423
-#define TT_MS_LANGID_SLOVENE_SLOVENIA                  0x0424
+#define TT_MS_LANGID_SLOVENIAN_SLOVENIA                0x0424
 #define TT_MS_LANGID_ESTONIAN_ESTONIA                  0x0425
 #define TT_MS_LANGID_LATVIAN_LATVIA                    0x0426
 #define TT_MS_LANGID_LITHUANIAN_LITHUANIA              0x0427
-#define TT_MS_LANGID_CLASSIC_LITHUANIAN_LITHUANIA      0x0827
 #define TT_MS_LANGID_TAJIK_TAJIKISTAN                  0x0428
-#define TT_MS_LANGID_FARSI_IRAN                        0x0429
-#define TT_MS_LANGID_VIETNAMESE_VIET_NAM               0x042a
-#define TT_MS_LANGID_ARMENIAN_ARMENIA                  0x042b
-#define TT_MS_LANGID_AZERI_AZERBAIJAN_LATIN            0x042c
-#define TT_MS_LANGID_AZERI_AZERBAIJAN_CYRILLIC         0x082c
-#define TT_MS_LANGID_BASQUE_SPAIN                      0x042d
-#define TT_MS_LANGID_SORBIAN_GERMANY                   0x042e
-#define TT_MS_LANGID_MACEDONIAN_MACEDONIA              0x042f
-#define TT_MS_LANGID_SUTU_SOUTH_AFRICA                 0x0430
-#define TT_MS_LANGID_TSONGA_SOUTH_AFRICA               0x0431
-#define TT_MS_LANGID_TSWANA_SOUTH_AFRICA               0x0432
-#define TT_MS_LANGID_VENDA_SOUTH_AFRICA                0x0433
-#define TT_MS_LANGID_XHOSA_SOUTH_AFRICA                0x0434
-#define TT_MS_LANGID_ZULU_SOUTH_AFRICA                 0x0435
+#define TT_MS_LANGID_VIETNAMESE_VIET_NAM               0x042A
+#define TT_MS_LANGID_ARMENIAN_ARMENIA                  0x042B
+#define TT_MS_LANGID_AZERI_AZERBAIJAN_LATIN            0x042C
+#define TT_MS_LANGID_AZERI_AZERBAIJAN_CYRILLIC         0x082C
+#define TT_MS_LANGID_BASQUE_BASQUE                     0x042D
+#define TT_MS_LANGID_UPPER_SORBIAN_GERMANY             0x042E
+#define TT_MS_LANGID_LOWER_SORBIAN_GERMANY             0x082E
+#define TT_MS_LANGID_MACEDONIAN_MACEDONIA              0x042F
+#define TT_MS_LANGID_SETSWANA_SOUTH_AFRICA             0x0432
+#define TT_MS_LANGID_ISIXHOSA_SOUTH_AFRICA             0x0434
+#define TT_MS_LANGID_ISIZULU_SOUTH_AFRICA              0x0435
 #define TT_MS_LANGID_AFRIKAANS_SOUTH_AFRICA            0x0436
 #define TT_MS_LANGID_GEORGIAN_GEORGIA                  0x0437
 #define TT_MS_LANGID_FAEROESE_FAEROE_ISLANDS           0x0438
 #define TT_MS_LANGID_HINDI_INDIA                       0x0439
-#define TT_MS_LANGID_MALTESE_MALTA                     0x043a
-  /* Added by XPsp2 Platform SDK (2004-07-26) */
-#define TT_MS_LANGID_SAMI_NORTHERN_NORWAY              0x043b
-#define TT_MS_LANGID_SAMI_NORTHERN_SWEDEN              0x083b
-#define TT_MS_LANGID_SAMI_NORTHERN_FINLAND             0x0C3b
-#define TT_MS_LANGID_SAMI_LULE_NORWAY                  0x103b
-#define TT_MS_LANGID_SAMI_LULE_SWEDEN                  0x143b
-#define TT_MS_LANGID_SAMI_SOUTHERN_NORWAY              0x183b
-#define TT_MS_LANGID_SAMI_SOUTHERN_SWEDEN              0x1C3b
-#define TT_MS_LANGID_SAMI_SKOLT_FINLAND                0x203b
-#define TT_MS_LANGID_SAMI_INARI_FINLAND                0x243b
-  /* ... and we also keep our old identifier... */
-#define TT_MS_LANGID_SAAMI_LAPONIA                     0x043b
-
-#if 0 /* this seems to be a previous inversion */
-#define TT_MS_LANGID_IRISH_GAELIC_IRELAND              0x043c
-#define TT_MS_LANGID_SCOTTISH_GAELIC_UNITED_KINGDOM    0x083c
-#else
-#define TT_MS_LANGID_SCOTTISH_GAELIC_UNITED_KINGDOM    0x083c
-#define TT_MS_LANGID_IRISH_GAELIC_IRELAND              0x043c
-#endif
-
-#define TT_MS_LANGID_YIDDISH_GERMANY                   0x043d
-#define TT_MS_LANGID_MALAY_MALAYSIA                    0x043e
-#define TT_MS_LANGID_MALAY_BRUNEI_DARUSSALAM           0x083e
-#define TT_MS_LANGID_KAZAK_KAZAKSTAN                   0x043f
-#define TT_MS_LANGID_KIRGHIZ_KIRGHIZSTAN /* Cyrillic*/ 0x0440
-  /* alias declared in Windows 2000 */
-#define TT_MS_LANGID_KIRGHIZ_KIRGHIZ_REPUBLIC \
-          TT_MS_LANGID_KIRGHIZ_KIRGHIZSTAN
-
-#define TT_MS_LANGID_SWAHILI_KENYA                     0x0441
+#define TT_MS_LANGID_MALTESE_MALTA                     0x043A
+#define TT_MS_LANGID_SAMI_NORTHERN_NORWAY              0x043B
+#define TT_MS_LANGID_SAMI_NORTHERN_SWEDEN              0x083B
+#define TT_MS_LANGID_SAMI_NORTHERN_FINLAND             0x0C3B
+#define TT_MS_LANGID_SAMI_LULE_NORWAY                  0x103B
+#define TT_MS_LANGID_SAMI_LULE_SWEDEN                  0x143B
+#define TT_MS_LANGID_SAMI_SOUTHERN_NORWAY              0x183B
+#define TT_MS_LANGID_SAMI_SOUTHERN_SWEDEN              0x1C3B
+#define TT_MS_LANGID_SAMI_SKOLT_FINLAND                0x203B
+#define TT_MS_LANGID_SAMI_INARI_FINLAND                0x243B
+#define TT_MS_LANGID_IRISH_IRELAND                     0x083C
+#define TT_MS_LANGID_MALAY_MALAYSIA                    0x043E
+#define TT_MS_LANGID_MALAY_BRUNEI_DARUSSALAM           0x083E
+#define TT_MS_LANGID_KAZAKH_KAZAKHSTAN                 0x043F
+#define TT_MS_LANGID_KYRGYZ_KYRGYZSTAN /* Cyrillic*/   0x0440
+#define TT_MS_LANGID_KISWAHILI_KENYA                   0x0441
 #define TT_MS_LANGID_TURKMEN_TURKMENISTAN              0x0442
 #define TT_MS_LANGID_UZBEK_UZBEKISTAN_LATIN            0x0443
 #define TT_MS_LANGID_UZBEK_UZBEKISTAN_CYRILLIC         0x0843
-#define TT_MS_LANGID_TATAR_TATARSTAN                   0x0444
+#define TT_MS_LANGID_TATAR_RUSSIA                      0x0444
 #define TT_MS_LANGID_BENGALI_INDIA                     0x0445
 #define TT_MS_LANGID_BENGALI_BANGLADESH                0x0845
 #define TT_MS_LANGID_PUNJABI_INDIA                     0x0446
-#define TT_MS_LANGID_PUNJABI_ARABIC_PAKISTAN           0x0846
 #define TT_MS_LANGID_GUJARATI_INDIA                    0x0447
-#define TT_MS_LANGID_ORIYA_INDIA                       0x0448
+#define TT_MS_LANGID_ODIA_INDIA                        0x0448
 #define TT_MS_LANGID_TAMIL_INDIA                       0x0449
-#define TT_MS_LANGID_TELUGU_INDIA                      0x044a
-#define TT_MS_LANGID_KANNADA_INDIA                     0x044b
-#define TT_MS_LANGID_MALAYALAM_INDIA                   0x044c
-#define TT_MS_LANGID_ASSAMESE_INDIA                    0x044d
-#define TT_MS_LANGID_MARATHI_INDIA                     0x044e
-#define TT_MS_LANGID_SANSKRIT_INDIA                    0x044f
+#define TT_MS_LANGID_TELUGU_INDIA                      0x044A
+#define TT_MS_LANGID_KANNADA_INDIA                     0x044B
+#define TT_MS_LANGID_MALAYALAM_INDIA                   0x044C
+#define TT_MS_LANGID_ASSAMESE_INDIA                    0x044D
+#define TT_MS_LANGID_MARATHI_INDIA                     0x044E
+#define TT_MS_LANGID_SANSKRIT_INDIA                    0x044F
 #define TT_MS_LANGID_MONGOLIAN_MONGOLIA /* Cyrillic */ 0x0450
-#define TT_MS_LANGID_MONGOLIAN_MONGOLIA_MONGOLIAN      0x0850
-#define TT_MS_LANGID_TIBETAN_CHINA                     0x0451
-  /* Don't use the next constant!  It has            */
-  /*   (1) the wrong spelling (Dzonghka)             */
-  /*   (2) Microsoft doesn't officially define it -- */
-  /*       at least it is not in the List of Local   */
-  /*       ID Values.                                */
-  /*   (3) Dzongkha is not the same language as      */
-  /*       Tibetan, so merging it is wrong anyway.   */
-  /*                                                 */
-  /* TT_MS_LANGID_TIBETAN_BHUTAN is correct, BTW.    */
-#define TT_MS_LANGID_DZONGHKA_BHUTAN                   0x0851
-
-#if 0
-  /* the following used to be defined */
-#define TT_MS_LANGID_TIBETAN_BHUTAN                    0x0451
-  /* ... but it was changed; */
-#else
-  /* So we will continue to #define it, but with the correct value */
-#define TT_MS_LANGID_TIBETAN_BHUTAN   TT_MS_LANGID_DZONGHKA_BHUTAN
-#endif
-
-#define TT_MS_LANGID_WELSH_WALES                       0x0452
+#define TT_MS_LANGID_MONGOLIAN_PRC                     0x0850
+#define TT_MS_LANGID_TIBETAN_PRC                       0x0451
+#define TT_MS_LANGID_WELSH_UNITED_KINGDOM              0x0452
 #define TT_MS_LANGID_KHMER_CAMBODIA                    0x0453
 #define TT_MS_LANGID_LAO_LAOS                          0x0454
-#define TT_MS_LANGID_BURMESE_MYANMAR                   0x0455
-#define TT_MS_LANGID_GALICIAN_SPAIN                    0x0456
+#define TT_MS_LANGID_GALICIAN_GALICIAN                 0x0456
 #define TT_MS_LANGID_KONKANI_INDIA                     0x0457
+#define TT_MS_LANGID_SYRIAC_SYRIA                      0x045A
+#define TT_MS_LANGID_SINHALA_SRI_LANKA                 0x045B
+#define TT_MS_LANGID_INUKTITUT_CANADA                  0x045D
+#define TT_MS_LANGID_INUKTITUT_CANADA_LATIN            0x085D
+#define TT_MS_LANGID_AMHARIC_ETHIOPIA                  0x045E
+#define TT_MS_LANGID_TAMAZIGHT_ALGERIA                 0x085F
+#define TT_MS_LANGID_NEPALI_NEPAL                      0x0461
+#define TT_MS_LANGID_FRISIAN_NETHERLANDS               0x0462
+#define TT_MS_LANGID_PASHTO_AFGHANISTAN                0x0463
+#define TT_MS_LANGID_FILIPINO_PHILIPPINES              0x0464
+#define TT_MS_LANGID_DHIVEHI_MALDIVES                  0x0465
+#define TT_MS_LANGID_HAUSA_NIGERIA                     0x0468
+#define TT_MS_LANGID_YORUBA_NIGERIA                    0x046A
+#define TT_MS_LANGID_QUECHUA_BOLIVIA                   0x046B
+#define TT_MS_LANGID_QUECHUA_ECUADOR                   0x086B
+#define TT_MS_LANGID_QUECHUA_PERU                      0x0C6B
+#define TT_MS_LANGID_SESOTHO_SA_LEBOA_SOUTH_AFRICA     0x046C
+#define TT_MS_LANGID_BASHKIR_RUSSIA                    0x046D
+#define TT_MS_LANGID_LUXEMBOURGISH_LUXEMBOURG          0x046E
+#define TT_MS_LANGID_GREENLANDIC_GREENLAND             0x046F
+#define TT_MS_LANGID_IGBO_NIGERIA                      0x0470
+#define TT_MS_LANGID_YI_PRC                            0x0478
+#define TT_MS_LANGID_MAPUDUNGUN_CHILE                  0x047A
+#define TT_MS_LANGID_MOHAWK_MOHAWK                     0x047C
+#define TT_MS_LANGID_BRETON_FRANCE                     0x047E
+#define TT_MS_LANGID_UIGHUR_PRC                        0x0480
+#define TT_MS_LANGID_MAORI_NEW_ZEALAND                 0x0481
+#define TT_MS_LANGID_OCCITAN_FRANCE                    0x0482
+#define TT_MS_LANGID_CORSICAN_FRANCE                   0x0483
+#define TT_MS_LANGID_ALSATIAN_FRANCE                   0x0484
+#define TT_MS_LANGID_YAKUT_RUSSIA                      0x0485
+#define TT_MS_LANGID_KICHE_GUATEMALA                   0x0486
+#define TT_MS_LANGID_KINYARWANDA_RWANDA                0x0487
+#define TT_MS_LANGID_WOLOF_SENEGAL                     0x0488
+#define TT_MS_LANGID_DARI_AFGHANISTAN                  0x048C
+
+  /* */
+
+
+  /* legacy macro definitions not present in OpenType 1.8.1 */
+#define TT_MS_LANGID_ARABIC_GENERAL                    0x0001
+#define TT_MS_LANGID_CATALAN_SPAIN \
+          TT_MS_LANGID_CATALAN_CATALAN
+#define TT_MS_LANGID_CHINESE_GENERAL                   0x0004
+#define TT_MS_LANGID_CHINESE_MACAU \
+          TT_MS_LANGID_CHINESE_MACAO
+#define TT_MS_LANGID_GERMAN_LIECHTENSTEI \
+          TT_MS_LANGID_GERMAN_LIECHTENSTEIN
+#define TT_MS_LANGID_ENGLISH_GENERAL                   0x0009
+#define TT_MS_LANGID_ENGLISH_INDONESIA                 0x3809
+#define TT_MS_LANGID_ENGLISH_HONG_KONG                 0x3C09
+#define TT_MS_LANGID_SPANISH_SPAIN_INTERNATIONAL_SORT \
+          TT_MS_LANGID_SPANISH_SPAIN_MODERN_SORT
+#define TT_MS_LANGID_SPANISH_LATIN_AMERICA             0xE40AU
+#define TT_MS_LANGID_FRENCH_WEST_INDIES                0x1C0C
+#define TT_MS_LANGID_FRENCH_REUNION                    0x200C
+#define TT_MS_LANGID_FRENCH_CONGO                      0x240C
+  /* which was formerly: */
+#define TT_MS_LANGID_FRENCH_ZAIRE \
+          TT_MS_LANGID_FRENCH_CONGO
+#define TT_MS_LANGID_FRENCH_SENEGAL                    0x280C
+#define TT_MS_LANGID_FRENCH_CAMEROON                   0x2C0C
+#define TT_MS_LANGID_FRENCH_COTE_D_IVOIRE              0x300C
+#define TT_MS_LANGID_FRENCH_MALI                       0x340C
+#define TT_MS_LANGID_FRENCH_MOROCCO                    0x380C
+#define TT_MS_LANGID_FRENCH_HAITI                      0x3C0C
+#define TT_MS_LANGID_FRENCH_NORTH_AFRICA               0xE40CU
+#define TT_MS_LANGID_KOREAN_EXTENDED_WANSUNG_KOREA \
+          TT_MS_LANGID_KOREAN_KOREA
+#define TT_MS_LANGID_KOREAN_JOHAB_KOREA                0x0812
+#define TT_MS_LANGID_RHAETO_ROMANIC_SWITZERLAND \
+          TT_MS_LANGID_ROMANSH_SWITZERLAND
+#define TT_MS_LANGID_MOLDAVIAN_MOLDAVIA                0x0818
+#define TT_MS_LANGID_RUSSIAN_MOLDAVIA                  0x0819
+#define TT_MS_LANGID_URDU_INDIA                        0x0820
+#define TT_MS_LANGID_CLASSIC_LITHUANIAN_LITHUANIA      0x0827
+#define TT_MS_LANGID_SLOVENE_SLOVENIA \
+          TT_MS_LANGID_SLOVENIAN_SLOVENIA
+#define TT_MS_LANGID_FARSI_IRAN                        0x0429
+#define TT_MS_LANGID_BASQUE_SPAIN \
+          TT_MS_LANGID_BASQUE_BASQUE
+#define TT_MS_LANGID_SORBIAN_GERMANY \
+          TT_MS_LANGID_UPPER_SORBIAN_GERMANY
+#define TT_MS_LANGID_SUTU_SOUTH_AFRICA                 0x0430
+#define TT_MS_LANGID_TSONGA_SOUTH_AFRICA               0x0431
+#define TT_MS_LANGID_TSWANA_SOUTH_AFRICA \
+          TT_MS_LANGID_SETSWANA_SOUTH_AFRICA
+#define TT_MS_LANGID_VENDA_SOUTH_AFRICA                0x0433
+#define TT_MS_LANGID_XHOSA_SOUTH_AFRICA \
+          TT_MS_LANGID_ISIXHOSA_SOUTH_AFRICA
+#define TT_MS_LANGID_ZULU_SOUTH_AFRICA \
+          TT_MS_LANGID_ISIZULU_SOUTH_AFRICA
+#define TT_MS_LANGID_SAAMI_LAPONIA                     0x043B
+  /* the next two values are incorrectly inverted */
+#define TT_MS_LANGID_IRISH_GAELIC_IRELAND              0x043C
+#define TT_MS_LANGID_SCOTTISH_GAELIC_UNITED_KINGDOM    0x083C
+#define TT_MS_LANGID_YIDDISH_GERMANY                   0x043D
+#define TT_MS_LANGID_KAZAK_KAZAKSTAN \
+          TT_MS_LANGID_KAZAKH_KAZAKHSTAN
+#define TT_MS_LANGID_KIRGHIZ_KIRGHIZ_REPUBLIC \
+          TT_MS_LANGID_KYRGYZ_KYRGYZSTAN
+#define TT_MS_LANGID_KIRGHIZ_KIRGHIZSTAN \
+          TT_MS_LANGID_KYRGYZ_KYRGYZSTAN
+#define TT_MS_LANGID_SWAHILI_KENYA \
+          TT_MS_LANGID_KISWAHILI_KENYA
+#define TT_MS_LANGID_TATAR_TATARSTAN \
+          TT_MS_LANGID_TATAR_RUSSIA
+#define TT_MS_LANGID_PUNJABI_ARABIC_PAKISTAN           0x0846
+#define TT_MS_LANGID_ORIYA_INDIA \
+          TT_MS_LANGID_ODIA_INDIA
+#define TT_MS_LANGID_MONGOLIAN_MONGOLIA_MONGOLIAN \
+          TT_MS_LANGID_MONGOLIAN_PRC
+#define TT_MS_LANGID_TIBETAN_CHINA \
+          TT_MS_LANGID_TIBETAN_PRC
+#define TT_MS_LANGID_DZONGHKA_BHUTAN                   0x0851
+#define TT_MS_LANGID_TIBETAN_BHUTAN \
+          TT_MS_LANGID_DZONGHKA_BHUTAN
+#define TT_MS_LANGID_WELSH_WALES \
+          TT_MS_LANGID_WELSH_UNITED_KINGDOM
+#define TT_MS_LANGID_BURMESE_MYANMAR                   0x0455
+#define TT_MS_LANGID_GALICIAN_SPAIN \
+          TT_MS_LANGID_GALICIAN_GALICIAN
 #define TT_MS_LANGID_MANIPURI_INDIA  /* Bengali */     0x0458
 #define TT_MS_LANGID_SINDHI_INDIA /* Arabic */         0x0459
 #define TT_MS_LANGID_SINDHI_PAKISTAN                   0x0859
-  /* Missing a LCID for Sindhi in Devanagari script */
-#define TT_MS_LANGID_SYRIAC_SYRIA                      0x045a
-#define TT_MS_LANGID_SINHALESE_SRI_LANKA               0x045b
-#define TT_MS_LANGID_CHEROKEE_UNITED_STATES            0x045c
-#define TT_MS_LANGID_INUKTITUT_CANADA                  0x045d
-#define TT_MS_LANGID_AMHARIC_ETHIOPIA                  0x045e
-#define TT_MS_LANGID_TAMAZIGHT_MOROCCO /* Arabic */    0x045f
-#define TT_MS_LANGID_TAMAZIGHT_MOROCCO_LATIN           0x085f
-  /* Missing a LCID for Tifinagh script */
+#define TT_MS_LANGID_SINHALESE_SRI_LANKA \
+          TT_MS_LANGID_SINHALA_SRI_LANKA
+#define TT_MS_LANGID_CHEROKEE_UNITED_STATES            0x045C
+#define TT_MS_LANGID_TAMAZIGHT_MOROCCO /* Arabic */    0x045F
+#define TT_MS_LANGID_TAMAZIGHT_MOROCCO_LATIN \
+          TT_MS_LANGID_TAMAZIGHT_ALGERIA
 #define TT_MS_LANGID_KASHMIRI_PAKISTAN /* Arabic */    0x0460
-  /* Spelled this way by XPsp2 Platform SDK (2004-07-26) */
-  /* script is yet unclear... might be Arabic, Nagari or Sharada */
 #define TT_MS_LANGID_KASHMIRI_SASIA                    0x0860
-  /* ... and aliased (by MS) for compatibility reasons. */
-#define TT_MS_LANGID_KASHMIRI_INDIA TT_MS_LANGID_KASHMIRI_SASIA
-#define TT_MS_LANGID_NEPALI_NEPAL                      0x0461
+#define TT_MS_LANGID_KASHMIRI_INDIA \
+          TT_MS_LANGID_KASHMIRI_SASIA
 #define TT_MS_LANGID_NEPALI_INDIA                      0x0861
-#define TT_MS_LANGID_FRISIAN_NETHERLANDS               0x0462
-#define TT_MS_LANGID_PASHTO_AFGHANISTAN                0x0463
-#define TT_MS_LANGID_FILIPINO_PHILIPPINES              0x0464
-#define TT_MS_LANGID_DHIVEHI_MALDIVES                  0x0465
-  /* alias declared in Windows 2000 */
-#define TT_MS_LANGID_DIVEHI_MALDIVES  TT_MS_LANGID_DHIVEHI_MALDIVES
+#define TT_MS_LANGID_DIVEHI_MALDIVES \
+          TT_MS_LANGID_DHIVEHI_MALDIVES
 #define TT_MS_LANGID_EDO_NIGERIA                       0x0466
 #define TT_MS_LANGID_FULFULDE_NIGERIA                  0x0467
-#define TT_MS_LANGID_HAUSA_NIGERIA                     0x0468
 #define TT_MS_LANGID_IBIBIO_NIGERIA                    0x0469
-#define TT_MS_LANGID_YORUBA_NIGERIA                    0x046a
-#define TT_MS_LANGID_QUECHUA_BOLIVIA                   0x046b
-#define TT_MS_LANGID_QUECHUA_ECUADOR                   0x086b
-#define TT_MS_LANGID_QUECHUA_PERU                      0x0c6b
-#define TT_MS_LANGID_SEPEDI_SOUTH_AFRICA               0x046c
-  /* Also spelled by XPsp2 Platform SDK (2004-07-26) */
+#define TT_MS_LANGID_SEPEDI_SOUTH_AFRICA \
+          TT_MS_LANGID_SESOTHO_SA_LEBOA_SOUTH_AFRICA
 #define TT_MS_LANGID_SOTHO_SOUTHERN_SOUTH_AFRICA \
-          TT_MS_LANGID_SEPEDI_SOUTH_AFRICA
-  /* language codes 0x046d, 0x046e and 0x046f are (still) unknown. */
-#define TT_MS_LANGID_IGBO_NIGERIA                      0x0470
+          TT_MS_LANGID_SESOTHO_SA_LEBOA_SOUTH_AFRICA
 #define TT_MS_LANGID_KANURI_NIGERIA                    0x0471
 #define TT_MS_LANGID_OROMO_ETHIOPIA                    0x0472
 #define TT_MS_LANGID_TIGRIGNA_ETHIOPIA                 0x0473
 #define TT_MS_LANGID_TIGRIGNA_ERYTHREA                 0x0873
-  /* also spelled in the `Passport SDK' list as: */
-#define TT_MS_LANGID_TIGRIGNA_ERYTREA  TT_MS_LANGID_TIGRIGNA_ERYTHREA
+#define TT_MS_LANGID_TIGRIGNA_ERYTREA \
+          TT_MS_LANGID_TIGRIGNA_ERYTHREA
 #define TT_MS_LANGID_GUARANI_PARAGUAY                  0x0474
 #define TT_MS_LANGID_HAWAIIAN_UNITED_STATES            0x0475
 #define TT_MS_LANGID_LATIN                             0x0476
 #define TT_MS_LANGID_SOMALI_SOMALIA                    0x0477
-  /* Note: Yi does not have a (proper) ISO 639-2 code, since it is mostly */
-  /*       not written (but OTOH the peculiar writing system is worth     */
-  /*       studying).                                                     */
-#define TT_MS_LANGID_YI_CHINA                          0x0478
+#define TT_MS_LANGID_YI_CHINA \
+          TT_MS_LANGID_YI_PRC
 #define TT_MS_LANGID_PAPIAMENTU_NETHERLANDS_ANTILLES   0x0479
-  /* language codes from 0x047a to 0x047f are (still) unknown. */
-#define TT_MS_LANGID_UIGHUR_CHINA                      0x0480
-#define TT_MS_LANGID_MAORI_NEW_ZEALAND                 0x0481
+#define TT_MS_LANGID_UIGHUR_CHINA \
+          TT_MS_LANGID_UIGHUR_PRC
+
+
+  /**************************************************************************
+   *
+   * @enum:
+   *   TT_NAME_ID_XXX
+   *
+   * @description:
+   *   Possible values of the 'name' identifier field in the name records of
+   *   an SFNT 'name' table.  These values are platform independent.
+   */
 
-#if 0  /* not deemed useful for fonts */
-#define TT_MS_LANGID_HUMAN_INTERFACE_DEVICE            0x04ff
-#endif
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* Possible values of the `name' identifier field in the name records of */
-  /* the TTF `name' table.  These values are platform independent.         */
-  /*                                                                       */
-#define TT_NAME_ID_COPYRIGHT            0
-#define TT_NAME_ID_FONT_FAMILY          1
-#define TT_NAME_ID_FONT_SUBFAMILY       2
-#define TT_NAME_ID_UNIQUE_ID            3
-#define TT_NAME_ID_FULL_NAME            4
-#define TT_NAME_ID_VERSION_STRING       5
-#define TT_NAME_ID_PS_NAME              6
-#define TT_NAME_ID_TRADEMARK            7
+#define TT_NAME_ID_COPYRIGHT              0
+#define TT_NAME_ID_FONT_FAMILY            1
+#define TT_NAME_ID_FONT_SUBFAMILY         2
+#define TT_NAME_ID_UNIQUE_ID              3
+#define TT_NAME_ID_FULL_NAME              4
+#define TT_NAME_ID_VERSION_STRING         5
+#define TT_NAME_ID_PS_NAME                6
+#define TT_NAME_ID_TRADEMARK              7
 
   /* the following values are from the OpenType spec */
-#define TT_NAME_ID_MANUFACTURER         8
-#define TT_NAME_ID_DESIGNER             9
-#define TT_NAME_ID_DESCRIPTION          10
-#define TT_NAME_ID_VENDOR_URL           11
-#define TT_NAME_ID_DESIGNER_URL         12
-#define TT_NAME_ID_LICENSE              13
-#define TT_NAME_ID_LICENSE_URL          14
+#define TT_NAME_ID_MANUFACTURER           8
+#define TT_NAME_ID_DESIGNER               9
+#define TT_NAME_ID_DESCRIPTION            10
+#define TT_NAME_ID_VENDOR_URL             11
+#define TT_NAME_ID_DESIGNER_URL           12
+#define TT_NAME_ID_LICENSE                13
+#define TT_NAME_ID_LICENSE_URL            14
   /* number 15 is reserved */
-#define TT_NAME_ID_PREFERRED_FAMILY     16
-#define TT_NAME_ID_PREFERRED_SUBFAMILY  17
-#define TT_NAME_ID_MAC_FULL_NAME        18
+#define TT_NAME_ID_TYPOGRAPHIC_FAMILY     16
+#define TT_NAME_ID_TYPOGRAPHIC_SUBFAMILY  17
+#define TT_NAME_ID_MAC_FULL_NAME          18
 
   /* The following code is new as of 2000-01-21 */
-#define TT_NAME_ID_SAMPLE_TEXT          19
+#define TT_NAME_ID_SAMPLE_TEXT            19
 
   /* This is new in OpenType 1.3 */
-#define TT_NAME_ID_CID_FINDFONT_NAME    20
+#define TT_NAME_ID_CID_FINDFONT_NAME      20
+
+  /* This is new in OpenType 1.5 */
+#define TT_NAME_ID_WWS_FAMILY             21
+#define TT_NAME_ID_WWS_SUBFAMILY          22
 
+  /* This is new in OpenType 1.7 */
+#define TT_NAME_ID_LIGHT_BACKGROUND       23
+#define TT_NAME_ID_DARK_BACKGROUND        24
 
-  /*************************************************************************/
-  /*                                                                       */
-  /* Bit mask values for the Unicode Ranges from the TTF `OS2 ' table.     */
-  /*                                                                       */
-  /* Updated 02-Jul-2000.                                                  */
-  /*                                                                       */
+  /* This is new in OpenType 1.8 */
+#define TT_NAME_ID_VARIATIONS_PREFIX      25
 
-  /* General Scripts Area */
+  /* these two values are deprecated */
+#define TT_NAME_ID_PREFERRED_FAMILY     TT_NAME_ID_TYPOGRAPHIC_FAMILY
+#define TT_NAME_ID_PREFERRED_SUBFAMILY  TT_NAME_ID_TYPOGRAPHIC_SUBFAMILY
+
+
+  /**************************************************************************
+   *
+   * @enum:
+   *   TT_UCR_XXX
+   *
+   * @description:
+   *   Possible bit mask values for the `ulUnicodeRangeX` fields in an SFNT
+   *   'OS/2' table.
+   */
+
+  /* ulUnicodeRange1 */
+  /* --------------- */
 
   /* Bit  0   Basic Latin */
 #define TT_UCR_BASIC_LATIN                     (1L <<  0) /* U+0020-U+007E */
@@ -839,27 +855,44 @@ FT_BEGIN_HEADER
 #define TT_UCR_LATIN_EXTENDED_A                (1L <<  2) /* U+0100-U+017F */
   /* Bit  3   Latin Extended-B */
 #define TT_UCR_LATIN_EXTENDED_B                (1L <<  3) /* U+0180-U+024F */
-  /* Bit  4   IPA Extensions */
+  /* Bit  4   IPA Extensions                 */
+  /*          Phonetic Extensions            */
+  /*          Phonetic Extensions Supplement */
 #define TT_UCR_IPA_EXTENSIONS                  (1L <<  4) /* U+0250-U+02AF */
+                                                          /* U+1D00-U+1D7F */
+                                                          /* U+1D80-U+1DBF */
   /* Bit  5   Spacing Modifier Letters */
+  /*          Modifier Tone Letters    */
 #define TT_UCR_SPACING_MODIFIER                (1L <<  5) /* U+02B0-U+02FF */
-  /* Bit  6   Combining Diacritical Marks */
-#define TT_UCR_COMBINING_DIACRITICS            (1L <<  6) /* U+0300-U+036F */
+                                                          /* U+A700-U+A71F */
+  /* Bit  6   Combining Diacritical Marks            */
+  /*          Combining Diacritical Marks Supplement */
+#define TT_UCR_COMBINING_DIACRITICAL_MARKS     (1L <<  6) /* U+0300-U+036F */
+                                                          /* U+1DC0-U+1DFF */
   /* Bit  7   Greek and Coptic */
 #define TT_UCR_GREEK                           (1L <<  7) /* U+0370-U+03FF */
-  /* Bit  8 is reserved (was: Greek Symbols and Coptic) */
-  /* Bit  9   Cyrillic               + */
-  /*          Cyrillic Supplementary   */
+  /* Bit  8   Coptic */
+#define TT_UCR_COPTIC                          (1L <<  8) /* U+2C80-U+2CFF */
+  /* Bit  9   Cyrillic            */
+  /*          Cyrillic Supplement */
+  /*          Cyrillic Extended-A */
+  /*          Cyrillic Extended-B */
 #define TT_UCR_CYRILLIC                        (1L <<  9) /* U+0400-U+04FF */
                                                           /* U+0500-U+052F */
+                                                          /* U+2DE0-U+2DFF */
+                                                          /* U+A640-U+A69F */
   /* Bit 10   Armenian */
 #define TT_UCR_ARMENIAN                        (1L << 10) /* U+0530-U+058F */
   /* Bit 11   Hebrew */
 #define TT_UCR_HEBREW                          (1L << 11) /* U+0590-U+05FF */
-  /* Bit 12 is reserved (was: Hebrew Extended) */
-  /* Bit 13   Arabic */
+  /* Bit 12   Vai */
+#define TT_UCR_VAI                             (1L << 12) /* U+A500-U+A63F */
+  /* Bit 13   Arabic            */
+  /*          Arabic Supplement */
 #define TT_UCR_ARABIC                          (1L << 13) /* U+0600-U+06FF */
-  /* Bit 14 is reserved (was: Arabic Extended) */
+                                                          /* U+0750-U+077F */
+  /* Bit 14   NKo */
+#define TT_UCR_NKO                             (1L << 14) /* U+07C0-U+07FF */
   /* Bit 15   Devanagari */
 #define TT_UCR_DEVANAGARI                      (1L << 15) /* U+0900-U+097F */
   /* Bit 16   Bengali */
@@ -882,40 +915,53 @@ FT_BEGIN_HEADER
 #define TT_UCR_THAI                            (1L << 24) /* U+0E00-U+0E7F */
   /* Bit 25   Lao */
 #define TT_UCR_LAO                             (1L << 25) /* U+0E80-U+0EFF */
-  /* Bit 26   Georgian */
+  /* Bit 26   Georgian            */
+  /*          Georgian Supplement */
 #define TT_UCR_GEORGIAN                        (1L << 26) /* U+10A0-U+10FF */
-  /* Bit 27 is reserved (was Georgian Extended) */
+                                                          /* U+2D00-U+2D2F */
+  /* Bit 27   Balinese */
+#define TT_UCR_BALINESE                        (1L << 27) /* U+1B00-U+1B7F */
   /* Bit 28   Hangul Jamo */
 #define TT_UCR_HANGUL_JAMO                     (1L << 28) /* U+1100-U+11FF */
   /* Bit 29   Latin Extended Additional */
+  /*          Latin Extended-C          */
+  /*          Latin Extended-D          */
 #define TT_UCR_LATIN_EXTENDED_ADDITIONAL       (1L << 29) /* U+1E00-U+1EFF */
+                                                          /* U+2C60-U+2C7F */
+                                                          /* U+A720-U+A7FF */
   /* Bit 30   Greek Extended */
 #define TT_UCR_GREEK_EXTENDED                  (1L << 30) /* U+1F00-U+1FFF */
+  /* Bit 31   General Punctuation      */
+  /*          Supplemental Punctuation */
+#define TT_UCR_GENERAL_PUNCTUATION             (1L << 31) /* U+2000-U+206F */
+                                                          /* U+2E00-U+2E7F */
 
-  /* Symbols Area */
+  /* ulUnicodeRange2 */
+  /* --------------- */
 
-  /* Bit 31   General Punctuation */
-#define TT_UCR_GENERAL_PUNCTUATION             (1L << 31) /* U+2000-U+206F */
   /* Bit 32   Superscripts And Subscripts */
 #define TT_UCR_SUPERSCRIPTS_SUBSCRIPTS         (1L <<  0) /* U+2070-U+209F */
   /* Bit 33   Currency Symbols */
 #define TT_UCR_CURRENCY_SYMBOLS                (1L <<  1) /* U+20A0-U+20CF */
   /* Bit 34   Combining Diacritical Marks For Symbols */
-#define TT_UCR_COMBINING_DIACRITICS_SYMB       (1L <<  2) /* U+20D0-U+20FF */
+#define TT_UCR_COMBINING_DIACRITICAL_MARKS_SYMB \
+                                               (1L <<  2) /* U+20D0-U+20FF */
   /* Bit 35   Letterlike Symbols */
 #define TT_UCR_LETTERLIKE_SYMBOLS              (1L <<  3) /* U+2100-U+214F */
   /* Bit 36   Number Forms */
 #define TT_UCR_NUMBER_FORMS                    (1L <<  4) /* U+2150-U+218F */
-  /* Bit 37   Arrows                + */
-  /*          Supplemental Arrows-A + */
-  /*          Supplemental Arrows-B   */
+  /* Bit 37   Arrows                           */
+  /*          Supplemental Arrows-A            */
+  /*          Supplemental Arrows-B            */
+  /*          Miscellaneous Symbols and Arrows */
 #define TT_UCR_ARROWS                          (1L <<  5) /* U+2190-U+21FF */
                                                           /* U+27F0-U+27FF */
                                                           /* U+2900-U+297F */
-  /* Bit 38   Mathematical Operators               + */
-  /*          Supplemental Mathematical Operators  + */
-  /*          Miscellaneous Mathematical Symbols-A + */
-  /*          Miscellaneous Mathematical Symbols-B   */
+                                                          /* U+2B00-U+2BFF */
+  /* Bit 38   Mathematical Operators               */
+  /*          Supplemental Mathematical Operators  */
+  /*          Miscellaneous Mathematical Symbols-A */
+  /*          Miscellaneous Mathematical Symbols-B */
 #define TT_UCR_MATHEMATICAL_OPERATORS          (1L <<  6) /* U+2200-U+22FF */
                                                           /* U+2A00-U+2AFF */
                                                           /* U+27C0-U+27EF */
@@ -938,60 +984,53 @@ FT_BEGIN_HEADER
 #define TT_UCR_MISCELLANEOUS_SYMBOLS           (1L << 14) /* U+2600-U+26FF */
   /* Bit 47   Dingbats */
 #define TT_UCR_DINGBATS                        (1L << 15) /* U+2700-U+27BF */
-
-  /* CJK Phonetics and Symbols Area */
-
   /* Bit 48   CJK Symbols and Punctuation */
 #define TT_UCR_CJK_SYMBOLS                     (1L << 16) /* U+3000-U+303F */
   /* Bit 49   Hiragana */
 #define TT_UCR_HIRAGANA                        (1L << 17) /* U+3040-U+309F */
-  /* Bit 50   Katakana                     + */
-  /*          Katakana Phonetic Extensions   */
+  /* Bit 50   Katakana                     */
+  /*          Katakana Phonetic Extensions */
 #define TT_UCR_KATAKANA                        (1L << 18) /* U+30A0-U+30FF */
                                                           /* U+31F0-U+31FF */
-  /* Bit 51   Bopomofo          + */
-  /*          Bopomofo Extended   */
+  /* Bit 51   Bopomofo          */
+  /*          Bopomofo Extended */
 #define TT_UCR_BOPOMOFO                        (1L << 19) /* U+3100-U+312F */
                                                           /* U+31A0-U+31BF */
   /* Bit 52   Hangul Compatibility Jamo */
 #define TT_UCR_HANGUL_COMPATIBILITY_JAMO       (1L << 20) /* U+3130-U+318F */
-  /* Bit 53   Kanbun */
-#define TT_UCR_CJK_MISC                        (1L << 21) /* U+3190-U+319F */
-#define TT_UCR_KANBUN  TT_UCR_CJK_MISC
+  /* Bit 53   Phags-Pa */
+#define TT_UCR_CJK_MISC                        (1L << 21) /* U+A840-U+A87F */
+#define TT_UCR_KANBUN  TT_UCR_CJK_MISC /* deprecated */
+#define TT_UCR_PHAGSPA
   /* Bit 54   Enclosed CJK Letters and Months */
 #define TT_UCR_ENCLOSED_CJK_LETTERS_MONTHS     (1L << 22) /* U+3200-U+32FF */
   /* Bit 55   CJK Compatibility */
 #define TT_UCR_CJK_COMPATIBILITY               (1L << 23) /* U+3300-U+33FF */
-
-  /* Hangul Syllables Area */
-
-  /* Bit 56   Hangul */
+  /* Bit 56   Hangul Syllables */
 #define TT_UCR_HANGUL                          (1L << 24) /* U+AC00-U+D7A3 */
-
-  /* Surrogates Area */
-
-  /* Bit 57   High Surrogates             + */
-  /*          High Private Use Surrogates + */
-  /*          Low Surrogates                */
+  /* Bit 57   High Surrogates              */
+  /*          High Private Use Surrogates  */
+  /*          Low Surrogates               */
+
+  /* According to OpenType specs v.1.3+,   */
+  /* setting bit 57 implies that there is  */
+  /* at least one codepoint beyond the     */
+  /* Basic Multilingual Plane that is      */
+  /* supported by this font.  So it really */
+  /* means >= U+10000.                     */
 #define TT_UCR_SURROGATES                      (1L << 25) /* U+D800-U+DB7F */
                                                           /* U+DB80-U+DBFF */
                                                           /* U+DC00-U+DFFF */
-  /* According to OpenType specs v.1.3+, setting bit 57 implies that there */
-  /* is at least one codepoint beyond the Basic Multilingual Plane that is */
-  /* supported by this font.  So it really means:            >= U+10000    */
-
-  /* Bit 58 is reserved for Unicode SubRanges */
-
-  /* CJK Ideographs Area */
-
-  /* Bit 59   CJK Unified Ideographs             + */
-  /*          CJK Radicals Supplement            + */
-  /*          Kangxi Radicals                    + */
-  /*          Ideographic Description Characters + */
-  /*          CJK Unified Ideographs Extension A   */
-  /*          CJK Unified Ideographs Extension A + */
-  /*          CJK Unified Ideographs Extension B + */
-  /*          Kanbun                               */
+#define TT_UCR_NON_PLANE_0  TT_UCR_SURROGATES
+  /* Bit 58  Phoenician */
+#define TT_UCR_PHOENICIAN                      (1L << 26) /*U+10900-U+1091F*/
+  /* Bit 59   CJK Unified Ideographs             */
+  /*          CJK Radicals Supplement            */
+  /*          Kangxi Radicals                    */
+  /*          Ideographic Description Characters */
+  /*          CJK Unified Ideographs Extension A */
+  /*          CJK Unified Ideographs Extension B */
+  /*          Kanbun                             */
 #define TT_UCR_CJK_UNIFIED_IDEOGRAPHS          (1L << 27) /* U+4E00-U+9FFF */
                                                           /* U+2E80-U+2EFF */
                                                           /* U+2F00-U+2FDF */
@@ -999,30 +1038,32 @@ FT_BEGIN_HEADER
                                                           /* U+3400-U+4DB5 */
                                                           /*U+20000-U+2A6DF*/
                                                           /* U+3190-U+319F */
-
-  /* Private Use Area */
-
   /* Bit 60   Private Use */
 #define TT_UCR_PRIVATE_USE                     (1L << 28) /* U+E000-U+F8FF */
-
-  /* Compatibility Area and Specials */
-
-  /* Bit 61   CJK Compatibility Ideographs            + */
-  /*          CJK Compatibility Ideographs Supplement   */
-#define TT_UCR_CJK_COMPATIBILITY_IDEOGRAPHS    (1L << 29) /* U+F900-U+FAFF */
+  /* Bit 61   CJK Strokes                             */
+  /*          CJK Compatibility Ideographs            */
+  /*          CJK Compatibility Ideographs Supplement */
+#define TT_UCR_CJK_COMPATIBILITY_IDEOGRAPHS    (1L << 29) /* U+31C0-U+31EF */
+                                                          /* U+F900-U+FAFF */
                                                           /*U+2F800-U+2FA1F*/
   /* Bit 62   Alphabetic Presentation Forms */
 #define TT_UCR_ALPHABETIC_PRESENTATION_FORMS   (1L << 30) /* U+FB00-U+FB4F */
   /* Bit 63   Arabic Presentation Forms-A */
-#define TT_UCR_ARABIC_PRESENTATIONS_A          (1L << 31) /* U+FB50-U+FDFF */
+#define TT_UCR_ARABIC_PRESENTATION_FORMS_A     (1L << 31) /* U+FB50-U+FDFF */
+
+  /* ulUnicodeRange3 */
+  /* --------------- */
+
   /* Bit 64   Combining Half Marks */
 #define TT_UCR_COMBINING_HALF_MARKS            (1L <<  0) /* U+FE20-U+FE2F */
-  /* Bit 65   CJK Compatibility Forms */
-#define TT_UCR_CJK_COMPATIBILITY_FORMS         (1L <<  1) /* U+FE30-U+FE4F */
+  /* Bit 65   Vertical forms          */
+  /*          CJK Compatibility Forms */
+#define TT_UCR_CJK_COMPATIBILITY_FORMS         (1L <<  1) /* U+FE10-U+FE1F */
+                                                          /* U+FE30-U+FE4F */
   /* Bit 66   Small Form Variants */
 #define TT_UCR_SMALL_FORM_VARIANTS             (1L <<  2) /* U+FE50-U+FE6F */
   /* Bit 67   Arabic Presentation Forms-B */
-#define TT_UCR_ARABIC_PRESENTATIONS_B          (1L <<  3) /* U+FE70-U+FEFE */
+#define TT_UCR_ARABIC_PRESENTATION_FORMS_B     (1L <<  3) /* U+FE70-U+FEFE */
   /* Bit 68   Halfwidth and Fullwidth Forms */
 #define TT_UCR_HALFWIDTH_FULLWIDTH_FORMS       (1L <<  4) /* U+FF00-U+FFEF */
   /* Bit 69   Specials */
@@ -1037,8 +1078,12 @@ FT_BEGIN_HEADER
 #define TT_UCR_SINHALA                         (1L <<  9) /* U+0D80-U+0DFF */
   /* Bit 74   Myanmar */
 #define TT_UCR_MYANMAR                         (1L << 10) /* U+1000-U+109F */
-  /* Bit 75   Ethiopic */
+  /* Bit 75   Ethiopic            */
+  /*          Ethiopic Supplement */
+  /*          Ethiopic Extended   */
 #define TT_UCR_ETHIOPIC                        (1L << 11) /* U+1200-U+137F */
+                                                          /* U+1380-U+139F */
+                                                          /* U+2D80-U+2DDF */
   /* Bit 76   Cherokee */
 #define TT_UCR_CHEROKEE                        (1L << 12) /* U+13A0-U+13FF */
   /* Bit 77   Unified Canadian Aboriginal Syllabics */
@@ -1047,20 +1092,22 @@ FT_BEGIN_HEADER
 #define TT_UCR_OGHAM                           (1L << 14) /* U+1680-U+169F */
   /* Bit 79   Runic */
 #define TT_UCR_RUNIC                           (1L << 15) /* U+16A0-U+16FF */
-  /* Bit 80   Khmer */
+  /* Bit 80   Khmer         */
+  /*          Khmer Symbols */
 #define TT_UCR_KHMER                           (1L << 16) /* U+1780-U+17FF */
+                                                          /* U+19E0-U+19FF */
   /* Bit 81   Mongolian */
 #define TT_UCR_MONGOLIAN                       (1L << 17) /* U+1800-U+18AF */
   /* Bit 82   Braille Patterns */
 #define TT_UCR_BRAILLE                         (1L << 18) /* U+2800-U+28FF */
-  /* Bit 83   Yi Syllables + */
-  /*          Yi Radicals    */
+  /* Bit 83   Yi Syllables */
+  /*          Yi Radicals  */
 #define TT_UCR_YI                              (1L << 19) /* U+A000-U+A48F */
                                                           /* U+A490-U+A4CF */
-  /* Bit 84   Tagalog  + */
-  /*          Hanunoo  + */
-  /*          Buhid    + */
-  /*          Tagbanwa   */
+  /* Bit 84   Tagalog  */
+  /*          Hanunoo  */
+  /*          Buhid    */
+  /*          Tagbanwa */
 #define TT_UCR_PHILIPPINE                      (1L << 20) /* U+1700-U+171F */
                                                           /* U+1720-U+173F */
                                                           /* U+1740-U+175F */
@@ -1071,62 +1118,119 @@ FT_BEGIN_HEADER
 #define TT_UCR_GOTHIC                          (1L << 22) /*U+10330-U+1034F*/
   /* Bit 87   Deseret */
 #define TT_UCR_DESERET                         (1L << 23) /*U+10400-U+1044F*/
-  /* Bit 88   Byzantine Musical Symbols + */
-  /*          Musical Symbols             */
+  /* Bit 88   Byzantine Musical Symbols      */
+  /*          Musical Symbols                */
+  /*          Ancient Greek Musical Notation */
 #define TT_UCR_MUSICAL_SYMBOLS                 (1L << 24) /*U+1D000-U+1D0FF*/
                                                           /*U+1D100-U+1D1FF*/
+                                                          /*U+1D200-U+1D24F*/
   /* Bit 89   Mathematical Alphanumeric Symbols */
 #define TT_UCR_MATH_ALPHANUMERIC_SYMBOLS       (1L << 25) /*U+1D400-U+1D7FF*/
-  /* Bit 90   Private Use (plane 15) + */
-  /*          Private Use (plane 16)   */
+  /* Bit 90   Private Use (plane 15) */
+  /*          Private Use (plane 16) */
 #define TT_UCR_PRIVATE_USE_SUPPLEMENTARY       (1L << 26) /*U+F0000-U+FFFFD*/
                                                         /*U+100000-U+10FFFD*/
-  /* Bit 91   Variation Selectors */
+  /* Bit 91   Variation Selectors            */
+  /*          Variation Selectors Supplement */
 #define TT_UCR_VARIATION_SELECTORS             (1L << 27) /* U+FE00-U+FE0F */
+                                                          /*U+E0100-U+E01EF*/
   /* Bit 92   Tags */
 #define TT_UCR_TAGS                            (1L << 28) /*U+E0000-U+E007F*/
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* Some compilers have a very limited length of identifiers.             */
-  /*                                                                       */
-#if defined( __TURBOC__ ) && __TURBOC__ < 0x0410 || defined( __PACIFIC__ )
-#define HAVE_LIMIT_ON_IDENTS
-#endif
-
-
-#ifndef HAVE_LIMIT_ON_IDENTS
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* Here some alias #defines in order to be clearer.                      */
-  /*                                                                       */
-  /* These are not always #defined to stay within the 31 character limit   */
-  /* which some compilers have.                                            */
-  /*                                                                       */
-  /* Credits go to Dave Hoo <dhoo@flash.net> for pointing out that modern  */
-  /* Borland compilers (read: from BC++ 3.1 on) can increase this limit.   */
-  /* If you get a warning with such a compiler, use the -i40 switch.       */
-  /*                                                                       */
-#define TT_UCR_ARABIC_PRESENTATION_FORMS_A      \
-         TT_UCR_ARABIC_PRESENTATIONS_A
-#define TT_UCR_ARABIC_PRESENTATION_FORMS_B      \
-         TT_UCR_ARABIC_PRESENTATIONS_B
-
-#define TT_UCR_COMBINING_DIACRITICAL_MARKS      \
-         TT_UCR_COMBINING_DIACRITICS
-#define TT_UCR_COMBINING_DIACRITICAL_MARKS_SYMB \
-         TT_UCR_COMBINING_DIACRITICS_SYMB
-
-
-#endif /* !HAVE_LIMIT_ON_IDENTS */
+  /* Bit 93   Limbu */
+#define TT_UCR_LIMBU                           (1L << 29) /* U+1900-U+194F */
+  /* Bit 94   Tai Le */
+#define TT_UCR_TAI_LE                          (1L << 30) /* U+1950-U+197F */
+  /* Bit 95   New Tai Lue */
+#define TT_UCR_NEW_TAI_LUE                     (1L << 31) /* U+1980-U+19DF */
+
+  /* ulUnicodeRange4 */
+  /* --------------- */
+
+  /* Bit 96   Buginese */
+#define TT_UCR_BUGINESE                        (1L <<  0) /* U+1A00-U+1A1F */
+  /* Bit 97   Glagolitic */
+#define TT_UCR_GLAGOLITIC                      (1L <<  1) /* U+2C00-U+2C5F */
+  /* Bit 98   Tifinagh */
+#define TT_UCR_TIFINAGH                        (1L <<  2) /* U+2D30-U+2D7F */
+  /* Bit 99   Yijing Hexagram Symbols */
+#define TT_UCR_YIJING                          (1L <<  3) /* U+4DC0-U+4DFF */
+  /* Bit 100  Syloti Nagri */
+#define TT_UCR_SYLOTI_NAGRI                    (1L <<  4) /* U+A800-U+A82F */
+  /* Bit 101  Linear B Syllabary */
+  /*          Linear B Ideograms */
+  /*          Aegean Numbers     */
+#define TT_UCR_LINEAR_B                        (1L <<  5) /*U+10000-U+1007F*/
+                                                          /*U+10080-U+100FF*/
+                                                          /*U+10100-U+1013F*/
+  /* Bit 102  Ancient Greek Numbers */
+#define TT_UCR_ANCIENT_GREEK_NUMBERS           (1L <<  6) /*U+10140-U+1018F*/
+  /* Bit 103  Ugaritic */
+#define TT_UCR_UGARITIC                        (1L <<  7) /*U+10380-U+1039F*/
+  /* Bit 104  Old Persian */
+#define TT_UCR_OLD_PERSIAN                     (1L <<  8) /*U+103A0-U+103DF*/
+  /* Bit 105  Shavian */
+#define TT_UCR_SHAVIAN                         (1L <<  9) /*U+10450-U+1047F*/
+  /* Bit 106  Osmanya */
+#define TT_UCR_OSMANYA                         (1L << 10) /*U+10480-U+104AF*/
+  /* Bit 107  Cypriot Syllabary */
+#define TT_UCR_CYPRIOT_SYLLABARY               (1L << 11) /*U+10800-U+1083F*/
+  /* Bit 108  Kharoshthi */
+#define TT_UCR_KHAROSHTHI                      (1L << 12) /*U+10A00-U+10A5F*/
+  /* Bit 109  Tai Xuan Jing Symbols */
+#define TT_UCR_TAI_XUAN_JING                   (1L << 13) /*U+1D300-U+1D35F*/
+  /* Bit 110  Cuneiform                         */
+  /*          Cuneiform Numbers and Punctuation */
+#define TT_UCR_CUNEIFORM                       (1L << 14) /*U+12000-U+123FF*/
+                                                          /*U+12400-U+1247F*/
+  /* Bit 111  Counting Rod Numerals */
+#define TT_UCR_COUNTING_ROD_NUMERALS           (1L << 15) /*U+1D360-U+1D37F*/
+  /* Bit 112  Sundanese */
+#define TT_UCR_SUNDANESE                       (1L << 16) /* U+1B80-U+1BBF */
+  /* Bit 113  Lepcha */
+#define TT_UCR_LEPCHA                          (1L << 17) /* U+1C00-U+1C4F */
+  /* Bit 114  Ol Chiki */
+#define TT_UCR_OL_CHIKI                        (1L << 18) /* U+1C50-U+1C7F */
+  /* Bit 115  Saurashtra */
+#define TT_UCR_SAURASHTRA                      (1L << 19) /* U+A880-U+A8DF */
+  /* Bit 116  Kayah Li */
+#define TT_UCR_KAYAH_LI                        (1L << 20) /* U+A900-U+A92F */
+  /* Bit 117  Rejang */
+#define TT_UCR_REJANG                          (1L << 21) /* U+A930-U+A95F */
+  /* Bit 118  Cham */
+#define TT_UCR_CHAM                            (1L << 22) /* U+AA00-U+AA5F */
+  /* Bit 119  Ancient Symbols */
+#define TT_UCR_ANCIENT_SYMBOLS                 (1L << 23) /*U+10190-U+101CF*/
+  /* Bit 120  Phaistos Disc */
+#define TT_UCR_PHAISTOS_DISC                   (1L << 24) /*U+101D0-U+101FF*/
+  /* Bit 121  Carian */
+  /*          Lycian */
+  /*          Lydian */
+#define TT_UCR_OLD_ANATOLIAN                   (1L << 25) /*U+102A0-U+102DF*/
+                                                          /*U+10280-U+1029F*/
+                                                          /*U+10920-U+1093F*/
+  /* Bit 122  Domino Tiles  */
+  /*          Mahjong Tiles */
+#define TT_UCR_GAME_TILES                      (1L << 26) /*U+1F030-U+1F09F*/
+                                                          /*U+1F000-U+1F02F*/
+  /* Bit 123-127 Reserved for process-internal usage */
+
+  /* */
+
+  /* for backward compatibility with older FreeType versions */
+#define TT_UCR_ARABIC_PRESENTATION_A         \
+          TT_UCR_ARABIC_PRESENTATION_FORMS_A
+#define TT_UCR_ARABIC_PRESENTATION_B         \
+          TT_UCR_ARABIC_PRESENTATION_FORMS_B
+
+#define TT_UCR_COMBINING_DIACRITICS          \
+          TT_UCR_COMBINING_DIACRITICAL_MARKS
+#define TT_UCR_COMBINING_DIACRITICS_SYMB          \
+          TT_UCR_COMBINING_DIACRITICAL_MARKS_SYMB
 
 
 FT_END_HEADER
 
-#endif /* __TTNAMEID_H__ */
+#endif /* TTNAMEID_H_ */
 
 
 /* END */
diff --git a/CMU462/deps/freetype/include/freetype/tttables.h b/CMU462/deps/freetype/include/freetype/tttables.h
new file mode 100644
index 0000000..d04f810
--- /dev/null
+++ b/CMU462/deps/freetype/include/freetype/tttables.h
@@ -0,0 +1,856 @@
+/****************************************************************************
+ *
+ * tttables.h
+ *
+ *   Basic SFNT/TrueType tables definitions and interface
+ *   (specification only).
+ *
+ * Copyright (C) 1996-2019 by
+ * David Turner, Robert Wilhelm, and Werner Lemberg.
+ *
+ * This file is part of the FreeType project, and may only be used,
+ * modified, and distributed under the terms of the FreeType project
+ * license, LICENSE.TXT.  By continuing to use, modify, or distribute
+ * this file you indicate that you have read the license and
+ * understand and accept it fully.
+ *
+ */
+
+
+#ifndef TTTABLES_H_
+#define TTTABLES_H_
+
+
+#include <ft2build.h>
+#include FT_FREETYPE_H
+
+#ifdef FREETYPE_H
+#error "freetype.h of FreeType 1 has been loaded!"
+#error "Please fix the directory search order for header files"
+#error "so that freetype.h of FreeType 2 is found first."
+#endif
+
+
+FT_BEGIN_HEADER
+
+  /**************************************************************************
+   *
+   * @section:
+   *   truetype_tables
+   *
+   * @title:
+   *   TrueType Tables
+   *
+   * @abstract:
+   *   TrueType-specific table types and functions.
+   *
+   * @description:
+   *   This section contains definitions of some basic tables specific to
+   *   TrueType and OpenType as well as some routines used to access and
+   *   process them.
+   *
+   * @order:
+   *   TT_Header
+   *   TT_HoriHeader
+   *   TT_VertHeader
+   *   TT_OS2
+   *   TT_Postscript
+   *   TT_PCLT
+   *   TT_MaxProfile
+   *
+   *   FT_Sfnt_Tag
+   *   FT_Get_Sfnt_Table
+   *   FT_Load_Sfnt_Table
+   *   FT_Sfnt_Table_Info
+   *
+   *   FT_Get_CMap_Language_ID
+   *   FT_Get_CMap_Format
+   *
+   *   FT_PARAM_TAG_UNPATENTED_HINTING
+   *
+   */
+
+
+  /**************************************************************************
+   *
+   * @struct:
+   *   TT_Header
+   *
+   * @description:
+   *   A structure to model a TrueType font header table.  All fields follow
+   *   the OpenType specification.  The 64-bit timestamps are stored in
+   *   two-element arrays `Created` and `Modified`, first the upper then
+   *   the lower 32~bits.
+   */
+  typedef struct  TT_Header_
+  {
+    FT_Fixed   Table_Version;
+    FT_Fixed   Font_Revision;
+
+    FT_Long    CheckSum_Adjust;
+    FT_Long    Magic_Number;
+
+    FT_UShort  Flags;
+    FT_UShort  Units_Per_EM;
+
+    FT_ULong   Created [2];
+    FT_ULong   Modified[2];
+
+    FT_Short   xMin;
+    FT_Short   yMin;
+    FT_Short   xMax;
+    FT_Short   yMax;
+
+    FT_UShort  Mac_Style;
+    FT_UShort  Lowest_Rec_PPEM;
+
+    FT_Short   Font_Direction;
+    FT_Short   Index_To_Loc_Format;
+    FT_Short   Glyph_Data_Format;
+
+  } TT_Header;
+
+
+  /**************************************************************************
+   *
+   * @struct:
+   *   TT_HoriHeader
+   *
+   * @description:
+   *   A structure to model a TrueType horizontal header, the 'hhea' table,
+   *   as well as the corresponding horizontal metrics table, 'hmtx'.
+   *
+   * @fields:
+   *   Version ::
+   *     The table version.
+   *
+   *   Ascender ::
+   *     The font's ascender, i.e., the distance from the baseline to the
+   *     top-most of all glyph points found in the font.
+   *
+   *     This value is invalid in many fonts, as it is usually set by the
+   *     font designer, and often reflects only a portion of the glyphs found
+   *     in the font (maybe ASCII).
+   *
+   *     You should use the `sTypoAscender` field of the 'OS/2' table instead
+   *     if you want the correct one.
+   *
+   *   Descender ::
+   *     The font's descender, i.e., the distance from the baseline to the
+   *     bottom-most of all glyph points found in the font.  It is negative.
+   *
+   *     This value is invalid in many fonts, as it is usually set by the
+   *     font designer, and often reflects only a portion of the glyphs found
+   *     in the font (maybe ASCII).
+   *
+   *     You should use the `sTypoDescender` field of the 'OS/2' table
+   *     instead if you want the correct one.
+   *
+   *   Line_Gap ::
+   *     The font's line gap, i.e., the distance to add to the ascender and
+   *     descender to get the BTB, i.e., the baseline-to-baseline distance
+   *     for the font.
+   *
+   *   advance_Width_Max ::
+   *     This field is the maximum of all advance widths found in the font.
+   *     It can be used to compute the maximum width of an arbitrary string
+   *     of text.
+   *
+   *   min_Left_Side_Bearing ::
+   *     The minimum left side bearing of all glyphs within the font.
+   *
+   *   min_Right_Side_Bearing ::
+   *     The minimum right side bearing of all glyphs within the font.
+   *
+   *   xMax_Extent ::
+   *     The maximum horizontal extent (i.e., the 'width' of a glyph's
+   *     bounding box) for all glyphs in the font.
+   *
+   *   caret_Slope_Rise ::
+   *     The rise coefficient of the cursor's slope of the cursor
+   *     (slope=rise/run).
+   *
+   *   caret_Slope_Run ::
+   *     The run coefficient of the cursor's slope.
+   *
+   *   caret_Offset ::
+   *     The cursor's offset for slanted fonts.
+   *
+   *   Reserved ::
+   *     8~reserved bytes.
+   *
+   *   metric_Data_Format ::
+   *     Always~0.
+   *
+   *   number_Of_HMetrics ::
+   *     Number of HMetrics entries in the 'hmtx' table -- this value can be
+   *     smaller than the total number of glyphs in the font.
+   *
+   *   long_metrics ::
+   *     A pointer into the 'hmtx' table.
+   *
+   *   short_metrics ::
+   *     A pointer into the 'hmtx' table.
+   *
+   * @note:
+   *   For an OpenType variation font, the values of the following fields can
+   *   change after a call to @FT_Set_Var_Design_Coordinates (and friends) if
+   *   the font contains an 'MVAR' table: `caret_Slope_Rise`,
+   *   `caret_Slope_Run`, and `caret_Offset`.
+   */
+  typedef struct  TT_HoriHeader_
+  {
+    FT_Fixed   Version;
+    FT_Short   Ascender;
+    FT_Short   Descender;
+    FT_Short   Line_Gap;
+
+    FT_UShort  advance_Width_Max;      /* advance width maximum */
+
+    FT_Short   min_Left_Side_Bearing;  /* minimum left-sb       */
+    FT_Short   min_Right_Side_Bearing; /* minimum right-sb      */
+    FT_Short   xMax_Extent;            /* xmax extents          */
+    FT_Short   caret_Slope_Rise;
+    FT_Short   caret_Slope_Run;
+    FT_Short   caret_Offset;
+
+    FT_Short   Reserved[4];
+
+    FT_Short   metric_Data_Format;
+    FT_UShort  number_Of_HMetrics;
+
+    /* The following fields are not defined by the OpenType specification */
+    /* but they are used to connect the metrics header to the relevant    */
+    /* 'hmtx' table.                                                      */
+
+    void*      long_metrics;
+    void*      short_metrics;
+
+  } TT_HoriHeader;
+
+
+  /**************************************************************************
+   *
+   * @struct:
+   *   TT_VertHeader
+   *
+   * @description:
+   *   A structure used to model a TrueType vertical header, the 'vhea'
+   *   table, as well as the corresponding vertical metrics table, 'vmtx'.
+   *
+   * @fields:
+   *   Version ::
+   *     The table version.
+   *
+   *   Ascender ::
+   *     The font's ascender, i.e., the distance from the baseline to the
+   *     top-most of all glyph points found in the font.
+   *
+   *     This value is invalid in many fonts, as it is usually set by the
+   *     font designer, and often reflects only a portion of the glyphs found
+   *     in the font (maybe ASCII).
+   *
+   *     You should use the `sTypoAscender` field of the 'OS/2' table instead
+   *     if you want the correct one.
+   *
+   *   Descender ::
+   *     The font's descender, i.e., the distance from the baseline to the
+   *     bottom-most of all glyph points found in the font.  It is negative.
+   *
+   *     This value is invalid in many fonts, as it is usually set by the
+   *     font designer, and often reflects only a portion of the glyphs found
+   *     in the font (maybe ASCII).
+   *
+   *     You should use the `sTypoDescender` field of the 'OS/2' table
+   *     instead if you want the correct one.
+   *
+   *   Line_Gap ::
+   *     The font's line gap, i.e., the distance to add to the ascender and
+   *     descender to get the BTB, i.e., the baseline-to-baseline distance
+   *     for the font.
+   *
+   *   advance_Height_Max ::
+   *     This field is the maximum of all advance heights found in the font.
+   *     It can be used to compute the maximum height of an arbitrary string
+   *     of text.
+   *
+   *   min_Top_Side_Bearing ::
+   *     The minimum top side bearing of all glyphs within the font.
+   *
+   *   min_Bottom_Side_Bearing ::
+   *     The minimum bottom side bearing of all glyphs within the font.
+   *
+   *   yMax_Extent ::
+   *     The maximum vertical extent (i.e., the 'height' of a glyph's
+   *     bounding box) for all glyphs in the font.
+   *
+   *   caret_Slope_Rise ::
+   *     The rise coefficient of the cursor's slope of the cursor
+   *     (slope=rise/run).
+   *
+   *   caret_Slope_Run ::
+   *     The run coefficient of the cursor's slope.
+   *
+   *   caret_Offset ::
+   *     The cursor's offset for slanted fonts.
+   *
+   *   Reserved ::
+   *     8~reserved bytes.
+   *
+   *   metric_Data_Format ::
+   *     Always~0.
+   *
+   *   number_Of_VMetrics ::
+   *     Number of VMetrics entries in the 'vmtx' table -- this value can be
+   *     smaller than the total number of glyphs in the font.
+   *
+   *   long_metrics ::
+   *     A pointer into the 'vmtx' table.
+   *
+   *   short_metrics ::
+   *     A pointer into the 'vmtx' table.
+   *
+   * @note:
+   *   For an OpenType variation font, the values of the following fields can
+   *   change after a call to @FT_Set_Var_Design_Coordinates (and friends) if
+   *   the font contains an 'MVAR' table: `Ascender`, `Descender`,
+   *   `Line_Gap`, `caret_Slope_Rise`, `caret_Slope_Run`, and `caret_Offset`.
+   */
+  typedef struct  TT_VertHeader_
+  {
+    FT_Fixed   Version;
+    FT_Short   Ascender;
+    FT_Short   Descender;
+    FT_Short   Line_Gap;
+
+    FT_UShort  advance_Height_Max;      /* advance height maximum */
+
+    FT_Short   min_Top_Side_Bearing;    /* minimum top-sb          */
+    FT_Short   min_Bottom_Side_Bearing; /* minimum bottom-sb       */
+    FT_Short   yMax_Extent;             /* ymax extents            */
+    FT_Short   caret_Slope_Rise;
+    FT_Short   caret_Slope_Run;
+    FT_Short   caret_Offset;
+
+    FT_Short   Reserved[4];
+
+    FT_Short   metric_Data_Format;
+    FT_UShort  number_Of_VMetrics;
+
+    /* The following fields are not defined by the OpenType specification */
+    /* but they are used to connect the metrics header to the relevant    */
+    /* 'vmtx' table.                                                      */
+
+    void*      long_metrics;
+    void*      short_metrics;
+
+  } TT_VertHeader;
+
+
+  /**************************************************************************
+   *
+   * @struct:
+   *   TT_OS2
+   *
+   * @description:
+   *   A structure to model a TrueType 'OS/2' table.  All fields comply to
+   *   the OpenType specification.
+   *
+   *   Note that we now support old Mac fonts that do not include an 'OS/2'
+   *   table.  In this case, the `version` field is always set to 0xFFFF.
+   *
+   * @note:
+   *   For an OpenType variation font, the values of the following fields can
+   *   change after a call to @FT_Set_Var_Design_Coordinates (and friends) if
+   *   the font contains an 'MVAR' table: `sCapHeight`, `sTypoAscender`,
+   *   `sTypoDescender`, `sTypoLineGap`, `sxHeight`, `usWinAscent`,
+   *   `usWinDescent`, `yStrikeoutPosition`, `yStrikeoutSize`,
+   *   `ySubscriptXOffset`, `ySubScriptXSize`, `ySubscriptYOffset`,
+   *   `ySubscriptYSize`, `ySuperscriptXOffset`, `ySuperscriptXSize`,
+   *   `ySuperscriptYOffset`, and `ySuperscriptYSize`.
+   *
+   *   Possible values for bits in the `ulUnicodeRangeX` fields are given by
+   *   the @TT_UCR_XXX macros.
+   */
+
+  typedef struct  TT_OS2_
+  {
+    FT_UShort  version;                /* 0x0001 - more or 0xFFFF */
+    FT_Short   xAvgCharWidth;
+    FT_UShort  usWeightClass;
+    FT_UShort  usWidthClass;
+    FT_UShort  fsType;
+    FT_Short   ySubscriptXSize;
+    FT_Short   ySubscriptYSize;
+    FT_Short   ySubscriptXOffset;
+    FT_Short   ySubscriptYOffset;
+    FT_Short   ySuperscriptXSize;
+    FT_Short   ySuperscriptYSize;
+    FT_Short   ySuperscriptXOffset;
+    FT_Short   ySuperscriptYOffset;
+    FT_Short   yStrikeoutSize;
+    FT_Short   yStrikeoutPosition;
+    FT_Short   sFamilyClass;
+
+    FT_Byte    panose[10];
+
+    FT_ULong   ulUnicodeRange1;        /* Bits 0-31   */
+    FT_ULong   ulUnicodeRange2;        /* Bits 32-63  */
+    FT_ULong   ulUnicodeRange3;        /* Bits 64-95  */
+    FT_ULong   ulUnicodeRange4;        /* Bits 96-127 */
+
+    FT_Char    achVendID[4];
+
+    FT_UShort  fsSelection;
+    FT_UShort  usFirstCharIndex;
+    FT_UShort  usLastCharIndex;
+    FT_Short   sTypoAscender;
+    FT_Short   sTypoDescender;
+    FT_Short   sTypoLineGap;
+    FT_UShort  usWinAscent;
+    FT_UShort  usWinDescent;
+
+    /* only version 1 and higher: */
+
+    FT_ULong   ulCodePageRange1;       /* Bits 0-31   */
+    FT_ULong   ulCodePageRange2;       /* Bits 32-63  */
+
+    /* only version 2 and higher: */
+
+    FT_Short   sxHeight;
+    FT_Short   sCapHeight;
+    FT_UShort  usDefaultChar;
+    FT_UShort  usBreakChar;
+    FT_UShort  usMaxContext;
+
+    /* only version 5 and higher: */
+
+    FT_UShort  usLowerOpticalPointSize;       /* in twips (1/20th points) */
+    FT_UShort  usUpperOpticalPointSize;       /* in twips (1/20th points) */
+
+  } TT_OS2;
+
+
+  /**************************************************************************
+   *
+   * @struct:
+   *   TT_Postscript
+   *
+   * @description:
+   *   A structure to model a TrueType 'post' table.  All fields comply to
+   *   the OpenType specification.  This structure does not reference a
+   *   font's PostScript glyph names; use @FT_Get_Glyph_Name to retrieve
+   *   them.
+   *
+   * @note:
+   *   For an OpenType variation font, the values of the following fields can
+   *   change after a call to @FT_Set_Var_Design_Coordinates (and friends) if
+   *   the font contains an 'MVAR' table: `underlinePosition` and
+   *   `underlineThickness`.
+   */
+  typedef struct  TT_Postscript_
+  {
+    FT_Fixed  FormatType;
+    FT_Fixed  italicAngle;
+    FT_Short  underlinePosition;
+    FT_Short  underlineThickness;
+    FT_ULong  isFixedPitch;
+    FT_ULong  minMemType42;
+    FT_ULong  maxMemType42;
+    FT_ULong  minMemType1;
+    FT_ULong  maxMemType1;
+
+    /* Glyph names follow in the 'post' table, but we don't */
+    /* load them by default.                                */
+
+  } TT_Postscript;
+
+
+  /**************************************************************************
+   *
+   * @struct:
+   *   TT_PCLT
+   *
+   * @description:
+   *   A structure to model a TrueType 'PCLT' table.  All fields comply to
+   *   the OpenType specification.
+   */
+  typedef struct  TT_PCLT_
+  {
+    FT_Fixed   Version;
+    FT_ULong   FontNumber;
+    FT_UShort  Pitch;
+    FT_UShort  xHeight;
+    FT_UShort  Style;
+    FT_UShort  TypeFamily;
+    FT_UShort  CapHeight;
+    FT_UShort  SymbolSet;
+    FT_Char    TypeFace[16];
+    FT_Char    CharacterComplement[8];
+    FT_Char    FileName[6];
+    FT_Char    StrokeWeight;
+    FT_Char    WidthType;
+    FT_Byte    SerifStyle;
+    FT_Byte    Reserved;
+
+  } TT_PCLT;
+
+
+  /**************************************************************************
+   *
+   * @struct:
+   *   TT_MaxProfile
+   *
+   * @description:
+   *   The maximum profile ('maxp') table contains many max values, which can
+   *   be used to pre-allocate arrays for speeding up glyph loading and
+   *   hinting.
+   *
+   * @fields:
+   *   version ::
+   *     The version number.
+   *
+   *   numGlyphs ::
+   *     The number of glyphs in this TrueType font.
+   *
+   *   maxPoints ::
+   *     The maximum number of points in a non-composite TrueType glyph.  See
+   *     also `maxCompositePoints`.
+   *
+   *   maxContours ::
+   *     The maximum number of contours in a non-composite TrueType glyph.
+   *     See also `maxCompositeContours`.
+   *
+   *   maxCompositePoints ::
+   *     The maximum number of points in a composite TrueType glyph.  See
+   *     also `maxPoints`.
+   *
+   *   maxCompositeContours ::
+   *     The maximum number of contours in a composite TrueType glyph.  See
+   *     also `maxContours`.
+   *
+   *   maxZones ::
+   *     The maximum number of zones used for glyph hinting.
+   *
+   *   maxTwilightPoints ::
+   *     The maximum number of points in the twilight zone used for glyph
+   *     hinting.
+   *
+   *   maxStorage ::
+   *     The maximum number of elements in the storage area used for glyph
+   *     hinting.
+   *
+   *   maxFunctionDefs ::
+   *     The maximum number of function definitions in the TrueType bytecode
+   *     for this font.
+   *
+   *   maxInstructionDefs ::
+   *     The maximum number of instruction definitions in the TrueType
+   *     bytecode for this font.
+   *
+   *   maxStackElements ::
+   *     The maximum number of stack elements used during bytecode
+   *     interpretation.
+   *
+   *   maxSizeOfInstructions ::
+   *     The maximum number of TrueType opcodes used for glyph hinting.
+   *
+   *   maxComponentElements ::
+   *     The maximum number of simple (i.e., non-composite) glyphs in a
+   *     composite glyph.
+   *
+   *   maxComponentDepth ::
+   *     The maximum nesting depth of composite glyphs.
+   *
+   * @note:
+   *   This structure is only used during font loading.
+   */
+  typedef struct  TT_MaxProfile_
+  {
+    FT_Fixed   version;
+    FT_UShort  numGlyphs;
+    FT_UShort  maxPoints;
+    FT_UShort  maxContours;
+    FT_UShort  maxCompositePoints;
+    FT_UShort  maxCompositeContours;
+    FT_UShort  maxZones;
+    FT_UShort  maxTwilightPoints;
+    FT_UShort  maxStorage;
+    FT_UShort  maxFunctionDefs;
+    FT_UShort  maxInstructionDefs;
+    FT_UShort  maxStackElements;
+    FT_UShort  maxSizeOfInstructions;
+    FT_UShort  maxComponentElements;
+    FT_UShort  maxComponentDepth;
+
+  } TT_MaxProfile;
+
+
+  /**************************************************************************
+   *
+   * @enum:
+   *   FT_Sfnt_Tag
+   *
+   * @description:
+   *   An enumeration to specify indices of SFNT tables loaded and parsed by
+   *   FreeType during initialization of an SFNT font.  Used in the
+   *   @FT_Get_Sfnt_Table API function.
+   *
+   * @values:
+   *   FT_SFNT_HEAD ::
+   *     To access the font's @TT_Header structure.
+   *
+   *   FT_SFNT_MAXP ::
+   *     To access the font's @TT_MaxProfile structure.
+   *
+   *   FT_SFNT_OS2 ::
+   *     To access the font's @TT_OS2 structure.
+   *
+   *   FT_SFNT_HHEA ::
+   *     To access the font's @TT_HoriHeader structure.
+   *
+   *   FT_SFNT_VHEA ::
+   *     To access the font's @TT_VertHeader structure.
+   *
+   *   FT_SFNT_POST ::
+   *     To access the font's @TT_Postscript structure.
+   *
+   *   FT_SFNT_PCLT ::
+   *     To access the font's @TT_PCLT structure.
+   */
+  typedef enum  FT_Sfnt_Tag_
+  {
+    FT_SFNT_HEAD,
+    FT_SFNT_MAXP,
+    FT_SFNT_OS2,
+    FT_SFNT_HHEA,
+    FT_SFNT_VHEA,
+    FT_SFNT_POST,
+    FT_SFNT_PCLT,
+
+    FT_SFNT_MAX
+
+  } FT_Sfnt_Tag;
+
+  /* these constants are deprecated; use the corresponding `FT_Sfnt_Tag` */
+  /* values instead                                                      */
+#define ft_sfnt_head  FT_SFNT_HEAD
+#define ft_sfnt_maxp  FT_SFNT_MAXP
+#define ft_sfnt_os2   FT_SFNT_OS2
+#define ft_sfnt_hhea  FT_SFNT_HHEA
+#define ft_sfnt_vhea  FT_SFNT_VHEA
+#define ft_sfnt_post  FT_SFNT_POST
+#define ft_sfnt_pclt  FT_SFNT_PCLT
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Get_Sfnt_Table
+   *
+   * @description:
+   *   Return a pointer to a given SFNT table stored within a face.
+   *
+   * @input:
+   *   face ::
+   *     A handle to the source.
+   *
+   *   tag ::
+   *     The index of the SFNT table.
+   *
+   * @return:
+   *   A type-less pointer to the table.  This will be `NULL` in case of
+   *   error, or if the corresponding table was not found **OR** loaded from
+   *   the file.
+   *
+   *   Use a typecast according to `tag` to access the structure elements.
+   *
+   * @note:
+   *   The table is owned by the face object and disappears with it.
+   *
+   *   This function is only useful to access SFNT tables that are loaded by
+   *   the sfnt, truetype, and opentype drivers.  See @FT_Sfnt_Tag for a
+   *   list.
+   *
+   * @example:
+   *   Here is an example demonstrating access to the 'vhea' table.
+   *
+   *   ```
+   *     TT_VertHeader*  vert_header;
+   *
+   *
+   *     vert_header =
+   *       (TT_VertHeader*)FT_Get_Sfnt_Table( face, FT_SFNT_VHEA );
+   *   ```
+   */
+  FT_EXPORT( void* )
+  FT_Get_Sfnt_Table( FT_Face      face,
+                     FT_Sfnt_Tag  tag );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Load_Sfnt_Table
+   *
+   * @description:
+   *   Load any SFNT font table into client memory.
+   *
+   * @input:
+   *   face ::
+   *     A handle to the source face.
+   *
+   *   tag ::
+   *     The four-byte tag of the table to load.  Use value~0 if you want to
+   *     access the whole font file.  Otherwise, you can use one of the
+   *     definitions found in the @FT_TRUETYPE_TAGS_H file, or forge a new
+   *     one with @FT_MAKE_TAG.
+   *
+   *   offset ::
+   *     The starting offset in the table (or file if tag~==~0).
+   *
+   * @output:
+   *   buffer ::
+   *     The target buffer address.  The client must ensure that the memory
+   *     array is big enough to hold the data.
+   *
+   * @inout:
+   *   length ::
+   *     If the `length` parameter is `NULL`, try to load the whole table.
+   *     Return an error code if it fails.
+   *
+   *     Else, if `*length` is~0, exit immediately while returning the
+   *     table's (or file) full size in it.
+   *
+   *     Else the number of bytes to read from the table or file, from the
+   *     starting offset.
+   *
+   * @return:
+   *   FreeType error code.  0~means success.
+   *
+   * @note:
+   *   If you need to determine the table's length you should first call this
+   *   function with `*length` set to~0, as in the following example:
+   *
+   *   ```
+   *     FT_ULong  length = 0;
+   *
+   *
+   *     error = FT_Load_Sfnt_Table( face, tag, 0, NULL, &length );
+   *     if ( error ) { ... table does not exist ... }
+   *
+   *     buffer = malloc( length );
+   *     if ( buffer == NULL ) { ... not enough memory ... }
+   *
+   *     error = FT_Load_Sfnt_Table( face, tag, 0, buffer, &length );
+   *     if ( error ) { ... could not load table ... }
+   *   ```
+   *
+   *   Note that structures like @TT_Header or @TT_OS2 can't be used with
+   *   this function; they are limited to @FT_Get_Sfnt_Table.  Reason is that
+   *   those structures depend on the processor architecture, with varying
+   *   size (e.g. 32bit vs. 64bit) or order (big endian vs. little endian).
+   *
+   */
+  FT_EXPORT( FT_Error )
+  FT_Load_Sfnt_Table( FT_Face    face,
+                      FT_ULong   tag,
+                      FT_Long    offset,
+                      FT_Byte*   buffer,
+                      FT_ULong*  length );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Sfnt_Table_Info
+   *
+   * @description:
+   *   Return information on an SFNT table.
+   *
+   * @input:
+   *   face ::
+   *     A handle to the source face.
+   *
+   *   table_index ::
+   *     The index of an SFNT table.  The function returns
+   *     FT_Err_Table_Missing for an invalid value.
+   *
+   * @inout:
+   *   tag ::
+   *     The name tag of the SFNT table.  If the value is `NULL`,
+   *     `table_index` is ignored, and `length` returns the number of SFNT
+   *     tables in the font.
+   *
+   * @output:
+   *   length ::
+   *     The length of the SFNT table (or the number of SFNT tables,
+   *     depending on `tag`).
+   *
+   * @return:
+   *   FreeType error code.  0~means success.
+   *
+   * @note:
+   *   While parsing fonts, FreeType handles SFNT tables with length zero as
+   *   missing.
+   *
+   */
+  FT_EXPORT( FT_Error )
+  FT_Sfnt_Table_Info( FT_Face    face,
+                      FT_UInt    table_index,
+                      FT_ULong  *tag,
+                      FT_ULong  *length );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Get_CMap_Language_ID
+   *
+   * @description:
+   *   Return cmap language ID as specified in the OpenType standard.
+   *   Definitions of language ID values are in file @FT_TRUETYPE_IDS_H.
+   *
+   * @input:
+   *   charmap ::
+   *     The target charmap.
+   *
+   * @return:
+   *   The language ID of `charmap`.  If `charmap` doesn't belong to an SFNT
+   *   face, just return~0 as the default value.
+   *
+   *   For a format~14 cmap (to access Unicode IVS), the return value is
+   *   0xFFFFFFFF.
+   */
+  FT_EXPORT( FT_ULong )
+  FT_Get_CMap_Language_ID( FT_CharMap  charmap );
+
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Get_CMap_Format
+   *
+   * @description:
+   *   Return the format of an SFNT 'cmap' table.
+   *
+   * @input:
+   *   charmap ::
+   *     The target charmap.
+   *
+   * @return:
+   *   The format of `charmap`.  If `charmap` doesn't belong to an SFNT face,
+   *   return -1.
+   */
+  FT_EXPORT( FT_Long )
+  FT_Get_CMap_Format( FT_CharMap  charmap );
+
+  /* */
+
+
+FT_END_HEADER
+
+#endif /* TTTABLES_H_ */
+
+
+/* END */
diff --git a/CMU462/deps/freetype/include/freetype2/freetype/tttags.h b/CMU462/deps/freetype/include/freetype/tttags.h
old mode 100755
new mode 100644
similarity index 65%
rename from CMU462/deps/freetype/include/freetype2/freetype/tttags.h
rename to CMU462/deps/freetype/include/freetype/tttags.h
index e10244c..bd0986e
--- a/CMU462/deps/freetype/include/freetype2/freetype/tttags.h
+++ b/CMU462/deps/freetype/include/freetype/tttags.h
@@ -1,23 +1,23 @@
-/***************************************************************************/
-/*                                                                         */
-/*  tttags.h                                                               */
-/*                                                                         */
-/*    Tags for TrueType and OpenType tables (specification only).          */
-/*                                                                         */
-/*  Copyright 1996-2001, 2004, 2005 by                                     */
-/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
-/*                                                                         */
-/*  This file is part of the FreeType project, and may only be used,       */
-/*  modified, and distributed under the terms of the FreeType project      */
-/*  license, LICENSE.TXT.  By continuing to use, modify, or distribute     */
-/*  this file you indicate that you have read the license and              */
-/*  understand and accept it fully.                                        */
-/*                                                                         */
-/***************************************************************************/
-
-
-#ifndef __TTAGS_H__
-#define __TTAGS_H__
+/****************************************************************************
+ *
+ * tttags.h
+ *
+ *   Tags for TrueType and OpenType tables (specification only).
+ *
+ * Copyright (C) 1996-2019 by
+ * David Turner, Robert Wilhelm, and Werner Lemberg.
+ *
+ * This file is part of the FreeType project, and may only be used,
+ * modified, and distributed under the terms of the FreeType project
+ * license, LICENSE.TXT.  By continuing to use, modify, or distribute
+ * this file you indicate that you have read the license and
+ * understand and accept it fully.
+ *
+ */
+
+
+#ifndef TTAGS_H_
+#define TTAGS_H_
 
 
 #include <ft2build.h>
@@ -40,8 +40,14 @@ FT_BEGIN_HEADER
 #define TTAG_bhed  FT_MAKE_TAG( 'b', 'h', 'e', 'd' )
 #define TTAG_bloc  FT_MAKE_TAG( 'b', 'l', 'o', 'c' )
 #define TTAG_bsln  FT_MAKE_TAG( 'b', 's', 'l', 'n' )
+#define TTAG_CBDT  FT_MAKE_TAG( 'C', 'B', 'D', 'T' )
+#define TTAG_CBLC  FT_MAKE_TAG( 'C', 'B', 'L', 'C' )
 #define TTAG_CFF   FT_MAKE_TAG( 'C', 'F', 'F', ' ' )
+#define TTAG_CFF2  FT_MAKE_TAG( 'C', 'F', 'F', '2' )
+#define TTAG_CID   FT_MAKE_TAG( 'C', 'I', 'D', ' ' )
 #define TTAG_cmap  FT_MAKE_TAG( 'c', 'm', 'a', 'p' )
+#define TTAG_COLR  FT_MAKE_TAG( 'C', 'O', 'L', 'R' )
+#define TTAG_CPAL  FT_MAKE_TAG( 'C', 'P', 'A', 'L' )
 #define TTAG_cvar  FT_MAKE_TAG( 'c', 'v', 'a', 'r' )
 #define TTAG_cvt   FT_MAKE_TAG( 'c', 'v', 't', ' ' )
 #define TTAG_DSIG  FT_MAKE_TAG( 'D', 'S', 'I', 'G' )
@@ -49,6 +55,7 @@ FT_BEGIN_HEADER
 #define TTAG_EBLC  FT_MAKE_TAG( 'E', 'B', 'L', 'C' )
 #define TTAG_EBSC  FT_MAKE_TAG( 'E', 'B', 'S', 'C' )
 #define TTAG_feat  FT_MAKE_TAG( 'f', 'e', 'a', 't' )
+#define TTAG_FOND  FT_MAKE_TAG( 'F', 'O', 'N', 'D' )
 #define TTAG_fpgm  FT_MAKE_TAG( 'f', 'p', 'g', 'm' )
 #define TTAG_fvar  FT_MAKE_TAG( 'f', 'v', 'a', 'r' )
 #define TTAG_gasp  FT_MAKE_TAG( 'g', 'a', 's', 'p' )
@@ -57,6 +64,7 @@ FT_BEGIN_HEADER
 #define TTAG_GPOS  FT_MAKE_TAG( 'G', 'P', 'O', 'S' )
 #define TTAG_GSUB  FT_MAKE_TAG( 'G', 'S', 'U', 'B' )
 #define TTAG_gvar  FT_MAKE_TAG( 'g', 'v', 'a', 'r' )
+#define TTAG_HVAR  FT_MAKE_TAG( 'H', 'V', 'A', 'R' )
 #define TTAG_hdmx  FT_MAKE_TAG( 'h', 'd', 'm', 'x' )
 #define TTAG_head  FT_MAKE_TAG( 'h', 'e', 'a', 'd' )
 #define TTAG_hhea  FT_MAKE_TAG( 'h', 'h', 'e', 'a' )
@@ -67,33 +75,49 @@ FT_BEGIN_HEADER
 #define TTAG_lcar  FT_MAKE_TAG( 'l', 'c', 'a', 'r' )
 #define TTAG_loca  FT_MAKE_TAG( 'l', 'o', 'c', 'a' )
 #define TTAG_LTSH  FT_MAKE_TAG( 'L', 'T', 'S', 'H' )
+#define TTAG_LWFN  FT_MAKE_TAG( 'L', 'W', 'F', 'N' )
+#define TTAG_MATH  FT_MAKE_TAG( 'M', 'A', 'T', 'H' )
 #define TTAG_maxp  FT_MAKE_TAG( 'm', 'a', 'x', 'p' )
 #define TTAG_META  FT_MAKE_TAG( 'M', 'E', 'T', 'A' )
 #define TTAG_MMFX  FT_MAKE_TAG( 'M', 'M', 'F', 'X' )
 #define TTAG_MMSD  FT_MAKE_TAG( 'M', 'M', 'S', 'D' )
 #define TTAG_mort  FT_MAKE_TAG( 'm', 'o', 'r', 't' )
 #define TTAG_morx  FT_MAKE_TAG( 'm', 'o', 'r', 'x' )
+#define TTAG_MVAR  FT_MAKE_TAG( 'M', 'V', 'A', 'R' )
 #define TTAG_name  FT_MAKE_TAG( 'n', 'a', 'm', 'e' )
 #define TTAG_opbd  FT_MAKE_TAG( 'o', 'p', 'b', 'd' )
 #define TTAG_OS2   FT_MAKE_TAG( 'O', 'S', '/', '2' )
 #define TTAG_OTTO  FT_MAKE_TAG( 'O', 'T', 'T', 'O' )
 #define TTAG_PCLT  FT_MAKE_TAG( 'P', 'C', 'L', 'T' )
+#define TTAG_POST  FT_MAKE_TAG( 'P', 'O', 'S', 'T' )
 #define TTAG_post  FT_MAKE_TAG( 'p', 'o', 's', 't' )
 #define TTAG_prep  FT_MAKE_TAG( 'p', 'r', 'e', 'p' )
 #define TTAG_prop  FT_MAKE_TAG( 'p', 'r', 'o', 'p' )
+#define TTAG_sbix  FT_MAKE_TAG( 's', 'b', 'i', 'x' )
+#define TTAG_sfnt  FT_MAKE_TAG( 's', 'f', 'n', 't' )
 #define TTAG_SING  FT_MAKE_TAG( 'S', 'I', 'N', 'G' )
 #define TTAG_trak  FT_MAKE_TAG( 't', 'r', 'a', 'k' )
 #define TTAG_true  FT_MAKE_TAG( 't', 'r', 'u', 'e' )
 #define TTAG_ttc   FT_MAKE_TAG( 't', 't', 'c', ' ' )
 #define TTAG_ttcf  FT_MAKE_TAG( 't', 't', 'c', 'f' )
+#define TTAG_TYP1  FT_MAKE_TAG( 'T', 'Y', 'P', '1' )
+#define TTAG_typ1  FT_MAKE_TAG( 't', 'y', 'p', '1' )
 #define TTAG_VDMX  FT_MAKE_TAG( 'V', 'D', 'M', 'X' )
 #define TTAG_vhea  FT_MAKE_TAG( 'v', 'h', 'e', 'a' )
 #define TTAG_vmtx  FT_MAKE_TAG( 'v', 'm', 't', 'x' )
+#define TTAG_VVAR  FT_MAKE_TAG( 'V', 'V', 'A', 'R' )
+#define TTAG_wOFF  FT_MAKE_TAG( 'w', 'O', 'F', 'F' )
+
+/* used by "Keyboard.dfont" on legacy Mac OS X */
+#define TTAG_0xA5kbd  FT_MAKE_TAG( 0xA5, 'k', 'b', 'd' )
+
+/* used by "LastResort.dfont" on legacy Mac OS X */
+#define TTAG_0xA5lst  FT_MAKE_TAG( 0xA5, 'l', 's', 't' )
 
 
 FT_END_HEADER
 
-#endif /* __TTAGS_H__ */
+#endif /* TTAGS_H_ */
 
 
 /* END */
diff --git a/CMU462/deps/freetype/include/freetype2/freetype/config/ftconfig.h b/CMU462/deps/freetype/include/freetype2/freetype/config/ftconfig.h
deleted file mode 100755
index 3b44750..0000000
--- a/CMU462/deps/freetype/include/freetype2/freetype/config/ftconfig.h
+++ /dev/null
@@ -1,350 +0,0 @@
-/* ftconfig.h.  Generated from ftconfig.in by configure.  */
-/***************************************************************************/
-/*                                                                         */
-/*  ftconfig.in                                                            */
-/*                                                                         */
-/*    UNIX-specific configuration file (specification only).               */
-/*                                                                         */
-/*  Copyright 1996-2001, 2002, 2003, 2004, 2006, 2007 by                   */
-/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
-/*                                                                         */
-/*  This file is part of the FreeType project, and may only be used,       */
-/*  modified, and distributed under the terms of the FreeType project      */
-/*  license, LICENSE.TXT.  By continuing to use, modify, or distribute     */
-/*  this file you indicate that you have read the license and              */
-/*  understand and accept it fully.                                        */
-/*                                                                         */
-/***************************************************************************/
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* This header file contains a number of macro definitions that are used */
-  /* by the rest of the engine.  Most of the macros here are automatically */
-  /* determined at compile time, and you should not need to change it to   */
-  /* port FreeType, except to compile the library with a non-ANSI          */
-  /* compiler.                                                             */
-  /*                                                                       */
-  /* Note however that if some specific modifications are needed, we       */
-  /* advise you to place a modified copy in your build directory.          */
-  /*                                                                       */
-  /* The build directory is usually `freetype/builds/<system>', and        */
-  /* contains system-specific files that are always included first when    */
-  /* building the library.                                                 */
-  /*                                                                       */
-  /*************************************************************************/
-
-
-#ifndef __FTCONFIG_H__
-#define __FTCONFIG_H__
-
-#include <ft2build.h>
-#include FT_CONFIG_OPTIONS_H
-#include FT_CONFIG_STANDARD_LIBRARY_H
-
-
-FT_BEGIN_HEADER
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /*               PLATFORM-SPECIFIC CONFIGURATION MACROS                  */
-  /*                                                                       */
-  /* These macros can be toggled to suit a specific system.  The current   */
-  /* ones are defaults used to compile FreeType in an ANSI C environment   */
-  /* (16bit compilers are also supported).  Copy this file to your own     */
-  /* `freetype/builds/<system>' directory, and edit it to port the engine. */
-  /*                                                                       */
-  /*************************************************************************/
-
-
-#define HAVE_UNISTD_H 1
-#define HAVE_FCNTL_H 1
-
-#define SIZEOF_INT 4
-#define SIZEOF_LONG 4
-
-
-#define FT_SIZEOF_INT   SIZEOF_INT
-#define FT_SIZEOF_LONG  SIZEOF_LONG
-
-#define FT_CHAR_BIT  CHAR_BIT
-
-  /* Preferred alignment of data */
-#define FT_ALIGNMENT  8
-
-
-  /* FT_UNUSED is a macro used to indicate that a given parameter is not  */
-  /* used -- this is only used to get rid of unpleasant compiler warnings */
-#ifndef FT_UNUSED
-#define FT_UNUSED( arg )  ( (arg) = (arg) )
-#endif
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /*                     AUTOMATIC CONFIGURATION MACROS                    */
-  /*                                                                       */
-  /* These macros are computed from the ones defined above.  Don't touch   */
-  /* their definition, unless you know precisely what you are doing.  No   */
-  /* porter should need to mess with them.                                 */
-  /*                                                                       */
-  /*************************************************************************/
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* Mac support                                                           */
-  /*                                                                       */
-  /*   This is the only necessary change, so it is defined here instead    */
-  /*   providing a new configuration file.                                 */
-  /*                                                                       */
-#if ( defined( __APPLE__ ) && !defined( DARWIN_NO_CARBON ) ) || \
-    ( defined( __MWERKS__ ) && defined( macintosh )        )
-  /* no Carbon frameworks for 64bit 10.4.x */
-#include "AvailabilityMacros.h"
-#if defined( __LP64__ ) && \
-    ( MAC_OS_X_VERSION_MIN_REQUIRED <= MAC_OS_X_VERSION_10_4 )
-#define DARWIN_NO_CARBON 1
-#else
-#define FT_MACINTOSH 1
-#endif
-#endif
-
-
-  /* Fix compiler warning with sgi compiler */
-#if defined( __sgi ) && !defined( __GNUC__ )
-#if defined( _COMPILER_VERSION ) && ( _COMPILER_VERSION >= 730 )
-#pragma set woff 3505
-#endif
-#endif
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* IntN types                                                            */
-  /*                                                                       */
-  /*   Used to guarantee the size of some specific integers.               */
-  /*                                                                       */
-  typedef signed short    FT_Int16;
-  typedef unsigned short  FT_UInt16;
-
-#if FT_SIZEOF_INT == 4
-
-  typedef signed int      FT_Int32;
-  typedef unsigned int    FT_UInt32;
-
-#elif FT_SIZEOF_LONG == 4
-
-  typedef signed long     FT_Int32;
-  typedef unsigned long   FT_UInt32;
-
-#else
-#error "no 32bit type found -- please check your configuration files"
-#endif
-
-
-  /* look up an integer type that is at least 32 bits */
-#if FT_SIZEOF_INT >= 4
-
-  typedef int            FT_Fast;
-  typedef unsigned int   FT_UFast;
-
-#elif FT_SIZEOF_LONG >= 4
-
-  typedef long           FT_Fast;
-  typedef unsigned long  FT_UFast;
-
-#endif
-
-
-  /* determine whether we have a 64-bit int type for platforms without */
-  /* Autoconf                                                          */
-#if FT_SIZEOF_LONG == 8
-
-  /* FT_LONG64 must be defined if a 64-bit type is available */
-#define FT_LONG64
-#define FT_INT64  long
-
-#elif defined( _MSC_VER ) && _MSC_VER >= 900  /* Visual C++ (and Intel C++) */
-
-  /* this compiler provides the __int64 type */
-#define FT_LONG64
-#define FT_INT64  __int64
-
-#elif defined( __BORLANDC__ )  /* Borland C++ */
-
-  /* XXXX: We should probably check the value of __BORLANDC__ in order */
-  /*       to test the compiler version.                               */
-
-  /* this compiler provides the __int64 type */
-#define FT_LONG64
-#define FT_INT64  __int64
-
-#elif defined( __WATCOMC__ )   /* Watcom C++ */
-
-  /* Watcom doesn't provide 64-bit data types */
-
-#elif defined( __MWERKS__ )    /* Metrowerks CodeWarrior */
-
-#define FT_LONG64
-#define FT_INT64  long long int
-
-#elif defined( __GNUC__ )
-
-  /* GCC provides the `long long' type */
-#define FT_LONG64
-#define FT_INT64  long long int
-
-#endif /* FT_SIZEOF_LONG == 8 */
-
-
-#define FT_BEGIN_STMNT  do {
-#define FT_END_STMNT    } while ( 0 )
-#define FT_DUMMY_STMNT  FT_BEGIN_STMNT FT_END_STMNT
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* A 64-bit data type will create compilation problems if you compile    */
-  /* in strict ANSI mode.  To avoid them, we disable their use if          */
-  /* __STDC__ is defined.  You can however ignore this rule by             */
-  /* defining the FT_CONFIG_OPTION_FORCE_INT64 configuration macro.        */
-  /*                                                                       */
-#if defined( FT_LONG64 ) && !defined( FT_CONFIG_OPTION_FORCE_INT64 )
-
-#ifdef __STDC__
-
-  /* Undefine the 64-bit macros in strict ANSI compilation mode.  */
-  /* Since `#undef' doesn't survive in configuration header files */
-  /* we use the postprocessing facility of AC_CONFIG_HEADERS to   */
-  /* replace the leading `/' with `#'.                            */
-#undef FT_LONG64
-#undef FT_INT64
-
-#endif /* __STDC__ */
-
-#endif /* FT_LONG64 && !FT_CONFIG_OPTION_FORCE_INT64 */
-
-
-#ifdef FT_MAKE_OPTION_SINGLE_OBJECT
-
-#define FT_LOCAL( x )      static  x
-#define FT_LOCAL_DEF( x )  static  x
-
-#else
-
-#ifdef __cplusplus
-#define FT_LOCAL( x )      extern "C"  x
-#define FT_LOCAL_DEF( x )  extern "C"  x
-#else
-#define FT_LOCAL( x )      extern  x
-#define FT_LOCAL_DEF( x )  x
-#endif
-
-#endif /* FT_MAKE_OPTION_SINGLE_OBJECT */
-
-
-#ifndef FT_BASE
-
-#ifdef __cplusplus
-#define FT_BASE( x )  extern "C"  x
-#else
-#define FT_BASE( x )  extern  x
-#endif
-
-#endif /* !FT_BASE */
-
-
-#ifndef FT_BASE_DEF
-
-#ifdef __cplusplus
-#define FT_BASE_DEF( x )  x
-#else
-#define FT_BASE_DEF( x )  x
-#endif
-
-#endif /* !FT_BASE_DEF */
-
-
-#ifndef FT_EXPORT
-
-#ifdef __cplusplus
-#define FT_EXPORT( x )  extern "C"  x
-#else
-#define FT_EXPORT( x )  extern  x
-#endif
-
-#endif /* !FT_EXPORT */
-
-
-#ifndef FT_EXPORT_DEF
-
-#ifdef __cplusplus
-#define FT_EXPORT_DEF( x )  extern "C"  x
-#else
-#define FT_EXPORT_DEF( x )  extern  x
-#endif
-
-#endif /* !FT_EXPORT_DEF */
-
-
-#ifndef FT_EXPORT_VAR
-
-#ifdef __cplusplus
-#define FT_EXPORT_VAR( x )  extern "C"  x
-#else
-#define FT_EXPORT_VAR( x )  extern  x
-#endif
-
-#endif /* !FT_EXPORT_VAR */
-
-  /* The following macros are needed to compile the library with a   */
-  /* C++ compiler and with 16bit compilers.                          */
-  /*                                                                 */
-
-  /* This is special.  Within C++, you must specify `extern "C"' for */
-  /* functions which are used via function pointers, and you also    */
-  /* must do that for structures which contain function pointers to  */
-  /* assure C linkage -- it's not possible to have (local) anonymous */
-  /* functions which are accessed by (global) function pointers.     */
-  /*                                                                 */
-  /*                                                                 */
-  /* FT_CALLBACK_DEF is used to _define_ a callback function.        */
-  /*                                                                 */
-  /* FT_CALLBACK_TABLE is used to _declare_ a constant variable that */
-  /* contains pointers to callback functions.                        */
-  /*                                                                 */
-  /* FT_CALLBACK_TABLE_DEF is used to _define_ a constant variable   */
-  /* that contains pointers to callback functions.                   */
-  /*                                                                 */
-  /*                                                                 */
-  /* Some 16bit compilers have to redefine these macros to insert    */
-  /* the infamous `_cdecl' or `__fastcall' declarations.             */
-  /*                                                                 */
-#ifndef FT_CALLBACK_DEF
-#ifdef __cplusplus
-#define FT_CALLBACK_DEF( x )  extern "C"  x
-#else
-#define FT_CALLBACK_DEF( x )  static  x
-#endif
-#endif /* FT_CALLBACK_DEF */
-
-#ifndef FT_CALLBACK_TABLE
-#ifdef __cplusplus
-#define FT_CALLBACK_TABLE      extern "C"
-#define FT_CALLBACK_TABLE_DEF  extern "C"
-#else
-#define FT_CALLBACK_TABLE      extern
-#define FT_CALLBACK_TABLE_DEF  /* nothing */
-#endif
-#endif /* FT_CALLBACK_TABLE */
-
-
-FT_END_HEADER
-
-
-#endif /* __FTCONFIG_H__ */
-
-
-/* END */
diff --git a/CMU462/deps/freetype/include/freetype2/freetype/config/ftmodule.h b/CMU462/deps/freetype/include/freetype2/freetype/config/ftmodule.h
deleted file mode 100755
index c28052b..0000000
--- a/CMU462/deps/freetype/include/freetype2/freetype/config/ftmodule.h
+++ /dev/null
@@ -1,22 +0,0 @@
-/* This is a generated file. */
-FT_USE_MODULE(tt_driver_class)
-FT_USE_MODULE(t1_driver_class)
-FT_USE_MODULE(cff_driver_class)
-FT_USE_MODULE(t1cid_driver_class)
-FT_USE_MODULE(pfr_driver_class)
-FT_USE_MODULE(t42_driver_class)
-FT_USE_MODULE(winfnt_driver_class)
-FT_USE_MODULE(pcf_driver_class)
-FT_USE_MODULE(bdf_driver_class)
-FT_USE_MODULE(sfnt_module_class)
-FT_USE_MODULE(autofit_module_class)
-FT_USE_MODULE(pshinter_module_class)
-FT_USE_MODULE(ft_raster1_renderer_class)
-FT_USE_MODULE(ft_smooth_renderer_class)
-FT_USE_MODULE(ft_smooth_lcd_renderer_class)
-FT_USE_MODULE(ft_smooth_lcdv_renderer_class)
-FT_USE_MODULE(gxv_module_class)
-FT_USE_MODULE(otv_module_class)
-FT_USE_MODULE(psaux_module_class)
-FT_USE_MODULE(psnames_module_class)
-/* EOF */
diff --git a/CMU462/deps/freetype/include/freetype2/freetype/config/ftoption.h b/CMU462/deps/freetype/include/freetype2/freetype/config/ftoption.h
deleted file mode 100755
index 0b5c66d..0000000
--- a/CMU462/deps/freetype/include/freetype2/freetype/config/ftoption.h
+++ /dev/null
@@ -1,695 +0,0 @@
-/***************************************************************************/
-/*                                                                         */
-/*  ftoption.h                                                             */
-/*                                                                         */
-/*    User-selectable configuration macros (specification only).           */
-/*                                                                         */
-/*  Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006, 2007 by             */
-/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
-/*                                                                         */
-/*  This file is part of the FreeType project, and may only be used,       */
-/*  modified, and distributed under the terms of the FreeType project      */
-/*  license, LICENSE.TXT.  By continuing to use, modify, or distribute     */
-/*  this file you indicate that you have read the license and              */
-/*  understand and accept it fully.                                        */
-/*                                                                         */
-/***************************************************************************/
-
-
-#ifndef __FTOPTION_H__
-#define __FTOPTION_H__
-
-
-#include <ft2build.h>
-
-
-FT_BEGIN_HEADER
-
-  /*************************************************************************/
-  /*                                                                       */
-  /*                 USER-SELECTABLE CONFIGURATION MACROS                  */
-  /*                                                                       */
-  /* This file contains the default configuration macro definitions for    */
-  /* a standard build of the FreeType library.  There are three ways to    */
-  /* use this file to build project-specific versions of the library:      */
-  /*                                                                       */
-  /*  - You can modify this file by hand, but this is not recommended in   */
-  /*    cases where you would like to build several versions of the        */
-  /*    library from a single source directory.                            */
-  /*                                                                       */
-  /*  - You can put a copy of this file in your build directory, more      */
-  /*    precisely in `$BUILD/freetype/config/ftoption.h', where `$BUILD'   */
-  /*    is the name of a directory that is included _before_ the FreeType  */
-  /*    include path during compilation.                                   */
-  /*                                                                       */
-  /*    The default FreeType Makefiles and Jamfiles use the build          */
-  /*    directory `builds/<system>' by default, but you can easily change  */
-  /*    that for your own projects.                                        */
-  /*                                                                       */
-  /*  - Copy the file <ft2build.h> to `$BUILD/ft2build.h' and modify it    */
-  /*    slightly to pre-define the macro FT_CONFIG_OPTIONS_H used to       */
-  /*    locate this file during the build.  For example,                   */
-  /*                                                                       */
-  /*      #define FT_CONFIG_OPTIONS_H  <myftoptions.h>                     */
-  /*      #include <freetype/config/ftheader.h>                            */
-  /*                                                                       */
-  /*    will use `$BUILD/myftoptions.h' instead of this file for macro     */
-  /*    definitions.                                                       */
-  /*                                                                       */
-  /*    Note also that you can similarly pre-define the macro              */
-  /*    FT_CONFIG_MODULES_H used to locate the file listing of the modules */
-  /*    that are statically linked to the library at compile time.  By     */
-  /*    default, this file is <freetype/config/ftmodule.h>.                */
-  /*                                                                       */
-  /*  We highly recommend using the third method whenever possible.        */
-  /*                                                                       */
-  /*************************************************************************/
-
-
-  /*************************************************************************/
-  /*************************************************************************/
-  /****                                                                 ****/
-  /**** G E N E R A L   F R E E T Y P E   2   C O N F I G U R A T I O N ****/
-  /****                                                                 ****/
-  /*************************************************************************/
-  /*************************************************************************/
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* Uncomment the line below if you want to activate sub-pixel rendering  */
-  /* (a.k.a. LCD rendering, or ClearType) in this build of the library.    */
-  /*                                                                       */
-  /* Note that this feature is covered by several Microsoft patents        */
-  /* and should not be activated in any default build of the library.      */
-  /*                                                                       */
-  /* This macro has no impact on the FreeType API, only on its             */
-  /* _implementation_.  For example, using FT_RENDER_MODE_LCD when calling */
-  /* FT_Render_Glyph still generates a bitmap that is 3 times larger than  */
-  /* the original size; the difference will be that each triplet of        */
-  /* subpixels has R=G=B.                                                  */
-  /*                                                                       */
-  /* This is done to allow FreeType clients to run unmodified, forcing     */
-  /* them to display normal gray-level anti-aliased glyphs.                */
-  /*                                                                       */
-#define FT_CONFIG_OPTION_SUBPIXEL_RENDERING
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* Many compilers provide a non-ANSI 64-bit data type that can be used   */
-  /* by FreeType to speed up some computations.  However, this will create */
-  /* some problems when compiling the library in strict ANSI mode.         */
-  /*                                                                       */
-  /* For this reason, the use of 64-bit integers is normally disabled when */
-  /* the __STDC__ macro is defined.  You can however disable this by       */
-  /* defining the macro FT_CONFIG_OPTION_FORCE_INT64 here.                 */
-  /*                                                                       */
-  /* For most compilers, this will only create compilation warnings when   */
-  /* building the library.                                                 */
-  /*                                                                       */
-  /* ObNote: The compiler-specific 64-bit integers are detected in the     */
-  /*         file `ftconfig.h' either statically or through the            */
-  /*         `configure' script on supported platforms.                    */
-  /*                                                                       */
-#undef  FT_CONFIG_OPTION_FORCE_INT64
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* LZW-compressed file support.                                          */
-  /*                                                                       */
-  /*   FreeType now handles font files that have been compressed with the  */
-  /*   `compress' program.  This is mostly used to parse many of the PCF   */
-  /*   files that come with various X11 distributions.  The implementation */
-  /*   uses NetBSD's `zopen' to partially uncompress the file on the fly   */
-  /*   (see src/lzw/ftgzip.c).                                             */
-  /*                                                                       */
-  /*   Define this macro if you want to enable this `feature'.             */
-  /*                                                                       */
-#define FT_CONFIG_OPTION_USE_LZW
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* Gzip-compressed file support.                                         */
-  /*                                                                       */
-  /*   FreeType now handles font files that have been compressed with the  */
-  /*   `gzip' program.  This is mostly used to parse many of the PCF files */
-  /*   that come with XFree86.  The implementation uses `zlib' to          */
-  /*   partially uncompress the file on the fly (see src/gzip/ftgzip.c).   */
-  /*                                                                       */
-  /*   Define this macro if you want to enable this `feature'.  See also   */
-  /*   the macro FT_CONFIG_OPTION_SYSTEM_ZLIB below.                       */
-  /*                                                                       */
-#define FT_CONFIG_OPTION_USE_ZLIB
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* ZLib library selection                                                */
-  /*                                                                       */
-  /*   This macro is only used when FT_CONFIG_OPTION_USE_ZLIB is defined.  */
-  /*   It allows FreeType's `ftgzip' component to link to the system's     */
-  /*   installation of the ZLib library.  This is useful on systems like   */
-  /*   Unix or VMS where it generally is already available.                */
-  /*                                                                       */
-  /*   If you let it undefined, the component will use its own copy        */
-  /*   of the zlib sources instead.  These have been modified to be        */
-  /*   included directly within the component and *not* export external    */
-  /*   function names.  This allows you to link any program with FreeType  */
-  /*   _and_ ZLib without linking conflicts.                               */
-  /*                                                                       */
-  /*   Do not #undef this macro here since the build system might define   */
-  /*   it for certain configurations only.                                 */
-  /*                                                                       */
-/* #define  FT_CONFIG_OPTION_SYSTEM_ZLIB */
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* DLL export compilation                                                */
-  /*                                                                       */
-  /*   When compiling FreeType as a DLL, some systems/compilers need a     */
-  /*   special keyword in front OR after the return type of function       */
-  /*   declarations.                                                       */
-  /*                                                                       */
-  /*   Two macros are used within the FreeType source code to define       */
-  /*   exported library functions: FT_EXPORT and FT_EXPORT_DEF.            */
-  /*                                                                       */
-  /*     FT_EXPORT( return_type )                                          */
-  /*                                                                       */
-  /*       is used in a function declaration, as in                        */
-  /*                                                                       */
-  /*         FT_EXPORT( FT_Error )                                         */
-  /*         FT_Init_FreeType( FT_Library*  alibrary );                    */
-  /*                                                                       */
-  /*                                                                       */
-  /*     FT_EXPORT_DEF( return_type )                                      */
-  /*                                                                       */
-  /*       is used in a function definition, as in                         */
-  /*                                                                       */
-  /*         FT_EXPORT_DEF( FT_Error )                                     */
-  /*         FT_Init_FreeType( FT_Library*  alibrary )                     */
-  /*         {                                                             */
-  /*           ... some code ...                                           */
-  /*           return FT_Err_Ok;                                           */
-  /*         }                                                             */
-  /*                                                                       */
-  /*   You can provide your own implementation of FT_EXPORT and            */
-  /*   FT_EXPORT_DEF here if you want.  If you leave them undefined, they  */
-  /*   will be later automatically defined as `extern return_type' to      */
-  /*   allow normal compilation.                                           */
-  /*                                                                       */
-  /*   Do not #undef these macros here since the build system might define */
-  /*   them for certain configurations only.                               */
-  /*                                                                       */
-/* #define  FT_EXPORT(x)       extern x */
-/* #define  FT_EXPORT_DEF(x)   x */
-#ifndef __GNUC__
-# define __DLL_IMPORT__  __declspec(dllimport)
-# define __DLL_EXPORT__  __declspec(dllexport)
-#else
-# define __DLL_IMPORT__  __attribute__((dllimport)) extern
-# define __DLL_EXPORT__  __attribute__((dllexport)) extern
-#endif 
-
-#if (defined __WIN32__) || (defined _WIN32)
-# ifdef BUILD_FREETYPE2_DLL
-#  define FREETYPE2_DLL_IMPEXP     __DLL_EXPORT__
-# elif defined(FREETYPE2_STATIC)
-#  define FREETYPE2_DLL_IMPEXP      
-# elif defined (USE_FREETYPE2_DLL)
-#  define FREETYPE2_DLL_IMPEXP     __DLL_IMPORT__
-# elif defined (USE_FREETYPE2_STATIC)
-#  define FREETYPE2_DLL_IMPEXP      
-# else /* assume USE_FREETYPE2_DLL */
-#  define FREETYPE2_DLL_IMPEXP     __DLL_IMPORT__
-# endif
-#else /* __WIN32__ */
-# define FREETYPE2_DLL_IMPEXP  
-#endif
- 
-#define FT_EXPORT(x)    FREETYPE2_DLL_IMPEXP x
-#define FT_BASE(x)      FREETYPE2_DLL_IMPEXP x
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* Glyph Postscript Names handling                                       */
-  /*                                                                       */
-  /*   By default, FreeType 2 is compiled with the `PSNames' module.  This */
-  /*   module is in charge of converting a glyph name string into a        */
-  /*   Unicode value, or return a Macintosh standard glyph name for the    */
-  /*   use with the TrueType `post' table.                                 */
-  /*                                                                       */
-  /*   Undefine this macro if you do not want `PSNames' compiled in your   */
-  /*   build of FreeType.  This has the following effects:                 */
-  /*                                                                       */
-  /*   - The TrueType driver will provide its own set of glyph names,      */
-  /*     if you build it to support postscript names in the TrueType       */
-  /*     `post' table.                                                     */
-  /*                                                                       */
-  /*   - The Type 1 driver will not be able to synthetize a Unicode        */
-  /*     charmap out of the glyphs found in the fonts.                     */
-  /*                                                                       */
-  /*   You would normally undefine this configuration macro when building  */
-  /*   a version of FreeType that doesn't contain a Type 1 or CFF driver.  */
-  /*                                                                       */
-#define FT_CONFIG_OPTION_POSTSCRIPT_NAMES
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* Postscript Names to Unicode Values support                            */
-  /*                                                                       */
-  /*   By default, FreeType 2 is built with the `PSNames' module compiled  */
-  /*   in.  Among other things, the module is used to convert a glyph name */
-  /*   into a Unicode value.  This is especially useful in order to        */
-  /*   synthetize on the fly a Unicode charmap from the CFF/Type 1 driver  */
-  /*   through a big table named the `Adobe Glyph List' (AGL).             */
-  /*                                                                       */
-  /*   Undefine this macro if you do not want the Adobe Glyph List         */
-  /*   compiled in your `PSNames' module.  The Type 1 driver will not be   */
-  /*   able to synthetize a Unicode charmap out of the glyphs found in the */
-  /*   fonts.                                                              */
-  /*                                                                       */
-#define FT_CONFIG_OPTION_ADOBE_GLYPH_LIST
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* Support for Mac fonts                                                 */
-  /*                                                                       */
-  /*   Define this macro if you want support for outline fonts in Mac      */
-  /*   format (mac dfont, mac resource, macbinary containing a mac         */
-  /*   resource) on non-Mac platforms.                                     */
-  /*                                                                       */
-  /*   Note that the `FOND' resource isn't checked.                        */
-  /*                                                                       */
-#define FT_CONFIG_OPTION_MAC_FONTS
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* Guessing methods to access embedded resource forks                    */
-  /*                                                                       */
-  /*   Enable extra Mac fonts support on non-Mac platforms (e.g.           */
-  /*   GNU/Linux).                                                         */
-  /*                                                                       */
-  /*   Resource forks which include fonts data are stored sometimes in     */
-  /*   locations which users or developers don't expected.  In some cases, */
-  /*   resource forks start with some offset from the head of a file.  In  */
-  /*   other cases, the actual resource fork is stored in file different   */
-  /*   from what the user specifies.  If this option is activated,         */
-  /*   FreeType tries to guess whether such offsets or different file      */
-  /*   names must be used.                                                 */
-  /*                                                                       */
-  /*   Note that normal, direct access of resource forks is controlled via */
-  /*   the FT_CONFIG_OPTION_MAC_FONTS option.                              */
-  /*                                                                       */
-#ifdef FT_CONFIG_OPTION_MAC_FONTS
-#define FT_CONFIG_OPTION_GUESSING_EMBEDDED_RFORK
-#endif
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* Allow the use of FT_Incremental_Interface to load typefaces that      */
-  /* contain no glyph data, but supply it via a callback function.         */
-  /* This allows FreeType to be used with the PostScript language, using   */
-  /* the GhostScript interpreter.                                          */
-  /*                                                                       */
-/* #define FT_CONFIG_OPTION_INCREMENTAL */
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* The size in bytes of the render pool used by the scan-line converter  */
-  /* to do all of its work.                                                */
-  /*                                                                       */
-  /* This must be greater than 4KByte if you use FreeType to rasterize     */
-  /* glyphs; otherwise, you may set it to zero to avoid unnecessary        */
-  /* allocation of the render pool.                                        */
-  /*                                                                       */
-#define FT_RENDER_POOL_SIZE  16384L
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* FT_MAX_MODULES                                                        */
-  /*                                                                       */
-  /*   The maximum number of modules that can be registered in a single    */
-  /*   FreeType library object.  32 is the default.                        */
-  /*                                                                       */
-#define FT_MAX_MODULES  32
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* Debug level                                                           */
-  /*                                                                       */
-  /*   FreeType can be compiled in debug or trace mode.  In debug mode,    */
-  /*   errors are reported through the `ftdebug' component.  In trace      */
-  /*   mode, additional messages are sent to the standard output during    */
-  /*   execution.                                                          */
-  /*                                                                       */
-  /*   Define FT_DEBUG_LEVEL_ERROR to build the library in debug mode.     */
-  /*   Define FT_DEBUG_LEVEL_TRACE to build it in trace mode.              */
-  /*                                                                       */
-  /*   Don't define any of these macros to compile in `release' mode!      */
-  /*                                                                       */
-  /*   Do not #undef these macros here since the build system might define */
-  /*   them for certain configurations only.                               */
-  /*                                                                       */
-/* #define FT_DEBUG_LEVEL_ERROR */
-/* #define FT_DEBUG_LEVEL_TRACE */
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* Memory Debugging                                                      */
-  /*                                                                       */
-  /*   FreeType now comes with an integrated memory debugger that is       */
-  /*   capable of detecting simple errors like memory leaks or double      */
-  /*   deletes.  To compile it within your build of the library, you       */
-  /*   should define FT_DEBUG_MEMORY here.                                 */
-  /*                                                                       */
-  /*   Note that the memory debugger is only activated at runtime when     */
-  /*   when the _environment_ variable `FT2_DEBUG_MEMORY' is defined also! */
-  /*                                                                       */
-  /*   Do not #undef this macro here since the build system might define   */
-  /*   it for certain configurations only.                                 */
-  /*                                                                       */
-/* #define FT_DEBUG_MEMORY */
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* Module errors                                                         */
-  /*                                                                       */
-  /*   If this macro is set (which is _not_ the default), the higher byte  */
-  /*   of an error code gives the module in which the error has occurred,  */
-  /*   while the lower byte is the real error code.                        */
-  /*                                                                       */
-  /*   Setting this macro makes sense for debugging purposes only, since   */
-  /*   it would break source compatibility of certain programs that use    */
-  /*   FreeType 2.                                                         */
-  /*                                                                       */
-  /*   More details can be found in the files ftmoderr.h and fterrors.h.   */
-  /*                                                                       */
-#undef FT_CONFIG_OPTION_USE_MODULE_ERRORS
-
-
-
-  /*************************************************************************/
-  /*************************************************************************/
-  /****                                                                 ****/
-  /****        S F N T   D R I V E R    C O N F I G U R A T I O N       ****/
-  /****                                                                 ****/
-  /*************************************************************************/
-  /*************************************************************************/
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* Define TT_CONFIG_OPTION_EMBEDDED_BITMAPS if you want to support       */
-  /* embedded bitmaps in all formats using the SFNT module (namely         */
-  /* TrueType & OpenType).                                                 */
-  /*                                                                       */
-#define TT_CONFIG_OPTION_EMBEDDED_BITMAPS
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* Define TT_CONFIG_OPTION_POSTSCRIPT_NAMES if you want to be able to    */
-  /* load and enumerate the glyph Postscript names in a TrueType or        */
-  /* OpenType file.                                                        */
-  /*                                                                       */
-  /* Note that when you do not compile the `PSNames' module by undefining  */
-  /* the above FT_CONFIG_OPTION_POSTSCRIPT_NAMES, the `sfnt' module will   */
-  /* contain additional code used to read the PS Names table from a font.  */
-  /*                                                                       */
-  /* (By default, the module uses `PSNames' to extract glyph names.)       */
-  /*                                                                       */
-#define TT_CONFIG_OPTION_POSTSCRIPT_NAMES
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* Define TT_CONFIG_OPTION_SFNT_NAMES if your applications need to       */
-  /* access the internal name table in a SFNT-based format like TrueType   */
-  /* or OpenType.  The name table contains various strings used to         */
-  /* describe the font, like family name, copyright, version, etc.  It     */
-  /* does not contain any glyph name though.                               */
-  /*                                                                       */
-  /* Accessing SFNT names is done through the functions declared in        */
-  /* `freetype/ftnames.h'.                                                 */
-  /*                                                                       */
-#define TT_CONFIG_OPTION_SFNT_NAMES
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* TrueType CMap support                                                 */
-  /*                                                                       */
-  /*   Here you can fine-tune which TrueType CMap table format shall be    */
-  /*   supported.                                                          */
-#define TT_CONFIG_CMAP_FORMAT_0
-#define TT_CONFIG_CMAP_FORMAT_2
-#define TT_CONFIG_CMAP_FORMAT_4
-#define TT_CONFIG_CMAP_FORMAT_6
-#define TT_CONFIG_CMAP_FORMAT_8
-#define TT_CONFIG_CMAP_FORMAT_10
-#define TT_CONFIG_CMAP_FORMAT_12
-
-
-  /*************************************************************************/
-  /*************************************************************************/
-  /****                                                                 ****/
-  /****    T R U E T Y P E   D R I V E R    C O N F I G U R A T I O N   ****/
-  /****                                                                 ****/
-  /*************************************************************************/
-  /*************************************************************************/
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* Define TT_CONFIG_OPTION_BYTECODE_INTERPRETER if you want to compile   */
-  /* a bytecode interpreter in the TrueType driver.  Note that there are   */
-  /* important patent issues related to the use of the interpreter.        */
-  /*                                                                       */
-  /* By undefining this, you will only compile the code necessary to load  */
-  /* TrueType glyphs without hinting.                                      */
-  /*                                                                       */
-  /*   Do not #undef this macro here, since the build system might         */
-  /*   define it for certain configurations only.                          */
-  /*                                                                       */
-/* #define TT_CONFIG_OPTION_BYTECODE_INTERPRETER */
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* If you define TT_CONFIG_OPTION_UNPATENTED_HINTING, a special version  */
-  /* of the TrueType bytecode interpreter is used that doesn't implement   */
-  /* any of the patented opcodes and algorithms.  Note that the            */
-  /* the TT_CONFIG_OPTION_UNPATENTED_HINTING macro is *ignored* if you     */
-  /* define TT_CONFIG_OPTION_BYTECODE_INTERPRETER; with other words,       */
-  /* either define TT_CONFIG_OPTION_BYTECODE_INTERPRETER or                */
-  /* TT_CONFIG_OPTION_UNPATENTED_HINTING but not both at the same time.    */
-  /*                                                                       */
-  /* This macro is only useful for a small number of font files (mostly    */
-  /* for Asian scripts) that require bytecode interpretation to properly   */
-  /* load glyphs.  For all other fonts, this produces unpleasant results,  */
-  /* thus the unpatented interpreter is never used to load glyphs from     */
-  /* TrueType fonts unless one of the following two options is used.       */
-  /*                                                                       */
-  /*   - The unpatented interpreter is explicitly activated by the user    */
-  /*     through the FT_PARAM_TAG_UNPATENTED_HINTING parameter tag         */
-  /*     when opening the FT_Face.                                         */
-  /*                                                                       */
-  /*   - FreeType detects that the FT_Face corresponds to one of the       */
-  /*     `trick' fonts (e.g., `Mingliu') it knows about.  The font engine  */
-  /*     contains a hard-coded list of font names and other matching       */
-  /*     parameters (see function `tt_face_init' in file                   */
-  /*     `src/truetype/ttobjs.c').                                         */
-  /*                                                                       */
-  /* Here a sample code snippet for using FT_PARAM_TAG_UNPATENTED_HINTING. */
-  /*                                                                       */
-  /*   {                                                                   */
-  /*     FT_Parameter  parameter;                                          */
-  /*     FT_Open_Args  open_args;                                          */
-  /*                                                                       */
-  /*                                                                       */
-  /*     parameter.tag = FT_PARAM_TAG_UNPATENTED_HINTING;                  */
-  /*                                                                       */
-  /*     open_args.flags      = FT_OPEN_PATHNAME | FT_OPEN_PARAMS;         */
-  /*     open_args.pathname   = my_font_pathname;                          */
-  /*     open_args.num_params = 1;                                         */
-  /*     open_args.params     = &parameter;                                */
-  /*                                                                       */
-  /*     error = FT_Open_Face( library, &open_args, index, &face );        */
-  /*     ...                                                               */
-  /*   }                                                                   */
-  /*                                                                       */
-#define TT_CONFIG_OPTION_UNPATENTED_HINTING
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* Define TT_CONFIG_OPTION_INTERPRETER_SWITCH to compile the TrueType    */
-  /* bytecode interpreter with a huge switch statement, rather than a call */
-  /* table.  This results in smaller and faster code for a number of       */
-  /* architectures.                                                        */
-  /*                                                                       */
-  /* Note however that on some compiler/processor combinations, undefining */
-  /* this macro will generate faster, though larger, code.                 */
-  /*                                                                       */
-#define TT_CONFIG_OPTION_INTERPRETER_SWITCH
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* Define TT_CONFIG_OPTION_COMPONENT_OFFSET_SCALED to compile the        */
-  /* TrueType glyph loader to use Apple's definition of how to handle      */
-  /* component offsets in composite glyphs.                                */
-  /*                                                                       */
-  /* Apple and MS disagree on the default behavior of component offsets    */
-  /* in composites.  Apple says that they should be scaled by the scaling  */
-  /* factors in the transformation matrix (roughly, it's more complex)     */
-  /* while MS says they should not.  OpenType defines two bits in the      */
-  /* composite flags array which can be used to disambiguate, but old      */
-  /* fonts will not have them.                                             */
-  /*                                                                       */
-  /*   http://partners.adobe.com/asn/developer/opentype/glyf.html          */
-  /*   http://fonts.apple.com/TTRefMan/RM06/Chap6glyf.html                 */
-  /*                                                                       */
-#undef TT_CONFIG_OPTION_COMPONENT_OFFSET_SCALED
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* Define TT_CONFIG_OPTION_GX_VAR_SUPPORT if you want to include         */
-  /* support for Apple's distortable font technology (fvar, gvar, cvar,    */
-  /* and avar tables).  This has many similarities to Type 1 Multiple      */
-  /* Masters support.                                                      */
-  /*                                                                       */
-#define TT_CONFIG_OPTION_GX_VAR_SUPPORT
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* Define TT_CONFIG_OPTION_BDF if you want to include support for        */
-  /* an embedded `BDF ' table within SFNT-based bitmap formats.            */
-  /*                                                                       */
-#define TT_CONFIG_OPTION_BDF
-
-
-  /*************************************************************************/
-  /*************************************************************************/
-  /****                                                                 ****/
-  /****      T Y P E 1   D R I V E R    C O N F I G U R A T I O N       ****/
-  /****                                                                 ****/
-  /*************************************************************************/
-  /*************************************************************************/
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* T1_MAX_DICT_DEPTH is the maximal depth of nest dictionaries and       */
-  /* arrays in the Type 1 stream (see t1load.c).  A minimum of 4 is        */
-  /* required.                                                             */
-  /*                                                                       */
-#define T1_MAX_DICT_DEPTH  5
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* T1_MAX_SUBRS_CALLS details the maximum number of nested sub-routine   */
-  /* calls during glyph loading.                                           */
-  /*                                                                       */
-#define T1_MAX_SUBRS_CALLS  16
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* T1_MAX_CHARSTRING_OPERANDS is the charstring stack's capacity.  A     */
-  /* minimum of 16 is required.                                            */
-  /*                                                                       */
-  /* The Chinese font MingTiEG-Medium (CNS 11643 character set) needs 256. */
-  /*                                                                       */
-#define T1_MAX_CHARSTRINGS_OPERANDS  256
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* Define this configuration macro if you want to prevent the            */
-  /* compilation of `t1afm', which is in charge of reading Type 1 AFM      */
-  /* files into an existing face.  Note that if set, the T1 driver will be */
-  /* unable to produce kerning distances.                                  */
-  /*                                                                       */
-#undef T1_CONFIG_OPTION_NO_AFM
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* Define this configuration macro if you want to prevent the            */
-  /* compilation of the Multiple Masters font support in the Type 1        */
-  /* driver.                                                               */
-  /*                                                                       */
-#undef T1_CONFIG_OPTION_NO_MM_SUPPORT
-
-
-  /*************************************************************************/
-  /*************************************************************************/
-  /****                                                                 ****/
-  /****    A U T O F I T   M O D U L E    C O N F I G U R A T I O N     ****/
-  /****                                                                 ****/
-  /*************************************************************************/
-  /*************************************************************************/
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* Compile autofit module with CJK script support.                       */
-  /*                                                                       */
-#define AF_CONFIG_OPTION_CJK
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* Compile autofit module with Indic script support.                     */
-  /*                                                                       */
-#define AF_CONFIG_OPTION_INDIC
-
-  /* */
-
-
-  /*
-   * Define this variable if you want to keep the layout of internal
-   * structures that was used prior to FreeType 2.2.  This also compiles in
-   * a few obsolete functions to avoid linking problems on typical Unix
-   * distributions.
-   *
-   * For embedded systems or building a new distribution from scratch, it
-   * is recommended to disable the macro since it reduces the library's code
-   * size and activates a few memory-saving optimizations as well.
-   */
-/* #define FT_CONFIG_OPTION_OLD_INTERNALS */
-
-
-  /*
-   * This variable is defined if either unpatented or native TrueType
-   * hinting is requested by the definitions above.
-   */
-#ifdef TT_CONFIG_OPTION_BYTECODE_INTERPRETER
-#define  TT_USE_BYTECODE_INTERPRETER
-#elif defined TT_CONFIG_OPTION_UNPATENTED_HINTING
-#define  TT_USE_BYTECODE_INTERPRETER
-#endif
-
-FT_END_HEADER
-
-
-#endif /* __FTOPTION_H__ */
-
-
-/* END */
diff --git a/CMU462/deps/freetype/include/freetype2/freetype/config/ftstdlib.h b/CMU462/deps/freetype/include/freetype2/freetype/config/ftstdlib.h
deleted file mode 100755
index f923f3e..0000000
--- a/CMU462/deps/freetype/include/freetype2/freetype/config/ftstdlib.h
+++ /dev/null
@@ -1,180 +0,0 @@
-/***************************************************************************/
-/*                                                                         */
-/*  ftstdlib.h                                                             */
-/*                                                                         */
-/*    ANSI-specific library and header configuration file (specification   */
-/*    only).                                                               */
-/*                                                                         */
-/*  Copyright 2002, 2003, 2004, 2005, 2006, 2007 by                        */
-/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
-/*                                                                         */
-/*  This file is part of the FreeType project, and may only be used,       */
-/*  modified, and distributed under the terms of the FreeType project      */
-/*  license, LICENSE.TXT.  By continuing to use, modify, or distribute     */
-/*  this file you indicate that you have read the license and              */
-/*  understand and accept it fully.                                        */
-/*                                                                         */
-/***************************************************************************/
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* This file is used to group all #includes to the ANSI C library that   */
-  /* FreeType normally requires.  It also defines macros to rename the     */
-  /* standard functions within the FreeType source code.                   */
-  /*                                                                       */
-  /* Load a file which defines __FTSTDLIB_H__ before this one to override  */
-  /* it.                                                                   */
-  /*                                                                       */
-  /*************************************************************************/
-
-
-#ifndef __FTSTDLIB_H__
-#define __FTSTDLIB_H__
-
-
-#include <stddef.h>
-
-#define ft_ptrdiff_t  ptrdiff_t
-
-
-  /**********************************************************************/
-  /*                                                                    */
-  /*                           integer limits                           */
-  /*                                                                    */
-  /* UINT_MAX and ULONG_MAX are used to automatically compute the size  */
-  /* of `int' and `long' in bytes at compile-time.  So far, this works  */
-  /* for all platforms the library has been tested on.                  */
-  /*                                                                    */
-  /* Note that on the extremely rare platforms that do not provide      */
-  /* integer types that are _exactly_ 16 and 32 bits wide (e.g. some    */
-  /* old Crays where `int' is 36 bits), we do not make any guarantee    */
-  /* about the correct behaviour of FT2 with all fonts.                 */
-  /*                                                                    */
-  /* In these case, `ftconfig.h' will refuse to compile anyway with a   */
-  /* message like `couldn't find 32-bit type' or something similar.     */
-  /*                                                                    */
-  /* IMPORTANT NOTE: We do not define aliases for heap management and   */
-  /*                 i/o routines (i.e. malloc/free/fopen/fread/...)    */
-  /*                 since these functions should all be encapsulated   */
-  /*                 by platform-specific implementations of            */
-  /*                 `ftsystem.c'.                                      */
-  /*                                                                    */
-  /**********************************************************************/
-
-
-#include <limits.h>
-
-#define FT_CHAR_BIT   CHAR_BIT
-#define FT_INT_MAX    INT_MAX
-#define FT_UINT_MAX   UINT_MAX
-#define FT_ULONG_MAX  ULONG_MAX
-
-
-  /**********************************************************************/
-  /*                                                                    */
-  /*                 character and string processing                    */
-  /*                                                                    */
-  /**********************************************************************/
-
-
-#include <string.h>
-
-#define ft_memchr   memchr
-#define ft_memcmp   memcmp
-#define ft_memcpy   memcpy
-#define ft_memmove  memmove
-#define ft_memset   memset
-#define ft_strcat   strcat
-#define ft_strcmp   strcmp
-#define ft_strcpy   strcpy
-#define ft_strlen   strlen
-#define ft_strncmp  strncmp
-#define ft_strncpy  strncpy
-#define ft_strrchr  strrchr
-#define ft_strstr   strstr
-
-
-  /**********************************************************************/
-  /*                                                                    */
-  /*                           file handling                            */
-  /*                                                                    */
-  /**********************************************************************/
-
-
-#include <stdio.h>
-
-#define FT_FILE     FILE
-#define ft_fclose   fclose
-#define ft_fopen    fopen
-#define ft_fread    fread
-#define ft_fseek    fseek
-#define ft_ftell    ftell
-#define ft_sprintf  sprintf
-
-
-  /**********************************************************************/
-  /*                                                                    */
-  /*                             sorting                                */
-  /*                                                                    */
-  /**********************************************************************/
-
-
-#include <stdlib.h>
-
-#define ft_qsort  qsort
-
-#define ft_exit   exit    /* only used to exit from unhandled exceptions */
-
-
-  /**********************************************************************/
-  /*                                                                    */
-  /*                        memory allocation                           */
-  /*                                                                    */
-  /**********************************************************************/
-
-
-#define ft_scalloc   calloc
-#define ft_sfree     free
-#define ft_smalloc   malloc
-#define ft_srealloc  realloc
-
-
-  /**********************************************************************/
-  /*                                                                    */
-  /*                          miscellaneous                             */
-  /*                                                                    */
-  /**********************************************************************/
-
-
-#define ft_atol   atol
-#define ft_labs   labs
-
-
-  /**********************************************************************/
-  /*                                                                    */
-  /*                         execution control                          */
-  /*                                                                    */
-  /**********************************************************************/
-
-
-#include <setjmp.h>
-
-#define ft_jmp_buf     jmp_buf  /* note: this cannot be a typedef since */
-                                /*       jmp_buf is defined as a macro  */
-                                /*       on certain platforms           */
-
-#define ft_longjmp     longjmp
-#define ft_setjmp( b ) setjmp( *(jmp_buf*) &(b) )    /* same thing here */
-
-
-  /* the following is only used for debugging purposes, i.e., if */
-  /* FT_DEBUG_LEVEL_ERROR or FT_DEBUG_LEVEL_TRACE are defined    */
-
-#include <stdarg.h>
-
-
-#endif /* __FTSTDLIB_H__ */
-
-
-/* END */
diff --git a/CMU462/deps/freetype/include/freetype2/freetype/freetype.h b/CMU462/deps/freetype/include/freetype2/freetype/freetype.h
deleted file mode 100755
index dbca087..0000000
--- a/CMU462/deps/freetype/include/freetype2/freetype/freetype.h
+++ /dev/null
@@ -1,3434 +0,0 @@
-/***************************************************************************/
-/*                                                                         */
-/*  freetype.h                                                             */
-/*                                                                         */
-/*    FreeType high-level API and common types (specification only).       */
-/*                                                                         */
-/*  Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006, 2007 by             */
-/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
-/*                                                                         */
-/*  This file is part of the FreeType project, and may only be used,       */
-/*  modified, and distributed under the terms of the FreeType project      */
-/*  license, LICENSE.TXT.  By continuing to use, modify, or distribute     */
-/*  this file you indicate that you have read the license and              */
-/*  understand and accept it fully.                                        */
-/*                                                                         */
-/***************************************************************************/
-
-
-#ifndef FT_FREETYPE_H
-#error "`ft2build.h' hasn't been included yet!"
-#error "Please always use macros to include FreeType header files."
-#error "Example:"
-#error "  #include <ft2build.h>"
-#error "  #include FT_FREETYPE_H"
-#endif
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* The `raster' component duplicates some of the declarations in         */
-  /* freetype.h for stand-alone use if _FREETYPE_ isn't defined.           */
-  /*                                                                       */
-  /*************************************************************************/
-
-
-#ifndef __FREETYPE_H__
-#define __FREETYPE_H__
-
-
-#include <ft2build.h>
-#include FT_CONFIG_CONFIG_H
-#include FT_ERRORS_H
-#include FT_TYPES_H
-
-
-FT_BEGIN_HEADER
-
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Section>                                                             */
-  /*    user_allocation                                                    */
-  /*                                                                       */
-  /* <Title>                                                               */
-  /*    User allocation                                                    */
-  /*                                                                       */
-  /* <Abstract>                                                            */
-  /*    How client applications should allocate FreeType data structures.  */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    FreeType assumes that structures allocated by the user and passed  */
-  /*    as arguments are zeroed out except for the actual data.  With      */
-  /*    other words, it is recommended to use `calloc' (or variants of it) */
-  /*    instead of `malloc' for allocation.                                */
-  /*                                                                       */
-  /*************************************************************************/
-
-
-
-  /*************************************************************************/
-  /*************************************************************************/
-  /*                                                                       */
-  /*                        B A S I C   T Y P E S                          */
-  /*                                                                       */
-  /*************************************************************************/
-  /*************************************************************************/
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Section>                                                             */
-  /*    base_interface                                                     */
-  /*                                                                       */
-  /* <Title>                                                               */
-  /*    Base Interface                                                     */
-  /*                                                                       */
-  /* <Abstract>                                                            */
-  /*    The FreeType 2 base font interface.                                */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    This section describes the public high-level API of FreeType 2.    */
-  /*                                                                       */
-  /* <Order>                                                               */
-  /*    FT_Library                                                         */
-  /*    FT_Face                                                            */
-  /*    FT_Size                                                            */
-  /*    FT_GlyphSlot                                                       */
-  /*    FT_CharMap                                                         */
-  /*    FT_Encoding                                                        */
-  /*                                                                       */
-  /*    FT_FaceRec                                                         */
-  /*                                                                       */
-  /*    FT_FACE_FLAG_SCALABLE                                              */
-  /*    FT_FACE_FLAG_FIXED_SIZES                                           */
-  /*    FT_FACE_FLAG_FIXED_WIDTH                                           */
-  /*    FT_FACE_FLAG_HORIZONTAL                                            */
-  /*    FT_FACE_FLAG_VERTICAL                                              */
-  /*    FT_FACE_FLAG_SFNT                                                  */
-  /*    FT_FACE_FLAG_KERNING                                               */
-  /*    FT_FACE_FLAG_MULTIPLE_MASTERS                                      */
-  /*    FT_FACE_FLAG_GLYPH_NAMES                                           */
-  /*    FT_FACE_FLAG_EXTERNAL_STREAM                                       */
-  /*    FT_FACE_FLAG_FAST_GLYPHS                                           */
-  /*    FT_FACE_FLAG_HINTER                                                */
-  /*                                                                       */
-  /*    FT_STYLE_FLAG_BOLD                                                 */
-  /*    FT_STYLE_FLAG_ITALIC                                               */
-  /*                                                                       */
-  /*    FT_SizeRec                                                         */
-  /*    FT_Size_Metrics                                                    */
-  /*                                                                       */
-  /*    FT_GlyphSlotRec                                                    */
-  /*    FT_Glyph_Metrics                                                   */
-  /*    FT_SubGlyph                                                        */
-  /*                                                                       */
-  /*    FT_Bitmap_Size                                                     */
-  /*                                                                       */
-  /*    FT_Init_FreeType                                                   */
-  /*    FT_Done_FreeType                                                   */
-  /*                                                                       */
-  /*    FT_New_Face                                                        */
-  /*    FT_Done_Face                                                       */
-  /*    FT_New_Memory_Face                                                 */
-  /*    FT_Open_Face                                                       */
-  /*    FT_Open_Args                                                       */
-  /*    FT_Parameter                                                       */
-  /*    FT_Attach_File                                                     */
-  /*    FT_Attach_Stream                                                   */
-  /*                                                                       */
-  /*    FT_Set_Char_Size                                                   */
-  /*    FT_Set_Pixel_Sizes                                                 */
-  /*    FT_Request_Size                                                    */
-  /*    FT_Select_Size                                                     */
-  /*    FT_Size_Request_Type                                               */
-  /*    FT_Size_Request                                                    */
-  /*    FT_Set_Transform                                                   */
-  /*    FT_Load_Glyph                                                      */
-  /*    FT_Get_Char_Index                                                  */
-  /*    FT_Get_Name_Index                                                  */
-  /*    FT_Load_Char                                                       */
-  /*                                                                       */
-  /*    FT_OPEN_MEMORY                                                     */
-  /*    FT_OPEN_STREAM                                                     */
-  /*    FT_OPEN_PATHNAME                                                   */
-  /*    FT_OPEN_DRIVER                                                     */
-  /*    FT_OPEN_PARAMS                                                     */
-  /*                                                                       */
-  /*    FT_LOAD_DEFAULT                                                    */
-  /*    FT_LOAD_RENDER                                                     */
-  /*    FT_LOAD_MONOCHROME                                                 */
-  /*    FT_LOAD_LINEAR_DESIGN                                              */
-  /*    FT_LOAD_NO_SCALE                                                   */
-  /*    FT_LOAD_NO_HINTING                                                 */
-  /*    FT_LOAD_NO_BITMAP                                                  */
-  /*    FT_LOAD_CROP_BITMAP                                                */
-  /*                                                                       */
-  /*    FT_LOAD_VERTICAL_LAYOUT                                            */
-  /*    FT_LOAD_IGNORE_TRANSFORM                                           */
-  /*    FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH                                */
-  /*    FT_LOAD_FORCE_AUTOHINT                                             */
-  /*    FT_LOAD_NO_RECURSE                                                 */
-  /*    FT_LOAD_PEDANTIC                                                   */
-  /*                                                                       */
-  /*    FT_LOAD_TARGET_NORMAL                                              */
-  /*    FT_LOAD_TARGET_LIGHT                                               */
-  /*    FT_LOAD_TARGET_MONO                                                */
-  /*    FT_LOAD_TARGET_LCD                                                 */
-  /*    FT_LOAD_TARGET_LCD_V                                               */
-  /*                                                                       */
-  /*    FT_Render_Glyph                                                    */
-  /*    FT_Render_Mode                                                     */
-  /*    FT_Get_Kerning                                                     */
-  /*    FT_Kerning_Mode                                                    */
-  /*    FT_Get_Track_Kerning                                               */
-  /*    FT_Get_Glyph_Name                                                  */
-  /*    FT_Get_Postscript_Name                                             */
-  /*                                                                       */
-  /*    FT_CharMapRec                                                      */
-  /*    FT_Select_Charmap                                                  */
-  /*    FT_Set_Charmap                                                     */
-  /*    FT_Get_Charmap_Index                                               */
-  /*                                                                       */
-  /*************************************************************************/
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Struct>                                                              */
-  /*    FT_Glyph_Metrics                                                   */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    A structure used to model the metrics of a single glyph.  The      */
-  /*    values are expressed in 26.6 fractional pixel format; if the flag  */
-  /*    @FT_LOAD_NO_SCALE has been used while loading the glyph, values    */
-  /*    are expressed in font units instead.                               */
-  /*                                                                       */
-  /* <Fields>                                                              */
-  /*    width ::                                                           */
-  /*      The glyph's width.                                               */
-  /*                                                                       */
-  /*    height ::                                                          */
-  /*      The glyph's height.                                              */
-  /*                                                                       */
-  /*    horiBearingX ::                                                    */
-  /*      Left side bearing for horizontal layout.                         */
-  /*                                                                       */
-  /*    horiBearingY ::                                                    */
-  /*      Top side bearing for horizontal layout.                          */
-  /*                                                                       */
-  /*    horiAdvance ::                                                     */
-  /*      Advance width for horizontal layout.                             */
-  /*                                                                       */
-  /*    vertBearingX ::                                                    */
-  /*      Left side bearing for vertical layout.                           */
-  /*                                                                       */
-  /*    vertBearingY ::                                                    */
-  /*      Top side bearing for vertical layout.                            */
-  /*                                                                       */
-  /*    vertAdvance ::                                                     */
-  /*      Advance height for vertical layout.                              */
-  /*                                                                       */
-  typedef struct  FT_Glyph_Metrics_
-  {
-    FT_Pos  width;
-    FT_Pos  height;
-
-    FT_Pos  horiBearingX;
-    FT_Pos  horiBearingY;
-    FT_Pos  horiAdvance;
-
-    FT_Pos  vertBearingX;
-    FT_Pos  vertBearingY;
-    FT_Pos  vertAdvance;
-
-  } FT_Glyph_Metrics;
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Struct>                                                              */
-  /*    FT_Bitmap_Size                                                     */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    This structure models the metrics of a bitmap strike (i.e., a set  */
-  /*    of glyphs for a given point size and resolution) in a bitmap font. */
-  /*    It is used for the `available_sizes' field of @FT_Face.            */
-  /*                                                                       */
-  /* <Fields>                                                              */
-  /*    height :: The vertical distance, in pixels, between two            */
-  /*              consecutive baselines.  It is always positive.           */
-  /*                                                                       */
-  /*    width  :: The average width, in pixels, of all glyphs in the       */
-  /*              strike.                                                  */
-  /*                                                                       */
-  /*    size   :: The nominal size of the strike in 26.6 fractional        */
-  /*              points.  This field is not very useful.                  */
-  /*                                                                       */
-  /*    x_ppem :: The horizontal ppem (nominal width) in 26.6 fractional   */
-  /*              pixels.                                                  */
-  /*                                                                       */
-  /*    y_ppem :: The vertical ppem (nominal height) in 26.6 fractional    */
-  /*              pixels.                                                  */
-  /*                                                                       */
-  /* <Note>                                                                */
-  /*    Windows FNT:                                                       */
-  /*      The nominal size given in a FNT font is not reliable.  Thus when */
-  /*      the driver finds it incorrect, it sets `size' to some calculated */
-  /*      values and sets `x_ppem' and `y_ppem' to the pixel width and     */
-  /*      height given in the font, respectively.                          */
-  /*                                                                       */
-  /*    TrueType embedded bitmaps:                                         */
-  /*      `size', `width', and `height' values are not contained in the    */
-  /*      bitmap strike itself.  They are computed from the global font    */
-  /*      parameters.                                                      */
-  /*                                                                       */
-  typedef struct  FT_Bitmap_Size_
-  {
-    FT_Short  height;
-    FT_Short  width;
-
-    FT_Pos    size;
-
-    FT_Pos    x_ppem;
-    FT_Pos    y_ppem;
-
-  } FT_Bitmap_Size;
-
-
-  /*************************************************************************/
-  /*************************************************************************/
-  /*                                                                       */
-  /*                     O B J E C T   C L A S S E S                       */
-  /*                                                                       */
-  /*************************************************************************/
-  /*************************************************************************/
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Type>                                                                */
-  /*    FT_Library                                                         */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    A handle to a FreeType library instance.  Each `library' is        */
-  /*    completely independent from the others; it is the `root' of a set  */
-  /*    of objects like fonts, faces, sizes, etc.                          */
-  /*                                                                       */
-  /*    It also embeds a memory manager (see @FT_Memory), as well as a     */
-  /*    scan-line converter object (see @FT_Raster).                       */
-  /*                                                                       */
-  /*    For multi-threading applications each thread should have its own   */
-  /*    FT_Library object.                                                 */
-  /*                                                                       */
-  /* <Note>                                                                */
-  /*    Library objects are normally created by @FT_Init_FreeType, and     */
-  /*    destroyed with @FT_Done_FreeType.                                  */
-  /*                                                                       */
-  typedef struct FT_LibraryRec_  *FT_Library;
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Type>                                                                */
-  /*    FT_Module                                                          */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    A handle to a given FreeType module object.  Each module can be a  */
-  /*    font driver, a renderer, or anything else that provides services   */
-  /*    to the formers.                                                    */
-  /*                                                                       */
-  typedef struct FT_ModuleRec_*  FT_Module;
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Type>                                                                */
-  /*    FT_Driver                                                          */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    A handle to a given FreeType font driver object.  Each font driver */
-  /*    is a special module capable of creating faces from font files.     */
-  /*                                                                       */
-  typedef struct FT_DriverRec_*  FT_Driver;
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Type>                                                                */
-  /*    FT_Renderer                                                        */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    A handle to a given FreeType renderer.  A renderer is a special    */
-  /*    module in charge of converting a glyph image to a bitmap, when     */
-  /*    necessary.  Each renderer supports a given glyph image format, and */
-  /*    one or more target surface depths.                                 */
-  /*                                                                       */
-  typedef struct FT_RendererRec_*  FT_Renderer;
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Type>                                                                */
-  /*    FT_Face                                                            */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    A handle to a given typographic face object.  A face object models */
-  /*    a given typeface, in a given style.                                */
-  /*                                                                       */
-  /* <Note>                                                                */
-  /*    Each face object also owns a single @FT_GlyphSlot object, as well  */
-  /*    as one or more @FT_Size objects.                                   */
-  /*                                                                       */
-  /*    Use @FT_New_Face or @FT_Open_Face to create a new face object from */
-  /*    a given filepathname or a custom input stream.                     */
-  /*                                                                       */
-  /*    Use @FT_Done_Face to destroy it (along with its slot and sizes).   */
-  /*                                                                       */
-  /* <Also>                                                                */
-  /*    The @FT_FaceRec details the publicly accessible fields of a given  */
-  /*    face object.                                                       */
-  /*                                                                       */
-  typedef struct FT_FaceRec_*  FT_Face;
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Type>                                                                */
-  /*    FT_Size                                                            */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    A handle to an object used to model a face scaled to a given       */
-  /*    character size.                                                    */
-  /*                                                                       */
-  /* <Note>                                                                */
-  /*    Each @FT_Face has an _active_ @FT_Size object that is used by      */
-  /*    functions like @FT_Load_Glyph to determine the scaling             */
-  /*    transformation which is used to load and hint glyphs and metrics.  */
-  /*                                                                       */
-  /*    You can use @FT_Set_Char_Size, @FT_Set_Pixel_Sizes,                */
-  /*    @FT_Request_Size or even @FT_Select_Size to change the content     */
-  /*    (i.e., the scaling values) of the active @FT_Size.                 */
-  /*                                                                       */
-  /*    You can use @FT_New_Size to create additional size objects for a   */
-  /*    given @FT_Face, but they won't be used by other functions until    */
-  /*    you activate it through @FT_Activate_Size.  Only one size can be   */
-  /*    activated at any given time per face.                              */
-  /*                                                                       */
-  /* <Also>                                                                */
-  /*    The @FT_SizeRec structure details the publicly accessible fields   */
-  /*    of a given size object.                                            */
-  /*                                                                       */
-  typedef struct FT_SizeRec_*  FT_Size;
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Type>                                                                */
-  /*    FT_GlyphSlot                                                       */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    A handle to a given `glyph slot'.  A slot is a container where it  */
-  /*    is possible to load any one of the glyphs contained in its parent  */
-  /*    face.                                                              */
-  /*                                                                       */
-  /*    In other words, each time you call @FT_Load_Glyph or               */
-  /*    @FT_Load_Char, the slot's content is erased by the new glyph data, */
-  /*    i.e., the glyph's metrics, its image (bitmap or outline), and      */
-  /*    other control information.                                         */
-  /*                                                                       */
-  /* <Also>                                                                */
-  /*    @FT_GlyphSlotRec details the publicly accessible glyph fields.     */
-  /*                                                                       */
-  typedef struct FT_GlyphSlotRec_*  FT_GlyphSlot;
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Type>                                                                */
-  /*    FT_CharMap                                                         */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    A handle to a given character map.  A charmap is used to translate */
-  /*    character codes in a given encoding into glyph indexes for its     */
-  /*    parent's face.  Some font formats may provide several charmaps per */
-  /*    font.                                                              */
-  /*                                                                       */
-  /*    Each face object owns zero or more charmaps, but only one of them  */
-  /*    can be `active' and used by @FT_Get_Char_Index or @FT_Load_Char.   */
-  /*                                                                       */
-  /*    The list of available charmaps in a face is available through the  */
-  /*    `face->num_charmaps' and `face->charmaps' fields of @FT_FaceRec.   */
-  /*                                                                       */
-  /*    The currently active charmap is available as `face->charmap'.      */
-  /*    You should call @FT_Set_Charmap to change it.                      */
-  /*                                                                       */
-  /* <Note>                                                                */
-  /*    When a new face is created (either through @FT_New_Face or         */
-  /*    @FT_Open_Face), the library looks for a Unicode charmap within     */
-  /*    the list and automatically activates it.                           */
-  /*                                                                       */
-  /* <Also>                                                                */
-  /*    The @FT_CharMapRec details the publicly accessible fields of a     */
-  /*    given character map.                                               */
-  /*                                                                       */
-  typedef struct FT_CharMapRec_*  FT_CharMap;
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Macro>                                                               */
-  /*    FT_ENC_TAG                                                         */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    This macro converts four-letter tags into an unsigned long.  It is */
-  /*    used to define `encoding' identifiers (see @FT_Encoding).          */
-  /*                                                                       */
-  /* <Note>                                                                */
-  /*    Since many 16bit compilers don't like 32bit enumerations, you      */
-  /*    should redefine this macro in case of problems to something like   */
-  /*    this:                                                              */
-  /*                                                                       */
-  /*    {                                                                  */
-  /*      #define FT_ENC_TAG( value, a, b, c, d )  value                   */
-  /*    }                                                                  */
-  /*                                                                       */
-  /*    to get a simple enumeration without assigning special numbers.     */
-  /*                                                                       */
-
-#ifndef FT_ENC_TAG
-#define FT_ENC_TAG( value, a, b, c, d )         \
-          value = ( ( (FT_UInt32)(a) << 24 ) |  \
-                    ( (FT_UInt32)(b) << 16 ) |  \
-                    ( (FT_UInt32)(c) <<  8 ) |  \
-                      (FT_UInt32)(d)         )
-
-#endif /* FT_ENC_TAG */
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Enum>                                                                */
-  /*    FT_Encoding                                                        */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    An enumeration used to specify character sets supported by         */
-  /*    charmaps.  Used in the @FT_Select_Charmap API function.            */
-  /*                                                                       */
-  /* <Note>                                                                */
-  /*    Despite the name, this enumeration lists specific character        */
-  /*    repertories (i.e., charsets), and not text encoding methods (e.g., */
-  /*    UTF-8, UTF-16, GB2312_EUC, etc.).                                  */
-  /*                                                                       */
-  /*    Because of 32-bit charcodes defined in Unicode (i.e., surrogates), */
-  /*    all character codes must be expressed as FT_Longs.                 */
-  /*                                                                       */
-  /*    Other encodings might be defined in the future.                    */
-  /*                                                                       */
-  /* <Values>                                                              */
-  /*   FT_ENCODING_NONE ::                                                 */
-  /*     The encoding value 0 is reserved.                                 */
-  /*                                                                       */
-  /*   FT_ENCODING_UNICODE ::                                              */
-  /*     Corresponds to the Unicode character set.  This value covers      */
-  /*     all versions of the Unicode repertoire, including ASCII and       */
-  /*     Latin-1.  Most fonts include a Unicode charmap, but not all       */
-  /*     of them.                                                          */
-  /*                                                                       */
-  /*   FT_ENCODING_MS_SYMBOL ::                                            */
-  /*     Corresponds to the Microsoft Symbol encoding, used to encode      */
-  /*     mathematical symbols in the 32..255 character code range.  For    */
-  /*     more information, see `http://www.ceviz.net/symbol.htm'.          */
-  /*                                                                       */
-  /*   FT_ENCODING_SJIS ::                                                 */
-  /*     Corresponds to Japanese SJIS encoding.  More info at              */
-  /*     at `http://langsupport.japanreference.com/encoding.shtml'.        */
-  /*     See note on multi-byte encodings below.                           */
-  /*                                                                       */
-  /*   FT_ENCODING_GB2312 ::                                               */
-  /*     Corresponds to an encoding system for Simplified Chinese as used  */
-  /*     used in mainland China.                                           */
-  /*                                                                       */
-  /*   FT_ENCODING_BIG5 ::                                                 */
-  /*     Corresponds to an encoding system for Traditional Chinese as used */
-  /*     in Taiwan and Hong Kong.                                          */
-  /*                                                                       */
-  /*   FT_ENCODING_WANSUNG ::                                              */
-  /*     Corresponds to the Korean encoding system known as Wansung.       */
-  /*     For more information see                                          */
-  /*     `http://www.microsoft.com/typography/unicode/949.txt'.            */
-  /*                                                                       */
-  /*   FT_ENCODING_JOHAB ::                                                */
-  /*     The Korean standard character set (KS C-5601-1992), which         */
-  /*     corresponds to MS Windows code page 1361.  This character set     */
-  /*     includes all possible Hangeul character combinations.             */
-  /*                                                                       */
-  /*   FT_ENCODING_ADOBE_LATIN_1 ::                                        */
-  /*     Corresponds to a Latin-1 encoding as defined in a Type 1          */
-  /*     Postscript font.  It is limited to 256 character codes.           */
-  /*                                                                       */
-  /*   FT_ENCODING_ADOBE_STANDARD ::                                       */
-  /*     Corresponds to the Adobe Standard encoding, as found in Type 1,   */
-  /*     CFF, and OpenType/CFF fonts.  It is limited to 256 character      */
-  /*     codes.                                                            */
-  /*                                                                       */
-  /*   FT_ENCODING_ADOBE_EXPERT ::                                         */
-  /*     Corresponds to the Adobe Expert encoding, as found in Type 1,     */
-  /*     CFF, and OpenType/CFF fonts.  It is limited to 256 character      */
-  /*     codes.                                                            */
-  /*                                                                       */
-  /*   FT_ENCODING_ADOBE_CUSTOM ::                                         */
-  /*     Corresponds to a custom encoding, as found in Type 1, CFF, and    */
-  /*     OpenType/CFF fonts.  It is limited to 256 character codes.        */
-  /*                                                                       */
-  /*   FT_ENCODING_APPLE_ROMAN ::                                          */
-  /*     Corresponds to the 8-bit Apple roman encoding.  Many TrueType and */
-  /*     OpenType fonts contain a charmap for this encoding, since older   */
-  /*     versions of Mac OS are able to use it.                            */
-  /*                                                                       */
-  /*   FT_ENCODING_OLD_LATIN_2 ::                                          */
-  /*     This value is deprecated and was never used nor reported by       */
-  /*     FreeType.  Don't use or test for it.                              */
-  /*                                                                       */
-  /*   FT_ENCODING_MS_SJIS ::                                              */
-  /*     Same as FT_ENCODING_SJIS.  Deprecated.                            */
-  /*                                                                       */
-  /*   FT_ENCODING_MS_GB2312 ::                                            */
-  /*     Same as FT_ENCODING_GB2312.  Deprecated.                          */
-  /*                                                                       */
-  /*   FT_ENCODING_MS_BIG5 ::                                              */
-  /*     Same as FT_ENCODING_BIG5.  Deprecated.                            */
-  /*                                                                       */
-  /*   FT_ENCODING_MS_WANSUNG ::                                           */
-  /*     Same as FT_ENCODING_WANSUNG.  Deprecated.                         */
-  /*                                                                       */
-  /*   FT_ENCODING_MS_JOHAB ::                                             */
-  /*     Same as FT_ENCODING_JOHAB.  Deprecated.                           */
-  /*                                                                       */
-  /* <Note>                                                                */
-  /*   By default, FreeType automatically synthetizes a Unicode charmap    */
-  /*   for Postscript fonts, using their glyph names dictionaries.         */
-  /*   However, it also reports the encodings defined explicitly in the    */
-  /*   font file, for the cases when they are needed, with the Adobe       */
-  /*   values as well.                                                     */
-  /*                                                                       */
-  /*   FT_ENCODING_NONE is set by the BDF and PCF drivers if the charmap   */
-  /*   is neither Unicode nor ISO-8859-1 (otherwise it is set to           */
-  /*   FT_ENCODING_UNICODE).  Use @FT_Get_BDF_Charset_ID to find out which */
-  /*   encoding is really present.  If, for example, the `cs_registry'     */
-  /*   field is `KOI8' and the `cs_encoding' field is `R', the font is     */
-  /*   encoded in KOI8-R.                                                  */
-  /*                                                                       */
-  /*   FT_ENCODING_NONE is always set (with a single exception) by the     */
-  /*   winfonts driver.  Use @FT_Get_WinFNT_Header and examine the         */
-  /*   `charset' field of the @FT_WinFNT_HeaderRec structure to find out   */
-  /*   which encoding is really present.  For example,                     */
-  /*   @FT_WinFNT_ID_CP1251 (204) means Windows code page 1251 (for        */
-  /*   Russian).                                                           */
-  /*                                                                       */
-  /*   FT_ENCODING_NONE is set if `platform_id' is @TT_PLATFORM_MACINTOSH  */
-  /*   and `encoding_id' is not @TT_MAC_ID_ROMAN (otherwise it is set to   */
-  /*   FT_ENCODING_APPLE_ROMAN).                                           */
-  /*                                                                       */
-  /*   If `platform_id' is @TT_PLATFORM_MACINTOSH, use the function  c     */
-  /*   @FT_Get_CMap_Language_ID  to query the Mac language ID which may be */
-  /*   needed to be able to distinguish Apple encoding variants.  See      */
-  /*                                                                       */
-  /*     http://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/README.TXT   */
-  /*                                                                       */
-  /*   to get an idea how to do that.  Basically, if the language ID is 0, */
-  /*   don't use it, otherwise subtract 1 from the language ID.  Then      */
-  /*   examine `encoding_id'.  If, for example, `encoding_id' is           */
-  /*   @TT_MAC_ID_ROMAN and the language ID (minus 1) is                   */
-  /*   `TT_MAC_LANGID_GREEK', it is the Greek encoding, not Roman.         */
-  /*   @TT_MAC_ID_ARABIC with `TT_MAC_LANGID_FARSI' means the Farsi        */
-  /*   variant the Arabic encoding.                                        */
-  /*                                                                       */
-  typedef enum  FT_Encoding_
-  {
-    FT_ENC_TAG( FT_ENCODING_NONE, 0, 0, 0, 0 ),
-
-    FT_ENC_TAG( FT_ENCODING_MS_SYMBOL, 's', 'y', 'm', 'b' ),
-    FT_ENC_TAG( FT_ENCODING_UNICODE,   'u', 'n', 'i', 'c' ),
-
-    FT_ENC_TAG( FT_ENCODING_SJIS,    's', 'j', 'i', 's' ),
-    FT_ENC_TAG( FT_ENCODING_GB2312,  'g', 'b', ' ', ' ' ),
-    FT_ENC_TAG( FT_ENCODING_BIG5,    'b', 'i', 'g', '5' ),
-    FT_ENC_TAG( FT_ENCODING_WANSUNG, 'w', 'a', 'n', 's' ),
-    FT_ENC_TAG( FT_ENCODING_JOHAB,   'j', 'o', 'h', 'a' ),
-
-    /* for backwards compatibility */
-    FT_ENCODING_MS_SJIS    = FT_ENCODING_SJIS,
-    FT_ENCODING_MS_GB2312  = FT_ENCODING_GB2312,
-    FT_ENCODING_MS_BIG5    = FT_ENCODING_BIG5,
-    FT_ENCODING_MS_WANSUNG = FT_ENCODING_WANSUNG,
-    FT_ENCODING_MS_JOHAB   = FT_ENCODING_JOHAB,
-
-    FT_ENC_TAG( FT_ENCODING_ADOBE_STANDARD, 'A', 'D', 'O', 'B' ),
-    FT_ENC_TAG( FT_ENCODING_ADOBE_EXPERT,   'A', 'D', 'B', 'E' ),
-    FT_ENC_TAG( FT_ENCODING_ADOBE_CUSTOM,   'A', 'D', 'B', 'C' ),
-    FT_ENC_TAG( FT_ENCODING_ADOBE_LATIN_1,  'l', 'a', 't', '1' ),
-
-    FT_ENC_TAG( FT_ENCODING_OLD_LATIN_2, 'l', 'a', 't', '2' ),
-
-    FT_ENC_TAG( FT_ENCODING_APPLE_ROMAN, 'a', 'r', 'm', 'n' )
-
-  } FT_Encoding;
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Enum>                                                                */
-  /*    ft_encoding_xxx                                                    */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    These constants are deprecated; use the corresponding @FT_Encoding */
-  /*    values instead.                                                    */
-  /*                                                                       */
-#define ft_encoding_none            FT_ENCODING_NONE
-#define ft_encoding_unicode         FT_ENCODING_UNICODE
-#define ft_encoding_symbol          FT_ENCODING_MS_SYMBOL
-#define ft_encoding_latin_1         FT_ENCODING_ADOBE_LATIN_1
-#define ft_encoding_latin_2         FT_ENCODING_OLD_LATIN_2
-#define ft_encoding_sjis            FT_ENCODING_SJIS
-#define ft_encoding_gb2312          FT_ENCODING_GB2312
-#define ft_encoding_big5            FT_ENCODING_BIG5
-#define ft_encoding_wansung         FT_ENCODING_WANSUNG
-#define ft_encoding_johab           FT_ENCODING_JOHAB
-
-#define ft_encoding_adobe_standard  FT_ENCODING_ADOBE_STANDARD
-#define ft_encoding_adobe_expert    FT_ENCODING_ADOBE_EXPERT
-#define ft_encoding_adobe_custom    FT_ENCODING_ADOBE_CUSTOM
-#define ft_encoding_apple_roman     FT_ENCODING_APPLE_ROMAN
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Struct>                                                              */
-  /*    FT_CharMapRec                                                      */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    The base charmap structure.                                        */
-  /*                                                                       */
-  /* <Fields>                                                              */
-  /*    face        :: A handle to the parent face object.                 */
-  /*                                                                       */
-  /*    encoding    :: An @FT_Encoding tag identifying the charmap.  Use   */
-  /*                   this with @FT_Select_Charmap.                       */
-  /*                                                                       */
-  /*    platform_id :: An ID number describing the platform for the        */
-  /*                   following encoding ID.  This comes directly from    */
-  /*                   the TrueType specification and should be emulated   */
-  /*                   for other formats.                                  */
-  /*                                                                       */
-  /*    encoding_id :: A platform specific encoding number.  This also     */
-  /*                   comes from the TrueType specification and should be */
-  /*                   emulated similarly.                                 */
-  /*                                                                       */
-  typedef struct  FT_CharMapRec_
-  {
-    FT_Face      face;
-    FT_Encoding  encoding;
-    FT_UShort    platform_id;
-    FT_UShort    encoding_id;
-
-  } FT_CharMapRec;
-
-
-  /*************************************************************************/
-  /*************************************************************************/
-  /*                                                                       */
-  /*                 B A S E   O B J E C T   C L A S S E S                 */
-  /*                                                                       */
-  /*************************************************************************/
-  /*************************************************************************/
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Type>                                                                */
-  /*    FT_Face_Internal                                                   */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    An opaque handle to an `FT_Face_InternalRec' structure, used to    */
-  /*    model private data of a given @FT_Face object.                     */
-  /*                                                                       */
-  /*    This structure might change between releases of FreeType 2 and is  */
-  /*    not generally available to client applications.                    */
-  /*                                                                       */
-  typedef struct FT_Face_InternalRec_*  FT_Face_Internal;
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Struct>                                                              */
-  /*    FT_FaceRec                                                         */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    FreeType root face class structure.  A face object models a        */
-  /*    typeface in a font file.                                           */
-  /*                                                                       */
-  /* <Fields>                                                              */
-  /*    num_faces           :: The number of faces in the font file.  Some */
-  /*                           font formats can have multiple faces in     */
-  /*                           a font file.                                */
-  /*                                                                       */
-  /*    face_index          :: The index of the face in the font file.  It */
-  /*                           is set to 0 if there is only one face in    */
-  /*                           the font file.                              */
-  /*                                                                       */
-  /*    face_flags          :: A set of bit flags that give important      */
-  /*                           information about the face; see             */
-  /*                           @FT_FACE_FLAG_XXX for the details.          */
-  /*                                                                       */
-  /*    style_flags         :: A set of bit flags indicating the style of  */
-  /*                           the face; see @FT_STYLE_FLAG_XXX for the    */
-  /*                           details.                                    */
-  /*                                                                       */
-  /*    num_glyphs          :: The number of glyphs in the face.  If the   */
-  /*                           face is scalable and has sbits (see         */
-  /*                           `num_fixed_sizes'), it is set to the number */
-  /*                           of outline glyphs.                          */
-  /*                                                                       */
-  /*    family_name         :: The face's family name.  This is an ASCII   */
-  /*                           string, usually in English, which describes */
-  /*                           the typeface's family (like `Times New      */
-  /*                           Roman', `Bodoni', `Garamond', etc).  This   */
-  /*                           is a least common denominator used to list  */
-  /*                           fonts.  Some formats (TrueType & OpenType)  */
-  /*                           provide localized and Unicode versions of   */
-  /*                           this string.  Applications should use the   */
-  /*                           format specific interface to access them.   */
-  /*                                                                       */
-  /*    style_name          :: The face's style name.  This is an ASCII    */
-  /*                           string, usually in English, which describes */
-  /*                           the typeface's style (like `Italic',        */
-  /*                           `Bold', `Condensed', etc).  Not all font    */
-  /*                           formats provide a style name, so this field */
-  /*                           is optional, and can be set to NULL.  As    */
-  /*                           for `family_name', some formats provide     */
-  /*                           localized and Unicode versions of this      */
-  /*                           string.  Applications should use the format */
-  /*                           specific interface to access them.          */
-  /*                                                                       */
-  /*    num_fixed_sizes     :: The number of bitmap strikes in the face.   */
-  /*                           Even if the face is scalable, there might   */
-  /*                           still be bitmap strikes, which are called   */
-  /*                           `sbits' in that case.                       */
-  /*                                                                       */
-  /*    available_sizes     :: An array of @FT_Bitmap_Size for all bitmap  */
-  /*                           strikes in the face.  It is set to NULL if  */
-  /*                           there is no bitmap strike.                  */
-  /*                                                                       */
-  /*    num_charmaps        :: The number of charmaps in the face.         */
-  /*                                                                       */
-  /*    charmaps            :: An array of the charmaps of the face.       */
-  /*                                                                       */
-  /*    generic             :: A field reserved for client uses.  See the  */
-  /*                           @FT_Generic type description.               */
-  /*                                                                       */
-  /*    bbox                :: The font bounding box.  Coordinates are     */
-  /*                           expressed in font units (see                */
-  /*                           `units_per_EM').  The box is large enough   */
-  /*                           to contain any glyph from the font.  Thus,  */
-  /*                           `bbox.yMax' can be seen as the `maximal     */
-  /*                           ascender', and `bbox.yMin' as the `minimal  */
-  /*                           descender'.  Only relevant for scalable     */
-  /*                           formats.                                    */
-  /*                                                                       */
-  /*    units_per_EM        :: The number of font units per EM square for  */
-  /*                           this face.  This is typically 2048 for      */
-  /*                           TrueType fonts, and 1000 for Type 1 fonts.  */
-  /*                           Only relevant for scalable formats.         */
-  /*                                                                       */
-  /*    ascender            :: The typographic ascender of the face,       */
-  /*                           expressed in font units.  For font formats  */
-  /*                           not having this information, it is set to   */
-  /*                           `bbox.yMax'.  Only relevant for scalable    */
-  /*                           formats.                                    */
-  /*                                                                       */
-  /*    descender           :: The typographic descender of the face,      */
-  /*                           expressed in font units.  For font formats  */
-  /*                           not having this information, it is set to   */
-  /*                           `bbox.yMin'.  Note that this field is       */
-  /*                           usually negative.  Only relevant for        */
-  /*                           scalable formats.                           */
-  /*                                                                       */
-  /*    height              :: The height is the vertical distance         */
-  /*                           between two consecutive baselines,          */
-  /*                           expressed in font units.  It is always      */
-  /*                           positive.  Only relevant for scalable       */
-  /*                           formats.                                    */
-  /*                                                                       */
-  /*    max_advance_width   :: The maximal advance width, in font units,   */
-  /*                           for all glyphs in this face.  This can be   */
-  /*                           used to make word wrapping computations     */
-  /*                           faster.  Only relevant for scalable         */
-  /*                           formats.                                    */
-  /*                                                                       */
-  /*    max_advance_height  :: The maximal advance height, in font units,  */
-  /*                           for all glyphs in this face.  This is only  */
-  /*                           relevant for vertical layouts, and is set   */
-  /*                           to `height' for fonts that do not provide   */
-  /*                           vertical metrics.  Only relevant for        */
-  /*                           scalable formats.                           */
-  /*                                                                       */
-  /*    underline_position  :: The position, in font units, of the         */
-  /*                           underline line for this face.  It's the     */
-  /*                           center of the underlining stem.  Only       */
-  /*                           relevant for scalable formats.              */
-  /*                                                                       */
-  /*    underline_thickness :: The thickness, in font units, of the        */
-  /*                           underline for this face.  Only relevant for */
-  /*                           scalable formats.                           */
-  /*                                                                       */
-  /*    glyph               :: The face's associated glyph slot(s).        */
-  /*                                                                       */
-  /*    size                :: The current active size for this face.      */
-  /*                                                                       */
-  /*    charmap             :: The current active charmap for this face.   */
-  /*                                                                       */
-  /* <Note>                                                                */
-  /*   Fields may be changed after a call to @FT_Attach_File or            */
-  /*   @FT_Attach_Stream.                                                  */
-  /*                                                                       */
-  typedef struct  FT_FaceRec_
-  {
-    FT_Long           num_faces;
-    FT_Long           face_index;
-
-    FT_Long           face_flags;
-    FT_Long           style_flags;
-
-    FT_Long           num_glyphs;
-
-    FT_String*        family_name;
-    FT_String*        style_name;
-
-    FT_Int            num_fixed_sizes;
-    FT_Bitmap_Size*   available_sizes;
-
-    FT_Int            num_charmaps;
-    FT_CharMap*       charmaps;
-
-    FT_Generic        generic;
-
-    /*# The following member variables (down to `underline_thickness') */
-    /*# are only relevant to scalable outlines; cf. @FT_Bitmap_Size    */
-    /*# for bitmap fonts.                                              */
-    FT_BBox           bbox;
-
-    FT_UShort         units_per_EM;
-    FT_Short          ascender;
-    FT_Short          descender;
-    FT_Short          height;
-
-    FT_Short          max_advance_width;
-    FT_Short          max_advance_height;
-
-    FT_Short          underline_position;
-    FT_Short          underline_thickness;
-
-    FT_GlyphSlot      glyph;
-    FT_Size           size;
-    FT_CharMap        charmap;
-
-    /*@private begin */
-
-    FT_Driver         driver;
-    FT_Memory         memory;
-    FT_Stream         stream;
-
-    FT_ListRec        sizes_list;
-
-    FT_Generic        autohint;
-    void*             extensions;
-
-    FT_Face_Internal  internal;
-
-    /*@private end */
-
-  } FT_FaceRec;
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Enum>                                                                */
-  /*    FT_FACE_FLAG_XXX                                                   */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    A list of bit flags used in the `face_flags' field of the          */
-  /*    @FT_FaceRec structure.  They inform client applications of         */
-  /*    properties of the corresponding face.                              */
-  /*                                                                       */
-  /* <Values>                                                              */
-  /*    FT_FACE_FLAG_SCALABLE ::                                           */
-  /*      Indicates that the face contains outline glyphs.  This doesn't   */
-  /*      prevent bitmap strikes, i.e., a face can have both this and      */
-  /*      and @FT_FACE_FLAG_FIXED_SIZES set.                               */
-  /*                                                                       */
-  /*    FT_FACE_FLAG_FIXED_SIZES ::                                        */
-  /*      Indicates that the face contains bitmap strikes.  See also the   */
-  /*      `num_fixed_sizes' and `available_sizes' fields of @FT_FaceRec.   */
-  /*                                                                       */
-  /*    FT_FACE_FLAG_FIXED_WIDTH ::                                        */
-  /*      Indicates that the face contains fixed-width characters (like    */
-  /*      Courier, Lucido, MonoType, etc.).                                */
-  /*                                                                       */
-  /*    FT_FACE_FLAG_SFNT ::                                               */
-  /*      Indicates that the face uses the `sfnt' storage scheme.  For     */
-  /*      now, this means TrueType and OpenType.                           */
-  /*                                                                       */
-  /*    FT_FACE_FLAG_HORIZONTAL ::                                         */
-  /*      Indicates that the face contains horizontal glyph metrics.  This */
-  /*      should be set for all common formats.                            */
-  /*                                                                       */
-  /*    FT_FACE_FLAG_VERTICAL ::                                           */
-  /*      Indicates that the face contains vertical glyph metrics.  This   */
-  /*      is only available in some formats, not all of them.              */
-  /*                                                                       */
-  /*    FT_FACE_FLAG_KERNING ::                                            */
-  /*      Indicates that the face contains kerning information.  If set,   */
-  /*      the kerning distance can be retrieved through the function       */
-  /*      @FT_Get_Kerning.  Otherwise the function always return the       */
-  /*      vector (0,0).  Note that FreeType doesn't handle kerning data    */
-  /*      from the `GPOS' table (as present in some OpenType fonts).       */
-  /*                                                                       */
-  /*    FT_FACE_FLAG_FAST_GLYPHS ::                                        */
-  /*      THIS FLAG IS DEPRECATED.  DO NOT USE OR TEST IT.                 */
-  /*                                                                       */
-  /*    FT_FACE_FLAG_MULTIPLE_MASTERS ::                                   */
-  /*      Indicates that the font contains multiple masters and is capable */
-  /*      of interpolating between them.  See the multiple-masters         */
-  /*      specific API for details.                                        */
-  /*                                                                       */
-  /*    FT_FACE_FLAG_GLYPH_NAMES ::                                        */
-  /*      Indicates that the font contains glyph names that can be         */
-  /*      retrieved through @FT_Get_Glyph_Name.  Note that some TrueType   */
-  /*      fonts contain broken glyph name tables.  Use the function        */
-  /*      @FT_Has_PS_Glyph_Names when needed.                              */
-  /*                                                                       */
-  /*    FT_FACE_FLAG_EXTERNAL_STREAM ::                                    */
-  /*      Used internally by FreeType to indicate that a face's stream was */
-  /*      provided by the client application and should not be destroyed   */
-  /*      when @FT_Done_Face is called.  Don't read or test this flag.     */
-  /*                                                                       */
-  /*    FT_FACE_FLAG_HINTER ::                                             */
-  /*      Set if the font driver has a hinting machine of its own.  For    */
-  /*      example, with TrueType fonts, it makes sense to use data from    */
-  /*      the SFNT `gasp' table only if the native TrueType hinting engine */
-  /*      (with the bytecode interpreter) is available and active.         */
-  /*                                                                       */
-#define FT_FACE_FLAG_SCALABLE          ( 1L <<  0 )
-#define FT_FACE_FLAG_FIXED_SIZES       ( 1L <<  1 )
-#define FT_FACE_FLAG_FIXED_WIDTH       ( 1L <<  2 )
-#define FT_FACE_FLAG_SFNT              ( 1L <<  3 )
-#define FT_FACE_FLAG_HORIZONTAL        ( 1L <<  4 )
-#define FT_FACE_FLAG_VERTICAL          ( 1L <<  5 )
-#define FT_FACE_FLAG_KERNING           ( 1L <<  6 )
-#define FT_FACE_FLAG_FAST_GLYPHS       ( 1L <<  7 )
-#define FT_FACE_FLAG_MULTIPLE_MASTERS  ( 1L <<  8 )
-#define FT_FACE_FLAG_GLYPH_NAMES       ( 1L <<  9 )
-#define FT_FACE_FLAG_EXTERNAL_STREAM   ( 1L << 10 )
-#define FT_FACE_FLAG_HINTER            ( 1L << 11 )
-
-  /* */
-
-
-  /*************************************************************************
-   *
-   * @macro:
-   *   FT_HAS_HORIZONTAL( face )
-   *
-   * @description:
-   *   A macro that returns true whenever a face object contains
-   *   horizontal metrics (this is true for all font formats though).
-   *
-   * @also:
-   *   @FT_HAS_VERTICAL can be used to check for vertical metrics.
-   *
-   */
-#define FT_HAS_HORIZONTAL( face ) \
-          ( face->face_flags & FT_FACE_FLAG_HORIZONTAL )
-
-
-  /*************************************************************************
-   *
-   * @macro:
-   *   FT_HAS_VERTICAL( face )
-   *
-   * @description:
-   *   A macro that returns true whenever a face object contains vertical
-   *   metrics.
-   *
-   */
-#define FT_HAS_VERTICAL( face ) \
-          ( face->face_flags & FT_FACE_FLAG_VERTICAL )
-
-
-  /*************************************************************************
-   *
-   * @macro:
-   *   FT_HAS_KERNING( face )
-   *
-   * @description:
-   *   A macro that returns true whenever a face object contains kerning
-   *   data that can be accessed with @FT_Get_Kerning.
-   *
-   */
-#define FT_HAS_KERNING( face ) \
-          ( face->face_flags & FT_FACE_FLAG_KERNING )
-
-
-  /*************************************************************************
-   *
-   * @macro:
-   *   FT_IS_SCALABLE( face )
-   *
-   * @description:
-   *   A macro that returns true whenever a face object contains a scalable
-   *   font face (true for TrueType, Type 1, Type 42, CID, OpenType/CFF,
-   *   and PFR font formats.
-   *
-   */
-#define FT_IS_SCALABLE( face ) \
-          ( face->face_flags & FT_FACE_FLAG_SCALABLE )
-
-
-  /*************************************************************************
-   *
-   * @macro:
-   *   FT_IS_SFNT( face )
-   *
-   * @description:
-   *   A macro that returns true whenever a face object contains a font
-   *   whose format is based on the SFNT storage scheme.  This usually
-   *   means: TrueType fonts, OpenType fonts, as well as SFNT-based embedded
-   *   bitmap fonts.
-   *
-   *   If this macro is true, all functions defined in @FT_SFNT_NAMES_H and
-   *   @FT_TRUETYPE_TABLES_H are available.
-   *
-   */
-#define FT_IS_SFNT( face ) \
-          ( face->face_flags & FT_FACE_FLAG_SFNT )
-
-
-  /*************************************************************************
-   *
-   * @macro:
-   *   FT_IS_FIXED_WIDTH( face )
-   *
-   * @description:
-   *   A macro that returns true whenever a face object contains a font face
-   *   that contains fixed-width (or `monospace', `fixed-pitch', etc.)
-   *   glyphs.
-   *
-   */
-#define FT_IS_FIXED_WIDTH( face ) \
-          ( face->face_flags & FT_FACE_FLAG_FIXED_WIDTH )
-
-
-  /*************************************************************************
-   *
-   * @macro:
-   *   FT_HAS_FIXED_SIZES( face )
-   *
-   * @description:
-   *   A macro that returns true whenever a face object contains some
-   *   embedded bitmaps.  See the `available_sizes' field of the
-   *   @FT_FaceRec structure.
-   *
-   */
-#define FT_HAS_FIXED_SIZES( face ) \
-          ( face->face_flags & FT_FACE_FLAG_FIXED_SIZES )
-
-  /* */
-
-
-  /*************************************************************************
-   *
-   * @macro:
-   *   FT_HAS_FAST_GLYPHS( face )
-   *
-   * @description:
-   *   Deprecated.
-   *
-   */
-#define FT_HAS_FAST_GLYPHS( face )  0
-
-
-  /*************************************************************************
-   *
-   * @macro:
-   *   FT_HAS_GLYPH_NAMES( face )
-   *
-   * @description:
-   *   A macro that returns true whenever a face object contains some glyph
-   *   names that can be accessed through @FT_Get_Glyph_Name.
-   *
-   */
-#define FT_HAS_GLYPH_NAMES( face ) \
-          ( face->face_flags & FT_FACE_FLAG_GLYPH_NAMES )
-
-
-  /*************************************************************************
-   *
-   * @macro:
-   *   FT_HAS_MULTIPLE_MASTERS( face )
-   *
-   * @description:
-   *   A macro that returns true whenever a face object contains some
-   *   multiple masters.  The functions provided by @FT_MULTIPLE_MASTERS_H
-   *   are then available to choose the exact design you want.
-   *
-   */
-#define FT_HAS_MULTIPLE_MASTERS( face ) \
-          ( face->face_flags & FT_FACE_FLAG_MULTIPLE_MASTERS )
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Constant>                                                            */
-  /*    FT_STYLE_FLAG_XXX                                                  */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    A list of bit-flags used to indicate the style of a given face.    */
-  /*    These are used in the `style_flags' field of @FT_FaceRec.          */
-  /*                                                                       */
-  /* <Values>                                                              */
-  /*    FT_STYLE_FLAG_ITALIC ::                                            */
-  /*      Indicates that a given face is italicized.                       */
-  /*                                                                       */
-  /*    FT_STYLE_FLAG_BOLD ::                                              */
-  /*      Indicates that a given face is bold.                             */
-  /*                                                                       */
-#define FT_STYLE_FLAG_ITALIC  ( 1 << 0 )
-#define FT_STYLE_FLAG_BOLD    ( 1 << 1 )
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Type>                                                                */
-  /*    FT_Size_Internal                                                   */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    An opaque handle to an `FT_Size_InternalRec' structure, used to    */
-  /*    model private data of a given FT_Size object.                      */
-  /*                                                                       */
-  typedef struct FT_Size_InternalRec_*  FT_Size_Internal;
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Struct>                                                              */
-  /*    FT_Size_Metrics                                                    */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    The size metrics structure gives the metrics of a size object.     */
-  /*                                                                       */
-  /* <Fields>                                                              */
-  /*    x_ppem       :: The width of the scaled EM square in pixels, hence */
-  /*                    the term `ppem' (pixels per EM).  It is also       */
-  /*                    referred to as `nominal width'.                    */
-  /*                                                                       */
-  /*    y_ppem       :: The height of the scaled EM square in pixels,      */
-  /*                    hence the term `ppem' (pixels per EM).  It is also */
-  /*                    referred to as `nominal height'.                   */
-  /*                                                                       */
-  /*    x_scale      :: A 16.16 fractional scaling value used to convert   */
-  /*                    horizontal metrics from font units to 26.6         */
-  /*                    fractional pixels.  Only relevant for scalable     */
-  /*                    font formats.                                      */
-  /*                                                                       */
-  /*    y_scale      :: A 16.16 fractional scaling value used to convert   */
-  /*                    vertical metrics from font units to 26.6           */
-  /*                    fractional pixels.  Only relevant for scalable     */
-  /*                    font formats.                                      */
-  /*                                                                       */
-  /*    ascender     :: The ascender in 26.6 fractional pixels.  See       */
-  /*                    @FT_FaceRec for the details.                       */
-  /*                                                                       */
-  /*    descender    :: The descender in 26.6 fractional pixels.  See      */
-  /*                    @FT_FaceRec for the details.                       */
-  /*                                                                       */
-  /*    height       :: The height in 26.6 fractional pixels.  See         */
-  /*                    @FT_FaceRec for the details.                       */
-  /*                                                                       */
-  /*    max_advance  :: The maximal advance width in 26.6 fractional       */
-  /*                    pixels.  See @FT_FaceRec for the details.          */
-  /*                                                                       */
-  /* <Note>                                                                */
-  /*    The scaling values, if relevant, are determined first during a     */
-  /*    size changing operation.  The remaining fields are then set by the */
-  /*    driver.  For scalable formats, they are usually set to scaled      */
-  /*    values of the corresponding fields in @FT_FaceRec.                 */
-  /*                                                                       */
-  /*    Note that due to glyph hinting, these values might not be exact    */
-  /*    for certain fonts.  Thus they must be treated as unreliable        */
-  /*    with an error margin of at least one pixel!                        */
-  /*                                                                       */
-  /*    Indeed, the only way to get the exact metrics is to render _all_   */
-  /*    glyphs.  As this would be a definite performance hit, it is up to  */
-  /*    client applications to perform such computations.                  */
-  /*                                                                       */
-  /*    The FT_Size_Metrics structure is valid for bitmap fonts also.      */
-  /*                                                                       */
-  typedef struct  FT_Size_Metrics_
-  {
-    FT_UShort  x_ppem;      /* horizontal pixels per EM               */
-    FT_UShort  y_ppem;      /* vertical pixels per EM                 */
-
-    FT_Fixed   x_scale;     /* scaling values used to convert font    */
-    FT_Fixed   y_scale;     /* units to 26.6 fractional pixels        */
-
-    FT_Pos     ascender;    /* ascender in 26.6 frac. pixels          */
-    FT_Pos     descender;   /* descender in 26.6 frac. pixels         */
-    FT_Pos     height;      /* text height in 26.6 frac. pixels       */
-    FT_Pos     max_advance; /* max horizontal advance, in 26.6 pixels */
-
-  } FT_Size_Metrics;
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Struct>                                                              */
-  /*    FT_SizeRec                                                         */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    FreeType root size class structure.  A size object models a face   */
-  /*    object at a given size.                                            */
-  /*                                                                       */
-  /* <Fields>                                                              */
-  /*    face    :: Handle to the parent face object.                       */
-  /*                                                                       */
-  /*    generic :: A typeless pointer, which is unused by the FreeType     */
-  /*               library or any of its drivers.  It can be used by       */
-  /*               client applications to link their own data to each size */
-  /*               object.                                                 */
-  /*                                                                       */
-  /*    metrics :: Metrics for this size object.  This field is read-only. */
-  /*                                                                       */
-  typedef struct  FT_SizeRec_
-  {
-    FT_Face           face;      /* parent face object              */
-    FT_Generic        generic;   /* generic pointer for client uses */
-    FT_Size_Metrics   metrics;   /* size metrics                    */
-    FT_Size_Internal  internal;
-
-  } FT_SizeRec;
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Struct>                                                              */
-  /*    FT_SubGlyph                                                        */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    The subglyph structure is an internal object used to describe      */
-  /*    subglyphs (for example, in the case of composites).                */
-  /*                                                                       */
-  /* <Note>                                                                */
-  /*    The subglyph implementation is not part of the high-level API,     */
-  /*    hence the forward structure declaration.                           */
-  /*                                                                       */
-  /*    You can however retrieve subglyph information with                 */
-  /*    @FT_Get_SubGlyph_Info.                                             */
-  /*                                                                       */
-  typedef struct FT_SubGlyphRec_*  FT_SubGlyph;
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Type>                                                                */
-  /*    FT_Slot_Internal                                                   */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    An opaque handle to an `FT_Slot_InternalRec' structure, used to    */
-  /*    model private data of a given FT_GlyphSlot object.                 */
-  /*                                                                       */
-  typedef struct FT_Slot_InternalRec_*  FT_Slot_Internal;
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Struct>                                                              */
-  /*    FT_GlyphSlotRec                                                    */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    FreeType root glyph slot class structure.  A glyph slot is a       */
-  /*    container where individual glyphs can be loaded, be they in        */
-  /*    outline or bitmap format.                                          */
-  /*                                                                       */
-  /* <Fields>                                                              */
-  /*    library           :: A handle to the FreeType library instance     */
-  /*                         this slot belongs to.                         */
-  /*                                                                       */
-  /*    face              :: A handle to the parent face object.           */
-  /*                                                                       */
-  /*    next              :: In some cases (like some font tools), several */
-  /*                         glyph slots per face object can be a good     */
-  /*                         thing.  As this is rare, the glyph slots are  */
-  /*                         listed through a direct, single-linked list   */
-  /*                         using its `next' field.                       */
-  /*                                                                       */
-  /*    generic           :: A typeless pointer which is unused by the     */
-  /*                         FreeType library or any of its drivers.  It   */
-  /*                         can be used by client applications to link    */
-  /*                         their own data to each glyph slot object.     */
-  /*                                                                       */
-  /*    metrics           :: The metrics of the last loaded glyph in the   */
-  /*                         slot.  The returned values depend on the last */
-  /*                         load flags (see the @FT_Load_Glyph API        */
-  /*                         function) and can be expressed either in 26.6 */
-  /*                         fractional pixels or font units.              */
-  /*                                                                       */
-  /*                         Note that even when the glyph image is        */
-  /*                         transformed, the metrics are not.             */
-  /*                                                                       */
-  /*    linearHoriAdvance :: The advance width of the unhinted glyph.      */
-  /*                         Its value is expressed in 16.16 fractional    */
-  /*                         pixels, unless @FT_LOAD_LINEAR_DESIGN is set  */
-  /*                         when loading the glyph.  This field can be    */
-  /*                         important to perform correct WYSIWYG layout.  */
-  /*                         Only relevant for outline glyphs.             */
-  /*                                                                       */
-  /*    linearVertAdvance :: The advance height of the unhinted glyph.     */
-  /*                         Its value is expressed in 16.16 fractional    */
-  /*                         pixels, unless @FT_LOAD_LINEAR_DESIGN is set  */
-  /*                         when loading the glyph.  This field can be    */
-  /*                         important to perform correct WYSIWYG layout.  */
-  /*                         Only relevant for outline glyphs.             */
-  /*                                                                       */
-  /*    advance           :: This is the transformed advance width for the */
-  /*                         glyph.                                        */
-  /*                                                                       */
-  /*    format            :: This field indicates the format of the image  */
-  /*                         contained in the glyph slot.  Typically       */
-  /*                         @FT_GLYPH_FORMAT_BITMAP,                      */
-  /*                         @FT_GLYPH_FORMAT_OUTLINE, or                  */
-  /*                         @FT_GLYPH_FORMAT_COMPOSITE, but others are    */
-  /*                         possible.                                     */
-  /*                                                                       */
-  /*    bitmap            :: This field is used as a bitmap descriptor     */
-  /*                         when the slot format is                       */
-  /*                         @FT_GLYPH_FORMAT_BITMAP.  Note that the       */
-  /*                         address and content of the bitmap buffer can  */
-  /*                         change between calls of @FT_Load_Glyph and a  */
-  /*                         few other functions.                          */
-  /*                                                                       */
-  /*    bitmap_left       :: This is the bitmap's left bearing expressed   */
-  /*                         in integer pixels.  Of course, this is only   */
-  /*                         valid if the format is                        */
-  /*                         @FT_GLYPH_FORMAT_BITMAP.                      */
-  /*                                                                       */
-  /*    bitmap_top        :: This is the bitmap's top bearing expressed in */
-  /*                         integer pixels.  Remember that this is the    */
-  /*                         distance from the baseline to the top-most    */
-  /*                         glyph scanline, upwards y-coordinates being   */
-  /*                         *positive*.                                   */
-  /*                                                                       */
-  /*    outline           :: The outline descriptor for the current glyph  */
-  /*                         image if its format is                        */
-  /*                         @FT_GLYPH_FORMAT_OUTLINE.  Once a glyph is    */
-  /*                         loaded, `outline' can be transformed,         */
-  /*                         distorted, embolded, etc.  However, it must   */
-  /*                         not be freed.                                 */
-  /*                                                                       */
-  /*    num_subglyphs     :: The number of subglyphs in a composite glyph. */
-  /*                         This field is only valid for the composite    */
-  /*                         glyph format that should normally only be     */
-  /*                         loaded with the @FT_LOAD_NO_RECURSE flag.     */
-  /*                         For now this is internal to FreeType.         */
-  /*                                                                       */
-  /*    subglyphs         :: An array of subglyph descriptors for          */
-  /*                         composite glyphs.  There are `num_subglyphs'  */
-  /*                         elements in there.  Currently internal to     */
-  /*                         FreeType.                                     */
-  /*                                                                       */
-  /*    control_data      :: Certain font drivers can also return the      */
-  /*                         control data for a given glyph image (e.g.    */
-  /*                         TrueType bytecode, Type 1 charstrings, etc.). */
-  /*                         This field is a pointer to such data.         */
-  /*                                                                       */
-  /*    control_len       :: This is the length in bytes of the control    */
-  /*                         data.                                         */
-  /*                                                                       */
-  /*    other             :: Really wicked formats can use this pointer to */
-  /*                         present their own glyph image to client       */
-  /*                         applications.  Note that the application      */
-  /*                         needs to know about the image format.         */
-  /*                                                                       */
-  /*    lsb_delta         :: The difference between hinted and unhinted    */
-  /*                         left side bearing while autohinting is        */
-  /*                         active.  Zero otherwise.                      */
-  /*                                                                       */
-  /*    rsb_delta         :: The difference between hinted and unhinted    */
-  /*                         right side bearing while autohinting is       */
-  /*                         active.  Zero otherwise.                      */
-  /*                                                                       */
-  /* <Note>                                                                */
-  /*    If @FT_Load_Glyph is called with default flags (see                */
-  /*    @FT_LOAD_DEFAULT) the glyph image is loaded in the glyph slot in   */
-  /*    its native format (e.g., an outline glyph for TrueType and Type 1  */
-  /*    formats).                                                          */
-  /*                                                                       */
-  /*    This image can later be converted into a bitmap by calling         */
-  /*    @FT_Render_Glyph.  This function finds the current renderer for    */
-  /*    the native image's format then invokes it.                         */
-  /*                                                                       */
-  /*    The renderer is in charge of transforming the native image through */
-  /*    the slot's face transformation fields, then convert it into a      */
-  /*    bitmap that is returned in `slot->bitmap'.                         */
-  /*                                                                       */
-  /*    Note that `slot->bitmap_left' and `slot->bitmap_top' are also used */
-  /*    to specify the position of the bitmap relative to the current pen  */
-  /*    position (e.g., coordinates (0,0) on the baseline).  Of course,    */
-  /*    `slot->format' is also changed to @FT_GLYPH_FORMAT_BITMAP.         */
-  /*                                                                       */
-  /* <Note>                                                                */
-  /*    Here a small pseudo code fragment which shows how to use           */
-  /*    `lsb_delta' and `rsb_delta':                                       */
-  /*                                                                       */
-  /*    {                                                                  */
-  /*      FT_Pos  origin_x       = 0;                                      */
-  /*      FT_Pos  prev_rsb_delta = 0;                                      */
-  /*                                                                       */
-  /*                                                                       */
-  /*      for all glyphs do                                                */
-  /*        <compute kern between current and previous glyph and add it to */
-  /*         `origin_x'>                                                   */
-  /*                                                                       */
-  /*        <load glyph with `FT_Load_Glyph'>                              */
-  /*                                                                       */
-  /*        if ( prev_rsb_delta - face->glyph->lsb_delta >= 32 )           */
-  /*          origin_x -= 64;                                              */
-  /*        else if ( prev_rsb_delta - face->glyph->lsb_delta < -32 )      */
-  /*          origin_x += 64;                                              */
-  /*                                                                       */
-  /*        prev_rsb_delta = face->glyph->rsb_delta;                       */
-  /*                                                                       */
-  /*        <save glyph image, or render glyph, or ...>                    */
-  /*                                                                       */
-  /*        origin_x += face->glyph->advance.x;                            */
-  /*      endfor                                                           */
-  /*    }                                                                  */
-  /*                                                                       */
-  typedef struct  FT_GlyphSlotRec_
-  {
-    FT_Library        library;
-    FT_Face           face;
-    FT_GlyphSlot      next;
-    FT_UInt           reserved;       /* retained for binary compatibility */
-    FT_Generic        generic;
-
-    FT_Glyph_Metrics  metrics;
-    FT_Fixed          linearHoriAdvance;
-    FT_Fixed          linearVertAdvance;
-    FT_Vector         advance;
-
-    FT_Glyph_Format   format;
-
-    FT_Bitmap         bitmap;
-    FT_Int            bitmap_left;
-    FT_Int            bitmap_top;
-
-    FT_Outline        outline;
-
-    FT_UInt           num_subglyphs;
-    FT_SubGlyph       subglyphs;
-
-    void*             control_data;
-    long              control_len;
-
-    FT_Pos            lsb_delta;
-    FT_Pos            rsb_delta;
-
-    void*             other;
-
-    FT_Slot_Internal  internal;
-
-  } FT_GlyphSlotRec;
-
-
-  /*************************************************************************/
-  /*************************************************************************/
-  /*                                                                       */
-  /*                         F U N C T I O N S                             */
-  /*                                                                       */
-  /*************************************************************************/
-  /*************************************************************************/
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Function>                                                            */
-  /*    FT_Init_FreeType                                                   */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    Initialize a new FreeType library object.  The set of modules      */
-  /*    that are registered by this function is determined at build time.  */
-  /*                                                                       */
-  /* <Output>                                                              */
-  /*    alibrary :: A handle to a new library object.                      */
-  /*                                                                       */
-  /* <Return>                                                              */
-  /*    FreeType error code.  0 means success.                             */
-  /*                                                                       */
-  FT_EXPORT( FT_Error )
-  FT_Init_FreeType( FT_Library  *alibrary );
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Function>                                                            */
-  /*    FT_Done_FreeType                                                   */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    Destroy a given FreeType library object and all of its children,   */
-  /*    including resources, drivers, faces, sizes, etc.                   */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    library :: A handle to the target library object.                  */
-  /*                                                                       */
-  /* <Return>                                                              */
-  /*    FreeType error code.  0 means success.                             */
-  /*                                                                       */
-  FT_EXPORT( FT_Error )
-  FT_Done_FreeType( FT_Library  library );
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Enum>                                                                */
-  /*    FT_OPEN_XXX                                                        */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    A list of bit-field constants used within the `flags' field of the */
-  /*    @FT_Open_Args structure.                                           */
-  /*                                                                       */
-  /* <Values>                                                              */
-  /*    FT_OPEN_MEMORY      :: This is a memory-based stream.              */
-  /*                                                                       */
-  /*    FT_OPEN_STREAM      :: Copy the stream from the `stream' field.    */
-  /*                                                                       */
-  /*    FT_OPEN_PATHNAME    :: Create a new input stream from a C          */
-  /*                           path name.                                  */
-  /*                                                                       */
-  /*    FT_OPEN_DRIVER      :: Use the `driver' field.                     */
-  /*                                                                       */
-  /*    FT_OPEN_PARAMS      :: Use the `num_params' and `params' fields.   */
-  /*                                                                       */
-  /*    ft_open_memory      :: Deprecated; use @FT_OPEN_MEMORY instead.    */
-  /*                                                                       */
-  /*    ft_open_stream      :: Deprecated; use @FT_OPEN_STREAM instead.    */
-  /*                                                                       */
-  /*    ft_open_pathname    :: Deprecated; use @FT_OPEN_PATHNAME instead.  */
-  /*                                                                       */
-  /*    ft_open_driver      :: Deprecated; use @FT_OPEN_DRIVER instead.    */
-  /*                                                                       */
-  /*    ft_open_params      :: Deprecated; use @FT_OPEN_PARAMS instead.    */
-  /*                                                                       */
-  /* <Note>                                                                */
-  /*    The `FT_OPEN_MEMORY', `FT_OPEN_STREAM', and `FT_OPEN_PATHNAME'     */
-  /*    flags are mutually exclusive.                                      */
-  /*                                                                       */
-#define FT_OPEN_MEMORY    0x1
-#define FT_OPEN_STREAM    0x2
-#define FT_OPEN_PATHNAME  0x4
-#define FT_OPEN_DRIVER    0x8
-#define FT_OPEN_PARAMS    0x10
-
-#define ft_open_memory    FT_OPEN_MEMORY     /* deprecated */
-#define ft_open_stream    FT_OPEN_STREAM     /* deprecated */
-#define ft_open_pathname  FT_OPEN_PATHNAME   /* deprecated */
-#define ft_open_driver    FT_OPEN_DRIVER     /* deprecated */
-#define ft_open_params    FT_OPEN_PARAMS     /* deprecated */
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Struct>                                                              */
-  /*    FT_Parameter                                                       */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    A simple structure used to pass more or less generic parameters    */
-  /*    to @FT_Open_Face.                                                  */
-  /*                                                                       */
-  /* <Fields>                                                              */
-  /*    tag  :: A four-byte identification tag.                            */
-  /*                                                                       */
-  /*    data :: A pointer to the parameter data.                           */
-  /*                                                                       */
-  /* <Note>                                                                */
-  /*    The ID and function of parameters are driver-specific.             */
-  /*                                                                       */
-  typedef struct  FT_Parameter_
-  {
-    FT_ULong    tag;
-    FT_Pointer  data;
-
-  } FT_Parameter;
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Struct>                                                              */
-  /*    FT_Open_Args                                                       */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    A structure used to indicate how to open a new font file or        */
-  /*    stream.  A pointer to such a structure can be used as a parameter  */
-  /*    for the functions @FT_Open_Face and @FT_Attach_Stream.             */
-  /*                                                                       */
-  /* <Fields>                                                              */
-  /*    flags       :: A set of bit flags indicating how to use the        */
-  /*                   structure.                                          */
-  /*                                                                       */
-  /*    memory_base :: The first byte of the file in memory.               */
-  /*                                                                       */
-  /*    memory_size :: The size in bytes of the file in memory.            */
-  /*                                                                       */
-  /*    pathname    :: A pointer to an 8-bit file pathname.                */
-  /*                                                                       */
-  /*    stream      :: A handle to a source stream object.                 */
-  /*                                                                       */
-  /*    driver      :: This field is exclusively used by @FT_Open_Face;    */
-  /*                   it simply specifies the font driver to use to open  */
-  /*                   the face.  If set to 0, FreeType tries to load the  */
-  /*                   face with each one of the drivers in its list.      */
-  /*                                                                       */
-  /*    num_params  :: The number of extra parameters.                     */
-  /*                                                                       */
-  /*    params      :: Extra parameters passed to the font driver when     */
-  /*                   opening a new face.                                 */
-  /*                                                                       */
-  /* <Note>                                                                */
-  /*    The stream type is determined by the contents of `flags' which     */
-  /*    are tested in the following order by @FT_Open_Face:                */
-  /*                                                                       */
-  /*    If the `FT_OPEN_MEMORY' bit is set, assume that this is a          */
-  /*    memory file of `memory_size' bytes, located at `memory_address'.   */
-  /*    The data are are not copied, and the client is responsible for     */
-  /*    releasing and destroying them _after_ the corresponding call to    */
-  /*    @FT_Done_Face.                                                     */
-  /*                                                                       */
-  /*    Otherwise, if the `FT_OPEN_STREAM' bit is set, assume that a       */
-  /*    custom input stream `stream' is used.                              */
-  /*                                                                       */
-  /*    Otherwise, if the `FT_OPEN_PATHNAME' bit is set, assume that this  */
-  /*    is a normal file and use `pathname' to open it.                    */
-  /*                                                                       */
-  /*    If the `FT_OPEN_DRIVER' bit is set, @FT_Open_Face only tries to    */
-  /*    open the file with the driver whose handler is in `driver'.        */
-  /*                                                                       */
-  /*    If the `FT_OPEN_PARAMS' bit is set, the parameters given by        */
-  /*    `num_params' and `params' is used.  They are ignored otherwise.    */
-  /*                                                                       */
-  /*    Ideally, both the `pathname' and `params' fields should be tagged  */
-  /*    as `const'; this is missing for API backwards compatibility.  With */
-  /*    other words, applications should treat them as read-only.          */
-  /*                                                                       */
-  typedef struct  FT_Open_Args_
-  {
-    FT_UInt         flags;
-    const FT_Byte*  memory_base;
-    FT_Long         memory_size;
-    FT_String*      pathname;
-    FT_Stream       stream;
-    FT_Module       driver;
-    FT_Int          num_params;
-    FT_Parameter*   params;
-
-  } FT_Open_Args;
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Function>                                                            */
-  /*    FT_New_Face                                                        */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    This function calls @FT_Open_Face to open a font by its pathname.  */
-  /*                                                                       */
-  /* <InOut>                                                               */
-  /*    library    :: A handle to the library resource.                    */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    pathname   :: A path to the font file.                             */
-  /*                                                                       */
-  /*    face_index :: The index of the face within the font.  The first    */
-  /*                  face has index 0.                                    */
-  /*                                                                       */
-  /* <Output>                                                              */
-  /*    aface      :: A handle to a new face object.  If `face_index' is   */
-  /*                  greater than or equal to zero, it must be non-NULL.  */
-  /*                  See @FT_Open_Face for more details.                  */
-  /*                                                                       */
-  /* <Return>                                                              */
-  /*    FreeType error code.  0 means success.                             */
-  /*                                                                       */
-  FT_EXPORT( FT_Error )
-  FT_New_Face( FT_Library   library,
-               const char*  filepathname,
-               FT_Long      face_index,
-               FT_Face     *aface );
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Function>                                                            */
-  /*    FT_New_Memory_Face                                                 */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    This function calls @FT_Open_Face to open a font which has been    */
-  /*    loaded into memory.                                                */
-  /*                                                                       */
-  /* <InOut>                                                               */
-  /*    library    :: A handle to the library resource.                    */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    file_base  :: A pointer to the beginning of the font data.         */
-  /*                                                                       */
-  /*    file_size  :: The size of the memory chunk used by the font data.  */
-  /*                                                                       */
-  /*    face_index :: The index of the face within the font.  The first    */
-  /*                  face has index 0.                                    */
-  /*                                                                       */
-  /* <Output>                                                              */
-  /*    aface      :: A handle to a new face object.  If `face_index' is   */
-  /*                  greater than or equal to zero, it must be non-NULL.  */
-  /*                  See @FT_Open_Face for more details.                  */
-  /*                                                                       */
-  /* <Return>                                                              */
-  /*    FreeType error code.  0 means success.                             */
-  /*                                                                       */
-  /* <Note>                                                                */
-  /*    You must not deallocate the memory before calling @FT_Done_Face.   */
-  /*                                                                       */
-  FT_EXPORT( FT_Error )
-  FT_New_Memory_Face( FT_Library      library,
-                      const FT_Byte*  file_base,
-                      FT_Long         file_size,
-                      FT_Long         face_index,
-                      FT_Face        *aface );
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Function>                                                            */
-  /*    FT_Open_Face                                                       */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    Create a face object from a given resource described by            */
-  /*    @FT_Open_Args.                                                     */
-  /*                                                                       */
-  /* <InOut>                                                               */
-  /*    library    :: A handle to the library resource.                    */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    args       :: A pointer to an `FT_Open_Args' structure which must  */
-  /*                  be filled by the caller.                             */
-  /*                                                                       */
-  /*    face_index :: The index of the face within the font.  The first    */
-  /*                  face has index 0.                                    */
-  /*                                                                       */
-  /* <Output>                                                              */
-  /*    aface      :: A handle to a new face object.  If `face_index' is   */
-  /*                  greater than or equal to zero, it must be non-NULL.  */
-  /*                  See note below.                                      */
-  /*                                                                       */
-  /* <Return>                                                              */
-  /*    FreeType error code.  0 means success.                             */
-  /*                                                                       */
-  /* <Note>                                                                */
-  /*    Unlike FreeType 1.x, this function automatically creates a glyph   */
-  /*    slot for the face object which can be accessed directly through    */
-  /*    `face->glyph'.                                                     */
-  /*                                                                       */
-  /*    FT_Open_Face can be used to quickly check whether the font         */
-  /*    format of a given font resource is supported by FreeType.  If the  */
-  /*    `face_index' field is negative, the function's return value is 0   */
-  /*    if the font format is recognized, or non-zero otherwise;           */
-  /*    the function returns a more or less empty face handle in `*aface'  */
-  /*    (if `aface' isn't NULL).  The only useful field in this special    */
-  /*    case is `face->num_faces' which gives the number of faces within   */
-  /*    the font file.  After examination, the returned @FT_Face structure */
-  /*    should be deallocated with a call to @FT_Done_Face.                */
-  /*                                                                       */
-  /*    Each new face object created with this function also owns a        */
-  /*    default @FT_Size object, accessible as `face->size'.               */
-  /*                                                                       */
-  FT_EXPORT( FT_Error )
-  FT_Open_Face( FT_Library           library,
-                const FT_Open_Args*  args,
-                FT_Long              face_index,
-                FT_Face             *aface );
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Function>                                                            */
-  /*    FT_Attach_File                                                     */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    This function calls @FT_Attach_Stream to attach a file.            */
-  /*                                                                       */
-  /* <InOut>                                                               */
-  /*    face         :: The target face object.                            */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    filepathname :: The pathname.                                      */
-  /*                                                                       */
-  /* <Return>                                                              */
-  /*    FreeType error code.  0 means success.                             */
-  /*                                                                       */
-  FT_EXPORT( FT_Error )
-  FT_Attach_File( FT_Face      face,
-                  const char*  filepathname );
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Function>                                                            */
-  /*    FT_Attach_Stream                                                   */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    `Attach' data to a face object.  Normally, this is used to read    */
-  /*    additional information for the face object.  For example, you can  */
-  /*    attach an AFM file that comes with a Type 1 font to get the        */
-  /*    kerning values and other metrics.                                  */
-  /*                                                                       */
-  /* <InOut>                                                               */
-  /*    face       :: The target face object.                              */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    parameters :: A pointer to @FT_Open_Args which must be filled by   */
-  /*                  the caller.                                          */
-  /*                                                                       */
-  /* <Return>                                                              */
-  /*    FreeType error code.  0 means success.                             */
-  /*                                                                       */
-  /* <Note>                                                                */
-  /*    The meaning of the `attach' (i.e., what really happens when the    */
-  /*    new file is read) is not fixed by FreeType itself.  It really      */
-  /*    depends on the font format (and thus the font driver).             */
-  /*                                                                       */
-  /*    Client applications are expected to know what they are doing       */
-  /*    when invoking this function.  Most drivers simply do not implement */
-  /*    file attachments.                                                  */
-  /*                                                                       */
-  FT_EXPORT( FT_Error )
-  FT_Attach_Stream( FT_Face        face,
-                    FT_Open_Args*  parameters );
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Function>                                                            */
-  /*    FT_Done_Face                                                       */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    Discard a given face object, as well as all of its child slots and */
-  /*    sizes.                                                             */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    face :: A handle to a target face object.                          */
-  /*                                                                       */
-  /* <Return>                                                              */
-  /*    FreeType error code.  0 means success.                             */
-  /*                                                                       */
-  FT_EXPORT( FT_Error )
-  FT_Done_Face( FT_Face  face );
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Function>                                                            */
-  /*    FT_Select_Size                                                     */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    Select a bitmap strike.                                            */
-  /*                                                                       */
-  /* <InOut>                                                               */
-  /*    face         :: A handle to a target face object.                  */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    strike_index :: The index of the bitmap strike in the              */
-  /*                    `available_sizes' field of @FT_FaceRec structure.  */
-  /*                                                                       */
-  /* <Return>                                                              */
-  /*    FreeType error code.  0 means success.                             */
-  /*                                                                       */
-  FT_EXPORT( FT_Error )
-  FT_Select_Size( FT_Face  face,
-                  FT_Int   strike_index );
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Enum>                                                                */
-  /*    FT_Size_Request_Type                                               */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    An enumeration type that lists the supported size request types.   */
-  /*                                                                       */
-  /* <Values>                                                              */
-  /*    FT_SIZE_REQUEST_TYPE_NOMINAL ::                                    */
-  /*      The nominal size.  The `units_per_EM' field of @FT_FaceRec is    */
-  /*      used to determine both scaling values.                           */
-  /*                                                                       */
-  /*    FT_SIZE_REQUEST_TYPE_REAL_DIM ::                                   */
-  /*      The real dimension.  The sum of the the `Ascender' and (minus    */
-  /*      of) the `Descender' fields of @FT_FaceRec are used to determine  */
-  /*      both scaling values.                                             */
-  /*                                                                       */
-  /*    FT_SIZE_REQUEST_TYPE_BBOX ::                                       */
-  /*      The font bounding box.  The width and height of the `bbox' field */
-  /*      of @FT_FaceRec are used to determine the horizontal and vertical */
-  /*      scaling value, respectively.                                     */
-  /*                                                                       */
-  /*    FT_SIZE_REQUEST_TYPE_CELL ::                                       */
-  /*      The `max_advance_width' field of @FT_FaceRec is used to          */
-  /*      determine the horizontal scaling value; the vertical scaling     */
-  /*      value is determined the same way as                              */
-  /*      @FT_SIZE_REQUEST_TYPE_REAL_DIM does.  Finally, both scaling      */
-  /*      values are set to the smaller one.  This type is useful if you   */
-  /*      want to specify the font size for, say, a window of a given      */
-  /*      dimension and 80x24 cells.                                       */
-  /*                                                                       */
-  /*    FT_SIZE_REQUEST_TYPE_SCALES ::                                     */
-  /*      Specify the scaling values directly.                             */
-  /*                                                                       */
-  /* <Note>                                                                */
-  /*    The above descriptions only apply to scalable formats.  For bitmap */
-  /*    formats, the behaviour is up to the driver.                        */
-  /*                                                                       */
-  /*    See the note section of @FT_Size_Metrics if you wonder how size    */
-  /*    requesting relates to scaling values.                              */
-  /*                                                                       */
-  typedef enum  FT_Size_Request_Type_
-  {
-    FT_SIZE_REQUEST_TYPE_NOMINAL,
-    FT_SIZE_REQUEST_TYPE_REAL_DIM,
-    FT_SIZE_REQUEST_TYPE_BBOX,
-    FT_SIZE_REQUEST_TYPE_CELL,
-    FT_SIZE_REQUEST_TYPE_SCALES,
-
-    FT_SIZE_REQUEST_TYPE_MAX
-
-  } FT_Size_Request_Type;
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Struct>                                                              */
-  /*    FT_Size_RequestRec                                                 */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    A structure used to model a size request.                          */
-  /*                                                                       */
-  /* <Fields>                                                              */
-  /*    type           :: See @FT_Size_Request_Type.                       */
-  /*                                                                       */
-  /*    width          :: The desired width.                               */
-  /*                                                                       */
-  /*    height         :: The desired height.                              */
-  /*                                                                       */
-  /*    horiResolution :: The horizontal resolution.  If set to zero,      */
-  /*                      `width' is treated as a 26.6 fractional pixel    */
-  /*                      value.                                           */
-  /*                                                                       */
-  /*    vertResolution :: The vertical resolution.  If set to zero,        */
-  /*                      `height' is treated as a 26.6 fractional pixel   */
-  /*                      value.                                           */
-  /*                                                                       */
-  /* <Note>                                                                */
-  /*    If `width' is zero, then the horizontal scaling value is set      */
-  /*    equal to the vertical scaling value, and vice versa.               */
-  /*                                                                       */
-  typedef struct  FT_Size_RequestRec_
-  {
-    FT_Size_Request_Type  type;
-    FT_Long               width;
-    FT_Long               height;
-    FT_UInt               horiResolution;
-    FT_UInt               vertResolution;
-
-  } FT_Size_RequestRec, *FT_Size_Request;
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Function>                                                            */
-  /*    FT_Request_Size                                                    */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    Resize the scale of the active @FT_Size object in a face.          */
-  /*                                                                       */
-  /* <InOut>                                                               */
-  /*    face :: A handle to a target face object.                          */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    req  :: A pointer to a @FT_Size_RequestRec.                        */
-  /*                                                                       */
-  /* <Return>                                                              */
-  /*    FreeType error code.  0 means success.                             */
-  /*                                                                       */
-  /* <Note>                                                                */
-  /*    Although drivers may select the bitmap strike matching the         */
-  /*    request, you should not rely on this if you intend to select a     */
-  /*    particular bitmap strike.  Use @FT_Select_Size instead in that     */
-  /*    case.                                                              */
-  /*                                                                       */
-  FT_EXPORT( FT_Error )
-  FT_Request_Size( FT_Face          face,
-                   FT_Size_Request  req );
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Function>                                                            */
-  /*    FT_Set_Char_Size                                                   */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    This function calls @FT_Request_Size to request the nominal size   */
-  /*    (in points).                                                       */
-  /*                                                                       */
-  /* <InOut>                                                               */
-  /*    face            :: A handle to a target face object.               */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    char_width      :: The nominal width, in 26.6 fractional points.   */
-  /*                                                                       */
-  /*    char_height     :: The nominal height, in 26.6 fractional points.  */
-  /*                                                                       */
-  /*    horz_resolution :: The horizontal resolution in dpi.               */
-  /*                                                                       */
-  /*    vert_resolution :: The vertical resolution in dpi.                 */
-  /*                                                                       */
-  /* <Return>                                                              */
-  /*    FreeType error code.  0 means success.                             */
-  /*                                                                       */
-  /* <Note>                                                                */
-  /*    If either the character width or height is zero, it is set equal   */
-  /*    to the other value.                                                */
-  /*                                                                       */
-  /*    If either the horizontal or vertical resolution is zero, it is set */
-  /*    equal to the other value.                                          */
-  /*                                                                       */
-  /*    A character width or height smaller than 1pt is set to 1pt; if     */
-  /*    both resolution values are zero, they are set to 72dpi.            */
-  /*                                                                       */
-
-  FT_EXPORT( FT_Error )
-  FT_Set_Char_Size( FT_Face     face,
-                    FT_F26Dot6  char_width,
-                    FT_F26Dot6  char_height,
-                    FT_UInt     horz_resolution,
-                    FT_UInt     vert_resolution );
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Function>                                                            */
-  /*    FT_Set_Pixel_Sizes                                                 */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    This function calls @FT_Request_Size to request the nominal size   */
-  /*    (in pixels).                                                       */
-  /*                                                                       */
-  /* <InOut>                                                               */
-  /*    face         :: A handle to the target face object.                */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    pixel_width  :: The nominal width, in pixels.                      */
-  /*                                                                       */
-  /*    pixel_height :: The nominal height, in pixels.                     */
-  /*                                                                       */
-  /* <Return>                                                              */
-  /*    FreeType error code.  0 means success.                             */
-  /*                                                                       */
-  FT_EXPORT( FT_Error )
-  FT_Set_Pixel_Sizes( FT_Face  face,
-                      FT_UInt  pixel_width,
-                      FT_UInt  pixel_height );
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Function>                                                            */
-  /*    FT_Load_Glyph                                                      */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    A function used to load a single glyph into the glyph slot of a    */
-  /*    face object.                                                       */
-  /*                                                                       */
-  /* <InOut>                                                               */
-  /*    face        :: A handle to the target face object where the glyph  */
-  /*                   is loaded.                                          */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    glyph_index :: The index of the glyph in the font file.  For       */
-  /*                   CID-keyed fonts (either in PS or in CFF format)     */
-  /*                   this argument specifies the CID value.              */
-  /*                                                                       */
-  /*    load_flags  :: A flag indicating what to load for this glyph.  The */
-  /*                   @FT_LOAD_XXX constants can be used to control the   */
-  /*                   glyph loading process (e.g., whether the outline    */
-  /*                   should be scaled, whether to load bitmaps or not,   */
-  /*                   whether to hint the outline, etc).                  */
-  /*                                                                       */
-  /* <Return>                                                              */
-  /*    FreeType error code.  0 means success.                             */
-  /*                                                                       */
-  /* <Note>                                                                */
-  /*    The loaded glyph may be transformed.  See @FT_Set_Transform for    */
-  /*    the details.                                                       */
-  /*                                                                       */
-  FT_EXPORT( FT_Error )
-  FT_Load_Glyph( FT_Face   face,
-                 FT_UInt   glyph_index,
-                 FT_Int32  load_flags );
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Function>                                                            */
-  /*    FT_Load_Char                                                       */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    A function used to load a single glyph into the glyph slot of a    */
-  /*    face object, according to its character code.                      */
-  /*                                                                       */
-  /* <InOut>                                                               */
-  /*    face        :: A handle to a target face object where the glyph    */
-  /*                   is loaded.                                          */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    char_code   :: The glyph's character code, according to the        */
-  /*                   current charmap used in the face.                   */
-  /*                                                                       */
-  /*    load_flags  :: A flag indicating what to load for this glyph.  The */
-  /*                   @FT_LOAD_XXX constants can be used to control the   */
-  /*                   glyph loading process (e.g., whether the outline    */
-  /*                   should be scaled, whether to load bitmaps or not,   */
-  /*                   whether to hint the outline, etc).                  */
-  /*                                                                       */
-  /* <Return>                                                              */
-  /*    FreeType error code.  0 means success.                             */
-  /*                                                                       */
-  /* <Note>                                                                */
-  /*    This function simply calls @FT_Get_Char_Index and @FT_Load_Glyph.  */
-  /*                                                                       */
-  FT_EXPORT( FT_Error )
-  FT_Load_Char( FT_Face   face,
-                FT_ULong  char_code,
-                FT_Int32  load_flags );
-
-
-  /*************************************************************************
-   *
-   * @enum:
-   *   FT_LOAD_XXX
-   *
-   * @description:
-   *   A list of bit-field constants used with @FT_Load_Glyph to indicate
-   *   what kind of operations to perform during glyph loading.
-   *
-   * @values:
-   *   FT_LOAD_DEFAULT ::
-   *     Corresponding to 0, this value is used as the default glyph load
-   *     operation.  In this case, the following happens:
-   *
-   *     1. FreeType looks for a bitmap for the glyph corresponding to the
-   *        face's current size.  If one is found, the function returns.
-   *        The bitmap data can be accessed from the glyph slot (see note
-   *        below).
-   *
-   *     2. If no embedded bitmap is searched or found, FreeType looks for a
-   *        scalable outline.  If one is found, it is loaded from the font
-   *        file, scaled to device pixels, then `hinted' to the pixel grid
-   *        in order to optimize it.  The outline data can be accessed from
-   *        the glyph slot (see note below).
-   *
-   *     Note that by default, the glyph loader doesn't render outlines into
-   *     bitmaps.  The following flags are used to modify this default
-   *     behaviour to more specific and useful cases.
-   *
-   *   FT_LOAD_NO_SCALE ::
-   *     Don't scale the outline glyph loaded, but keep it in font units.
-   *
-   *     This flag implies @FT_LOAD_NO_HINTING and @FT_LOAD_NO_BITMAP, and
-   *     unsets @FT_LOAD_RENDER.
-   *
-   *   FT_LOAD_NO_HINTING ::
-   *     Disable hinting.  This generally generates `blurrier' bitmap glyph
-   *     when the glyph is rendered in any of the anti-aliased modes.  See
-   *     also the note below.
-   *
-   *     This flag is implied by @FT_LOAD_NO_SCALE.
-   *
-   *   FT_LOAD_RENDER ::
-   *     Call @FT_Render_Glyph after the glyph is loaded.  By default, the
-   *     glyph is rendered in @FT_RENDER_MODE_NORMAL mode.  This can be
-   *     overridden by @FT_LOAD_TARGET_XXX or @FT_LOAD_MONOCHROME.
-   *
-   *     This flag is unset by @FT_LOAD_NO_SCALE.
-   *
-   *   FT_LOAD_NO_BITMAP ::
-   *     Ignore bitmap strikes when loading.  Bitmap-only fonts ignore this
-   *     flag.
-   *
-   *     @FT_LOAD_NO_SCALE always sets this flag.
-   *
-   *   FT_LOAD_VERTICAL_LAYOUT ::
-   *     Load the glyph for vertical text layout.  _Don't_ use it as it is
-   *     problematic currently.
-   *
-   *   FT_LOAD_FORCE_AUTOHINT ::
-   *     Indicates that the auto-hinter is preferred over the font's native
-   *     hinter.  See also the note below.
-   *
-   *   FT_LOAD_CROP_BITMAP ::
-   *     Indicates that the font driver should crop the loaded bitmap glyph
-   *     (i.e., remove all space around its black bits).  Not all drivers
-   *     implement this.
-   *
-   *   FT_LOAD_PEDANTIC ::
-   *     Indicates that the font driver should perform pedantic verifications
-   *     during glyph loading.  This is mostly used to detect broken glyphs
-   *     in fonts.  By default, FreeType tries to handle broken fonts also.
-   *
-   *   FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH ::
-   *     Indicates that the font driver should ignore the global advance
-   *     width defined in the font.  By default, that value is used as the
-   *     advance width for all glyphs when the face has
-   *     @FT_FACE_FLAG_FIXED_WIDTH set.
-   *
-   *     This flag exists for historical reasons (to support buggy CJK
-   *     fonts).
-   *
-   *   FT_LOAD_NO_RECURSE ::
-   *     This flag is only used internally.  It merely indicates that the
-   *     font driver should not load composite glyphs recursively.  Instead,
-   *     it should set the `num_subglyph' and `subglyphs' values of the
-   *     glyph slot accordingly, and set `glyph->format' to
-   *     @FT_GLYPH_FORMAT_COMPOSITE.
-   *
-   *     The description of sub-glyphs is not available to client
-   *     applications for now.
-   *
-   *     This flag implies @FT_LOAD_NO_SCALE and @FT_LOAD_IGNORE_TRANSFORM.
-   *
-   *   FT_LOAD_IGNORE_TRANSFORM ::
-   *     Indicates that the transform matrix set by @FT_Set_Transform should
-   *     be ignored.
-   *
-   *   FT_LOAD_MONOCHROME ::
-   *     This flag is used with @FT_LOAD_RENDER to indicate that you want to
-   *     render an outline glyph to a 1-bit monochrome bitmap glyph, with
-   *     8 pixels packed into each byte of the bitmap data.
-   *
-   *     Note that this has no effect on the hinting algorithm used.  You
-   *     should use @FT_LOAD_TARGET_MONO instead so that the
-   *     monochrome-optimized hinting algorithm is used.
-   *
-   *   FT_LOAD_LINEAR_DESIGN ::
-   *     Indicates that the `linearHoriAdvance' and `linearVertAdvance'
-   *     fields of @FT_GlyphSlotRec should be kept in font units.  See
-   *     @FT_GlyphSlotRec for details.
-   *
-   *   FT_LOAD_NO_AUTOHINT ::
-   *     Disable auto-hinter.  See also the note below.
-   *
-   * @note:
-   *   By default, hinting is enabled and the font's native hinter (see
-   *   @FT_FACE_FLAG_HINTER) is preferred over the auto-hinter.  You can
-   *   disable hinting by setting @FT_LOAD_NO_HINTING or change the
-   *   precedence by setting @FT_LOAD_FORCE_AUTOHINT.  You can also set
-   *   @FT_LOAD_NO_AUTOHINT in case you don't want the auto-hinter to be
-   *   used at all.
-   *
-   *   Besides deciding which hinter to use, you can also decide which
-   *   hinting algorithm to use.  See @FT_LOAD_TARGET_XXX for details.
-   */
-#define FT_LOAD_DEFAULT                      0x0
-#define FT_LOAD_NO_SCALE                     0x1
-#define FT_LOAD_NO_HINTING                   0x2
-#define FT_LOAD_RENDER                       0x4
-#define FT_LOAD_NO_BITMAP                    0x8
-#define FT_LOAD_VERTICAL_LAYOUT              0x10
-#define FT_LOAD_FORCE_AUTOHINT               0x20
-#define FT_LOAD_CROP_BITMAP                  0x40
-#define FT_LOAD_PEDANTIC                     0x80
-#define FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH  0x200
-#define FT_LOAD_NO_RECURSE                   0x400
-#define FT_LOAD_IGNORE_TRANSFORM             0x800
-#define FT_LOAD_MONOCHROME                   0x1000
-#define FT_LOAD_LINEAR_DESIGN                0x2000
-
-  /* temporary hack! */
-#define FT_LOAD_SBITS_ONLY                   0x4000
-#define FT_LOAD_NO_AUTOHINT                  0x8000U
-
-  /* */
-
-
-  /**************************************************************************
-   *
-   * @enum:
-   *   FT_LOAD_TARGET_XXX
-   *
-   * @description:
-   *   A list of values that are used to select a specific hinting algorithm
-   *   to use by the hinter.  You should OR one of these values to your
-   *   `load_flags' when calling @FT_Load_Glyph.
-   *
-   *   Note that font's native hinters may ignore the hinting algorithm you
-   *   have specified (e.g., the TrueType bytecode interpreter).  You can set
-   *   @FT_LOAD_FORCE_AUTOHINT to ensure that the auto-hinter is used.
-   *
-   *   Also note that @FT_LOAD_TARGET_LIGHT is an exception, in that it
-   *   always implies @FT_LOAD_FORCE_AUTOHINT.
-   *
-   * @values:
-   *   FT_LOAD_TARGET_NORMAL ::
-   *     This corresponds to the default hinting algorithm, optimized for
-   *     standard gray-level rendering.  For monochrome output, use
-   *     @FT_LOAD_TARGET_MONO instead.
-   *
-   *   FT_LOAD_TARGET_LIGHT ::
-   *     A lighter hinting algorithm for non-monochrome modes.  Many
-   *     generated glyphs are more fuzzy but better resemble its original
-   *     shape.  A bit like rendering on Mac OS X.
-   *
-   *     As a special exception, this target implies @FT_LOAD_FORCE_AUTOHINT.
-   *
-   *   FT_LOAD_TARGET_MONO ::
-   *     Strong hinting algorithm that should only be used for monochrome
-   *     output.  The result is probably unpleasant if the glyph is rendered
-   *     in non-monochrome modes.
-   *
-   *   FT_LOAD_TARGET_LCD ::
-   *     A variant of @FT_LOAD_TARGET_NORMAL optimized for horizontally
-   *     decimated LCD displays.
-   *
-   *   FT_LOAD_TARGET_LCD_V ::
-   *     A variant of @FT_LOAD_TARGET_NORMAL optimized for vertically
-   *     decimated LCD displays.
-   *
-   * @note:
-   *   You should use only _one_ of the FT_LOAD_TARGET_XXX values in your
-   *   `load_flags'.  They can't be ORed.
-   *
-   *   If @FT_LOAD_RENDER is also set, the glyph is rendered in the
-   *   corresponding mode (i.e., the mode which matches the used algorithm
-   *   best) unless @FT_LOAD_MONOCHROME is set.
-   *
-   *   You can use a hinting algorithm that doesn't correspond to the same
-   *   rendering mode.  As an example, it is possible to use the `light'
-   *   hinting algorithm and have the results rendered in horizontal LCD
-   *   pixel mode, with code like
-   *
-   *     {
-   *       FT_Load_Glyph( face, glyph_index,
-   *                      load_flags | FT_LOAD_TARGET_LIGHT );
-   *
-   *       FT_Render_Glyph( face->glyph, FT_RENDER_MODE_LCD );
-   *     }
-   */
-
-#define FT_LOAD_TARGET_( x )      ( (FT_Int32)( (x) & 15 ) << 16 )
-
-#define FT_LOAD_TARGET_NORMAL     FT_LOAD_TARGET_( FT_RENDER_MODE_NORMAL )
-#define FT_LOAD_TARGET_LIGHT      FT_LOAD_TARGET_( FT_RENDER_MODE_LIGHT  )
-#define FT_LOAD_TARGET_MONO       FT_LOAD_TARGET_( FT_RENDER_MODE_MONO   )
-#define FT_LOAD_TARGET_LCD        FT_LOAD_TARGET_( FT_RENDER_MODE_LCD    )
-#define FT_LOAD_TARGET_LCD_V      FT_LOAD_TARGET_( FT_RENDER_MODE_LCD_V  )
-
-
-  /*
-   * @macro:
-   *   FT_LOAD_TARGET_MODE
-   *
-   * @description:
-   *   Return the @FT_Render_Mode corresponding to a given
-   *   @FT_LOAD_TARGET_XXX value.
-   */
-
-#define FT_LOAD_TARGET_MODE( x )  ( (FT_Render_Mode)( ( (x) >> 16 ) & 15 ) )
-
-  /* */
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Function>                                                            */
-  /*    FT_Set_Transform                                                   */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    A function used to set the transformation that is applied to glyph */
-  /*    images when they are loaded into a glyph slot through              */
-  /*    @FT_Load_Glyph.                                                    */
-  /*                                                                       */
-  /* <InOut>                                                               */
-  /*    face   :: A handle to the source face object.                      */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    matrix :: A pointer to the transformation's 2x2 matrix.  Use 0 for */
-  /*              the identity matrix.                                     */
-  /*    delta  :: A pointer to the translation vector.  Use 0 for the null */
-  /*              vector.                                                  */
-  /*                                                                       */
-  /* <Note>                                                                */
-  /*    The transformation is only applied to scalable image formats after */
-  /*    the glyph has been loaded.  It means that hinting is unaltered by  */
-  /*    the transformation and is performed on the character size given in */
-  /*    the last call to @FT_Set_Char_Size or @FT_Set_Pixel_Sizes.         */
-  /*                                                                       */
-  /*    Note that this also transforms the `face.glyph.advance' field, but */
-  /*    *not* the values in `face.glyph.metrics'.                          */
-  /*                                                                       */
-  FT_EXPORT( void )
-  FT_Set_Transform( FT_Face     face,
-                    FT_Matrix*  matrix,
-                    FT_Vector*  delta );
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Enum>                                                                */
-  /*    FT_Render_Mode                                                     */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    An enumeration type that lists the render modes supported by       */
-  /*    FreeType 2.  Each mode corresponds to a specific type of scanline  */
-  /*    conversion performed on the outline.                               */
-  /*                                                                       */
-  /*    For bitmap fonts the `bitmap->pixel_mode' field in the             */
-  /*    @FT_GlyphSlotRec structure gives the format of the returned        */
-  /*    bitmap.                                                            */
-  /*                                                                       */
-  /* <Values>                                                              */
-  /*    FT_RENDER_MODE_NORMAL ::                                           */
-  /*      This is the default render mode; it corresponds to 8-bit         */
-  /*      anti-aliased bitmaps, using 256 levels of opacity.               */
-  /*                                                                       */
-  /*    FT_RENDER_MODE_LIGHT ::                                            */
-  /*      This is equivalent to @FT_RENDER_MODE_NORMAL.  It is only        */
-  /*      defined as a separate value because render modes are also used   */
-  /*      indirectly to define hinting algorithm selectors.  See           */
-  /*      @FT_LOAD_TARGET_XXX for details.                                 */
-  /*                                                                       */
-  /*    FT_RENDER_MODE_MONO ::                                             */
-  /*      This mode corresponds to 1-bit bitmaps.                          */
-  /*                                                                       */
-  /*    FT_RENDER_MODE_LCD ::                                              */
-  /*      This mode corresponds to horizontal RGB and BGR sub-pixel        */
-  /*      displays, like LCD-screens.  It produces 8-bit bitmaps that are  */
-  /*      3 times the width of the original glyph outline in pixels, and   */
-  /*      which use the @FT_PIXEL_MODE_LCD mode.                           */
-  /*                                                                       */
-  /*    FT_RENDER_MODE_LCD_V ::                                            */
-  /*      This mode corresponds to vertical RGB and BGR sub-pixel displays */
-  /*      (like PDA screens, rotated LCD displays, etc.).  It produces     */
-  /*      8-bit bitmaps that are 3 times the height of the original        */
-  /*      glyph outline in pixels and use the @FT_PIXEL_MODE_LCD_V mode.   */
-  /*                                                                       */
-  /* <Note>                                                                */
-  /*   The LCD-optimized glyph bitmaps produced by FT_Render_Glyph are     */
-  /*   _not_ _filtered_ to reduce color-fringes.  It is up to the caller   */
-  /*   to perform this pass.                                               */
-  /*                                                                       */
-  typedef enum  FT_Render_Mode_
-  {
-    FT_RENDER_MODE_NORMAL = 0,
-    FT_RENDER_MODE_LIGHT,
-    FT_RENDER_MODE_MONO,
-    FT_RENDER_MODE_LCD,
-    FT_RENDER_MODE_LCD_V,
-
-    FT_RENDER_MODE_MAX
-
-  } FT_Render_Mode;
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Enum>                                                                */
-  /*    ft_render_mode_xxx                                                 */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    These constants are deprecated.  Use the corresponding             */
-  /*    @FT_Render_Mode values instead.                                    */
-  /*                                                                       */
-  /* <Values>                                                              */
-  /*   ft_render_mode_normal :: see @FT_RENDER_MODE_NORMAL                 */
-  /*   ft_render_mode_mono   :: see @FT_RENDER_MODE_MONO                   */
-  /*                                                                       */
-#define ft_render_mode_normal  FT_RENDER_MODE_NORMAL
-#define ft_render_mode_mono    FT_RENDER_MODE_MONO
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Function>                                                            */
-  /*    FT_Render_Glyph                                                    */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    Convert a given glyph image to a bitmap.  It does so by inspecting */
-  /*    the glyph image format, finding the relevant renderer, and         */
-  /*    invoking it.                                                       */
-  /*                                                                       */
-  /* <InOut>                                                               */
-  /*    slot        :: A handle to the glyph slot containing the image to  */
-  /*                   convert.                                            */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    render_mode :: This is the render mode used to render the glyph    */
-  /*                   image into a bitmap.  See @FT_Render_Mode for a     */
-  /*                   list of possible values.                            */
-  /*                                                                       */
-  /* <Return>                                                              */
-  /*    FreeType error code.  0 means success.                             */
-  /*                                                                       */
-  FT_EXPORT( FT_Error )
-  FT_Render_Glyph( FT_GlyphSlot    slot,
-                   FT_Render_Mode  render_mode );
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Enum>                                                                */
-  /*    FT_Kerning_Mode                                                    */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    An enumeration used to specify which kerning values to return in   */
-  /*    @FT_Get_Kerning.                                                   */
-  /*                                                                       */
-  /* <Values>                                                              */
-  /*    FT_KERNING_DEFAULT  :: Return scaled and grid-fitted kerning       */
-  /*                           distances (value is 0).                     */
-  /*                                                                       */
-  /*    FT_KERNING_UNFITTED :: Return scaled but un-grid-fitted kerning    */
-  /*                           distances.                                  */
-  /*                                                                       */
-  /*    FT_KERNING_UNSCALED :: Return the kerning vector in original font  */
-  /*                           units.                                      */
-  /*                                                                       */
-  typedef enum  FT_Kerning_Mode_
-  {
-    FT_KERNING_DEFAULT  = 0,
-    FT_KERNING_UNFITTED,
-    FT_KERNING_UNSCALED
-
-  } FT_Kerning_Mode;
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Const>                                                               */
-  /*    ft_kerning_default                                                 */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    This constant is deprecated.  Please use @FT_KERNING_DEFAULT       */
-  /*    instead.                                                           */
-  /*                                                                       */
-#define ft_kerning_default   FT_KERNING_DEFAULT
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Const>                                                               */
-  /*    ft_kerning_unfitted                                                */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    This constant is deprecated.  Please use @FT_KERNING_UNFITTED      */
-  /*    instead.                                                           */
-  /*                                                                       */
-#define ft_kerning_unfitted  FT_KERNING_UNFITTED
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Const>                                                               */
-  /*    ft_kerning_unscaled                                                */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    This constant is deprecated.  Please use @FT_KERNING_UNSCALED      */
-  /*    instead.                                                           */
-  /*                                                                       */
-#define ft_kerning_unscaled  FT_KERNING_UNSCALED
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Function>                                                            */
-  /*    FT_Get_Kerning                                                     */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    Return the kerning vector between two glyphs of a same face.       */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    face        :: A handle to a source face object.                   */
-  /*                                                                       */
-  /*    left_glyph  :: The index of the left glyph in the kern pair.       */
-  /*                                                                       */
-  /*    right_glyph :: The index of the right glyph in the kern pair.      */
-  /*                                                                       */
-  /*    kern_mode   :: See @FT_Kerning_Mode for more information.          */
-  /*                   Determines the scale and dimension of the returned  */
-  /*                   kerning vector.                                     */
-  /*                                                                       */
-  /* <Output>                                                              */
-  /*    akerning    :: The kerning vector.  This is either in font units   */
-  /*                   or in pixels (26.6 format) for scalable formats,    */
-  /*                   and in pixels for fixed-sizes formats.              */
-  /*                                                                       */
-  /* <Return>                                                              */
-  /*    FreeType error code.  0 means success.                             */
-  /*                                                                       */
-  /* <Note>                                                                */
-  /*    Only horizontal layouts (left-to-right & right-to-left) are        */
-  /*    supported by this method.  Other layouts, or more sophisticated    */
-  /*    kernings, are out of the scope of this API function -- they can be */
-  /*    implemented through format-specific interfaces.                    */
-  /*                                                                       */
-  FT_EXPORT( FT_Error )
-  FT_Get_Kerning( FT_Face     face,
-                  FT_UInt     left_glyph,
-                  FT_UInt     right_glyph,
-                  FT_UInt     kern_mode,
-                  FT_Vector  *akerning );
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Function>                                                            */
-  /*    FT_Get_Track_Kerning                                               */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    Return the track kerning for a given face object at a given size.  */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    face        :: A handle to a source face object.                   */
-  /*                                                                       */
-  /*    point_size  :: The point size in 16.16 fractional points.          */
-  /*                                                                       */
-  /*    degree      :: The degree of tightness.                            */
-  /*                                                                       */
-  /* <Output>                                                              */
-  /*    akerning    :: The kerning in 16.16 fractional points.             */
-  /*                                                                       */
-  /* <Return>                                                              */
-  /*    FreeType error code.  0 means success.                             */
-  /*                                                                       */
-  FT_EXPORT( FT_Error )
-  FT_Get_Track_Kerning( FT_Face    face,
-                        FT_Fixed   point_size,
-                        FT_Int     degree,
-                        FT_Fixed*  akerning );
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Function>                                                            */
-  /*    FT_Get_Glyph_Name                                                  */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    Retrieve the ASCII name of a given glyph in a face.  This only     */
-  /*    works for those faces where @FT_HAS_GLYPH_NAMES(face) returns 1.   */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    face        :: A handle to a source face object.                   */
-  /*                                                                       */
-  /*    glyph_index :: The glyph index.                                    */
-  /*                                                                       */
-  /*    buffer_max  :: The maximal number of bytes available in the        */
-  /*                   buffer.                                             */
-  /*                                                                       */
-  /* <Output>                                                              */
-  /*    buffer      :: A pointer to a target buffer where the name is      */
-  /*                   copied to.                                          */
-  /*                                                                       */
-  /* <Return>                                                              */
-  /*    FreeType error code.  0 means success.                             */
-  /*                                                                       */
-  /* <Note>                                                                */
-  /*    An error is returned if the face doesn't provide glyph names or if */
-  /*    the glyph index is invalid.  In all cases of failure, the first    */
-  /*    byte of `buffer' is set to 0 to indicate an empty name.            */
-  /*                                                                       */
-  /*    The glyph name is truncated to fit within the buffer if it is too  */
-  /*    long.  The returned string is always zero-terminated.              */
-  /*                                                                       */
-  /*    This function is not compiled within the library if the config     */
-  /*    macro `FT_CONFIG_OPTION_NO_GLYPH_NAMES' is defined in              */
-  /*    `include/freetype/config/ftoptions.h'.                             */
-  /*                                                                       */
-  FT_EXPORT( FT_Error )
-  FT_Get_Glyph_Name( FT_Face     face,
-                     FT_UInt     glyph_index,
-                     FT_Pointer  buffer,
-                     FT_UInt     buffer_max );
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Function>                                                            */
-  /*    FT_Get_Postscript_Name                                             */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    Retrieve the ASCII Postscript name of a given face, if available.  */
-  /*    This only works with Postscript and TrueType fonts.                */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    face :: A handle to the source face object.                        */
-  /*                                                                       */
-  /* <Return>                                                              */
-  /*    A pointer to the face's Postscript name.  NULL if unavailable.     */
-  /*                                                                       */
-  /* <Note>                                                                */
-  /*    The returned pointer is owned by the face and is destroyed with    */
-  /*    it.                                                                */
-  /*                                                                       */
-  FT_EXPORT( const char* )
-  FT_Get_Postscript_Name( FT_Face  face );
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Function>                                                            */
-  /*    FT_Select_Charmap                                                  */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    Select a given charmap by its encoding tag (as listed in           */
-  /*    `freetype.h').                                                     */
-  /*                                                                       */
-  /* <InOut>                                                               */
-  /*    face     :: A handle to the source face object.                    */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    encoding :: A handle to the selected encoding.                     */
-  /*                                                                       */
-  /* <Return>                                                              */
-  /*    FreeType error code.  0 means success.                             */
-  /*                                                                       */
-  /* <Note>                                                                */
-  /*    This function returns an error if no charmap in the face           */
-  /*    corresponds to the encoding queried here.                          */
-  /*                                                                       */
-  /*    Because many fonts contain more than a single cmap for Unicode     */
-  /*    encoding, this function has some special code to select the one    */
-  /*    which covers Unicode best.  It is thus preferable to               */
-  /*    @FT_Set_Charmap in this case.                                      */
-  /*                                                                       */
-  FT_EXPORT( FT_Error )
-  FT_Select_Charmap( FT_Face      face,
-                     FT_Encoding  encoding );
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Function>                                                            */
-  /*    FT_Set_Charmap                                                     */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    Select a given charmap for character code to glyph index mapping.  */
-  /*                                                                       */
-  /* <InOut>                                                               */
-  /*    face    :: A handle to the source face object.                     */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    charmap :: A handle to the selected charmap.                       */
-  /*                                                                       */
-  /* <Return>                                                              */
-  /*    FreeType error code.  0 means success.                             */
-  /*                                                                       */
-  /* <Note>                                                                */
-  /*    This function returns an error if the charmap is not part of       */
-  /*    the face (i.e., if it is not listed in the `face->charmaps'        */
-  /*    table).                                                            */
-  /*                                                                       */
-  FT_EXPORT( FT_Error )
-  FT_Set_Charmap( FT_Face     face,
-                  FT_CharMap  charmap );
-
-
-  /*************************************************************************
-   *
-   * @function:
-   *   FT_Get_Charmap_Index
-   *
-   * @description:
-   *   Retrieve index of a given charmap.
-   *
-   * @input:
-   *   charmap ::
-   *     A handle to a charmap.
-   *
-   * @return:
-   *   The index into the array of character maps within the face to which
-   *   `charmap' belongs.
-   *
-   */
-  FT_EXPORT( FT_Int )
-  FT_Get_Charmap_Index( FT_CharMap  charmap );
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Function>                                                            */
-  /*    FT_Get_Char_Index                                                  */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    Return the glyph index of a given character code.  This function   */
-  /*    uses a charmap object to do the mapping.                           */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    face     :: A handle to the source face object.                    */
-  /*                                                                       */
-  /*    charcode :: The character code.                                    */
-  /*                                                                       */
-  /* <Return>                                                              */
-  /*    The glyph index.  0 means `undefined character code'.              */
-  /*                                                                       */
-  /* <Note>                                                                */
-  /*    If you use FreeType to manipulate the contents of font files       */
-  /*    directly, be aware that the glyph index returned by this function  */
-  /*    doesn't always correspond to the internal indices used within      */
-  /*    the file.  This is done to ensure that value 0 always corresponds  */
-  /*    to the `missing glyph'.                                            */
-  /*                                                                       */
-  FT_EXPORT( FT_UInt )
-  FT_Get_Char_Index( FT_Face   face,
-                     FT_ULong  charcode );
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Function>                                                            */
-  /*    FT_Get_First_Char                                                  */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    This function is used to return the first character code in the    */
-  /*    current charmap of a given face.  It also returns the              */
-  /*    corresponding glyph index.                                         */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    face    :: A handle to the source face object.                     */
-  /*                                                                       */
-  /* <Output>                                                              */
-  /*    agindex :: Glyph index of first character code.  0 if charmap is   */
-  /*               empty.                                                  */
-  /*                                                                       */
-  /* <Return>                                                              */
-  /*    The charmap's first character code.                                */
-  /*                                                                       */
-  /* <Note>                                                                */
-  /*    You should use this function with @FT_Get_Next_Char to be able to  */
-  /*    parse all character codes available in a given charmap.  The code  */
-  /*    should look like this:                                             */
-  /*                                                                       */
-  /*    {                                                                  */
-  /*      FT_ULong  charcode;                                              */
-  /*      FT_UInt   gindex;                                                */
-  /*                                                                       */
-  /*                                                                       */
-  /*      charcode = FT_Get_First_Char( face, &gindex );                   */
-  /*      while ( gindex != 0 )                                            */
-  /*      {                                                                */
-  /*        ... do something with (charcode,gindex) pair ...               */
-  /*                                                                       */
-  /*        charcode = FT_Get_Next_Char( face, charcode, &gindex );        */
-  /*      }                                                                */
-  /*    }                                                                  */
-  /*                                                                       */
-  /*    Note that `*agindex' is set to 0 if the charmap is empty.  The     */
-  /*    result itself can be 0 in two cases: if the charmap is empty or    */
-  /*    when the value 0 is the first valid character code.                */
-  /*                                                                       */
-  FT_EXPORT( FT_ULong )
-  FT_Get_First_Char( FT_Face   face,
-                     FT_UInt  *agindex );
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Function>                                                            */
-  /*    FT_Get_Next_Char                                                   */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    This function is used to return the next character code in the     */
-  /*    current charmap of a given face following the value `char_code',   */
-  /*    as well as the corresponding glyph index.                          */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    face      :: A handle to the source face object.                   */
-  /*    char_code :: The starting character code.                          */
-  /*                                                                       */
-  /* <Output>                                                              */
-  /*    agindex   :: Glyph index of first character code.  0 if charmap    */
-  /*                 is empty.                                             */
-  /*                                                                       */
-  /* <Return>                                                              */
-  /*    The charmap's next character code.                                 */
-  /*                                                                       */
-  /* <Note>                                                                */
-  /*    You should use this function with @FT_Get_First_Char to walk       */
-  /*    over all character codes available in a given charmap.  See the    */
-  /*    note for this function for a simple code example.                  */
-  /*                                                                       */
-  /*    Note that `*agindex' is set to 0 when there are no more codes in   */
-  /*    the charmap.                                                       */
-  /*                                                                       */
-  FT_EXPORT( FT_ULong )
-  FT_Get_Next_Char( FT_Face    face,
-                    FT_ULong   char_code,
-                    FT_UInt   *agindex );
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Function>                                                            */
-  /*    FT_Get_Name_Index                                                  */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    Return the glyph index of a given glyph name.  This function uses  */
-  /*    driver specific objects to do the translation.                     */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    face       :: A handle to the source face object.                  */
-  /*                                                                       */
-  /*    glyph_name :: The glyph name.                                      */
-  /*                                                                       */
-  /* <Return>                                                              */
-  /*    The glyph index.  0 means `undefined character code'.              */
-  /*                                                                       */
-  FT_EXPORT( FT_UInt )
-  FT_Get_Name_Index( FT_Face     face,
-                     FT_String*  glyph_name );
-
-
-  /*************************************************************************
-   *
-   * @macro:
-   *   FT_SUBGLYPH_FLAG_XXX
-   *
-   * @description:
-   *   A list of constants used to describe subglyphs.  Please refer to the
-   *   TrueType specification for the meaning of the various flags.
-   *
-   * @values:
-   *   FT_SUBGLYPH_FLAG_ARGS_ARE_WORDS ::
-   *   FT_SUBGLYPH_FLAG_ARGS_ARE_XY_VALUES ::
-   *   FT_SUBGLYPH_FLAG_ROUND_XY_TO_GRID ::
-   *   FT_SUBGLYPH_FLAG_SCALE ::
-   *   FT_SUBGLYPH_FLAG_XY_SCALE ::
-   *   FT_SUBGLYPH_FLAG_2X2 ::
-   *   FT_SUBGLYPH_FLAG_USE_MY_METRICS ::
-   *
-   */
-#define FT_SUBGLYPH_FLAG_ARGS_ARE_WORDS          1
-#define FT_SUBGLYPH_FLAG_ARGS_ARE_XY_VALUES      2
-#define FT_SUBGLYPH_FLAG_ROUND_XY_TO_GRID        4
-#define FT_SUBGLYPH_FLAG_SCALE                   8
-#define FT_SUBGLYPH_FLAG_XY_SCALE             0x40
-#define FT_SUBGLYPH_FLAG_2X2                  0x80
-#define FT_SUBGLYPH_FLAG_USE_MY_METRICS      0x200
-
-
-  /*************************************************************************
-   *
-   * @func:
-   *   FT_Get_SubGlyph_Info
-   *
-   * @description:
-   *   Retrieve a description of a given subglyph.  Only use it if
-   *   `glyph->format' is @FT_GLYPH_FORMAT_COMPOSITE, or an error is
-   *   returned.
-   *
-   * @input:
-   *   glyph ::
-   *     The source glyph slot.
-   *
-   *   sub_index ::
-   *     The index of subglyph.  Must be less than `glyph->num_subglyphs'.
-   *
-   * @output:
-   *   p_index ::
-   *     The glyph index of the subglyph.
-   *
-   *   p_flags ::
-   *     The subglyph flags, see @FT_SUBGLYPH_FLAG_XXX.
-   *
-   *   p_arg1 ::
-   *     The subglyph's first argument (if any).
-   *
-   *   p_arg2 ::
-   *     The subglyph's second argument (if any).
-   *
-   *   p_transform ::
-   *     The subglyph transformation (if any).
-   *
-   * @return:
-   *   FreeType error code.  0 means success.
-   *
-   * @note:
-   *   The values of `*p_arg1', `*p_arg2', and `*p_transform' must be
-   *   interpreted depending on the flags returned in `*p_flags'.  See the
-   *   TrueType specification for details.
-   *
-   */
-  FT_EXPORT( FT_Error )
-  FT_Get_SubGlyph_Info( FT_GlyphSlot  glyph,
-                        FT_UInt       sub_index,
-                        FT_Int       *p_index,
-                        FT_UInt      *p_flags,
-                        FT_Int       *p_arg1,
-                        FT_Int       *p_arg2,
-                        FT_Matrix    *p_transform );
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Section>                                                             */
-  /*    computations                                                       */
-  /*                                                                       */
-  /* <Title>                                                               */
-  /*    Computations                                                       */
-  /*                                                                       */
-  /* <Abstract>                                                            */
-  /*    Crunching fixed numbers and vectors.                               */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    This section contains various functions used to perform            */
-  /*    computations on 16.16 fixed-float numbers or 2d vectors.           */
-  /*                                                                       */
-  /* <Order>                                                               */
-  /*    FT_MulDiv                                                          */
-  /*    FT_MulFix                                                          */
-  /*    FT_DivFix                                                          */
-  /*    FT_RoundFix                                                        */
-  /*    FT_CeilFix                                                         */
-  /*    FT_FloorFix                                                        */
-  /*    FT_Vector_Transform                                                */
-  /*    FT_Matrix_Multiply                                                 */
-  /*    FT_Matrix_Invert                                                   */
-  /*                                                                       */
-  /*************************************************************************/
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Function>                                                            */
-  /*    FT_MulDiv                                                          */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    A very simple function used to perform the computation `(a*b)/c'   */
-  /*    with maximal accuracy (it uses a 64-bit intermediate integer       */
-  /*    whenever necessary).                                               */
-  /*                                                                       */
-  /*    This function isn't necessarily as fast as some processor specific */
-  /*    operations, but is at least completely portable.                   */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    a :: The first multiplier.                                         */
-  /*    b :: The second multiplier.                                        */
-  /*    c :: The divisor.                                                  */
-  /*                                                                       */
-  /* <Return>                                                              */
-  /*    The result of `(a*b)/c'.  This function never traps when trying to */
-  /*    divide by zero; it simply returns `MaxInt' or `MinInt' depending   */
-  /*    on the signs of `a' and `b'.                                       */
-  /*                                                                       */
-  FT_EXPORT( FT_Long )
-  FT_MulDiv( FT_Long  a,
-             FT_Long  b,
-             FT_Long  c );
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Function>                                                            */
-  /*    FT_MulFix                                                          */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    A very simple function used to perform the computation             */
-  /*    `(a*b)/0x10000' with maximal accuracy.  Most of the time this is   */
-  /*    used to multiply a given value by a 16.16 fixed float factor.      */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    a :: The first multiplier.                                         */
-  /*    b :: The second multiplier.  Use a 16.16 factor here whenever      */
-  /*         possible (see note below).                                    */
-  /*                                                                       */
-  /* <Return>                                                              */
-  /*    The result of `(a*b)/0x10000'.                                     */
-  /*                                                                       */
-  /* <Note>                                                                */
-  /*    This function has been optimized for the case where the absolute   */
-  /*    value of `a' is less than 2048, and `b' is a 16.16 scaling factor. */
-  /*    As this happens mainly when scaling from notional units to         */
-  /*    fractional pixels in FreeType, it resulted in noticeable speed     */
-  /*    improvements between versions 2.x and 1.x.                         */
-  /*                                                                       */
-  /*    As a conclusion, always try to place a 16.16 factor as the         */
-  /*    _second_ argument of this function; this can make a great          */
-  /*    difference.                                                        */
-  /*                                                                       */
-  FT_EXPORT( FT_Long )
-  FT_MulFix( FT_Long  a,
-             FT_Long  b );
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Function>                                                            */
-  /*    FT_DivFix                                                          */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    A very simple function used to perform the computation             */
-  /*    `(a*0x10000)/b' with maximal accuracy.  Most of the time, this is  */
-  /*    used to divide a given value by a 16.16 fixed float factor.        */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    a :: The first multiplier.                                         */
-  /*    b :: The second multiplier.  Use a 16.16 factor here whenever      */
-  /*         possible (see note below).                                    */
-  /*                                                                       */
-  /* <Return>                                                              */
-  /*    The result of `(a*0x10000)/b'.                                     */
-  /*                                                                       */
-  /* <Note>                                                                */
-  /*    The optimization for FT_DivFix() is simple: If (a << 16) fits in   */
-  /*    32 bits, then the division is computed directly.  Otherwise, we    */
-  /*    use a specialized version of @FT_MulDiv.                           */
-  /*                                                                       */
-  FT_EXPORT( FT_Long )
-  FT_DivFix( FT_Long  a,
-             FT_Long  b );
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Function>                                                            */
-  /*    FT_RoundFix                                                        */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    A very simple function used to round a 16.16 fixed number.         */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    a :: The number to be rounded.                                     */
-  /*                                                                       */
-  /* <Return>                                                              */
-  /*    The result of `(a + 0x8000) & -0x10000'.                           */
-  /*                                                                       */
-  FT_EXPORT( FT_Fixed )
-  FT_RoundFix( FT_Fixed  a );
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Function>                                                            */
-  /*    FT_CeilFix                                                         */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    A very simple function used to compute the ceiling function of a   */
-  /*    16.16 fixed number.                                                */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    a :: The number for which the ceiling function is to be computed.  */
-  /*                                                                       */
-  /* <Return>                                                              */
-  /*    The result of `(a + 0x10000 - 1) & -0x10000'.                      */
-  /*                                                                       */
-  FT_EXPORT( FT_Fixed )
-  FT_CeilFix( FT_Fixed  a );
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Function>                                                            */
-  /*    FT_FloorFix                                                        */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    A very simple function used to compute the floor function of a     */
-  /*    16.16 fixed number.                                                */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    a :: The number for which the floor function is to be computed.    */
-  /*                                                                       */
-  /* <Return>                                                              */
-  /*    The result of `a & -0x10000'.                                      */
-  /*                                                                       */
-  FT_EXPORT( FT_Fixed )
-  FT_FloorFix( FT_Fixed  a );
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Function>                                                            */
-  /*    FT_Vector_Transform                                                */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    Transform a single vector through a 2x2 matrix.                    */
-  /*                                                                       */
-  /* <InOut>                                                               */
-  /*    vector :: The target vector to transform.                          */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    matrix :: A pointer to the source 2x2 matrix.                      */
-  /*                                                                       */
-  /* <Note>                                                                */
-  /*    The result is undefined if either `vector' or `matrix' is invalid. */
-  /*                                                                       */
-  FT_EXPORT( void )
-  FT_Vector_Transform( FT_Vector*        vec,
-                       const FT_Matrix*  matrix );
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Section>                                                             */
-  /*    version                                                            */
-  /*                                                                       */
-  /* <Title>                                                               */
-  /*    FreeType Version                                                   */
-  /*                                                                       */
-  /* <Abstract>                                                            */
-  /*    Functions and macros related to FreeType versions.                 */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    Note that those functions and macros are of limited use because    */
-  /*    even a new release of FreeType with only documentation changes     */
-  /*    increases the version number.                                      */
-  /*                                                                       */
-  /*************************************************************************/
-
-
-  /*************************************************************************
-   *
-   *  @enum:
-   *    FREETYPE_XXX
-   *
-   *  @description:
-   *    These three macros identify the FreeType source code version.
-   *    Use @FT_Library_Version to access them at runtime.
-   *
-   *  @values:
-   *    FREETYPE_MAJOR :: The major version number.
-   *    FREETYPE_MINOR :: The minor version number.
-   *    FREETYPE_PATCH :: The patch level.
-   *
-   *  @note:
-   *    The version number of FreeType if built as a dynamic link library
-   *    with the `libtool' package is _not_ controlled by these three
-   *    macros.
-   */
-#define FREETYPE_MAJOR  2
-#define FREETYPE_MINOR  3
-#define FREETYPE_PATCH  5
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Function>                                                            */
-  /*    FT_Library_Version                                                 */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    Return the version of the FreeType library being used.  This is    */
-  /*    useful when dynamically linking to the library, since one cannot   */
-  /*    use the macros @FREETYPE_MAJOR, @FREETYPE_MINOR, and               */
-  /*    @FREETYPE_PATCH.                                                   */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    library :: A source library handle.                                */
-  /*                                                                       */
-  /* <Output>                                                              */
-  /*    amajor  :: The major version number.                               */
-  /*                                                                       */
-  /*    aminor  :: The minor version number.                               */
-  /*                                                                       */
-  /*    apatch  :: The patch version number.                               */
-  /*                                                                       */
-  /* <Note>                                                                */
-  /*    The reason why this function takes a `library' argument is because */
-  /*    certain programs implement library initialization in a custom way  */
-  /*    that doesn't use @FT_Init_FreeType.                                */
-  /*                                                                       */
-  /*    In such cases, the library version might not be available before   */
-  /*    the library object has been created.                               */
-  /*                                                                       */
-  FT_EXPORT( void )
-  FT_Library_Version( FT_Library   library,
-                      FT_Int      *amajor,
-                      FT_Int      *aminor,
-                      FT_Int      *apatch );
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Function>                                                            */
-  /*    FT_Face_CheckTrueTypePatents                                       */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    Parse all bytecode instructions of a TrueType font file to check   */
-  /*    whether any of the patented opcodes are used.  This is only useful */
-  /*    if you want to be able to use the unpatented hinter with           */
-  /*    fonts that do *not* use these opcodes.                             */
-  /*                                                                       */
-  /*    Note that this function parses *all* glyph instructions in the     */
-  /*    font file, which may be slow.                                      */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    face :: A face handle.                                             */
-  /*                                                                       */
-  /* <Return>                                                              */
-  /*    1 if this is a TrueType font that uses one of the patented         */
-  /*    opcodes, 0 otherwise.                                              */
-  /*                                                                       */
-  /* <Since>                                                               */
-  /*    2.3.5                                                              */
-  /*                                                                       */
-  FT_EXPORT( FT_Bool )
-  FT_Face_CheckTrueTypePatents( FT_Face  face );
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Function>                                                            */
-  /*    FT_Face_SetUnpatentedHinting                                       */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    Enable or disable the unpatented hinter for a given face.          */
-  /*    Only enable it if you have determined that the face doesn't        */
-  /*    use any patented opcodes (see @FT_Face_CheckTrueTypePatents).      */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    face  :: A face handle.                                            */
-  /*                                                                       */
-  /*    value :: New boolean setting.                                      */
-  /*                                                                       */
-  /* <Return>                                                              */
-  /*    The old setting value.  This will always be false if this is not   */
-  /*    a SFNT font, or if the unpatented hinter is not compiled in this   */
-  /*    instance of the library.                                           */
-  /*                                                                       */
-  /* <Since>                                                               */
-  /*    2.3.5                                                              */
-  /*                                                                       */
-  FT_EXPORT( FT_Bool )
-  FT_Face_SetUnpatentedHinting( FT_Face  face,
-                                FT_Bool  value );
-
-  /* */
-
-
-FT_END_HEADER
-
-#endif /* __FREETYPE_H__ */
-
-
-/* END */
diff --git a/CMU462/deps/freetype/include/freetype2/freetype/ftbbox.h b/CMU462/deps/freetype/include/freetype2/freetype/ftbbox.h
deleted file mode 100755
index 5f79c32..0000000
--- a/CMU462/deps/freetype/include/freetype2/freetype/ftbbox.h
+++ /dev/null
@@ -1,94 +0,0 @@
-/***************************************************************************/
-/*                                                                         */
-/*  ftbbox.h                                                               */
-/*                                                                         */
-/*    FreeType exact bbox computation (specification).                     */
-/*                                                                         */
-/*  Copyright 1996-2001, 2003 by                                           */
-/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
-/*                                                                         */
-/*  This file is part of the FreeType project, and may only be used,       */
-/*  modified, and distributed under the terms of the FreeType project      */
-/*  license, LICENSE.TXT.  By continuing to use, modify, or distribute     */
-/*  this file you indicate that you have read the license and              */
-/*  understand and accept it fully.                                        */
-/*                                                                         */
-/***************************************************************************/
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* This component has a _single_ role: to compute exact outline bounding */
-  /* boxes.                                                                */
-  /*                                                                       */
-  /* It is separated from the rest of the engine for various technical     */
-  /* reasons.  It may well be integrated in `ftoutln' later.               */
-  /*                                                                       */
-  /*************************************************************************/
-
-
-#ifndef __FTBBOX_H__
-#define __FTBBOX_H__
-
-
-#include <ft2build.h>
-#include FT_FREETYPE_H
-
-#ifdef FREETYPE_H
-#error "freetype.h of FreeType 1 has been loaded!"
-#error "Please fix the directory search order for header files"
-#error "so that freetype.h of FreeType 2 is found first."
-#endif
-
-
-FT_BEGIN_HEADER
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Section>                                                             */
-  /*    outline_processing                                                 */
-  /*                                                                       */
-  /*************************************************************************/
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Function>                                                            */
-  /*    FT_Outline_Get_BBox                                                */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    Computes the exact bounding box of an outline.  This is slower     */
-  /*    than computing the control box.  However, it uses an advanced      */
-  /*    algorithm which returns _very_ quickly when the two boxes          */
-  /*    coincide.  Otherwise, the outline Bézier arcs are walked over to   */
-  /*    extract their extrema.                                             */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    outline :: A pointer to the source outline.                        */
-  /*                                                                       */
-  /* <Output>                                                              */
-  /*    abbox   :: The outline's exact bounding box.                       */
-  /*                                                                       */
-  /* <Return>                                                              */
-  /*    FreeType error code.  0 means success.                             */
-  /*                                                                       */
-  FT_EXPORT( FT_Error )
-  FT_Outline_Get_BBox( FT_Outline*  outline,
-                       FT_BBox     *abbox );
-
-
-  /* */
-
-
-FT_END_HEADER
-
-#endif /* __FTBBOX_H__ */
-
-
-/* END */
-
-
-/* Local Variables: */
-/* coding: utf-8    */
-/* End:             */
diff --git a/CMU462/deps/freetype/include/freetype2/freetype/ftbdf.h b/CMU462/deps/freetype/include/freetype2/freetype/ftbdf.h
deleted file mode 100755
index 9555694..0000000
--- a/CMU462/deps/freetype/include/freetype2/freetype/ftbdf.h
+++ /dev/null
@@ -1,200 +0,0 @@
-/***************************************************************************/
-/*                                                                         */
-/*  ftbdf.h                                                                */
-/*                                                                         */
-/*    FreeType API for accessing BDF-specific strings (specification).     */
-/*                                                                         */
-/*  Copyright 2002, 2003, 2004, 2006 by                                    */
-/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
-/*                                                                         */
-/*  This file is part of the FreeType project, and may only be used,       */
-/*  modified, and distributed under the terms of the FreeType project      */
-/*  license, LICENSE.TXT.  By continuing to use, modify, or distribute     */
-/*  this file you indicate that you have read the license and              */
-/*  understand and accept it fully.                                        */
-/*                                                                         */
-/***************************************************************************/
-
-
-#ifndef __FTBDF_H__
-#define __FTBDF_H__
-
-#include <ft2build.h>
-#include FT_FREETYPE_H
-
-#ifdef FREETYPE_H
-#error "freetype.h of FreeType 1 has been loaded!"
-#error "Please fix the directory search order for header files"
-#error "so that freetype.h of FreeType 2 is found first."
-#endif
-
-
-FT_BEGIN_HEADER
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Section>                                                             */
-  /*    bdf_fonts                                                          */
-  /*                                                                       */
-  /* <Title>                                                               */
-  /*    BDF Files                                                          */
-  /*                                                                       */
-  /* <Abstract>                                                            */
-  /*    BDF specific API.                                                  */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    This section contains the declaration of BDF specific functions.   */
-  /*                                                                       */
-  /*************************************************************************/
-
-
- /**********************************************************************
-  *
-  * @enum:
-  *    FT_PropertyType
-  *
-  * @description:
-  *    A list of BDF property types.
-  *
-  * @values:
-  *    BDF_PROPERTY_TYPE_NONE ::
-  *      Value 0 is used to indicate a missing property.
-  *
-  *    BDF_PROPERTY_TYPE_ATOM ::
-  *      Property is a string atom.
-  *
-  *    BDF_PROPERTY_TYPE_INTEGER ::
-  *      Property is a 32-bit signed integer.
-  *
-  *    BDF_PROPERTY_TYPE_CARDINAL ::
-  *      Property is a 32-bit unsigned integer.
-  */
-  typedef enum  BDF_PropertyType_
-  {
-    BDF_PROPERTY_TYPE_NONE     = 0,
-    BDF_PROPERTY_TYPE_ATOM     = 1,
-    BDF_PROPERTY_TYPE_INTEGER  = 2,
-    BDF_PROPERTY_TYPE_CARDINAL = 3
-
-  } BDF_PropertyType;
-
-
- /**********************************************************************
-  *
-  * @type:
-  *    BDF_Property
-  *
-  * @description:
-  *    A handle to a @BDF_PropertyRec structure to model a given
-  *    BDF/PCF property.
-  */
-  typedef struct BDF_PropertyRec_*  BDF_Property;
-
-
- /**********************************************************************
-  *
-  * @struct:
-  *    BDF_PropertyRec
-  *
-  * @description:
-  *    This structure models a given BDF/PCF property.
-  *
-  * @fields:
-  *    type ::
-  *      The property type.
-  *
-  *    u.atom ::
-  *      The atom string, if type is @BDF_PROPERTY_TYPE_ATOM.
-  *
-  *    u.integer ::
-  *      A signed integer, if type is @BDF_PROPERTY_TYPE_INTEGER.
-  *
-  *    u.cardinal ::
-  *      An unsigned integer, if type is @BDF_PROPERTY_TYPE_CARDINAL.
-  */
-  typedef struct  BDF_PropertyRec_
-  {
-    BDF_PropertyType  type;
-    union {
-      const char*     atom;
-      FT_Int32        integer;
-      FT_UInt32       cardinal;
-
-    } u;
-
-  } BDF_PropertyRec;
-
-
- /**********************************************************************
-  *
-  * @function:
-  *    FT_Get_BDF_Charset_ID
-  *
-  * @description:
-  *    Retrieves a BDF font character set identity, according to
-  *    the BDF specification.
-  *
-  * @input:
-  *    face ::
-  *       A handle to the input face.
-  *
-  * @output:
-  *    acharset_encoding ::
-  *       Charset encoding, as a C string, owned by the face.
-  *
-  *    acharset_registry ::
-  *       Charset registry, as a C string, owned by the face.
-  *
-  * @return:
-  *   FreeType error code.  0 means success.
-  *
-  * @note:
-  *   This function only works with BDF faces, returning an error otherwise.
-  */
-  FT_EXPORT( FT_Error )
-  FT_Get_BDF_Charset_ID( FT_Face       face,
-                         const char*  *acharset_encoding,
-                         const char*  *acharset_registry );
-
-
- /**********************************************************************
-  *
-  * @function:
-  *    FT_Get_BDF_Property
-  *
-  * @description:
-  *    Retrieves a BDF property from a BDF or PCF font file.
-  *
-  * @input:
-  *    face :: A handle to the input face.
-  *
-  *    name :: The property name.
-  *
-  * @output:
-  *    aproperty :: The property.
-  *
-  * @return:
-  *   FreeType error code.  0 means success.
-  *
-  * @note:
-  *   This function works with BDF _and_ PCF fonts.  It returns an error
-  *   otherwise.  It also returns an error if the property is not in the
-  *   font.
-  *
-  *   In case of error, `aproperty->type' is always set to
-  *   @BDF_PROPERTY_TYPE_NONE.
-  */
-  FT_EXPORT( FT_Error )
-  FT_Get_BDF_Property( FT_Face           face,
-                       const char*       prop_name,
-                       BDF_PropertyRec  *aproperty );
-
- /* */
-
-FT_END_HEADER
-
-#endif /* __FTBDF_H__ */
-
-
-/* END */
diff --git a/CMU462/deps/freetype/include/freetype2/freetype/ftbitmap.h b/CMU462/deps/freetype/include/freetype2/freetype/ftbitmap.h
deleted file mode 100755
index 337d888..0000000
--- a/CMU462/deps/freetype/include/freetype2/freetype/ftbitmap.h
+++ /dev/null
@@ -1,206 +0,0 @@
-/***************************************************************************/
-/*                                                                         */
-/*  ftbitmap.h                                                             */
-/*                                                                         */
-/*    FreeType utility functions for converting 1bpp, 2bpp, 4bpp, and 8bpp */
-/*    bitmaps into 8bpp format (specification).                            */
-/*                                                                         */
-/*  Copyright 2004, 2005, 2006 by                                          */
-/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
-/*                                                                         */
-/*  This file is part of the FreeType project, and may only be used,       */
-/*  modified, and distributed under the terms of the FreeType project      */
-/*  license, LICENSE.TXT.  By continuing to use, modify, or distribute     */
-/*  this file you indicate that you have read the license and              */
-/*  understand and accept it fully.                                        */
-/*                                                                         */
-/***************************************************************************/
-
-
-#ifndef __FTBITMAP_H__
-#define __FTBITMAP_H__
-
-
-#include <ft2build.h>
-#include FT_FREETYPE_H
-
-#ifdef FREETYPE_H
-#error "freetype.h of FreeType 1 has been loaded!"
-#error "Please fix the directory search order for header files"
-#error "so that freetype.h of FreeType 2 is found first."
-#endif
-
-
-FT_BEGIN_HEADER
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Section>                                                             */
-  /*    bitmap_handling                                                    */
-  /*                                                                       */
-  /* <Title>                                                               */
-  /*    Bitmap Handling                                                    */
-  /*                                                                       */
-  /* <Abstract>                                                            */
-  /*    Handling FT_Bitmap objects.                                        */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    This section contains functions for converting FT_Bitmap objects.  */
-  /*                                                                       */
-  /*************************************************************************/
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Function>                                                            */
-  /*    FT_Bitmap_New                                                      */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    Initialize a pointer to an @FT_Bitmap structure.                   */
-  /*                                                                       */
-  /* <InOut>                                                               */
-  /*    abitmap :: A pointer to the bitmap structure.                      */
-  /*                                                                       */
-  FT_EXPORT( void )
-  FT_Bitmap_New( FT_Bitmap  *abitmap );
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Function>                                                            */
-  /*    FT_Bitmap_Copy                                                     */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    Copies an bitmap into another one.                                 */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    library :: A handle to a library object.                           */
-  /*                                                                       */
-  /*    source  :: A handle to the source bitmap.                          */
-  /*                                                                       */
-  /* <Output>                                                              */
-  /*    target  :: A handle to the target bitmap.                          */
-  /*                                                                       */
-  /* <Return>                                                              */
-  /*    FreeType error code.  0 means success.                             */
-  /*                                                                       */
-  FT_EXPORT( FT_Error )
-  FT_Bitmap_Copy( FT_Library        library,
-                  const FT_Bitmap  *source,
-                  FT_Bitmap        *target);
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Function>                                                            */
-  /*    FT_Bitmap_Embolden                                                 */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    Embolden a bitmap.  The new bitmap will be about `xStrength'       */
-  /*    pixels wider and `yStrength' pixels higher.  The left and bottom   */
-  /*    borders are kept unchanged.                                        */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    library   :: A handle to a library object.                         */
-  /*                                                                       */
-  /*    xStrength :: How strong the glyph is emboldened horizontally.      */
-  /*                 Expressed in 26.6 pixel format.                       */
-  /*                                                                       */
-  /*    yStrength :: How strong the glyph is emboldened vertically.        */
-  /*                 Expressed in 26.6 pixel format.                       */
-  /*                                                                       */
-  /* <InOut>                                                               */
-  /*    bitmap    :: A handle to the target bitmap.                        */
-  /*                                                                       */
-  /* <Return>                                                              */
-  /*    FreeType error code.  0 means success.                             */
-  /*                                                                       */
-  /* <Note>                                                                */
-  /*    The current implementation restricts `xStrength' to be less than   */
-  /*    or equal to 8 if bitmap is of pixel_mode @FT_PIXEL_MODE_MONO.      */
-  /*                                                                       */
-  /*    If you want to embolden the bitmap owned by a @FT_GlyphSlotRec,    */
-  /*    you should call `FT_GlyphSlot_Own_Bitmap' on the slot first.       */
-  /*                                                                       */
-  FT_EXPORT( FT_Error )
-  FT_Bitmap_Embolden( FT_Library  library,
-                      FT_Bitmap*  bitmap,
-                      FT_Pos      xStrength,
-                      FT_Pos      yStrength );
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Function>                                                            */
-  /*    FT_Bitmap_Convert                                                  */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    Convert a bitmap object with depth 1bpp, 2bpp, 4bpp, or 8bpp to a  */
-  /*    bitmap object with depth 8bpp, making the number of used bytes per */
-  /*    line (a.k.a. the `pitch') a multiple of `alignment'.               */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    library   :: A handle to a library object.                         */
-  /*                                                                       */
-  /*    source    :: The source bitmap.                                    */
-  /*                                                                       */
-  /*    alignment :: The pitch of the bitmap is a multiple of this         */
-  /*                 parameter.  Common values are 1, 2, or 4.             */
-  /*                                                                       */
-  /* <Output>                                                              */
-  /*    target    :: The target bitmap.                                    */
-  /*                                                                       */
-  /* <Return>                                                              */
-  /*    FreeType error code.  0 means success.                             */
-  /*                                                                       */
-  /* <Note>                                                                */
-  /*    It is possible to call @FT_Bitmap_Convert multiple times without   */
-  /*    calling @FT_Bitmap_Done (the memory is simply reallocated).        */
-  /*                                                                       */
-  /*    Use @FT_Bitmap_Done to finally remove the bitmap object.           */
-  /*                                                                       */
-  /*    The `library' argument is taken to have access to FreeType's       */
-  /*    memory handling functions.                                         */
-  /*                                                                       */
-  FT_EXPORT( FT_Error )
-  FT_Bitmap_Convert( FT_Library        library,
-                     const FT_Bitmap  *source,
-                     FT_Bitmap        *target,
-                     FT_Int            alignment );
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Function>                                                            */
-  /*    FT_Bitmap_Done                                                     */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    Destroy a bitmap object created with @FT_Bitmap_New.               */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    library :: A handle to a library object.                           */
-  /*                                                                       */
-  /*    bitmap  :: The bitmap object to be freed.                          */
-  /*                                                                       */
-  /* <Return>                                                              */
-  /*    FreeType error code.  0 means success.                             */
-  /*                                                                       */
-  /* <Note>                                                                */
-  /*    The `library' argument is taken to have access to FreeType's       */
-  /*    memory handling functions.                                         */
-  /*                                                                       */
-  FT_EXPORT( FT_Error )
-  FT_Bitmap_Done( FT_Library  library,
-                  FT_Bitmap  *bitmap );
-
-
-  /* */
-
-
-FT_END_HEADER
-
-#endif /* __FTBITMAP_H__ */
-
-
-/* END */
diff --git a/CMU462/deps/freetype/include/freetype2/freetype/ftcache.h b/CMU462/deps/freetype/include/freetype2/freetype/ftcache.h
deleted file mode 100755
index 721aa16..0000000
--- a/CMU462/deps/freetype/include/freetype2/freetype/ftcache.h
+++ /dev/null
@@ -1,1110 +0,0 @@
-/***************************************************************************/
-/*                                                                         */
-/*  ftcache.h                                                              */
-/*                                                                         */
-/*    FreeType Cache subsystem (specification).                            */
-/*                                                                         */
-/*  Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006, 2007 by             */
-/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
-/*                                                                         */
-/*  This file is part of the FreeType project, and may only be used,       */
-/*  modified, and distributed under the terms of the FreeType project      */
-/*  license, LICENSE.TXT.  By continuing to use, modify, or distribute     */
-/*  this file you indicate that you have read the license and              */
-/*  understand and accept it fully.                                        */
-/*                                                                         */
-/***************************************************************************/
-
-
-#ifndef __FTCACHE_H__
-#define __FTCACHE_H__
-
-
-#include <ft2build.h>
-#include FT_GLYPH_H
-
-
-FT_BEGIN_HEADER
-
-
-  /*************************************************************************
-   *
-   * <Section>
-   *    cache_subsystem
-   *
-   * <Title>
-   *    Cache Sub-System
-   *
-   * <Abstract>
-   *    How to cache face, size, and glyph data with FreeType 2.
-   *
-   * <Description>
-   *   This section describes the FreeType 2 cache sub-system, which is used
-   *   to limit the number of concurrently opened @FT_Face and @FT_Size
-   *   objects, as well as caching information like character maps and glyph
-   *   images while limiting their maximum memory usage.
-   *
-   *   Note that all types and functions begin with the `FTC_' prefix.
-   *
-   *   The cache is highly portable and thus doesn't know anything about the
-   *   fonts installed on your system, or how to access them.  This implies
-   *   the following scheme:
-   *
-   *   First, available or installed font faces are uniquely identified by
-   *   @FTC_FaceID values, provided to the cache by the client.  Note that
-   *   the cache only stores and compares these values, and doesn't try to
-   *   interpret them in any way.
-   *
-   *   Second, the cache calls, only when needed, a client-provided function
-   *   to convert a @FTC_FaceID into a new @FT_Face object.  The latter is
-   *   then completely managed by the cache, including its termination
-   *   through @FT_Done_Face.
-   *
-   *   Clients are free to map face IDs to anything else.  The most simple
-   *   usage is to associate them to a (pathname,face_index) pair that is
-   *   used to call @FT_New_Face.  However, more complex schemes are also
-   *   possible.
-   *
-   *   Note that for the cache to work correctly, the face ID values must be
-   *   *persistent*, which means that the contents they point to should not
-   *   change at runtime, or that their value should not become invalid.
-   *
-   *   If this is unavoidable (e.g., when a font is uninstalled at runtime),
-   *   you should call @FTC_Manager_RemoveFaceID as soon as possible, to let
-   *   the cache get rid of any references to the old @FTC_FaceID it may
-   *   keep internally.  Failure to do so will lead to incorrect behaviour
-   *   or even crashes.
-   *
-   *   To use the cache, start with calling @FTC_Manager_New to create a new
-   *   @FTC_Manager object, which models a single cache instance.  You can
-   *   then look up @FT_Face and @FT_Size objects with
-   *   @FTC_Manager_LookupFace and @FTC_Manager_LookupSize, respectively.
-   *
-   *   If you want to use the charmap caching, call @FTC_CMapCache_New, then
-   *   later use @FTC_CMapCache_Lookup to perform the equivalent of
-   *   @FT_Get_Char_Index, only much faster.
-   *
-   *   If you want to use the @FT_Glyph caching, call @FTC_ImageCache, then
-   *   later use @FTC_ImageCache_Lookup to retrieve the corresponding
-   *   @FT_Glyph objects from the cache.
-   *
-   *   If you need lots of small bitmaps, it is much more memory efficient
-   *   to call @FTC_SBitCache_New followed by @FTC_SBitCache_Lookup.  This
-   *   returns @FTC_SBitRec structures, which are used to store small
-   *   bitmaps directly.  (A small bitmap is one whose metrics and
-   *   dimensions all fit into 8-bit integers).
-   *
-   *   We hope to also provide a kerning cache in the near future.
-   *
-   *
-   * <Order>
-   *   FTC_Manager
-   *   FTC_FaceID
-   *   FTC_Face_Requester
-   *
-   *   FTC_Manager_New
-   *   FTC_Manager_Reset
-   *   FTC_Manager_Done
-   *   FTC_Manager_LookupFace
-   *   FTC_Manager_LookupSize
-   *   FTC_Manager_RemoveFaceID
-   *
-   *   FTC_Node
-   *   FTC_Node_Unref
-   *
-   *   FTC_ImageCache
-   *   FTC_ImageCache_New
-   *   FTC_ImageCache_Lookup
-   *
-   *   FTC_SBit
-   *   FTC_SBitCache
-   *   FTC_SBitCache_New
-   *   FTC_SBitCache_Lookup
-   *
-   *   FTC_CMapCache
-   *   FTC_CMapCache_New
-   *   FTC_CMapCache_Lookup
-   *
-   *************************************************************************/
-
-
-  /*************************************************************************/
-  /*************************************************************************/
-  /*************************************************************************/
-  /*****                                                               *****/
-  /*****                    BASIC TYPE DEFINITIONS                     *****/
-  /*****                                                               *****/
-  /*************************************************************************/
-  /*************************************************************************/
-  /*************************************************************************/
-
-
-  /*************************************************************************
-   *
-   * @type: FTC_FaceID
-   *
-   * @description:
-   *   An opaque pointer type that is used to identity face objects.  The
-   *   contents of such objects is application-dependent.
-   *
-   *   These pointers are typically used to point to a user-defined
-   *   structure containing a font file path, and face index.
-   *
-   * @note:
-   *   Never use NULL as a valid @FTC_FaceID.
-   *
-   *   Face IDs are passed by the client to the cache manager, which calls,
-   *   when needed, the @FTC_Face_Requester to translate them into new
-   *   @FT_Face objects.
-   *
-   *   If the content of a given face ID changes at runtime, or if the value
-   *   becomes invalid (e.g., when uninstalling a font), you should
-   *   immediately call @FTC_Manager_RemoveFaceID before any other cache
-   *   function.
-   *
-   *   Failure to do so will result in incorrect behaviour or even
-   *   memory leaks and crashes.
-   */
-  typedef struct FTC_FaceIDRec_*  FTC_FaceID;
-
-
-  /************************************************************************
-   *
-   * @functype:
-   *   FTC_Face_Requester
-   *
-   * @description:
-   *   A callback function provided by client applications.  It is used by
-   *   the cache manager to translate a given @FTC_FaceID into a new valid
-   *   @FT_Face object, on demand.
-   *
-   * <Input>
-   *   face_id ::
-   *     The face ID to resolve.
-   *
-   *   library ::
-   *     A handle to a FreeType library object.
-   *
-   *   req_data ::
-   *     Application-provided request data (see note below).
-   *
-   * <Output>
-   *   aface ::
-   *     A new @FT_Face handle.
-   *
-   * <Return>
-   *   FreeType error code.  0 means success.
-   *
-   * <Note>
-   *   The third parameter `req_data' is the same as the one passed by the
-   *   client when @FTC_Manager_New is called.
-   *
-   *   The face requester should not perform funny things on the returned
-   *   face object, like creating a new @FT_Size for it, or setting a
-   *   transformation through @FT_Set_Transform!
-   */
-  typedef FT_Error
-  (*FTC_Face_Requester)( FTC_FaceID  face_id,
-                         FT_Library  library,
-                         FT_Pointer  request_data,
-                         FT_Face*    aface );
-
- /* */
-
-#define FT_POINTER_TO_ULONG( p )  ( (FT_ULong)(FT_Pointer)(p) )
-
-#define FTC_FACE_ID_HASH( i )                                \
-          ((FT_UInt32)(( FT_POINTER_TO_ULONG( i ) >> 3 ) ^   \
-                       ( FT_POINTER_TO_ULONG( i ) << 7 ) ) )
-
-
-  /*************************************************************************/
-  /*************************************************************************/
-  /*************************************************************************/
-  /*****                                                               *****/
-  /*****                      CACHE MANAGER OBJECT                     *****/
-  /*****                                                               *****/
-  /*************************************************************************/
-  /*************************************************************************/
-  /*************************************************************************/
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Type>                                                                */
-  /*    FTC_Manager                                                        */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    This object corresponds to one instance of the cache-subsystem.    */
-  /*    It is used to cache one or more @FT_Face objects, along with       */
-  /*    corresponding @FT_Size objects.                                    */
-  /*                                                                       */
-  /*    The manager intentionally limits the total number of opened        */
-  /*    @FT_Face and @FT_Size objects to control memory usage.  See the    */
-  /*    `max_faces' and `max_sizes' parameters of @FTC_Manager_New.        */
-  /*                                                                       */
-  /*    The manager is also used to cache `nodes' of various types while   */
-  /*    limiting their total memory usage.                                 */
-  /*                                                                       */
-  /*    All limitations are enforced by keeping lists of managed objects   */
-  /*    in most-recently-used order, and flushing old nodes to make room   */
-  /*    for new ones.                                                      */
-  /*                                                                       */
-  typedef struct FTC_ManagerRec_*  FTC_Manager;
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Type>                                                                */
-  /*    FTC_Node                                                           */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    An opaque handle to a cache node object.  Each cache node is       */
-  /*    reference-counted.  A node with a count of 0 might be flushed      */
-  /*    out of a full cache whenever a lookup request is performed.        */
-  /*                                                                       */
-  /*    If you lookup nodes, you have the ability to `acquire' them, i.e., */
-  /*    to increment their reference count.  This will prevent the node    */
-  /*    from being flushed out of the cache until you explicitly `release' */
-  /*    it (see @FTC_Node_Unref).                                          */
-  /*                                                                       */
-  /*    See also @FTC_SBitCache_Lookup and @FTC_ImageCache_Lookup.         */
-  /*                                                                       */
-  typedef struct FTC_NodeRec_*  FTC_Node;
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Function>                                                            */
-  /*    FTC_Manager_New                                                    */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    Creates a new cache manager.                                       */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    library   :: The parent FreeType library handle to use.            */
-  /*                                                                       */
-  /*    max_faces :: Maximum number of opened @FT_Face objects managed by  */
-  /*                 this cache instance.  Use 0 for defaults.             */
-  /*                                                                       */
-  /*    max_sizes :: Maximum number of opened @FT_Size objects managed by  */
-  /*                 this cache instance.  Use 0 for defaults.             */
-  /*                                                                       */
-  /*    max_bytes :: Maximum number of bytes to use for cached data nodes. */
-  /*                 Use 0 for defaults.  Note that this value does not    */
-  /*                 account for managed @FT_Face and @FT_Size objects.    */
-  /*                                                                       */
-  /*    requester :: An application-provided callback used to translate    */
-  /*                 face IDs into real @FT_Face objects.                  */
-  /*                                                                       */
-  /*    req_data  :: A generic pointer that is passed to the requester     */
-  /*                 each time it is called (see @FTC_Face_Requester).     */
-  /*                                                                       */
-  /* <Output>                                                              */
-  /*    amanager  :: A handle to a new manager object.  0 in case of       */
-  /*                 failure.                                              */
-  /*                                                                       */
-  /* <Return>                                                              */
-  /*    FreeType error code.  0 means success.                             */
-  /*                                                                       */
-  FT_EXPORT( FT_Error )
-  FTC_Manager_New( FT_Library          library,
-                   FT_UInt             max_faces,
-                   FT_UInt             max_sizes,
-                   FT_ULong            max_bytes,
-                   FTC_Face_Requester  requester,
-                   FT_Pointer          req_data,
-                   FTC_Manager        *amanager );
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Function>                                                            */
-  /*    FTC_Manager_Reset                                                  */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    Empties a given cache manager.  This simply gets rid of all the    */
-  /*    currently cached @FT_Face and @FT_Size objects within the manager. */
-  /*                                                                       */
-  /* <InOut>                                                               */
-  /*    manager :: A handle to the manager.                                */
-  /*                                                                       */
-  FT_EXPORT( void )
-  FTC_Manager_Reset( FTC_Manager  manager );
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Function>                                                            */
-  /*    FTC_Manager_Done                                                   */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    Destroys a given manager after emptying it.                        */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    manager :: A handle to the target cache manager object.            */
-  /*                                                                       */
-  FT_EXPORT( void )
-  FTC_Manager_Done( FTC_Manager  manager );
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Function>                                                            */
-  /*    FTC_Manager_LookupFace                                             */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    Retrieves the @FT_Face object that corresponds to a given face ID  */
-  /*    through a cache manager.                                           */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    manager :: A handle to the cache manager.                          */
-  /*                                                                       */
-  /*    face_id :: The ID of the face object.                              */
-  /*                                                                       */
-  /* <Output>                                                              */
-  /*    aface   :: A handle to the face object.                            */
-  /*                                                                       */
-  /* <Return>                                                              */
-  /*    FreeType error code.  0 means success.                             */
-  /*                                                                       */
-  /* <Note>                                                                */
-  /*    The returned @FT_Face object is always owned by the manager.  You  */
-  /*    should never try to discard it yourself.                           */
-  /*                                                                       */
-  /*    The @FT_Face object doesn't necessarily have a current size object */
-  /*    (i.e., face->size can be 0).  If you need a specific `font size',  */
-  /*    use @FTC_Manager_LookupSize instead.                               */
-  /*                                                                       */
-  /*    Never change the face's transformation matrix (i.e., never call    */
-  /*    the @FT_Set_Transform function) on a returned face!  If you need   */
-  /*    to transform glyphs, do it yourself after glyph loading.           */
-  /*                                                                       */
-  /*    When you perform a lookup, out-of-memory errors are detected       */
-  /*    _within_ the lookup and force incremental flushes of the cache     */
-  /*    until enough memory is released for the lookup to succeed.         */
-  /*                                                                       */
-  /*    If a lookup fails with `FT_Err_Out_Of_Memory' the cache has        */
-  /*    already been completely flushed, and still no memory was available */
-  /*    for the operation.                                                 */
-  /*                                                                       */
-  FT_EXPORT( FT_Error )
-  FTC_Manager_LookupFace( FTC_Manager  manager,
-                          FTC_FaceID   face_id,
-                          FT_Face     *aface );
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Struct>                                                              */
-  /*    FTC_ScalerRec                                                      */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    A structure used to describe a given character size in either      */
-  /*    pixels or points to the cache manager.  See                        */
-  /*    @FTC_Manager_LookupSize.                                           */
-  /*                                                                       */
-  /* <Fields>                                                              */
-  /*    face_id :: The source face ID.                                     */
-  /*                                                                       */
-  /*    width   :: The character width.                                    */
-  /*                                                                       */
-  /*    height  :: The character height.                                   */
-  /*                                                                       */
-  /*    pixel   :: A Boolean.  If 1, the `width' and `height' fields are   */
-  /*               interpreted as integer pixel character sizes.           */
-  /*               Otherwise, they are expressed as 1/64th of points.      */
-  /*                                                                       */
-  /*    x_res   :: Only used when `pixel' is value 0 to indicate the       */
-  /*               horizontal resolution in dpi.                           */
-  /*                                                                       */
-  /*    y_res   :: Only used when `pixel' is value 0 to indicate the       */
-  /*               vertical resolution in dpi.                             */
-  /*                                                                       */
-  /* <Note>                                                                */
-  /*    This type is mainly used to retrieve @FT_Size objects through the  */
-  /*    cache manager.                                                     */
-  /*                                                                       */
-  typedef struct  FTC_ScalerRec_
-  {
-    FTC_FaceID  face_id;
-    FT_UInt     width;
-    FT_UInt     height;
-    FT_Int      pixel;
-    FT_UInt     x_res;
-    FT_UInt     y_res;
-
-  } FTC_ScalerRec, *FTC_Scaler;
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Function>                                                            */
-  /*    FTC_Manager_LookupSize                                             */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    Retrieve the @FT_Size object that corresponds to a given           */
-  /*    @FTC_ScalerRec pointer through a cache manager.                    */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    manager :: A handle to the cache manager.                          */
-  /*                                                                       */
-  /*    scaler  :: A scaler handle.                                        */
-  /*                                                                       */
-  /* <Output>                                                              */
-  /*    asize   :: A handle to the size object.                            */
-  /*                                                                       */
-  /* <Return>                                                              */
-  /*    FreeType error code.  0 means success.                             */
-  /*                                                                       */
-  /* <Note>                                                                */
-  /*    The returned @FT_Size object is always owned by the manager.  You  */
-  /*    should never try to discard it by yourself.                        */
-  /*                                                                       */
-  /*    You can access the parent @FT_Face object simply as `size->face'   */
-  /*    if you need it.  Note that this object is also owned by the        */
-  /*    manager.                                                           */
-  /*                                                                       */
-  /* <Note>                                                                */
-  /*    When you perform a lookup, out-of-memory errors are detected       */
-  /*    _within_ the lookup and force incremental flushes of the cache     */
-  /*    until enough memory is released for the lookup to succeed.         */
-  /*                                                                       */
-  /*    If a lookup fails with `FT_Err_Out_Of_Memory' the cache has        */
-  /*    already been completely flushed, and still no memory is available  */
-  /*    for the operation.                                                 */
-  /*                                                                       */
-  FT_EXPORT( FT_Error )
-  FTC_Manager_LookupSize( FTC_Manager  manager,
-                          FTC_Scaler   scaler,
-                          FT_Size     *asize );
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Function>                                                            */
-  /*    FTC_Node_Unref                                                     */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    Decrement a cache node's internal reference count.  When the count */
-  /*    reaches 0, it is not destroyed but becomes eligible for subsequent */
-  /*    cache flushes.                                                     */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    node    :: The cache node handle.                                  */
-  /*                                                                       */
-  /*    manager :: The cache manager handle.                               */
-  /*                                                                       */
-  FT_EXPORT( void )
-  FTC_Node_Unref( FTC_Node     node,
-                  FTC_Manager  manager );
-
-
-  /*************************************************************************
-   *
-   * @function:
-   *   FTC_Manager_RemoveFaceID
-   *
-   * @description:
-   *   A special function used to indicate to the cache manager that
-   *   a given @FTC_FaceID is no longer valid, either because its
-   *   content changed, or because it was deallocated or uninstalled.
-   *
-   * @input:
-   *   manager ::
-   *     The cache manager handle.
-   *
-   *   face_id ::
-   *     The @FTC_FaceID to be removed.
-   *
-   * @note:
-   *   This function flushes all nodes from the cache corresponding to this
-   *   `face_id', with the exception of nodes with a non-null reference
-   *   count.
-   *
-   *   Such nodes are however modified internally so as to never appear
-   *   in later lookups with the same `face_id' value, and to be immediately
-   *   destroyed when released by all their users.
-   *
-   */
-  FT_EXPORT( void )
-  FTC_Manager_RemoveFaceID( FTC_Manager  manager,
-                            FTC_FaceID   face_id );
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Section>                                                             */
-  /*    cache_subsystem                                                    */
-  /*                                                                       */
-  /*************************************************************************/
-
-  /*************************************************************************
-   *
-   * @type:
-   *   FTC_CMapCache
-   *
-   * @description:
-   *   An opaque handle used to model a charmap cache.  This cache is to
-   *   hold character codes -> glyph indices mappings.
-   *
-   */
-  typedef struct FTC_CMapCacheRec_*  FTC_CMapCache;
-
-
-  /*************************************************************************
-   *
-   * @function:
-   *   FTC_CMapCache_New
-   *
-   * @description:
-   *   Create a new charmap cache.
-   *
-   * @input:
-   *   manager ::
-   *     A handle to the cache manager.
-   *
-   * @output:
-   *   acache ::
-   *     A new cache handle.  NULL in case of error.
-   *
-   * @return:
-   *   FreeType error code.  0 means success.
-   *
-   * @note:
-   *   Like all other caches, this one will be destroyed with the cache
-   *   manager.
-   *
-   */
-  FT_EXPORT( FT_Error )
-  FTC_CMapCache_New( FTC_Manager     manager,
-                     FTC_CMapCache  *acache );
-
-
-  /************************************************************************
-   *
-   * @function:
-   *   FTC_CMapCache_Lookup
-   *
-   * @description:
-   *   Translate a character code into a glyph index, using the charmap
-   *   cache.
-   *
-   * @input:
-   *   cache ::
-   *     A charmap cache handle.
-   *
-   *   face_id ::
-   *     The source face ID.
-   *
-   *   cmap_index ::
-   *     The index of the charmap in the source face.
-   *
-   *   char_code ::
-   *     The character code (in the corresponding charmap).
-   *
-   * @return:
-   *    Glyph index.  0 means `no glyph'.
-   *
-   */
-  FT_EXPORT( FT_UInt )
-  FTC_CMapCache_Lookup( FTC_CMapCache  cache,
-                        FTC_FaceID     face_id,
-                        FT_Int         cmap_index,
-                        FT_UInt32      char_code );
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Section>                                                             */
-  /*    cache_subsystem                                                    */
-  /*                                                                       */
-  /*************************************************************************/
-
-
-  /*************************************************************************/
-  /*************************************************************************/
-  /*************************************************************************/
-  /*****                                                               *****/
-  /*****                       IMAGE CACHE OBJECT                      *****/
-  /*****                                                               *****/
-  /*************************************************************************/
-  /*************************************************************************/
-  /*************************************************************************/
-
-
-  /*************************************************************************
-   *
-   * @struct:
-   *   FTC_ImageTypeRec
-   *
-   * @description:
-   *   A structure used to model the type of images in a glyph cache.
-   *
-   * @fields:
-   *   face_id ::
-   *     The face ID.
-   *
-   *   width ::
-   *     The width in pixels.
-   *
-   *   height ::
-   *     The height in pixels.
-   *
-   *   flags ::
-   *     The load flags, as in @FT_Load_Glyph.
-   *
-   */
-  typedef struct  FTC_ImageTypeRec_
-  {
-    FTC_FaceID  face_id;
-    FT_Int      width;
-    FT_Int      height;
-    FT_Int32    flags;
-
-  } FTC_ImageTypeRec;
-
-
-  /*************************************************************************
-   *
-   * @type:
-   *   FTC_ImageType
-   *
-   * @description:
-   *   A handle to an @FTC_ImageTypeRec structure.
-   *
-   */
-  typedef struct FTC_ImageTypeRec_*  FTC_ImageType;
-
-
-  /* */
-
-
-#define FTC_IMAGE_TYPE_COMPARE( d1, d2 )      \
-          ( (d1)->face_id == (d2)->face_id && \
-            (d1)->width   == (d2)->width   && \
-            (d1)->flags   == (d2)->flags   )
-
-#define FTC_IMAGE_TYPE_HASH( d )                          \
-          (FT_UFast)( FTC_FACE_ID_HASH( (d)->face_id )  ^ \
-                      ( (d)->width << 8 ) ^ (d)->height ^ \
-                      ( (d)->flags << 4 )               )
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Type>                                                                */
-  /*    FTC_ImageCache                                                     */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    A handle to an glyph image cache object.  They are designed to     */
-  /*    hold many distinct glyph images while not exceeding a certain      */
-  /*    memory threshold.                                                  */
-  /*                                                                       */
-  typedef struct FTC_ImageCacheRec_*  FTC_ImageCache;
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Function>                                                            */
-  /*    FTC_ImageCache_New                                                 */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    Creates a new glyph image cache.                                   */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    manager :: The parent manager for the image cache.                 */
-  /*                                                                       */
-  /* <Output>                                                              */
-  /*    acache  :: A handle to the new glyph image cache object.           */
-  /*                                                                       */
-  /* <Return>                                                              */
-  /*    FreeType error code.  0 means success.                             */
-  /*                                                                       */
-  FT_EXPORT( FT_Error )
-  FTC_ImageCache_New( FTC_Manager      manager,
-                      FTC_ImageCache  *acache );
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Function>                                                            */
-  /*    FTC_ImageCache_Lookup                                              */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    Retrieves a given glyph image from a glyph image cache.            */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    cache  :: A handle to the source glyph image cache.                */
-  /*                                                                       */
-  /*    type   :: A pointer to a glyph image type descriptor.              */
-  /*                                                                       */
-  /*    gindex :: The glyph index to retrieve.                             */
-  /*                                                                       */
-  /* <Output>                                                              */
-  /*    aglyph :: The corresponding @FT_Glyph object.  0 in case of        */
-  /*              failure.                                                 */
-  /*                                                                       */
-  /*    anode  :: Used to return the address of of the corresponding cache */
-  /*              node after incrementing its reference count (see note    */
-  /*              below).                                                  */
-  /*                                                                       */
-  /* <Return>                                                              */
-  /*    FreeType error code.  0 means success.                             */
-  /*                                                                       */
-  /* <Note>                                                                */
-  /*    The returned glyph is owned and managed by the glyph image cache.  */
-  /*    Never try to transform or discard it manually!  You can however    */
-  /*    create a copy with @FT_Glyph_Copy and modify the new one.          */
-  /*                                                                       */
-  /*    If `anode' is _not_ NULL, it receives the address of the cache     */
-  /*    node containing the glyph image, after increasing its reference    */
-  /*    count.  This ensures that the node (as well as the @FT_Glyph) will */
-  /*    always be kept in the cache until you call @FTC_Node_Unref to      */
-  /*    `release' it.                                                      */
-  /*                                                                       */
-  /*    If `anode' is NULL, the cache node is left unchanged, which means  */
-  /*    that the @FT_Glyph could be flushed out of the cache on the next   */
-  /*    call to one of the caching sub-system APIs.  Don't assume that it  */
-  /*    is persistent!                                                     */
-  /*                                                                       */
-  FT_EXPORT( FT_Error )
-  FTC_ImageCache_Lookup( FTC_ImageCache  cache,
-                         FTC_ImageType   type,
-                         FT_UInt         gindex,
-                         FT_Glyph       *aglyph,
-                         FTC_Node       *anode );
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Function>                                                            */
-  /*    FTC_ImageCache_LookupScaler                                        */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    A variant of @FTC_ImageCache_Lookup that uses an @FTC_ScalerRec    */
-  /*    to specify the face ID and its size.                               */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    cache      :: A handle to the source glyph image cache.            */
-  /*                                                                       */
-  /*    scaler     :: A pointer to a scaler descriptor.                    */
-  /*                                                                       */
-  /*    load_flags :: The corresponding load flags.                        */
-  /*                                                                       */
-  /*    gindex     :: The glyph index to retrieve.                         */
-  /*                                                                       */
-  /* <Output>                                                              */
-  /*    aglyph     :: The corresponding @FT_Glyph object.  0 in case of    */
-  /*                  failure.                                             */
-  /*                                                                       */
-  /*    anode      :: Used to return the address of of the corresponding   */
-  /*                  cache node after incrementing its reference count    */
-  /*                  (see note below).                                    */
-  /*                                                                       */
-  /* <Return>                                                              */
-  /*    FreeType error code.  0 means success.                             */
-  /*                                                                       */
-  /* <Note>                                                                */
-  /*    The returned glyph is owned and managed by the glyph image cache.  */
-  /*    Never try to transform or discard it manually!  You can however    */
-  /*    create a copy with @FT_Glyph_Copy and modify the new one.          */
-  /*                                                                       */
-  /*    If `anode' is _not_ NULL, it receives the address of the cache     */
-  /*    node containing the glyph image, after increasing its reference    */
-  /*    count.  This ensures that the node (as well as the @FT_Glyph) will */
-  /*    always be kept in the cache until you call @FTC_Node_Unref to      */
-  /*    `release' it.                                                      */
-  /*                                                                       */
-  /*    If `anode' is NULL, the cache node is left unchanged, which means  */
-  /*    that the @FT_Glyph could be flushed out of the cache on the next   */
-  /*    call to one of the caching sub-system APIs.  Don't assume that it  */
-  /*    is persistent!                                                     */
-  /*                                                                       */
-  FT_EXPORT( FT_Error )
-  FTC_ImageCache_LookupScaler( FTC_ImageCache  cache,
-                               FTC_Scaler      scaler,
-                               FT_ULong        load_flags,
-                               FT_UInt         gindex,
-                               FT_Glyph       *aglyph,
-                               FTC_Node       *anode );
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Type>                                                                */
-  /*    FTC_SBit                                                           */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    A handle to a small bitmap descriptor.  See the @FTC_SBitRec       */
-  /*    structure for details.                                             */
-  /*                                                                       */
-  typedef struct FTC_SBitRec_*  FTC_SBit;
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Struct>                                                              */
-  /*    FTC_SBitRec                                                        */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    A very compact structure used to describe a small glyph bitmap.    */
-  /*                                                                       */
-  /* <Fields>                                                              */
-  /*    width     :: The bitmap width in pixels.                           */
-  /*                                                                       */
-  /*    height    :: The bitmap height in pixels.                          */
-  /*                                                                       */
-  /*    left      :: The horizontal distance from the pen position to the  */
-  /*                 left bitmap border (a.k.a. `left side bearing', or    */
-  /*                 `lsb').                                               */
-  /*                                                                       */
-  /*    top       :: The vertical distance from the pen position (on the   */
-  /*                 baseline) to the upper bitmap border (a.k.a. `top     */
-  /*                 side bearing').  The distance is positive for upwards */
-  /*                 Y coordinates.                                        */
-  /*                                                                       */
-  /*    format    :: The format of the glyph bitmap (monochrome or gray).  */
-  /*                                                                       */
-  /*    max_grays :: Maximum gray level value (in the range 1 to 255).     */
-  /*                                                                       */
-  /*    pitch     :: The number of bytes per bitmap line.  May be positive */
-  /*                 or negative.                                          */
-  /*                                                                       */
-  /*    xadvance  :: The horizontal advance width in pixels.               */
-  /*                                                                       */
-  /*    yadvance  :: The vertical advance height in pixels.                */
-  /*                                                                       */
-  /*    buffer    :: A pointer to the bitmap pixels.                       */
-  /*                                                                       */
-  typedef struct  FTC_SBitRec_
-  {
-    FT_Byte   width;
-    FT_Byte   height;
-    FT_Char   left;
-    FT_Char   top;
-
-    FT_Byte   format;
-    FT_Byte   max_grays;
-    FT_Short  pitch;
-    FT_Char   xadvance;
-    FT_Char   yadvance;
-
-    FT_Byte*  buffer;
-
-  } FTC_SBitRec;
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Type>                                                                */
-  /*    FTC_SBitCache                                                      */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    A handle to a small bitmap cache.  These are special cache objects */
-  /*    used to store small glyph bitmaps (and anti-aliased pixmaps) in a  */
-  /*    much more efficient way than the traditional glyph image cache     */
-  /*    implemented by @FTC_ImageCache.                                    */
-  /*                                                                       */
-  typedef struct FTC_SBitCacheRec_*  FTC_SBitCache;
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Function>                                                            */
-  /*    FTC_SBitCache_New                                                  */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    Creates a new cache to store small glyph bitmaps.                  */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    manager :: A handle to the source cache manager.                   */
-  /*                                                                       */
-  /* <Output>                                                              */
-  /*    acache  :: A handle to the new sbit cache.  NULL in case of error. */
-  /*                                                                       */
-  /* <Return>                                                              */
-  /*    FreeType error code.  0 means success.                             */
-  /*                                                                       */
-  FT_EXPORT( FT_Error )
-  FTC_SBitCache_New( FTC_Manager     manager,
-                     FTC_SBitCache  *acache );
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Function>                                                            */
-  /*    FTC_SBitCache_Lookup                                               */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    Looks up a given small glyph bitmap in a given sbit cache and      */
-  /*    `lock' it to prevent its flushing from the cache until needed.     */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    cache  :: A handle to the source sbit cache.                       */
-  /*                                                                       */
-  /*    type   :: A pointer to the glyph image type descriptor.            */
-  /*                                                                       */
-  /*    gindex :: The glyph index.                                         */
-  /*                                                                       */
-  /* <Output>                                                              */
-  /*    sbit   :: A handle to a small bitmap descriptor.                   */
-  /*                                                                       */
-  /*    anode  :: Used to return the address of of the corresponding cache */
-  /*              node after incrementing its reference count (see note    */
-  /*              below).                                                  */
-  /*                                                                       */
-  /* <Return>                                                              */
-  /*    FreeType error code.  0 means success.                             */
-  /*                                                                       */
-  /* <Note>                                                                */
-  /*    The small bitmap descriptor and its bit buffer are owned by the    */
-  /*    cache and should never be freed by the application.  They might    */
-  /*    as well disappear from memory on the next cache lookup, so don't   */
-  /*    treat them as persistent data.                                     */
-  /*                                                                       */
-  /*    The descriptor's `buffer' field is set to 0 to indicate a missing  */
-  /*    glyph bitmap.                                                      */
-  /*                                                                       */
-  /*    If `anode' is _not_ NULL, it receives the address of the cache     */
-  /*    node containing the bitmap, after increasing its reference count.  */
-  /*    This ensures that the node (as well as the image) will always be   */
-  /*    kept in the cache until you call @FTC_Node_Unref to `release' it.  */
-  /*                                                                       */
-  /*    If `anode' is NULL, the cache node is left unchanged, which means  */
-  /*    that the bitmap could be flushed out of the cache on the next      */
-  /*    call to one of the caching sub-system APIs.  Don't assume that it  */
-  /*    is persistent!                                                     */
-  /*                                                                       */
-  FT_EXPORT( FT_Error )
-  FTC_SBitCache_Lookup( FTC_SBitCache    cache,
-                        FTC_ImageType    type,
-                        FT_UInt          gindex,
-                        FTC_SBit        *sbit,
-                        FTC_Node        *anode );
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Function>                                                            */
-  /*    FTC_SBitCache_LookupScaler                                         */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    A variant of @FTC_SBitCache_Lookup that uses an @FTC_ScalerRec     */
-  /*    to specify the face ID and its size.                               */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    cache      :: A handle to the source sbit cache.                   */
-  /*                                                                       */
-  /*    scaler     :: A pointer to the scaler descriptor.                  */
-  /*                                                                       */
-  /*    load_flags :: The corresponding load flags.                        */
-  /*                                                                       */
-  /*    gindex     :: The glyph index.                                     */
-  /*                                                                       */
-  /* <Output>                                                              */
-  /*    sbit       :: A handle to a small bitmap descriptor.               */
-  /*                                                                       */
-  /*    anode      :: Used to return the address of of the corresponding   */
-  /*                  cache node after incrementing its reference count    */
-  /*                  (see note below).                                    */
-  /*                                                                       */
-  /* <Return>                                                              */
-  /*    FreeType error code.  0 means success.                             */
-  /*                                                                       */
-  /* <Note>                                                                */
-  /*    The small bitmap descriptor and its bit buffer are owned by the    */
-  /*    cache and should never be freed by the application.  They might    */
-  /*    as well disappear from memory on the next cache lookup, so don't   */
-  /*    treat them as persistent data.                                     */
-  /*                                                                       */
-  /*    The descriptor's `buffer' field is set to 0 to indicate a missing  */
-  /*    glyph bitmap.                                                      */
-  /*                                                                       */
-  /*    If `anode' is _not_ NULL, it receives the address of the cache     */
-  /*    node containing the bitmap, after increasing its reference count.  */
-  /*    This ensures that the node (as well as the image) will always be   */
-  /*    kept in the cache until you call @FTC_Node_Unref to `release' it.  */
-  /*                                                                       */
-  /*    If `anode' is NULL, the cache node is left unchanged, which means  */
-  /*    that the bitmap could be flushed out of the cache on the next      */
-  /*    call to one of the caching sub-system APIs.  Don't assume that it  */
-  /*    is persistent!                                                     */
-  /*                                                                       */
-  FT_EXPORT( FT_Error )
-  FTC_SBitCache_LookupScaler( FTC_SBitCache  cache,
-                              FTC_Scaler     scaler,
-                              FT_ULong       load_flags,
-                              FT_UInt        gindex,
-                              FTC_SBit      *sbit,
-                              FTC_Node      *anode );
-
-
- /* */
-
-#ifdef FT_CONFIG_OPTION_OLD_INTERNALS
-
-  /*@***********************************************************************/
-  /*                                                                       */
-  /* <Struct>                                                              */
-  /*    FTC_FontRec                                                        */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    A simple structure used to describe a given `font' to the cache    */
-  /*    manager.  Note that a `font' is the combination of a given face    */
-  /*    with a given character size.                                       */
-  /*                                                                       */
-  /* <Fields>                                                              */
-  /*    face_id    :: The ID of the face to use.                           */
-  /*                                                                       */
-  /*    pix_width  :: The character width in integer pixels.               */
-  /*                                                                       */
-  /*    pix_height :: The character height in integer pixels.              */
-  /*                                                                       */
-  typedef struct  FTC_FontRec_
-  {
-    FTC_FaceID  face_id;
-    FT_UShort   pix_width;
-    FT_UShort   pix_height;
-
-  } FTC_FontRec;
-
-
-  /* */
-
-
-#define FTC_FONT_COMPARE( f1, f2 )                  \
-          ( (f1)->face_id    == (f2)->face_id    && \
-            (f1)->pix_width  == (f2)->pix_width  && \
-            (f1)->pix_height == (f2)->pix_height )
-
-#define FTC_FONT_HASH( f )                              \
-          (FT_UInt32)( FTC_FACE_ID_HASH((f)->face_id) ^ \
-                       ((f)->pix_width << 8)          ^ \
-                       ((f)->pix_height)              )
-
-  typedef FTC_FontRec*  FTC_Font;
-
-
-  FT_EXPORT( FT_Error )
-  FTC_Manager_Lookup_Face( FTC_Manager  manager,
-                           FTC_FaceID   face_id,
-                           FT_Face     *aface );
-
-  FT_EXPORT( FT_Error )
-  FTC_Manager_Lookup_Size( FTC_Manager  manager,
-                           FTC_Font     font,
-                           FT_Face     *aface,
-                           FT_Size     *asize );
-
-#endif /* FT_CONFIG_OPTION_OLD_INTERNALS */
-
-
- /* */
-
-FT_END_HEADER
-
-#endif /* __FTCACHE_H__ */
-
-
-/* END */
diff --git a/CMU462/deps/freetype/include/freetype2/freetype/ftchapters.h b/CMU462/deps/freetype/include/freetype2/freetype/ftchapters.h
deleted file mode 100755
index bd812c8..0000000
--- a/CMU462/deps/freetype/include/freetype2/freetype/ftchapters.h
+++ /dev/null
@@ -1,100 +0,0 @@
-/***************************************************************************/
-/*                                                                         */
-/* This file defines the structure of the FreeType reference.              */
-/* It is used by the python script which generates the HTML files.         */
-/*                                                                         */
-/***************************************************************************/
-
-
-/***************************************************************************/
-/*                                                                         */
-/* <Chapter>                                                               */
-/*    general_remarks                                                      */
-/*                                                                         */
-/* <Title>                                                                 */
-/*    General Remarks                                                      */
-/*                                                                         */
-/* <Sections>                                                              */
-/*    user_allocation                                                      */
-/*                                                                         */
-/***************************************************************************/
-
-
-/***************************************************************************/
-/*                                                                         */
-/* <Chapter>                                                               */
-/*    core_api                                                             */
-/*                                                                         */
-/* <Title>                                                                 */
-/*    Core API                                                             */
-/*                                                                         */
-/* <Sections>                                                              */
-/*    version                                                              */
-/*    basic_types                                                          */
-/*    base_interface                                                       */
-/*    glyph_management                                                     */
-/*    mac_specific                                                         */
-/*    sizes_management                                                     */
-/*    header_file_macros                                                   */
-/*                                                                         */
-/***************************************************************************/
-
-
-/***************************************************************************/
-/*                                                                         */
-/* <Chapter>                                                               */
-/*    format_specific                                                      */
-/*                                                                         */
-/* <Title>                                                                 */
-/*    Format-Specific API                                                  */
-/*                                                                         */
-/* <Sections>                                                              */
-/*    multiple_masters                                                     */
-/*    truetype_tables                                                      */
-/*    type1_tables                                                         */
-/*    sfnt_names                                                           */
-/*    bdf_fonts                                                            */
-/*    pfr_fonts                                                            */
-/*    winfnt_fonts                                                         */
-/*    font_formats                                                         */
-/*    gasp_table                                                           */
-/*                                                                         */
-/***************************************************************************/
-
-
-/***************************************************************************/
-/*                                                                         */
-/* <Chapter>                                                               */
-/*    cache_subsystem                                                      */
-/*                                                                         */
-/* <Title>                                                                 */
-/*    Cache Sub-System                                                     */
-/*                                                                         */
-/* <Sections>                                                              */
-/*    cache_subsystem                                                      */
-/*                                                                         */
-/***************************************************************************/
-
-
-/***************************************************************************/
-/*                                                                         */
-/* <Chapter>                                                               */
-/*    support_api                                                          */
-/*                                                                         */
-/* <Title>                                                                 */
-/*    Support API                                                          */
-/*                                                                         */
-/* <Sections>                                                              */
-/*    computations                                                         */
-/*    list_processing                                                      */
-/*    outline_processing                                                   */
-/*    bitmap_handling                                                      */
-/*    raster                                                               */
-/*    glyph_stroker                                                        */
-/*    system_interface                                                     */
-/*    module_management                                                    */
-/*    gzip                                                                 */
-/*    lzw                                                                  */
-/*    lcd_filtering                                                        */
-/*                                                                         */
-/***************************************************************************/
diff --git a/CMU462/deps/freetype/include/freetype2/freetype/fterrors.h b/CMU462/deps/freetype/include/freetype2/freetype/fterrors.h
deleted file mode 100755
index 6600dad..0000000
--- a/CMU462/deps/freetype/include/freetype2/freetype/fterrors.h
+++ /dev/null
@@ -1,206 +0,0 @@
-/***************************************************************************/
-/*                                                                         */
-/*  fterrors.h                                                             */
-/*                                                                         */
-/*    FreeType error code handling (specification).                        */
-/*                                                                         */
-/*  Copyright 1996-2001, 2002, 2004, 2007 by                               */
-/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
-/*                                                                         */
-/*  This file is part of the FreeType project, and may only be used,       */
-/*  modified, and distributed under the terms of the FreeType project      */
-/*  license, LICENSE.TXT.  By continuing to use, modify, or distribute     */
-/*  this file you indicate that you have read the license and              */
-/*  understand and accept it fully.                                        */
-/*                                                                         */
-/***************************************************************************/
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* This special header file is used to define the handling of FT2        */
-  /* enumeration constants.  It can also be used to generate error message */
-  /* strings with a small macro trick explained below.                     */
-  /*                                                                       */
-  /* I - Error Formats                                                     */
-  /* -----------------                                                     */
-  /*                                                                       */
-  /*   The configuration macro FT_CONFIG_OPTION_USE_MODULE_ERRORS can be   */
-  /*   defined in ftoption.h in order to make the higher byte indicate     */
-  /*   the module where the error has happened (this is not compatible     */
-  /*   with standard builds of FreeType 2).  You can then use the macro    */
-  /*   FT_ERROR_BASE macro to extract the generic error code from an       */
-  /*   FT_Error value.                                                     */
-  /*                                                                       */
-  /*                                                                       */
-  /* II - Error Message strings                                            */
-  /* --------------------------                                            */
-  /*                                                                       */
-  /*   The error definitions below are made through special macros that    */
-  /*   allow client applications to build a table of error message strings */
-  /*   if they need it.  The strings are not included in a normal build of */
-  /*   FreeType 2 to save space (most client applications do not use       */
-  /*   them).                                                              */
-  /*                                                                       */
-  /*   To do so, you have to define the following macros before including  */
-  /*   this file:                                                          */
-  /*                                                                       */
-  /*   FT_ERROR_START_LIST ::                                              */
-  /*     This macro is called before anything else to define the start of  */
-  /*     the error list.  It is followed by several FT_ERROR_DEF calls     */
-  /*     (see below).                                                      */
-  /*                                                                       */
-  /*   FT_ERROR_DEF( e, v, s ) ::                                          */
-  /*     This macro is called to define one single error.                  */
-  /*     `e' is the error code identifier (e.g. FT_Err_Invalid_Argument).  */
-  /*     `v' is the error numerical value.                                 */
-  /*     `s' is the corresponding error string.                            */
-  /*                                                                       */
-  /*   FT_ERROR_END_LIST ::                                                */
-  /*     This macro ends the list.                                         */
-  /*                                                                       */
-  /*   Additionally, you have to undefine __FTERRORS_H__ before #including */
-  /*   this file.                                                          */
-  /*                                                                       */
-  /*   Here is a simple example:                                           */
-  /*                                                                       */
-  /*     {                                                                 */
-  /*       #undef __FTERRORS_H__                                           */
-  /*       #define FT_ERRORDEF( e, v, s )  { e, s },                       */
-  /*       #define FT_ERROR_START_LIST     {                               */
-  /*       #define FT_ERROR_END_LIST       { 0, 0 } };                     */
-  /*                                                                       */
-  /*       const struct                                                    */
-  /*       {                                                               */
-  /*         int          err_code;                                        */
-  /*         const char*  err_msg;                                         */
-  /*       } ft_errors[] =                                                 */
-  /*                                                                       */
-  /*       #include FT_ERRORS_H                                            */
-  /*     }                                                                 */
-  /*                                                                       */
-  /*************************************************************************/
-
-
-#ifndef __FTERRORS_H__
-#define __FTERRORS_H__
-
-
-  /* include module base error codes */
-#include FT_MODULE_ERRORS_H
-
-
-  /*******************************************************************/
-  /*******************************************************************/
-  /*****                                                         *****/
-  /*****                       SETUP MACROS                      *****/
-  /*****                                                         *****/
-  /*******************************************************************/
-  /*******************************************************************/
-
-
-#undef  FT_NEED_EXTERN_C
-
-#undef  FT_ERR_XCAT
-#undef  FT_ERR_CAT
-
-#define FT_ERR_XCAT( x, y )  x ## y
-#define FT_ERR_CAT( x, y )   FT_ERR_XCAT( x, y )
-
-
-  /* FT_ERR_PREFIX is used as a prefix for error identifiers. */
-  /* By default, we use `FT_Err_'.                            */
-  /*                                                          */
-#ifndef FT_ERR_PREFIX
-#define FT_ERR_PREFIX  FT_Err_
-#endif
-
-
-  /* FT_ERR_BASE is used as the base for module-specific errors. */
-  /*                                                             */
-#ifdef FT_CONFIG_OPTION_USE_MODULE_ERRORS
-
-#ifndef FT_ERR_BASE
-#define FT_ERR_BASE  FT_Mod_Err_Base
-#endif
-
-#else
-
-#undef FT_ERR_BASE
-#define FT_ERR_BASE  0
-
-#endif /* FT_CONFIG_OPTION_USE_MODULE_ERRORS */
-
-
-  /* If FT_ERRORDEF is not defined, we need to define a simple */
-  /* enumeration type.                                         */
-  /*                                                           */
-#ifndef FT_ERRORDEF
-
-#define FT_ERRORDEF( e, v, s )  e = v,
-#define FT_ERROR_START_LIST     enum {
-#define FT_ERROR_END_LIST       FT_ERR_CAT( FT_ERR_PREFIX, Max ) };
-
-#ifdef __cplusplus
-#define FT_NEED_EXTERN_C
-  extern "C" {
-#endif
-
-#endif /* !FT_ERRORDEF */
-
-
-  /* this macro is used to define an error */
-#define FT_ERRORDEF_( e, v, s )   \
-          FT_ERRORDEF( FT_ERR_CAT( FT_ERR_PREFIX, e ), v + FT_ERR_BASE, s )
-
-  /* this is only used for <module>_Err_Ok, which must be 0! */
-#define FT_NOERRORDEF_( e, v, s ) \
-          FT_ERRORDEF( FT_ERR_CAT( FT_ERR_PREFIX, e ), v, s )
-
-
-#ifdef FT_ERROR_START_LIST
-  FT_ERROR_START_LIST
-#endif
-
-
-  /* now include the error codes */
-#include FT_ERROR_DEFINITIONS_H
-
-
-#ifdef FT_ERROR_END_LIST
-  FT_ERROR_END_LIST
-#endif
-
-
-  /*******************************************************************/
-  /*******************************************************************/
-  /*****                                                         *****/
-  /*****                      SIMPLE CLEANUP                     *****/
-  /*****                                                         *****/
-  /*******************************************************************/
-  /*******************************************************************/
-
-#ifdef FT_NEED_EXTERN_C
-  }
-#endif
-
-#undef FT_ERROR_START_LIST
-#undef FT_ERROR_END_LIST
-
-#undef FT_ERRORDEF
-#undef FT_ERRORDEF_
-#undef FT_NOERRORDEF_
-
-#undef FT_NEED_EXTERN_C
-#undef FT_ERR_CONCAT
-#undef FT_ERR_BASE
-
-  /* FT_KEEP_ERR_PREFIX is needed for ftvalid.h */
-#ifndef FT_KEEP_ERR_PREFIX
-#undef FT_ERR_PREFIX
-#endif
-
-#endif /* __FTERRORS_H__ */
-
-
-/* END */
diff --git a/CMU462/deps/freetype/include/freetype2/freetype/ftgasp.h b/CMU462/deps/freetype/include/freetype2/freetype/ftgasp.h
deleted file mode 100755
index 97cd330..0000000
--- a/CMU462/deps/freetype/include/freetype2/freetype/ftgasp.h
+++ /dev/null
@@ -1,113 +0,0 @@
-/***************************************************************************/
-/*                                                                         */
-/*  ftgasp.h                                                               */
-/*                                                                         */
-/*    Access of TrueType's `gasp' table (specification).                   */
-/*                                                                         */
-/*  Copyright 2007 by                                                      */
-/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
-/*                                                                         */
-/*  This file is part of the FreeType project, and may only be used,       */
-/*  modified, and distributed under the terms of the FreeType project      */
-/*  license, LICENSE.TXT.  By continuing to use, modify, or distribute     */
-/*  this file you indicate that you have read the license and              */
-/*  understand and accept it fully.                                        */
-/*                                                                         */
-/***************************************************************************/
-
-
-#ifndef _FT_GASP_H_
-#define _FT_GASP_H_
-
-#include <ft2build.h>
-#include FT_FREETYPE_H
-
-  /***************************************************************************
-   *
-   * @section:
-   *   gasp_table
-   *
-   * @title:
-   *   Gasp Table
-   *
-   * @abstract:
-   *   Retrieving TrueType `gasp' table entries
-   *
-   * @description:
-   *   The function @FT_Get_Gasp can be used to query a TrueType or OpenType
-   *   font for specific entries in their `gasp' table, if any.  This is
-   *   mainly useful when implementing native TrueType hinting with the
-   *   bytecode interpreter to duplicate the Windows text rendering results.
-   */
-
-  /*************************************************************************
-   *
-   * @enum:
-   *   FT_GASP_XXX
-   *
-   * @description:
-   *   A list of values and/or bit-flags returned by the @FT_Get_Gasp
-   *   function.
-   *
-   * @values:
-   *   FT_GASP_NO_TABLE ::
-   *     This special value means that there is no GASP table in this face.
-   *     It is up to the client to decide what to do.
-   *
-   *   FT_GASP_DO_GRIDFIT ::
-   *     Grid-fitting and hinting should be performed at the specified ppem.
-   *     This *really* means TrueType bytecode interpretation.
-   *
-   *   FT_GASP_DO_GRAY ::
-   *     Anti-aliased rendering should be performed at the specified ppem.
-   *
-   *   FT_GASP_SYMMETRIC_SMOOTHING ::
-   *     Smoothing along multiple axes must be used with ClearType.
-   *
-   *   FT_GASP_SYMMETRIC_GRIDFIT ::
-   *     Grid-fitting must be used with ClearType's symmetric smoothing.
-   *
-   * @note:
-   *   `ClearType' is Microsoft's implementation of LCD rendering, partly
-   *   protected by patents.
-   *
-   * @since:
-   *   2.3.0
-   */
-#define FT_GASP_NO_TABLE               -1
-#define FT_GASP_DO_GRIDFIT           0x01
-#define FT_GASP_DO_GRAY              0x02
-#define FT_GASP_SYMMETRIC_SMOOTHING  0x08
-#define FT_GASP_SYMMETRIC_GRIDFIT    0x10
-
-
-  /*************************************************************************
-   *
-   * @func:
-   *   FT_Get_Gasp
-   *
-   * @description:
-   *   Read the `gasp' table from a TrueType or OpenType font file and
-   *   return the entry corresponding to a given character pixel size.
-   *
-   * @input:
-   *   face :: The source face handle.
-   *   ppem :: The vertical character pixel size.
-   *
-   * @return:
-   *   Bit flags (see @FT_GASP_XXX), or @FT_GASP_NO_TABLE is there is no
-   *   `gasp' table in the face.
-   *
-   * @since:
-   *   2.3.0
-   */
-  FT_EXPORT( FT_Int )
-  FT_Get_Gasp( FT_Face  face,
-               FT_UInt  ppem );
-
-/* */
-
-#endif /* _FT_GASP_H_ */
-
-
-/* END */
diff --git a/CMU462/deps/freetype/include/freetype2/freetype/ftglyph.h b/CMU462/deps/freetype/include/freetype2/freetype/ftglyph.h
deleted file mode 100755
index 08058da..0000000
--- a/CMU462/deps/freetype/include/freetype2/freetype/ftglyph.h
+++ /dev/null
@@ -1,575 +0,0 @@
-/***************************************************************************/
-/*                                                                         */
-/*  ftglyph.h                                                              */
-/*                                                                         */
-/*    FreeType convenience functions to handle glyphs (specification).     */
-/*                                                                         */
-/*  Copyright 1996-2001, 2002, 2003, 2006 by                               */
-/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
-/*                                                                         */
-/*  This file is part of the FreeType project, and may only be used,       */
-/*  modified, and distributed under the terms of the FreeType project      */
-/*  license, LICENSE.TXT.  By continuing to use, modify, or distribute     */
-/*  this file you indicate that you have read the license and              */
-/*  understand and accept it fully.                                        */
-/*                                                                         */
-/***************************************************************************/
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* This file contains the definition of several convenience functions    */
-  /* that can be used by client applications to easily retrieve glyph      */
-  /* bitmaps and outlines from a given face.                               */
-  /*                                                                       */
-  /* These functions should be optional if you are writing a font server   */
-  /* or text layout engine on top of FreeType.  However, they are pretty   */
-  /* handy for many other simple uses of the library.                      */
-  /*                                                                       */
-  /*************************************************************************/
-
-
-#ifndef __FTGLYPH_H__
-#define __FTGLYPH_H__
-
-
-#include <ft2build.h>
-#include FT_FREETYPE_H
-
-#ifdef FREETYPE_H
-#error "freetype.h of FreeType 1 has been loaded!"
-#error "Please fix the directory search order for header files"
-#error "so that freetype.h of FreeType 2 is found first."
-#endif
-
-
-FT_BEGIN_HEADER
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Section>                                                             */
-  /*    glyph_management                                                   */
-  /*                                                                       */
-  /* <Title>                                                               */
-  /*    Glyph Management                                                   */
-  /*                                                                       */
-  /* <Abstract>                                                            */
-  /*    Generic interface to manage individual glyph data.                 */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    This section contains definitions used to manage glyph data        */
-  /*    through generic FT_Glyph objects.  Each of them can contain a      */
-  /*    bitmap, a vector outline, or even images in other formats.         */
-  /*                                                                       */
-  /*************************************************************************/
-
-
-  /* forward declaration to a private type */
-  typedef struct FT_Glyph_Class_  FT_Glyph_Class;
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Type>                                                                */
-  /*    FT_Glyph                                                           */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    Handle to an object used to model generic glyph images.  It is a   */
-  /*    pointer to the @FT_GlyphRec structure and can contain a glyph      */
-  /*    bitmap or pointer.                                                 */
-  /*                                                                       */
-  /* <Note>                                                                */
-  /*    Glyph objects are not owned by the library.  You must thus release */
-  /*    them manually (through @FT_Done_Glyph) _before_ calling            */
-  /*    @FT_Done_FreeType.                                                 */
-  /*                                                                       */
-  typedef struct FT_GlyphRec_*  FT_Glyph;
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Struct>                                                              */
-  /*    FT_GlyphRec                                                        */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    The root glyph structure contains a given glyph image plus its     */
-  /*    advance width in 16.16 fixed float format.                         */
-  /*                                                                       */
-  /* <Fields>                                                              */
-  /*    library :: A handle to the FreeType library object.                */
-  /*                                                                       */
-  /*    clazz   :: A pointer to the glyph's class.  Private.               */
-  /*                                                                       */
-  /*    format  :: The format of the glyph's image.                        */
-  /*                                                                       */
-  /*    advance :: A 16.16 vector that gives the glyph's advance width.    */
-  /*                                                                       */
-  typedef struct  FT_GlyphRec_
-  {
-    FT_Library             library;
-    const FT_Glyph_Class*  clazz;
-    FT_Glyph_Format        format;
-    FT_Vector              advance;
-
-  } FT_GlyphRec;
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Type>                                                                */
-  /*    FT_BitmapGlyph                                                     */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    A handle to an object used to model a bitmap glyph image.  This is */
-  /*    a sub-class of @FT_Glyph, and a pointer to @FT_BitmapGlyphRec.     */
-  /*                                                                       */
-  typedef struct FT_BitmapGlyphRec_*  FT_BitmapGlyph;
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Struct>                                                              */
-  /*    FT_BitmapGlyphRec                                                  */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    A structure used for bitmap glyph images.  This really is a        */
-  /*    `sub-class' of @FT_GlyphRec.                                       */
-  /*                                                                       */
-  /* <Fields>                                                              */
-  /*    root   :: The root @FT_Glyph fields.                               */
-  /*                                                                       */
-  /*    left   :: The left-side bearing, i.e., the horizontal distance     */
-  /*              from the current pen position to the left border of the  */
-  /*              glyph bitmap.                                            */
-  /*                                                                       */
-  /*    top    :: The top-side bearing, i.e., the vertical distance from   */
-  /*              the current pen position to the top border of the glyph  */
-  /*              bitmap.  This distance is positive for upwards-y!        */
-  /*                                                                       */
-  /*    bitmap :: A descriptor for the bitmap.                             */
-  /*                                                                       */
-  /* <Note>                                                                */
-  /*    You can typecast an @FT_Glyph to @FT_BitmapGlyph if you have       */
-  /*    `glyph->format == FT_GLYPH_FORMAT_BITMAP'.  This lets you access   */
-  /*    the bitmap's contents easily.                                      */
-  /*                                                                       */
-  /*    The corresponding pixel buffer is always owned by @FT_BitmapGlyph  */
-  /*    and is thus created and destroyed with it.                         */
-  /*                                                                       */
-  typedef struct  FT_BitmapGlyphRec_
-  {
-    FT_GlyphRec  root;
-    FT_Int       left;
-    FT_Int       top;
-    FT_Bitmap    bitmap;
-
-  } FT_BitmapGlyphRec;
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Type>                                                                */
-  /*    FT_OutlineGlyph                                                    */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    A handle to an object used to model an outline glyph image.  This  */
-  /*    is a sub-class of @FT_Glyph, and a pointer to @FT_OutlineGlyphRec. */
-  /*                                                                       */
-  typedef struct FT_OutlineGlyphRec_*  FT_OutlineGlyph;
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Struct>                                                              */
-  /*    FT_OutlineGlyphRec                                                 */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    A structure used for outline (vectorial) glyph images.  This       */
-  /*    really is a `sub-class' of @FT_GlyphRec.                           */
-  /*                                                                       */
-  /* <Fields>                                                              */
-  /*    root    :: The root @FT_Glyph fields.                              */
-  /*                                                                       */
-  /*    outline :: A descriptor for the outline.                           */
-  /*                                                                       */
-  /* <Note>                                                                */
-  /*    You can typecast a @FT_Glyph to @FT_OutlineGlyph if you have       */
-  /*    `glyph->format == FT_GLYPH_FORMAT_OUTLINE'.  This lets you access  */
-  /*    the outline's content easily.                                      */
-  /*                                                                       */
-  /*    As the outline is extracted from a glyph slot, its coordinates are */
-  /*    expressed normally in 26.6 pixels, unless the flag                 */
-  /*    @FT_LOAD_NO_SCALE was used in @FT_Load_Glyph() or @FT_Load_Char(). */
-  /*                                                                       */
-  /*    The outline's tables are always owned by the object and are        */
-  /*    destroyed with it.                                                 */
-  /*                                                                       */
-  typedef struct  FT_OutlineGlyphRec_
-  {
-    FT_GlyphRec  root;
-    FT_Outline   outline;
-
-  } FT_OutlineGlyphRec;
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Function>                                                            */
-  /*    FT_Get_Glyph                                                       */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    A function used to extract a glyph image from a slot.              */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    slot   :: A handle to the source glyph slot.                       */
-  /*                                                                       */
-  /* <Output>                                                              */
-  /*    aglyph :: A handle to the glyph object.                            */
-  /*                                                                       */
-  /* <Return>                                                              */
-  /*    FreeType error code.  0 means success.                             */
-  /*                                                                       */
-  FT_EXPORT( FT_Error )
-  FT_Get_Glyph( FT_GlyphSlot  slot,
-                FT_Glyph     *aglyph );
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Function>                                                            */
-  /*    FT_Glyph_Copy                                                      */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    A function used to copy a glyph image.  Note that the created      */
-  /*    @FT_Glyph object must be released with @FT_Done_Glyph.             */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    source :: A handle to the source glyph object.                     */
-  /*                                                                       */
-  /* <Output>                                                              */
-  /*    target :: A handle to the target glyph object.  0 in case of       */
-  /*              error.                                                   */
-  /*                                                                       */
-  /* <Return>                                                              */
-  /*    FreeType error code.  0 means success.                             */
-  /*                                                                       */
-  FT_EXPORT( FT_Error )
-  FT_Glyph_Copy( FT_Glyph   source,
-                 FT_Glyph  *target );
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Function>                                                            */
-  /*    FT_Glyph_Transform                                                 */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    Transforms a glyph image if its format is scalable.                */
-  /*                                                                       */
-  /* <InOut>                                                               */
-  /*    glyph  :: A handle to the target glyph object.                     */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    matrix :: A pointer to a 2x2 matrix to apply.                      */
-  /*                                                                       */
-  /*    delta  :: A pointer to a 2d vector to apply.  Coordinates are      */
-  /*              expressed in 1/64th of a pixel.                          */
-  /*                                                                       */
-  /* <Return>                                                              */
-  /*    FreeType error code (if not 0, the glyph format is not scalable).  */
-  /*                                                                       */
-  /* <Note>                                                                */
-  /*    The 2x2 transformation matrix is also applied to the glyph's       */
-  /*    advance vector.                                                    */
-  /*                                                                       */
-  FT_EXPORT( FT_Error )
-  FT_Glyph_Transform( FT_Glyph    glyph,
-                      FT_Matrix*  matrix,
-                      FT_Vector*  delta );
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Enum>                                                                */
-  /*    FT_Glyph_BBox_Mode                                                 */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    The mode how the values of @FT_Glyph_Get_CBox are returned.        */
-  /*                                                                       */
-  /* <Values>                                                              */
-  /*    FT_GLYPH_BBOX_UNSCALED ::                                          */
-  /*      Return unscaled font units.                                      */
-  /*                                                                       */
-  /*    FT_GLYPH_BBOX_SUBPIXELS ::                                         */
-  /*      Return unfitted 26.6 coordinates.                                */
-  /*                                                                       */
-  /*    FT_GLYPH_BBOX_GRIDFIT ::                                           */
-  /*      Return grid-fitted 26.6 coordinates.                             */
-  /*                                                                       */
-  /*    FT_GLYPH_BBOX_TRUNCATE ::                                          */
-  /*      Return coordinates in integer pixels.                            */
-  /*                                                                       */
-  /*    FT_GLYPH_BBOX_PIXELS ::                                            */
-  /*      Return grid-fitted pixel coordinates.                            */
-  /*                                                                       */
-  typedef enum  FT_Glyph_BBox_Mode_
-  {
-    FT_GLYPH_BBOX_UNSCALED  = 0,
-    FT_GLYPH_BBOX_SUBPIXELS = 0,
-    FT_GLYPH_BBOX_GRIDFIT   = 1,
-    FT_GLYPH_BBOX_TRUNCATE  = 2,
-    FT_GLYPH_BBOX_PIXELS    = 3
-
-  } FT_Glyph_BBox_Mode;
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Enum>                                                                */
-  /*    ft_glyph_bbox_xxx                                                  */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    These constants are deprecated.  Use the corresponding             */
-  /*    @FT_Glyph_BBox_Mode values instead.                                */
-  /*                                                                       */
-  /* <Values>                                                              */
-  /*   ft_glyph_bbox_unscaled  :: See @FT_GLYPH_BBOX_UNSCALED.             */
-  /*   ft_glyph_bbox_subpixels :: See @FT_GLYPH_BBOX_SUBPIXELS.            */
-  /*   ft_glyph_bbox_gridfit   :: See @FT_GLYPH_BBOX_GRIDFIT.              */
-  /*   ft_glyph_bbox_truncate  :: See @FT_GLYPH_BBOX_TRUNCATE.             */
-  /*   ft_glyph_bbox_pixels    :: See @FT_GLYPH_BBOX_PIXELS.               */
-  /*                                                                       */
-#define ft_glyph_bbox_unscaled   FT_GLYPH_BBOX_UNSCALED
-#define ft_glyph_bbox_subpixels  FT_GLYPH_BBOX_SUBPIXELS
-#define ft_glyph_bbox_gridfit    FT_GLYPH_BBOX_GRIDFIT
-#define ft_glyph_bbox_truncate   FT_GLYPH_BBOX_TRUNCATE
-#define ft_glyph_bbox_pixels     FT_GLYPH_BBOX_PIXELS
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Function>                                                            */
-  /*    FT_Glyph_Get_CBox                                                  */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    Return a glyph's `control box'.  The control box encloses all the  */
-  /*    outline's points, including Bézier control points.  Though it      */
-  /*    coincides with the exact bounding box for most glyphs, it can be   */
-  /*    slightly larger in some situations (like when rotating an outline  */
-  /*    which contains Bézier outside arcs).                               */
-  /*                                                                       */
-  /*    Computing the control box is very fast, while getting the bounding */
-  /*    box can take much more time as it needs to walk over all segments  */
-  /*    and arcs in the outline.  To get the latter, you can use the       */
-  /*    `ftbbox' component which is dedicated to this single task.         */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    glyph :: A handle to the source glyph object.                      */
-  /*                                                                       */
-  /*    mode  :: The mode which indicates how to interpret the returned    */
-  /*             bounding box values.                                      */
-  /*                                                                       */
-  /* <Output>                                                              */
-  /*    acbox :: The glyph coordinate bounding box.  Coordinates are       */
-  /*             expressed in 1/64th of pixels if it is grid-fitted.       */
-  /*                                                                       */
-  /* <Note>                                                                */
-  /*    Coordinates are relative to the glyph origin, using the Y-upwards  */
-  /*    convention.                                                        */
-  /*                                                                       */
-  /*    If the glyph has been loaded with @FT_LOAD_NO_SCALE, `bbox_mode'   */
-  /*    must be set to @FT_GLYPH_BBOX_UNSCALED to get unscaled font        */
-  /*    units in 26.6 pixel format.  The value @FT_GLYPH_BBOX_SUBPIXELS    */
-  /*    is another name for this constant.                                 */
-  /*                                                                       */
-  /*    Note that the maximum coordinates are exclusive, which means that  */
-  /*    one can compute the width and height of the glyph image (be it in  */
-  /*    integer or 26.6 pixels) as:                                        */
-  /*                                                                       */
-  /*    {                                                                  */
-  /*      width  = bbox.xMax - bbox.xMin;                                  */
-  /*      height = bbox.yMax - bbox.yMin;                                  */
-  /*    }                                                                  */
-  /*                                                                       */
-  /*    Note also that for 26.6 coordinates, if `bbox_mode' is set to      */
-  /*    @FT_GLYPH_BBOX_GRIDFIT, the coordinates will also be grid-fitted,  */
-  /*    which corresponds to:                                              */
-  /*                                                                       */
-  /*    {                                                                  */
-  /*      bbox.xMin = FLOOR(bbox.xMin);                                    */
-  /*      bbox.yMin = FLOOR(bbox.yMin);                                    */
-  /*      bbox.xMax = CEILING(bbox.xMax);                                  */
-  /*      bbox.yMax = CEILING(bbox.yMax);                                  */
-  /*    }                                                                  */
-  /*                                                                       */
-  /*    To get the bbox in pixel coordinates, set `bbox_mode' to           */
-  /*    @FT_GLYPH_BBOX_TRUNCATE.                                           */
-  /*                                                                       */
-  /*    To get the bbox in grid-fitted pixel coordinates, set `bbox_mode'  */
-  /*    to @FT_GLYPH_BBOX_PIXELS.                                          */
-  /*                                                                       */
-  FT_EXPORT( void )
-  FT_Glyph_Get_CBox( FT_Glyph  glyph,
-                     FT_UInt   bbox_mode,
-                     FT_BBox  *acbox );
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Function>                                                            */
-  /*    FT_Glyph_To_Bitmap                                                 */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    Converts a given glyph object to a bitmap glyph object.            */
-  /*                                                                       */
-  /* <InOut>                                                               */
-  /*    the_glyph   :: A pointer to a handle to the target glyph.          */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    render_mode :: An enumeration that describe how the data is        */
-  /*                   rendered.                                           */
-  /*                                                                       */
-  /*    origin      :: A pointer to a vector used to translate the glyph   */
-  /*                   image before rendering.  Can be 0 (if no            */
-  /*                   translation).  The origin is expressed in           */
-  /*                   26.6 pixels.                                        */
-  /*                                                                       */
-  /*    destroy     :: A boolean that indicates that the original glyph    */
-  /*                   image should be destroyed by this function.  It is  */
-  /*                   never destroyed in case of error.                   */
-  /*                                                                       */
-  /* <Return>                                                              */
-  /*    FreeType error code.  0 means success.                             */
-  /*                                                                       */
-  /* <Note>                                                                */
-  /*    The glyph image is translated with the `origin' vector before      */
-  /*    rendering.                                                         */
-  /*                                                                       */
-  /*    The first parameter is a pointer to an @FT_Glyph handle, that will */
-  /*    be replaced by this function.  Typically, you would use (omitting  */
-  /*    error handling):                                                   */
-  /*                                                                       */
-  /*                                                                       */
-  /*      {                                                                */
-  /*        FT_Glyph        glyph;                                         */
-  /*        FT_BitmapGlyph  glyph_bitmap;                                  */
-  /*                                                                       */
-  /*                                                                       */
-  /*        // load glyph                                                  */
-  /*        error = FT_Load_Char( face, glyph_index, FT_LOAD_DEFAUT );     */
-  /*                                                                       */
-  /*        // extract glyph image                                         */
-  /*        error = FT_Get_Glyph( face->glyph, &glyph );                   */
-  /*                                                                       */
-  /*        // convert to a bitmap (default render mode + destroy old)     */
-  /*        if ( glyph->format != FT_GLYPH_FORMAT_BITMAP )                 */
-  /*        {                                                              */
-  /*          error = FT_Glyph_To_Bitmap( &glyph, FT_RENDER_MODE_DEFAULT,  */
-  /*                                      0, 1 );                          */
-  /*          if ( error ) // glyph unchanged                              */
-  /*            ...                                                        */
-  /*        }                                                              */
-  /*                                                                       */
-  /*        // access bitmap content by typecasting                        */
-  /*        glyph_bitmap = (FT_BitmapGlyph)glyph;                          */
-  /*                                                                       */
-  /*        // do funny stuff with it, like blitting/drawing               */
-  /*        ...                                                            */
-  /*                                                                       */
-  /*        // discard glyph image (bitmap or not)                         */
-  /*        FT_Done_Glyph( glyph );                                        */
-  /*      }                                                                */
-  /*                                                                       */
-  /*                                                                       */
-  /*    This function does nothing if the glyph format isn't scalable.     */
-  /*                                                                       */
-  FT_EXPORT( FT_Error )
-  FT_Glyph_To_Bitmap( FT_Glyph*       the_glyph,
-                      FT_Render_Mode  render_mode,
-                      FT_Vector*      origin,
-                      FT_Bool         destroy );
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Function>                                                            */
-  /*    FT_Done_Glyph                                                      */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    Destroys a given glyph.                                            */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    glyph :: A handle to the target glyph object.                      */
-  /*                                                                       */
-  FT_EXPORT( void )
-  FT_Done_Glyph( FT_Glyph  glyph );
-
-  /* */
-
-
-  /* other helpful functions */
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Section>                                                             */
-  /*    computations                                                       */
-  /*                                                                       */
-  /*************************************************************************/
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Function>                                                            */
-  /*    FT_Matrix_Multiply                                                 */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    Performs the matrix operation `b = a*b'.                           */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    a :: A pointer to matrix `a'.                                      */
-  /*                                                                       */
-  /* <InOut>                                                               */
-  /*    b :: A pointer to matrix `b'.                                      */
-  /*                                                                       */
-  /* <Note>                                                                */
-  /*    The result is undefined if either `a' or `b' is zero.              */
-  /*                                                                       */
-  FT_EXPORT( void )
-  FT_Matrix_Multiply( const FT_Matrix*  a,
-                      FT_Matrix*  b );
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Function>                                                            */
-  /*    FT_Matrix_Invert                                                   */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    Inverts a 2x2 matrix.  Returns an error if it can't be inverted.   */
-  /*                                                                       */
-  /* <InOut>                                                               */
-  /*    matrix :: A pointer to the target matrix.  Remains untouched in    */
-  /*              case of error.                                           */
-  /*                                                                       */
-  /* <Return>                                                              */
-  /*    FreeType error code.  0 means success.                             */
-  /*                                                                       */
-  FT_EXPORT( FT_Error )
-  FT_Matrix_Invert( FT_Matrix*  matrix );
-
-
-  /* */
-
-
-FT_END_HEADER
-
-#endif /* __FTGLYPH_H__ */
-
-
-/* END */
-
-
-/* Local Variables: */
-/* coding: utf-8    */
-/* End:             */
diff --git a/CMU462/deps/freetype/include/freetype2/freetype/ftgxval.h b/CMU462/deps/freetype/include/freetype2/freetype/ftgxval.h
deleted file mode 100755
index c7ea861..0000000
--- a/CMU462/deps/freetype/include/freetype2/freetype/ftgxval.h
+++ /dev/null
@@ -1,358 +0,0 @@
-/***************************************************************************/
-/*                                                                         */
-/*  ftgxval.h                                                              */
-/*                                                                         */
-/*    FreeType API for validating TrueTypeGX/AAT tables (specification).   */
-/*                                                                         */
-/*  Copyright 2004, 2005, 2006 by                                          */
-/*  Masatake YAMATO, Redhat K.K,                                           */
-/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
-/*                                                                         */
-/*  This file is part of the FreeType project, and may only be used,       */
-/*  modified, and distributed under the terms of the FreeType project      */
-/*  license, LICENSE.TXT.  By continuing to use, modify, or distribute     */
-/*  this file you indicate that you have read the license and              */
-/*  understand and accept it fully.                                        */
-/*                                                                         */
-/***************************************************************************/
-
-/***************************************************************************/
-/*                                                                         */
-/* gxvalid is derived from both gxlayout module and otvalid module.        */
-/* Development of gxlayout is supported by the Information-technology      */
-/* Promotion Agency(IPA), Japan.                                           */
-/*                                                                         */
-/***************************************************************************/
-
-
-#ifndef __FTGXVAL_H__
-#define __FTGXVAL_H__
-
-#include <ft2build.h>
-#include FT_FREETYPE_H
-
-#ifdef FREETYPE_H
-#error "freetype.h of FreeType 1 has been loaded!"
-#error "Please fix the directory search order for header files"
-#error "so that freetype.h of FreeType 2 is found first."
-#endif
-
-
-FT_BEGIN_HEADER
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Section>                                                             */
-  /*    gx_validation                                                      */
-  /*                                                                       */
-  /* <Title>                                                               */
-  /*    TrueTypeGX/AAT Validation                                          */
-  /*                                                                       */
-  /* <Abstract>                                                            */
-  /*    An API to validate TrueTypeGX/AAT tables.                          */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    This section contains the declaration of functions to validate     */
-  /*    some TrueTypeGX tables (feat, mort, morx, bsln, just, kern, opbd,  */
-  /*    trak, prop, lcar).                                                 */
-  /*                                                                       */
-  /*************************************************************************/
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /*                                                                       */
-  /* Warning: Use FT_VALIDATE_XXX to validate a table.                     */
-  /*          Following definitions are for gxvalid developers.            */
-  /*                                                                       */
-  /*                                                                       */
-  /*************************************************************************/
-
-#define FT_VALIDATE_feat_INDEX     0
-#define FT_VALIDATE_mort_INDEX     1
-#define FT_VALIDATE_morx_INDEX     2
-#define FT_VALIDATE_bsln_INDEX     3
-#define FT_VALIDATE_just_INDEX     4
-#define FT_VALIDATE_kern_INDEX     5
-#define FT_VALIDATE_opbd_INDEX     6
-#define FT_VALIDATE_trak_INDEX     7
-#define FT_VALIDATE_prop_INDEX     8
-#define FT_VALIDATE_lcar_INDEX     9
-#define FT_VALIDATE_GX_LAST_INDEX  FT_VALIDATE_lcar_INDEX
-
-
-  /*************************************************************************
-   *
-   * @macro:
-   *   FT_VALIDATE_GX_LENGTH
-   *
-   * @description:
-   *   The number of tables checked in this module.  Use it as a parameter
-   *   for the `table-length' argument of function @FT_TrueTypeGX_Validate.
-   */
-#define FT_VALIDATE_GX_LENGTH     (FT_VALIDATE_GX_LAST_INDEX + 1)
-
-  /* */
-
-  /* Up to 0x1000 is used by otvalid.
-     Ox2xxx is reserved for feature OT extension. */
-#define FT_VALIDATE_GX_START 0x4000
-#define FT_VALIDATE_GX_BITFIELD( tag )                  \
-  ( FT_VALIDATE_GX_START << FT_VALIDATE_##tag##_INDEX )
-
-
- /**********************************************************************
-  *
-  * @enum:
-  *    FT_VALIDATE_GXXXX
-  *
-  * @description:
-  *    A list of bit-field constants used with @FT_TrueTypeGX_Validate to
-  *    indicate which TrueTypeGX/AAT Type tables should be validated.
-  *
-  * @values:
-  *    FT_VALIDATE_feat ::
-  *      Validate `feat' table.
-  *
-  *    FT_VALIDATE_mort ::
-  *      Validate `mort' table.
-  *
-  *    FT_VALIDATE_morx ::
-  *      Validate `morx' table.
-  *
-  *    FT_VALIDATE_bsln ::
-  *      Validate `bsln' table.
-  *
-  *    FT_VALIDATE_just ::
-  *      Validate `just' table.
-  *
-  *    FT_VALIDATE_kern ::
-  *      Validate `kern' table.
-  *
-  *    FT_VALIDATE_opbd ::
-  *      Validate `opbd' table.
-  *
-  *    FT_VALIDATE_trak ::
-  *      Validate `trak' table.
-  *
-  *    FT_VALIDATE_prop ::
-  *      Validate `prop' table.
-  *
-  *    FT_VALIDATE_lcar ::
-  *      Validate `lcar' table.
-  *
-  *    FT_VALIDATE_GX ::
-  *      Validate all TrueTypeGX tables (feat, mort, morx, bsln, just, kern,
-  *      opbd, trak, prop and lcar).
-  *
-  */
-
-#define FT_VALIDATE_feat  FT_VALIDATE_GX_BITFIELD( feat )
-#define FT_VALIDATE_mort  FT_VALIDATE_GX_BITFIELD( mort )
-#define FT_VALIDATE_morx  FT_VALIDATE_GX_BITFIELD( morx )
-#define FT_VALIDATE_bsln  FT_VALIDATE_GX_BITFIELD( bsln )
-#define FT_VALIDATE_just  FT_VALIDATE_GX_BITFIELD( just )
-#define FT_VALIDATE_kern  FT_VALIDATE_GX_BITFIELD( kern )
-#define FT_VALIDATE_opbd  FT_VALIDATE_GX_BITFIELD( opbd )
-#define FT_VALIDATE_trak  FT_VALIDATE_GX_BITFIELD( trak )
-#define FT_VALIDATE_prop  FT_VALIDATE_GX_BITFIELD( prop )
-#define FT_VALIDATE_lcar  FT_VALIDATE_GX_BITFIELD( lcar )
-
-#define FT_VALIDATE_GX  ( FT_VALIDATE_feat | \
-                          FT_VALIDATE_mort | \
-                          FT_VALIDATE_morx | \
-                          FT_VALIDATE_bsln | \
-                          FT_VALIDATE_just | \
-                          FT_VALIDATE_kern | \
-                          FT_VALIDATE_opbd | \
-                          FT_VALIDATE_trak | \
-                          FT_VALIDATE_prop | \
-                          FT_VALIDATE_lcar )
-
-
-  /* */
-
- /**********************************************************************
-  *
-  * @function:
-  *    FT_TrueTypeGX_Validate
-  *
-  * @description:
-  *    Validate various TrueTypeGX tables to assure that all offsets and
-  *    indices are valid.  The idea is that a higher-level library which
-  *    actually does the text layout can access those tables without
-  *    error checking (which can be quite time consuming).
-  *
-  * @input:
-  *    face ::
-  *       A handle to the input face.
-  *
-  *    validation_flags ::
-  *       A bit field which specifies the tables to be validated.  See
-  *       @FT_VALIDATE_GXXXX for possible values.
-  *
-  *    table_length ::
-  *       The size of the `tables' array.  Normally, @FT_VALIDATE_GX_LENGTH
-  *       should be passed.
-  *
-  * @output:
-  *    tables ::
-  *       The array where all validated sfnt tables are stored.
-  *       The array itself must be allocated by a client.
-  *
-  * @return:
-  *   FreeType error code.  0 means success.
-  *
-  * @note:
-  *   This function only works with TrueTypeGX fonts, returning an error
-  *   otherwise.
-  *
-  *   After use, the application should deallocate the buffers pointed to by
-  *   each `tables' element, by calling @FT_TrueTypeGX_Free.  A NULL value
-  *   indicates that the table either doesn't exist in the font, the
-  *   application hasn't asked for validation, or the validator doesn't have
-  *   the ability to validate the sfnt table.
-  */
-  FT_EXPORT( FT_Error )
-  FT_TrueTypeGX_Validate( FT_Face   face,
-                          FT_UInt   validation_flags,
-                          FT_Bytes  tables[FT_VALIDATE_GX_LENGTH],
-                          FT_UInt   table_length );
-
-
-  /* */
-
- /**********************************************************************
-  *
-  * @function:
-  *    FT_TrueTypeGX_Free
-  *
-  * @description:
-  *    Free the buffer allocated by TrueTypeGX validator.
-  *
-  * @input:
-  *    face ::
-  *       A handle to the input face.
-  *
-  *    table ::
-  *       The pointer to the buffer allocated by
-  *       @FT_TrueTypeGX_Validate.
-  *
-  * @note:
-  *   This function must be used to free the buffer allocated by
-  *   @FT_TrueTypeGX_Validate only.
-  */
-  FT_EXPORT( void )
-  FT_TrueTypeGX_Free( FT_Face   face,
-                      FT_Bytes  table );
-
-
-  /* */
-
- /**********************************************************************
-  *
-  * @enum:
-  *    FT_VALIDATE_CKERNXXX
-  *
-  * @description:
-  *    A list of bit-field constants used with @FT_ClassicKern_Validate
-  *    to indicate the classic kern dialect or dialects.  If the selected
-  *    type doesn't fit, @FT_ClassicKern_Validate regards the table as
-  *    invalid.
-  *
-  * @values:
-  *    FT_VALIDATE_MS ::
-  *      Handle the `kern' table as a classic Microsoft kern table.
-  *
-  *    FT_VALIDATE_APPLE ::
-  *      Handle the `kern' table as a classic Apple kern table.
-  *
-  *    FT_VALIDATE_CKERN ::
-  *      Handle the `kern' as either classic Apple or Microsoft kern table.
-  */
-#define FT_VALIDATE_MS     ( FT_VALIDATE_GX_START << 0 )
-#define FT_VALIDATE_APPLE  ( FT_VALIDATE_GX_START << 1 )
-
-#define FT_VALIDATE_CKERN  ( FT_VALIDATE_MS | FT_VALIDATE_APPLE )
-
-
-  /* */
-
- /**********************************************************************
-  *
-  * @function:
-  *    FT_ClassicKern_Validate
-  *
-  * @description:
-  *    Validate classic (16bit format) kern table to assure that the offsets
-  *    and indices are valid.  The idea is that a higher-level library which
-  *    actually does the text layout can access those tables without error
-  *    checking (which can be quite time consuming).
-  *
-  *    The `kern' table validator in @FT_TrueTypeGX_Validate deals with both
-  *    the new 32bit format and the classic 16bit format, while
-  *    FT_ClassicKern_Validate only supports the classic 16bit format.
-  *
-  * @input:
-  *    face ::
-  *       A handle to the input face.
-  *
-  *    validation_flags ::
-  *       A bit field which specifies the dialect to be validated.  See
-  *       @FT_VALIDATE_CKERNXXX for possible values.
-  *
-  * @output:
-  *    ckern_table ::
-  *       A pointer to the kern table.
-  *
-  * @return:
-  *   FreeType error code.  0 means success.
-  *
-  * @note:
-  *   After use, the application should deallocate the buffers pointed to by
-  *   `ckern_table', by calling @FT_ClassicKern_Free.  A NULL value
-  *   indicates that the table doesn't exist in the font.
-  */
-  FT_EXPORT( FT_Error )
-  FT_ClassicKern_Validate( FT_Face    face,
-                           FT_UInt    validation_flags,
-                           FT_Bytes  *ckern_table );
-
-
-  /* */
-
- /**********************************************************************
-  *
-  * @function:
-  *    FT_ClassicKern_Free
-  *
-  * @description:
-  *    Free the buffer allocated by classic Kern validator.
-  *
-  * @input:
-  *    face ::
-  *       A handle to the input face.
-  *
-  *    table ::
-  *       The pointer to the buffer that is allocated by
-  *       @FT_ClassicKern_Validate.
-  *
-  * @note:
-  *   This function must be used to free the buffer allocated by
-  *   @FT_ClassicKern_Validate only.
-  */
-  FT_EXPORT( void )
-  FT_ClassicKern_Free( FT_Face   face,
-                       FT_Bytes  table );
-
-
- /* */
-
-
-FT_END_HEADER
-
-#endif /* __FTGXVAL_H__ */
-
-
-/* END */
diff --git a/CMU462/deps/freetype/include/freetype2/freetype/ftgzip.h b/CMU462/deps/freetype/include/freetype2/freetype/ftgzip.h
deleted file mode 100755
index 9893437..0000000
--- a/CMU462/deps/freetype/include/freetype2/freetype/ftgzip.h
+++ /dev/null
@@ -1,102 +0,0 @@
-/***************************************************************************/
-/*                                                                         */
-/*  ftgzip.h                                                               */
-/*                                                                         */
-/*    Gzip-compressed stream support.                                      */
-/*                                                                         */
-/*  Copyright 2002, 2003, 2004, 2006 by                                    */
-/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
-/*                                                                         */
-/*  This file is part of the FreeType project, and may only be used,       */
-/*  modified, and distributed under the terms of the FreeType project      */
-/*  license, LICENSE.TXT.  By continuing to use, modify, or distribute     */
-/*  this file you indicate that you have read the license and              */
-/*  understand and accept it fully.                                        */
-/*                                                                         */
-/***************************************************************************/
-
-
-#ifndef __FTGZIP_H__
-#define __FTGZIP_H__
-
-#include <ft2build.h>
-#include FT_FREETYPE_H
-
-#ifdef FREETYPE_H
-#error "freetype.h of FreeType 1 has been loaded!"
-#error "Please fix the directory search order for header files"
-#error "so that freetype.h of FreeType 2 is found first."
-#endif
-
-
-FT_BEGIN_HEADER
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Section>                                                             */
-  /*    gzip                                                               */
-  /*                                                                       */
-  /* <Title>                                                               */
-  /*    GZIP Streams                                                       */
-  /*                                                                       */
-  /* <Abstract>                                                            */
-  /*    Using gzip-compressed font files.                                  */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    This section contains the declaration of Gzip-specific functions.  */
-  /*                                                                       */
-  /*************************************************************************/
-
-
- /************************************************************************
-  *
-  * @function:
-  *   FT_Stream_OpenGzip
-  *
-  * @description:
-  *   Open a new stream to parse gzip-compressed font files.  This is
-  *   mainly used to support the compressed `*.pcf.gz' fonts that come
-  *   with XFree86.
-  *
-  * @input:
-  *   stream ::
-  *     The target embedding stream.
-  *
-  *   source ::
-  *     The source stream.
-  *
-  * @return:
-  *   FreeType error code.  0 means success.
-  *
-  * @note:
-  *   The source stream must be opened _before_ calling this function.
-  *
-  *   Calling the internal function `FT_Stream_Close' on the new stream will
-  *   *not* call `FT_Stream_Close' on the source stream.  None of the stream
-  *   objects will be released to the heap.
-  *
-  *   The stream implementation is very basic and resets the decompression
-  *   process each time seeking backwards is needed within the stream.
-  *
-  *   In certain builds of the library, gzip compression recognition is
-  *   automatically handled when calling @FT_New_Face or @FT_Open_Face.
-  *   This means that if no font driver is capable of handling the raw
-  *   compressed file, the library will try to open a gzipped stream from
-  *   it and re-open the face with it.
-  *
-  *   This function may return `FT_Err_Unimplemented_Feature' if your build
-  *   of FreeType was not compiled with zlib support.
-  */
-  FT_EXPORT( FT_Error )
-  FT_Stream_OpenGzip( FT_Stream  stream,
-                      FT_Stream  source );
-
- /* */
-
-
-FT_END_HEADER
-
-#endif /* __FTGZIP_H__ */
-
-
-/* END */
diff --git a/CMU462/deps/freetype/include/freetype2/freetype/ftimage.h b/CMU462/deps/freetype/include/freetype2/freetype/ftimage.h
deleted file mode 100755
index 1c428f1..0000000
--- a/CMU462/deps/freetype/include/freetype2/freetype/ftimage.h
+++ /dev/null
@@ -1,1237 +0,0 @@
-/***************************************************************************/
-/*                                                                         */
-/*  ftimage.h                                                              */
-/*                                                                         */
-/*    FreeType glyph image formats and default raster interface            */
-/*    (specification).                                                     */
-/*                                                                         */
-/*  Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006, 2007 by             */
-/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
-/*                                                                         */
-/*  This file is part of the FreeType project, and may only be used,       */
-/*  modified, and distributed under the terms of the FreeType project      */
-/*  license, LICENSE.TXT.  By continuing to use, modify, or distribute     */
-/*  this file you indicate that you have read the license and              */
-/*  understand and accept it fully.                                        */
-/*                                                                         */
-/***************************************************************************/
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* Note: A `raster' is simply a scan-line converter, used to render      */
-  /*       FT_Outlines into FT_Bitmaps.                                    */
-  /*                                                                       */
-  /*************************************************************************/
-
-
-#ifndef __FTIMAGE_H__
-#define __FTIMAGE_H__
-
-
-/* _STANDALONE_ is from ftgrays.c */
-#ifndef _STANDALONE_
-#include <ft2build.h>
-#endif
-
-
-FT_BEGIN_HEADER
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Section>                                                             */
-  /*    basic_types                                                        */
-  /*                                                                       */
-  /*************************************************************************/
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Type>                                                                */
-  /*    FT_Pos                                                             */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    The type FT_Pos is a 32-bit integer used to store vectorial        */
-  /*    coordinates.  Depending on the context, these can represent        */
-  /*    distances in integer font units, or 16,16, or 26.6 fixed float     */
-  /*    pixel coordinates.                                                 */
-  /*                                                                       */
-  typedef signed long  FT_Pos;
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Struct>                                                              */
-  /*    FT_Vector                                                          */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    A simple structure used to store a 2D vector; coordinates are of   */
-  /*    the FT_Pos type.                                                   */
-  /*                                                                       */
-  /* <Fields>                                                              */
-  /*    x :: The horizontal coordinate.                                    */
-  /*    y :: The vertical coordinate.                                      */
-  /*                                                                       */
-  typedef struct  FT_Vector_
-  {
-    FT_Pos  x;
-    FT_Pos  y;
-
-  } FT_Vector;
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Struct>                                                              */
-  /*    FT_BBox                                                            */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    A structure used to hold an outline's bounding box, i.e., the      */
-  /*    coordinates of its extrema in the horizontal and vertical          */
-  /*    directions.                                                        */
-  /*                                                                       */
-  /* <Fields>                                                              */
-  /*    xMin :: The horizontal minimum (left-most).                        */
-  /*                                                                       */
-  /*    yMin :: The vertical minimum (bottom-most).                        */
-  /*                                                                       */
-  /*    xMax :: The horizontal maximum (right-most).                       */
-  /*                                                                       */
-  /*    yMax :: The vertical maximum (top-most).                           */
-  /*                                                                       */
-  typedef struct  FT_BBox_
-  {
-    FT_Pos  xMin, yMin;
-    FT_Pos  xMax, yMax;
-
-  } FT_BBox;
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Enum>                                                                */
-  /*    FT_Pixel_Mode                                                      */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    An enumeration type used to describe the format of pixels in a     */
-  /*    given bitmap.  Note that additional formats may be added in the    */
-  /*    future.                                                            */
-  /*                                                                       */
-  /* <Values>                                                              */
-  /*    FT_PIXEL_MODE_NONE ::                                              */
-  /*      Value 0 is reserved.                                             */
-  /*                                                                       */
-  /*    FT_PIXEL_MODE_MONO ::                                              */
-  /*      A monochrome bitmap, using 1 bit per pixel.  Note that pixels    */
-  /*      are stored in most-significant order (MSB), which means that     */
-  /*      the left-most pixel in a byte has value 128.                     */
-  /*                                                                       */
-  /*    FT_PIXEL_MODE_GRAY ::                                              */
-  /*      An 8-bit bitmap, generally used to represent anti-aliased glyph  */
-  /*      images.  Each pixel is stored in one byte.  Note that the number */
-  /*      of value `gray' levels is stored in the `num_bytes' field of     */
-  /*      the @FT_Bitmap structure (it generally is 256).                  */
-  /*                                                                       */
-  /*    FT_PIXEL_MODE_GRAY2 ::                                             */
-  /*      A 2-bit/pixel bitmap, used to represent embedded anti-aliased    */
-  /*      bitmaps in font files according to the OpenType specification.   */
-  /*      We haven't found a single font using this format, however.       */
-  /*                                                                       */
-  /*    FT_PIXEL_MODE_GRAY4 ::                                             */
-  /*      A 4-bit/pixel bitmap, used to represent embedded anti-aliased    */
-  /*      bitmaps in font files according to the OpenType specification.   */
-  /*      We haven't found a single font using this format, however.       */
-  /*                                                                       */
-  /*    FT_PIXEL_MODE_LCD ::                                               */
-  /*      An 8-bit bitmap, used to represent RGB or BGR decimated glyph    */
-  /*      images used for display on LCD displays; the bitmap is three     */
-  /*      times wider than the original glyph image.  See also             */
-  /*      @FT_RENDER_MODE_LCD.                                             */
-  /*                                                                       */
-  /*    FT_PIXEL_MODE_LCD_V ::                                             */
-  /*      An 8-bit bitmap, used to represent RGB or BGR decimated glyph    */
-  /*      images used for display on rotated LCD displays; the bitmap      */
-  /*      is three times taller than the original glyph image.  See also   */
-  /*      @FT_RENDER_MODE_LCD_V.                                           */
-  /*                                                                       */
-  typedef enum  FT_Pixel_Mode_
-  {
-    FT_PIXEL_MODE_NONE = 0,
-    FT_PIXEL_MODE_MONO,
-    FT_PIXEL_MODE_GRAY,
-    FT_PIXEL_MODE_GRAY2,
-    FT_PIXEL_MODE_GRAY4,
-    FT_PIXEL_MODE_LCD,
-    FT_PIXEL_MODE_LCD_V,
-
-    FT_PIXEL_MODE_MAX      /* do not remove */
-
-  } FT_Pixel_Mode;
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Enum>                                                                */
-  /*    ft_pixel_mode_xxx                                                  */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    A list of deprecated constants.  Use the corresponding             */
-  /*    @FT_Pixel_Mode values instead.                                     */
-  /*                                                                       */
-  /* <Values>                                                              */
-  /*    ft_pixel_mode_none  :: See @FT_PIXEL_MODE_NONE.                    */
-  /*    ft_pixel_mode_mono  :: See @FT_PIXEL_MODE_MONO.                    */
-  /*    ft_pixel_mode_grays :: See @FT_PIXEL_MODE_GRAY.                    */
-  /*    ft_pixel_mode_pal2  :: See @FT_PIXEL_MODE_GRAY2.                   */
-  /*    ft_pixel_mode_pal4  :: See @FT_PIXEL_MODE_GRAY4.                   */
-  /*                                                                       */
-#define ft_pixel_mode_none   FT_PIXEL_MODE_NONE
-#define ft_pixel_mode_mono   FT_PIXEL_MODE_MONO
-#define ft_pixel_mode_grays  FT_PIXEL_MODE_GRAY
-#define ft_pixel_mode_pal2   FT_PIXEL_MODE_GRAY2
-#define ft_pixel_mode_pal4   FT_PIXEL_MODE_GRAY4
-
- /* */
-
-#if 0
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Enum>                                                                */
-  /*    FT_Palette_Mode                                                    */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    THIS TYPE IS DEPRECATED.  DO NOT USE IT!                           */
-  /*                                                                       */
-  /*    An enumeration type to describe the format of a bitmap palette,    */
-  /*    used with ft_pixel_mode_pal4 and ft_pixel_mode_pal8.               */
-  /*                                                                       */
-  /* <Fields>                                                              */
-  /*    ft_palette_mode_rgb  :: The palette is an array of 3-bytes RGB     */
-  /*                            records.                                   */
-  /*                                                                       */
-  /*    ft_palette_mode_rgba :: The palette is an array of 4-bytes RGBA    */
-  /*                            records.                                   */
-  /*                                                                       */
-  /* <Note>                                                                */
-  /*    As ft_pixel_mode_pal2, pal4 and pal8 are currently unused by       */
-  /*    FreeType, these types are not handled by the library itself.       */
-  /*                                                                       */
-  typedef enum  FT_Palette_Mode_
-  {
-    ft_palette_mode_rgb = 0,
-    ft_palette_mode_rgba,
-
-    ft_palettte_mode_max   /* do not remove */
-
-  } FT_Palette_Mode;
-
-  /* */
-
-#endif
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Struct>                                                              */
-  /*    FT_Bitmap                                                          */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    A structure used to describe a bitmap or pixmap to the raster.     */
-  /*    Note that we now manage pixmaps of various depths through the      */
-  /*    `pixel_mode' field.                                                */
-  /*                                                                       */
-  /* <Fields>                                                              */
-  /*    rows         :: The number of bitmap rows.                         */
-  /*                                                                       */
-  /*    width        :: The number of pixels in bitmap row.                */
-  /*                                                                       */
-  /*    pitch        :: The pitch's absolute value is the number of bytes  */
-  /*                    taken by one bitmap row, including padding.        */
-  /*                    However, the pitch is positive when the bitmap has */
-  /*                    a `down' flow, and negative when it has an `up'    */
-  /*                    flow.  In all cases, the pitch is an offset to add */
-  /*                    to a bitmap pointer in order to go down one row.   */
-  /*                                                                       */
-  /*    buffer       :: A typeless pointer to the bitmap buffer.  This     */
-  /*                    value should be aligned on 32-bit boundaries in    */
-  /*                    most cases.                                        */
-  /*                                                                       */
-  /*    num_grays    :: This field is only used with                       */
-  /*                    @FT_PIXEL_MODE_GRAY; it gives the number of gray   */
-  /*                    levels used in the bitmap.                         */
-  /*                                                                       */
-  /*    pixel_mode   :: The pixel mode, i.e., how pixel bits are stored.   */
-  /*                    See @FT_Pixel_Mode for possible values.            */
-  /*                                                                       */
-  /*    palette_mode :: This field is intended for paletted pixel modes;   */
-  /*                    it indicates how the palette is stored.  Not       */
-  /*                    used currently.                                    */
-  /*                                                                       */
-  /*    palette      :: A typeless pointer to the bitmap palette; this     */
-  /*                    field is intended for paletted pixel modes.  Not   */
-  /*                    used currently.                                    */
-  /*                                                                       */
-  /* <Note>                                                                */
-  /*   For now, the only pixel modes supported by FreeType are mono and    */
-  /*   grays.  However, drivers might be added in the future to support    */
-  /*   more `colorful' options.                                            */
-  /*                                                                       */
-  typedef struct  FT_Bitmap_
-  {
-    int             rows;
-    int             width;
-    int             pitch;
-    unsigned char*  buffer;
-    short           num_grays;
-    char            pixel_mode;
-    char            palette_mode;
-    void*           palette;
-
-  } FT_Bitmap;
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Section>                                                             */
-  /*    outline_processing                                                 */
-  /*                                                                       */
-  /*************************************************************************/
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Struct>                                                              */
-  /*    FT_Outline                                                         */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    This structure is used to describe an outline to the scan-line     */
-  /*    converter.                                                         */
-  /*                                                                       */
-  /* <Fields>                                                              */
-  /*    n_contours :: The number of contours in the outline.               */
-  /*                                                                       */
-  /*    n_points   :: The number of points in the outline.                 */
-  /*                                                                       */
-  /*    points     :: A pointer to an array of `n_points' @FT_Vector       */
-  /*                  elements, giving the outline's point coordinates.    */
-  /*                                                                       */
-  /*    tags       :: A pointer to an array of `n_points' chars, giving    */
-  /*                  each outline point's type.  If bit 0 is unset, the   */
-  /*                  point is `off' the curve, i.e., a Bézier control     */
-  /*                  point, while it is `on' when set.                    */
-  /*                                                                       */
-  /*                  Bit 1 is meaningful for `off' points only.  If set,  */
-  /*                  it indicates a third-order Bézier arc control point; */
-  /*                  and a second-order control point if unset.           */
-  /*                                                                       */
-  /*    contours   :: An array of `n_contours' shorts, giving the end      */
-  /*                  point of each contour within the outline.  For       */
-  /*                  example, the first contour is defined by the points  */
-  /*                  `0' to `contours[0]', the second one is defined by   */
-  /*                  the points `contours[0]+1' to `contours[1]', etc.    */
-  /*                                                                       */
-  /*    flags      :: A set of bit flags used to characterize the outline  */
-  /*                  and give hints to the scan-converter and hinter on   */
-  /*                  how to convert/grid-fit it.  See @FT_OUTLINE_FLAGS.  */
-  /*                                                                       */
-  typedef struct  FT_Outline_
-  {
-    short       n_contours;      /* number of contours in glyph        */
-    short       n_points;        /* number of points in the glyph      */
-
-    FT_Vector*  points;          /* the outline's points               */
-    char*       tags;            /* the points flags                   */
-    short*      contours;        /* the contour end points             */
-
-    int         flags;           /* outline masks                      */
-
-  } FT_Outline;
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Enum>                                                                */
-  /*   FT_OUTLINE_FLAGS                                                    */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    A list of bit-field constants use for the flags in an outline's    */
-  /*    `flags' field.                                                     */
-  /*                                                                       */
-  /* <Values>                                                              */
-  /*    FT_OUTLINE_NONE           :: Value 0 is reserved.                  */
-  /*                                                                       */
-  /*    FT_OUTLINE_OWNER          :: If set, this flag indicates that the  */
-  /*                                 outline's field arrays (i.e.,         */
-  /*                                 `points', `flags' & `contours') are   */
-  /*                                 `owned' by the outline object, and    */
-  /*                                 should thus be freed when it is       */
-  /*                                 destroyed.                            */
-  /*                                                                       */
-  /*   FT_OUTLINE_EVEN_ODD_FILL   :: By default, outlines are filled using */
-  /*                                 the non-zero winding rule.  If set to */
-  /*                                 1, the outline will be filled using   */
-  /*                                 the even-odd fill rule (only works    */
-  /*                                 with the smooth raster).              */
-  /*                                                                       */
-  /*   FT_OUTLINE_REVERSE_FILL    :: By default, outside contours of an    */
-  /*                                 outline are oriented in clock-wise    */
-  /*                                 direction, as defined in the TrueType */
-  /*                                 specification.  This flag is set if   */
-  /*                                 the outline uses the opposite         */
-  /*                                 direction (typically for Type 1       */
-  /*                                 fonts).  This flag is ignored by the  */
-  /*                                 scan-converter.                       */
-  /*                                                                       */
-  /*   FT_OUTLINE_IGNORE_DROPOUTS :: By default, the scan converter will   */
-  /*                                 try to detect drop-outs in an outline */
-  /*                                 and correct the glyph bitmap to       */
-  /*                                 ensure consistent shape continuity.   */
-  /*                                 If set, this flag hints the scan-line */
-  /*                                 converter to ignore such cases.       */
-  /*                                                                       */
-  /*   FT_OUTLINE_HIGH_PRECISION  :: This flag indicates that the          */
-  /*                                 scan-line converter should try to     */
-  /*                                 convert this outline to bitmaps with  */
-  /*                                 the highest possible quality.  It is  */
-  /*                                 typically set for small character     */
-  /*                                 sizes.  Note that this is only a      */
-  /*                                 hint, that might be completely        */
-  /*                                 ignored by a given scan-converter.    */
-  /*                                                                       */
-  /*   FT_OUTLINE_SINGLE_PASS     :: This flag is set to force a given     */
-  /*                                 scan-converter to only use a single   */
-  /*                                 pass over the outline to render a     */
-  /*                                 bitmap glyph image.  Normally, it is  */
-  /*                                 set for very large character sizes.   */
-  /*                                 It is only a hint, that might be      */
-  /*                                 completely ignored by a given         */
-  /*                                 scan-converter.                       */
-  /*                                                                       */
-#define FT_OUTLINE_NONE             0x0
-#define FT_OUTLINE_OWNER            0x1
-#define FT_OUTLINE_EVEN_ODD_FILL    0x2
-#define FT_OUTLINE_REVERSE_FILL     0x4
-#define FT_OUTLINE_IGNORE_DROPOUTS  0x8
-
-#define FT_OUTLINE_HIGH_PRECISION   0x100
-#define FT_OUTLINE_SINGLE_PASS      0x200
-
-
- /*************************************************************************
-  *
-  * @enum:
-  *   ft_outline_flags
-  *
-  * @description:
-  *   These constants are deprecated.  Please use the corresponding
-  *   @FT_OUTLINE_FLAGS values.
-  *
-  * @values:
-  *   ft_outline_none            :: See @FT_OUTLINE_NONE.
-  *   ft_outline_owner           :: See @FT_OUTLINE_OWNER.
-  *   ft_outline_even_odd_fill   :: See @FT_OUTLINE_EVEN_ODD_FILL.
-  *   ft_outline_reverse_fill    :: See @FT_OUTLINE_REVERSE_FILL.
-  *   ft_outline_ignore_dropouts :: See @FT_OUTLINE_IGNORE_DROPOUTS.
-  *   ft_outline_high_precision  :: See @FT_OUTLINE_HIGH_PRECISION.
-  *   ft_outline_single_pass     :: See @FT_OUTLINE_SINGLE_PASS.
-  */
-#define ft_outline_none             FT_OUTLINE_NONE
-#define ft_outline_owner            FT_OUTLINE_OWNER
-#define ft_outline_even_odd_fill    FT_OUTLINE_EVEN_ODD_FILL
-#define ft_outline_reverse_fill     FT_OUTLINE_REVERSE_FILL
-#define ft_outline_ignore_dropouts  FT_OUTLINE_IGNORE_DROPOUTS
-#define ft_outline_high_precision   FT_OUTLINE_HIGH_PRECISION
-#define ft_outline_single_pass      FT_OUTLINE_SINGLE_PASS
-
-  /* */
-
-#define FT_CURVE_TAG( flag )  ( flag & 3 )
-
-#define FT_CURVE_TAG_ON           1
-#define FT_CURVE_TAG_CONIC        0
-#define FT_CURVE_TAG_CUBIC        2
-
-#define FT_CURVE_TAG_TOUCH_X      8  /* reserved for the TrueType hinter */
-#define FT_CURVE_TAG_TOUCH_Y     16  /* reserved for the TrueType hinter */
-
-#define FT_CURVE_TAG_TOUCH_BOTH  ( FT_CURVE_TAG_TOUCH_X | \
-                                   FT_CURVE_TAG_TOUCH_Y )
-
-#define  FT_Curve_Tag_On       FT_CURVE_TAG_ON
-#define  FT_Curve_Tag_Conic    FT_CURVE_TAG_CONIC
-#define  FT_Curve_Tag_Cubic    FT_CURVE_TAG_CUBIC
-#define  FT_Curve_Tag_Touch_X  FT_CURVE_TAG_TOUCH_X
-#define  FT_Curve_Tag_Touch_Y  FT_CURVE_TAG_TOUCH_Y
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <FuncType>                                                            */
-  /*    FT_Outline_MoveToFunc                                              */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    A function pointer type used to describe the signature of a `move  */
-  /*    to' function during outline walking/decomposition.                 */
-  /*                                                                       */
-  /*    A `move to' is emitted to start a new contour in an outline.       */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    to   :: A pointer to the target point of the `move to'.            */
-  /*                                                                       */
-  /*    user :: A typeless pointer which is passed from the caller of the  */
-  /*            decomposition function.                                    */
-  /*                                                                       */
-  /* <Return>                                                              */
-  /*    Error code.  0 means success.                                      */
-  /*                                                                       */
-  typedef int
-  (*FT_Outline_MoveToFunc)( const FT_Vector*  to,
-                            void*             user );
-
-#define FT_Outline_MoveTo_Func  FT_Outline_MoveToFunc
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <FuncType>                                                            */
-  /*    FT_Outline_LineToFunc                                              */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    A function pointer type used to describe the signature of a `line  */
-  /*    to' function during outline walking/decomposition.                 */
-  /*                                                                       */
-  /*    A `line to' is emitted to indicate a segment in the outline.       */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    to   :: A pointer to the target point of the `line to'.            */
-  /*                                                                       */
-  /*    user :: A typeless pointer which is passed from the caller of the  */
-  /*            decomposition function.                                    */
-  /*                                                                       */
-  /* <Return>                                                              */
-  /*    Error code.  0 means success.                                      */
-  /*                                                                       */
-  typedef int
-  (*FT_Outline_LineToFunc)( const FT_Vector*  to,
-                            void*             user );
-
-#define  FT_Outline_LineTo_Func  FT_Outline_LineToFunc
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <FuncType>                                                            */
-  /*    FT_Outline_ConicToFunc                                             */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    A function pointer type use to describe the signature of a `conic  */
-  /*    to' function during outline walking/decomposition.                 */
-  /*                                                                       */
-  /*    A `conic to' is emitted to indicate a second-order Bézier arc in   */
-  /*    the outline.                                                       */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    control :: An intermediate control point between the last position */
-  /*               and the new target in `to'.                             */
-  /*                                                                       */
-  /*    to      :: A pointer to the target end point of the conic arc.     */
-  /*                                                                       */
-  /*    user    :: A typeless pointer which is passed from the caller of   */
-  /*               the decomposition function.                             */
-  /*                                                                       */
-  /* <Return>                                                              */
-  /*    Error code.  0 means success.                                      */
-  /*                                                                       */
-  typedef int
-  (*FT_Outline_ConicToFunc)( const FT_Vector*  control,
-                             const FT_Vector*  to,
-                             void*             user );
-
-#define  FT_Outline_ConicTo_Func  FT_Outline_ConicToFunc
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <FuncType>                                                            */
-  /*    FT_Outline_CubicToFunc                                             */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    A function pointer type used to describe the signature of a `cubic */
-  /*    to' function during outline walking/decomposition.                 */
-  /*                                                                       */
-  /*    A `cubic to' is emitted to indicate a third-order Bézier arc.      */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    control1 :: A pointer to the first Bézier control point.           */
-  /*                                                                       */
-  /*    control2 :: A pointer to the second Bézier control point.          */
-  /*                                                                       */
-  /*    to       :: A pointer to the target end point.                     */
-  /*                                                                       */
-  /*    user     :: A typeless pointer which is passed from the caller of  */
-  /*                the decomposition function.                            */
-  /*                                                                       */
-  /* <Return>                                                              */
-  /*    Error code.  0 means success.                                      */
-  /*                                                                       */
-  typedef int
-  (*FT_Outline_CubicToFunc)( const FT_Vector*  control1,
-                             const FT_Vector*  control2,
-                             const FT_Vector*  to,
-                             void*             user );
-
-#define  FT_Outline_CubicTo_Func  FT_Outline_CubicToFunc
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Struct>                                                              */
-  /*    FT_Outline_Funcs                                                   */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    A structure to hold various function pointers used during outline  */
-  /*    decomposition in order to emit segments, conic, and cubic Béziers, */
-  /*    as well as `move to' and `close to' operations.                    */
-  /*                                                                       */
-  /* <Fields>                                                              */
-  /*    move_to  :: The `move to' emitter.                                 */
-  /*                                                                       */
-  /*    line_to  :: The segment emitter.                                   */
-  /*                                                                       */
-  /*    conic_to :: The second-order Bézier arc emitter.                   */
-  /*                                                                       */
-  /*    cubic_to :: The third-order Bézier arc emitter.                    */
-  /*                                                                       */
-  /*    shift    :: The shift that is applied to coordinates before they   */
-  /*                are sent to the emitter.                               */
-  /*                                                                       */
-  /*    delta    :: The delta that is applied to coordinates before they   */
-  /*                are sent to the emitter, but after the shift.          */
-  /*                                                                       */
-  /* <Note>                                                                */
-  /*    The point coordinates sent to the emitters are the transformed     */
-  /*    version of the original coordinates (this is important for high    */
-  /*    accuracy during scan-conversion).  The transformation is simple:   */
-  /*                                                                       */
-  /*    {                                                                  */
-  /*      x' = (x << shift) - delta                                        */
-  /*      y' = (x << shift) - delta                                        */
-  /*    }                                                                  */
-  /*                                                                       */
-  /*    Set the value of `shift' and `delta' to 0 to get the original      */
-  /*    point coordinates.                                                 */
-  /*                                                                       */
-  typedef struct  FT_Outline_Funcs_
-  {
-    FT_Outline_MoveToFunc   move_to;
-    FT_Outline_LineToFunc   line_to;
-    FT_Outline_ConicToFunc  conic_to;
-    FT_Outline_CubicToFunc  cubic_to;
-
-    int                     shift;
-    FT_Pos                  delta;
-
-  } FT_Outline_Funcs;
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Section>                                                             */
-  /*    basic_types                                                        */
-  /*                                                                       */
-  /*************************************************************************/
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Macro>                                                               */
-  /*    FT_IMAGE_TAG                                                       */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    This macro converts four-letter tags to an unsigned long type.     */
-  /*                                                                       */
-  /* <Note>                                                                */
-  /*    Since many 16bit compilers don't like 32bit enumerations, you      */
-  /*    should redefine this macro in case of problems to something like   */
-  /*    this:                                                              */
-  /*                                                                       */
-  /*    {                                                                  */
-  /*      #define FT_IMAGE_TAG( value, _x1, _x2, _x3, _x4 )  value         */
-  /*    }                                                                  */
-  /*                                                                       */
-  /*    to get a simple enumeration without assigning special numbers.     */
-  /*                                                                       */
-#ifndef FT_IMAGE_TAG
-#define FT_IMAGE_TAG( value, _x1, _x2, _x3, _x4 )  \
-          value = ( ( (unsigned long)_x1 << 24 ) | \
-                    ( (unsigned long)_x2 << 16 ) | \
-                    ( (unsigned long)_x3 << 8  ) | \
-                      (unsigned long)_x4         )
-#endif /* FT_IMAGE_TAG */
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Enum>                                                                */
-  /*    FT_Glyph_Format                                                    */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    An enumeration type used to describe the format of a given glyph   */
-  /*    image.  Note that this version of FreeType only supports two image */
-  /*    formats, even though future font drivers will be able to register  */
-  /*    their own format.                                                  */
-  /*                                                                       */
-  /* <Values>                                                              */
-  /*    FT_GLYPH_FORMAT_NONE ::                                            */
-  /*      The value 0 is reserved.                                         */
-  /*                                                                       */
-  /*    FT_GLYPH_FORMAT_COMPOSITE ::                                       */
-  /*      The glyph image is a composite of several other images.  This    */
-  /*      format is _only_ used with @FT_LOAD_NO_RECURSE, and is used to   */
-  /*      report compound glyphs (like accented characters).               */
-  /*                                                                       */
-  /*    FT_GLYPH_FORMAT_BITMAP ::                                          */
-  /*      The glyph image is a bitmap, and can be described as an          */
-  /*      @FT_Bitmap.  You generally need to access the `bitmap' field of  */
-  /*      the @FT_GlyphSlotRec structure to read it.                       */
-  /*                                                                       */
-  /*    FT_GLYPH_FORMAT_OUTLINE ::                                         */
-  /*      The glyph image is a vectorial outline made of line segments     */
-  /*      and Bézier arcs; it can be described as an @FT_Outline; you      */
-  /*      generally want to access the `outline' field of the              */
-  /*      @FT_GlyphSlotRec structure to read it.                           */
-  /*                                                                       */
-  /*    FT_GLYPH_FORMAT_PLOTTER ::                                         */
-  /*      The glyph image is a vectorial path with no inside and outside   */
-  /*      contours.  Some Type 1 fonts, like those in the Hershey family,  */
-  /*      contain glyphs in this format.  These are described as           */
-  /*      @FT_Outline, but FreeType isn't currently capable of rendering   */
-  /*      them correctly.                                                  */
-  /*                                                                       */
-  typedef enum  FT_Glyph_Format_
-  {
-    FT_IMAGE_TAG( FT_GLYPH_FORMAT_NONE, 0, 0, 0, 0 ),
-
-    FT_IMAGE_TAG( FT_GLYPH_FORMAT_COMPOSITE, 'c', 'o', 'm', 'p' ),
-    FT_IMAGE_TAG( FT_GLYPH_FORMAT_BITMAP,    'b', 'i', 't', 's' ),
-    FT_IMAGE_TAG( FT_GLYPH_FORMAT_OUTLINE,   'o', 'u', 't', 'l' ),
-    FT_IMAGE_TAG( FT_GLYPH_FORMAT_PLOTTER,   'p', 'l', 'o', 't' )
-
-  } FT_Glyph_Format;
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Enum>                                                                */
-  /*    ft_glyph_format_xxx                                                */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    A list of deprecated constants.  Use the corresponding             */
-  /*    @FT_Glyph_Format values instead.                                   */
-  /*                                                                       */
-  /* <Values>                                                              */
-  /*    ft_glyph_format_none      :: See @FT_GLYPH_FORMAT_NONE.            */
-  /*    ft_glyph_format_composite :: See @FT_GLYPH_FORMAT_COMPOSITE.       */
-  /*    ft_glyph_format_bitmap    :: See @FT_GLYPH_FORMAT_BITMAP.          */
-  /*    ft_glyph_format_outline   :: See @FT_GLYPH_FORMAT_OUTLINE.         */
-  /*    ft_glyph_format_plotter   :: See @FT_GLYPH_FORMAT_PLOTTER.         */
-  /*                                                                       */
-#define ft_glyph_format_none       FT_GLYPH_FORMAT_NONE
-#define ft_glyph_format_composite  FT_GLYPH_FORMAT_COMPOSITE
-#define ft_glyph_format_bitmap     FT_GLYPH_FORMAT_BITMAP
-#define ft_glyph_format_outline    FT_GLYPH_FORMAT_OUTLINE
-#define ft_glyph_format_plotter    FT_GLYPH_FORMAT_PLOTTER
-
-
-  /*************************************************************************/
-  /*************************************************************************/
-  /*************************************************************************/
-  /*****                                                               *****/
-  /*****            R A S T E R   D E F I N I T I O N S                *****/
-  /*****                                                               *****/
-  /*************************************************************************/
-  /*************************************************************************/
-  /*************************************************************************/
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* A raster is a scan converter, in charge of rendering an outline into  */
-  /* a a bitmap.  This section contains the public API for rasters.        */
-  /*                                                                       */
-  /* Note that in FreeType 2, all rasters are now encapsulated within      */
-  /* specific modules called `renderers'.  See `freetype/ftrender.h' for   */
-  /* more details on renderers.                                            */
-  /*                                                                       */
-  /*************************************************************************/
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Section>                                                             */
-  /*    raster                                                             */
-  /*                                                                       */
-  /* <Title>                                                               */
-  /*    Scanline Converter                                                 */
-  /*                                                                       */
-  /* <Abstract>                                                            */
-  /*    How vectorial outlines are converted into bitmaps and pixmaps.     */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    This section contains technical definitions.                       */
-  /*                                                                       */
-  /*************************************************************************/
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Type>                                                                */
-  /*    FT_Raster                                                          */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    A handle (pointer) to a raster object.  Each object can be used    */
-  /*    independently to convert an outline into a bitmap or pixmap.       */
-  /*                                                                       */
-  typedef struct FT_RasterRec_*  FT_Raster;
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Struct>                                                              */
-  /*    FT_Span                                                            */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    A structure used to model a single span of gray (or black) pixels  */
-  /*    when rendering a monochrome or anti-aliased bitmap.                */
-  /*                                                                       */
-  /* <Fields>                                                              */
-  /*    x        :: The span's horizontal start position.                  */
-  /*                                                                       */
-  /*    len      :: The span's length in pixels.                           */
-  /*                                                                       */
-  /*    coverage :: The span color/coverage, ranging from 0 (background)   */
-  /*                to 255 (foreground).  Only used for anti-aliased       */
-  /*                rendering.                                             */
-  /*                                                                       */
-  /* <Note>                                                                */
-  /*    This structure is used by the span drawing callback type named     */
-  /*    @FT_SpanFunc which takes the y-coordinate of the span as a         */
-  /*    a parameter.                                                       */
-  /*                                                                       */
-  /*    The coverage value is always between 0 and 255.                    */
-  /*                                                                       */
-  typedef struct  FT_Span_
-  {
-    short           x;
-    unsigned short  len;
-    unsigned char   coverage;
-
-  } FT_Span;
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <FuncType>                                                            */
-  /*    FT_SpanFunc                                                        */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    A function used as a call-back by the anti-aliased renderer in     */
-  /*    order to let client applications draw themselves the gray pixel    */
-  /*    spans on each scan line.                                           */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    y     :: The scanline's y-coordinate.                              */
-  /*                                                                       */
-  /*    count :: The number of spans to draw on this scanline.             */
-  /*                                                                       */
-  /*    spans :: A table of `count' spans to draw on the scanline.         */
-  /*                                                                       */
-  /*    user  :: User-supplied data that is passed to the callback.        */
-  /*                                                                       */
-  /* <Note>                                                                */
-  /*    This callback allows client applications to directly render the    */
-  /*    gray spans of the anti-aliased bitmap to any kind of surfaces.     */
-  /*                                                                       */
-  /*    This can be used to write anti-aliased outlines directly to a      */
-  /*    given background bitmap, and even perform translucency.            */
-  /*                                                                       */
-  /*    Note that the `count' field cannot be greater than a fixed value   */
-  /*    defined by the `FT_MAX_GRAY_SPANS' configuration macro in          */
-  /*    `ftoption.h'.  By default, this value is set to 32, which means    */
-  /*    that if there are more than 32 spans on a given scanline, the      */
-  /*    callback is called several times with the same `y' parameter in    */
-  /*    order to draw all callbacks.                                       */
-  /*                                                                       */
-  /*    Otherwise, the callback is only called once per scan-line, and     */
-  /*    only for those scanlines that do have `gray' pixels on them.       */
-  /*                                                                       */
-  typedef void
-  (*FT_SpanFunc)( int             y,
-                  int             count,
-                  const FT_Span*  spans,
-                  void*           user );
-
-#define FT_Raster_Span_Func   FT_SpanFunc
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <FuncType>                                                            */
-  /*    FT_Raster_BitTest_Func                                             */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    THIS TYPE IS DEPRECATED.  DO NOT USE IT.                           */
-  /*                                                                       */
-  /*    A function used as a call-back by the monochrome scan-converter    */
-  /*    to test whether a given target pixel is already set to the drawing */
-  /*    `color'.  These tests are crucial to implement drop-out control    */
-  /*    per-se the TrueType spec.                                          */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    y     :: The pixel's y-coordinate.                                 */
-  /*                                                                       */
-  /*    x     :: The pixel's x-coordinate.                                 */
-  /*                                                                       */
-  /*    user  :: User-supplied data that is passed to the callback.        */
-  /*                                                                       */
-  /* <Return>                                                              */
-  /*   1 if the pixel is `set', 0 otherwise.                               */
-  /*                                                                       */
-  typedef int
-  (*FT_Raster_BitTest_Func)( int    y,
-                             int    x,
-                             void*  user );
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <FuncType>                                                            */
-  /*    FT_Raster_BitSet_Func                                              */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    THIS TYPE IS DEPRECATED.  DO NOT USE IT.                           */
-  /*                                                                       */
-  /*    A function used as a call-back by the monochrome scan-converter    */
-  /*    to set an individual target pixel.  This is crucial to implement   */
-  /*    drop-out control according to the TrueType specification.          */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    y     :: The pixel's y-coordinate.                                 */
-  /*                                                                       */
-  /*    x     :: The pixel's x-coordinate.                                 */
-  /*                                                                       */
-  /*    user  :: User-supplied data that is passed to the callback.        */
-  /*                                                                       */
-  /* <Return>                                                              */
-  /*    1 if the pixel is `set', 0 otherwise.                              */
-  /*                                                                       */
-  typedef void
-  (*FT_Raster_BitSet_Func)( int    y,
-                            int    x,
-                            void*  user );
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Enum>                                                                */
-  /*    FT_RASTER_FLAG_XXX                                                 */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    A list of bit flag constants as used in the `flags' field of a     */
-  /*    @FT_Raster_Params structure.                                       */
-  /*                                                                       */
-  /* <Values>                                                              */
-  /*    FT_RASTER_FLAG_DEFAULT :: This value is 0.                         */
-  /*                                                                       */
-  /*    FT_RASTER_FLAG_AA      :: This flag is set to indicate that an     */
-  /*                              anti-aliased glyph image should be       */
-  /*                              generated.  Otherwise, it will be        */
-  /*                              monochrome (1-bit).                      */
-  /*                                                                       */
-  /*    FT_RASTER_FLAG_DIRECT  :: This flag is set to indicate direct      */
-  /*                              rendering.  In this mode, client         */
-  /*                              applications must provide their own span */
-  /*                              callback.  This lets them directly       */
-  /*                              draw or compose over an existing bitmap. */
-  /*                              If this bit is not set, the target       */
-  /*                              pixmap's buffer _must_ be zeroed before  */
-  /*                              rendering.                               */
-  /*                                                                       */
-  /*                              Note that for now, direct rendering is   */
-  /*                              only possible with anti-aliased glyphs.  */
-  /*                                                                       */
-  /*    FT_RASTER_FLAG_CLIP    :: This flag is only used in direct         */
-  /*                              rendering mode.  If set, the output will */
-  /*                              be clipped to a box specified in the     */
-  /*                              `clip_box' field of the                  */
-  /*                              @FT_Raster_Params structure.             */
-  /*                                                                       */
-  /*                              Note that by default, the glyph bitmap   */
-  /*                              is clipped to the target pixmap, except  */
-  /*                              in direct rendering mode where all spans */
-  /*                              are generated if no clipping box is set. */
-  /*                                                                       */
-#define FT_RASTER_FLAG_DEFAULT  0x0
-#define FT_RASTER_FLAG_AA       0x1
-#define FT_RASTER_FLAG_DIRECT   0x2
-#define FT_RASTER_FLAG_CLIP     0x4
-
-  /* deprecated */
-#define ft_raster_flag_default  FT_RASTER_FLAG_DEFAULT
-#define ft_raster_flag_aa       FT_RASTER_FLAG_AA
-#define ft_raster_flag_direct   FT_RASTER_FLAG_DIRECT
-#define ft_raster_flag_clip     FT_RASTER_FLAG_CLIP
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Struct>                                                              */
-  /*    FT_Raster_Params                                                   */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    A structure to hold the arguments used by a raster's render        */
-  /*    function.                                                          */
-  /*                                                                       */
-  /* <Fields>                                                              */
-  /*    target      :: The target bitmap.                                  */
-  /*                                                                       */
-  /*    source      :: A pointer to the source glyph image (e.g., an       */
-  /*                   @FT_Outline).                                       */
-  /*                                                                       */
-  /*    flags       :: The rendering flags.                                */
-  /*                                                                       */
-  /*    gray_spans  :: The gray span drawing callback.                     */
-  /*                                                                       */
-  /*    black_spans :: The black span drawing callback.                    */
-  /*                                                                       */
-  /*    bit_test    :: The bit test callback.  UNIMPLEMENTED!              */
-  /*                                                                       */
-  /*    bit_set     :: The bit set callback.  UNIMPLEMENTED!               */
-  /*                                                                       */
-  /*    user        :: User-supplied data that is passed to each drawing   */
-  /*                   callback.                                           */
-  /*                                                                       */
-  /*    clip_box    :: An optional clipping box.  It is only used in       */
-  /*                   direct rendering mode.  Note that coordinates here  */
-  /*                   should be expressed in _integer_ pixels (and not in */
-  /*                   26.6 fixed-point units).                            */
-  /*                                                                       */
-  /* <Note>                                                                */
-  /*    An anti-aliased glyph bitmap is drawn if the @FT_RASTER_FLAG_AA    */
-  /*    bit flag is set in the `flags' field, otherwise a monochrome       */
-  /*    bitmap is generated.                                               */
-  /*                                                                       */
-  /*    If the @FT_RASTER_FLAG_DIRECT bit flag is set in `flags', the      */
-  /*    raster will call the `gray_spans' callback to draw gray pixel      */
-  /*    spans, in the case of an aa glyph bitmap, it will call             */
-  /*    `black_spans', and `bit_test' and `bit_set' in the case of a       */
-  /*    monochrome bitmap.  This allows direct composition over a          */
-  /*    pre-existing bitmap through user-provided callbacks to perform the */
-  /*    span drawing/composition.                                          */
-  /*                                                                       */
-  /*    Note that the `bit_test' and `bit_set' callbacks are required when */
-  /*    rendering a monochrome bitmap, as they are crucial to implement    */
-  /*    correct drop-out control as defined in the TrueType specification. */
-  /*                                                                       */
-  typedef struct  FT_Raster_Params_
-  {
-    const FT_Bitmap*        target;
-    const void*             source;
-    int                     flags;
-    FT_SpanFunc             gray_spans;
-    FT_SpanFunc             black_spans;
-    FT_Raster_BitTest_Func  bit_test;     /* doesn't work! */
-    FT_Raster_BitSet_Func   bit_set;      /* doesn't work! */
-    void*                   user;
-    FT_BBox                 clip_box;
-
-  } FT_Raster_Params;
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <FuncType>                                                            */
-  /*    FT_Raster_NewFunc                                                  */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    A function used to create a new raster object.                     */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    memory :: A handle to the memory allocator.                        */
-  /*                                                                       */
-  /* <Output>                                                              */
-  /*    raster :: A handle to the new raster object.                       */
-  /*                                                                       */
-  /* <Return>                                                              */
-  /*    Error code.  0 means success.                                      */
-  /*                                                                       */
-  /* <Note>                                                                */
-  /*    The `memory' parameter is a typeless pointer in order to avoid     */
-  /*    un-wanted dependencies on the rest of the FreeType code.  In       */
-  /*    practice, it is an @FT_Memory object, i.e., a handle to the        */
-  /*    standard FreeType memory allocator.  However, this field can be    */
-  /*    completely ignored by a given raster implementation.               */
-  /*                                                                       */
-  typedef int
-  (*FT_Raster_NewFunc)( void*       memory,
-                        FT_Raster*  raster );
-
-#define  FT_Raster_New_Func    FT_Raster_NewFunc
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <FuncType>                                                            */
-  /*    FT_Raster_DoneFunc                                                 */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    A function used to destroy a given raster object.                  */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    raster :: A handle to the raster object.                           */
-  /*                                                                       */
-  typedef void
-  (*FT_Raster_DoneFunc)( FT_Raster  raster );
-
-#define  FT_Raster_Done_Func   FT_Raster_DoneFunc
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <FuncType>                                                            */
-  /*    FT_Raster_ResetFunc                                                */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    FreeType provides an area of memory called the `render pool',      */
-  /*    available to all registered rasters.  This pool can be freely used */
-  /*    during a given scan-conversion but is shared by all rasters.  Its  */
-  /*    content is thus transient.                                         */
-  /*                                                                       */
-  /*    This function is called each time the render pool changes, or just */
-  /*    after a new raster object is created.                              */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    raster    :: A handle to the new raster object.                    */
-  /*                                                                       */
-  /*    pool_base :: The address in memory of the render pool.             */
-  /*                                                                       */
-  /*    pool_size :: The size in bytes of the render pool.                 */
-  /*                                                                       */
-  /* <Note>                                                                */
-  /*    Rasters can ignore the render pool and rely on dynamic memory      */
-  /*    allocation if they want to (a handle to the memory allocator is    */
-  /*    passed to the raster constructor).  However, this is not           */
-  /*    recommended for efficiency purposes.                               */
-  /*                                                                       */
-  typedef void
-  (*FT_Raster_ResetFunc)( FT_Raster       raster,
-                          unsigned char*  pool_base,
-                          unsigned long   pool_size );
-
-#define  FT_Raster_Reset_Func   FT_Raster_ResetFunc
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <FuncType>                                                            */
-  /*    FT_Raster_SetModeFunc                                              */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    This function is a generic facility to change modes or attributes  */
-  /*    in a given raster.  This can be used for debugging purposes, or    */
-  /*    simply to allow implementation-specific `features' in a given      */
-  /*    raster module.                                                     */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    raster :: A handle to the new raster object.                       */
-  /*                                                                       */
-  /*    mode   :: A 4-byte tag used to name the mode or property.          */
-  /*                                                                       */
-  /*    args   :: A pointer to the new mode/property to use.               */
-  /*                                                                       */
-  typedef int
-  (*FT_Raster_SetModeFunc)( FT_Raster      raster,
-                            unsigned long  mode,
-                            void*          args );
-
-#define  FT_Raster_Set_Mode_Func  FT_Raster_SetModeFunc
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <FuncType>                                                            */
-  /*    FT_Raster_RenderFunc                                               */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*   Invokes a given raster to scan-convert a given glyph image into a   */
-  /*   target bitmap.                                                      */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    raster :: A handle to the raster object.                           */
-  /*                                                                       */
-  /*    params :: A pointer to an @FT_Raster_Params structure used to      */
-  /*              store the rendering parameters.                          */
-  /*                                                                       */
-  /* <Return>                                                              */
-  /*    Error code.  0 means success.                                      */
-  /*                                                                       */
-  /* <Note>                                                                */
-  /*    The exact format of the source image depends on the raster's glyph */
-  /*    format defined in its @FT_Raster_Funcs structure.  It can be an    */
-  /*    @FT_Outline or anything else in order to support a large array of  */
-  /*    glyph formats.                                                     */
-  /*                                                                       */
-  /*    Note also that the render function can fail and return a           */
-  /*    `FT_Err_Unimplemented_Feature' error code if the raster used does  */
-  /*    not support direct composition.                                    */
-  /*                                                                       */
-  /*    XXX: For now, the standard raster doesn't support direct           */
-  /*         composition but this should change for the final release (see */
-  /*         the files `demos/src/ftgrays.c' and `demos/src/ftgrays2.c'    */
-  /*         for examples of distinct implementations which support direct */
-  /*         composition).                                                 */
-  /*                                                                       */
-  typedef int
-  (*FT_Raster_RenderFunc)( FT_Raster                raster,
-                           const FT_Raster_Params*  params );
-
-#define  FT_Raster_Render_Func    FT_Raster_RenderFunc
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Struct>                                                              */
-  /*    FT_Raster_Funcs                                                    */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*   A structure used to describe a given raster class to the library.   */
-  /*                                                                       */
-  /* <Fields>                                                              */
-  /*    glyph_format  :: The supported glyph format for this raster.       */
-  /*                                                                       */
-  /*    raster_new    :: The raster constructor.                           */
-  /*                                                                       */
-  /*    raster_reset  :: Used to reset the render pool within the raster.  */
-  /*                                                                       */
-  /*    raster_render :: A function to render a glyph into a given bitmap. */
-  /*                                                                       */
-  /*    raster_done   :: The raster destructor.                            */
-  /*                                                                       */
-  typedef struct  FT_Raster_Funcs_
-  {
-    FT_Glyph_Format         glyph_format;
-    FT_Raster_NewFunc       raster_new;
-    FT_Raster_ResetFunc     raster_reset;
-    FT_Raster_SetModeFunc   raster_set_mode;
-    FT_Raster_RenderFunc    raster_render;
-    FT_Raster_DoneFunc      raster_done;
-
-  } FT_Raster_Funcs;
-
-
-  /* */
-
-
-FT_END_HEADER
-
-#endif /* __FTIMAGE_H__ */
-
-
-/* END */
-
-
-/* Local Variables: */
-/* coding: utf-8    */
-/* End:             */
diff --git a/CMU462/deps/freetype/include/freetype2/freetype/ftincrem.h b/CMU462/deps/freetype/include/freetype2/freetype/ftincrem.h
deleted file mode 100755
index 46bc8bd..0000000
--- a/CMU462/deps/freetype/include/freetype2/freetype/ftincrem.h
+++ /dev/null
@@ -1,331 +0,0 @@
-/***************************************************************************/
-/*                                                                         */
-/*  ftincrem.h                                                             */
-/*                                                                         */
-/*    FreeType incremental loading (specification).                        */
-/*                                                                         */
-/*  Copyright 2002, 2003, 2006, 2007 by                                    */
-/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
-/*                                                                         */
-/*  This file is part of the FreeType project, and may only be used,       */
-/*  modified, and distributed under the terms of the FreeType project      */
-/*  license, LICENSE.TXT.  By continuing to use, modify, or distribute     */
-/*  this file you indicate that you have read the license and              */
-/*  understand and accept it fully.                                        */
-/*                                                                         */
-/***************************************************************************/
-
-
-#ifndef __FTINCREM_H__
-#define __FTINCREM_H__
-
-#include <ft2build.h>
-#include FT_FREETYPE_H
-
-#ifdef FREETYPE_H
-#error "freetype.h of FreeType 1 has been loaded!"
-#error "Please fix the directory search order for header files"
-#error "so that freetype.h of FreeType 2 is found first."
-#endif
-
-
-FT_BEGIN_HEADER
-
- /***************************************************************************
-  *
-  * @section:
-  *    incremental
-  *
-  * @title:
-  *    Incremental Loading
-  *
-  * @abstract:
-  *    Custom Glyph Loading.
-  *
-  * @description:
-  *   This section contains various functions used to perform so-called
-  *   `incremental' glyph loading.  This is a mode where all glyphs loaded
-  *   from a given @FT_Face are provided by the client application,
-  *
-  *   Apart from that, all other tables are loaded normally from the font
-  *   file.  This mode is useful when FreeType is used within another
-  *   engine, e.g., a Postscript Imaging Processor.
-  *
-  *   To enable this mode, you must use @FT_Open_Face, passing an
-  *   @FT_Parameter with the @FT_PARAM_TAG_INCREMENTAL tag and an
-  *   @FT_Incremental_Interface value.  See the comments for
-  *   @FT_Incremental_InterfaceRec for an example.
-  *
-  */
-
-
- /***************************************************************************
-  *
-  * @type:
-  *   FT_Incremental
-  *
-  * @description:
-  *   An opaque type describing a user-provided object used to implement
-  *   `incremental' glyph loading within FreeType.  This is used to support
-  *   embedded fonts in certain environments (e.g., Postscript interpreters),
-  *   where the glyph data isn't in the font file, or must be overridden by
-  *   different values.
-  *
-  * @note:
-  *   It is up to client applications to create and implement @FT_Incremental
-  *   objects, as long as they provide implementations for the methods
-  *   @FT_Incremental_GetGlyphDataFunc, @FT_Incremental_FreeGlyphDataFunc
-  *   and @FT_Incremental_GetGlyphMetricsFunc.
-  *
-  *   See the description of @FT_Incremental_InterfaceRec to understand how
-  *   to use incremental objects with FreeType.
-  */
-  typedef struct FT_IncrementalRec_*  FT_Incremental;
-
-
- /***************************************************************************
-  *
-  * @struct:
-  *   FT_Incremental_Metrics
-  *
-  * @description:
-  *   A small structure used to contain the basic glyph metrics returned
-  *   by the @FT_Incremental_GetGlyphMetricsFunc method.
-  *
-  * @fields:
-  *   bearing_x ::
-  *     Left bearing, in font units.
-  *
-  *   bearing_y ::
-  *     Top bearing, in font units.
-  *
-  *   advance ::
-  *     Glyph advance, in font units.
-  *
-  * @note:
-  *   These correspond to horizontal or vertical metrics depending on the
-  *   value of the `vertical' argument to the function
-  *   @FT_Incremental_GetGlyphMetricsFunc.
-  */
-  typedef struct  FT_Incremental_MetricsRec_
-  {
-    FT_Long  bearing_x;
-    FT_Long  bearing_y;
-    FT_Long  advance;
-
-  } FT_Incremental_MetricsRec, *FT_Incremental_Metrics;
-
-
- /***************************************************************************
-  *
-  * @type:
-  *   FT_Incremental_GetGlyphDataFunc
-  *
-  * @description:
-  *   A function called by FreeType to access a given glyph's data bytes
-  *   during @FT_Load_Glyph or @FT_Load_Char if incremental loading is
-  *   enabled.
-  *
-  *   Note that the format of the glyph's data bytes depends on the font
-  *   file format.  For TrueType, it must correspond to the raw bytes within
-  *   the `glyf' table.  For Postscript formats, it must correspond to the
-  *   *unencrypted* charstring bytes, without any `lenIV' header.  It is
-  *   undefined for any other format.
-  *
-  * @input:
-  *   incremental ::
-  *     Handle to an opaque @FT_Incremental handle provided by the client
-  *     application.
-  *
-  *   glyph_index ::
-  *     Index of relevant glyph.
-  *
-  * @output:
-  *   adata ::
-  *     A structure describing the returned glyph data bytes (which will be
-  *     accessed as a read-only byte block).
-  *
-  * @return:
-  *   FreeType error code.  0 means success.
-  *
-  * @note:
-  *   If this function returns successfully the method
-  *   @FT_Incremental_FreeGlyphDataFunc will be called later to release
-  *   the data bytes.
-  *
-  *   Nested calls to @FT_Incremental_GetGlyphDataFunc can happen for
-  *   compound glyphs.
-  */
-  typedef FT_Error
-  (*FT_Incremental_GetGlyphDataFunc)( FT_Incremental  incremental,
-                                      FT_UInt         glyph_index,
-                                      FT_Data*        adata );
-
-
- /***************************************************************************
-  *
-  * @type:
-  *   FT_Incremental_FreeGlyphDataFunc
-  *
-  * @description:
-  *   A function used to release the glyph data bytes returned by a
-  *   successful call to @FT_Incremental_GetGlyphDataFunc.
-  *
-  * @input:
-  *   incremental ::
-  *     A handle to an opaque @FT_Incremental handle provided by the client
-  *     application.
-  *
-  *   data ::
-  *     A structure describing the glyph data bytes (which will be accessed
-  *     as a read-only byte block).
-  */
-  typedef void
-  (*FT_Incremental_FreeGlyphDataFunc)( FT_Incremental  incremental,
-                                       FT_Data*        data );
-
-
- /***************************************************************************
-  *
-  * @type:
-  *   FT_Incremental_GetGlyphMetricsFunc
-  *
-  * @description:
-  *   A function used to retrieve the basic metrics of a given glyph index
-  *   before accessing its data.  This is necessary because, in certain
-  *   formats like TrueType, the metrics are stored in a different place from
-  *   the glyph images proper.
-  *
-  * @input:
-  *   incremental ::
-  *     A handle to an opaque @FT_Incremental handle provided by the client
-  *     application.
-  *
-  *   glyph_index ::
-  *     Index of relevant glyph.
-  *
-  *   vertical ::
-  *     If true, return vertical metrics.
-  *
-  *   ametrics ::
-  *     This parameter is used for both input and output.
-  *     The original glyph metrics, if any, in font units.  If metrics are
-  *     not available all the values must be set to zero.
-  *
-  * @output:
-  *   ametrics ::
-  *     The replacement glyph metrics in font units.
-  *
-  */
-  typedef FT_Error
-  (*FT_Incremental_GetGlyphMetricsFunc)
-                      ( FT_Incremental              incremental,
-                        FT_UInt                     glyph_index,
-                        FT_Bool                     vertical,
-                        FT_Incremental_MetricsRec  *ametrics );
-
-
-  /**************************************************************************
-   *
-   * @struct:
-   *   FT_Incremental_FuncsRec
-   *
-   * @description:
-   *   A table of functions for accessing fonts that load data
-   *   incrementally.  Used in @FT_Incremental_InterfaceRec.
-   *
-   * @fields:
-   *   get_glyph_data ::
-   *     The function to get glyph data.  Must not be null.
-   *
-   *   free_glyph_data ::
-   *     The function to release glyph data.  Must not be null.
-   *
-   *   get_glyph_metrics ::
-   *     The function to get glyph metrics.  May be null if the font does
-   *     not provide overriding glyph metrics.
-   */
-  typedef struct  FT_Incremental_FuncsRec_
-  {
-    FT_Incremental_GetGlyphDataFunc     get_glyph_data;
-    FT_Incremental_FreeGlyphDataFunc    free_glyph_data;
-    FT_Incremental_GetGlyphMetricsFunc  get_glyph_metrics;
-
-  } FT_Incremental_FuncsRec;
-
-
- /***************************************************************************
-  *
-  * @struct:
-  *   FT_Incremental_InterfaceRec
-  *
-  * @description:
-  *   A structure to be used with @FT_Open_Face to indicate that the user
-  *   wants to support incremental glyph loading.  You should use it with
-  *   @FT_PARAM_TAG_INCREMENTAL as in the following example:
-  *
-  *     {
-  *       FT_Incremental_InterfaceRec  inc_int;
-  *       FT_Parameter                 parameter;
-  *       FT_Open_Args                 open_args;
-  *
-  *
-  *       // set up incremental descriptor
-  *       inc_int.funcs  = my_funcs;
-  *       inc_int.object = my_object;
-  *
-  *       // set up optional parameter
-  *       parameter.tag  = FT_PARAM_TAG_INCREMENTAL;
-  *       parameter.data = &inc_int;
-  *
-  *       // set up FT_Open_Args structure
-  *       open_args.flags      = FT_OPEN_PATHNAME | FT_OPEN_PARAMS;
-  *       open_args.pathname   = my_font_pathname;
-  *       open_args.num_params = 1;
-  *       open_args.params     = &parameter; // we use one optional argument
-  *
-  *       // open the font
-  *       error = FT_Open_Face( library, &open_args, index, &face );
-  *       ...
-  *     }
-  */
-  typedef struct  FT_Incremental_InterfaceRec_
-  {
-    const FT_Incremental_FuncsRec*  funcs;
-    FT_Incremental                  object;
-
-  } FT_Incremental_InterfaceRec;
-
-
- /***************************************************************************
-  *
-  * @type:
-  *   FT_Incremental_Interface
-  *
-  * @description:
-  *   A pointer to an @FT_Incremental_InterfaceRec structure.
-  *
-  */
-  typedef FT_Incremental_InterfaceRec*   FT_Incremental_Interface;
-
-
- /***************************************************************************
-  *
-  * @constant:
-  *   FT_PARAM_TAG_INCREMENTAL
-  *
-  * @description:
-  *   A constant used as the tag of @FT_Parameter structures to indicate
-  *   an incremental loading object to be used by FreeType.
-  *
-  */
-#define FT_PARAM_TAG_INCREMENTAL  FT_MAKE_TAG( 'i', 'n', 'c', 'r' )
-
- /* */
-
-FT_END_HEADER
-
-#endif /* __FTINCREM_H__ */
-
-
-/* END */
diff --git a/CMU462/deps/freetype/include/freetype2/freetype/ftlcdfil.h b/CMU462/deps/freetype/include/freetype2/freetype/ftlcdfil.h
deleted file mode 100755
index 9a61377..0000000
--- a/CMU462/deps/freetype/include/freetype2/freetype/ftlcdfil.h
+++ /dev/null
@@ -1,166 +0,0 @@
-/***************************************************************************/
-/*                                                                         */
-/*  ftlcdfil.h                                                             */
-/*                                                                         */
-/*    FreeType API for color filtering of subpixel bitmap glyphs           */
-/*    (specification).                                                     */
-/*                                                                         */
-/*  Copyright 2006, 2007 by                                                */
-/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
-/*                                                                         */
-/*  This file is part of the FreeType project, and may only be used,       */
-/*  modified, and distributed under the terms of the FreeType project      */
-/*  license, LICENSE.TXT.  By continuing to use, modify, or distribute     */
-/*  this file you indicate that you have read the license and              */
-/*  understand and accept it fully.                                        */
-/*                                                                         */
-/***************************************************************************/
-
-
-#ifndef __FT_LCD_FILTER_H__
-#define __FT_LCD_FILTER_H__
-
-#include <ft2build.h>
-#include FT_FREETYPE_H
-
-
-FT_BEGIN_HEADER
-
-  /***************************************************************************
-   *
-   * @section:
-   *   lcd_filtering
-   *
-   * @title:
-   *   LCD Filtering
-   *
-   * @abstract:
-   *   Reduce color fringes of LCD-optimized bitmaps.
-   *
-   * @description:
-   *   The @FT_Library_SetLcdFilter API can be used to specify a low-pass
-   *   filter which is then applied to LCD-optimized bitmaps generated
-   *   through @FT_Render_Glyph.  This is useful to reduce color fringes
-   *   which would occur with unfiltered rendering.
-   *
-   *   Note that no filter is active by default, and that this function is
-   *   *not* implemented in default builds of the library.  You need to
-   *   #define FT_CONFIG_OPTION_SUBPIXEL_RENDERING in your `ftoption.h' file
-   *   in order to activate it.
-   */
-
-
-  /****************************************************************************
-   *
-   * @func:
-   *   FT_LcdFilter
-   *
-   * @description:
-   *   A list of values to identify various types of LCD filters.
-   *
-   * @values:
-   *   FT_LCD_FILTER_NONE ::
-   *     Do not perform filtering.  When used with subpixel rendering, this
-   *     results in sometimes severe color fringes.
-   *
-   *   FT_LCD_FILTER_DEFAULT ::
-   *     The default filter reduces color fringes considerably, at the cost
-   *     of a slight blurriness in the output.
-   *
-   *   FT_LCD_FILTER_LIGHT ::
-   *     The light filter is a variant that produces less blurriness at the
-   *     cost of slightly more color fringes than the default one.  It might
-   *     be better, depending on taste, your monitor, or your personal vision.
-   *
-   *   FT_LCD_FILTER_LEGACY ::
-   *     This filter corresponds to the original libXft color filter.  It
-   *     provides high contrast output but can exhibit really bad color
-   *     fringes if glyphs are not extremely well hinted to the pixel grid.
-   *     In other words, it only works well if the TrueType bytecode
-   *     interpreter is enabled *and* high-quality hinted fonts are used.
-   *
-   *     This filter is only provided for comparison purposes, and might be
-   *     disabled or stay unsupported in the future.
-   *
-   * @since:
-   *   2.3.0
-   */
-  typedef enum
-  {
-    FT_LCD_FILTER_NONE    = 0,
-    FT_LCD_FILTER_DEFAULT = 1,
-    FT_LCD_FILTER_LIGHT   = 2,
-    FT_LCD_FILTER_LEGACY  = 16,
-
-    FT_LCD_FILTER_MAX   /* do not remove */
-
-  } FT_LcdFilter;
-
-
-  /**************************************************************************
-   *
-   * @func:
-   *   FT_Library_SetLcdFilter
-   *
-   * @description:
-   *   This function is used to apply color filtering to LCD decimated
-   *   bitmaps, like the ones used when calling @FT_Render_Glyph with
-   *   @FT_RENDER_MODE_LCD or @FT_RENDER_MODE_LCD_V.
-   *
-   * @input:
-   *   library ::
-   *     A handle to the target library instance.
-   *
-   *   filter ::
-   *     The filter type.
-   *
-   *     You can use @FT_LCD_FILTER_NONE here to disable this feature, or
-   *     @FT_LCD_FILTER_DEFAULT to use a default filter that should work
-   *     well on most LCD screens.
-   *
-   * @return:
-   *   FreeType error code.  0 means success.
-   *
-   * @note:
-   *   This feature is always disabled by default.  Clients must make an
-   *   explicit call to this function with a `filter' value other than
-   *   @FT_LCD_FILTER_NONE in order to enable it.
-   *
-   *   Due to *PATENTS* covering subpixel rendering, this function doesn't
-   *   do anything except returning `FT_Err_Unimplemented_Feature' if the
-   *   configuration macro FT_CONFIG_OPTION_SUBPIXEL_RENDERING is not
-   *   defined in your build of the library, which should correspond to all
-   *   default builds of FreeType.
-   *
-   *   The filter affects glyph bitmaps rendered through @FT_Render_Glyph,
-   *   @FT_Outline_Get_Bitmap, @FT_Load_Glyph, and @FT_Load_Char.
-   *
-   *   It does _not_ affect the output of @FT_Outline_Render and
-   *   @FT_Outline_Get_Bitmap.
-   *
-   *   If this feature is activated, the dimensions of LCD glyph bitmaps are
-   *   either larger or taller than the dimensions of the corresponding
-   *   outline with regards to the pixel grid.  For example, for
-   *   @FT_RENDER_MODE_LCD, the filter adds up to 3 pixels to the left, and
-   *   up to 3 pixels to the right.
-   *
-   *   The bitmap offset values are adjusted correctly, so clients shouldn't
-   *   need to modify their layout and glyph positioning code when enabling
-   *   the filter.
-   *
-   * @since:
-   *   2.3.0
-   */
-  FT_EXPORT( FT_Error )
-  FT_Library_SetLcdFilter( FT_Library    library,
-                           FT_LcdFilter  filter );
-
-  /* */
-
-
-FT_END_HEADER
-
-#endif /* __FT_LCD_FILTER_H__ */
-
-
-/* END */
diff --git a/CMU462/deps/freetype/include/freetype2/freetype/ftlist.h b/CMU462/deps/freetype/include/freetype2/freetype/ftlist.h
deleted file mode 100755
index f3223ee..0000000
--- a/CMU462/deps/freetype/include/freetype2/freetype/ftlist.h
+++ /dev/null
@@ -1,273 +0,0 @@
-/***************************************************************************/
-/*                                                                         */
-/*  ftlist.h                                                               */
-/*                                                                         */
-/*    Generic list support for FreeType (specification).                   */
-/*                                                                         */
-/*  Copyright 1996-2001, 2003, 2007 by                                     */
-/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
-/*                                                                         */
-/*  This file is part of the FreeType project, and may only be used,       */
-/*  modified, and distributed under the terms of the FreeType project      */
-/*  license, LICENSE.TXT.  By continuing to use, modify, or distribute     */
-/*  this file you indicate that you have read the license and              */
-/*  understand and accept it fully.                                        */
-/*                                                                         */
-/***************************************************************************/
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /*  This file implements functions relative to list processing.  Its     */
-  /*  data structures are defined in `freetype.h'.                         */
-  /*                                                                       */
-  /*************************************************************************/
-
-
-#ifndef __FTLIST_H__
-#define __FTLIST_H__
-
-
-#include <ft2build.h>
-#include FT_FREETYPE_H
-
-#ifdef FREETYPE_H
-#error "freetype.h of FreeType 1 has been loaded!"
-#error "Please fix the directory search order for header files"
-#error "so that freetype.h of FreeType 2 is found first."
-#endif
-
-
-FT_BEGIN_HEADER
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Section>                                                             */
-  /*    list_processing                                                    */
-  /*                                                                       */
-  /* <Title>                                                               */
-  /*    List Processing                                                    */
-  /*                                                                       */
-  /* <Abstract>                                                            */
-  /*    Simple management of lists.                                        */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    This section contains various definitions related to list          */
-  /*    processing using doubly-linked nodes.                              */
-  /*                                                                       */
-  /* <Order>                                                               */
-  /*    FT_List                                                            */
-  /*    FT_ListNode                                                        */
-  /*    FT_ListRec                                                         */
-  /*    FT_ListNodeRec                                                     */
-  /*                                                                       */
-  /*    FT_List_Add                                                        */
-  /*    FT_List_Insert                                                     */
-  /*    FT_List_Find                                                       */
-  /*    FT_List_Remove                                                     */
-  /*    FT_List_Up                                                         */
-  /*    FT_List_Iterate                                                    */
-  /*    FT_List_Iterator                                                   */
-  /*    FT_List_Finalize                                                   */
-  /*    FT_List_Destructor                                                 */
-  /*                                                                       */
-  /*************************************************************************/
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Function>                                                            */
-  /*    FT_List_Find                                                       */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    Finds the list node for a given listed object.                     */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    list :: A pointer to the parent list.                              */
-  /*    data :: The address of the listed object.                          */
-  /*                                                                       */
-  /* <Return>                                                              */
-  /*    List node.  NULL if it wasn't found.                               */
-  /*                                                                       */
-  FT_EXPORT( FT_ListNode )
-  FT_List_Find( FT_List  list,
-                void*    data );
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Function>                                                            */
-  /*    FT_List_Add                                                        */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    Appends an element to the end of a list.                           */
-  /*                                                                       */
-  /* <InOut>                                                               */
-  /*    list :: A pointer to the parent list.                              */
-  /*    node :: The node to append.                                        */
-  /*                                                                       */
-  FT_EXPORT( void )
-  FT_List_Add( FT_List      list,
-               FT_ListNode  node );
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Function>                                                            */
-  /*    FT_List_Insert                                                     */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    Inserts an element at the head of a list.                          */
-  /*                                                                       */
-  /* <InOut>                                                               */
-  /*    list :: A pointer to parent list.                                  */
-  /*    node :: The node to insert.                                        */
-  /*                                                                       */
-  FT_EXPORT( void )
-  FT_List_Insert( FT_List      list,
-                  FT_ListNode  node );
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Function>                                                            */
-  /*    FT_List_Remove                                                     */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    Removes a node from a list.  This function doesn't check whether   */
-  /*    the node is in the list!                                           */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    node :: The node to remove.                                        */
-  /*                                                                       */
-  /* <InOut>                                                               */
-  /*    list :: A pointer to the parent list.                              */
-  /*                                                                       */
-  FT_EXPORT( void )
-  FT_List_Remove( FT_List      list,
-                  FT_ListNode  node );
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Function>                                                            */
-  /*    FT_List_Up                                                         */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    Moves a node to the head/top of a list.  Used to maintain LRU      */
-  /*    lists.                                                             */
-  /*                                                                       */
-  /* <InOut>                                                               */
-  /*    list :: A pointer to the parent list.                              */
-  /*    node :: The node to move.                                          */
-  /*                                                                       */
-  FT_EXPORT( void )
-  FT_List_Up( FT_List      list,
-              FT_ListNode  node );
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <FuncType>                                                            */
-  /*    FT_List_Iterator                                                   */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    An FT_List iterator function which is called during a list parse   */
-  /*    by @FT_List_Iterate.                                               */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    node :: The current iteration list node.                           */
-  /*                                                                       */
-  /*    user :: A typeless pointer passed to @FT_List_Iterate.             */
-  /*            Can be used to point to the iteration's state.             */
-  /*                                                                       */
-  typedef FT_Error
-  (*FT_List_Iterator)( FT_ListNode  node,
-                       void*        user );
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Function>                                                            */
-  /*    FT_List_Iterate                                                    */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    Parses a list and calls a given iterator function on each element. */
-  /*    Note that parsing is stopped as soon as one of the iterator calls  */
-  /*    returns a non-zero value.                                          */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    list     :: A handle to the list.                                  */
-  /*    iterator :: An iterator function, called on each node of the list. */
-  /*    user     :: A user-supplied field which is passed as the second    */
-  /*                argument to the iterator.                              */
-  /*                                                                       */
-  /* <Return>                                                              */
-  /*    The result (a FreeType error code) of the last iterator call.      */
-  /*                                                                       */
-  FT_EXPORT( FT_Error )
-  FT_List_Iterate( FT_List           list,
-                   FT_List_Iterator  iterator,
-                   void*             user );
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <FuncType>                                                            */
-  /*    FT_List_Destructor                                                 */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    An @FT_List iterator function which is called during a list        */
-  /*    finalization by @FT_List_Finalize to destroy all elements in a     */
-  /*    given list.                                                        */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    system :: The current system object.                               */
-  /*                                                                       */
-  /*    data   :: The current object to destroy.                           */
-  /*                                                                       */
-  /*    user   :: A typeless pointer passed to @FT_List_Iterate.  It can   */
-  /*              be used to point to the iteration's state.               */
-  /*                                                                       */
-  typedef void
-  (*FT_List_Destructor)( FT_Memory  memory,
-                         void*      data,
-                         void*      user );
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Function>                                                            */
-  /*    FT_List_Finalize                                                   */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    Destroys all elements in the list as well as the list itself.      */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    list    :: A handle to the list.                                   */
-  /*                                                                       */
-  /*    destroy :: A list destructor that will be applied to each element  */
-  /*               of the list.                                            */
-  /*                                                                       */
-  /*    memory  :: The current memory object which handles deallocation.   */
-  /*                                                                       */
-  /*    user    :: A user-supplied field which is passed as the last       */
-  /*               argument to the destructor.                             */
-  /*                                                                       */
-  FT_EXPORT( void )
-  FT_List_Finalize( FT_List             list,
-                    FT_List_Destructor  destroy,
-                    FT_Memory           memory,
-                    void*               user );
-
-
-  /* */
-
-
-FT_END_HEADER
-
-#endif /* __FTLIST_H__ */
-
-
-/* END */
diff --git a/CMU462/deps/freetype/include/freetype2/freetype/ftlzw.h b/CMU462/deps/freetype/include/freetype2/freetype/ftlzw.h
deleted file mode 100755
index d950653..0000000
--- a/CMU462/deps/freetype/include/freetype2/freetype/ftlzw.h
+++ /dev/null
@@ -1,99 +0,0 @@
-/***************************************************************************/
-/*                                                                         */
-/*  ftlzw.h                                                                */
-/*                                                                         */
-/*    LZW-compressed stream support.                                       */
-/*                                                                         */
-/*  Copyright 2004, 2006 by                                                */
-/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
-/*                                                                         */
-/*  This file is part of the FreeType project, and may only be used,       */
-/*  modified, and distributed under the terms of the FreeType project      */
-/*  license, LICENSE.TXT.  By continuing to use, modify, or distribute     */
-/*  this file you indicate that you have read the license and              */
-/*  understand and accept it fully.                                        */
-/*                                                                         */
-/***************************************************************************/
-
-
-#ifndef __FTLZW_H__
-#define __FTLZW_H__
-
-#include <ft2build.h>
-#include FT_FREETYPE_H
-
-#ifdef FREETYPE_H
-#error "freetype.h of FreeType 1 has been loaded!"
-#error "Please fix the directory search order for header files"
-#error "so that freetype.h of FreeType 2 is found first."
-#endif
-
-
-FT_BEGIN_HEADER
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Section>                                                             */
-  /*    lzw                                                                */
-  /*                                                                       */
-  /* <Title>                                                               */
-  /*    LZW Streams                                                        */
-  /*                                                                       */
-  /* <Abstract>                                                            */
-  /*    Using LZW-compressed font files.                                   */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    This section contains the declaration of LZW-specific functions.   */
-  /*                                                                       */
-  /*************************************************************************/
-
- /************************************************************************
-  *
-  * @function:
-  *   FT_Stream_OpenLZW
-  *
-  * @description:
-  *   Open a new stream to parse LZW-compressed font files.  This is
-  *   mainly used to support the compressed `*.pcf.Z' fonts that come
-  *   with XFree86.
-  *
-  * @input:
-  *   stream :: The target embedding stream.
-  *
-  *   source :: The source stream.
-  *
-  * @return:
-  *   FreeType error code.  0 means success.
-  *
-  * @note:
-  *   The source stream must be opened _before_ calling this function.
-  *
-  *   Calling the internal function `FT_Stream_Close' on the new stream will
-  *   *not* call `FT_Stream_Close' on the source stream.  None of the stream
-  *   objects will be released to the heap.
-  *
-  *   The stream implementation is very basic and resets the decompression
-  *   process each time seeking backwards is needed within the stream
-  *
-  *   In certain builds of the library, LZW compression recognition is
-  *   automatically handled when calling @FT_New_Face or @FT_Open_Face.
-  *   This means that if no font driver is capable of handling the raw
-  *   compressed file, the library will try to open a LZW stream from it
-  *   and re-open the face with it.
-  *
-  *   This function may return `FT_Err_Unimplemented_Feature' if your build
-  *   of FreeType was not compiled with LZW support.
-  */
-  FT_EXPORT( FT_Error )
-  FT_Stream_OpenLZW( FT_Stream  stream,
-                     FT_Stream  source );
-
- /* */
-
-
-FT_END_HEADER
-
-#endif /* __FTLZW_H__ */
-
-
-/* END */
diff --git a/CMU462/deps/freetype/include/freetype2/freetype/ftmac.h b/CMU462/deps/freetype/include/freetype2/freetype/ftmac.h
deleted file mode 100755
index 3c6fafe..0000000
--- a/CMU462/deps/freetype/include/freetype2/freetype/ftmac.h
+++ /dev/null
@@ -1,272 +0,0 @@
-/***************************************************************************/
-/*                                                                         */
-/*  ftmac.h                                                                */
-/*                                                                         */
-/*    Additional Mac-specific API.                                         */
-/*                                                                         */
-/*  Copyright 1996-2001, 2004, 2006, 2007 by                               */
-/*  Just van Rossum, David Turner, Robert Wilhelm, and Werner Lemberg.     */
-/*                                                                         */
-/*  This file is part of the FreeType project, and may only be used,       */
-/*  modified, and distributed under the terms of the FreeType project      */
-/*  license, LICENSE.TXT.  By continuing to use, modify, or distribute     */
-/*  this file you indicate that you have read the license and              */
-/*  understand and accept it fully.                                        */
-/*                                                                         */
-/***************************************************************************/
-
-
-/***************************************************************************/
-/*                                                                         */
-/* NOTE: Include this file after <freetype/freetype.h> and after the       */
-/*       Mac-specific <Types.h> header (or any other Mac header that       */
-/*       includes <Types.h>); we use Handle type.                          */
-/*                                                                         */
-/***************************************************************************/
-
-
-#ifndef __FTMAC_H__
-#define __FTMAC_H__
-
-
-#include <ft2build.h>
-
-
-FT_BEGIN_HEADER
-
-
-/* gcc-3.4.1 and later can warn about functions tagged as deprecated */
-#ifndef FT_DEPRECATED_ATTRIBUTE
-#if defined(__GNUC__)                                               && \
-    ((__GNUC__ >= 4) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 1)))
-#define FT_DEPRECATED_ATTRIBUTE  __attribute__((deprecated))
-#else
-#define FT_DEPRECATED_ATTRIBUTE
-#endif
-#endif
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Section>                                                             */
-  /*    mac_specific                                                       */
-  /*                                                                       */
-  /* <Title>                                                               */
-  /*    Mac Specific Interface                                             */
-  /*                                                                       */
-  /* <Abstract>                                                            */
-  /*    Only available on the Macintosh.                                   */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    The following definitions are only available if FreeType is        */
-  /*    compiled on a Macintosh.                                           */
-  /*                                                                       */
-  /*************************************************************************/
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Function>                                                            */
-  /*    FT_New_Face_From_FOND                                              */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    Create a new face object from a FOND resource.                     */
-  /*                                                                       */
-  /* <InOut>                                                               */
-  /*    library    :: A handle to the library resource.                    */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    fond       :: A FOND resource.                                     */
-  /*                                                                       */
-  /*    face_index :: Only supported for the -1 `sanity check' special     */
-  /*                  case.                                                */
-  /*                                                                       */
-  /* <Output>                                                              */
-  /*    aface      :: A handle to a new face object.                       */
-  /*                                                                       */
-  /* <Return>                                                              */
-  /*    FreeType error code.  0 means success.                             */
-  /*                                                                       */
-  /* <Notes>                                                               */
-  /*    This function can be used to create @FT_Face objects from fonts    */
-  /*    that are installed in the system as follows.                       */
-  /*                                                                       */
-  /*    {                                                                  */
-  /*      fond = GetResource( 'FOND', fontName );                          */
-  /*      error = FT_New_Face_From_FOND( library, fond, 0, &face );        */
-  /*    }                                                                  */
-  /*                                                                       */
-  FT_EXPORT( FT_Error )
-  FT_New_Face_From_FOND( FT_Library  library,
-                         Handle      fond,
-                         FT_Long     face_index,
-                         FT_Face    *aface );
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Function>                                                            */
-  /*    FT_GetFile_From_Mac_Name                                           */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    Return an FSSpec for the disk file containing the named font.      */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    fontName   :: Mac OS name of the font (e.g., Times New Roman       */
-  /*                  Bold).                                               */
-  /*                                                                       */
-  /* <Output>                                                              */
-  /*    pathSpec   :: FSSpec to the file.  For passing to                  */
-  /*                  @FT_New_Face_From_FSSpec.                            */
-  /*                                                                       */
-  /*    face_index :: Index of the face.  For passing to                   */
-  /*                  @FT_New_Face_From_FSSpec.                            */
-  /*                                                                       */
-  /* <Return>                                                              */
-  /*    FreeType error code.  0 means success.                             */
-  /*                                                                       */
-  FT_EXPORT( FT_Error )
-  FT_GetFile_From_Mac_Name( const char*  fontName,
-                            FSSpec*      pathSpec,
-                            FT_Long*     face_index )
-                          FT_DEPRECATED_ATTRIBUTE;
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Function>                                                            */
-  /*    FT_GetFile_From_Mac_ATS_Name                                       */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    Return an FSSpec for the disk file containing the named font.      */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    fontName   :: Mac OS name of the font in ATS framework.            */
-  /*                                                                       */
-  /* <Output>                                                              */
-  /*    pathSpec   :: FSSpec to the file. For passing to                   */
-  /*                  @FT_New_Face_From_FSSpec.                            */
-  /*                                                                       */
-  /*    face_index :: Index of the face. For passing to                    */
-  /*                  @FT_New_Face_From_FSSpec.                            */
-  /*                                                                       */
-  /* <Return>                                                              */
-  /*    FreeType error code.  0 means success.                             */
-  /*                                                                       */
-  FT_EXPORT( FT_Error )
-  FT_GetFile_From_Mac_ATS_Name( const char*  fontName,
-                                FSSpec*      pathSpec,
-                                FT_Long*     face_index )
-                              FT_DEPRECATED_ATTRIBUTE;
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Function>                                                            */
-  /*    FT_GetFilePath_From_Mac_ATS_Name                                   */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    Return a pathname of the disk file and face index for given font   */
-  /*    name which is handled by ATS framework.                            */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    fontName    :: Mac OS name of the font in ATS framework.           */
-  /*                                                                       */
-  /* <Output>                                                              */
-  /*    path        :: Buffer to store pathname of the file.  For passing  */
-  /*                   to @FT_New_Face.  The client must allocate this     */
-  /*                   buffer before calling this function.                */
-  /*                                                                       */
-  /*    maxPathSize :: Lengths of the buffer `path' that client allocated. */
-  /*                                                                       */
-  /*    face_index  :: Index of the face.  For passing to @FT_New_Face.    */
-  /*                                                                       */
-  /* <Return>                                                              */
-  /*    FreeType error code.  0 means success.                             */
-  /*                                                                       */
-  FT_EXPORT( FT_Error )
-  FT_GetFilePath_From_Mac_ATS_Name( const char*  fontName,
-                                    UInt8*       path,
-                                    UInt32       maxPathSize,
-                                    FT_Long*     face_index );
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Function>                                                            */
-  /*    FT_New_Face_From_FSSpec                                            */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    Create a new face object from a given resource and typeface index  */
-  /*    using an FSSpec to the font file.                                  */
-  /*                                                                       */
-  /* <InOut>                                                               */
-  /*    library    :: A handle to the library resource.                    */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    spec       :: FSSpec to the font file.                             */
-  /*                                                                       */
-  /*    face_index :: The index of the face within the resource.  The      */
-  /*                  first face has index 0.                              */
-  /* <Output>                                                              */
-  /*    aface      :: A handle to a new face object.                       */
-  /*                                                                       */
-  /* <Return>                                                              */
-  /*    FreeType error code.  0 means success.                             */
-  /*                                                                       */
-  /* <Note>                                                                */
-  /*    @FT_New_Face_From_FSSpec is identical to @FT_New_Face except       */
-  /*    it accepts an FSSpec instead of a path.                            */
-  /*                                                                       */
-  FT_EXPORT( FT_Error )
-  FT_New_Face_From_FSSpec( FT_Library     library,
-                           const FSSpec  *spec,
-                           FT_Long        face_index,
-                           FT_Face       *aface )
-                         FT_DEPRECATED_ATTRIBUTE;
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Function>                                                            */
-  /*    FT_New_Face_From_FSRef                                             */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    Create a new face object from a given resource and typeface index  */
-  /*    using an FSRef to the font file.                                   */
-  /*                                                                       */
-  /* <InOut>                                                               */
-  /*    library    :: A handle to the library resource.                    */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    spec       :: FSRef to the font file.                              */
-  /*                                                                       */
-  /*    face_index :: The index of the face within the resource.  The      */
-  /*                  first face has index 0.                              */
-  /* <Output>                                                              */
-  /*    aface      :: A handle to a new face object.                       */
-  /*                                                                       */
-  /* <Return>                                                              */
-  /*    FreeType error code.  0 means success.                             */
-  /*                                                                       */
-  /* <Note>                                                                */
-  /*    @FT_New_Face_From_FSRef is identical to @FT_New_Face except        */
-  /*    it accepts an FSRef instead of a path.                             */
-  /*                                                                       */
-  FT_EXPORT( FT_Error )
-  FT_New_Face_From_FSRef( FT_Library    library,
-                          const FSRef  *ref,
-                          FT_Long       face_index,
-                          FT_Face      *aface )
-                        FT_DEPRECATED_ATTRIBUTE;
-
-  /* */
-
-
-FT_END_HEADER
-
-
-#endif /* __FTMAC_H__ */
-
-
-/* END */
diff --git a/CMU462/deps/freetype/include/freetype2/freetype/ftmm.h b/CMU462/deps/freetype/include/freetype2/freetype/ftmm.h
deleted file mode 100755
index a9ccfe7..0000000
--- a/CMU462/deps/freetype/include/freetype2/freetype/ftmm.h
+++ /dev/null
@@ -1,378 +0,0 @@
-/***************************************************************************/
-/*                                                                         */
-/*  ftmm.h                                                                 */
-/*                                                                         */
-/*    FreeType Multiple Master font interface (specification).             */
-/*                                                                         */
-/*  Copyright 1996-2001, 2003, 2004, 2006 by                               */
-/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
-/*                                                                         */
-/*  This file is part of the FreeType project, and may only be used,       */
-/*  modified, and distributed under the terms of the FreeType project      */
-/*  license, LICENSE.TXT.  By continuing to use, modify, or distribute     */
-/*  this file you indicate that you have read the license and              */
-/*  understand and accept it fully.                                        */
-/*                                                                         */
-/***************************************************************************/
-
-
-#ifndef __FTMM_H__
-#define __FTMM_H__
-
-
-#include <ft2build.h>
-#include FT_TYPE1_TABLES_H
-
-
-FT_BEGIN_HEADER
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Section>                                                             */
-  /*    multiple_masters                                                   */
-  /*                                                                       */
-  /* <Title>                                                               */
-  /*    Multiple Masters                                                   */
-  /*                                                                       */
-  /* <Abstract>                                                            */
-  /*    How to manage Multiple Masters fonts.                              */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    The following types and functions are used to manage Multiple      */
-  /*    Master fonts, i.e., the selection of specific design instances by  */
-  /*    setting design axis coordinates.                                   */
-  /*                                                                       */
-  /*    George Williams has extended this interface to make it work with   */
-  /*    both Type 1 Multiple Masters fonts and GX distortable (var)        */
-  /*    fonts.  Some of these routines only work with MM fonts, others     */
-  /*    will work with both types.  They are similar enough that a         */
-  /*    consistent interface makes sense.                                  */
-  /*                                                                       */
-  /*************************************************************************/
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Struct>                                                              */
-  /*    FT_MM_Axis                                                         */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    A simple structure used to model a given axis in design space for  */
-  /*    Multiple Masters fonts.                                            */
-  /*                                                                       */
-  /*    This structure can't be used for GX var fonts.                     */
-  /*                                                                       */
-  /* <Fields>                                                              */
-  /*    name    :: The axis's name.                                        */
-  /*                                                                       */
-  /*    minimum :: The axis's minimum design coordinate.                   */
-  /*                                                                       */
-  /*    maximum :: The axis's maximum design coordinate.                   */
-  /*                                                                       */
-  typedef struct  FT_MM_Axis_
-  {
-    FT_String*  name;
-    FT_Long     minimum;
-    FT_Long     maximum;
-
-  } FT_MM_Axis;
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Struct>                                                              */
-  /*    FT_Multi_Master                                                    */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    A structure used to model the axes and space of a Multiple Masters */
-  /*    font.                                                              */
-  /*                                                                       */
-  /*    This structure can't be used for GX var fonts.                     */
-  /*                                                                       */
-  /* <Fields>                                                              */
-  /*    num_axis    :: Number of axes.  Cannot exceed 4.                   */
-  /*                                                                       */
-  /*    num_designs :: Number of designs; should be normally 2^num_axis    */
-  /*                   even though the Type 1 specification strangely      */
-  /*                   allows for intermediate designs to be present. This */
-  /*                   number cannot exceed 16.                            */
-  /*                                                                       */
-  /*    axis        :: A table of axis descriptors.                        */
-  /*                                                                       */
-  typedef struct  FT_Multi_Master_
-  {
-    FT_UInt     num_axis;
-    FT_UInt     num_designs;
-    FT_MM_Axis  axis[T1_MAX_MM_AXIS];
-
-  } FT_Multi_Master;
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Struct>                                                              */
-  /*    FT_Var_Axis                                                        */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    A simple structure used to model a given axis in design space for  */
-  /*    Multiple Masters and GX var fonts.                                 */
-  /*                                                                       */
-  /* <Fields>                                                              */
-  /*    name    :: The axis's name.                                        */
-  /*               Not always meaningful for GX.                           */
-  /*                                                                       */
-  /*    minimum :: The axis's minimum design coordinate.                   */
-  /*                                                                       */
-  /*    def     :: The axis's default design coordinate.                   */
-  /*               FreeType computes meaningful default values for MM; it  */
-  /*               is then an integer value, not in 16.16 format.          */
-  /*                                                                       */
-  /*    maximum :: The axis's maximum design coordinate.                   */
-  /*                                                                       */
-  /*    tag     :: The axis's tag (the GX equivalent to `name').           */
-  /*               FreeType provides default values for MM if possible.    */
-  /*                                                                       */
-  /*    strid   :: The entry in `name' table (another GX version of        */
-  /*               `name').                                                */
-  /*               Not meaningful for MM.                                  */
-  /*                                                                       */
-  typedef struct  FT_Var_Axis_
-  {
-    FT_String*  name;
-
-    FT_Fixed    minimum;
-    FT_Fixed    def;
-    FT_Fixed    maximum;
-
-    FT_ULong    tag;
-    FT_UInt     strid;
-
-  } FT_Var_Axis;
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Struct>                                                              */
-  /*    FT_Var_Named_Style                                                 */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    A simple structure used to model a named style in a GX var font.   */
-  /*                                                                       */
-  /*    This structure can't be used for MM fonts.                         */
-  /*                                                                       */
-  /* <Fields>                                                              */
-  /*    coords :: The design coordinates for this style.                   */
-  /*              This is an array with one entry for each axis.           */
-  /*                                                                       */
-  /*    strid  :: The entry in `name' table identifying this style.        */
-  /*                                                                       */
-  typedef struct  FT_Var_Named_Style_
-  {
-    FT_Fixed*  coords;
-    FT_UInt    strid;
-
-  } FT_Var_Named_Style;
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Struct>                                                              */
-  /*    FT_MM_Var                                                          */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    A structure used to model the axes and space of a Multiple Masters */
-  /*    or GX var distortable font.                                        */
-  /*                                                                       */
-  /*    Some fields are specific to one format and not to the other.       */
-  /*                                                                       */
-  /* <Fields>                                                              */
-  /*    num_axis        :: The number of axes.  The maximum value is 4 for */
-  /*                       MM; no limit in GX.                             */
-  /*                                                                       */
-  /*    num_designs     :: The number of designs; should be normally       */
-  /*                       2^num_axis for MM fonts.  Not meaningful for GX */
-  /*                       (where every glyph could have a different       */
-  /*                       number of designs).                             */
-  /*                                                                       */
-  /*    num_namedstyles :: The number of named styles; only meaningful for */
-  /*                       GX which allows certain design coordinates to   */
-  /*                       have a string ID (in the `name' table)          */
-  /*                       associated with them.  The font can tell the    */
-  /*                       user that, for example, Weight=1.5 is `Bold'.   */
-  /*                                                                       */
-  /*    axis            :: A table of axis descriptors.                    */
-  /*                       GX fonts contain slightly more data than MM.    */
-  /*                                                                       */
-  /*    namedstyles     :: A table of named styles.                        */
-  /*                       Only meaningful with GX.                        */
-  /*                                                                       */
-  typedef struct  FT_MM_Var_
-  {
-    FT_UInt              num_axis;
-    FT_UInt              num_designs;
-    FT_UInt              num_namedstyles;
-    FT_Var_Axis*         axis;
-    FT_Var_Named_Style*  namedstyle;
-
-  } FT_MM_Var;
-
-
-  /* */
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Function>                                                            */
-  /*    FT_Get_Multi_Master                                                */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    Retrieves the Multiple Master descriptor of a given font.          */
-  /*                                                                       */
-  /*    This function can't be used with GX fonts.                         */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    face    :: A handle to the source face.                            */
-  /*                                                                       */
-  /* <Output>                                                              */
-  /*    amaster :: The Multiple Masters descriptor.                        */
-  /*                                                                       */
-  /* <Return>                                                              */
-  /*    FreeType error code.  0 means success.                             */
-  /*                                                                       */
-  FT_EXPORT( FT_Error )
-  FT_Get_Multi_Master( FT_Face           face,
-                       FT_Multi_Master  *amaster );
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Function>                                                            */
-  /*    FT_Get_MM_Var                                                      */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    Retrieves the Multiple Master/GX var descriptor of a given font.   */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    face    :: A handle to the source face.                            */
-  /*                                                                       */
-  /* <Output>                                                              */
-  /*    amaster :: The Multiple Masters descriptor.                        */
-  /*               Allocates a data structure, which the user must free    */
-  /*               (a single call to FT_FREE will do it).                  */
-  /*                                                                       */
-  /* <Return>                                                              */
-  /*    FreeType error code.  0 means success.                             */
-  /*                                                                       */
-  FT_EXPORT( FT_Error )
-  FT_Get_MM_Var( FT_Face      face,
-                 FT_MM_Var*  *amaster );
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Function>                                                            */
-  /*    FT_Set_MM_Design_Coordinates                                       */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    For Multiple Masters fonts, choose an interpolated font design     */
-  /*    through design coordinates.                                        */
-  /*                                                                       */
-  /*    This function can't be used with GX fonts.                         */
-  /*                                                                       */
-  /* <InOut>                                                               */
-  /*    face       :: A handle to the source face.                         */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    num_coords :: The number of design coordinates (must be equal to   */
-  /*                  the number of axes in the font).                     */
-  /*                                                                       */
-  /*    coords     :: An array of design coordinates.                      */
-  /*                                                                       */
-  /* <Return>                                                              */
-  /*    FreeType error code.  0 means success.                             */
-  /*                                                                       */
-  FT_EXPORT( FT_Error )
-  FT_Set_MM_Design_Coordinates( FT_Face   face,
-                                FT_UInt   num_coords,
-                                FT_Long*  coords );
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Function>                                                            */
-  /*    FT_Set_Var_Design_Coordinates                                      */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    For Multiple Master or GX Var fonts, choose an interpolated font   */
-  /*    design through design coordinates.                                 */
-  /*                                                                       */
-  /* <InOut>                                                               */
-  /*    face       :: A handle to the source face.                         */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    num_coords :: The number of design coordinates (must be equal to   */
-  /*                  the number of axes in the font).                     */
-  /*                                                                       */
-  /*    coords     :: An array of design coordinates.                      */
-  /*                                                                       */
-  /* <Return>                                                              */
-  /*    FreeType error code.  0 means success.                             */
-  /*                                                                       */
-  FT_EXPORT( FT_Error )
-  FT_Set_Var_Design_Coordinates( FT_Face    face,
-                                 FT_UInt    num_coords,
-                                 FT_Fixed*  coords );
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Function>                                                            */
-  /*    FT_Set_MM_Blend_Coordinates                                        */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    For Multiple Masters and GX var fonts, choose an interpolated font */
-  /*    design through normalized blend coordinates.                       */
-  /*                                                                       */
-  /* <InOut>                                                               */
-  /*    face       :: A handle to the source face.                         */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    num_coords :: The number of design coordinates (must be equal to   */
-  /*                  the number of axes in the font).                     */
-  /*                                                                       */
-  /*    coords     :: The design coordinates array (each element must be   */
-  /*                  between 0 and 1.0).                                  */
-  /*                                                                       */
-  /* <Return>                                                              */
-  /*    FreeType error code.  0 means success.                             */
-  /*                                                                       */
-  FT_EXPORT( FT_Error )
-  FT_Set_MM_Blend_Coordinates( FT_Face    face,
-                               FT_UInt    num_coords,
-                               FT_Fixed*  coords );
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Function>                                                            */
-  /*    FT_Set_Var_Blend_Coordinates                                       */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    This is another name of @FT_Set_MM_Blend_Coordinates.              */
-  /*                                                                       */
-  FT_EXPORT( FT_Error )
-  FT_Set_Var_Blend_Coordinates( FT_Face    face,
-                                FT_UInt    num_coords,
-                                FT_Fixed*  coords );
-
-
-  /* */
-
-
-FT_END_HEADER
-
-#endif /* __FTMM_H__ */
-
-
-/* END */
diff --git a/CMU462/deps/freetype/include/freetype2/freetype/ftmodapi.h b/CMU462/deps/freetype/include/freetype2/freetype/ftmodapi.h
deleted file mode 100755
index 9cc32af..0000000
--- a/CMU462/deps/freetype/include/freetype2/freetype/ftmodapi.h
+++ /dev/null
@@ -1,406 +0,0 @@
-/***************************************************************************/
-/*                                                                         */
-/*  ftmodapi.h                                                             */
-/*                                                                         */
-/*    FreeType modules public interface (specification).                   */
-/*                                                                         */
-/*  Copyright 1996-2001, 2002, 2003, 2006 by                               */
-/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
-/*                                                                         */
-/*  This file is part of the FreeType project, and may only be used,       */
-/*  modified, and distributed under the terms of the FreeType project      */
-/*  license, LICENSE.TXT.  By continuing to use, modify, or distribute     */
-/*  this file you indicate that you have read the license and              */
-/*  understand and accept it fully.                                        */
-/*                                                                         */
-/***************************************************************************/
-
-
-#ifndef __FTMODAPI_H__
-#define __FTMODAPI_H__
-
-
-#include <ft2build.h>
-#include FT_FREETYPE_H
-
-#ifdef FREETYPE_H
-#error "freetype.h of FreeType 1 has been loaded!"
-#error "Please fix the directory search order for header files"
-#error "so that freetype.h of FreeType 2 is found first."
-#endif
-
-
-FT_BEGIN_HEADER
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Section>                                                             */
-  /*    module_management                                                  */
-  /*                                                                       */
-  /* <Title>                                                               */
-  /*    Module Management                                                  */
-  /*                                                                       */
-  /* <Abstract>                                                            */
-  /*    How to add, upgrade, and remove modules from FreeType.             */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    The definitions below are used to manage modules within FreeType.  */
-  /*    Modules can be added, upgraded, and removed at runtime.            */
-  /*                                                                       */
-  /*************************************************************************/
-
-
-  /* module bit flags */
-#define FT_MODULE_FONT_DRIVER         1  /* this module is a font driver  */
-#define FT_MODULE_RENDERER            2  /* this module is a renderer     */
-#define FT_MODULE_HINTER              4  /* this module is a glyph hinter */
-#define FT_MODULE_STYLER              8  /* this module is a styler       */
-
-#define FT_MODULE_DRIVER_SCALABLE     0x100   /* the driver supports      */
-                                              /* scalable fonts           */
-#define FT_MODULE_DRIVER_NO_OUTLINES  0x200   /* the driver does not      */
-                                              /* support vector outlines  */
-#define FT_MODULE_DRIVER_HAS_HINTER   0x400   /* the driver provides its  */
-                                              /* own hinter               */
-
-
-  /* deprecated values */
-#define ft_module_font_driver         FT_MODULE_FONT_DRIVER
-#define ft_module_renderer            FT_MODULE_RENDERER
-#define ft_module_hinter              FT_MODULE_HINTER
-#define ft_module_styler              FT_MODULE_STYLER
-
-#define ft_module_driver_scalable     FT_MODULE_DRIVER_SCALABLE
-#define ft_module_driver_no_outlines  FT_MODULE_DRIVER_NO_OUTLINES
-#define ft_module_driver_has_hinter   FT_MODULE_DRIVER_HAS_HINTER
-
-
-  typedef FT_Pointer  FT_Module_Interface;
-
-  typedef FT_Error
-  (*FT_Module_Constructor)( FT_Module  module );
-
-  typedef void
-  (*FT_Module_Destructor)( FT_Module  module );
-
-  typedef FT_Module_Interface
-  (*FT_Module_Requester)( FT_Module    module,
-                          const char*  name );
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Struct>                                                              */
-  /*    FT_Module_Class                                                    */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    The module class descriptor.                                       */
-  /*                                                                       */
-  /* <Fields>                                                              */
-  /*    module_flags    :: Bit flags describing the module.                */
-  /*                                                                       */
-  /*    module_size     :: The size of one module object/instance in       */
-  /*                       bytes.                                          */
-  /*                                                                       */
-  /*    module_name     :: The name of the module.                         */
-  /*                                                                       */
-  /*    module_version  :: The version, as a 16.16 fixed number            */
-  /*                       (major.minor).                                  */
-  /*                                                                       */
-  /*    module_requires :: The version of FreeType this module requires,   */
-  /*                       as a 16.16 fixed number (major.minor).  Starts  */
-  /*                       at version 2.0, i.e., 0x20000.                  */
-  /*                                                                       */
-  /*    module_init     :: A function used to initialize (not create) a    */
-  /*                       new module object.                              */
-  /*                                                                       */
-  /*    module_done     :: A function used to finalize (not destroy) a     */
-  /*                       given module object                             */
-  /*                                                                       */
-  /*    get_interface   :: Queries a given module for a specific           */
-  /*                       interface by name.                              */
-  /*                                                                       */
-  typedef struct  FT_Module_Class_
-  {
-    FT_ULong               module_flags;
-    FT_Long                module_size;
-    const FT_String*       module_name;
-    FT_Fixed               module_version;
-    FT_Fixed               module_requires;
-
-    const void*            module_interface;
-
-    FT_Module_Constructor  module_init;
-    FT_Module_Destructor   module_done;
-    FT_Module_Requester    get_interface;
-
-  } FT_Module_Class;
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Function>                                                            */
-  /*    FT_Add_Module                                                      */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    Adds a new module to a given library instance.                     */
-  /*                                                                       */
-  /* <InOut>                                                               */
-  /*    library :: A handle to the library object.                         */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    clazz   :: A pointer to class descriptor for the module.           */
-  /*                                                                       */
-  /* <Return>                                                              */
-  /*    FreeType error code.  0 means success.                             */
-  /*                                                                       */
-  /* <Note>                                                                */
-  /*    An error will be returned if a module already exists by that name, */
-  /*    or if the module requires a version of FreeType that is too great. */
-  /*                                                                       */
-  FT_EXPORT( FT_Error )
-  FT_Add_Module( FT_Library              library,
-                 const FT_Module_Class*  clazz );
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Function>                                                            */
-  /*    FT_Get_Module                                                      */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    Finds a module by its name.                                        */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    library     :: A handle to the library object.                     */
-  /*                                                                       */
-  /*    module_name :: The module's name (as an ASCII string).             */
-  /*                                                                       */
-  /* <Return>                                                              */
-  /*    A module handle.  0 if none was found.                             */
-  /*                                                                       */
-  /* <Note>                                                                */
-  /*    FreeType's internal modules aren't documented very well, and you   */
-  /*    should look up the source code for details.                        */
-  /*                                                                       */
-  FT_EXPORT( FT_Module )
-  FT_Get_Module( FT_Library   library,
-                 const char*  module_name );
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Function>                                                            */
-  /*    FT_Remove_Module                                                   */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    Removes a given module from a library instance.                    */
-  /*                                                                       */
-  /* <InOut>                                                               */
-  /*    library :: A handle to a library object.                           */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    module  :: A handle to a module object.                            */
-  /*                                                                       */
-  /* <Return>                                                              */
-  /*    FreeType error code.  0 means success.                             */
-  /*                                                                       */
-  /* <Note>                                                                */
-  /*    The module object is destroyed by the function in case of success. */
-  /*                                                                       */
-  FT_EXPORT( FT_Error )
-  FT_Remove_Module( FT_Library  library,
-                    FT_Module   module );
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Function>                                                            */
-  /*    FT_New_Library                                                     */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    This function is used to create a new FreeType library instance    */
-  /*    from a given memory object.  It is thus possible to use libraries  */
-  /*    with distinct memory allocators within the same program.           */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    memory   :: A handle to the original memory object.                */
-  /*                                                                       */
-  /* <Output>                                                              */
-  /*    alibrary :: A pointer to handle of a new library object.           */
-  /*                                                                       */
-  /* <Return>                                                              */
-  /*    FreeType error code.  0 means success.                             */
-  /*                                                                       */
-  FT_EXPORT( FT_Error )
-  FT_New_Library( FT_Memory    memory,
-                  FT_Library  *alibrary );
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Function>                                                            */
-  /*    FT_Done_Library                                                    */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    Discards a given library object.  This closes all drivers and      */
-  /*    discards all resource objects.                                     */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    library :: A handle to the target library.                         */
-  /*                                                                       */
-  /* <Return>                                                              */
-  /*    FreeType error code.  0 means success.                             */
-  /*                                                                       */
-  FT_EXPORT( FT_Error )
-  FT_Done_Library( FT_Library  library );
-
-/* */
-
-  typedef void
-  (*FT_DebugHook_Func)( void*  arg );
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Function>                                                            */
-  /*    FT_Set_Debug_Hook                                                  */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    Sets a debug hook function for debugging the interpreter of a font */
-  /*    format.                                                            */
-  /*                                                                       */
-  /* <InOut>                                                               */
-  /*    library    :: A handle to the library object.                      */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    hook_index :: The index of the debug hook.  You should use the     */
-  /*                  values defined in `ftobjs.h', e.g.,                  */
-  /*                  `FT_DEBUG_HOOK_TRUETYPE'.                            */
-  /*                                                                       */
-  /*    debug_hook :: The function used to debug the interpreter.          */
-  /*                                                                       */
-  /* <Note>                                                                */
-  /*    Currently, four debug hook slots are available, but only two (for  */
-  /*    the TrueType and the Type 1 interpreter) are defined.              */
-  /*                                                                       */
-  /*    Since the internal headers of FreeType are no longer installed,    */
-  /*    the symbol `FT_DEBUG_HOOK_TRUETYPE' isn't available publicly.      */
-  /*    This is a bug and will be fixed in a forthcoming release.          */
-  /*                                                                       */
-  FT_EXPORT( void )
-  FT_Set_Debug_Hook( FT_Library         library,
-                     FT_UInt            hook_index,
-                     FT_DebugHook_Func  debug_hook );
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Function>                                                            */
-  /*    FT_Add_Default_Modules                                             */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    Adds the set of default drivers to a given library object.         */
-  /*    This is only useful when you create a library object with          */
-  /*    @FT_New_Library (usually to plug a custom memory manager).         */
-  /*                                                                       */
-  /* <InOut>                                                               */
-  /*    library :: A handle to a new library object.                       */
-  /*                                                                       */
-  FT_EXPORT( void )
-  FT_Add_Default_Modules( FT_Library  library );
-
-
-
-  /**************************************************************************
-   *
-   * @section:
-   *   truetype_engine
-   *
-   * @title:
-   *   The TrueType Engine
-   *
-   * @abstract:
-   *   TrueType bytecode support.
-   *
-   * @description:
-   *   This section contains a function used to query the level of TrueType
-   *   bytecode support compiled in this version of the library.
-   *
-   */
-
-
-  /**************************************************************************
-   *
-   *  @enum:
-   *     FT_TrueTypeEngineType
-   *
-   *  @description:
-   *     A list of values describing which kind of TrueType bytecode
-   *     engine is implemented in a given FT_Library instance.  It is used
-   *     by the @FT_Get_TrueType_Engine_Type function.
-   *
-   *  @values:
-   *     FT_TRUETYPE_ENGINE_TYPE_NONE ::
-   *       The library doesn't implement any kind of bytecode interpreter.
-   *
-   *     FT_TRUETYPE_ENGINE_TYPE_UNPATENTED ::
-   *       The library implements a bytecode interpreter that doesn't
-   *       support the patented operations of the TrueType virtual machine.
-   *
-   *       Its main use is to load certain Asian fonts which position and
-   *       scale glyph components with bytecode instructions.  It produces
-   *       bad output for most other fonts.
-   *
-   *    FT_TRUETYPE_ENGINE_TYPE_PATENTED ::
-   *       The library implements a bytecode interpreter that covers
-   *       the full instruction set of the TrueType virtual machine.
-   *       See the file `docs/PATENTS' for legal aspects.
-   *
-   *  @since:
-   *       2.2
-   *
-   */
-  typedef enum
-  {
-    FT_TRUETYPE_ENGINE_TYPE_NONE = 0,
-    FT_TRUETYPE_ENGINE_TYPE_UNPATENTED,
-    FT_TRUETYPE_ENGINE_TYPE_PATENTED
-
-  } FT_TrueTypeEngineType;
-
-
-  /**************************************************************************
-   *
-   *  @func:
-   *     FT_Get_TrueType_Engine_Type
-   *
-   *  @description:
-   *     Return a @FT_TrueTypeEngineType value to indicate which level of
-   *     the TrueType virtual machine a given library instance supports.
-   *
-   *  @input:
-   *     library ::
-   *       A library instance.
-   *
-   *  @return:
-   *     A value indicating which level is supported.
-   *
-   *  @since:
-   *     2.2
-   *
-   */
-  FT_EXPORT( FT_TrueTypeEngineType )
-  FT_Get_TrueType_Engine_Type( FT_Library  library );
-
-
-  /* */
-
-
-FT_END_HEADER
-
-#endif /* __FTMODAPI_H__ */
-
-
-/* END */
diff --git a/CMU462/deps/freetype/include/freetype2/freetype/ftmoderr.h b/CMU462/deps/freetype/include/freetype2/freetype/ftmoderr.h
deleted file mode 100755
index b0115dd..0000000
--- a/CMU462/deps/freetype/include/freetype2/freetype/ftmoderr.h
+++ /dev/null
@@ -1,155 +0,0 @@
-/***************************************************************************/
-/*                                                                         */
-/*  ftmoderr.h                                                             */
-/*                                                                         */
-/*    FreeType module error offsets (specification).                       */
-/*                                                                         */
-/*  Copyright 2001, 2002, 2003, 2004, 2005 by                              */
-/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
-/*                                                                         */
-/*  This file is part of the FreeType project, and may only be used,       */
-/*  modified, and distributed under the terms of the FreeType project      */
-/*  license, LICENSE.TXT.  By continuing to use, modify, or distribute     */
-/*  this file you indicate that you have read the license and              */
-/*  understand and accept it fully.                                        */
-/*                                                                         */
-/***************************************************************************/
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* This file is used to define the FreeType module error offsets.        */
-  /*                                                                       */
-  /* The lower byte gives the error code, the higher byte gives the        */
-  /* module.  The base module has error offset 0.  For example, the error  */
-  /* `FT_Err_Invalid_File_Format' has value 0x003, the error               */
-  /* `TT_Err_Invalid_File_Format' has value 0x1103, the error              */
-  /* `T1_Err_Invalid_File_Format' has value 0x1203, etc.                   */
-  /*                                                                       */
-  /* Undefine the macro FT_CONFIG_OPTION_USE_MODULE_ERRORS in ftoption.h   */
-  /* to make the higher byte always zero (disabling the module error       */
-  /* mechanism).                                                           */
-  /*                                                                       */
-  /* It can also be used to create a module error message table easily     */
-  /* with something like                                                   */
-  /*                                                                       */
-  /*   {                                                                   */
-  /*     #undef __FTMODERR_H__                                             */
-  /*     #define FT_MODERRDEF( e, v, s )  { FT_Mod_Err_ ## e, s },         */
-  /*     #define FT_MODERR_START_LIST     {                                */
-  /*     #define FT_MODERR_END_LIST       { 0, 0 } };                      */
-  /*                                                                       */
-  /*     const struct                                                      */
-  /*     {                                                                 */
-  /*       int          mod_err_offset;                                    */
-  /*       const char*  mod_err_msg                                        */
-  /*     } ft_mod_errors[] =                                               */
-  /*                                                                       */
-  /*     #include FT_MODULE_ERRORS_H                                       */
-  /*   }                                                                   */
-  /*                                                                       */
-  /* To use such a table, all errors must be ANDed with 0xFF00 to remove   */
-  /* the error code.                                                       */
-  /*                                                                       */
-  /*************************************************************************/
-
-
-#ifndef __FTMODERR_H__
-#define __FTMODERR_H__
-
-
-  /*******************************************************************/
-  /*******************************************************************/
-  /*****                                                         *****/
-  /*****                       SETUP MACROS                      *****/
-  /*****                                                         *****/
-  /*******************************************************************/
-  /*******************************************************************/
-
-
-#undef  FT_NEED_EXTERN_C
-
-#ifndef FT_MODERRDEF
-
-#ifdef FT_CONFIG_OPTION_USE_MODULE_ERRORS
-#define FT_MODERRDEF( e, v, s )  FT_Mod_Err_ ## e = v,
-#else
-#define FT_MODERRDEF( e, v, s )  FT_Mod_Err_ ## e = 0,
-#endif
-
-#define FT_MODERR_START_LIST  enum {
-#define FT_MODERR_END_LIST    FT_Mod_Err_Max };
-
-#ifdef __cplusplus
-#define FT_NEED_EXTERN_C
-  extern "C" {
-#endif
-
-#endif /* !FT_MODERRDEF */
-
-
-  /*******************************************************************/
-  /*******************************************************************/
-  /*****                                                         *****/
-  /*****               LIST MODULE ERROR BASES                   *****/
-  /*****                                                         *****/
-  /*******************************************************************/
-  /*******************************************************************/
-
-
-#ifdef FT_MODERR_START_LIST
-  FT_MODERR_START_LIST
-#endif
-
-
-  FT_MODERRDEF( Base,      0x000, "base module" )
-  FT_MODERRDEF( Autofit,   0x100, "autofitter module" )
-  FT_MODERRDEF( BDF,       0x200, "BDF module" )
-  FT_MODERRDEF( Cache,     0x300, "cache module" )
-  FT_MODERRDEF( CFF,       0x400, "CFF module" )
-  FT_MODERRDEF( CID,       0x500, "CID module" )
-  FT_MODERRDEF( Gzip,      0x600, "Gzip module" )
-  FT_MODERRDEF( LZW,       0x700, "LZW module" )
-  FT_MODERRDEF( OTvalid,   0x800, "OpenType validation module" )
-  FT_MODERRDEF( PCF,       0x900, "PCF module" )
-  FT_MODERRDEF( PFR,       0xA00, "PFR module" )
-  FT_MODERRDEF( PSaux,     0xB00, "PS auxiliary module" )
-  FT_MODERRDEF( PShinter,  0xC00, "PS hinter module" )
-  FT_MODERRDEF( PSnames,   0xD00, "PS names module" )
-  FT_MODERRDEF( Raster,    0xE00, "raster module" )
-  FT_MODERRDEF( SFNT,      0xF00, "SFNT module" )
-  FT_MODERRDEF( Smooth,   0x1000, "smooth raster module" )
-  FT_MODERRDEF( TrueType, 0x1100, "TrueType module" )
-  FT_MODERRDEF( Type1,    0x1200, "Type 1 module" )
-  FT_MODERRDEF( Type42,   0x1300, "Type 42 module" )
-  FT_MODERRDEF( Winfonts, 0x1400, "Windows FON/FNT module" )
-
-
-#ifdef FT_MODERR_END_LIST
-  FT_MODERR_END_LIST
-#endif
-
-
-  /*******************************************************************/
-  /*******************************************************************/
-  /*****                                                         *****/
-  /*****                      CLEANUP                            *****/
-  /*****                                                         *****/
-  /*******************************************************************/
-  /*******************************************************************/
-
-
-#ifdef FT_NEED_EXTERN_C
-  }
-#endif
-
-#undef FT_MODERR_START_LIST
-#undef FT_MODERR_END_LIST
-#undef FT_MODERRDEF
-#undef FT_NEED_EXTERN_C
-
-
-#endif /* __FTMODERR_H__ */
-
-
-/* END */
diff --git a/CMU462/deps/freetype/include/freetype2/freetype/ftotval.h b/CMU462/deps/freetype/include/freetype2/freetype/ftotval.h
deleted file mode 100755
index 7c488fd..0000000
--- a/CMU462/deps/freetype/include/freetype2/freetype/ftotval.h
+++ /dev/null
@@ -1,198 +0,0 @@
-/***************************************************************************/
-/*                                                                         */
-/*  ftotval.h                                                              */
-/*                                                                         */
-/*    FreeType API for validating OpenType tables (specification).         */
-/*                                                                         */
-/*  Copyright 2004, 2005, 2006 by                                          */
-/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
-/*                                                                         */
-/*  This file is part of the FreeType project, and may only be used,       */
-/*  modified, and distributed under the terms of the FreeType project      */
-/*  license, LICENSE.TXT.  By continuing to use, modify, or distribute     */
-/*  this file you indicate that you have read the license and              */
-/*  understand and accept it fully.                                        */
-/*                                                                         */
-/***************************************************************************/
-
-
-/***************************************************************************/
-/*                                                                         */
-/*                                                                         */
-/* Warning: This module might be moved to a different library in the       */
-/*          future to avoid a tight dependency between FreeType and the    */
-/*          OpenType specification.                                        */
-/*                                                                         */
-/*                                                                         */
-/***************************************************************************/
-
-
-#ifndef __FTOTVAL_H__
-#define __FTOTVAL_H__
-
-#include <ft2build.h>
-#include FT_FREETYPE_H
-
-#ifdef FREETYPE_H
-#error "freetype.h of FreeType 1 has been loaded!"
-#error "Please fix the directory search order for header files"
-#error "so that freetype.h of FreeType 2 is found first."
-#endif
-
-
-FT_BEGIN_HEADER
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Section>                                                             */
-  /*    ot_validation                                                      */
-  /*                                                                       */
-  /* <Title>                                                               */
-  /*    OpenType Validation                                                */
-  /*                                                                       */
-  /* <Abstract>                                                            */
-  /*    An API to validate OpenType tables.                                */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    This section contains the declaration of functions to validate     */
-  /*    some OpenType tables (BASE, GDEF, GPOS, GSUB, JSTF).               */
-  /*                                                                       */
-  /*************************************************************************/
-
-
- /**********************************************************************
-  *
-  * @enum:
-  *    FT_VALIDATE_OTXXX
-  *
-  * @description:
-  *    A list of bit-field constants used with @FT_OpenType_Validate to
-  *    indicate which OpenType tables should be validated.
-  *
-  * @values:
-  *    FT_VALIDATE_BASE ::
-  *      Validate BASE table.
-  *
-  *    FT_VALIDATE_GDEF ::
-  *      Validate GDEF table.
-  *
-  *    FT_VALIDATE_GPOS ::
-  *      Validate GPOS table.
-  *
-  *    FT_VALIDATE_GSUB ::
-  *      Validate GSUB table.
-  *
-  *    FT_VALIDATE_JSTF ::
-  *      Validate JSTF table.
-  *
-  *    FT_VALIDATE_OT ::
-  *      Validate all OpenType tables (BASE, GDEF, GPOS, GSUB, JSTF).
-  *
-  */
-#define FT_VALIDATE_BASE  0x0100
-#define FT_VALIDATE_GDEF  0x0200
-#define FT_VALIDATE_GPOS  0x0400
-#define FT_VALIDATE_GSUB  0x0800
-#define FT_VALIDATE_JSTF  0x1000
-
-#define FT_VALIDATE_OT  FT_VALIDATE_BASE | \
-                        FT_VALIDATE_GDEF | \
-                        FT_VALIDATE_GPOS | \
-                        FT_VALIDATE_GSUB | \
-                        FT_VALIDATE_JSTF
-
-  /* */
-
- /**********************************************************************
-  *
-  * @function:
-  *    FT_OpenType_Validate
-  *
-  * @description:
-  *    Validate various OpenType tables to assure that all offsets and
-  *    indices are valid.  The idea is that a higher-level library which
-  *    actually does the text layout can access those tables without
-  *    error checking (which can be quite time consuming).
-  *
-  * @input:
-  *    face ::
-  *       A handle to the input face.
-  *
-  *    validation_flags ::
-  *       A bit field which specifies the tables to be validated.  See
-  *       @FT_VALIDATE_OTXXX for possible values.
-  *
-  * @output:
-  *    BASE_table ::
-  *       A pointer to the BASE table.
-  *
-  *    GDEF_table ::
-  *       A pointer to the GDEF table.
-  *
-  *    GPOS_table ::
-  *       A pointer to the GPOS table.
-  *
-  *    GSUB_table ::
-  *       A pointer to the GSUB table.
-  *
-  *    JSTF_table ::
-  *       A pointer to the JSTF table.
-  *
-  * @return:
-  *   FreeType error code.  0 means success.
-  *
-  * @note:
-  *   This function only works with OpenType fonts, returning an error
-  *   otherwise.
-  *
-  *   After use, the application should deallocate the five tables with
-  *   @FT_OpenType_Free.  A NULL value indicates that the table either
-  *   doesn't exist in the font, or the application hasn't asked for
-  *   validation.
-  */
-  FT_EXPORT( FT_Error )
-  FT_OpenType_Validate( FT_Face    face,
-                        FT_UInt    validation_flags,
-                        FT_Bytes  *BASE_table,
-                        FT_Bytes  *GDEF_table,
-                        FT_Bytes  *GPOS_table,
-                        FT_Bytes  *GSUB_table,
-                        FT_Bytes  *JSTF_table );
-
-  /* */
-
- /**********************************************************************
-  *
-  * @function:
-  *    FT_OpenType_Free
-  *
-  * @description:
-  *    Free the buffer allocated by OpenType validator.
-  *
-  * @input:
-  *    face ::
-  *       A handle to the input face.
-  *
-  *    table ::
-  *       The pointer to the buffer that is allocated by
-  *       @FT_OpenType_Validate.
-  *
-  * @note:
-  *   This function must be used to free the buffer allocated by
-  *   @FT_OpenType_Validate only.
-  */
-  FT_EXPORT( void )
-  FT_OpenType_Free( FT_Face   face,
-                    FT_Bytes  table );
-
-
- /* */
-
-
-FT_END_HEADER
-
-#endif /* __FTOTVAL_H__ */
-
-
-/* END */
diff --git a/CMU462/deps/freetype/include/freetype2/freetype/ftoutln.h b/CMU462/deps/freetype/include/freetype2/freetype/ftoutln.h
deleted file mode 100755
index 786ae13..0000000
--- a/CMU462/deps/freetype/include/freetype2/freetype/ftoutln.h
+++ /dev/null
@@ -1,526 +0,0 @@
-/***************************************************************************/
-/*                                                                         */
-/*  ftoutln.h                                                              */
-/*                                                                         */
-/*    Support for the FT_Outline type used to store glyph shapes of        */
-/*    most scalable font formats (specification).                          */
-/*                                                                         */
-/*  Copyright 1996-2001, 2002, 2003, 2005, 2006, 2007 by                   */
-/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
-/*                                                                         */
-/*  This file is part of the FreeType project, and may only be used,       */
-/*  modified, and distributed under the terms of the FreeType project      */
-/*  license, LICENSE.TXT.  By continuing to use, modify, or distribute     */
-/*  this file you indicate that you have read the license and              */
-/*  understand and accept it fully.                                        */
-/*                                                                         */
-/***************************************************************************/
-
-
-#ifndef __FTOUTLN_H__
-#define __FTOUTLN_H__
-
-
-#include <ft2build.h>
-#include FT_FREETYPE_H
-
-#ifdef FREETYPE_H
-#error "freetype.h of FreeType 1 has been loaded!"
-#error "Please fix the directory search order for header files"
-#error "so that freetype.h of FreeType 2 is found first."
-#endif
-
-
-FT_BEGIN_HEADER
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Section>                                                             */
-  /*    outline_processing                                                 */
-  /*                                                                       */
-  /* <Title>                                                               */
-  /*    Outline Processing                                                 */
-  /*                                                                       */
-  /* <Abstract>                                                            */
-  /*    Functions to create, transform, and render vectorial glyph images. */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    This section contains routines used to create and destroy scalable */
-  /*    glyph images known as `outlines'.  These can also be measured,     */
-  /*    transformed, and converted into bitmaps and pixmaps.               */
-  /*                                                                       */
-  /* <Order>                                                               */
-  /*    FT_Outline                                                         */
-  /*    FT_OUTLINE_FLAGS                                                   */
-  /*    FT_Outline_New                                                     */
-  /*    FT_Outline_Done                                                    */
-  /*    FT_Outline_Copy                                                    */
-  /*    FT_Outline_Translate                                               */
-  /*    FT_Outline_Transform                                               */
-  /*    FT_Outline_Embolden                                                */
-  /*    FT_Outline_Reverse                                                 */
-  /*    FT_Outline_Check                                                   */
-  /*                                                                       */
-  /*    FT_Outline_Get_CBox                                                */
-  /*    FT_Outline_Get_BBox                                                */
-  /*                                                                       */
-  /*    FT_Outline_Get_Bitmap                                              */
-  /*    FT_Outline_Render                                                  */
-  /*                                                                       */
-  /*    FT_Outline_Decompose                                               */
-  /*    FT_Outline_Funcs                                                   */
-  /*    FT_Outline_MoveTo_Func                                             */
-  /*    FT_Outline_LineTo_Func                                             */
-  /*    FT_Outline_ConicTo_Func                                            */
-  /*    FT_Outline_CubicTo_Func                                            */
-  /*                                                                       */
-  /*************************************************************************/
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Function>                                                            */
-  /*    FT_Outline_Decompose                                               */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    Walks over an outline's structure to decompose it into individual  */
-  /*    segments and Bézier arcs.  This function is also able to emit      */
-  /*    `move to' and `close to' operations to indicate the start and end  */
-  /*    of new contours in the outline.                                    */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    outline        :: A pointer to the source target.                  */
-  /*                                                                       */
-  /*    func_interface :: A table of `emitters', i.e,. function pointers   */
-  /*                      called during decomposition to indicate path     */
-  /*                      operations.                                      */
-  /*                                                                       */
-  /* <InOut>                                                               */
-  /*    user           :: A typeless pointer which is passed to each       */
-  /*                      emitter during the decomposition.  It can be     */
-  /*                      used to store the state during the               */
-  /*                      decomposition.                                   */
-  /*                                                                       */
-  /* <Return>                                                              */
-  /*    FreeType error code.  0 means success.                             */
-  /*                                                                       */
-  FT_EXPORT( FT_Error )
-  FT_Outline_Decompose( FT_Outline*              outline,
-                        const FT_Outline_Funcs*  func_interface,
-                        void*                    user );
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Function>                                                            */
-  /*    FT_Outline_New                                                     */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    Creates a new outline of a given size.                             */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    library     :: A handle to the library object from where the       */
-  /*                   outline is allocated.  Note however that the new    */
-  /*                   outline will *not* necessarily be *freed*, when     */
-  /*                   destroying the library, by @FT_Done_FreeType.       */
-  /*                                                                       */
-  /*    numPoints   :: The maximal number of points within the outline.    */
-  /*                                                                       */
-  /*    numContours :: The maximal number of contours within the outline.  */
-  /*                                                                       */
-  /* <Output>                                                              */
-  /*    anoutline   :: A handle to the new outline.  NULL in case of       */
-  /*                   error.                                              */
-  /*                                                                       */
-  /* <Return>                                                              */
-  /*    FreeType error code.  0 means success.                             */
-  /*                                                                       */
-  /* <Note>                                                                */
-  /*    The reason why this function takes a `library' parameter is simply */
-  /*    to use the library's memory allocator.                             */
-  /*                                                                       */
-  FT_EXPORT( FT_Error )
-  FT_Outline_New( FT_Library   library,
-                  FT_UInt      numPoints,
-                  FT_Int       numContours,
-                  FT_Outline  *anoutline );
-
-
-  FT_EXPORT( FT_Error )
-  FT_Outline_New_Internal( FT_Memory    memory,
-                           FT_UInt      numPoints,
-                           FT_Int       numContours,
-                           FT_Outline  *anoutline );
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Function>                                                            */
-  /*    FT_Outline_Done                                                    */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    Destroys an outline created with @FT_Outline_New.                  */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    library :: A handle of the library object used to allocate the     */
-  /*               outline.                                                */
-  /*                                                                       */
-  /*    outline :: A pointer to the outline object to be discarded.        */
-  /*                                                                       */
-  /* <Return>                                                              */
-  /*    FreeType error code.  0 means success.                             */
-  /*                                                                       */
-  /* <Note>                                                                */
-  /*    If the outline's `owner' field is not set, only the outline        */
-  /*    descriptor will be released.                                       */
-  /*                                                                       */
-  /*    The reason why this function takes an `library' parameter is       */
-  /*    simply to use ft_mem_free().                                       */
-  /*                                                                       */
-  FT_EXPORT( FT_Error )
-  FT_Outline_Done( FT_Library   library,
-                   FT_Outline*  outline );
-
-
-  FT_EXPORT( FT_Error )
-  FT_Outline_Done_Internal( FT_Memory    memory,
-                            FT_Outline*  outline );
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Function>                                                            */
-  /*    FT_Outline_Check                                                   */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    Check the contents of an outline descriptor.                       */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    outline :: A handle to a source outline.                           */
-  /*                                                                       */
-  /* <Return>                                                              */
-  /*    FreeType error code.  0 means success.                             */
-  /*                                                                       */
-  FT_EXPORT( FT_Error )
-  FT_Outline_Check( FT_Outline*  outline );
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Function>                                                            */
-  /*    FT_Outline_Get_CBox                                                */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    Returns an outline's `control box'.  The control box encloses all  */
-  /*    the outline's points, including Bézier control points.  Though it  */
-  /*    coincides with the exact bounding box for most glyphs, it can be   */
-  /*    slightly larger in some situations (like when rotating an outline  */
-  /*    which contains Bézier outside arcs).                               */
-  /*                                                                       */
-  /*    Computing the control box is very fast, while getting the bounding */
-  /*    box can take much more time as it needs to walk over all segments  */
-  /*    and arcs in the outline.  To get the latter, you can use the       */
-  /*    `ftbbox' component which is dedicated to this single task.         */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    outline :: A pointer to the source outline descriptor.             */
-  /*                                                                       */
-  /* <Output>                                                              */
-  /*    acbox   :: The outline's control box.                              */
-  /*                                                                       */
-  FT_EXPORT( void )
-  FT_Outline_Get_CBox( const FT_Outline*  outline,
-                       FT_BBox           *acbox );
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Function>                                                            */
-  /*    FT_Outline_Translate                                               */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    Applies a simple translation to the points of an outline.          */
-  /*                                                                       */
-  /* <InOut>                                                               */
-  /*    outline :: A pointer to the target outline descriptor.             */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    xOffset :: The horizontal offset.                                  */
-  /*                                                                       */
-  /*    yOffset :: The vertical offset.                                    */
-  /*                                                                       */
-  FT_EXPORT( void )
-  FT_Outline_Translate( const FT_Outline*  outline,
-                        FT_Pos             xOffset,
-                        FT_Pos             yOffset );
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Function>                                                            */
-  /*    FT_Outline_Copy                                                    */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    Copies an outline into another one.  Both objects must have the    */
-  /*    same sizes (number of points & number of contours) when this       */
-  /*    function is called.                                                */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    source :: A handle to the source outline.                          */
-  /*                                                                       */
-  /* <Output>                                                              */
-  /*    target :: A handle to the target outline.                          */
-  /*                                                                       */
-  /* <Return>                                                              */
-  /*    FreeType error code.  0 means success.                             */
-  /*                                                                       */
-  FT_EXPORT( FT_Error )
-  FT_Outline_Copy( const FT_Outline*  source,
-                   FT_Outline        *target );
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Function>                                                            */
-  /*    FT_Outline_Transform                                               */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    Applies a simple 2x2 matrix to all of an outline's points.  Useful */
-  /*    for applying rotations, slanting, flipping, etc.                   */
-  /*                                                                       */
-  /* <InOut>                                                               */
-  /*    outline :: A pointer to the target outline descriptor.             */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    matrix  :: A pointer to the transformation matrix.                 */
-  /*                                                                       */
-  /* <Note>                                                                */
-  /*    You can use @FT_Outline_Translate if you need to translate the     */
-  /*    outline's points.                                                  */
-  /*                                                                       */
-  FT_EXPORT( void )
-  FT_Outline_Transform( const FT_Outline*  outline,
-                        const FT_Matrix*   matrix );
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Function>                                                            */
-  /*    FT_Outline_Embolden                                                */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    Emboldens an outline.  The new outline will be at most 4 times     */
-  /*    `strength' pixels wider and higher.  You may think of the left and */
-  /*    bottom borders as unchanged.                                       */
-  /*                                                                       */
-  /*    Negative `strength' values to reduce the outline thickness are     */
-  /*    possible also.                                                     */
-  /*                                                                       */
-  /* <InOut>                                                               */
-  /*    outline  :: A handle to the target outline.                        */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    strength :: How strong the glyph is emboldened.  Expressed in      */
-  /*                26.6 pixel format.                                     */
-  /*                                                                       */
-  /* <Return>                                                              */
-  /*    FreeType error code.  0 means success.                             */
-  /*                                                                       */
-  /* <Note>                                                                */
-  /*    The used algorithm to increase or decrease the thickness of the    */
-  /*    glyph doesn't change the number of points; this means that certain */
-  /*    situations like acute angles or intersections are sometimes        */
-  /*    handled incorrectly.                                               */
-  /*                                                                       */
-  /*    Example call:                                                      */
-  /*                                                                       */
-  /*    {                                                                  */
-  /*      FT_Load_Glyph( face, index, FT_LOAD_DEFAULT );                   */
-  /*      if ( face->slot->format == FT_GLYPH_FORMAT_OUTLINE )             */
-  /*        FT_Outline_Embolden( &face->slot->outline, strength );         */
-  /*    }                                                                  */
-  /*                                                                       */
-  FT_EXPORT( FT_Error )
-  FT_Outline_Embolden( FT_Outline*  outline,
-                       FT_Pos       strength );
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Function>                                                            */
-  /*    FT_Outline_Reverse                                                 */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    Reverses the drawing direction of an outline.  This is used to     */
-  /*    ensure consistent fill conventions for mirrored glyphs.            */
-  /*                                                                       */
-  /* <InOut>                                                               */
-  /*    outline :: A pointer to the target outline descriptor.             */
-  /*                                                                       */
-  /* <Note>                                                                */
-  /*    This functions toggles the bit flag @FT_OUTLINE_REVERSE_FILL in    */
-  /*    the outline's `flags' field.                                       */
-  /*                                                                       */
-  /*    It shouldn't be used by a normal client application, unless it     */
-  /*    knows what it is doing.                                            */
-  /*                                                                       */
-  FT_EXPORT( void )
-  FT_Outline_Reverse( FT_Outline*  outline );
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Function>                                                            */
-  /*    FT_Outline_Get_Bitmap                                              */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    Renders an outline within a bitmap.  The outline's image is simply */
-  /*    OR-ed to the target bitmap.                                        */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    library :: A handle to a FreeType library object.                  */
-  /*                                                                       */
-  /*    outline :: A pointer to the source outline descriptor.             */
-  /*                                                                       */
-  /* <InOut>                                                               */
-  /*    abitmap :: A pointer to the target bitmap descriptor.              */
-  /*                                                                       */
-  /* <Return>                                                              */
-  /*    FreeType error code.  0 means success.                             */
-  /*                                                                       */
-  /* <Note>                                                                */
-  /*    This function does NOT CREATE the bitmap, it only renders an       */
-  /*    outline image within the one you pass to it!                       */
-  /*                                                                       */
-  /*    It will use the raster corresponding to the default glyph format.  */
-  /*                                                                       */
-  FT_EXPORT( FT_Error )
-  FT_Outline_Get_Bitmap( FT_Library        library,
-                         FT_Outline*       outline,
-                         const FT_Bitmap  *abitmap );
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Function>                                                            */
-  /*    FT_Outline_Render                                                  */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    Renders an outline within a bitmap using the current scan-convert. */
-  /*    This functions uses an @FT_Raster_Params structure as an argument, */
-  /*    allowing advanced features like direct composition, translucency,  */
-  /*    etc.                                                               */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    library :: A handle to a FreeType library object.                  */
-  /*                                                                       */
-  /*    outline :: A pointer to the source outline descriptor.             */
-  /*                                                                       */
-  /* <InOut>                                                               */
-  /*    params  :: A pointer to an @FT_Raster_Params structure used to     */
-  /*               describe the rendering operation.                       */
-  /*                                                                       */
-  /* <Return>                                                              */
-  /*    FreeType error code.  0 means success.                             */
-  /*                                                                       */
-  /* <Note>                                                                */
-  /*    You should know what you are doing and how @FT_Raster_Params works */
-  /*    to use this function.                                              */
-  /*                                                                       */
-  /*    The field `params.source' will be set to `outline' before the scan */
-  /*    converter is called, which means that the value you give to it is  */
-  /*    actually ignored.                                                  */
-  /*                                                                       */
-  FT_EXPORT( FT_Error )
-  FT_Outline_Render( FT_Library         library,
-                     FT_Outline*        outline,
-                     FT_Raster_Params*  params );
-
-
- /**************************************************************************
-  *
-  * @enum:
-  *   FT_Orientation
-  *
-  * @description:
-  *   A list of values used to describe an outline's contour orientation.
-  *
-  *   The TrueType and Postscript specifications use different conventions
-  *   to determine whether outline contours should be filled or unfilled.
-  *
-  * @values:
-  *   FT_ORIENTATION_TRUETYPE ::
-  *     According to the TrueType specification, clockwise contours must
-  *     be filled, and counter-clockwise ones must be unfilled.
-  *
-  *   FT_ORIENTATION_POSTSCRIPT ::
-  *     According to the Postscript specification, counter-clockwise contours
-  *     must be filled, and clockwise ones must be unfilled.
-  *
-  *   FT_ORIENTATION_FILL_RIGHT ::
-  *     This is identical to @FT_ORIENTATION_TRUETYPE, but is used to
-  *     remember that in TrueType, everything that is to the right of
-  *     the drawing direction of a contour must be filled.
-  *
-  *   FT_ORIENTATION_FILL_LEFT ::
-  *     This is identical to @FT_ORIENTATION_POSTSCRIPT, but is used to
-  *     remember that in Postscript, everything that is to the left of
-  *     the drawing direction of a contour must be filled.
-  *
-  *   FT_ORIENTATION_NONE ::
-  *     The orientation cannot be determined.  That is, different parts of
-  *     the glyph have different orientation.
-  *
-  */
-  typedef enum
-  {
-    FT_ORIENTATION_TRUETYPE   = 0,
-    FT_ORIENTATION_POSTSCRIPT = 1,
-    FT_ORIENTATION_FILL_RIGHT = FT_ORIENTATION_TRUETYPE,
-    FT_ORIENTATION_FILL_LEFT  = FT_ORIENTATION_POSTSCRIPT,
-    FT_ORIENTATION_NONE
-
-  } FT_Orientation;
-
-
- /**************************************************************************
-  *
-  * @function:
-  *   FT_Outline_Get_Orientation
-  *
-  * @description:
-  *   This function analyzes a glyph outline and tries to compute its
-  *   fill orientation (see @FT_Orientation).  This is done by computing
-  *   the direction of each global horizontal and/or vertical extrema
-  *   within the outline.
-  *
-  *   Note that this will return @FT_ORIENTATION_TRUETYPE for empty
-  *   outlines.
-  *
-  * @input:
-  *   outline ::
-  *     A handle to the source outline.
-  *
-  * @return:
-  *   The orientation.
-  *
-  */
-  FT_EXPORT( FT_Orientation )
-  FT_Outline_Get_Orientation( FT_Outline*  outline );
-
-
-  /* */
-
-
-FT_END_HEADER
-
-#endif /* __FTOUTLN_H__ */
-
-
-/* END */
-
-
-/* Local Variables: */
-/* coding: utf-8    */
-/* End:             */
diff --git a/CMU462/deps/freetype/include/freetype2/freetype/ftpfr.h b/CMU462/deps/freetype/include/freetype2/freetype/ftpfr.h
deleted file mode 100755
index e2801fd..0000000
--- a/CMU462/deps/freetype/include/freetype2/freetype/ftpfr.h
+++ /dev/null
@@ -1,172 +0,0 @@
-/***************************************************************************/
-/*                                                                         */
-/*  ftpfr.h                                                                */
-/*                                                                         */
-/*    FreeType API for accessing PFR-specific data (specification only).   */
-/*                                                                         */
-/*  Copyright 2002, 2003, 2004, 2006 by                                    */
-/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
-/*                                                                         */
-/*  This file is part of the FreeType project, and may only be used,       */
-/*  modified, and distributed under the terms of the FreeType project      */
-/*  license, LICENSE.TXT.  By continuing to use, modify, or distribute     */
-/*  this file you indicate that you have read the license and              */
-/*  understand and accept it fully.                                        */
-/*                                                                         */
-/***************************************************************************/
-
-
-#ifndef __FTPFR_H__
-#define __FTPFR_H__
-
-#include <ft2build.h>
-#include FT_FREETYPE_H
-
-#ifdef FREETYPE_H
-#error "freetype.h of FreeType 1 has been loaded!"
-#error "Please fix the directory search order for header files"
-#error "so that freetype.h of FreeType 2 is found first."
-#endif
-
-
-FT_BEGIN_HEADER
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Section>                                                             */
-  /*    pfr_fonts                                                          */
-  /*                                                                       */
-  /* <Title>                                                               */
-  /*    PFR Fonts                                                          */
-  /*                                                                       */
-  /* <Abstract>                                                            */
-  /*    PFR/TrueDoc specific API.                                          */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    This section contains the declaration of PFR-specific functions.   */
-  /*                                                                       */
-  /*************************************************************************/
-
-
- /**********************************************************************
-  *
-  * @function:
-  *    FT_Get_PFR_Metrics
-  *
-  * @description:
-  *    Return the outline and metrics resolutions of a given PFR face.
-  *
-  * @input:
-  *    face :: Handle to the input face.  It can be a non-PFR face.
-  *
-  * @output:
-  *    aoutline_resolution ::
-  *      Outline resolution.  This is equivalent to `face->units_per_EM'.
-  *      Optional (parameter can be NULL).
-  *
-  *    ametrics_resolution ::
-  *      Metrics resolution.  This is equivalent to `outline_resolution'
-  *      for non-PFR fonts.  Optional (parameter can be NULL).
-  *
-  *    ametrics_x_scale ::
-  *      A 16.16 fixed-point number used to scale distance expressed
-  *      in metrics units to device sub-pixels.  This is equivalent to
-  *      `face->size->x_scale', but for metrics only.  Optional (parameter
-  *      can be NULL)
-  *
-  *    ametrics_y_scale ::
-  *      Same as `ametrics_x_scale' but for the vertical direction.
-  *      optional (parameter can be NULL)
-  *
-  * @return:
-  *    FreeType error code.  0 means success.
-  *
-  * @note:
-  *   If the input face is not a PFR, this function will return an error.
-  *   However, in all cases, it will return valid values.
-  */
-  FT_EXPORT( FT_Error )
-  FT_Get_PFR_Metrics( FT_Face    face,
-                      FT_UInt   *aoutline_resolution,
-                      FT_UInt   *ametrics_resolution,
-                      FT_Fixed  *ametrics_x_scale,
-                      FT_Fixed  *ametrics_y_scale );
-
-
- /**********************************************************************
-  *
-  * @function:
-  *    FT_Get_PFR_Kerning
-  *
-  * @description:
-  *    Return the kerning pair corresponding to two glyphs in a PFR face.
-  *    The distance is expressed in metrics units, unlike the result of
-  *    @FT_Get_Kerning.
-  *
-  * @input:
-  *    face  :: A handle to the input face.
-  *
-  *    left  :: Index of the left glyph.
-  *
-  *    right :: Index of the right glyph.
-  *
-  * @output:
-  *    avector :: A kerning vector.
-  *
-  * @return:
-  *    FreeType error code.  0 means success.
-  *
-  * @note:
-  *    This function always return distances in original PFR metrics
-  *    units.  This is unlike @FT_Get_Kerning with the @FT_KERNING_UNSCALED
-  *    mode, which always returns distances converted to outline units.
-  *
-  *    You can use the value of the `x_scale' and `y_scale' parameters
-  *    returned by @FT_Get_PFR_Metrics to scale these to device sub-pixels.
-  */
-  FT_EXPORT( FT_Error )
-  FT_Get_PFR_Kerning( FT_Face     face,
-                      FT_UInt     left,
-                      FT_UInt     right,
-                      FT_Vector  *avector );
-
-
- /**********************************************************************
-  *
-  * @function:
-  *    FT_Get_PFR_Advance
-  *
-  * @description:
-  *    Return a given glyph advance, expressed in original metrics units,
-  *    from a PFR font.
-  *
-  * @input:
-  *    face   :: A handle to the input face.
-  *
-  *    gindex :: The glyph index.
-  *
-  * @output:
-  *    aadvance :: The glyph advance in metrics units.
-  *
-  * @return:
-  *    FreeType error code.  0 means success.
-  *
-  * @note:
-  *    You can use the `x_scale' or `y_scale' results of @FT_Get_PFR_Metrics
-  *    to convert the advance to device sub-pixels (i.e., 1/64th of pixels).
-  */
-  FT_EXPORT( FT_Error )
-  FT_Get_PFR_Advance( FT_Face   face,
-                      FT_UInt   gindex,
-                      FT_Pos   *aadvance );
-
- /* */
-
-
-FT_END_HEADER
-
-#endif /* __FTPFR_H__ */
-
-
-/* END */
diff --git a/CMU462/deps/freetype/include/freetype2/freetype/ftrender.h b/CMU462/deps/freetype/include/freetype2/freetype/ftrender.h
deleted file mode 100755
index 5b07f08..0000000
--- a/CMU462/deps/freetype/include/freetype2/freetype/ftrender.h
+++ /dev/null
@@ -1,229 +0,0 @@
-/***************************************************************************/
-/*                                                                         */
-/*  ftrender.h                                                             */
-/*                                                                         */
-/*    FreeType renderer modules public interface (specification).          */
-/*                                                                         */
-/*  Copyright 1996-2001, 2005, 2006 by                                     */
-/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
-/*                                                                         */
-/*  This file is part of the FreeType project, and may only be used,       */
-/*  modified, and distributed under the terms of the FreeType project      */
-/*  license, LICENSE.TXT.  By continuing to use, modify, or distribute     */
-/*  this file you indicate that you have read the license and              */
-/*  understand and accept it fully.                                        */
-/*                                                                         */
-/***************************************************************************/
-
-
-#ifndef __FTRENDER_H__
-#define __FTRENDER_H__
-
-
-#include <ft2build.h>
-#include FT_MODULE_H
-#include FT_GLYPH_H
-
-
-FT_BEGIN_HEADER
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Section>                                                             */
-  /*    module_management                                                  */
-  /*                                                                       */
-  /*************************************************************************/
-
-
-  /* create a new glyph object */
-  typedef FT_Error
-  (*FT_Glyph_InitFunc)( FT_Glyph      glyph,
-                        FT_GlyphSlot  slot );
-
-  /* destroys a given glyph object */
-  typedef void
-  (*FT_Glyph_DoneFunc)( FT_Glyph  glyph );
-
-  typedef void
-  (*FT_Glyph_TransformFunc)( FT_Glyph          glyph,
-                             const FT_Matrix*  matrix,
-                             const FT_Vector*  delta );
-
-  typedef void
-  (*FT_Glyph_GetBBoxFunc)( FT_Glyph  glyph,
-                           FT_BBox*  abbox );
-
-  typedef FT_Error
-  (*FT_Glyph_CopyFunc)( FT_Glyph   source,
-                        FT_Glyph   target );
-
-  typedef FT_Error
-  (*FT_Glyph_PrepareFunc)( FT_Glyph      glyph,
-                           FT_GlyphSlot  slot );
-
-/* deprecated */
-#define FT_Glyph_Init_Func       FT_Glyph_InitFunc
-#define FT_Glyph_Done_Func       FT_Glyph_DoneFunc
-#define FT_Glyph_Transform_Func  FT_Glyph_TransformFunc
-#define FT_Glyph_BBox_Func       FT_Glyph_GetBBoxFunc
-#define FT_Glyph_Copy_Func       FT_Glyph_CopyFunc
-#define FT_Glyph_Prepare_Func    FT_Glyph_PrepareFunc
-
-
-  struct  FT_Glyph_Class_
-  {
-    FT_Long                 glyph_size;
-    FT_Glyph_Format         glyph_format;
-    FT_Glyph_InitFunc       glyph_init;
-    FT_Glyph_DoneFunc       glyph_done;
-    FT_Glyph_CopyFunc       glyph_copy;
-    FT_Glyph_TransformFunc  glyph_transform;
-    FT_Glyph_GetBBoxFunc    glyph_bbox;
-    FT_Glyph_PrepareFunc    glyph_prepare;
-  };
-
-
-  typedef FT_Error
-  (*FT_Renderer_RenderFunc)( FT_Renderer       renderer,
-                             FT_GlyphSlot      slot,
-                             FT_UInt           mode,
-                             const FT_Vector*  origin );
-
-  typedef FT_Error
-  (*FT_Renderer_TransformFunc)( FT_Renderer       renderer,
-                                FT_GlyphSlot      slot,
-                                const FT_Matrix*  matrix,
-                                const FT_Vector*  delta );
-
-
-  typedef void
-  (*FT_Renderer_GetCBoxFunc)( FT_Renderer   renderer,
-                              FT_GlyphSlot  slot,
-                              FT_BBox*      cbox );
-
-
-  typedef FT_Error
-  (*FT_Renderer_SetModeFunc)( FT_Renderer  renderer,
-                              FT_ULong     mode_tag,
-                              FT_Pointer   mode_ptr );
-
-/* deprecated identifiers */
-#define FTRenderer_render  FT_Renderer_RenderFunc
-#define FTRenderer_transform  FT_Renderer_TransformFunc
-#define FTRenderer_getCBox  FT_Renderer_GetCBoxFunc
-#define FTRenderer_setMode  FT_Renderer_SetModeFunc
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Struct>                                                              */
-  /*    FT_Renderer_Class                                                  */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    The renderer module class descriptor.                              */
-  /*                                                                       */
-  /* <Fields>                                                              */
-  /*    root         :: The root @FT_Module_Class fields.                  */
-  /*                                                                       */
-  /*    glyph_format :: The glyph image format this renderer handles.      */
-  /*                                                                       */
-  /*    render_glyph :: A method used to render the image that is in a     */
-  /*                    given glyph slot into a bitmap.                    */
-  /*                                                                       */
-  /*    set_mode     :: A method used to pass additional parameters.       */
-  /*                                                                       */
-  /*    raster_class :: For @FT_GLYPH_FORMAT_OUTLINE renderers only.  This */
-  /*                    is a pointer to its raster's class.                */
-  /*                                                                       */
-  /*    raster       :: For @FT_GLYPH_FORMAT_OUTLINE renderers only.  This */
-  /*                    is a pointer to the corresponding raster object,   */
-  /*                    if any.                                            */
-  /*                                                                       */
-  typedef struct  FT_Renderer_Class_
-  {
-    FT_Module_Class       root;
-
-    FT_Glyph_Format       glyph_format;
-
-    FT_Renderer_RenderFunc     render_glyph;
-    FT_Renderer_TransformFunc  transform_glyph;
-    FT_Renderer_GetCBoxFunc    get_glyph_cbox;
-    FT_Renderer_SetModeFunc    set_mode;
-
-    FT_Raster_Funcs*           raster_class;
-
-  } FT_Renderer_Class;
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Function>                                                            */
-  /*    FT_Get_Renderer                                                    */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    Retrieves the current renderer for a given glyph format.           */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    library :: A handle to the library object.                         */
-  /*                                                                       */
-  /*    format  :: The glyph format.                                       */
-  /*                                                                       */
-  /* <Return>                                                              */
-  /*    A renderer handle.  0 if none found.                               */
-  /*                                                                       */
-  /* <Note>                                                                */
-  /*    An error will be returned if a module already exists by that name, */
-  /*    or if the module requires a version of FreeType that is too great. */
-  /*                                                                       */
-  /*    To add a new renderer, simply use @FT_Add_Module.  To retrieve a   */
-  /*    renderer by its name, use @FT_Get_Module.                          */
-  /*                                                                       */
-  FT_EXPORT( FT_Renderer )
-  FT_Get_Renderer( FT_Library       library,
-                   FT_Glyph_Format  format );
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Function>                                                            */
-  /*    FT_Set_Renderer                                                    */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    Sets the current renderer to use, and set additional mode.         */
-  /*                                                                       */
-  /* <InOut>                                                               */
-  /*    library    :: A handle to the library object.                      */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    renderer   :: A handle to the renderer object.                     */
-  /*                                                                       */
-  /*    num_params :: The number of additional parameters.                 */
-  /*                                                                       */
-  /*    parameters :: Additional parameters.                               */
-  /*                                                                       */
-  /* <Return>                                                              */
-  /*    FreeType error code.  0 means success.                             */
-  /*                                                                       */
-  /* <Note>                                                                */
-  /*    In case of success, the renderer will be used to convert glyph     */
-  /*    images in the renderer's known format into bitmaps.                */
-  /*                                                                       */
-  /*    This doesn't change the current renderer for other formats.        */
-  /*                                                                       */
-  FT_EXPORT( FT_Error )
-  FT_Set_Renderer( FT_Library     library,
-                   FT_Renderer    renderer,
-                   FT_UInt        num_params,
-                   FT_Parameter*  parameters );
-
-
-  /* */
-
-
-FT_END_HEADER
-
-#endif /* __FTRENDER_H__ */
-
-
-/* END */
diff --git a/CMU462/deps/freetype/include/freetype2/freetype/ftsizes.h b/CMU462/deps/freetype/include/freetype2/freetype/ftsizes.h
deleted file mode 100755
index 622df16..0000000
--- a/CMU462/deps/freetype/include/freetype2/freetype/ftsizes.h
+++ /dev/null
@@ -1,159 +0,0 @@
-/***************************************************************************/
-/*                                                                         */
-/*  ftsizes.h                                                              */
-/*                                                                         */
-/*    FreeType size objects management (specification).                    */
-/*                                                                         */
-/*  Copyright 1996-2001, 2003, 2004, 2006 by                               */
-/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
-/*                                                                         */
-/*  This file is part of the FreeType project, and may only be used,       */
-/*  modified, and distributed under the terms of the FreeType project      */
-/*  license, LICENSE.TXT.  By continuing to use, modify, or distribute     */
-/*  this file you indicate that you have read the license and              */
-/*  understand and accept it fully.                                        */
-/*                                                                         */
-/***************************************************************************/
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* Typical application would normally not need to use these functions.   */
-  /* However, they have been placed in a public API for the rare cases     */
-  /* where they are needed.                                                */
-  /*                                                                       */
-  /*************************************************************************/
-
-
-#ifndef __FTSIZES_H__
-#define __FTSIZES_H__
-
-
-#include <ft2build.h>
-#include FT_FREETYPE_H
-
-#ifdef FREETYPE_H
-#error "freetype.h of FreeType 1 has been loaded!"
-#error "Please fix the directory search order for header files"
-#error "so that freetype.h of FreeType 2 is found first."
-#endif
-
-
-FT_BEGIN_HEADER
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Section>                                                             */
-  /*    sizes_management                                                   */
-  /*                                                                       */
-  /* <Title>                                                               */
-  /*    Size Management                                                    */
-  /*                                                                       */
-  /* <Abstract>                                                            */
-  /*    Managing multiple sizes per face.                                  */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    When creating a new face object (e.g., with @FT_New_Face), an      */
-  /*    @FT_Size object is automatically created and used to store all     */
-  /*    pixel-size dependent information, available in the `face->size'    */
-  /*    field.                                                             */
-  /*                                                                       */
-  /*    It is however possible to create more sizes for a given face,      */
-  /*    mostly in order to manage several character pixel sizes of the     */
-  /*    same font family and style.  See @FT_New_Size and @FT_Done_Size.   */
-  /*                                                                       */
-  /*    Note that @FT_Set_Pixel_Sizes and @FT_Set_Char_Size only           */
-  /*    modify the contents of the current `active' size; you thus need    */
-  /*    to use @FT_Activate_Size to change it.                             */
-  /*                                                                       */
-  /*    99% of applications won't need the functions provided here,        */
-  /*    especially if they use the caching sub-system, so be cautious      */
-  /*    when using these.                                                  */
-  /*                                                                       */
-  /*************************************************************************/
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Function>                                                            */
-  /*    FT_New_Size                                                        */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    Create a new size object from a given face object.                 */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    face :: A handle to a parent face object.                          */
-  /*                                                                       */
-  /* <Output>                                                              */
-  /*    asize :: A handle to a new size object.                            */
-  /*                                                                       */
-  /* <Return>                                                              */
-  /*    FreeType error code.  0 means success.                             */
-  /*                                                                       */
-  /* <Note>                                                                */
-  /*    You need to call @FT_Activate_Size in order to select the new size */
-  /*    for upcoming calls to @FT_Set_Pixel_Sizes, @FT_Set_Char_Size,      */
-  /*    @FT_Load_Glyph, @FT_Load_Char, etc.                                */
-  /*                                                                       */
-  FT_EXPORT( FT_Error )
-  FT_New_Size( FT_Face   face,
-               FT_Size*  size );
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Function>                                                            */
-  /*    FT_Done_Size                                                       */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    Discard a given size object.  Note that @FT_Done_Face              */
-  /*    automatically discards all size objects allocated with             */
-  /*    @FT_New_Size.                                                      */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    size :: A handle to a target size object.                          */
-  /*                                                                       */
-  /* <Return>                                                              */
-  /*    FreeType error code.  0 means success.                             */
-  /*                                                                       */
-  FT_EXPORT( FT_Error )
-  FT_Done_Size( FT_Size  size );
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Function>                                                            */
-  /*    FT_Activate_Size                                                   */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    Even though it is possible to create several size objects for a    */
-  /*    given face (see @FT_New_Size for details), functions like          */
-  /*    @FT_Load_Glyph or @FT_Load_Char only use the last-created one to   */
-  /*    determine the `current character pixel size'.                      */
-  /*                                                                       */
-  /*    This function can be used to `activate' a previously created size  */
-  /*    object.                                                            */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    size :: A handle to a target size object.                          */
-  /*                                                                       */
-  /* <Return>                                                              */
-  /*    FreeType error code.  0 means success.                             */
-  /*                                                                       */
-  /* <Note>                                                                */
-  /*    If `face' is the size's parent face object, this function changes  */
-  /*    the value of `face->size' to the input size handle.                */
-  /*                                                                       */
-  FT_EXPORT( FT_Error )
-  FT_Activate_Size( FT_Size  size );
-
-  /* */
-
-
-FT_END_HEADER
-
-#endif /* __FTSIZES_H__ */
-
-
-/* END */
diff --git a/CMU462/deps/freetype/include/freetype2/freetype/ftsnames.h b/CMU462/deps/freetype/include/freetype2/freetype/ftsnames.h
deleted file mode 100755
index 003cbcd..0000000
--- a/CMU462/deps/freetype/include/freetype2/freetype/ftsnames.h
+++ /dev/null
@@ -1,170 +0,0 @@
-/***************************************************************************/
-/*                                                                         */
-/*  ftsnames.h                                                             */
-/*                                                                         */
-/*    Simple interface to access SFNT name tables (which are used          */
-/*    to hold font names, copyright info, notices, etc.) (specification).  */
-/*                                                                         */
-/*    This is _not_ used to retrieve glyph names!                          */
-/*                                                                         */
-/*  Copyright 1996-2001, 2002, 2003, 2006 by                               */
-/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
-/*                                                                         */
-/*  This file is part of the FreeType project, and may only be used,       */
-/*  modified, and distributed under the terms of the FreeType project      */
-/*  license, LICENSE.TXT.  By continuing to use, modify, or distribute     */
-/*  this file you indicate that you have read the license and              */
-/*  understand and accept it fully.                                        */
-/*                                                                         */
-/***************************************************************************/
-
-
-#ifndef __FT_SFNT_NAMES_H__
-#define __FT_SFNT_NAMES_H__
-
-
-#include <ft2build.h>
-#include FT_FREETYPE_H
-
-#ifdef FREETYPE_H
-#error "freetype.h of FreeType 1 has been loaded!"
-#error "Please fix the directory search order for header files"
-#error "so that freetype.h of FreeType 2 is found first."
-#endif
-
-
-FT_BEGIN_HEADER
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Section>                                                             */
-  /*    sfnt_names                                                         */
-  /*                                                                       */
-  /* <Title>                                                               */
-  /*    SFNT Names                                                         */
-  /*                                                                       */
-  /* <Abstract>                                                            */
-  /*    Access the names embedded in TrueType and OpenType files.          */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    The TrueType and OpenType specification allow the inclusion of     */
-  /*    a special `names table' in font files.  This table contains        */
-  /*    textual (and internationalized) information regarding the font,    */
-  /*    like family name, copyright, version, etc.                         */
-  /*                                                                       */
-  /*    The definitions below are used to access them if available.        */
-  /*                                                                       */
-  /*    Note that this has nothing to do with glyph names!                 */
-  /*                                                                       */
-  /*************************************************************************/
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Struct>                                                              */
-  /*    FT_SfntName                                                        */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    A structure used to model an SFNT `name' table entry.              */
-  /*                                                                       */
-  /* <Fields>                                                              */
-  /*    platform_id :: The platform ID for `string'.                       */
-  /*                                                                       */
-  /*    encoding_id :: The encoding ID for `string'.                       */
-  /*                                                                       */
-  /*    language_id :: The language ID for `string'.                       */
-  /*                                                                       */
-  /*    name_id     :: An identifier for `string'.                         */
-  /*                                                                       */
-  /*    string      :: The `name' string.  Note that its format differs    */
-  /*                   depending on the (platform,encoding) pair.  It can  */
-  /*                   be a Pascal String, a UTF-16 one, etc.              */
-  /*                                                                       */
-  /*                   Generally speaking, the string is not               */
-  /*                   zero-terminated.  Please refer to the TrueType      */
-  /*                   specification for details.                          */
-  /*                                                                       */
-  /*    string_len  :: The length of `string' in bytes.                    */
-  /*                                                                       */
-  /* <Note>                                                                */
-  /*    Possible values for `platform_id', `encoding_id', `language_id',   */
-  /*    and `name_id' are given in the file `ttnameid.h'.  For details     */
-  /*    please refer to the TrueType or OpenType specification.            */
-  /*                                                                       */
-  /*    See also @TT_PLATFORM_XXX, @TT_APPLE_ID_XXX, @TT_MAC_ID_XXX,       */
-  /*    @TT_ISO_ID_XXX, and @TT_MS_ID_XXX.                                 */
-  /*                                                                       */
-  typedef struct  FT_SfntName_
-  {
-    FT_UShort  platform_id;
-    FT_UShort  encoding_id;
-    FT_UShort  language_id;
-    FT_UShort  name_id;
-
-    FT_Byte*   string;      /* this string is *not* null-terminated! */
-    FT_UInt    string_len;  /* in bytes */
-
-  } FT_SfntName;
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Function>                                                            */
-  /*    FT_Get_Sfnt_Name_Count                                             */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    Retrieves the number of name strings in the SFNT `name' table.     */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    face :: A handle to the source face.                               */
-  /*                                                                       */
-  /* <Return>                                                              */
-  /*    The number of strings in the `name' table.                         */
-  /*                                                                       */
-  FT_EXPORT( FT_UInt )
-  FT_Get_Sfnt_Name_Count( FT_Face  face );
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Function>                                                            */
-  /*    FT_Get_Sfnt_Name                                                   */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    Retrieves a string of the SFNT `name' table for a given index.     */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    face  :: A handle to the source face.                              */
-  /*                                                                       */
-  /*    idx   :: The index of the `name' string.                           */
-  /*                                                                       */
-  /* <Output>                                                              */
-  /*    aname :: The indexed @FT_SfntName structure.                       */
-  /*                                                                       */
-  /* <Return>                                                              */
-  /*    FreeType error code.  0 means success.                             */
-  /*                                                                       */
-  /* <Note>                                                                */
-  /*    The `string' array returned in the `aname' structure is not        */
-  /*    null-terminated.                                                   */
-  /*                                                                       */
-  /*    Use @FT_Get_Sfnt_Name_Count to get the total number of available   */
-  /*    `name' table entries, then do a loop until you get the right       */
-  /*    platform, encoding, and name ID.                                   */
-  /*                                                                       */
-  FT_EXPORT( FT_Error )
-  FT_Get_Sfnt_Name( FT_Face       face,
-                    FT_UInt       idx,
-                    FT_SfntName  *aname );
-
-
-  /* */
-
-
-FT_END_HEADER
-
-#endif /* __FT_SFNT_NAMES_H__ */
-
-
-/* END */
diff --git a/CMU462/deps/freetype/include/freetype2/freetype/ftsynth.h b/CMU462/deps/freetype/include/freetype2/freetype/ftsynth.h
deleted file mode 100755
index 36984bf..0000000
--- a/CMU462/deps/freetype/include/freetype2/freetype/ftsynth.h
+++ /dev/null
@@ -1,73 +0,0 @@
-/***************************************************************************/
-/*                                                                         */
-/*  ftsynth.h                                                              */
-/*                                                                         */
-/*    FreeType synthesizing code for emboldening and slanting              */
-/*    (specification).                                                     */
-/*                                                                         */
-/*  Copyright 2000-2001, 2003, 2006 by                                     */
-/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
-/*                                                                         */
-/*  This file is part of the FreeType project, and may only be used,       */
-/*  modified, and distributed under the terms of the FreeType project      */
-/*  license, LICENSE.TXT.  By continuing to use, modify, or distribute     */
-/*  this file you indicate that you have read the license and              */
-/*  understand and accept it fully.                                        */
-/*                                                                         */
-/***************************************************************************/
-
-
-  /*************************************************************************/
-  /*************************************************************************/
-  /*************************************************************************/
-  /*************************************************************************/
-  /*************************************************************************/
-  /*********                                                       *********/
-  /*********        WARNING, THIS IS ALPHA CODE, THIS API          *********/
-  /*********    IS DUE TO CHANGE UNTIL STRICTLY NOTIFIED BY THE    *********/
-  /*********            FREETYPE DEVELOPMENT TEAM                  *********/
-  /*********                                                       *********/
-  /*************************************************************************/
-  /*************************************************************************/
-  /*************************************************************************/
-  /*************************************************************************/
-  /*************************************************************************/
-
-
-#ifndef __FTSYNTH_H__
-#define __FTSYNTH_H__
-
-
-#include <ft2build.h>
-#include FT_FREETYPE_H
-
-#ifdef FREETYPE_H
-#error "freetype.h of FreeType 1 has been loaded!"
-#error "Please fix the directory search order for header files"
-#error "so that freetype.h of FreeType 2 is found first."
-#endif
-
-
-FT_BEGIN_HEADER
-
-  /* Make sure slot owns slot->bitmap. */
-  FT_EXPORT( FT_Error )
-  FT_GlyphSlot_Own_Bitmap( FT_GlyphSlot  slot );
-
-  /* Do not use this function directly!  Copy the code to */
-  /* your application and modify it to suit your need.    */
-  FT_EXPORT( void )
-  FT_GlyphSlot_Embolden( FT_GlyphSlot  slot );
-
-
-  FT_EXPORT( void )
-  FT_GlyphSlot_Oblique( FT_GlyphSlot  slot );
-
- /* */
-
-FT_END_HEADER
-
-#endif /* __FTSYNTH_H__ */
-
-
-/* END */
diff --git a/CMU462/deps/freetype/include/freetype2/freetype/fttypes.h b/CMU462/deps/freetype/include/freetype2/freetype/fttypes.h
deleted file mode 100755
index 2340bac..0000000
--- a/CMU462/deps/freetype/include/freetype2/freetype/fttypes.h
+++ /dev/null
@@ -1,583 +0,0 @@
-/***************************************************************************/
-/*                                                                         */
-/*  fttypes.h                                                              */
-/*                                                                         */
-/*    FreeType simple types definitions (specification only).              */
-/*                                                                         */
-/*  Copyright 1996-2001, 2002, 2004, 2006, 2007 by                         */
-/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
-/*                                                                         */
-/*  This file is part of the FreeType project, and may only be used,       */
-/*  modified, and distributed under the terms of the FreeType project      */
-/*  license, LICENSE.TXT.  By continuing to use, modify, or distribute     */
-/*  this file you indicate that you have read the license and              */
-/*  understand and accept it fully.                                        */
-/*                                                                         */
-/***************************************************************************/
-
-
-#ifndef __FTTYPES_H__
-#define __FTTYPES_H__
-
-
-#include <ft2build.h>
-#include FT_CONFIG_CONFIG_H
-#include FT_SYSTEM_H
-#include FT_IMAGE_H
-
-#include <stddef.h>
-
-
-FT_BEGIN_HEADER
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Section>                                                             */
-  /*    basic_types                                                        */
-  /*                                                                       */
-  /* <Title>                                                               */
-  /*    Basic Data Types                                                   */
-  /*                                                                       */
-  /* <Abstract>                                                            */
-  /*    The basic data types defined by the library.                       */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    This section contains the basic data types defined by FreeType 2,  */
-  /*    ranging from simple scalar types to bitmap descriptors.  More      */
-  /*    font-specific structures are defined in a different section.       */
-  /*                                                                       */
-  /* <Order>                                                               */
-  /*    FT_Byte                                                            */
-  /*    FT_Bytes                                                           */
-  /*    FT_Char                                                            */
-  /*    FT_Int                                                             */
-  /*    FT_UInt                                                            */
-  /*    FT_Short                                                           */
-  /*    FT_UShort                                                          */
-  /*    FT_Long                                                            */
-  /*    FT_ULong                                                           */
-  /*    FT_Bool                                                            */
-  /*    FT_Offset                                                          */
-  /*    FT_PtrDist                                                         */
-  /*    FT_String                                                          */
-  /*    FT_Tag                                                             */
-  /*    FT_Error                                                           */
-  /*    FT_Fixed                                                           */
-  /*    FT_Pointer                                                         */
-  /*    FT_Pos                                                             */
-  /*    FT_Vector                                                          */
-  /*    FT_BBox                                                            */
-  /*    FT_Matrix                                                          */
-  /*    FT_FWord                                                           */
-  /*    FT_UFWord                                                          */
-  /*    FT_F2Dot14                                                         */
-  /*    FT_UnitVector                                                      */
-  /*    FT_F26Dot6                                                         */
-  /*                                                                       */
-  /*                                                                       */
-  /*    FT_Generic                                                         */
-  /*    FT_Generic_Finalizer                                               */
-  /*                                                                       */
-  /*    FT_Bitmap                                                          */
-  /*    FT_Pixel_Mode                                                      */
-  /*    FT_Palette_Mode                                                    */
-  /*    FT_Glyph_Format                                                    */
-  /*    FT_IMAGE_TAG                                                       */
-  /*                                                                       */
-  /*************************************************************************/
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Type>                                                                */
-  /*    FT_Bool                                                            */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    A typedef of unsigned char, used for simple booleans.  As usual,   */
-  /*    values 1 and 0 represent true and false, respectively.             */
-  /*                                                                       */
-  typedef unsigned char  FT_Bool;
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Type>                                                                */
-  /*    FT_FWord                                                           */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    A signed 16-bit integer used to store a distance in original font  */
-  /*    units.                                                             */
-  /*                                                                       */
-  typedef signed short  FT_FWord;   /* distance in FUnits */
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Type>                                                                */
-  /*    FT_UFWord                                                          */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    An unsigned 16-bit integer used to store a distance in original    */
-  /*    font units.                                                        */
-  /*                                                                       */
-  typedef unsigned short  FT_UFWord;  /* unsigned distance */
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Type>                                                                */
-  /*    FT_Char                                                            */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    A simple typedef for the _signed_ char type.                       */
-  /*                                                                       */
-  typedef signed char  FT_Char;
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Type>                                                                */
-  /*    FT_Byte                                                            */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    A simple typedef for the _unsigned_ char type.                     */
-  /*                                                                       */
-  typedef unsigned char  FT_Byte;
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Type>                                                                */
-  /*    FT_Bytes                                                           */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    A typedef for constant memory areas.                               */
-  /*                                                                       */
-  typedef const FT_Byte*  FT_Bytes;
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Type>                                                                */
-  /*    FT_Tag                                                             */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    A typedef for 32bit tags (as used in the SFNT format).             */
-  /*                                                                       */
-  typedef FT_UInt32  FT_Tag;
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Type>                                                                */
-  /*    FT_String                                                          */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    A simple typedef for the char type, usually used for strings.      */
-  /*                                                                       */
-  typedef char  FT_String;
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Type>                                                                */
-  /*    FT_Short                                                           */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    A typedef for signed short.                                        */
-  /*                                                                       */
-  typedef signed short  FT_Short;
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Type>                                                                */
-  /*    FT_UShort                                                          */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    A typedef for unsigned short.                                      */
-  /*                                                                       */
-  typedef unsigned short  FT_UShort;
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Type>                                                                */
-  /*    FT_Int                                                             */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    A typedef for the int type.                                        */
-  /*                                                                       */
-  typedef signed int  FT_Int;
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Type>                                                                */
-  /*    FT_UInt                                                            */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    A typedef for the unsigned int type.                               */
-  /*                                                                       */
-  typedef unsigned int  FT_UInt;
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Type>                                                                */
-  /*    FT_Long                                                            */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    A typedef for signed long.                                         */
-  /*                                                                       */
-  typedef signed long  FT_Long;
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Type>                                                                */
-  /*    FT_ULong                                                           */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    A typedef for unsigned long.                                       */
-  /*                                                                       */
-  typedef unsigned long  FT_ULong;
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Type>                                                                */
-  /*    FT_F2Dot14                                                         */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    A signed 2.14 fixed float type used for unit vectors.              */
-  /*                                                                       */
-  typedef signed short  FT_F2Dot14;
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Type>                                                                */
-  /*    FT_F26Dot6                                                         */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    A signed 26.6 fixed float type used for vectorial pixel            */
-  /*    coordinates.                                                       */
-  /*                                                                       */
-  typedef signed long  FT_F26Dot6;
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Type>                                                                */
-  /*    FT_Fixed                                                           */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    This type is used to store 16.16 fixed float values, like scaling  */
-  /*    values or matrix coefficients.                                     */
-  /*                                                                       */
-  typedef signed long  FT_Fixed;
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Type>                                                                */
-  /*    FT_Error                                                           */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    The FreeType error code type.  A value of 0 is always interpreted  */
-  /*    as a successful operation.                                         */
-  /*                                                                       */
-  typedef int  FT_Error;
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Type>                                                                */
-  /*    FT_Pointer                                                         */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    A simple typedef for a typeless pointer.                           */
-  /*                                                                       */
-  typedef void*  FT_Pointer;
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Type>                                                                */
-  /*    FT_Offset                                                          */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    This is equivalent to the ANSI C `size_t' type, i.e., the largest  */
-  /*    _unsigned_ integer type used to express a file size or position,   */
-  /*    or a memory block size.                                            */
-  /*                                                                       */
-  typedef size_t  FT_Offset;
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Type>                                                                */
-  /*    FT_PtrDist                                                         */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    This is equivalent to the ANSI C `ptrdiff_t' type, i.e., the       */
-  /*    largest _signed_ integer type used to express the distance         */
-  /*    between two pointers.                                              */
-  /*                                                                       */
-  typedef ft_ptrdiff_t  FT_PtrDist;
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Struct>                                                              */
-  /*    FT_UnitVector                                                      */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    A simple structure used to store a 2D vector unit vector.  Uses    */
-  /*    FT_F2Dot14 types.                                                  */
-  /*                                                                       */
-  /* <Fields>                                                              */
-  /*    x :: Horizontal coordinate.                                        */
-  /*                                                                       */
-  /*    y :: Vertical coordinate.                                          */
-  /*                                                                       */
-  typedef struct  FT_UnitVector_
-  {
-    FT_F2Dot14  x;
-    FT_F2Dot14  y;
-
-  } FT_UnitVector;
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Struct>                                                              */
-  /*    FT_Matrix                                                          */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    A simple structure used to store a 2x2 matrix.  Coefficients are   */
-  /*    in 16.16 fixed float format.  The computation performed is:        */
-  /*                                                                       */
-  /*       {                                                               */
-  /*          x' = x*xx + y*xy                                             */
-  /*          y' = x*yx + y*yy                                             */
-  /*       }                                                               */
-  /*                                                                       */
-  /* <Fields>                                                              */
-  /*    xx :: Matrix coefficient.                                          */
-  /*                                                                       */
-  /*    xy :: Matrix coefficient.                                          */
-  /*                                                                       */
-  /*    yx :: Matrix coefficient.                                          */
-  /*                                                                       */
-  /*    yy :: Matrix coefficient.                                          */
-  /*                                                                       */
-  typedef struct  FT_Matrix_
-  {
-    FT_Fixed  xx, xy;
-    FT_Fixed  yx, yy;
-
-  } FT_Matrix;
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Struct>                                                              */
-  /*    FT_Data                                                            */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    Read-only binary data represented as a pointer and a length.       */
-  /*                                                                       */
-  /* <Fields>                                                              */
-  /*    pointer :: The data.                                               */
-  /*                                                                       */
-  /*    length  :: The length of the data in bytes.                        */
-  /*                                                                       */
-  typedef struct  FT_Data_
-  {
-    const FT_Byte*  pointer;
-    FT_Int          length;
-
-  } FT_Data;
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <FuncType>                                                            */
-  /*    FT_Generic_Finalizer                                               */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    Describes a function used to destroy the `client' data of any      */
-  /*    FreeType object.  See the description of the @FT_Generic type for  */
-  /*    details of usage.                                                  */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    The address of the FreeType object which is under finalization.    */
-  /*    Its client data is accessed through its `generic' field.           */
-  /*                                                                       */
-  typedef void  (*FT_Generic_Finalizer)(void*  object);
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Struct>                                                              */
-  /*    FT_Generic                                                         */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    Client applications often need to associate their own data to a    */
-  /*    variety of FreeType core objects.  For example, a text layout API  */
-  /*    might want to associate a glyph cache to a given size object.      */
-  /*                                                                       */
-  /*    Most FreeType object contains a `generic' field, of type           */
-  /*    FT_Generic, which usage is left to client applications and font    */
-  /*    servers.                                                           */
-  /*                                                                       */
-  /*    It can be used to store a pointer to client-specific data, as well */
-  /*    as the address of a `finalizer' function, which will be called by  */
-  /*    FreeType when the object is destroyed (for example, the previous   */
-  /*    client example would put the address of the glyph cache destructor */
-  /*    in the `finalizer' field).                                         */
-  /*                                                                       */
-  /* <Fields>                                                              */
-  /*    data      :: A typeless pointer to any client-specified data. This */
-  /*                 field is completely ignored by the FreeType library.  */
-  /*                                                                       */
-  /*    finalizer :: A pointer to a `generic finalizer' function, which    */
-  /*                 will be called when the object is destroyed.  If this */
-  /*                 field is set to NULL, no code will be called.         */
-  /*                                                                       */
-  typedef struct  FT_Generic_
-  {
-    void*                 data;
-    FT_Generic_Finalizer  finalizer;
-
-  } FT_Generic;
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Macro>                                                               */
-  /*    FT_MAKE_TAG                                                        */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    This macro converts four-letter tags which are used to label       */
-  /*    TrueType tables into an unsigned long to be used within FreeType.  */
-  /*                                                                       */
-  /* <Note>                                                                */
-  /*    The produced values *must* be 32bit integers.  Don't redefine this */
-  /*    macro.                                                             */
-  /*                                                                       */
-#define FT_MAKE_TAG( _x1, _x2, _x3, _x4 ) \
-          ( ( (FT_ULong)_x1 << 24 ) |     \
-            ( (FT_ULong)_x2 << 16 ) |     \
-            ( (FT_ULong)_x3 <<  8 ) |     \
-              (FT_ULong)_x4         )
-
-
-  /*************************************************************************/
-  /*************************************************************************/
-  /*                                                                       */
-  /*                    L I S T   M A N A G E M E N T                      */
-  /*                                                                       */
-  /*************************************************************************/
-  /*************************************************************************/
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Section>                                                             */
-  /*    list_processing                                                    */
-  /*                                                                       */
-  /*************************************************************************/
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Type>                                                                */
-  /*    FT_ListNode                                                        */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*     Many elements and objects in FreeType are listed through an       */
-  /*     @FT_List record (see @FT_ListRec).  As its name suggests, an      */
-  /*     FT_ListNode is a handle to a single list element.                 */
-  /*                                                                       */
-  typedef struct FT_ListNodeRec_*  FT_ListNode;
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Type>                                                                */
-  /*    FT_List                                                            */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    A handle to a list record (see @FT_ListRec).                       */
-  /*                                                                       */
-  typedef struct FT_ListRec_*  FT_List;
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Struct>                                                              */
-  /*    FT_ListNodeRec                                                     */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    A structure used to hold a single list element.                    */
-  /*                                                                       */
-  /* <Fields>                                                              */
-  /*    prev :: The previous element in the list.  NULL if first.          */
-  /*                                                                       */
-  /*    next :: The next element in the list.  NULL if last.               */
-  /*                                                                       */
-  /*    data :: A typeless pointer to the listed object.                   */
-  /*                                                                       */
-  typedef struct  FT_ListNodeRec_
-  {
-    FT_ListNode  prev;
-    FT_ListNode  next;
-    void*        data;
-
-  } FT_ListNodeRec;
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Struct>                                                              */
-  /*    FT_ListRec                                                         */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    A structure used to hold a simple doubly-linked list.  These are   */
-  /*    used in many parts of FreeType.                                    */
-  /*                                                                       */
-  /* <Fields>                                                              */
-  /*    head :: The head (first element) of doubly-linked list.            */
-  /*                                                                       */
-  /*    tail :: The tail (last element) of doubly-linked list.             */
-  /*                                                                       */
-  typedef struct  FT_ListRec_
-  {
-    FT_ListNode  head;
-    FT_ListNode  tail;
-
-  } FT_ListRec;
-
-
-  /* */
-
-#define FT_IS_EMPTY( list )  ( (list).head == 0 )
-
-  /* return base error code (without module-specific prefix) */
-#define FT_ERROR_BASE( x )    ( (x) & 0xFF )
-
-  /* return module error code */
-#define FT_ERROR_MODULE( x )  ( (x) & 0xFF00U )
-
-#define FT_BOOL( x )  ( (FT_Bool)( x ) )
-
-FT_END_HEADER
-
-#endif /* __FTTYPES_H__ */
-
-
-/* END */
diff --git a/CMU462/deps/freetype/include/freetype2/freetype/ftwinfnt.h b/CMU462/deps/freetype/include/freetype2/freetype/ftwinfnt.h
deleted file mode 100755
index a0063cc..0000000
--- a/CMU462/deps/freetype/include/freetype2/freetype/ftwinfnt.h
+++ /dev/null
@@ -1,263 +0,0 @@
-/***************************************************************************/
-/*                                                                         */
-/*  ftwinfnt.h                                                             */
-/*                                                                         */
-/*    FreeType API for accessing Windows fnt-specific data.                */
-/*                                                                         */
-/*  Copyright 2003, 2004 by                                                */
-/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
-/*                                                                         */
-/*  This file is part of the FreeType project, and may only be used,       */
-/*  modified, and distributed under the terms of the FreeType project      */
-/*  license, LICENSE.TXT.  By continuing to use, modify, or distribute     */
-/*  this file you indicate that you have read the license and              */
-/*  understand and accept it fully.                                        */
-/*                                                                         */
-/***************************************************************************/
-
-
-#ifndef __FTWINFNT_H__
-#define __FTWINFNT_H__
-
-#include <ft2build.h>
-#include FT_FREETYPE_H
-
-#ifdef FREETYPE_H
-#error "freetype.h of FreeType 1 has been loaded!"
-#error "Please fix the directory search order for header files"
-#error "so that freetype.h of FreeType 2 is found first."
-#endif
-
-
-FT_BEGIN_HEADER
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Section>                                                             */
-  /*    winfnt_fonts                                                       */
-  /*                                                                       */
-  /* <Title>                                                               */
-  /*    Window FNT Files                                                   */
-  /*                                                                       */
-  /* <Abstract>                                                            */
-  /*    Windows FNT specific API.                                          */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    This section contains the declaration of Windows FNT specific      */
-  /*    functions.                                                         */
-  /*                                                                       */
-  /*************************************************************************/
-
-
-  /*************************************************************************
-   *
-   * @enum:
-   *   FT_WinFNT_ID_XXX
-   *
-   * @description:
-   *   A list of valid values for the `charset' byte in
-   *   @FT_WinFNT_HeaderRec.  Exact mapping tables for the various cpXXXX
-   *   encodings (except for cp1361) can be found at ftp://ftp.unicode.org
-   *   in the MAPPINGS/VENDORS/MICSFT/WINDOWS subdirectory.  cp1361 is
-   *   roughly a superset of MAPPINGS/OBSOLETE/EASTASIA/KSC/JOHAB.TXT.
-   *
-   * @values:
-   *   FT_WinFNT_ID_DEFAULT ::
-   *     This is used for font enumeration and font creation as a
-   *     `don't care' value.  Valid font files don't contain this value.
-   *     When querying for information about the character set of the font
-   *     that is currently selected into a specified device context, this
-   *     return value (of the related Windows API) simply denotes failure.
-   *
-   *   FT_WinFNT_ID_SYMBOL ::
-   *     There is no known mapping table available.
-   *
-   *   FT_WinFNT_ID_MAC ::
-   *     Mac Roman encoding.
-   *
-   *   FT_WinFNT_ID_OEM ::
-   *     From Michael Pöttgen <michael@poettgen.de>:
-   *
-   *       The `Windows Font Mapping' article says that FT_WinFNT_ID_OEM
-   *       is used for the charset of vector fonts, like `modern.fon',
-   *       `roman.fon', and `script.fon' on Windows.
-   *
-   *       The `CreateFont' documentation says: The FT_WinFNT_ID_OEM value
-   *       specifies a character set that is operating-system dependent.
-   *
-   *       The `IFIMETRICS' documentation from the `Windows Driver
-   *       Development Kit' says: This font supports an OEM-specific
-   *       character set.  The OEM character set is system dependent.
-   *
-   *       In general OEM, as opposed to ANSI (i.e., cp1252), denotes the
-   *       second default codepage that most international versions of
-   *       Windows have.  It is one of the OEM codepages from
-   *
-   *         http://www.microsoft.com/globaldev/reference/cphome.mspx,
-   *
-   *       and is used for the `DOS boxes', to support legacy applications.
-   *       A German Windows version for example usually uses ANSI codepage
-   *       1252 and OEM codepage 850.
-   *
-   *   FT_WinFNT_ID_CP874 ::
-   *     A superset of Thai TIS 620 and ISO 8859-11.
-   *
-   *   FT_WinFNT_ID_CP932 ::
-   *     A superset of Japanese Shift-JIS (with minor deviations).
-   *
-   *   FT_WinFNT_ID_CP936 ::
-   *     A superset of simplified Chinese GB 2312-1980 (with different
-   *     ordering and minor deviations).
-   *
-   *   FT_WinFNT_ID_CP949 ::
-   *     A superset of Korean Hangul KS C 5601-1987 (with different
-   *     ordering and minor deviations).
-   *
-   *   FT_WinFNT_ID_CP950 ::
-   *     A superset of traditional Chinese Big 5 ETen (with different
-   *     ordering and minor deviations).
-   *
-   *   FT_WinFNT_ID_CP1250 ::
-   *     A superset of East European ISO 8859-2 (with slightly different
-   *     ordering).
-   *
-   *   FT_WinFNT_ID_CP1251 ::
-   *     A superset of Russian ISO 8859-5 (with different ordering).
-   *
-   *   FT_WinFNT_ID_CP1252 ::
-   *     ANSI encoding.  A superset of ISO 8859-1.
-   *
-   *   FT_WinFNT_ID_CP1253 ::
-   *     A superset of Greek ISO 8859-7 (with minor modifications).
-   *
-   *   FT_WinFNT_ID_CP1254 ::
-   *     A superset of Turkish ISO 8859-9.
-   *
-   *   FT_WinFNT_ID_CP1255 ::
-   *     A superset of Hebrew ISO 8859-8 (with some modifications).
-   *
-   *   FT_WinFNT_ID_CP1256 ::
-   *     A superset of Arabic ISO 8859-6 (with different ordering).
-   *
-   *   FT_WinFNT_ID_CP1257 ::
-   *     A superset of Baltic ISO 8859-13 (with some deviations).
-   *
-   *   FT_WinFNT_ID_CP1258 ::
-   *     For Vietnamese.  This encoding doesn't cover all necessary
-   *     characters.
-   *
-   *   FT_WinFNT_ID_CP1361 ::
-   *     Korean (Johab).
-   */
-
-#define FT_WinFNT_ID_CP1252    0
-#define FT_WinFNT_ID_DEFAULT   1
-#define FT_WinFNT_ID_SYMBOL    2
-#define FT_WinFNT_ID_MAC      77
-#define FT_WinFNT_ID_CP932   128
-#define FT_WinFNT_ID_CP949   129
-#define FT_WinFNT_ID_CP1361  130
-#define FT_WinFNT_ID_CP936   134
-#define FT_WinFNT_ID_CP950   136
-#define FT_WinFNT_ID_CP1253  161
-#define FT_WinFNT_ID_CP1254  162
-#define FT_WinFNT_ID_CP1258  163
-#define FT_WinFNT_ID_CP1255  177
-#define FT_WinFNT_ID_CP1256  178
-#define FT_WinFNT_ID_CP1257  186
-#define FT_WinFNT_ID_CP1251  204
-#define FT_WinFNT_ID_CP874   222
-#define FT_WinFNT_ID_CP1250  238
-#define FT_WinFNT_ID_OEM     255
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Struct>                                                              */
-  /*    FT_WinFNT_HeaderRec                                                */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    Windows FNT Header info.                                           */
-  /*                                                                       */
-  typedef struct  FT_WinFNT_HeaderRec_
-  {
-    FT_UShort  version;
-    FT_ULong   file_size;
-    FT_Byte    copyright[60];
-    FT_UShort  file_type;
-    FT_UShort  nominal_point_size;
-    FT_UShort  vertical_resolution;
-    FT_UShort  horizontal_resolution;
-    FT_UShort  ascent;
-    FT_UShort  internal_leading;
-    FT_UShort  external_leading;
-    FT_Byte    italic;
-    FT_Byte    underline;
-    FT_Byte    strike_out;
-    FT_UShort  weight;
-    FT_Byte    charset;
-    FT_UShort  pixel_width;
-    FT_UShort  pixel_height;
-    FT_Byte    pitch_and_family;
-    FT_UShort  avg_width;
-    FT_UShort  max_width;
-    FT_Byte    first_char;
-    FT_Byte    last_char;
-    FT_Byte    default_char;
-    FT_Byte    break_char;
-    FT_UShort  bytes_per_row;
-    FT_ULong   device_offset;
-    FT_ULong   face_name_offset;
-    FT_ULong   bits_pointer;
-    FT_ULong   bits_offset;
-    FT_Byte    reserved;
-    FT_ULong   flags;
-    FT_UShort  A_space;
-    FT_UShort  B_space;
-    FT_UShort  C_space;
-    FT_UShort  color_table_offset;
-    FT_ULong   reserved1[4];
-
-  } FT_WinFNT_HeaderRec, *FT_WinFNT_Header;
-
-
- /**********************************************************************
-  *
-  * @function:
-  *    FT_Get_WinFNT_Header
-  *
-  * @description:
-  *    Retrieve a Windows FNT font info header.
-  *
-  * @input:
-  *    face    :: A handle to the input face.
-  *
-  * @output:
-  *    aheader :: The WinFNT header.
-  *
-  * @return:
-  *   FreeType error code.  0 means success.
-  *
-  * @note:
-  *   This function only works with Windows FNT faces, returning an error
-  *   otherwise.
-  */
-  FT_EXPORT( FT_Error )
-  FT_Get_WinFNT_Header( FT_Face               face,
-                        FT_WinFNT_HeaderRec  *aheader );
-
-
- /* */
-
-FT_END_HEADER
-
-#endif /* __FTWINFNT_H__ */
-
-
-/* END */
-
-
-/* Local Variables: */
-/* coding: utf-8    */
-/* End:             */
diff --git a/CMU462/deps/freetype/include/freetype2/freetype/ftxf86.h b/CMU462/deps/freetype/include/freetype2/freetype/ftxf86.h
deleted file mode 100755
index ea82abb..0000000
--- a/CMU462/deps/freetype/include/freetype2/freetype/ftxf86.h
+++ /dev/null
@@ -1,80 +0,0 @@
-/***************************************************************************/
-/*                                                                         */
-/*  ftxf86.h                                                               */
-/*                                                                         */
-/*    Support functions for X11.                                           */
-/*                                                                         */
-/*  Copyright 2002, 2003, 2004, 2006, 2007 by                              */
-/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
-/*                                                                         */
-/*  This file is part of the FreeType project, and may only be used,       */
-/*  modified, and distributed under the terms of the FreeType project      */
-/*  license, LICENSE.TXT.  By continuing to use, modify, or distribute     */
-/*  this file you indicate that you have read the license and              */
-/*  understand and accept it fully.                                        */
-/*                                                                         */
-/***************************************************************************/
-
-
-#ifndef __FTXF86_H__
-#define __FTXF86_H__
-
-#include <ft2build.h>
-#include FT_FREETYPE_H
-
-#ifdef FREETYPE_H
-#error "freetype.h of FreeType 1 has been loaded!"
-#error "Please fix the directory search order for header files"
-#error "so that freetype.h of FreeType 2 is found first."
-#endif
-
-
-FT_BEGIN_HEADER
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Section>                                                             */
-  /*   font_formats                                                        */
-  /*                                                                       */
-  /* <Title>                                                               */
-  /*   Font Formats                                                        */
-  /*                                                                       */
-  /* <Abstract>                                                            */
-  /*   Getting the font format.                                            */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*   The single function in this section can be used to get the font     */
-  /*   format.  Note that this information is not needed normally;         */
-  /*   however, there are special cases (like in PDF devices) where it is  */
-  /*   important to differentiate, in spite of FreeType's uniform API.     */
-  /*                                                                       */
-  /*************************************************************************/
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Function>                                                            */
-  /*   FT_Get_X11_Font_Format                                              */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*   Return a string describing the format of a given face, using values */
-  /*   which can be used as an X11 FONT_PROPERTY.  Possible values are     */
-  /*   `TrueType', `Type 1', `BDF', `PCF', `Type 42', `CID Type 1', `CFF', */
-  /*   `PFR', and `Windows FNT'.                                           */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*   face ::                                                             */
-  /*     Input face handle.                                                */
-  /*                                                                       */
-  /* <Return>                                                              */
-  /*   Font format string.  NULL in case of error.                         */
-  /*                                                                       */
-  FT_EXPORT( const char* )
-  FT_Get_X11_Font_Format( FT_Face  face );
-
- /* */
-
-FT_END_HEADER
-
-#endif /* __FTXF86_H__ */
diff --git a/CMU462/deps/freetype/include/freetype2/freetype/t1tables.h b/CMU462/deps/freetype/include/freetype2/freetype/t1tables.h
deleted file mode 100755
index 250629d..0000000
--- a/CMU462/deps/freetype/include/freetype2/freetype/t1tables.h
+++ /dev/null
@@ -1,450 +0,0 @@
-/***************************************************************************/
-/*                                                                         */
-/*  t1tables.h                                                             */
-/*                                                                         */
-/*    Basic Type 1/Type 2 tables definitions and interface (specification  */
-/*    only).                                                               */
-/*                                                                         */
-/*  Copyright 1996-2001, 2002, 2003, 2004, 2006 by                         */
-/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
-/*                                                                         */
-/*  This file is part of the FreeType project, and may only be used,       */
-/*  modified, and distributed under the terms of the FreeType project      */
-/*  license, LICENSE.TXT.  By continuing to use, modify, or distribute     */
-/*  this file you indicate that you have read the license and              */
-/*  understand and accept it fully.                                        */
-/*                                                                         */
-/***************************************************************************/
-
-
-#ifndef __T1TABLES_H__
-#define __T1TABLES_H__
-
-
-#include <ft2build.h>
-#include FT_FREETYPE_H
-
-#ifdef FREETYPE_H
-#error "freetype.h of FreeType 1 has been loaded!"
-#error "Please fix the directory search order for header files"
-#error "so that freetype.h of FreeType 2 is found first."
-#endif
-
-
-FT_BEGIN_HEADER
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Section>                                                             */
-  /*    type1_tables                                                       */
-  /*                                                                       */
-  /* <Title>                                                               */
-  /*    Type 1 Tables                                                      */
-  /*                                                                       */
-  /* <Abstract>                                                            */
-  /*    Type 1 (PostScript) specific font tables.                          */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    This section contains the definition of Type 1-specific tables,    */
-  /*    including structures related to other PostScript font formats.     */
-  /*                                                                       */
-  /*************************************************************************/
-
-
-  /* Note that we separate font data in PS_FontInfoRec and PS_PrivateRec */
-  /* structures in order to support Multiple Master fonts.               */
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Struct>                                                              */
-  /*    PS_FontInfoRec                                                     */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    A structure used to model a Type1/Type2 FontInfo dictionary.  Note */
-  /*    that for Multiple Master fonts, each instance has its own          */
-  /*    FontInfo dictionary.                                               */
-  /*                                                                       */
-  typedef struct  PS_FontInfoRec
-  {
-    FT_String*  version;
-    FT_String*  notice;
-    FT_String*  full_name;
-    FT_String*  family_name;
-    FT_String*  weight;
-    FT_Long     italic_angle;
-    FT_Bool     is_fixed_pitch;
-    FT_Short    underline_position;
-    FT_UShort   underline_thickness;
-
-  } PS_FontInfoRec, *PS_FontInfo;
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Struct>                                                              */
-  /*    T1_FontInfo                                                        */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    This type is equivalent to @PS_FontInfoRec.  It is deprecated but  */
-  /*    kept to maintain source compatibility between various versions of  */
-  /*    FreeType.                                                          */
-  /*                                                                       */
-  typedef PS_FontInfoRec  T1_FontInfo;
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Struct>                                                              */
-  /*    PS_PrivateRec                                                      */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    A structure used to model a Type1/Type2 private dictionary.  Note  */
-  /*    that for Multiple Master fonts, each instance has its own Private  */
-  /*    dictionary.                                                        */
-  /*                                                                       */
-  typedef struct  PS_PrivateRec_
-  {
-    FT_Int     unique_id;
-    FT_Int     lenIV;
-
-    FT_Byte    num_blue_values;
-    FT_Byte    num_other_blues;
-    FT_Byte    num_family_blues;
-    FT_Byte    num_family_other_blues;
-
-    FT_Short   blue_values[14];
-    FT_Short   other_blues[10];
-
-    FT_Short   family_blues      [14];
-    FT_Short   family_other_blues[10];
-
-    FT_Fixed   blue_scale;
-    FT_Int     blue_shift;
-    FT_Int     blue_fuzz;
-
-    FT_UShort  standard_width[1];
-    FT_UShort  standard_height[1];
-
-    FT_Byte    num_snap_widths;
-    FT_Byte    num_snap_heights;
-    FT_Bool    force_bold;
-    FT_Bool    round_stem_up;
-
-    FT_Short   snap_widths [13];  /* including std width  */
-    FT_Short   snap_heights[13];  /* including std height */
-
-    FT_Fixed   expansion_factor;
-
-    FT_Long    language_group;
-    FT_Long    password;
-
-    FT_Short   min_feature[2];
-
-  } PS_PrivateRec, *PS_Private;
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Struct>                                                              */
-  /*    T1_Private                                                         */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*   This type is equivalent to @PS_PrivateRec.  It is deprecated but    */
-  /*   kept to maintain source compatibility between various versions of   */
-  /*   FreeType.                                                           */
-  /*                                                                       */
-  typedef PS_PrivateRec  T1_Private;
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Enum>                                                                */
-  /*    T1_Blend_Flags                                                     */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    A set of flags used to indicate which fields are present in a      */
-  /*    given blend dictionary (font info or private).  Used to support    */
-  /*    Multiple Masters fonts.                                            */
-  /*                                                                       */
-  typedef enum
-  {
-    /*# required fields in a FontInfo blend dictionary */
-    T1_BLEND_UNDERLINE_POSITION = 0,
-    T1_BLEND_UNDERLINE_THICKNESS,
-    T1_BLEND_ITALIC_ANGLE,
-
-    /*# required fields in a Private blend dictionary */
-    T1_BLEND_BLUE_VALUES,
-    T1_BLEND_OTHER_BLUES,
-    T1_BLEND_STANDARD_WIDTH,
-    T1_BLEND_STANDARD_HEIGHT,
-    T1_BLEND_STEM_SNAP_WIDTHS,
-    T1_BLEND_STEM_SNAP_HEIGHTS,
-    T1_BLEND_BLUE_SCALE,
-    T1_BLEND_BLUE_SHIFT,
-    T1_BLEND_FAMILY_BLUES,
-    T1_BLEND_FAMILY_OTHER_BLUES,
-    T1_BLEND_FORCE_BOLD,
-
-    /*# never remove */
-    T1_BLEND_MAX
-
-  } T1_Blend_Flags;
-
-  /* */
-
-
-  /*# backwards compatible definitions */
-#define t1_blend_underline_position   T1_BLEND_UNDERLINE_POSITION
-#define t1_blend_underline_thickness  T1_BLEND_UNDERLINE_THICKNESS
-#define t1_blend_italic_angle         T1_BLEND_ITALIC_ANGLE
-#define t1_blend_blue_values          T1_BLEND_BLUE_VALUES
-#define t1_blend_other_blues          T1_BLEND_OTHER_BLUES
-#define t1_blend_standard_widths      T1_BLEND_STANDARD_WIDTH
-#define t1_blend_standard_height      T1_BLEND_STANDARD_HEIGHT
-#define t1_blend_stem_snap_widths     T1_BLEND_STEM_SNAP_WIDTHS
-#define t1_blend_stem_snap_heights    T1_BLEND_STEM_SNAP_HEIGHTS
-#define t1_blend_blue_scale           T1_BLEND_BLUE_SCALE
-#define t1_blend_blue_shift           T1_BLEND_BLUE_SHIFT
-#define t1_blend_family_blues         T1_BLEND_FAMILY_BLUES
-#define t1_blend_family_other_blues   T1_BLEND_FAMILY_OTHER_BLUES
-#define t1_blend_force_bold           T1_BLEND_FORCE_BOLD
-#define t1_blend_max                  T1_BLEND_MAX
-
-
-  /* maximum number of Multiple Masters designs, as defined in the spec */
-#define T1_MAX_MM_DESIGNS     16
-
-  /* maximum number of Multiple Masters axes, as defined in the spec */
-#define T1_MAX_MM_AXIS        4
-
-  /* maximum number of elements in a design map */
-#define T1_MAX_MM_MAP_POINTS  20
-
-
-  /* this structure is used to store the BlendDesignMap entry for an axis */
-  typedef struct  PS_DesignMap_
-  {
-    FT_Byte    num_points;
-    FT_Long*   design_points;
-    FT_Fixed*  blend_points;
-
-  } PS_DesignMapRec, *PS_DesignMap;
-
-  /* backwards-compatible definition */
-  typedef PS_DesignMapRec  T1_DesignMap;
-
-
-  typedef struct  PS_BlendRec_
-  {
-    FT_UInt          num_designs;
-    FT_UInt          num_axis;
-
-    FT_String*       axis_names[T1_MAX_MM_AXIS];
-    FT_Fixed*        design_pos[T1_MAX_MM_DESIGNS];
-    PS_DesignMapRec  design_map[T1_MAX_MM_AXIS];
-
-    FT_Fixed*        weight_vector;
-    FT_Fixed*        default_weight_vector;
-
-    PS_FontInfo      font_infos[T1_MAX_MM_DESIGNS + 1];
-    PS_Private       privates  [T1_MAX_MM_DESIGNS + 1];
-
-    FT_ULong         blend_bitflags;
-
-    FT_BBox*         bboxes    [T1_MAX_MM_DESIGNS + 1];
-
-    /* since 2.3.0 */
-
-    /* undocumented, optional: the default design instance;   */
-    /* corresponds to default_weight_vector --                */
-    /* num_default_design_vector == 0 means it is not present */
-    /* in the font and associated metrics files               */
-    FT_UInt          default_design_vector[T1_MAX_MM_DESIGNS];
-    FT_UInt          num_default_design_vector;
-
-  } PS_BlendRec, *PS_Blend;
-
-
-  /* backwards-compatible definition */
-  typedef PS_BlendRec  T1_Blend;
-
-
-  typedef struct  CID_FaceDictRec_
-  {
-    PS_PrivateRec  private_dict;
-
-    FT_UInt        len_buildchar;
-    FT_Fixed       forcebold_threshold;
-    FT_Pos         stroke_width;
-    FT_Fixed       expansion_factor;
-
-    FT_Byte        paint_type;
-    FT_Byte        font_type;
-    FT_Matrix      font_matrix;
-    FT_Vector      font_offset;
-
-    FT_UInt        num_subrs;
-    FT_ULong       subrmap_offset;
-    FT_Int         sd_bytes;
-
-  } CID_FaceDictRec, *CID_FaceDict;
-
-
-  /* backwards-compatible definition */
-  typedef CID_FaceDictRec  CID_FontDict;
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Struct>                                                              */
-  /*    CID_FaceInfoRec                                                    */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    A structure used to represent CID Face information.                */
-  /*                                                                       */
-  typedef struct  CID_FaceInfoRec_
-  {
-    FT_String*      cid_font_name;
-    FT_Fixed        cid_version;
-    FT_Int          cid_font_type;
-
-    FT_String*      registry;
-    FT_String*      ordering;
-    FT_Int          supplement;
-
-    PS_FontInfoRec  font_info;
-    FT_BBox         font_bbox;
-    FT_ULong        uid_base;
-
-    FT_Int          num_xuid;
-    FT_ULong        xuid[16];
-
-    FT_ULong        cidmap_offset;
-    FT_Int          fd_bytes;
-    FT_Int          gd_bytes;
-    FT_ULong        cid_count;
-
-    FT_Int          num_dicts;
-    CID_FaceDict    font_dicts;
-
-    FT_ULong        data_offset;
-
-  } CID_FaceInfoRec, *CID_FaceInfo;
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Struct>                                                              */
-  /*    CID_Info                                                           */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*   This type is equivalent to @CID_FaceInfoRec.  It is deprecated but  */
-  /*   kept to maintain source compatibility between various versions of   */
-  /*   FreeType.                                                           */
-  /*                                                                       */
-  typedef CID_FaceInfoRec  CID_Info;
-
-  /* */
-
-
- /************************************************************************
-  *
-  * @function:
-  *    FT_Has_PS_Glyph_Names
-  *
-  * @description:
-  *    Return true if a given face provides reliable Postscript glyph
-  *    names.  This is similar to using the @FT_HAS_GLYPH_NAMES macro,
-  *    except that certain fonts (mostly TrueType) contain incorrect
-  *    glyph name tables.
-  *
-  *    When this function returns true, the caller is sure that the glyph
-  *    names returned by @FT_Get_Glyph_Name are reliable.
-  *
-  * @input:
-  *    face ::
-  *       face handle
-  *
-  * @return:
-  *    Boolean.  True if glyph names are reliable.
-  */
-  FT_EXPORT( FT_Int )
-  FT_Has_PS_Glyph_Names( FT_Face  face );
-
-
- /************************************************************************
-  *
-  * @function:
-  *    FT_Get_PS_Font_Info
-  *
-  * @description:
-  *    Retrieve the @PS_FontInfoRec structure corresponding to a given
-  *    Postscript font.
-  *
-  * @input:
-  *    face ::
-  *       Postscript face handle.
-  *
-  * @output:
-  *    afont_info ::
-  *       Output font info structure pointer.
-  *
-  * @return:
-  *    FreeType error code.  0 means success.
-  *
-  * @note:
-  *    The string pointers within the font info structure are owned by
-  *    the face and don't need to be freed by the caller.
-  *
-  *    If the font's format is not Postscript-based, this function will
-  *    return the `FT_Err_Invalid_Argument' error code.
-  */
-  FT_EXPORT( FT_Error )
-  FT_Get_PS_Font_Info( FT_Face          face,
-                       PS_FontInfoRec  *afont_info );
-
-
- /************************************************************************
-  *
-  * @function:
-  *    FT_Get_PS_Font_Private
-  *
-  * @description:
-  *    Retrieve the @PS_PrivateRec structure corresponding to a given
-  *    Postscript font.
-  *
-  * @input:
-  *    face ::
-  *       Postscript face handle.
-  *
-  * @output:
-  *    afont_private ::
-  *       Output private dictionary structure pointer.
-  *
-  * @return:
-  *    FreeType error code.  0 means success.
-  *
-  * @note:
-  *    The string pointers within the font info structure are owned by
-  *    the face and don't need to be freed by the caller.
-  *
-  *    If the font's format is not Postscript-based, this function will
-  *    return the `FT_Err_Invalid_Argument' error code.
-  */
-  FT_EXPORT( FT_Error )
-  FT_Get_PS_Font_Private( FT_Face         face,
-                          PS_PrivateRec  *afont_private );
-
- /* */
-
-
-
-FT_END_HEADER
-
-#endif /* __T1TABLES_H__ */
-
-
-/* END */
diff --git a/CMU462/deps/freetype/include/freetype2/freetype/tttables.h b/CMU462/deps/freetype/include/freetype2/freetype/tttables.h
deleted file mode 100755
index 43eca2e..0000000
--- a/CMU462/deps/freetype/include/freetype2/freetype/tttables.h
+++ /dev/null
@@ -1,756 +0,0 @@
-/***************************************************************************/
-/*                                                                         */
-/*  tttables.h                                                             */
-/*                                                                         */
-/*    Basic SFNT/TrueType tables definitions and interface                 */
-/*    (specification only).                                                */
-/*                                                                         */
-/*  Copyright 1996-2001, 2002, 2003, 2004, 2005 by                         */
-/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
-/*                                                                         */
-/*  This file is part of the FreeType project, and may only be used,       */
-/*  modified, and distributed under the terms of the FreeType project      */
-/*  license, LICENSE.TXT.  By continuing to use, modify, or distribute     */
-/*  this file you indicate that you have read the license and              */
-/*  understand and accept it fully.                                        */
-/*                                                                         */
-/***************************************************************************/
-
-
-#ifndef __TTTABLES_H__
-#define __TTTABLES_H__
-
-
-#include <ft2build.h>
-#include FT_FREETYPE_H
-
-#ifdef FREETYPE_H
-#error "freetype.h of FreeType 1 has been loaded!"
-#error "Please fix the directory search order for header files"
-#error "so that freetype.h of FreeType 2 is found first."
-#endif
-
-
-FT_BEGIN_HEADER
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Section>                                                             */
-  /*    truetype_tables                                                    */
-  /*                                                                       */
-  /* <Title>                                                               */
-  /*    TrueType Tables                                                    */
-  /*                                                                       */
-  /* <Abstract>                                                            */
-  /*    TrueType specific table types and functions.                       */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    This section contains the definition of TrueType-specific tables   */
-  /*    as well as some routines used to access and process them.          */
-  /*                                                                       */
-  /*************************************************************************/
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Struct>                                                              */
-  /*    TT_Header                                                          */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    A structure used to model a TrueType font header table.  All       */
-  /*    fields follow the TrueType specification.                          */
-  /*                                                                       */
-  typedef struct  TT_Header_
-  {
-    FT_Fixed   Table_Version;
-    FT_Fixed   Font_Revision;
-
-    FT_Long    CheckSum_Adjust;
-    FT_Long    Magic_Number;
-
-    FT_UShort  Flags;
-    FT_UShort  Units_Per_EM;
-
-    FT_Long    Created [2];
-    FT_Long    Modified[2];
-
-    FT_Short   xMin;
-    FT_Short   yMin;
-    FT_Short   xMax;
-    FT_Short   yMax;
-
-    FT_UShort  Mac_Style;
-    FT_UShort  Lowest_Rec_PPEM;
-
-    FT_Short   Font_Direction;
-    FT_Short   Index_To_Loc_Format;
-    FT_Short   Glyph_Data_Format;
-
-  } TT_Header;
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Struct>                                                              */
-  /*    TT_HoriHeader                                                      */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    A structure used to model a TrueType horizontal header, the `hhea' */
-  /*    table, as well as the corresponding horizontal metrics table,      */
-  /*    i.e., the `hmtx' table.                                            */
-  /*                                                                       */
-  /* <Fields>                                                              */
-  /*    Version                :: The table version.                       */
-  /*                                                                       */
-  /*    Ascender               :: The font's ascender, i.e., the distance  */
-  /*                              from the baseline to the top-most of all */
-  /*                              glyph points found in the font.          */
-  /*                                                                       */
-  /*                              This value is invalid in many fonts, as  */
-  /*                              it is usually set by the font designer,  */
-  /*                              and often reflects only a portion of the */
-  /*                              glyphs found in the font (maybe ASCII).  */
-  /*                                                                       */
-  /*                              You should use the `sTypoAscender' field */
-  /*                              of the OS/2 table instead if you want    */
-  /*                              the correct one.                         */
-  /*                                                                       */
-  /*    Descender              :: The font's descender, i.e., the distance */
-  /*                              from the baseline to the bottom-most of  */
-  /*                              all glyph points found in the font.  It  */
-  /*                              is negative.                             */
-  /*                                                                       */
-  /*                              This value is invalid in many fonts, as  */
-  /*                              it is usually set by the font designer,  */
-  /*                              and often reflects only a portion of the */
-  /*                              glyphs found in the font (maybe ASCII).  */
-  /*                                                                       */
-  /*                              You should use the `sTypoDescender'      */
-  /*                              field of the OS/2 table instead if you   */
-  /*                              want the correct one.                    */
-  /*                                                                       */
-  /*    Line_Gap               :: The font's line gap, i.e., the distance  */
-  /*                              to add to the ascender and descender to  */
-  /*                              get the BTB, i.e., the                   */
-  /*                              baseline-to-baseline distance for the    */
-  /*                              font.                                    */
-  /*                                                                       */
-  /*    advance_Width_Max      :: This field is the maximum of all advance */
-  /*                              widths found in the font.  It can be     */
-  /*                              used to compute the maximum width of an  */
-  /*                              arbitrary string of text.                */
-  /*                                                                       */
-  /*    min_Left_Side_Bearing  :: The minimum left side bearing of all     */
-  /*                              glyphs within the font.                  */
-  /*                                                                       */
-  /*    min_Right_Side_Bearing :: The minimum right side bearing of all    */
-  /*                              glyphs within the font.                  */
-  /*                                                                       */
-  /*    xMax_Extent            :: The maximum horizontal extent (i.e., the */
-  /*                              `width' of a glyph's bounding box) for   */
-  /*                              all glyphs in the font.                  */
-  /*                                                                       */
-  /*    caret_Slope_Rise       :: The rise coefficient of the cursor's     */
-  /*                              slope of the cursor (slope=rise/run).    */
-  /*                                                                       */
-  /*    caret_Slope_Run        :: The run coefficient of the cursor's      */
-  /*                              slope.                                   */
-  /*                                                                       */
-  /*    Reserved               :: 10 reserved bytes.                       */
-  /*                                                                       */
-  /*    metric_Data_Format     :: Always 0.                                */
-  /*                                                                       */
-  /*    number_Of_HMetrics     :: Number of HMetrics entries in the `hmtx' */
-  /*                              table -- this value can be smaller than  */
-  /*                              the total number of glyphs in the font.  */
-  /*                                                                       */
-  /*    long_metrics           :: A pointer into the `hmtx' table.         */
-  /*                                                                       */
-  /*    short_metrics          :: A pointer into the `hmtx' table.         */
-  /*                                                                       */
-  /* <Note>                                                                */
-  /*    IMPORTANT: The TT_HoriHeader and TT_VertHeader structures should   */
-  /*               be identical except for the names of their fields which */
-  /*               are different.                                          */
-  /*                                                                       */
-  /*               This ensures that a single function in the `ttload'     */
-  /*               module is able to read both the horizontal and vertical */
-  /*               headers.                                                */
-  /*                                                                       */
-  typedef struct  TT_HoriHeader_
-  {
-    FT_Fixed   Version;
-    FT_Short   Ascender;
-    FT_Short   Descender;
-    FT_Short   Line_Gap;
-
-    FT_UShort  advance_Width_Max;      /* advance width maximum */
-
-    FT_Short   min_Left_Side_Bearing;  /* minimum left-sb       */
-    FT_Short   min_Right_Side_Bearing; /* minimum right-sb      */
-    FT_Short   xMax_Extent;            /* xmax extents          */
-    FT_Short   caret_Slope_Rise;
-    FT_Short   caret_Slope_Run;
-    FT_Short   caret_Offset;
-
-    FT_Short   Reserved[4];
-
-    FT_Short   metric_Data_Format;
-    FT_UShort  number_Of_HMetrics;
-
-    /* The following fields are not defined by the TrueType specification */
-    /* but they are used to connect the metrics header to the relevant    */
-    /* `HMTX' table.                                                      */
-
-    void*      long_metrics;
-    void*      short_metrics;
-
-  } TT_HoriHeader;
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Struct>                                                              */
-  /*    TT_VertHeader                                                      */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    A structure used to model a TrueType vertical header, the `vhea'   */
-  /*    table, as well as the corresponding vertical metrics table, i.e.,  */
-  /*    the `vmtx' table.                                                  */
-  /*                                                                       */
-  /* <Fields>                                                              */
-  /*    Version                 :: The table version.                      */
-  /*                                                                       */
-  /*    Ascender                :: The font's ascender, i.e., the distance */
-  /*                               from the baseline to the top-most of    */
-  /*                               all glyph points found in the font.     */
-  /*                                                                       */
-  /*                               This value is invalid in many fonts, as */
-  /*                               it is usually set by the font designer, */
-  /*                               and often reflects only a portion of    */
-  /*                               the glyphs found in the font (maybe     */
-  /*                               ASCII).                                 */
-  /*                                                                       */
-  /*                               You should use the `sTypoAscender'      */
-  /*                               field of the OS/2 table instead if you  */
-  /*                               want the correct one.                   */
-  /*                                                                       */
-  /*    Descender               :: The font's descender, i.e., the         */
-  /*                               distance from the baseline to the       */
-  /*                               bottom-most of all glyph points found   */
-  /*                               in the font.  It is negative.           */
-  /*                                                                       */
-  /*                               This value is invalid in many fonts, as */
-  /*                               it is usually set by the font designer, */
-  /*                               and often reflects only a portion of    */
-  /*                               the glyphs found in the font (maybe     */
-  /*                               ASCII).                                 */
-  /*                                                                       */
-  /*                               You should use the `sTypoDescender'     */
-  /*                               field of the OS/2 table instead if you  */
-  /*                               want the correct one.                   */
-  /*                                                                       */
-  /*    Line_Gap                :: The font's line gap, i.e., the distance */
-  /*                               to add to the ascender and descender to */
-  /*                               get the BTB, i.e., the                  */
-  /*                               baseline-to-baseline distance for the   */
-  /*                               font.                                   */
-  /*                                                                       */
-  /*    advance_Height_Max      :: This field is the maximum of all        */
-  /*                               advance heights found in the font.  It  */
-  /*                               can be used to compute the maximum      */
-  /*                               height of an arbitrary string of text.  */
-  /*                                                                       */
-  /*    min_Top_Side_Bearing    :: The minimum top side bearing of all     */
-  /*                               glyphs within the font.                 */
-  /*                                                                       */
-  /*    min_Bottom_Side_Bearing :: The minimum bottom side bearing of all  */
-  /*                               glyphs within the font.                 */
-  /*                                                                       */
-  /*    yMax_Extent             :: The maximum vertical extent (i.e., the  */
-  /*                               `height' of a glyph's bounding box) for */
-  /*                               all glyphs in the font.                 */
-  /*                                                                       */
-  /*    caret_Slope_Rise        :: The rise coefficient of the cursor's    */
-  /*                               slope of the cursor (slope=rise/run).   */
-  /*                                                                       */
-  /*    caret_Slope_Run         :: The run coefficient of the cursor's     */
-  /*                               slope.                                  */
-  /*                                                                       */
-  /*    caret_Offset            :: The cursor's offset for slanted fonts.  */
-  /*                               This value is `reserved' in vmtx        */
-  /*                               version 1.0.                            */
-  /*                                                                       */
-  /*    Reserved                :: 8 reserved bytes.                       */
-  /*                                                                       */
-  /*    metric_Data_Format      :: Always 0.                               */
-  /*                                                                       */
-  /*    number_Of_HMetrics      :: Number of VMetrics entries in the       */
-  /*                               `vmtx' table -- this value can be       */
-  /*                               smaller than the total number of glyphs */
-  /*                               in the font.                            */
-  /*                                                                       */
-  /*    long_metrics           :: A pointer into the `vmtx' table.         */
-  /*                                                                       */
-  /*    short_metrics          :: A pointer into the `vmtx' table.         */
-  /*                                                                       */
-  /* <Note>                                                                */
-  /*    IMPORTANT: The TT_HoriHeader and TT_VertHeader structures should   */
-  /*               be identical except for the names of their fields which */
-  /*               are different.                                          */
-  /*                                                                       */
-  /*               This ensures that a single function in the `ttload'     */
-  /*               module is able to read both the horizontal and vertical */
-  /*               headers.                                                */
-  /*                                                                       */
-  typedef struct  TT_VertHeader_
-  {
-    FT_Fixed   Version;
-    FT_Short   Ascender;
-    FT_Short   Descender;
-    FT_Short   Line_Gap;
-
-    FT_UShort  advance_Height_Max;      /* advance height maximum */
-
-    FT_Short   min_Top_Side_Bearing;    /* minimum left-sb or top-sb       */
-    FT_Short   min_Bottom_Side_Bearing; /* minimum right-sb or bottom-sb   */
-    FT_Short   yMax_Extent;             /* xmax or ymax extents            */
-    FT_Short   caret_Slope_Rise;
-    FT_Short   caret_Slope_Run;
-    FT_Short   caret_Offset;
-
-    FT_Short   Reserved[4];
-
-    FT_Short   metric_Data_Format;
-    FT_UShort  number_Of_VMetrics;
-
-    /* The following fields are not defined by the TrueType specification */
-    /* but they're used to connect the metrics header to the relevant     */
-    /* `HMTX' or `VMTX' table.                                            */
-
-    void*      long_metrics;
-    void*      short_metrics;
-
-  } TT_VertHeader;
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Struct>                                                              */
-  /*    TT_OS2                                                             */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    A structure used to model a TrueType OS/2 table. This is the long  */
-  /*    table version.  All fields comply to the TrueType specification.   */
-  /*                                                                       */
-  /*    Note that we now support old Mac fonts which do not include an     */
-  /*    OS/2 table.  In this case, the `version' field is always set to    */
-  /*    0xFFFF.                                                            */
-  /*                                                                       */
-  typedef struct  TT_OS2_
-  {
-    FT_UShort  version;                /* 0x0001 - more or 0xFFFF */
-    FT_Short   xAvgCharWidth;
-    FT_UShort  usWeightClass;
-    FT_UShort  usWidthClass;
-    FT_Short   fsType;
-    FT_Short   ySubscriptXSize;
-    FT_Short   ySubscriptYSize;
-    FT_Short   ySubscriptXOffset;
-    FT_Short   ySubscriptYOffset;
-    FT_Short   ySuperscriptXSize;
-    FT_Short   ySuperscriptYSize;
-    FT_Short   ySuperscriptXOffset;
-    FT_Short   ySuperscriptYOffset;
-    FT_Short   yStrikeoutSize;
-    FT_Short   yStrikeoutPosition;
-    FT_Short   sFamilyClass;
-
-    FT_Byte    panose[10];
-
-    FT_ULong   ulUnicodeRange1;        /* Bits 0-31   */
-    FT_ULong   ulUnicodeRange2;        /* Bits 32-63  */
-    FT_ULong   ulUnicodeRange3;        /* Bits 64-95  */
-    FT_ULong   ulUnicodeRange4;        /* Bits 96-127 */
-
-    FT_Char    achVendID[4];
-
-    FT_UShort  fsSelection;
-    FT_UShort  usFirstCharIndex;
-    FT_UShort  usLastCharIndex;
-    FT_Short   sTypoAscender;
-    FT_Short   sTypoDescender;
-    FT_Short   sTypoLineGap;
-    FT_UShort  usWinAscent;
-    FT_UShort  usWinDescent;
-
-    /* only version 1 tables: */
-
-    FT_ULong   ulCodePageRange1;       /* Bits 0-31   */
-    FT_ULong   ulCodePageRange2;       /* Bits 32-63  */
-
-    /* only version 2 tables: */
-
-    FT_Short   sxHeight;
-    FT_Short   sCapHeight;
-    FT_UShort  usDefaultChar;
-    FT_UShort  usBreakChar;
-    FT_UShort  usMaxContext;
-
-  } TT_OS2;
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Struct>                                                              */
-  /*    TT_Postscript                                                      */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    A structure used to model a TrueType Postscript table.  All fields */
-  /*    comply to the TrueType specification.  This structure does not     */
-  /*    reference the Postscript glyph names, which can be nevertheless    */
-  /*    accessed with the `ttpost' module.                                 */
-  /*                                                                       */
-  typedef struct  TT_Postscript_
-  {
-    FT_Fixed  FormatType;
-    FT_Fixed  italicAngle;
-    FT_Short  underlinePosition;
-    FT_Short  underlineThickness;
-    FT_ULong  isFixedPitch;
-    FT_ULong  minMemType42;
-    FT_ULong  maxMemType42;
-    FT_ULong  minMemType1;
-    FT_ULong  maxMemType1;
-
-    /* Glyph names follow in the file, but we don't   */
-    /* load them by default.  See the ttpost.c file.  */
-
-  } TT_Postscript;
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Struct>                                                              */
-  /*    TT_PCLT                                                            */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    A structure used to model a TrueType PCLT table.  All fields       */
-  /*    comply to the TrueType specification.                              */
-  /*                                                                       */
-  typedef struct  TT_PCLT_
-  {
-    FT_Fixed   Version;
-    FT_ULong   FontNumber;
-    FT_UShort  Pitch;
-    FT_UShort  xHeight;
-    FT_UShort  Style;
-    FT_UShort  TypeFamily;
-    FT_UShort  CapHeight;
-    FT_UShort  SymbolSet;
-    FT_Char    TypeFace[16];
-    FT_Char    CharacterComplement[8];
-    FT_Char    FileName[6];
-    FT_Char    StrokeWeight;
-    FT_Char    WidthType;
-    FT_Byte    SerifStyle;
-    FT_Byte    Reserved;
-
-  } TT_PCLT;
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Struct>                                                              */
-  /*    TT_MaxProfile                                                      */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    The maximum profile is a table containing many max values which    */
-  /*    can be used to pre-allocate arrays.  This ensures that no memory   */
-  /*    allocation occurs during a glyph load.                             */
-  /*                                                                       */
-  /* <Fields>                                                              */
-  /*    version               :: The version number.                       */
-  /*                                                                       */
-  /*    numGlyphs             :: The number of glyphs in this TrueType     */
-  /*                             font.                                     */
-  /*                                                                       */
-  /*    maxPoints             :: The maximum number of points in a         */
-  /*                             non-composite TrueType glyph.  See also   */
-  /*                             the structure element                     */
-  /*                             `maxCompositePoints'.                     */
-  /*                                                                       */
-  /*    maxContours           :: The maximum number of contours in a       */
-  /*                             non-composite TrueType glyph.  See also   */
-  /*                             the structure element                     */
-  /*                             `maxCompositeContours'.                   */
-  /*                                                                       */
-  /*    maxCompositePoints    :: The maximum number of points in a         */
-  /*                             composite TrueType glyph.  See also the   */
-  /*                             structure element `maxPoints'.            */
-  /*                                                                       */
-  /*    maxCompositeContours  :: The maximum number of contours in a       */
-  /*                             composite TrueType glyph.  See also the   */
-  /*                             structure element `maxContours'.          */
-  /*                                                                       */
-  /*    maxZones              :: The maximum number of zones used for      */
-  /*                             glyph hinting.                            */
-  /*                                                                       */
-  /*    maxTwilightPoints     :: The maximum number of points in the       */
-  /*                             twilight zone used for glyph hinting.     */
-  /*                                                                       */
-  /*    maxStorage            :: The maximum number of elements in the     */
-  /*                             storage area used for glyph hinting.      */
-  /*                                                                       */
-  /*    maxFunctionDefs       :: The maximum number of function            */
-  /*                             definitions in the TrueType bytecode for  */
-  /*                             this font.                                */
-  /*                                                                       */
-  /*    maxInstructionDefs    :: The maximum number of instruction         */
-  /*                             definitions in the TrueType bytecode for  */
-  /*                             this font.                                */
-  /*                                                                       */
-  /*    maxStackElements      :: The maximum number of stack elements used */
-  /*                             during bytecode interpretation.           */
-  /*                                                                       */
-  /*    maxSizeOfInstructions :: The maximum number of TrueType opcodes    */
-  /*                             used for glyph hinting.                   */
-  /*                                                                       */
-  /*    maxComponentElements  :: The maximum number of simple (i.e., non-  */
-  /*                             composite) glyphs in a composite glyph.   */
-  /*                                                                       */
-  /*    maxComponentDepth     :: The maximum nesting depth of composite    */
-  /*                             glyphs.                                   */
-  /*                                                                       */
-  /* <Note>                                                                */
-  /*    This structure is only used during font loading.                   */
-  /*                                                                       */
-  typedef struct  TT_MaxProfile_
-  {
-    FT_Fixed   version;
-    FT_UShort  numGlyphs;
-    FT_UShort  maxPoints;
-    FT_UShort  maxContours;
-    FT_UShort  maxCompositePoints;
-    FT_UShort  maxCompositeContours;
-    FT_UShort  maxZones;
-    FT_UShort  maxTwilightPoints;
-    FT_UShort  maxStorage;
-    FT_UShort  maxFunctionDefs;
-    FT_UShort  maxInstructionDefs;
-    FT_UShort  maxStackElements;
-    FT_UShort  maxSizeOfInstructions;
-    FT_UShort  maxComponentElements;
-    FT_UShort  maxComponentDepth;
-
-  } TT_MaxProfile;
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Enum>                                                                */
-  /*    FT_Sfnt_Tag                                                        */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    An enumeration used to specify the index of an SFNT table.         */
-  /*    Used in the @FT_Get_Sfnt_Table API function.                       */
-  /*                                                                       */
-  typedef enum
-  {
-    ft_sfnt_head = 0,
-    ft_sfnt_maxp = 1,
-    ft_sfnt_os2  = 2,
-    ft_sfnt_hhea = 3,
-    ft_sfnt_vhea = 4,
-    ft_sfnt_post = 5,
-    ft_sfnt_pclt = 6,
-
-    sfnt_max   /* internal end mark */
-
-  } FT_Sfnt_Tag;
-
-  /* */
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Function>                                                            */
-  /*    FT_Get_Sfnt_Table                                                  */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    Returns a pointer to a given SFNT table within a face.             */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    face :: A handle to the source.                                    */
-  /*                                                                       */
-  /*    tag  :: The index of the SFNT table.                               */
-  /*                                                                       */
-  /* <Return>                                                              */
-  /*    A type-less pointer to the table.  This will be 0 in case of       */
-  /*    error, or if the corresponding table was not found *OR* loaded     */
-  /*    from the file.                                                     */
-  /*                                                                       */
-  /* <Note>                                                                */
-  /*    The table is owned by the face object and disappears with it.      */
-  /*                                                                       */
-  /*    This function is only useful to access SFNT tables that are loaded */
-  /*    by the sfnt, truetype, and opentype drivers.  See @FT_Sfnt_Tag for */
-  /*    a list.                                                            */
-  /*                                                                       */
-  FT_EXPORT( void* )
-  FT_Get_Sfnt_Table( FT_Face      face,
-                     FT_Sfnt_Tag  tag );
-
-
- /**************************************************************************
-  *
-  * @function:
-  *   FT_Load_Sfnt_Table
-  *
-  * @description:
-  *   Loads any font table into client memory.
-  *
-  * @input:
-  *   face ::
-  *     A handle to the source face.
-  *
-  *   tag ::
-  *     The four-byte tag of the table to load.  Use the value 0 if you want
-  *     to access the whole font file.  Otherwise, you can use one of the
-  *     definitions found in the @FT_TRUETYPE_TAGS_H file, or forge a new
-  *     one with @FT_MAKE_TAG.
-  *
-  *   offset ::
-  *     The starting offset in the table (or file if tag == 0).
-  *
-  * @output:
-  *   buffer ::
-  *     The target buffer address.  The client must ensure that the memory
-  *     array is big enough to hold the data.
-  *
-  * @inout:
-  *   length ::
-  *     If the `length' parameter is NULL, then try to load the whole table.
-  *     Return an error code if it fails.
-  *
-  *     Else, if `*length' is 0, exit immediately while returning the
-  *     table's (or file) full size in it.
-  *
-  *     Else the number of bytes to read from the table or file, from the
-  *     starting offset.
-  *
-  * @return:
-  *   FreeType error code.  0 means success.
-  *
-  * @note:
-  *   If you need to determine the table's length you should first call this
-  *   function with `*length' set to 0, as in the following example:
-  *
-  *     {
-  *       FT_ULong  length = 0;
-  *
-  *
-  *       error = FT_Load_Sfnt_Table( face, tag, 0, NULL, &length );
-  *       if ( error ) { ... table does not exist ... }
-  *
-  *       buffer = malloc( length );
-  *       if ( buffer == NULL ) { ... not enough memory ... }
-  *
-  *       error = FT_Load_Sfnt_Table( face, tag, 0, buffer, &length );
-  *       if ( error ) { ... could not load table ... }
-  *     }
-  */
-  FT_EXPORT( FT_Error )
-  FT_Load_Sfnt_Table( FT_Face    face,
-                      FT_ULong   tag,
-                      FT_Long    offset,
-                      FT_Byte*   buffer,
-                      FT_ULong*  length );
-
-
- /**************************************************************************
-  *
-  * @function:
-  *   FT_Sfnt_Table_Info
-  *
-  * @description:
-  *   Returns information on an SFNT table.
-  *
-  * @input:
-  *   face ::
-  *     A handle to the source face.
-  *
-  *   table_index ::
-  *     The index of an SFNT table.  The function returns
-  *     FT_Err_Table_Missing for an invalid value.
-  *
-  * @output:
-  *   tag ::
-  *     The name tag of the SFNT table.
-  *
-  *   length ::
-  *     The length of the SFNT table.
-  *
-  * @return:
-  *   FreeType error code.  0 means success.
-  *
-  * @note:
-  *   SFNT tables with length zero are treated as missing by Windows.
-  *
-  */
-  FT_EXPORT( FT_Error )
-  FT_Sfnt_Table_Info( FT_Face    face,
-                      FT_UInt    table_index,
-                      FT_ULong  *tag,
-                      FT_ULong  *length );
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Function>                                                            */
-  /*    FT_Get_CMap_Language_ID                                            */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    Return TrueType/sfnt specific cmap language ID.  Definitions of    */
-  /*    language ID values are in `freetype/ttnameid.h'.                   */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    charmap ::                                                         */
-  /*      The target charmap.                                              */
-  /*                                                                       */
-  /* <Return>                                                              */
-  /*    The language ID of `charmap'.  If `charmap' doesn't belong to a    */
-  /*    TrueType/sfnt face, just return 0 as the default value.            */
-  /*                                                                       */
-  FT_EXPORT( FT_ULong )
-  FT_Get_CMap_Language_ID( FT_CharMap  charmap );
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Function>                                                            */
-  /*    FT_Get_CMap_Format                                                 */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    Return TrueType/sfnt specific cmap format.                         */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    charmap ::                                                         */
-  /*      The target charmap.                                              */
-  /*                                                                       */
-  /* <Return>                                                              */
-  /*    The format of `charmap'.  If `charmap' doesn't belong to a         */
-  /*    TrueType/sfnt face, return -1.                                     */
-  /*                                                                       */
-  FT_EXPORT( FT_Long )
-  FT_Get_CMap_Format( FT_CharMap  charmap );
-
-  /* */
-
-
-FT_END_HEADER
-
-#endif /* __TTTABLES_H__ */
-
-
-/* END */
diff --git a/CMU462/deps/freetype/include/freetype2/freetype/ttunpat.h b/CMU462/deps/freetype/include/freetype2/freetype/ttunpat.h
deleted file mode 100755
index a016275..0000000
--- a/CMU462/deps/freetype/include/freetype2/freetype/ttunpat.h
+++ /dev/null
@@ -1,59 +0,0 @@
-/***************************************************************************/
-/*                                                                         */
-/*  ttunpat.h                                                              */
-/*                                                                         */
-/*    Definitions for the unpatented TrueType hinting system               */
-/*                                                                         */
-/*  Copyright 2003, 2006 by                                                */
-/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
-/*                                                                         */
-/*  Written by Graham Asher <graham.asher@btinternet.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, LICENSE.TXT.  By continuing to use, modify, or distribute     */
-/*  this file you indicate that you have read the license and              */
-/*  understand and accept it fully.                                        */
-/*                                                                         */
-/***************************************************************************/
-
-
-#ifndef __TTUNPAT_H__
-#define __TTUNPAT_H__
-
-
-#include <ft2build.h>
-#include FT_FREETYPE_H
-
-#ifdef FREETYPE_H
-#error "freetype.h of FreeType 1 has been loaded!"
-#error "Please fix the directory search order for header files"
-#error "so that freetype.h of FreeType 2 is found first."
-#endif
-
-
-FT_BEGIN_HEADER
-
-
- /***************************************************************************
-  *
-  * @constant:
-  *   FT_PARAM_TAG_UNPATENTED_HINTING
-  *
-  * @description:
-  *   A constant used as the tag of an @FT_Parameter structure to indicate
-  *   that unpatented methods only should be used by the TrueType bytecode
-  *   interpreter for a typeface opened by @FT_Open_Face.
-  *
-  */
-#define FT_PARAM_TAG_UNPATENTED_HINTING  FT_MAKE_TAG( 'u', 'n', 'p', 'a' )
-
- /* */
-
-FT_END_HEADER
-
-
-#endif /* __TTUNPAT_H__ */
-
-
-/* END */
diff --git a/CMU462/deps/freetype/include/ft2build.h b/CMU462/deps/freetype/include/ft2build.h
index 6a3b8d9..e3f4887 100755
--- a/CMU462/deps/freetype/include/ft2build.h
+++ b/CMU462/deps/freetype/include/ft2build.h
@@ -1,61 +1,44 @@
-/***************************************************************************/
-/*                                                                         */
-/*  ft2build.h                                                             */
-/*                                                                         */
-/*    Build macros of the FreeType 2 library.                              */
-/*                                                                         */
-/*  Copyright 1996-2001, 2003, 2006 by                                     */
-/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
-/*                                                                         */
-/*  This file is part of the FreeType project, and may only be used,       */
-/*  modified, and distributed under the terms of the FreeType project      */
-/*  license, LICENSE.TXT.  By continuing to use, modify, or distribute     */
-/*  this file you indicate that you have read the license and              */
-/*  understand and accept it fully.                                        */
-/*                                                                         */
-/***************************************************************************/
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* This is a Unix-specific version of <ft2build.h> that should be used   */
-  /* exclusively *after* installation of the library.                      */
-  /*                                                                       */
-  /* It assumes that `/usr/local/include/freetype2' (or whatever is        */
-  /* returned by the `freetype-config --cflags' or `pkg-config --cflags'   */
-  /* command) is in your compilation include path.                         */
-  /*                                                                       */
-  /* We don't need to do anything special in this release.  However, for   */
-  /* a future FreeType 2 release, the following installation changes will  */
-  /* be performed:                                                         */
-  /*                                                                       */
-  /*   - The contents of `freetype-2.x/include/freetype' will be installed */
-  /*     to `/usr/local/include/freetype2' instead of                      */
-  /*     `/usr/local/include/freetype2/freetype'.                          */
-  /*                                                                       */
-  /*   - This file will #include <freetype2/config/ftheader.h>, instead    */
-  /*     of <freetype/config/ftheader.h>.                                  */
-  /*                                                                       */
-  /*   - The contents of `ftheader.h' will be processed with `sed' to      */
-  /*     replace all `<freetype/xxx>' with `<freetype2/xxx>'.              */
-  /*                                                                       */
-  /*   - Adding `/usr/local/include/freetype2' to your compilation include */
-  /*     path will not be necessary anymore.                               */
-  /*                                                                       */
-  /* These changes will be transparent to client applications which use    */
-  /* freetype-config (or pkg-config).  No modifications will be necessary  */
-  /* to compile with the new scheme.                                       */
-  /*                                                                       */
-  /*************************************************************************/
-
-
-#ifndef __FT2_BUILD_UNIX_H__
-#define __FT2_BUILD_UNIX_H__
-
-  /* `<prefix>/include/freetype2' must be in your current inclusion path */
+/****************************************************************************
+ *
+ * ft2build.h
+ *
+ *   FreeType 2 build and setup macros.
+ *
+ * Copyright (C) 1996-2019 by
+ * David Turner, Robert Wilhelm, and Werner Lemberg.
+ *
+ * This file is part of the FreeType project, and may only be used,
+ * modified, and distributed under the terms of the FreeType project
+ * license, LICENSE.TXT.  By continuing to use, modify, or distribute
+ * this file you indicate that you have read the license and
+ * understand and accept it fully.
+ *
+ */
+
+
+  /**************************************************************************
+   *
+   * This is the 'entry point' for FreeType header file inclusions.  It is
+   * the only header file which should be included directly; all other
+   * FreeType header files should be accessed with macro names (after
+   * including `ft2build.h`).
+   *
+   * A typical example is
+   *
+   * ```
+   *   #include <ft2build.h>
+   *   #include FT_FREETYPE_H
+   * ```
+   *
+   */
+
+
+#ifndef FT2BUILD_H_
+#define FT2BUILD_H_
+
 #include <freetype/config/ftheader.h>
 
-#endif /* __FT2_BUILD_UNIX_H__ */
+#endif /* FT2BUILD_H_ */
 
 
 /* END */
diff --git a/CMU462/deps/freetype/lib/freetype-bcc.lib b/CMU462/deps/freetype/lib/freetype-bcc.lib
deleted file mode 100755
index f2ae65ed8dd127073a596e3093ecb65d5d1e3ff2..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 32256
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
LM(E}*=l}i}sdDX=

diff --git a/CMU462/deps/freetype/lib/freetype.lib b/CMU462/deps/freetype/lib/freetype.lib
index 983d4ddd749fa4d94ffb973ba5f6159565a3984c..61ca78cc37235c17e9201e036c03c8f797de5fee 100755
GIT binary patch
literal 46362
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
P$N77MW$)fsFo*vS11aW4

literal 55978
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
H)P(;FsKp?i

diff --git a/CMU462/deps/freetype/lib/freetype6.def b/CMU462/deps/freetype/lib/freetype6.def
deleted file mode 100755
index 469c862..0000000
--- a/CMU462/deps/freetype/lib/freetype6.def
+++ /dev/null
@@ -1,249 +0,0 @@
-LIBRARY freetype6.dll
-EXPORTS
-DllGetVersion
-FTC_CMapCache_Lookup
-FTC_CMapCache_New
-FTC_ImageCache_Lookup
-FTC_ImageCache_LookupScaler
-FTC_ImageCache_New
-FTC_Manager_Done
-FTC_Manager_LookupFace
-FTC_Manager_LookupSize
-FTC_Manager_New
-FTC_Manager_RemoveFaceID
-FTC_Manager_Reset
-FTC_Node_Unref
-FTC_SBitCache_Lookup
-FTC_SBitCache_LookupScaler
-FTC_SBitCache_New
-FT_Activate_Size
-FT_Add_Default_Modules
-FT_Add_Module
-FT_Angle_Diff
-FT_Atan2
-FT_Attach_File
-FT_Attach_Stream
-FT_Bitmap_Convert
-FT_Bitmap_Copy
-FT_Bitmap_Done
-FT_Bitmap_Embolden
-FT_Bitmap_New
-FT_CMap_Done
-FT_CMap_New
-FT_CeilFix
-FT_ClassicKern_Free
-FT_ClassicKern_Validate
-FT_Cos
-FT_DivFix
-FT_Done_Face
-FT_Done_FreeType
-FT_Done_Glyph
-FT_Done_GlyphSlot
-FT_Done_Library
-FT_Done_Memory
-FT_Done_Size
-FT_Face_CheckTrueTypePatents
-FT_Face_SetUnpatentedHinting
-FT_FloorFix
-FT_Get_BDF_Charset_ID
-FT_Get_BDF_Property
-FT_Get_CMap_Format
-FT_Get_CMap_Language_ID
-FT_Get_Char_Index
-FT_Get_Charmap_Index
-FT_Get_First_Char
-FT_Get_Gasp
-FT_Get_Glyph
-FT_Get_Glyph_Name
-FT_Get_Kerning
-FT_Get_MM_Var
-FT_Get_Module
-FT_Get_Module_Interface
-FT_Get_Multi_Master
-FT_Get_Name_Index
-FT_Get_Next_Char
-FT_Get_PFR_Advance
-FT_Get_PFR_Kerning
-FT_Get_PFR_Metrics
-FT_Get_PS_Font_Info
-FT_Get_PS_Font_Private
-FT_Get_Postscript_Name
-FT_Get_Renderer
-FT_Get_Sfnt_Name
-FT_Get_Sfnt_Name_Count
-FT_Get_Sfnt_Table
-FT_Get_SubGlyph_Info
-FT_Get_Track_Kerning
-FT_Get_TrueType_Engine_Type
-FT_Get_WinFNT_Header
-FT_Get_X11_Font_Format
-FT_GlyphLoader_Add
-FT_GlyphLoader_CheckPoints
-FT_GlyphLoader_CheckSubGlyphs
-FT_GlyphLoader_CopyPoints
-FT_GlyphLoader_CreateExtra
-FT_GlyphLoader_Done
-FT_GlyphLoader_New
-FT_GlyphLoader_Prepare
-FT_GlyphLoader_Reset
-FT_GlyphLoader_Rewind
-FT_GlyphSlot_Embolden
-FT_GlyphSlot_Oblique
-FT_GlyphSlot_Own_Bitmap
-FT_Glyph_Copy
-FT_Glyph_Get_CBox
-FT_Glyph_Stroke
-FT_Glyph_StrokeBorder
-FT_Glyph_To_Bitmap
-FT_Glyph_Transform
-FT_Has_PS_Glyph_Names
-FT_Init_FreeType
-FT_Library_SetLcdFilter
-FT_Library_Version
-FT_List_Add
-FT_List_Finalize
-FT_List_Find
-FT_List_Insert
-FT_List_Iterate
-FT_List_Remove
-FT_List_Up
-FT_Load_Char
-FT_Load_Glyph
-FT_Load_Sfnt_Table
-FT_Lookup_Renderer
-FT_Match_Size
-FT_Matrix_Invert
-FT_Matrix_Multiply
-FT_MulDiv
-FT_MulDiv_No_Round
-FT_MulFix
-FT_New_Face
-FT_New_GlyphSlot
-FT_New_Library
-FT_New_Memory
-FT_New_Memory_Face
-FT_New_Size
-FT_OpenType_Free
-FT_OpenType_Validate
-FT_Open_Face
-FT_Outline_Check
-FT_Outline_Copy
-FT_Outline_Decompose
-FT_Outline_Done
-FT_Outline_Done_Internal
-FT_Outline_Embolden
-FT_Outline_GetInsideBorder
-FT_Outline_GetOutsideBorder
-FT_Outline_Get_BBox
-FT_Outline_Get_Bitmap
-FT_Outline_Get_CBox
-FT_Outline_Get_Orientation
-FT_Outline_New
-FT_Outline_New_Internal
-FT_Outline_Render
-FT_Outline_Reverse
-FT_Outline_Transform
-FT_Outline_Translate
-FT_Raccess_Get_DataOffsets
-FT_Raccess_Get_HeaderInfo
-FT_Raccess_Guess
-FT_Remove_Module
-FT_Render_Glyph
-FT_Render_Glyph_Internal
-FT_Request_Metrics
-FT_Request_Size
-FT_RoundFix
-FT_Select_Charmap
-FT_Select_Metrics
-FT_Select_Size
-FT_Set_Char_Size
-FT_Set_Charmap
-FT_Set_Debug_Hook
-FT_Set_MM_Blend_Coordinates
-FT_Set_MM_Design_Coordinates
-FT_Set_Pixel_Sizes
-FT_Set_Renderer
-FT_Set_Transform
-FT_Set_Var_Blend_Coordinates
-FT_Set_Var_Design_Coordinates
-FT_Sfnt_Table_Info
-FT_Sin
-FT_SqrtFixed
-FT_Stream_Close
-FT_Stream_EnterFrame
-FT_Stream_ExitFrame
-FT_Stream_ExtractFrame
-FT_Stream_Free
-FT_Stream_GetChar
-FT_Stream_GetLong
-FT_Stream_GetLongLE
-FT_Stream_GetOffset
-FT_Stream_GetShort
-FT_Stream_GetShortLE
-FT_Stream_New
-FT_Stream_Open
-FT_Stream_OpenGzip
-FT_Stream_OpenLZW
-FT_Stream_OpenMemory
-FT_Stream_Pos
-FT_Stream_Read
-FT_Stream_ReadAt
-FT_Stream_ReadChar
-FT_Stream_ReadFields
-FT_Stream_ReadLong
-FT_Stream_ReadLongLE
-FT_Stream_ReadOffset
-FT_Stream_ReadShort
-FT_Stream_ReadShortLE
-FT_Stream_ReleaseFrame
-FT_Stream_Seek
-FT_Stream_Skip
-FT_Stream_TryRead
-FT_Stroker_BeginSubPath
-FT_Stroker_ConicTo
-FT_Stroker_CubicTo
-FT_Stroker_Done
-FT_Stroker_EndSubPath
-FT_Stroker_Export
-FT_Stroker_ExportBorder
-FT_Stroker_GetBorderCounts
-FT_Stroker_GetCounts
-FT_Stroker_LineTo
-FT_Stroker_New
-FT_Stroker_ParseOutline
-FT_Stroker_Rewind
-FT_Stroker_Set
-FT_Tan
-FT_Trace_Get_Count
-FT_Trace_Get_Name
-FT_TrueTypeGX_Free
-FT_TrueTypeGX_Validate
-FT_Vector_From_Polar
-FT_Vector_Length
-FT_Vector_Polarize
-FT_Vector_Rotate
-FT_Vector_Transform
-FT_Vector_Unit
-TT_New_Context
-TT_RunIns
-ft_corner_is_flat
-ft_corner_orientation
-ft_debug_init
-ft_glyphslot_alloc_bitmap
-ft_glyphslot_free_bitmap
-ft_glyphslot_set_bitmap
-ft_highpow2
-ft_mem_alloc
-ft_mem_dup
-ft_mem_free
-ft_mem_qalloc
-ft_mem_qrealloc
-ft_mem_realloc
-ft_mem_strcpyn
-ft_mem_strdup
-ft_module_get_service
-ft_service_list_lookup
-ft_synthesize_vertical_metrics
-ft_validator_error
-ft_validator_init
-ft_validator_run
diff --git a/CMU462/deps/freetype/lib/pkgconfig/freetype2.pc b/CMU462/deps/freetype/lib/pkgconfig/freetype2.pc
deleted file mode 100755
index 58b3086..0000000
--- a/CMU462/deps/freetype/lib/pkgconfig/freetype2.pc
+++ /dev/null
@@ -1,11 +0,0 @@
-prefix=C:/PROGRA~2/GnuWin32
-exec_prefix=${prefix}
-libdir=${exec_prefix}/lib
-includedir=${prefix}/include
-
-Name: FreeType 2
-Description: A free, high-quality, and portable font engine.
-Version: 9.16.3
-Requires:
-Libs: -L${libdir} -lfreetype -lz 
-Cflags: -I${includedir}/freetype2 -I${includedir}
diff --git a/src/reference/drawsvg_ref.lib b/src/reference/drawsvg_ref.lib
index 67b442c7e1352a5acd3defddbcecb30a806b2f08..3cba93dc3b6e9b2c4cf1b512724790ccf57899fb 100755
GIT binary patch
literal 94842
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
D4Xwe-

literal 55300
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

-- 
GitLab