summaryrefslogtreecommitdiff
path: root/lib/freetype
diff options
context:
space:
mode:
authorDavid Coppa <dcoppa@cvs.openbsd.org>2015-10-19 07:51:39 +0000
committerDavid Coppa <dcoppa@cvs.openbsd.org>2015-10-19 07:51:39 +0000
commit567b13222346126b5fbf88619f4916e2f09f825d (patch)
tree4681bbdf79b272d23abe60f7039c138a6e62dc1f /lib/freetype
parent6276e7260cbbecac70f89242cdec4f09caa55f1f (diff)
Update to freetype-2.6.1
OK matthieu@ Bulk build by naddy@, thanks!
Diffstat (limited to 'lib/freetype')
-rw-r--r--lib/freetype/CMakeLists.txt241
-rw-r--r--lib/freetype/ChangeLog1108
-rw-r--r--lib/freetype/ChangeLog.212
-rw-r--r--lib/freetype/Jamfile33
-rw-r--r--lib/freetype/Makefile6
-rw-r--r--lib/freetype/README11
-rw-r--r--lib/freetype/autogen.sh3
-rw-r--r--lib/freetype/builds/FindHarfBuzz.cmake61
-rw-r--r--lib/freetype/builds/amiga/README15
-rw-r--r--lib/freetype/builds/amiga/include/config/ftconfig.h6
-rw-r--r--lib/freetype/builds/amiga/makefile2
-rw-r--r--lib/freetype/builds/amiga/makefile.os42
-rw-r--r--lib/freetype/builds/amiga/smakefile2
-rw-r--r--lib/freetype/builds/amiga/src/base/ftdebug.c2
-rw-r--r--lib/freetype/builds/freetype.mk2
-rw-r--r--lib/freetype/builds/symbian/bld.inf92
-rw-r--r--lib/freetype/builds/toplevel.mk2
-rw-r--r--lib/freetype/builds/unix/config.guess9
-rw-r--r--lib/freetype/builds/unix/config.sub11
-rw-r--r--lib/freetype/builds/unix/configure198
-rw-r--r--lib/freetype/builds/unix/configure.ac96
-rw-r--r--lib/freetype/builds/unix/configure.raw94
-rw-r--r--lib/freetype/builds/unix/detect.mk7
-rw-r--r--lib/freetype/builds/unix/freetype-config.in10
-rw-r--r--lib/freetype/builds/unix/freetype2.in4
-rw-r--r--lib/freetype/builds/unix/ftconfig.h6
-rw-r--r--lib/freetype/builds/unix/ftconfig.in6
-rw-r--r--lib/freetype/builds/unix/install.mk47
-rw-r--r--lib/freetype/builds/unix/unix-def.in4
-rw-r--r--lib/freetype/builds/vms/ftconfig.h4
-rw-r--r--lib/freetype/builds/wince/ftdebug.c4
-rw-r--r--lib/freetype/builds/wince/vc2005-ce/freetype.vcproj86
-rw-r--r--lib/freetype/builds/wince/vc2005-ce/index.html14
-rw-r--r--lib/freetype/builds/wince/vc2008-ce/freetype.vcproj86
-rw-r--r--lib/freetype/builds/wince/vc2008-ce/index.html14
-rw-r--r--lib/freetype/builds/windows/ftdebug.c4
-rw-r--r--lib/freetype/builds/windows/vc2005/freetype.vcproj22
-rw-r--r--lib/freetype/builds/windows/vc2005/index.html14
-rw-r--r--lib/freetype/builds/windows/vc2008/freetype.vcproj22
-rw-r--r--lib/freetype/builds/windows/vc2008/index.html14
-rw-r--r--lib/freetype/builds/windows/vc2010/freetype.vcxproj34
-rw-r--r--lib/freetype/builds/windows/vc2010/freetype.vcxproj.filters10
-rw-r--r--lib/freetype/builds/windows/vc2010/index.html14
-rw-r--r--lib/freetype/builds/windows/visualc/freetype.dsp30
-rw-r--r--lib/freetype/builds/windows/visualc/freetype.vcproj22
-rw-r--r--lib/freetype/builds/windows/visualc/index.html14
-rw-r--r--lib/freetype/builds/windows/visualce/freetype.dsp30
-rw-r--r--lib/freetype/builds/windows/visualce/freetype.vcproj94
-rw-r--r--lib/freetype/builds/windows/visualce/index.html14
-rw-r--r--lib/freetype/devel/ft2build.h2
-rw-r--r--lib/freetype/devel/ftoption.h10
-rw-r--r--lib/freetype/docs/CHANGES80
-rw-r--r--lib/freetype/docs/CUSTOMIZE15
-rw-r--r--lib/freetype/docs/INSTALL.ANY14
-rw-r--r--lib/freetype/docs/VERSION.DLL16
-rw-r--r--lib/freetype/docs/freetype-config.12
-rw-r--r--lib/freetype/docs/reference/ft2-auto_hinter.html14
-rw-r--r--lib/freetype/docs/reference/ft2-base_interface.html258
-rw-r--r--lib/freetype/docs/reference/ft2-basic_types.html84
-rw-r--r--lib/freetype/docs/reference/ft2-bdf_fonts.html14
-rw-r--r--lib/freetype/docs/reference/ft2-bitmap_handling.html16
-rw-r--r--lib/freetype/docs/reference/ft2-bzip2.html6
-rw-r--r--lib/freetype/docs/reference/ft2-cache_subsystem.html60
-rw-r--r--lib/freetype/docs/reference/ft2-cff_driver.html6
-rw-r--r--lib/freetype/docs/reference/ft2-cid_fonts.html10
-rw-r--r--lib/freetype/docs/reference/ft2-computations.html60
-rw-r--r--lib/freetype/docs/reference/ft2-error_code_values.html339
-rw-r--r--lib/freetype/docs/reference/ft2-error_enumerations.html144
-rw-r--r--lib/freetype/docs/reference/ft2-font_formats.html6
-rw-r--r--lib/freetype/docs/reference/ft2-gasp_table.html8
-rw-r--r--lib/freetype/docs/reference/ft2-glyph_management.html30
-rw-r--r--lib/freetype/docs/reference/ft2-glyph_stroker.html48
-rw-r--r--lib/freetype/docs/reference/ft2-glyph_variants.html14
-rw-r--r--lib/freetype/docs/reference/ft2-gx_validation.html18
-rw-r--r--lib/freetype/docs/reference/ft2-gzip.html8
-rw-r--r--lib/freetype/docs/reference/ft2-header_file_macros.html98
-rw-r--r--lib/freetype/docs/reference/ft2-header_inclusion.html4
-rw-r--r--lib/freetype/docs/reference/ft2-incremental.html24
-rw-r--r--lib/freetype/docs/reference/ft2-index.html511
-rw-r--r--lib/freetype/docs/reference/ft2-lcd_filtering.html10
-rw-r--r--lib/freetype/docs/reference/ft2-list_processing.html30
-rw-r--r--lib/freetype/docs/reference/ft2-lzw.html6
-rw-r--r--lib/freetype/docs/reference/ft2-mac_specific.html16
-rw-r--r--lib/freetype/docs/reference/ft2-module_management.html46
-rw-r--r--lib/freetype/docs/reference/ft2-multiple_masters.html26
-rw-r--r--lib/freetype/docs/reference/ft2-ot_validation.html10
-rw-r--r--lib/freetype/docs/reference/ft2-outline_processing.html54
-rw-r--r--lib/freetype/docs/reference/ft2-pfr_fonts.html10
-rw-r--r--lib/freetype/docs/reference/ft2-quick_advance.html10
-rw-r--r--lib/freetype/docs/reference/ft2-raster.html30
-rw-r--r--lib/freetype/docs/reference/ft2-sfnt_names.html14
-rw-r--r--lib/freetype/docs/reference/ft2-sizes_management.html10
-rw-r--r--lib/freetype/docs/reference/ft2-system_interface.html24
-rw-r--r--lib/freetype/docs/reference/ft2-toc.html17
-rw-r--r--lib/freetype/docs/reference/ft2-truetype_engine.html8
-rw-r--r--lib/freetype/docs/reference/ft2-truetype_tables.html44
-rw-r--r--lib/freetype/docs/reference/ft2-tt_driver.html21
-rw-r--r--lib/freetype/docs/reference/ft2-type1_tables.html42
-rw-r--r--lib/freetype/docs/reference/ft2-user_allocation.html4
-rw-r--r--lib/freetype/docs/reference/ft2-version.html14
-rw-r--r--lib/freetype/docs/reference/ft2-winfnt_fonts.html12
-rw-r--r--lib/freetype/docs/release2
-rw-r--r--lib/freetype/include/Makefile18
-rw-r--r--lib/freetype/include/config/Makefile7
-rw-r--r--lib/freetype/include/freetype/Makefile22
-rw-r--r--lib/freetype/include/freetype/Makefile.inc (renamed from lib/freetype/include/Makefile.inc)0
-rw-r--r--lib/freetype/include/freetype/config/Makefile7
-rw-r--r--lib/freetype/include/freetype/config/ftconfig.h (renamed from lib/freetype/include/config/ftconfig.h)4
-rw-r--r--lib/freetype/include/freetype/config/ftheader.h (renamed from lib/freetype/include/config/ftheader.h)116
-rw-r--r--lib/freetype/include/freetype/config/ftmodule.h (renamed from lib/freetype/include/config/ftmodule.h)0
-rw-r--r--lib/freetype/include/freetype/config/ftoption.h (renamed from lib/freetype/include/config/ftoption.h)10
-rw-r--r--lib/freetype/include/freetype/config/ftstdlib.h (renamed from lib/freetype/include/config/ftstdlib.h)1
-rw-r--r--lib/freetype/include/freetype/freetype.h (renamed from lib/freetype/include/freetype.h)211
-rw-r--r--lib/freetype/include/freetype/ftadvanc.h (renamed from lib/freetype/include/ftadvanc.h)0
-rw-r--r--lib/freetype/include/freetype/ftautoh.h (renamed from lib/freetype/include/ftautoh.h)4
-rw-r--r--lib/freetype/include/freetype/ftbbox.h (renamed from lib/freetype/include/ftbbox.h)0
-rw-r--r--lib/freetype/include/freetype/ftbdf.h (renamed from lib/freetype/include/ftbdf.h)0
-rw-r--r--lib/freetype/include/freetype/ftbitmap.h (renamed from lib/freetype/include/ftbitmap.h)0
-rw-r--r--lib/freetype/include/freetype/ftbzip2.h (renamed from lib/freetype/include/ftbzip2.h)0
-rw-r--r--lib/freetype/include/freetype/ftcache.h (renamed from lib/freetype/include/ftcache.h)0
-rw-r--r--lib/freetype/include/freetype/ftcffdrv.h (renamed from lib/freetype/include/ftcffdrv.h)0
-rw-r--r--lib/freetype/include/freetype/ftchapters.h (renamed from lib/freetype/include/ftchapters.h)14
-rw-r--r--lib/freetype/include/freetype/ftcid.h (renamed from lib/freetype/include/ftcid.h)0
-rw-r--r--lib/freetype/include/freetype/fterrdef.h (renamed from lib/freetype/include/fterrdef.h)47
-rw-r--r--lib/freetype/include/freetype/fterrors.h (renamed from lib/freetype/include/fterrors.h)102
-rw-r--r--lib/freetype/include/freetype/ftfntfmt.h (renamed from lib/freetype/include/ftfntfmt.h)0
-rw-r--r--lib/freetype/include/freetype/ftgasp.h (renamed from lib/freetype/include/ftgasp.h)0
-rw-r--r--lib/freetype/include/freetype/ftglyph.h (renamed from lib/freetype/include/ftglyph.h)0
-rw-r--r--lib/freetype/include/freetype/ftgxval.h (renamed from lib/freetype/include/ftgxval.h)0
-rw-r--r--lib/freetype/include/freetype/ftgzip.h (renamed from lib/freetype/include/ftgzip.h)0
-rw-r--r--lib/freetype/include/freetype/ftimage.h (renamed from lib/freetype/include/ftimage.h)0
-rw-r--r--lib/freetype/include/freetype/ftincrem.h (renamed from lib/freetype/include/ftincrem.h)0
-rw-r--r--lib/freetype/include/freetype/ftlcdfil.h (renamed from lib/freetype/include/ftlcdfil.h)0
-rw-r--r--lib/freetype/include/freetype/ftlist.h (renamed from lib/freetype/include/ftlist.h)0
-rw-r--r--lib/freetype/include/freetype/ftlzw.h (renamed from lib/freetype/include/ftlzw.h)0
-rw-r--r--lib/freetype/include/freetype/ftmac.h (renamed from lib/freetype/include/ftmac.h)0
-rw-r--r--lib/freetype/include/freetype/ftmm.h (renamed from lib/freetype/include/ftmm.h)0
-rw-r--r--lib/freetype/include/freetype/ftmodapi.h (renamed from lib/freetype/include/ftmodapi.h)2
-rw-r--r--lib/freetype/include/freetype/ftmoderr.h (renamed from lib/freetype/include/ftmoderr.h)0
-rw-r--r--lib/freetype/include/freetype/ftotval.h (renamed from lib/freetype/include/ftotval.h)0
-rw-r--r--lib/freetype/include/freetype/ftoutln.h (renamed from lib/freetype/include/ftoutln.h)4
-rw-r--r--lib/freetype/include/freetype/ftpfr.h (renamed from lib/freetype/include/ftpfr.h)0
-rw-r--r--lib/freetype/include/freetype/ftrender.h (renamed from lib/freetype/include/ftrender.h)0
-rw-r--r--lib/freetype/include/freetype/ftsizes.h (renamed from lib/freetype/include/ftsizes.h)0
-rw-r--r--lib/freetype/include/freetype/ftsnames.h (renamed from lib/freetype/include/ftsnames.h)0
-rw-r--r--lib/freetype/include/freetype/ftstroke.h (renamed from lib/freetype/include/ftstroke.h)0
-rw-r--r--lib/freetype/include/freetype/ftsynth.h (renamed from lib/freetype/include/ftsynth.h)0
-rw-r--r--lib/freetype/include/freetype/ftsystem.h (renamed from lib/freetype/include/ftsystem.h)0
-rw-r--r--lib/freetype/include/freetype/fttrigon.h (renamed from lib/freetype/include/fttrigon.h)4
-rw-r--r--lib/freetype/include/freetype/ftttdrv.h (renamed from lib/freetype/include/ftttdrv.h)77
-rw-r--r--lib/freetype/include/freetype/fttypes.h (renamed from lib/freetype/include/fttypes.h)0
-rw-r--r--lib/freetype/include/freetype/ftwinfnt.h (renamed from lib/freetype/include/ftwinfnt.h)0
-rw-r--r--lib/freetype/include/freetype/internal/Makefile13
-rw-r--r--lib/freetype/include/freetype/internal/autohint.h (renamed from lib/freetype/include/internal/autohint.h)0
-rw-r--r--lib/freetype/include/freetype/internal/ftcalc.h (renamed from lib/freetype/include/internal/ftcalc.h)12
-rw-r--r--lib/freetype/include/freetype/internal/ftdebug.h (renamed from lib/freetype/include/internal/ftdebug.h)0
-rw-r--r--lib/freetype/include/freetype/internal/ftdriver.h (renamed from lib/freetype/include/internal/ftdriver.h)0
-rw-r--r--lib/freetype/include/freetype/internal/ftgloadr.h (renamed from lib/freetype/include/internal/ftgloadr.h)0
-rw-r--r--lib/freetype/include/freetype/internal/ftmemory.h (renamed from lib/freetype/include/internal/ftmemory.h)0
-rw-r--r--lib/freetype/include/freetype/internal/ftobjs.h (renamed from lib/freetype/include/internal/ftobjs.h)6
-rw-r--r--lib/freetype/include/freetype/internal/ftpic.h (renamed from lib/freetype/include/internal/ftpic.h)0
-rw-r--r--lib/freetype/include/freetype/internal/ftrfork.h (renamed from lib/freetype/include/internal/ftrfork.h)0
-rw-r--r--lib/freetype/include/freetype/internal/ftserv.h (renamed from lib/freetype/include/internal/ftserv.h)36
-rw-r--r--lib/freetype/include/freetype/internal/ftstream.h (renamed from lib/freetype/include/internal/ftstream.h)0
-rw-r--r--lib/freetype/include/freetype/internal/fttrace.h (renamed from lib/freetype/include/internal/fttrace.h)0
-rw-r--r--lib/freetype/include/freetype/internal/ftvalid.h (renamed from lib/freetype/include/internal/ftvalid.h)0
-rw-r--r--lib/freetype/include/freetype/internal/internal.h (renamed from lib/freetype/include/internal/internal.h)44
-rw-r--r--lib/freetype/include/freetype/internal/psaux.h (renamed from lib/freetype/include/internal/psaux.h)0
-rw-r--r--lib/freetype/include/freetype/internal/pshints.h (renamed from lib/freetype/include/internal/pshints.h)0
-rw-r--r--lib/freetype/include/freetype/internal/services/Makefile10
-rw-r--r--lib/freetype/include/freetype/internal/services/svbdf.h (renamed from lib/freetype/include/internal/services/svbdf.h)0
-rw-r--r--lib/freetype/include/freetype/internal/services/svcid.h (renamed from lib/freetype/include/internal/services/svcid.h)0
-rw-r--r--lib/freetype/include/freetype/internal/services/svfntfmt.h (renamed from lib/freetype/include/internal/services/svfntfmt.h)0
-rw-r--r--lib/freetype/include/freetype/internal/services/svgldict.h (renamed from lib/freetype/include/internal/services/svgldict.h)0
-rw-r--r--lib/freetype/include/freetype/internal/services/svgxval.h (renamed from lib/freetype/include/internal/services/svgxval.h)0
-rw-r--r--lib/freetype/include/freetype/internal/services/svkern.h (renamed from lib/freetype/include/internal/services/svkern.h)0
-rw-r--r--lib/freetype/include/freetype/internal/services/svmm.h (renamed from lib/freetype/include/internal/services/svmm.h)0
-rw-r--r--lib/freetype/include/freetype/internal/services/svotval.h (renamed from lib/freetype/include/internal/services/svotval.h)0
-rw-r--r--lib/freetype/include/freetype/internal/services/svpfr.h (renamed from lib/freetype/include/internal/services/svpfr.h)0
-rw-r--r--lib/freetype/include/freetype/internal/services/svpostnm.h (renamed from lib/freetype/include/internal/services/svpostnm.h)0
-rw-r--r--lib/freetype/include/freetype/internal/services/svprop.h (renamed from lib/freetype/include/internal/services/svprop.h)0
-rw-r--r--lib/freetype/include/freetype/internal/services/svpscmap.h (renamed from lib/freetype/include/internal/services/svpscmap.h)0
-rw-r--r--lib/freetype/include/freetype/internal/services/svpsinfo.h (renamed from lib/freetype/include/internal/services/svpsinfo.h)0
-rw-r--r--lib/freetype/include/freetype/internal/services/svsfnt.h (renamed from lib/freetype/include/internal/services/svsfnt.h)0
-rw-r--r--lib/freetype/include/freetype/internal/services/svttcmap.h (renamed from lib/freetype/include/internal/services/svttcmap.h)5
-rw-r--r--lib/freetype/include/freetype/internal/services/svtteng.h (renamed from lib/freetype/include/internal/services/svtteng.h)0
-rw-r--r--lib/freetype/include/freetype/internal/services/svttglyf.h (renamed from lib/freetype/include/internal/services/svttglyf.h)0
-rw-r--r--lib/freetype/include/freetype/internal/services/svwinfnt.h (renamed from lib/freetype/include/internal/services/svwinfnt.h)0
-rw-r--r--lib/freetype/include/freetype/internal/sfnt.h (renamed from lib/freetype/include/internal/sfnt.h)45
-rw-r--r--lib/freetype/include/freetype/internal/t1types.h (renamed from lib/freetype/include/internal/t1types.h)0
-rw-r--r--lib/freetype/include/freetype/internal/tttypes.h (renamed from lib/freetype/include/internal/tttypes.h)16
-rw-r--r--lib/freetype/include/freetype/t1tables.h (renamed from lib/freetype/include/t1tables.h)0
-rw-r--r--lib/freetype/include/freetype/ttnameid.h (renamed from lib/freetype/include/ttnameid.h)0
-rw-r--r--lib/freetype/include/freetype/tttables.h (renamed from lib/freetype/include/tttables.h)0
-rw-r--r--lib/freetype/include/freetype/tttags.h (renamed from lib/freetype/include/tttags.h)0
-rw-r--r--lib/freetype/include/freetype/ttunpat.h (renamed from lib/freetype/include/ttunpat.h)0
-rw-r--r--lib/freetype/include/ft2build.h2
-rw-r--r--lib/freetype/modules.cfg48
-rw-r--r--lib/freetype/src/Jamfile6
-rw-r--r--lib/freetype/src/autofit/Jamfile18
-rw-r--r--lib/freetype/src/autofit/afblue.c62
-rw-r--r--lib/freetype/src/autofit/afblue.dat81
-rw-r--r--lib/freetype/src/autofit/afblue.h99
-rw-r--r--lib/freetype/src/autofit/afcjk.c4
-rw-r--r--lib/freetype/src/autofit/afcjk.h3
-rw-r--r--lib/freetype/src/autofit/afdummy.c5
-rw-r--r--lib/freetype/src/autofit/afglobal.c64
-rw-r--r--lib/freetype/src/autofit/afglobal.h16
-rw-r--r--lib/freetype/src/autofit/afindic.c5
-rw-r--r--lib/freetype/src/autofit/aflatin.c91
-rw-r--r--lib/freetype/src/autofit/aflatin2.c5
-rw-r--r--lib/freetype/src/autofit/afloader.c3
-rw-r--r--lib/freetype/src/autofit/afmodule.c8
-rw-r--r--lib/freetype/src/autofit/afpic.h8
-rw-r--r--lib/freetype/src/autofit/afranges.c386
-rw-r--r--lib/freetype/src/autofit/afranges.h6
-rw-r--r--lib/freetype/src/autofit/afscript.h24
-rw-r--r--lib/freetype/src/autofit/afstyles.h34
-rw-r--r--lib/freetype/src/autofit/aftypes.h32
-rw-r--r--lib/freetype/src/autofit/afwarp.h2
-rw-r--r--lib/freetype/src/autofit/hbshim.c6
-rw-r--r--lib/freetype/src/autofit/hbshim.h2
-rw-r--r--lib/freetype/src/base/Jamfile45
-rw-r--r--lib/freetype/src/base/basepic.h9
-rw-r--r--lib/freetype/src/base/ftbase.h5
-rw-r--r--lib/freetype/src/base/ftcalc.c201
-rw-r--r--lib/freetype/src/base/ftdebug.c4
-rw-r--r--lib/freetype/src/base/ftglyph.c14
-rw-r--r--lib/freetype/src/base/ftinit.c4
-rw-r--r--lib/freetype/src/base/ftmac.c11
-rw-r--r--lib/freetype/src/base/ftobjs.c88
-rw-r--r--lib/freetype/src/base/ftoutln.c136
-rw-r--r--lib/freetype/src/base/ftrfork.c37
-rw-r--r--lib/freetype/src/base/ftstroke.c19
-rw-r--r--lib/freetype/src/bdf/Jamfile4
-rw-r--r--lib/freetype/src/bdf/bdf.h12
-rw-r--r--lib/freetype/src/bdf/bdfdrivr.c21
-rw-r--r--lib/freetype/src/bdf/bdflib.c31
-rw-r--r--lib/freetype/src/bzip2/ftbzip2.c21
-rw-r--r--lib/freetype/src/cache/Jamfile14
-rw-r--r--lib/freetype/src/cff/Jamfile18
-rw-r--r--lib/freetype/src/cff/cf2arrst.c2
-rw-r--r--lib/freetype/src/cff/cf2intrp.c6
-rw-r--r--lib/freetype/src/cff/cffgload.c38
-rw-r--r--lib/freetype/src/cff/cffload.c4
-rw-r--r--lib/freetype/src/cff/cffobjs.c14
-rw-r--r--lib/freetype/src/cff/cffpic.h8
-rw-r--r--lib/freetype/src/cid/Jamfile7
-rw-r--r--lib/freetype/src/cid/cidgload.c32
-rw-r--r--lib/freetype/src/cid/cidload.c12
-rw-r--r--lib/freetype/src/cid/cidobjs.c4
-rw-r--r--lib/freetype/src/gxvalid/Jamfile27
-rw-r--r--lib/freetype/src/gzip/adler32.c2
-rw-r--r--lib/freetype/src/gzip/ftgzip.c28
-rw-r--r--lib/freetype/src/gzip/zconf.h2
-rw-r--r--lib/freetype/src/gzip/zutil.c2
-rw-r--r--lib/freetype/src/gzip/zutil.h2
-rw-r--r--lib/freetype/src/lzw/ftlzw.c12
-rw-r--r--lib/freetype/src/otvalid/Jamfile10
-rw-r--r--lib/freetype/src/pcf/Jamfile5
-rw-r--r--lib/freetype/src/pcf/pcfdrivr.c27
-rw-r--r--lib/freetype/src/pcf/pcfread.c62
-rw-r--r--lib/freetype/src/pfr/Jamfile8
-rw-r--r--lib/freetype/src/pfr/pfrgload.c4
-rw-r--r--lib/freetype/src/pfr/pfrobjs.c6
-rw-r--r--lib/freetype/src/psaux/Jamfile8
-rw-r--r--lib/freetype/src/psaux/psobjs.c9
-rw-r--r--lib/freetype/src/pshinter/Jamfile7
-rw-r--r--lib/freetype/src/pshinter/pshalgo.c94
-rw-r--r--lib/freetype/src/pshinter/pshglob.c2
-rw-r--r--lib/freetype/src/pshinter/pshpic.h8
-rw-r--r--lib/freetype/src/psnames/Jamfile4
-rw-r--r--lib/freetype/src/psnames/pspic.h10
-rw-r--r--lib/freetype/src/raster/Jamfile5
-rw-r--r--lib/freetype/src/raster/ftmisc.h4
-rw-r--r--lib/freetype/src/raster/ftraster.c24
-rw-r--r--lib/freetype/src/raster/ftrend1.h6
-rw-r--r--lib/freetype/src/raster/rastpic.c20
-rw-r--r--lib/freetype/src/raster/rastpic.h10
-rw-r--r--lib/freetype/src/sfnt/Jamfile13
-rw-r--r--lib/freetype/src/sfnt/sfdriver.c4
-rw-r--r--lib/freetype/src/sfnt/sfntpic.h12
-rw-r--r--lib/freetype/src/sfnt/sfobjs.c92
-rw-r--r--lib/freetype/src/sfnt/sfobjs.h9
-rw-r--r--lib/freetype/src/sfnt/ttcmap.c322
-rw-r--r--lib/freetype/src/sfnt/ttload.c117
-rw-r--r--lib/freetype/src/sfnt/ttsbit.c6
-rw-r--r--lib/freetype/src/smooth/Jamfile5
-rw-r--r--lib/freetype/src/smooth/ftgrays.c43
-rw-r--r--lib/freetype/src/smooth/ftspic.h5
-rw-r--r--lib/freetype/src/tools/chktrcmp.py2
-rw-r--r--lib/freetype/src/tools/docmaker/content.py7
-rw-r--r--lib/freetype/src/tools/docmaker/sources.py7
-rw-r--r--lib/freetype/src/tools/docmaker/utils.py2
-rw-r--r--lib/freetype/src/tools/no-copyright61
-rw-r--r--lib/freetype/src/tools/update-copyright14
-rw-r--r--lib/freetype/src/tools/update-copyright-year135
-rw-r--r--lib/freetype/src/truetype/Jamfile10
-rw-r--r--lib/freetype/src/truetype/ttgload.c162
-rw-r--r--lib/freetype/src/truetype/ttgxvar.c31
-rw-r--r--lib/freetype/src/truetype/ttinterp.c42
-rw-r--r--lib/freetype/src/truetype/ttobjs.c61
-rw-r--r--lib/freetype/src/truetype/ttobjs.h11
-rw-r--r--lib/freetype/src/truetype/ttpic.h10
-rw-r--r--lib/freetype/src/truetype/ttpload.c8
-rw-r--r--lib/freetype/src/truetype/ttsubpix.c2
-rw-r--r--lib/freetype/src/type1/Jamfile8
-rw-r--r--lib/freetype/src/type1/t1gload.c24
-rw-r--r--lib/freetype/src/type1/t1load.c56
-rw-r--r--lib/freetype/src/type1/t1objs.c5
-rw-r--r--lib/freetype/src/type1/t1parse.c27
-rw-r--r--lib/freetype/src/type42/Jamfile5
-rw-r--r--lib/freetype/src/type42/t42objs.c7
-rw-r--r--lib/freetype/src/type42/t42parse.c56
-rw-r--r--lib/freetype/src/winfonts/winfnt.c39
315 files changed, 6615 insertions, 2898 deletions
diff --git a/lib/freetype/CMakeLists.txt b/lib/freetype/CMakeLists.txt
index 6631fdeb0..0f0940ff7 100644
--- a/lib/freetype/CMakeLists.txt
+++ b/lib/freetype/CMakeLists.txt
@@ -3,7 +3,7 @@
# Copyright 2013-2015 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
-# Written by John Cary <cary@txcorp.com>
+# Written originally by John Cary <cary@txcorp.com>
#
# This file is part of the FreeType project, and may only be used, modified,
# and distributed under the terms of the FreeType project license,
@@ -12,46 +12,60 @@
# fully.
#
#
-# Say
+# As a preliminary, create a compilation directory and change into it, for
+# example
#
-# cmake CMakeLists.txt
+# mkdir ~/freetype2.compiled
+# cd ~/freetype2.compiled
+#
+# Now you can say
+#
+# cmake <path-to-freetype2-src-dir>
#
# to create a Makefile that builds a static version of the library.
#
# For a dynamic library, use
#
-# cmake CMakeLists.txt -DBUILD_SHARED_LIBS:BOOL=true
+# cmake <path-to-freetype2-src-dir> -D BUILD_SHARED_LIBS:BOOL=true
#
# For a framework on OS X, use
#
-# cmake CMakeLists.txt -DBUILD_FRAMEWORK:BOOL=true -G Xcode
+# cmake <path-to-freetype2-src-dir> -D BUILD_FRAMEWORK:BOOL=true -G Xcode
#
# instead.
#
# For an iOS static library, use
#
-# cmake CMakeLists.txt -DIOS_PLATFORM=OS -G Xcode
+# cmake <path-to-freetype2-src-dir> -D IOS_PLATFORM=OS -G Xcode
#
# or
#
-# cmake CMakeLists.txt -DIOS_PLATFORM=SIMULATOR -G Xcode
+# cmake <path-to-freetype2-src-dir> -D IOS_PLATFORM=SIMULATOR -G Xcode
#
# Please refer to the cmake manual for further options, in particular, how
# to modify compilation and linking parameters.
#
# Some notes.
#
-# . `cmake' will overwrite FreeType's original (top-level) `Makefile' file.
+# . `cmake' creates configuration files in
+#
+# <build-directory>/include/freetype/config
+#
+# which should be further modified if necessary.
#
# . You can use `cmake' directly on a freshly cloned FreeType git
# repository.
#
-# . `CMakeLists.txt' is provided as-is since it is not used by the
+# . `CMakeLists.txt' is provided as-is since it is normally not used by the
# developer team.
cmake_minimum_required(VERSION 2.6)
+
+include(CheckIncludeFile)
+
+
# CMAKE_TOOLCHAIN_FILE must be set before `project' is called, which
# configures the base build environment and references the toolchain file
if (APPLE)
@@ -86,8 +100,33 @@ else ()
endif ()
endif ()
+if (WIN32 AND BUILD_SHARED_LIBS)
+ message(FATAL_ERROR "Shared libraries not supported on Windows.")
+endif ()
+
+
project(freetype)
+
+# Disallow in-source builds
+if ("${PROJECT_BINARY_DIR}" STREQUAL "${PROJECT_SOURCE_DIR}")
+ message(FATAL_ERROR
+ "
+In-source builds are not permitted! Make a separate folder for"
+ " building, e.g.,"
+ "
+ mkdir build; cd build; cmake .."
+ "
+Before that, remove the files created by this failed run with"
+ "
+ rm -rf CMakeCache.txt CMakeFiles")
+endif ()
+
+
+# Add local cmake modules
+set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${PROJECT_SOURCE_DIR}/builds)
+
+
if (BUILD_FRAMEWORK)
if (NOT "${CMAKE_GENERATOR}" STREQUAL "Xcode")
message(FATAL_ERROR
@@ -97,67 +136,131 @@ if (BUILD_FRAMEWORK)
set(BUILD_SHARED_LIBS ON)
endif ()
+
set(VERSION_MAJOR "2")
set(VERSION_MINOR "6")
-set(VERSION_PATCH "0")
+set(VERSION_PATCH "1")
+
set(PROJECT_VERSION ${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH})
+set(SHARED_LIBRARY_VERSION ${VERSION_MAJOR}.${VERSION_MINOR})
+
# Compiler definitions for building the library
add_definitions(-DFT2_BUILD_LIBRARY)
+
+# Find dependencies
+find_package(ZLIB)
+find_package(BZip2)
+find_package(PNG)
+find_package(HarfBuzz)
+
+
+message(STATUS
+ "Creating directory ${PROJECT_BINARY_DIR}/include/freetype/config")
+file(MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/include/freetype/config")
+
+
+# Create the configuration file
+message(STATUS
+ "Creating file ${PROJECT_BINARY_DIR}/include/freetype/config/ftconfig.h")
+
+if (UNIX)
+ check_include_file("unistd.h" HAVE_UNISTD_H)
+ check_include_file("fcntl.h" HAVE_FCNTL_H)
+ check_include_file("stdint.h" HAVE_STDINT_H)
+
+ file(READ "${PROJECT_SOURCE_DIR}/builds/unix/ftconfig.in"
+ FTCONFIG_H)
+ if (HAVE_UNISTD_H)
+ string(REGEX REPLACE
+ "#undef +(HAVE_UNISTD_H)" "#define \\1"
+ FTCONFIG_H "${FTCONFIG_H}")
+ endif ()
+ if (HAVE_FCNTL_H)
+ string(REGEX REPLACE
+ "#undef +(HAVE_FCNTL_H)" "#define \\1"
+ FTCONFIG_H "${FTCONFIG_H}")
+ endif ()
+ if (HAVE_STDINT_H)
+ string(REGEX REPLACE
+ "#undef +(HAVE_STDINT_H)" "#define \\1"
+ FTCONFIG_H "${FTCONFIG_H}")
+ endif ()
+ string(REPLACE "/undef " "#undef "
+ FTCONFIG_H "${FTCONFIG_H}")
+ file(WRITE "${PROJECT_BINARY_DIR}/include/freetype/config/ftconfig.h"
+ "${FTCONFIG_H}")
+else ()
+ file(READ "${PROJECT_SOURCE_DIR}/include/freetype/config/ftconfig.h"
+ FTCONFIG_H)
+ file(WRITE "${PROJECT_BINARY_DIR}/include/freetype/config/ftconfig.h"
+ "${FTCONFIG_H}")
+endif ()
+
+
+# Create the options file
+message(STATUS
+ "Creating file ${PROJECT_BINARY_DIR}/include/freetype/config/ftoption.h")
+
+file(READ "${PROJECT_SOURCE_DIR}/include/freetype/config/ftoption.h"
+ FTOPTION_H)
+if (ZLIB_FOUND)
+ string(REGEX REPLACE
+ "/\\* +(#define +FT_CONFIG_OPTION_SYSTEM_ZLIB) +\\*/" "\\1"
+ FTOPTION_H "${FTOPTION_H}")
+endif ()
+if (BZIP2_FOUND)
+ string(REGEX REPLACE
+ "/\\* +(#define +FT_CONFIG_OPTION_USE_BZIP2) +\\*/" "\\1"
+ FTOPTION_H "${FTOPTION_H}")
+endif ()
+if (PNG_FOUND)
+ string(REGEX REPLACE
+ "/\\* +(#define +FT_CONFIG_OPTION_USE_PNG) +\\*/" "\\1"
+ FTOPTION_H "${FTOPTION_H}")
+endif ()
+if (HARFBUZZ_FOUND)
+ string(REGEX REPLACE
+ "/\\* +(#define +FT_CONFIG_OPTION_USE_HARFBUZZ) +\\*/" "\\1"
+ FTOPTION_H "${FTOPTION_H}")
+endif ()
+file(WRITE "${PROJECT_BINARY_DIR}/include/freetype/config/ftoption.h"
+ "${FTOPTION_H}")
+
+
# Specify library include directories
include_directories("${PROJECT_SOURCE_DIR}/include")
+include_directories(BEFORE "${PROJECT_BINARY_DIR}/include")
-# Create the configuration file
-message(STATUS "Creating directory, ${PROJECT_BINARY_DIR}/include/freetype2.")
-file(MAKE_DIRECTORY ${PROJECT_BINARY_DIR}/include/freetype2)
-
-# For the auto-generated ftconfig.h file
-include_directories(BEFORE "${PROJECT_BINARY_DIR}/include/freetype2")
-message(STATUS "Creating ${PROJECT_BINARY_DIR}/include/freetype2/ftconfig.h.")
-execute_process(
- COMMAND sed -e "s/FT_CONFIG_OPTIONS_H/<ftoption.h>/" -e "s/FT_CONFIG_STANDARD_LIBRARY_H/<ftstdlib.h>/" -e "s?/undef ?#undef ?"
- INPUT_FILE ${PROJECT_SOURCE_DIR}/builds/unix/ftconfig.in
- OUTPUT_FILE ${PROJECT_BINARY_DIR}/include/freetype2/ftconfig.h
-)
-file(GLOB PUBLIC_HEADERS "include/*.h")
-file(GLOB PUBLIC_CONFIG_HEADERS "include/config/*.h")
-file(GLOB PRIVATE_HEADERS "include/internal/*.h")
+file(GLOB PUBLIC_HEADERS "include/ft2build.h" "include/freetype/*.h")
+file(GLOB PUBLIC_CONFIG_HEADERS "include/freetype/config/*.h")
+file(GLOB PRIVATE_HEADERS "include/freetype/internal/*.h")
+
set(BASE_SRCS
src/autofit/autofit.c
- src/base/ftadvanc.c
+ src/base/ftbase.c
src/base/ftbbox.c
src/base/ftbdf.c
src/base/ftbitmap.c
- src/base/ftcalc.c
src/base/ftcid.c
- src/base/ftdbgmem.c
- src/base/ftdebug.c
src/base/ftfntfmt.c
src/base/ftfstype.c
src/base/ftgasp.c
- src/base/ftgloadr.c
src/base/ftglyph.c
src/base/ftgxval.c
src/base/ftinit.c
src/base/ftlcdfil.c
src/base/ftmm.c
- src/base/ftobjs.c
src/base/ftotval.c
- src/base/ftoutln.c
src/base/ftpatent.c
src/base/ftpfr.c
- src/base/ftrfork.c
- src/base/ftsnames.c
- src/base/ftstream.c
src/base/ftstroke.c
src/base/ftsynth.c
src/base/ftsystem.c
- src/base/fttrigon.c
src/base/fttype1.c
- src/base/ftutil.c
src/base/ftwinfnt.c
src/bdf/bdf.c
src/bzip2/ftbzip2.c
@@ -170,7 +273,7 @@ set(BASE_SRCS
src/pfr/pfr.c
src/psaux/psaux.c
src/pshinter/pshinter.c
- src/psnames/psmodule.c
+ src/psnames/psnames.c
src/raster/raster.c
src/sfnt/sfnt.c
src/smooth/smooth.c
@@ -180,13 +283,14 @@ set(BASE_SRCS
src/winfonts/winfnt.c
)
-include_directories("src/truetype")
-include_directories("src/sfnt")
-include_directories("src/autofit")
-include_directories("src/smooth")
-include_directories("src/raster")
-include_directories("src/psaux")
-include_directories("src/psnames")
+if (WIN32)
+ set(BASE_SRCS ${BASE_SRCS} builds/windows/ftdebug.c)
+elseif (WINCE)
+ set(BASE_SRCS ${BASE_SRCS} builds/wince/ftdebug.c)
+else ()
+ set(BASE_SRCS ${BASE_SRCS} src/base/ftdebug.c)
+endif ()
+
if (BUILD_FRAMEWORK)
set(BASE_SRCS
@@ -195,6 +299,7 @@ if (BUILD_FRAMEWORK)
)
endif ()
+
add_library(freetype
${PUBLIC_HEADERS}
${PUBLIC_CONFIG_HEADERS}
@@ -202,6 +307,16 @@ add_library(freetype
${BASE_SRCS}
)
+
+if (BUILD_SHARED_LIBS)
+ set_target_properties(freetype PROPERTIES
+ VERSION ${PROJECT_VERSION}
+ SOVERSION ${SHARED_LIBRARY_VERSION}
+ COMPILE_DEFINITIONS freetype_EXPORTS
+ )
+endif ()
+
+
if (BUILD_FRAMEWORK)
set_property(SOURCE ${PUBLIC_CONFIG_HEADERS}
PROPERTY MACOSX_PACKAGE_LOCATION Headers/config
@@ -214,11 +329,44 @@ if (BUILD_FRAMEWORK)
)
endif ()
+
+if (MSVC)
+ set_target_properties(freetype PROPERTIES
+ COMPILE_FLAGS /Fd"$(IntDir)$(TargetName).pdb")
+endif ()
+
+
+if (ZLIB_FOUND)
+ target_link_libraries(freetype ${ZLIB_LIBRARIES})
+ include_directories(${ZLIB_INCLUDE_DIRS})
+endif ()
+if (BZIP2_FOUND)
+ target_link_libraries(freetype ${BZIP2_LIBRARIES})
+ include_directories(${BZIP2_INCLUDE_DIR}) # not BZIP2_INCLUDE_DIRS
+endif ()
+if (PNG_FOUND)
+ add_definitions(${PNG_DEFINITIONS})
+ target_link_libraries(freetype ${PNG_LIBRARIES})
+ include_directories(${PNG_INCLUDE_DIRS})
+endif ()
+if (HARFBUZZ_FOUND)
+ target_link_libraries(freetype ${HARFBUZZ_LIBRARIES})
+ include_directories(${HARFBUZZ_INCLUDE_DIRS})
+endif ()
+
+
# Installations
# Note the trailing slash in the argument to the `DIRECTORY' directive
install(DIRECTORY ${PROJECT_SOURCE_DIR}/include/
DESTINATION include/freetype2
PATTERN "internal" EXCLUDE
+ PATTERN "ftconfig.h" EXCLUDE
+ PATTERN "ftoption.h" EXCLUDE
+)
+install(FILES
+ ${PROJECT_BINARY_DIR}/include/freetype/config/ftconfig.h
+ ${PROJECT_BINARY_DIR}/include/freetype/config/ftoption.h
+ DESTINATION include/freetype2/freetype/config
)
install(TARGETS freetype
RUNTIME DESTINATION bin
@@ -227,6 +375,7 @@ install(TARGETS freetype
FRAMEWORK DESTINATION Library/Frameworks
)
+
# Packaging
# CPack version numbers for release tarball name.
set(CPACK_PACKAGE_VERSION_MAJOR ${VERSION_MAJOR})
@@ -247,7 +396,9 @@ set(CPACK_SOURCE_IGNORE_FILES
set(CPACK_GENERATOR TGZ)
include(CPack)
+
# add make dist target
add_custom_target(dist COMMAND ${CMAKE_MAKE_PROGRAM} package_source)
+
# eof
diff --git a/lib/freetype/ChangeLog b/lib/freetype/ChangeLog
index fea19b939..f5ca59f5e 100644
--- a/lib/freetype/ChangeLog
+++ b/lib/freetype/ChangeLog
@@ -1,3 +1,1107 @@
+2015-10-04 Werner Lemberg <wl@gnu.org>
+
+ * Version 2.6.1 released.
+ =========================
+
+
+ Tag sources with `VER-2-6-1'.
+
+ * docs/VERSION.DLL: Update documentation and bump version number to
+ 2.6.1.
+
+ * README, Jamfile (RefDoc), builds/windows/vc2005/freetype.vcproj,
+ builds/windows/vc2005/index.html,
+ builds/windows/vc2008/freetype.vcproj,
+ builds/windows/vc2008/index.html,
+ builds/windows/vc2010/freetype.vcxproj,
+ builds/windows/vc2010/index.html,
+ builds/windows/visualc/freetype.dsp,
+ builds/windows/visualc/freetype.vcproj,
+ builds/windows/visualc/index.html,
+ builds/windows/visualce/freetype.dsp,
+ builds/windows/visualce/freetype.vcproj,
+ builds/windows/visualce/index.html,
+ builds/wince/vc2005-ce/freetype.vcproj,
+ builds/wince/vc2005-ce/index.html,
+ builds/wince/vc2008-ce/freetype.vcproj,
+ builds/wince/vc2008-ce/index.html: s/2.6/2.6.1/, s/26/261/.
+
+ * include/freetype/freetype.h (FREETYPE_PATCH): Set to 1.
+
+ * builds/unix/configure.raw (version_info): Set to 18:1:12.
+ * CMakeLists.txt (VERSION_PATCH): Set to 1.
+
+ * src/autofit/afmodule.c [AF_DEBUG_AUTOFIT]: Ensure C linking for
+ dumping functions.
+
+2015-10-04 Werner Lemberg <wl@gnu.org>
+
+ [bzip2, gzip] Avoid access of unitialized memory (#46109).
+
+ * src/bzip2/ftbzip2.c (ft_bzip2_file_fill_input), src/gzip/ftgzip.c
+ (ft_gzip_file_fill_input): In case of an error, adjust the limit to
+ avoid copying uninitialized memory.
+
+2015-10-03 Werner Lemberg <wl@gnu.org>
+
+ [bzip2, gzip] Avoid access of unitialized memory (#46109).
+
+ * src/bzip2/ftbzip2.c (ft_bzip2_file_fill_output), src/gzip/ftgzip.c
+ (ft_gzip_file_fill_output): In case of an error, adjust the limit to
+ avoid copying uninitialized memory.
+
+2015-10-01 Alexei Podtelezhnikov <apodtele@gmail.com>
+
+ [smooth] Clean up worker.
+
+ * src/smooth/ftgrays.c (gray_TWorker): Remove never used fields.
+
+2015-10-01 Werner Lemberg <wl@gnu.org>
+
+ [sfnt] Make `tt_cmap4_char_map_linear' more robust (#46078).
+
+ * src/sfnt/ttcmap.c (tt_cmap4_char_map_linear): Take care of
+ border conditions (i.e., if the loop exits naturally).
+
+2015-10-01 Werner Lemberg <wl@gnu.org>
+
+ * src/autofit/afranges.c (af_deva_nonbase_uniranges): Fix ranges.
+ They should be a subset of `af_deva_uniranges'.
+
+2015-10-01 Werner Lemberg <wl@gnu.org>
+
+ [sfnt] Make `tt_cmap4_char_map_linear' faster (#46078).
+
+ * src/sfnt/ttcmap.c (tt_cmap4_char_map_linear): Use inner loop to
+ reject too large glyph indices.
+
+2015-09-30 Alexei Podtelezhnikov <apodtele@gmail.com>
+
+ [smooth] Clean up worker.
+
+ * src/smooth/ftgrays.c (gray_TWorker): Remove lightly used `last_ey'.
+ (gray_start_cell, gray_render_line): Update.
+
+2015-09-30 Werner Lemberg <wl@gnu.org>
+
+ [autofit] Replace `no-base' with `non-base'.
+
+ * src/autofit/*: Do it.
+
+2015-09-30 Werner Lemberg <wl@gnu.org>
+
+ [sfnt] Rewrite `tt_cmap4_char_map_linear' (#46078).
+
+ * src/sfnt/ttcmap.c (tt_cmap4_char_map_linear): Add code to better
+ skip invalid segments.
+ If searching the next character, provide a more efficient logic to
+ speed up the code.
+
+2015-09-30 Werner Lemberg <wl@gnu.org>
+
+ [truetype] Adjust number of glyphs for malformed `loca' tables.
+
+ * src/truetype/ttpload.c (tt_face_load_loca): Implement it.
+
+2015-09-29 Werner Lemberg <wl@gnu.org>
+
+ [pshinter] Avoid harmless overflow (#45984).
+
+ * src/pshinter/pshglob.c (psh_blues_set_zones): Fix it.
+
+2015-09-28 Werner Lemberg <wl@gnu.org>
+
+ [autofit] Add support for Lao script.
+
+ Thanks to Danh Hong <danhhong@gmail.com> for guidance with blue zone
+ characters!
+
+ * src/autofit/afblue.dat: Add blue zone data for Lao.
+
+ * src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
+
+ * src/autofit/afscript.h: Add Lao standard characters.
+
+ * src/autofit/afranges.c: Add Lao data.
+
+ * src/autofit/afstyles.h: Add Lao data.
+
+2015-09-27 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+
+ [base] Fix a leak by broken sfnt-PS or resource fork (#46028).
+
+ open_face_from_buffer() frees passed buffer if valid font
+ is not found. But if copying to the buffer is failed,
+ the allocated buffer should be freed within the caller.
+
+ * src/base/ftobjs.c (open_face_PS_from_sfnt_stream): Free
+ the buffer `sfnt_ps' if an error caused before calling
+ open_face_from_buffer().
+ (Mac_Read_sfnt_Resource): Free the buffer `sfnt_data' if
+ an error caused before calling open_face_from_buffer();
+
+2015-09-27 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+
+ [mac] Fix buffer size calculation for LWFN font.
+
+ * src/base/ftmac.c (read_lwfn): Cast post_size to FT_ULong
+ to prevent confused copy by too large chunk size.
+
+2015-09-26 Alexei Podtelezhnikov <apodtele@gmail.com>
+
+ * src/smooth/ftgrays.c (PIXEL_MASK): Remove unused macro.
+
+2015-09-26 Werner Lemberg <wl@gnu.org>
+
+ [autofit] Minor tracing improvement.
+
+ * src/autofit/aflatin.c (af_latin_metrics_scale_dim): Don't emit
+ blue zones header line if there are no blue zones.
+
+2015-09-26 Werner Lemberg <wl@gnu.org>
+
+ [bzip2, gzip, lzw] Harmonize function signatures with prototype.
+
+ Suggested by Hin-Tak Leung.
+
+ * src/bzip2/ftbzip2.c (ft_bzip2_stream_io), src/gzip/ftgzip.c
+ (ft_gzip_stream_io), src/lzw/ftlzw.c (ft_lzw_stream_io): Do it.
+
+2015-09-26 Hin-Tak Leung <htl10@users.sourceforge.net>
+
+ Add new FT_LOAD_COMPUTE_METRICS load flag.
+
+ * include/freetype/freetype.h (FT_LOAD_COMPUTE_METRICS): New macro.
+ * src/truetype/ttgload.c (compute_glyph_metrics): Usage.
+
+2015-09-26 Werner Lemberg <wl@gnu.org>
+
+ * src/base/ftobjs.c (Mac_Read_sfnt_Resource): Add cast.
+
+2015-09-25 Werner Lemberg <wl@gnu.org>
+
+ [type1] Protect against invalid number of glyphs (#46029).
+
+ * src/type1/t1load.c (parse_charstrings): Check number of
+ `CharStrings' dictionary entries against size of data stream.
+
+2015-09-23 Werner Lemberg <wl@gnu.org>
+
+ [sfnt] Better checks for invalid cmaps (2/2) (#46019).
+
+ While the current code in `FT_Get_Next_Char' correctly rejects
+ out-of-bounds glyph indices, it can be extremely slow for malformed
+ cmaps that use 32bit values. This commit tries to improve that.
+
+ * src/sfnt/ttcmap.c (tt_cmap8_char_next, tt_cmap12_next,
+ tt_cmap12_char_map_binary, tt_cmap13_next,
+ tt_cmap13_char_map_binary): Reject glyph indices larger than or
+ equal to the number of glyphs.
+
+2015-09-23 Werner Lemberg <wl@gnu.org>
+
+ [base, sfnt] Better checks for invalid cmaps (1/2).
+
+ * src/base/ftobjs.c (FT_Get_Char_Index): Don't return out-of-bounds
+ glyph indices.
+ (FT_Get_First_Char): Updated.
+
+ * src/sfnt/ttcmap.c (tt_cmap6_char_next): Don't return character
+ codes greater than 0xFFFF.
+
+ (tt_cmap8_char_index): Avoid integer overflow in computation of
+ glyph index.
+ (tt_cmap8_char_next): Avoid integer overflows in computation of
+ both next character code and glyph index.
+
+ (tt_cmap10_char_index): Fix unsigned integer logic.
+ (tt_cmap10_char_next): Avoid integer overflow in computation of
+ next character code.
+
+ (tt_cmap12_next): Avoid integer overflows in computation of both
+ next character code and glyph index.
+ (tt_cmap12_char_map_binary): Ditto.
+ (tt_cmap12_char_next): Simplify.
+
+ (tt_cmap13_char_map_binary): Avoid integer overflow in computation
+ of next character code.
+ (tt_cmap13_char_next): Simplify.
+
+2015-09-21 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+
+ [base] Check too long POST and sfnt resource (#45919).
+
+ * src/base/ftbase.h (FT_MAC_RFORK_MAX_LEN): Maximum length of the
+ resource fork for Mac OS. Resource forks larger than 16 MB can be
+ written but can't be handled correctly, at least in Carbon routine.
+ See https://support.microsoft.com/en-us/kb/130437.
+
+ * src/base/ftobjs.c (Mac_Read_POST_Resource): No need to use `0x'
+ prefix for `%p' formatter.
+
+ * src/base/ftbase.c (Mac_Read_POST_Resource): Check the fragment and
+ total size of the concatenated POST resource before buffer
+ allocation.
+ (Mac_Read_sfnt_Resource): Check the declared size of sfnt resource
+ before buffer allocation.
+
+ * src/base/ftmac.c (read_lwfn, FT_New_Face_From_SFNT): Check the
+ total resource size before buffer allocation.
+
+2015-09-19 Werner Lemberg <wl@gnu.org>
+
+ [sfnt] Improve handling of invalid SFNT table entries (#45987).
+
+ This patch fixes weaknesses in function `tt_face_load_font_dir'.
+
+ - It incorrectly assumed that valid tables are always at the
+ beginning. As a consequence, some valid tables after invalid
+ entries (which are ignored) were never seen.
+
+ - Duplicate table entries (this is, having the same tag) were not
+ rejected.
+
+ - The number of valid tables was sometimes too large, leading to
+ access of invalid tables.
+
+ * src/sfnt/ttload.c (check_table_dir): Add argument to return number
+ of valid tables.
+ Add another tracing message.
+ (tt_face_load_font_dir): Only allocate table array for valid
+ entries as returned by `check_table_dir'.
+ Reject duplicate tables and adjust number of valid tables
+ accordingly.
+
+2015-09-19 Werner Lemberg <wl@gnu.org>
+
+ [pcf] Improve `FT_ABS' fix from 2015-09-17 (#45999).
+
+ * src/pcf/pcfread.c (pcf_load_font): Do first the cast to FT_Short,
+ then take the absolute value.
+ Also apply FT_ABS to `height'.
+
+2015-09-17 Werner Lemberg <wl@gnu.org>
+
+ [type42] Fix memory leak (#45989).
+
+ * src/type42/t42parse.c (t42_parse_charstrings): Allow only a single
+ `CharStrings' array.
+
+2015-09-17 Werner Lemberg <wl@gnu.org>
+
+ [psaux] Fix memory leak (#45986).
+
+ * src/psaux/psobjs.c (ps_parser_load_field) <T1_FIELD_TYPE_MM_BBOX>:
+ Free `temp' in case of error.
+
+2015-09-17 Werner Lemberg <wl@gnu.org>
+
+ [psaux] Improve tracing message.
+
+ * src/psaux/psobjs.c (ps_parser_load_field) <T1_FIELD_TYPE_MM_BBOX>:
+ Handle plural correctly.
+
+2015-09-17 Werner Lemberg <wl@gnu.org>
+
+ [pcf] Fix integer overflows (#45985).
+
+ * src/pcf/pcfread.c (pcf_load_font): Use FT_MulDiv.
+
+2015-09-17 Werner Lemberg <wl@gnu.org>
+
+ [pcf] Use FT_ABS for some property values (#45893).
+
+ * src/pcf/pcfread.c (pcf_load_font): Take absolute values for
+ AVERAGE_WIDTH, POINT_SIZE, PIXEL_SIZE, RESOLUTION_X, and
+ RESOLUTION_Y. In tracing mode, add warnings.
+
+2015-09-16 Werner Lemberg <wl@gnu.org>
+
+ Minor fixes for some clang warnings.
+
+ * src/base/ftoutln.c (FT_Outline_EmboldenXY): Cast, possible missing
+ initialization.
+
+ * src/truetype/ttgload.c (TT_Process_Composite_Component): Cast.
+
+2015-09-15 Werner Lemberg <wl@gnu.org>
+
+ [type1, type42] Fix memory leaks (#45966).
+
+ * src/type1/t1load.c (parse_blend_axis_types): Handle multiple axis
+ names.
+ (parse_blend_design_map): Allow only a single design map.
+ (parse_encoding): Handle multiple encoding vectors.
+
+ * src/type42/t42parse.c (t42_parse_encoding): Handle multiple
+ encoding vectors.
+
+2015-09-15 Werner Lemberg <wl@gnu.org>
+
+ [truetype] Fix integer type (#45965).
+
+ * src/truetype/ttobjs.c (tt_synth_sfnt_checksum): Implement it.
+
+2015-09-15 Werner Lemberg <wl@gnu.org>
+
+ * src/pcf/pcfread.c (pcf_load_font): Fix integer overflow (#45964).
+
+2015-09-15 Werner Lemberg <wl@gnu.org>
+
+ [type1, type42] Check encoding array size (#45961).
+
+ * src/type1/t1load.c (parse_encoding), src/type42/t42parse.c
+ (t42_parse_encoding): Do it.
+
+2015-09-14 Alexei Podtelezhnikov <apodtele@gmail.com>
+
+ * src/base/ftcalc.c (FT_MulFix) [FT_LONG64]: Improve.
+
+2015-09-14 Werner Lemberg <wl@gnu.org>
+
+ [type1] Fix another potential buffer overflow (#45955).
+
+ * src/type1/t1parse (T1_Get_Private_Dict): Assure that check for
+ `eexec' doesn't exceed `limit'.
+
+2015-09-13 Werner Lemberg <wl@gnu.org>
+
+ Replace `mkinstalldirs' with AC_PROG_MKDIR_P.
+
+ * builds/unix/mkinstalldirs: Removed, no longer needed.
+
+ * builds/unix/configure.raw: Call `AC_PROG_MKDIR_P'.
+ Update pwd call for `$INSTALL'.
+
+ * builds/unix/unix-def.in (MKINSTALLDIRS): Use `@MKDIR_P@'.
+
+ * autogen.sh: Updated.
+
+2015-09-13 Werner Lemberg <wl@gnu.org>
+
+ [winfonts] Check alignment shift count for resource data (#45938).
+
+ * src/winfonts/winfnt.c (fnt_face_get_dll_font): Implement it.
+
+2015-09-13 Werner Lemberg <wl@gnu.org>
+
+ [type1] Fix potential buffer overflow (#45923).
+
+ * src/type1/t1parse.c (T1_Get_Private_Dict): Assure `cur' doesn't
+ point to end of file buffer.
+
+2015-09-13 Werner Lemberg <wl@gnu.org>
+
+ [gzip] Fix access of small compressed files (#45937).
+
+ * src/gzip/ftgzip.c (ft_gzip_stream_close): Avoid memory leak.
+
+ (ft_gzip_get_uncompressed_file): Correct byte order while reading
+ unsigned long value. Without this change, the whole optimization of
+ accessing small files in `FT_Stream_OpenGzip' is never executed! As
+ a consequence, access to PCF files in general (which are normally
+ small files) should be much improved now as originally intended.
+
+2015-09-11 Werner Lemberg <wl@gnu.org>
+
+ [psaux] Fix potential buffer overflow (#45922).
+
+ * src/psaux/psobjs.c (ps_parser_skip_PS_token): If a token is
+ enclosed in balanced expressions, ensure that the cursor position
+ doesn't get larger than the current limit.
+
+2015-09-11 Werner Lemberg <wl@gnu.org>
+
+ [base] Avoid crash while tracing `load_mac_face'.
+
+ Reported in Savannah bug #45919.
+
+ * src/base/ftobjs.c (load_mac_face): Honour FT_OPEN_MEMORY while
+ tracing.
+
+2015-09-11 Werner Lemberg <wl@gnu.org>
+
+ [type42] Fix endless loop (#45920).
+
+ * src/type42/t42parse.c (t42_parse_encoding): Synchronize with
+ type1's `parse_encoding'.
+
+2015-09-10 Werner Lemberg <wl@gnu.org>
+
+ [docmaker] Allow `-' in bold and italic markup.
+
+ * src/tools/docmaker/sources.py (re_italic, re_bold): Adjust
+ accordingly.
+
+2015-09-09 Alexei Podtelezhnikov <apodtele@gmail.com>
+
+ * src/base/ftcalc.c (FT_RoundFix): Improve.
+
+2015-09-09 Wojciech Mamrak <wmamrak@gmail.com>
+
+ * src/base/ftcalc.c (FT_CeilFix, FT_FloorFix): Normalize.
+
+ This commit makes the functions behave as expected, this is,
+ rounding towards plus or minus infinity.
+
+2015-09-07 Alexei Podtelezhnikov <apodtele@gmail.com>
+
+ * src/smooth/ftgrays.c (gray_render_line): Simplify clipping.
+
+2015-09-04 Alexei Podtelezhnikov <apodtele@gmail.com>
+
+ [raster,smooth] Microoptimizations.
+
+ * src/raster/ftraster.c (Insert_Y_Turn, Finalize_Profile_Table,
+ Beziier_Up, ): Use do-while loops.
+
+ * src/smooth/ftgrays.c (gray_render_scanline, gray_render_line,
+ gray_convert_glyph): Ditto.
+
+2015-09-04 Werner Lemberg <wl@gnu.org>
+
+ [autofit] Redesign code ranges (2/2).
+
+ This commit adds two fallback scripts (`latb', `latp') and
+ implements support for the no-base character ranges introduced in
+ the previous commit.
+
+ * src/autofit/aftypes.h (AF_ScriptClassRec): Add
+ `script_uni_nobase_ranges' field.
+ (AF_DEFINE_SCRIPT_CLASS): Updated.
+
+ * src/autofit/afscript.h, src/autofit/afstyles.h: Add `latb' and
+ `latp' fallback scripts.
+
+ * src/autofit/afblue.dat: Add blue zones for Latin subscript and
+ superscript fallback scripts.
+
+ * src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
+
+ * src/autofit/afglobal.h (AF_NOBASE): New style flag for no-base
+ characters.
+ (AF_STYLE_MASK): Updated.
+
+ * src/autofit/afglobal.c (SCRIPT): Updated.
+ (af_face_globals_compute_style_coverage): Handle new style flag.
+
+ * src/autofit/aflatin.c (af_latin_hints_apply): Handle new style
+ flag.
+
+ * src/autofit/afranges.h (SCRIPT): Use it to export no-base ranges.
+
+2015-09-04 Werner Lemberg <wl@gnu.org>
+
+ [autofit] Redesign code ranges (1/2).
+
+ This patch introduces auxiliary code ranges that identify no-base
+ characters; they refer to glyphs of a script that should be hinted
+ without alignments to blue zones (mostly diacritics).
+
+ It also splits off ranges for fallback scripts that handle subscript
+ and superscript characters not covered by OpenType features. For
+ example, this greatly helps improve the hinting of various phonetic
+ alphabets, which contain a large amount characters that look like
+ superscript glyphs.
+
+ Finally, code ranges are updated to Unicode 8.0, and enclosed
+ characters are removed in general since they normally look better if
+ they stay unhinted.
+
+ * src/autofit/afranges.c (af_latn_uniranges): Updated to Unicode
+ 8.0.
+ Split off superscript-like and subscript-like glyphs into...
+
+ (af_latb_uniranges, af_latp_uniranges): ... these two new arrays.
+
+ (af_xxxx_nobase_uniranges): New arrays that hold no-base characters
+ of the corresponding character ranges.
+
+2015-09-03 Werner Lemberg <wl@gnu.org>
+
+ [autofit] Pass glyph index to hinting function.
+
+ No functionality change yet.
+
+ * src/autofit/aftypes.h (AF_WritingSystem_ApplyHintsFunc): Pass
+ glyph index.
+
+ * src/autofit/afcjk.c, src/autofit/afcjk.h (af_cjk_hints_apply),
+ src/autofit/afdummy.c (af_dummy_hints_apply), src/autofit/afindic.c
+ (af_indic_hints_apply), src/autofit/aflatin.c
+ (af_latin_hints_apply), src/autofit/aflatin2.c
+ (af_latin2_hints_apply), src/autofit/afloader.c (af_loader_load_g):
+ Updated.
+
+2015-08-30 Werner Lemberg <wl@gnu.org>
+
+ [autofit] Code clean-up.
+
+ * src/autofit/afglobal.h (AF_STYLE_MASK): New macro.
+ (AF_STYLE_UNASSIGNED): Use AF_STYLE_MASK for definition.
+
+ * src/autofit/afglobal.c (af_face_globals_compute_style_coverage):
+ Updated.
+
+2015-08-30 Werner Lemberg <wl@gnu.org>
+
+ [autofit] Make glyph style array use 16bit values.
+
+ * include/freetype/ftautoh.h (FT_Prop_GlyphToScriptMap): Use
+ `FT_UShort' for `map' field.
+
+ * src/autofit/afglobal.c (af_face_globals_compute_style_coverage,
+ af_face_globals_new), src/autofit/hbshim.c, src/autofit/hbshim.h
+ (af_get_coverage): Use FT_UShort for `glyph_styles' array.
+
+ * src/autofit/afglobal.h (AF_STYLE_UNASSIGNED, AF_DIGIT): Extend to
+ 16 bits.
+ (AF_FaceGlobalsRec): Use `FT_UShort' for `glyph_styles' field.
+
+2015-08-26 Werner Lemberg <wl@gnu.org>
+
+ * builds/unix/configure.raw: Need harfbuzz >= 0.9.21 (#45828).
+
+2015-08-25 Werner Lemberg <wl@gnu.org>
+
+ [base] Improve kerning tracing and documentation.
+
+ * src/base/ftobjs.c (FT_Get_Kerning): Emit tracing message if
+ scaled-down kerning values differ.
+
+2015-08-18 Werner Lemberg <wl@gnu.org>
+
+ [raster] Remove last remnants of `raster5' driver.
+
+ * src/raster/ftrend1.h (ft_raster5_renderer_class): Removed.
+
+ * src/raster/rastpic.c, src/raster/rastpic.h
+ (ft_raster5_renderer_class_pic_init,
+ ft_raster5_renderer_class_pic_free): Removed.
+
+2015-08-17 Alexei Podtelezhnikov <apodtele@gmail.com>
+
+ [base] Improve emboldener (#45596).
+
+ * src/base/ftoutln.c (FT_Outline_EmboldenXY): Correct displacement
+ of zero-lenght segments.
+
+2015-08-16 Alexei Podtelezhnikov <apodtele@gmail.com>
+
+ [base] Reoptimize arithmetic.
+
+ * src/base/ftcalc.c (FT_MulDiv, FT_MulFix) [!FT_LONG64]: Remove
+ special cases that slow down the general use.
+
+2015-08-15 pazer <ibemad@gmail.com>
+
+ Fix C++ compilation (#45762).
+
+ * src/base/ftstroke.c (ft_outline_glyph_class): Use
+ FT_CALLBACK_TABLE.
+
+2015-08-14 Alexei Podtelezhnikov <apodtele@gmail.com>
+
+ [truetype] Clean up.
+
+ * src/truetype/ttgload.c (TT_Process_Composite_Component): Use
+ `FT_Outline_Transform' and `FT_Outline_Translate'.
+ (translate_array): Dropped.
+
+2015-08-14 Andreas Enge <andreas.enge@inria.fr>
+
+ * builds/unix/detect.mk (CONFIG_SHELL): Don't handle it (#44261).
+
+2015-08-13 Werner Lemberg <wl@gnu.org>
+
+ [truetype] Introduce named instance access to GX fonts.
+
+ For functions querying a face, bits 16-30 of the face index can hold
+ the named instance index if we have a GX font. The indices start
+ with value 1; value 0 indicates font access without GX variation
+ data.
+
+ * include/freetype/freetype.h (FT_FaceRec): Update documentation.
+ * include/freetype/internal/sfnt.h: Ditto.
+
+ * src/sfnt/sfobjs.c (sfnt_init_face)
+ [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Get number of named instances and
+ do argument checks.
+ (sfnt_load_face): Updated.
+
+ * src/truetype/ttobjs.c (tt_face_init)
+ [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Use named instance, overwriting
+ the style name.
+
+ * src/base/ftobjs.c (open_face_from_buffer,
+ open_face_PS_from_sfnt_stream): Updated.
+ * src/bdf/bdfdrivr.c (BDF_Face_Init): Updated.
+ * src/cff/cffload.c (cff_font_load): Updated.
+
+ * src/cff/cffobjs.c (cff_face_init): Make function exit early for
+ pure CFF fonts if `font_index < 0'.
+ Updated.
+
+ * src/cid/cidobjs.c (cid_face_init): Updated.
+ * src/pcf/pcfdrivr.c (PCF_Face_Init): Updated.
+ * src/pfr/pfrobjs.c (pfr_face_init): Updated.
+ * src/type1/t1objs.c (T1_Face_Init): Updated.
+ * src/type42/t42objs.c (T42_Face_Init): Updated.
+ * src/winfonts/winfnt.c (fnt_face_get_dll_font, FNT_Face_Init):
+ Updated.
+
+ * docs/CHANGES: Updated.
+
+2015-08-12 Alexei Podtelezhnikov <apodtele@gmail.com>
+
+ [type1,cff,cid] Streamline font matrix application.
+
+ * src/type1/t1gload.c (T1_Load_Glyph): Directly modify advances only
+ if font matrix is not trivial.
+ * src/cff/cffgload.c (cff_slot_load): Ditto.
+ * sff/cid/cidgload.c (cid_slot_load_glyph): Ditto for advances and the
+ entire outline.
+
+2015-08-11 Werner Lemberg <wl@gnu.org>
+
+ [builds/unix] Minor.
+
+ * builds/unix/configure.raw:
+ s/lib{priv,staticconf}/libs{priv,staticconf}/ for orthogonality with
+ similarly named uppercase variables.
+
+2015-08-10 Alexei Podtelezhnikov <apodtele@gmail.com>
+
+ [type1,cid,type42] Minor improvements.
+
+ * src/type1/t1load.c (t1_parse_font_matrix): Scale units per EM only
+ when necessary. Refresh comments.
+ * src/cid/cidload.c (cid_parse_font_matrix): Ditto.
+ * src/type42/t42parse.c (t42_parse_font_matrix): Refresh comments.
+
+2015-08-08 Werner Lemberg <wl@gnu.org>
+
+ [type42] Fix glyph access.
+
+ This is a severe bug: We've missed one level of indirection, as
+ described in the Type 42 specification. As a result, ftview
+ sometimes showed incorrect glyphs for given glyph names, and even
+ displayed `error 0x0006' (invalid argument!) in case the number of
+ glyph indices differed between the Type 42 font and the embedded
+ TTF.
+
+ Apparently, noone ever noticed it; this shows how much Type 42 fonts
+ are in use...
+
+ * src/type42/t42objs.c (T42_GlyphSlot_Load): Map Type 42 glyph index
+ to embedded TTF's glyph index.
+
+2015-08-08 Werner Lemberg <wl@gnu.org>
+
+ [type42] Minor clean-up.
+
+ * src/type42/t42parse.c (t42_parse_font_matrix): Remove unused
+ variable.
+
+2015-08-06 Alexei Podtelezhnikov <apodtele@gmail.com>
+
+ [type42] Parse FontMatrix according to specifications.
+
+ * src/type42/t42parse.c (t42_parse_font_matrix): Type 42 FontMatrix
+ does not need scaling by 1000. Units_per_EM are taken from the
+ embedded TrueType.
+
+2015-08-06 Werner Lemberg <wl@gnu.org>
+
+ [autofit] Improve Arabic hinting.
+
+ Problem reported by Titus Nemeth <tn@tntypography.eu> (by using
+ ttfautohint).
+
+ * src/autofit/afblue.dat: Add neutral blue zone for the tatweel
+ character.
+
+ * src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
+
+2015-08-05 Alexei Podtelezhnikov <apodtele@gmail.com>
+
+ [truetype] Clean up types.
+
+ * src/truetype/ttobjs.c (TT_Size): Move declaration from here.
+ * include/freetype/internal/tttypes.h (TT_Size): ... to here.
+ (TT_LoaderRec): Switch to appropriate types for `face' and `size'.
+ * src/truetype/ttgload.c: Remove corresponding type casts.
+ * src/truetype/ttsubpix.c: Ditto.
+
+2015-08-05 Werner Lemberg <wl@gnu.org>
+
+ [autofit] Improve recognition of flat vs. rounded segments.
+
+ Lower the flatness threshold from upem/8 to upem/14, making the
+ auto-hinter accept shorter elements.
+
+ Synchronize flat/round stem selection algorithm with blue zone code.
+
+ * src/autofit/aflatin.c (FLAT_THRESHOLD): New macro.
+ (af_latin_metrics_init_blues): Use it.
+ (af_latin_hints_compute_segments): Collect information on maximum
+ and minimum coordinates of `on' points; use this to add a constraint
+ for the flat/round decision similar to
+ `af_latin_metrics_init_blues'.
+
+2015-08-04 Werner Lemberg <wl@gnu.org>
+
+ Another left-shift bug (#45681).
+
+ * src/base/ftobjs.c (IsMacBinary): Only accept positive values for
+ `dlen'.
+
+2015-08-03 Alexei Podtelezhnikov <apodtele@gmail.com>
+
+ [base] Fix `ft_corner_orientation'.
+
+ Remove casting from `FT_Long' to `FT_Int' that might change the sign
+ of the return value and make it faster too.
+
+ * src/base/ftcalc.c (ft_corner_orientation): On 32-bit systems, stay
+ with 32-bit arithmetic when safe. Use plain math on 64-bit systems.
+ * src/pshinter/pshalgo.c: Remove old unused code.
+
+2015-08-03 Werner Lemberg <wl@gnu.org>
+
+ * src/truetype/ttgload.c (load_truetype_glyph)
+ [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Fix crash for composite glyphs
+ having a depth greater than 1.
+
+2015-08-03 Werner Lemberg <wl@gnu.org>
+
+ Fix typo in clang bug from 2015-07-31 (#45678).
+
+ * src/base/ftrfork.c (FT_Raccess_Get_HeaderInfo): Fix inequality.
+
+2015-08-02 Werner Lemberg <wl@gnu.org>
+
+ * CMakeLists.txt: Improve shared library support.
+
+ Based on a patch from John Cary <cary@txcorp.com>.
+
+2015-08-02 Werner Lemberg <wl@gnu.org>
+
+ * builds/unix/freetype-config.in (enable_shared): Remove. Unused.
+
+2015-08-02 Werner Lemberg <wl@gnu.org>
+
+ Fix more invalid left-shifts.
+
+ * src/pfr/pfrgload.c (pfr_glyph_load_compound): Use multiplication,
+ not left-shift.
+
+ * src/truetype/ttgxvar.c (ft_var_load_avar, ft_var_load_gvar,
+ tt_face_vary_cvt, TT_Vary_Apply_Glyph_Deltas): Use multiplication,
+ not left-shift.
+
+2015-07-31 Werner Lemberg <wl@gnu.org>
+
+ Fix some bugs found by clang's `-fsanitize=undefined' (#45661).
+
+ * src/base/ftrfork.c (FT_Raccess_Get_HeaderInfo): Only accept
+ positive values from header.
+ Check overflow.
+
+ * src/base/ftoutln.c (SCALED): Correctly handle left-shift of
+ negative values.
+
+ * src/bdf/bdf.h (_bdf_glyph_modified, _bdf_set_glyph_modified,
+ _bdf_clear_glyph_modified): Use unsigned long constant.
+
+ * src/bdf/bdfdrivr.c (BDF_Size_Select, BDF_Glyph_Load): Don't
+ left-shift values that can be negative.
+
+ * src/pcf/pcfdrivr.c (PCF_Size_Select, PCF_Glyph_Load): Don't
+ left-shift values that can be negative.
+
+ * src/raster/ftraster.c (SCALED): Correctly handle left-shift of
+ negative values.
+
+ * src/sfnt/ttsbit.c (tt_face_load_strike_metrics): Don't left-shift
+ values that can be negative.
+
+ * src/truetype/ttgload.c (TT_Load_Composite_Glyph,
+ compute_glyph_metrics, load_sbit_image): Don't left-shift values
+ that can be negative.
+
+2015-07-31 Werner Lemberg <wl@gnu.org>
+
+ Define FT_LONG_MAX.
+
+ * include/freetype/config/ftstdlib.h (FT_LONG_MAX): New macro.
+ * src/cff/cf2arrst.c (cf2_arrstack_setNumElements): Use it.
+
+2015-07-28 Alexei Podtelezhnikov <apodtele@gmail.com>
+
+ * src/base/ftcalc.c (FT_Vector_NormLen): Clarify.
+
+2015-07-27 Alexei Podtelezhnikov <apodtele@gmail.com>
+
+ * src/base/ftcalc.c (FT_Vector_NormLen): Explicate type conversions.
+
+2015-07-26 Matthias Clasen <matthias.clasen@gmail.com>
+
+ [cff] Don't use `hmtx' table for LSB (#45520).
+
+ * src/cff/cffgload.c (cff_slot_load): Use `htmx' table for advance
+ width only. Bug introduced 2015-04-10.
+
+2015-07-09 Werner Lemberg <wl@gnu.org>
+
+ Better support of user-supplied C++ namespaces.
+
+ See
+
+ http://lists.nongnu.org/archive/html/freetype-devel/2015-07/msg00008.html
+
+ for a rationale.
+
+ * src/autofit/afpic.h, src/base/basepic.h, src/cff/cffpic.h,
+ src/pshinter/pshpic.h, src/psnames/pspic.h, src/raster/rastpic.h,
+ src/sfnt/sfntpic.h, src/smooth/ftspic.h, src/truetype/ttpic.h
+ (FT_BEGIN_HEADER, FT_END_HEADER): Move macro calls to not enclose
+ header files that contain FT_{BEGIN,END}_HEADER macros by
+ themselves.
+
+ * src/autofit/aftypes.h [FT_DEBUG_AUTOFIT]: Include
+ FT_CONFIG_STANDARD_LIBRARY_H earlier.
+
+ * src/truetype/ttpic.h: Include FT_INTERNL_PIC_H.
+
+2015-07-07 Werner Lemberg <wl@gnu.org>
+
+ [sfnt] Make `tt_face_get_name' member of the SFNT interface.
+
+ * include/freetype/internal/sfnt.h (TT_Get_Name_Func): New
+ prototype.
+ (SFNT_Interface, FT_DEFINE_SFNT_INTERFACE): New member `get_name'.
+
+ * src/sfnt/sfdriver.c (sfnt_interface): Updated.
+
+ * src/sfnt/sfobjs.c (tt_face_get_name): Tag it with `LOCAL_DEF'.
+ * src/sfnt/sfobjs.h: Add prototype for it.
+
+2015-06-30 Werner Lemberg <wl@gnu.org>
+
+ Fix some clang compiler warnings.
+
+ * src/base/ftoutln.c (FT_Outline_EmboldenXY), src/cff/cf2intrp.c
+ (cf2_interpT2CharString), src/truetype/ttgload.c
+ (load_truetype_glyph), src/truetype/ttgxvar.c (tt_handle_deltas),
+ src/truetype/ttinterp.c (Ins_INSTCTRL): Fix signedness issues.
+
+2015-06-29 Alexei Podtelezhnikov <apodtele@gmail.com>
+
+ [truetype] Speed up bytecode interpreter.
+
+ * src/truetype/ttinterp.c (Normalize): Use `FT_Vector_NormLen'.
+
+2015-06-29 Alexei Podtelezhnikov <apodtele@gmail.com>
+
+ [base] Speed up emboldening.
+
+ * src/base/ftoutln.c (FT_Outline_EmboldenXY): Use
+ `FT_Vector_NormLen'.
+
+2015-06-29 Alexei Podtelezhnikov <apodtele@gmail.com>
+
+ [base] Implement fast vector normalization.
+
+ The function uses Newton's iterations instead of dividing vector
+ components by its length, which needs a square root. This is,
+ literally, a bit less accurate but a lot faster.
+
+ * src/base/ftcalc.c (FT_Vector_NormLen): New function.
+
+2015-06-28 Werner Lemberg <wl@gnu.org>
+
+ * CMakeLists.txt: Always create `ftconfig.h'.
+
+ For non-UNIX builds, the file stays unmodified. However, it's
+ better to have the main configuration files at the same place
+ regardless of the OS.
+
+2015-06-28 Werner Lemberg <wl@gnu.org>
+
+ * CMakeLists.txt: Improve MSVC support (#43737).
+
+2015-06-28 Werner Lemberg <wl@gnu.org>
+
+ [cmake] Check for libraries and create `ftoption.h'.
+
+ * builds/FindHarfBuzz.cmake: New file, taken from
+
+ https://trac.webkit.org/browser/trunk/Source/cmake/FindHarfBuzz.cmake
+
+ * CMakeLists.Txt: Add path to local cmake modules.
+ Find dependencies for zlib, bzip2, libpng, and harfbuzz.
+ Create `ftoption.h' file.
+ Set up include and linker stuff for libraries.
+
+2015-06-28 Werner Lemberg <wl@gnu.org>
+
+ * CMakeLists.txt: Fix creation of `ftconfig.h'.
+ Check for UNIX header files using `check_include_file'.
+ Set up correct header include directories.
+
+2015-06-28 Werner Lemberg <wl@gnu.org>
+
+ * CMakeLists.txt: Disallow in-source builds.
+
+2015-06-27 Werner Lemberg <wl@gnu.org>
+
+ * src/tools/docmaker/utils.py (check_output): Add missing `\n'.
+
+2015-06-26 Werner Lemberg <wl@gnu.org>
+
+ * CMakeLists.txt: Select platform-dependent `ftdebug.c'.
+
+2015-06-25 Werner Lemberg <wl@gnu.org>
+
+ * CMakeLists.txt: Use cmake functions for generating `ftconfig.h'.
+ Additionally, do this for UNIX only.
+
+2015-06-25 Werner Lemberg <wl@gnu.org>
+
+ * CMakeLists.txt (BASE_SRCS): Use `ftbase.c' and `psnames.c'.
+
+2015-06-25 Werner Lemberg <wl@gnu.org>
+
+ Another adjustment to header locations.
+
+ This change is a result of a discussion thread on freetype-devel
+
+ http://lists.nongnu.org/archive/html/freetype-devel/2015-06/msg00041.html
+
+ Re-introduce the `freetype2' subdirectory for all FreeType header
+ files after installation, and rename the `freetype2' subdirectory in
+ the git repository to `freetype'.
+
+ * include/freetype2: Renamed to...
+ * include/freetype: This.
+
+ * CMakeLists.txt (PUBLIC_HEADERS, PUBLIC_CONFIG_HEADERS,
+ PRIVATE_HEADERS): Updated.
+ Update creation of `ftconfig.h'.
+ Install generated `ftconfig.h'.
+
+ * Jamfile (HDRMACRO, RefDoc), autogen.sh: Updated.
+
+ * builds/amiga/include/config/ftconfig.h, builds/freetype.mk
+ (PUBLIC_DIR), builds/symbian/bld.inf, builds/toplevel.mk (work),
+ builds/unix/freetype2.in: Updated.
+
+ * builds/unix/freetype-config.in: Updated.
+ * builds/unix/configure.raw: Don't check for `rmdir'.
+ * builds/unix/unix-def.in (DELDIR): Use `rm -rf', which is portable
+ according to the autoconf info manual.
+ * builds/unix/install.mk (install, uninstall,
+ distclean_project_unix): Update and simplify.
+
+ * builds/wince/*, builds/windows/*: Updated.
+
+ * devel/ft2build.h, include/ft2build.h: Updated.
+
+ * include/freetype2/config/ftheader.h,
+ include/freetype2/internal/ftserv.h,
+ include/freetype2/internal/internal.h: Update all header file
+ macros.
+
+ * src/tools/chktrcmp.py (TRACE_DEF_FILES): Updated.
+
+ * docs/*: Updated.
+
+2015-06-24 Alexei Podtelezhnikov <apodtele@gmail.com>
+
+ * src/bdf/bdflib.c (_bdf_parse_start): Disallow 0 bpp.
+
+2015-06-24 Alexei Podtelezhnikov <apodtele@gmail.com>
+
+ * src/bdf/bdflib.c (_bdf_parse_start): Simplify bpp parsing.
+
+2015-06-23 Werner Lemberg <wl@gnu.org>
+
+ s/TYPEOF/FT_TYPEOF/ (#45376).
+
+ * builds/unix/ftconfig.in, builds/vms/ftconfig.in,
+ include/freetype2/config/ftconfig.h,
+ include/freetype2/internal/ftobjs.h, src/autofit/afwarp.h: Do it.
+
+2015-06-22 Werner Lemberg <wl@gnu.org>
+
+ Fix Savannah bug #45097.
+
+ We no longer `pollute' the namespace of possible header file names;
+ instead we move `ft2build.h' up by one level so that it gets
+ installed in the default include directory (e.g.,
+ /usr/local/include). After this commit, only `ft2build.h' stays in
+ the compiler's include path.
+
+ No visible changes for the user who follows the standard FreeType
+ header inclusion rules.
+
+ * include/*: Move to ...
+ * include/freetype2/*: This directory, except `ft2build.h'.
+
+ * CMakeLists.txt (PUBLIC_HEADERS, PUBLIC_CONFIG_HEADERS,
+ PRIVATE_HEADERS), Jamfile (HDRMACRO, RefDoc), autogen.sh: Updated.
+
+ * builds/amiga/include/config/ftconfig.h, builds/freetype.mk
+ (PUBLIC_DIR), builds/symbian/bld.inf, builds/toplevel.mk (work),
+ builds/unix/install.mk (install, uninstall),
+ builds/unix/freetype2.in: Updated.
+
+ * builds/unix/freetype-config.in: Updated.
+ Emit -I directory only if it is not `/usr/include'.
+
+ * builds/wince/*, builds/windows/*: Updated.
+
+ * devel/ft2build.h, include/ft2build.h: Updated.
+
+ * include/freetype2/config/ftheader.h,
+ include/freetype2/internal/ftserv.h,
+ include/freetype2/internal/internal.h: Update all header file
+ macros.
+
+ * src/tools/chktrcmp.py (TRACE_DEF_FILES): Updated.
+
+2015-06-21 Werner Lemberg <wl@gnu.org>
+
+ Make Jam support work again.
+
+ This is just very basic stuff and just a little bit tested on
+ GNU/Linux only. I won't delve into this since I'm not a Jam user.
+
+ * Jamfile: Call `HDRMACRO' for `ftserv.h' also.
+ (DEFINES): Replace with...
+ (CCFLAGS): ... this.
+
+ * src/Jamfile: Don't call `HDRMACRO' for `internal.h'; this is
+ already handled in the top-level Jamfile.
+
+ * src/autofit/Jamfile (DEFINES): Replace with...
+ (CCFLAGS): ... this.
+ (_sources): Add missing files.
+
+ * src/cache/Jamfile: Don't call `HDRMACRO' for `ftcache.h'; it no
+ longer contains macro header definitions.
+
+ * src/base/Jamfile, src/cff/Jamfile, src/sfnt/Jamfile,
+ src/truetype/Jamfile (_sources): Add missing files.
+
+2015-06-16 Werner Lemberg <wl@gnu.org>
+
+ Fix Savannah bug #45326.
+
+ * src/sfnt/sfntpic.h (SFNT_SERVICES_GET): Remove duplicate
+ definitions.
+
2015-06-07 Werner Lemberg <wl@gnu.org>
* Version 2.6 released.
@@ -30,8 +1134,8 @@
(FREETYPE_PATCH): Set to 0.
* builds/unix/configure.raw (version_info): Set to 18:0:12.
- * CMakeLists.txt (VERSION_MINOR): Set to 0.
- (VERSION_PATCH): Set to 6.
+ * CMakeLists.txt (VERSION_MINOR): Set to 6.
+ (VERSION_PATCH): Set to 0.
* src/autofit/afmodule.c [!FT_MAKE_OPTION_SINGLE_OBJECT]: Add
declarations for dumping functions.
diff --git a/lib/freetype/ChangeLog.21 b/lib/freetype/ChangeLog.21
index a6f8be754..5ee9909ff 100644
--- a/lib/freetype/ChangeLog.21
+++ b/lib/freetype/ChangeLog.21
@@ -1868,7 +1868,7 @@
(LITTLE_ENDIAN_USHORT, LITTLE_ENDIAN_UINT): New macros.
(T1_Read_PFM): New function.
(T1_Read_Metrics): New higher-level function to be used instead of
- T1Read_AFM.
+ T1_Read_AFM.
Update all callers.
2004-07-31 Werner Lemberg <wl@gnu.org>
diff --git a/lib/freetype/Jamfile b/lib/freetype/Jamfile
index 61fa01838..2d00682f3 100644
--- a/lib/freetype/Jamfile
+++ b/lib/freetype/Jamfile
@@ -73,20 +73,20 @@ FT2_BUILD_INCLUDE ?= ;
FT2_COMPONENTS ?= autofit # auto-fitter
base # base component (public APIs)
bdf # BDF font driver
+ bzip2 # support for bzip2-compressed PCF font
cache # cache sub-system
cff # CFF/CEF font driver
cid # PostScript CID-keyed font driver
- pcf # PCF font driver
- bzip2 # support for bzip2-compressed PCF font
gzip # support for gzip-compressed PCF font
lzw # support for LZW-compressed PCF font
+ pcf # PCF font driver
pfr # PFR/TrueDoc font driver
psaux # common PostScript routines module
pshinter # PostScript hinter module
psnames # PostScript names handling
raster # monochrome rasterizer
- smooth # anti-aliased rasterizer
sfnt # SFNT-based format support routines
+ smooth # anti-aliased rasterizer
truetype # TrueType font driver
type1 # PostScript Type 1 font driver
type42 # PostScript Type 42 (embedded TrueType) driver
@@ -121,17 +121,16 @@ if $(DEBUG_HINTER)
}
-# We need `freetype2/include' in the current include path in order to
+# We need `include' in the current include path in order to
# compile any part of FreeType 2.
-#: updating documentation for upcoming release
-
+#
HDRS += $(FT2_INCLUDE) ;
# We need to #define FT2_BUILD_LIBRARY so that our sources find the
# internal headers
#
-DEFINES += FT2_BUILD_LIBRARY ;
+CCFLAGS += -DFT2_BUILD_LIBRARY ;
# Uncomment the following line if you want to build individual source files
# for each FreeType 2 module. This is only useful during development, and
@@ -140,12 +139,13 @@ DEFINES += FT2_BUILD_LIBRARY ;
# FT2_MULTI = true ;
-# The file <config/ftheader.h> is used to define macros that are later used
-# in #include statements. It needs to be parsed in order to record these
-# definitions.
+# The files `ftheader.h', `internal.h', and `ftserv.h' are used to define
+# macros that are later used in #include statements. They need to be parsed
+# in order to record these definitions.
#
-HDRMACRO [ FT2_SubDir include freetype config ftheader.h ] ;
-HDRMACRO [ FT2_SubDir include freetype internal internal.h ] ;
+HDRMACRO [ FT2_SubDir $(FT2_INCLUDE_DIR) freetype config ftheader.h ] ;
+HDRMACRO [ FT2_SubDir $(FT2_INCLUDE_DIR) freetype internal internal.h ] ;
+HDRMACRO [ FT2_SubDir $(FT2_INCLUDE_DIR) freetype internal ftserv.h ] ;
# Now include the Jamfile in `freetype2/src', used to drive the compilation
@@ -153,7 +153,7 @@ HDRMACRO [ FT2_SubDir include freetype internal internal.h ] ;
#
SubInclude FT2_TOP $(FT2_SRC_DIR) ;
-# Handle the generation of the `ftexport.sym' file which contain the list
+# Handle the generation of the `ftexport.sym' file, which contains the list
# of exported symbols. This can be used on Unix by libtool.
#
SubInclude FT2_TOP $(FT2_SRC_DIR) tools ;
@@ -195,7 +195,12 @@ rule RefDoc
actions RefDoc
{
- python $(FT2_SRC)/tools/docmaker/docmaker.py --prefix=ft2 --title=FreeType-2.6 --output=$(DOC_DIR) $(FT2_INCLUDE)/*.h $(FT2_INCLUDE)/config/*.h
+ python $(FT2_SRC)/tools/docmaker/docmaker.py
+ --prefix=ft2
+ --title=FreeType-2.6.1
+ --output=$(DOC_DIR)
+ $(FT2_INCLUDE)/freetype/*.h
+ $(FT2_INCLUDE)/freetype/config/*.h
}
RefDoc refdoc ;
diff --git a/lib/freetype/Makefile b/lib/freetype/Makefile
index b54ddca46..475c029eb 100644
--- a/lib/freetype/Makefile
+++ b/lib/freetype/Makefile
@@ -1,9 +1,9 @@
-# $OpenBSD: Makefile,v 1.40 2015/07/19 10:39:19 matthieu Exp $
+# $OpenBSD: Makefile,v 1.41 2015/10/19 07:51:34 dcoppa Exp $
FREETYPESRC= ${.CURDIR}/src
# Get it from builds/unix/configure.ac
-FT_VERSION_INFO= 18.0.12
+FT_VERSION_INFO= 18.1.12
INSTALL_PROGRAM = ${INSTALL} ${INSTALL_COPY} -m 755 -o $(BINOWN) -g $(BINGRP)
.ifmake includes
@@ -39,7 +39,7 @@ includes: _SUBDIRUSE
@cmp -s ${DESTDIR}${X11BASE}/include/freetype2/freetype/config/ftconfig.h \
${.CURDIR}/builds/unix/ftconfig.h || \
${INSTALL_DATA} ${.CURDIR}/builds/unix/ftconfig.h \
- ${DESTDIR}${X11BASE}/include/freetype2/config/ftconfig.h
+ ${DESTDIR}${X11BASE}/include/freetype2/freetype/config/ftconfig.h
includes-root:
cd ${.CURDIR} && exec ${SUDO} ${MAKE} includes
diff --git a/lib/freetype/README b/lib/freetype/README
index ff2074514..ed62e1dee 100644
--- a/lib/freetype/README
+++ b/lib/freetype/README
@@ -1,5 +1,5 @@
- FreeType 2.6
- ============
+ FreeType 2.6.1
+ ==============
Homepage: http://www.freetype.org
@@ -24,9 +24,9 @@
and download one of the following files.
- freetype-doc-2.6.tar.bz2
- freetype-doc-2.6.tar.gz
- ftdoc26.zip
+ freetype-doc-2.6.1.tar.bz2
+ freetype-doc-2.6.1.tar.gz
+ ftdoc261.zip
To view the documentation online, go to
@@ -42,6 +42,7 @@
general use and discussion: freetype@nongnu.org
engine internals, porting, etc.: freetype-devel@nongnu.org
announcements: freetype-announce@nongnu.org
+ git repository tracker: freetype-commit@nongnu.org
The lists are moderated; see
diff --git a/lib/freetype/autogen.sh b/lib/freetype/autogen.sh
index 9729af42d..8f05b2da7 100644
--- a/lib/freetype/autogen.sh
+++ b/lib/freetype/autogen.sh
@@ -139,7 +139,7 @@ check_tool_version $LIBTOOLIZE libtoolize LIBTOOLIZE 2.2.4
check_tool_version $AUTOCONF autoconf AUTOCONF 2.62
# This sets freetype_major, freetype_minor, and freetype_patch.
-eval `sed -nf version.sed include/freetype.h`
+eval `sed -nf version.sed include/freetype/freetype.h`
# We set freetype-patch to an empty value if it is zero.
if test "$freetype_patch" = ".0"; then
@@ -156,7 +156,6 @@ run aclocal -I . --force
run $LIBTOOLIZE --force --copy --install
run autoconf --force
-chmod +x mkinstalldirs
chmod +x install-sh
cd ../..
diff --git a/lib/freetype/builds/FindHarfBuzz.cmake b/lib/freetype/builds/FindHarfBuzz.cmake
new file mode 100644
index 000000000..8440c7b2b
--- /dev/null
+++ b/lib/freetype/builds/FindHarfBuzz.cmake
@@ -0,0 +1,61 @@
+# Copyright (c) 2012, Intel Corporation
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are met:
+#
+# * Redistributions of source code must retain the above copyright notice, this
+# list of conditions and the following disclaimer.
+# * Redistributions in binary form must reproduce the above copyright notice,
+# this list of conditions and the following disclaimer in the documentation
+# and/or other materials provided with the distribution.
+# * Neither the name of Intel Corporation nor the names of its contributors may
+# be used to endorse or promote products derived from this software without
+# specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+# POSSIBILITY OF SUCH DAMAGE.
+#
+# Try to find Harfbuzz include and library directories.
+#
+# After successful discovery, this will set for inclusion where needed:
+# HARFBUZZ_INCLUDE_DIRS - containg the HarfBuzz headers
+# HARFBUZZ_LIBRARIES - containg the HarfBuzz library
+
+include(FindPkgConfig)
+
+pkg_check_modules(PC_HARFBUZZ harfbuzz>=0.9.7)
+
+find_path(HARFBUZZ_INCLUDE_DIRS NAMES hb.h
+ HINTS ${PC_HARFBUZZ_INCLUDE_DIRS} ${PC_HARFBUZZ_INCLUDEDIR}
+)
+
+find_library(HARFBUZZ_LIBRARIES NAMES harfbuzz
+ HINTS ${PC_HARFBUZZ_LIBRARY_DIRS} ${PC_HARFBUZZ_LIBDIR}
+)
+
+# HarfBuzz 0.9.18 split ICU support into a separate harfbuzz-icu library.
+if ("${PC_HARFBUZZ_VERSION}" VERSION_GREATER "0.9.17")
+ pkg_check_modules(PC_HARFBUZZ_ICU harfbuzz-icu>=0.9.18 REQUIRED)
+ find_library(HARFBUZZ_ICU_LIBRARIES NAMES harfbuzz-icu
+ HINTS ${PC_HARFBUZZ_ICU_LIBRARY_DIRS} ${PC_HARFBUZZ_ICU_LIBDIR}
+ )
+ list(APPEND HARFBUZZ_LIBRARIES "${HARFBUZZ_ICU_LIBRARIES}")
+endif ()
+
+include(FindPackageHandleStandardArgs)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(HarfBuzz DEFAULT_MSG HARFBUZZ_INCLUDE_DIRS HARFBUZZ_LIBRARIES)
+
+mark_as_advanced(
+ HARFBUZZ_ICU_LIBRARIES
+ HARFBUZZ_INCLUDE_DIRS
+ HARFBUZZ_LIBRARIES
+)
diff --git a/lib/freetype/builds/amiga/README b/lib/freetype/builds/amiga/README
index 1a68b107c..d0e5ec5d6 100644
--- a/lib/freetype/builds/amiga/README
+++ b/lib/freetype/builds/amiga/README
@@ -51,8 +51,8 @@ directory. The results are:
- ftdebug.o, an object module containing the standard version of the
debugging code which uses vprintf() and exit() (not pure).
- Debugging can be turned on in FT:include/config/ftoption.h and with
- FT_SetTraceLevel().
+ Debugging can be turned on in FT:include/freetype/config/ftoption.h
+ and with FT_SetTraceLevel().
- ftdebugpure.o, an object module containing the pure version of the
debugging code which uses KVPrintf() from lib:debug.lib and no
@@ -64,14 +64,15 @@ directory. The results are:
ftsystem.o would force ALL FreeType2 modules to be linked to your
program, I decided to use a different scheme: You must #include
FT:src/base/ftinit.c in your sourcecode and specify with #define
- statements which modules you need. See include/config/ftmodule.h.
+ statements which modules you need. See
+ include/freetype/config/ftmodule.h.
To use in your own programs:
- Insert the #define and #include statements from top of
- include/config/ftmodule.h in your source code and uncomment the
- #define statements for the FreeType2 modules you need.
+ include/freetype/config/ftmodule.h in your source code and
+ uncomment the #define statements for the FreeType2 modules you need.
- You can use either PARAMETERS=REGISTER or PARAMETERS=STACK for
calling the FreeType2 functions, because the link library and the
@@ -100,8 +101,8 @@ To adapt to other compilers:
useful for the src directory).
- An example of how to replace/workaround a problematic include file
- is include/config/ftconfig.h; it changes a #define that would
- prevent SAS/C from generating XDEF's where it should do that and
+ is include/freetype/config/ftconfig.h; it changes a #define that
+ would prevent SAS/C from generating XDEF's where it should do that and
then includes the standard FreeType2 include file.
Local Variables:
diff --git a/lib/freetype/builds/amiga/include/config/ftconfig.h b/lib/freetype/builds/amiga/include/config/ftconfig.h
index 790eeec82..5ad8ded0f 100644
--- a/lib/freetype/builds/amiga/include/config/ftconfig.h
+++ b/lib/freetype/builds/amiga/include/config/ftconfig.h
@@ -34,9 +34,9 @@
/* Now include the original file */
#ifndef __MORPHOS__
#ifdef __SASC
-#include "FT:include/config/ftconfig.h"
+#include "FT:include/freetype/config/ftconfig.h"
#else
-#include "/FT/include/config/ftconfig.h"
+#include "/FT/include/freetype/config/ftconfig.h"
#endif
#else
/* We must define that, it seems that
@@ -45,7 +45,7 @@
* binaries from http://www.morphos.de)
*/
#define _LIBC_LIMITS_H_
-#include "/FT/include/config/ftconfig.h"
+#include "/FT/include/freetype/config/ftconfig.h"
#endif
/*
diff --git a/lib/freetype/builds/amiga/makefile b/lib/freetype/builds/amiga/makefile
index bcb45b9ed..038e4686a 100644
--- a/lib/freetype/builds/amiga/makefile
+++ b/lib/freetype/builds/amiga/makefile
@@ -43,7 +43,7 @@
#
# link your programs with libft2_ppc.a and either ftsystem.ppc.o or ftsystempure.ppc.o
# (and either ftdebug.ppc.o or ftdebugpure.ppc.o if you enabled FT_DEBUG_LEVEL_ERROR or
-# FT_DEBUG_LEVEL_TRACE in include/config/ftoption.h).
+# FT_DEBUG_LEVEL_TRACE in include/freetype/config/ftoption.h).
all: libft2_ppc.a ftsystem.ppc.o ftsystempure.ppc.o
diff --git a/lib/freetype/builds/amiga/makefile.os4 b/lib/freetype/builds/amiga/makefile.os4
index 481fe5950..b7930558e 100644
--- a/lib/freetype/builds/amiga/makefile.os4
+++ b/lib/freetype/builds/amiga/makefile.os4
@@ -40,7 +40,7 @@
#
# link your programs with libft2_ppc.a and either ftsystem.ppc.o or ftsystempure.ppc.o
# (and either ftdebug.ppc.o or ftdebugpure.ppc.o if you enabled FT_DEBUG_LEVEL_ERROR or
-# FT_DEBUG_LEVEL_TRACE in include/config/ftoption.h).
+# FT_DEBUG_LEVEL_TRACE in include/freetype/config/ftoption.h).
all: assign libft2_ppc.a ftsystem.ppc.o ftsystempure.ppc.o
diff --git a/lib/freetype/builds/amiga/smakefile b/lib/freetype/builds/amiga/smakefile
index 156beb29f..145b1ad6e 100644
--- a/lib/freetype/builds/amiga/smakefile
+++ b/lib/freetype/builds/amiga/smakefile
@@ -40,7 +40,7 @@
#
# link your programs with ft2_680x0.lib and either ftsystem.o or ftsystempure.o
# (and either ftdebug.o or ftdebugpure.o if you enabled FT_DEBUG_LEVEL_ERROR or
-# FT_DEBUG_LEVEL_TRACE in include/config/ftoption.h).
+# FT_DEBUG_LEVEL_TRACE in include/freetype/config/ftoption.h).
OBJBASE = ftbase.o ftbbox.o ftbdf.o ftbitmap.o ftcid.o ftfntfmt.o ftfstype.o \
ftgasp.o ftglyph.o ftgxval.o ftlcdfil.o ftmm.o ftotval.o \
diff --git a/lib/freetype/builds/amiga/src/base/ftdebug.c b/lib/freetype/builds/amiga/src/base/ftdebug.c
index 891a597ae..14c353e3c 100644
--- a/lib/freetype/builds/amiga/src/base/ftdebug.c
+++ b/lib/freetype/builds/amiga/src/base/ftdebug.c
@@ -176,7 +176,7 @@
/* the memory and stream components which are set to 7 and 5, */
/* respectively. */
/* */
- /* See the file <include/internal/fttrace.h> for details of the */
+ /* See the file `include/freetype/internal/fttrace.h' for details of the */
/* available toggle names. */
/* */
/* The level must be between 0 and 7; 0 means quiet (except for serious */
diff --git a/lib/freetype/builds/freetype.mk b/lib/freetype/builds/freetype.mk
index 5ea13f058..1cc7e29bc 100644
--- a/lib/freetype/builds/freetype.mk
+++ b/lib/freetype/builds/freetype.mk
@@ -97,7 +97,7 @@ BASE_DIR := $(SRC_DIR)/base
# Other derived directories.
#
-PUBLIC_DIR := $(TOP_DIR)/include
+PUBLIC_DIR := $(TOP_DIR)/include/freetype
INTERNAL_DIR := $(PUBLIC_DIR)/internal
SERVICES_DIR := $(INTERNAL_DIR)/services
CONFIG_DIR := $(PUBLIC_DIR)/config
diff --git a/lib/freetype/builds/symbian/bld.inf b/lib/freetype/builds/symbian/bld.inf
index d3637f238..b5aeb1e5b 100644
--- a/lib/freetype/builds/symbian/bld.inf
+++ b/lib/freetype/builds/symbian/bld.inf
@@ -18,49 +18,49 @@ PRJ_MMPFILES
freetype.mmp
PRJ_EXPORTS
-../../include/ft2build.h
-../../include/config/ftconfig.h config/ftconfig.h
-../../include/config/ftheader.h config/ftheader.h
-../../include/config/ftmodule.h config/ftmodule.h
-../../include/config/ftoption.h config/ftoption.h
-../../include/config/ftstdlib.h config/ftstdlib.h
-../../include/freetype.h freetype.h
-../../include/ftbbox.h ftbbox.h
-../../include/ftbdf.h ftbdf.h
-../../include/ftbitmap.h ftbitmap.h
-../../include/ftcache.h ftcache.h
-../../include/ftcid.h ftcid.h
-../../include/fterrdef.h fterrdef.h
-../../include/fterrors.h fterrors.h
-../../include/ftfntfmt.h ftfntfmt.h
-../../include/ftgasp.h ftgasp.h
-../../include/ftglyph.h ftglyph.h
-../../include/ftgxval.h ftgxval.h
-../../include/ftgzip.h ftgzip.h
-../../include/ftbzip2.h ftbzip2.h
-../../include/ftimage.h ftimage.h
-../../include/ftincrem.h ftincrem.h
-../../include/ftlcdfil.h ftlcdfil.h
-../../include/ftlist.h ftlist.h
-../../include/ftlzw.h ftlzw.h
-../../include/ftmac.h ftmac.h
-../../include/ftmm.h ftmm.h
-../../include/ftmodapi.h ftmodapi.h
-../../include/ftmoderr.h ftmoderr.h
-../../include/ftotval.h ftotval.h
-../../include/ftoutln.h ftoutln.h
-../../include/ftpfr.h ftpfr.h
-../../include/ftrender.h ftrender.h
-../../include/ftsizes.h ftsizes.h
-../../include/ftsnames.h ftsnames.h
-../../include/ftstroke.h ftstroke.h
-../../include/ftsynth.h ftsynth.h
-../../include/ftsystem.h ftsystem.h
-../../include/fttrigon.h fttrigon.h
-../../include/fttypes.h fttypes.h
-../../include/ftwinfnt.h ftwinfnt.h
-../../include/t1tables.h t1tables.h
-../../include/ttnameid.h ttnameid.h
-../../include/tttables.h tttables.h
-../../include/tttags.h tttags.h
-../../include/ttunpat.h ttunpat.h
+../../include/freetype/ft2build.h
+../../include/freetype/config/ftconfig.h config/ftconfig.h
+../../include/freetype/config/ftheader.h config/ftheader.h
+../../include/freetype/config/ftmodule.h config/ftmodule.h
+../../include/freetype/config/ftoption.h config/ftoption.h
+../../include/freetype/config/ftstdlib.h config/ftstdlib.h
+../../include/freetype/freetype.h freetype.h
+../../include/freetype/ftbbox.h ftbbox.h
+../../include/freetype/ftbdf.h ftbdf.h
+../../include/freetype/ftbitmap.h ftbitmap.h
+../../include/freetype/ftcache.h ftcache.h
+../../include/freetype/ftcid.h ftcid.h
+../../include/freetype/fterrdef.h fterrdef.h
+../../include/freetype/fterrors.h fterrors.h
+../../include/freetype/ftfntfmt.h ftfntfmt.h
+../../include/freetype/ftgasp.h ftgasp.h
+../../include/freetype/ftglyph.h ftglyph.h
+../../include/freetype/ftgxval.h ftgxval.h
+../../include/freetype/ftgzip.h ftgzip.h
+../../include/freetype/ftbzip2.h ftbzip2.h
+../../include/freetype/ftimage.h ftimage.h
+../../include/freetype/ftincrem.h ftincrem.h
+../../include/freetype/ftlcdfil.h ftlcdfil.h
+../../include/freetype/ftlist.h ftlist.h
+../../include/freetype/ftlzw.h ftlzw.h
+../../include/freetype/ftmac.h ftmac.h
+../../include/freetype/ftmm.h ftmm.h
+../../include/freetype/ftmodapi.h ftmodapi.h
+../../include/freetype/ftmoderr.h ftmoderr.h
+../../include/freetype/ftotval.h ftotval.h
+../../include/freetype/ftoutln.h ftoutln.h
+../../include/freetype/ftpfr.h ftpfr.h
+../../include/freetype/ftrender.h ftrender.h
+../../include/freetype/ftsizes.h ftsizes.h
+../../include/freetype/ftsnames.h ftsnames.h
+../../include/freetype/ftstroke.h ftstroke.h
+../../include/freetype/ftsynth.h ftsynth.h
+../../include/freetype/ftsystem.h ftsystem.h
+../../include/freetype/fttrigon.h fttrigon.h
+../../include/freetype/fttypes.h fttypes.h
+../../include/freetype/ftwinfnt.h ftwinfnt.h
+../../include/freetype/t1tables.h t1tables.h
+../../include/freetype/ttnameid.h ttnameid.h
+../../include/freetype/tttables.h tttables.h
+../../include/freetype/tttags.h tttags.h
+../../include/freetype/ttunpat.h ttunpat.h
diff --git a/lib/freetype/builds/toplevel.mk b/lib/freetype/builds/toplevel.mk
index 9fe364db5..243c11330 100644
--- a/lib/freetype/builds/toplevel.mk
+++ b/lib/freetype/builds/toplevel.mk
@@ -172,7 +172,7 @@ include $(TOP_DIR)/builds/modules.mk
# get FreeType version string, using a
# poor man's `sed' emulation with make's built-in string functions
#
-work := $(strip $(shell $(CAT) $(TOP_DIR)/include/freetype.h))
+work := $(strip $(shell $(CAT) $(TOP_DIR)/include/freetype/freetype.h))
work := $(subst |,x,$(work))
work := $(subst $(space),|,$(work))
work := $(subst \#define|FREETYPE_MAJOR|,$(space),$(work))
diff --git a/lib/freetype/builds/unix/config.guess b/lib/freetype/builds/unix/config.guess
index f7eb141e7..16592509d 100644
--- a/lib/freetype/builds/unix/config.guess
+++ b/lib/freetype/builds/unix/config.guess
@@ -2,7 +2,7 @@
# Attempt to guess a canonical system name.
# Copyright 1992-2015 Free Software Foundation, Inc.
-timestamp='2015-03-04'
+timestamp='2015-08-20'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
@@ -221,7 +221,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
release='-gnu'
;;
*)
- release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
+ release=`echo ${UNAME_RELEASE} | sed -e 's/[-_].*//' | cut -d. -f1,2`
;;
esac
# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
@@ -249,6 +249,9 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
*:MirBSD:*:*)
echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
exit ;;
+ *:Sortix:*:*)
+ echo ${UNAME_MACHINE}-unknown-sortix
+ exit ;;
alpha:OSF1:*:*)
case $UNAME_RELEASE in
*4.0)
@@ -1038,7 +1041,7 @@ EOF
echo ${UNAME_MACHINE}-dec-linux-${LIBC}
exit ;;
x86_64:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ echo ${UNAME_MACHINE}-pc-linux-${LIBC}
exit ;;
xtensa*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
diff --git a/lib/freetype/builds/unix/config.sub b/lib/freetype/builds/unix/config.sub
index 8f1229c6f..1acc966a3 100644
--- a/lib/freetype/builds/unix/config.sub
+++ b/lib/freetype/builds/unix/config.sub
@@ -2,7 +2,7 @@
# Configuration validation subroutine script.
# Copyright 1992-2015 Free Software Foundation, Inc.
-timestamp='2015-03-08'
+timestamp='2015-08-20'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
@@ -255,6 +255,7 @@ case $basic_machine in
| arc | arceb \
| arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
| avr | avr32 \
+ | ba \
| be32 | be64 \
| bfin \
| c4x | c8051 | clipper \
@@ -305,7 +306,7 @@ case $basic_machine in
| riscv32 | riscv64 \
| rl78 | rx \
| score \
- | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
+ | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
| sh64 | sh64le \
| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
@@ -376,6 +377,7 @@ case $basic_machine in
| alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \
| arm-* | armbe-* | armle-* | armeb-* | armv*-* \
| avr-* | avr32-* \
+ | ba-* \
| be32-* | be64-* \
| bfin-* | bs2000-* \
| c[123]* | c30-* | [cjt]90-* | c4x-* \
@@ -428,12 +430,13 @@ case $basic_machine in
| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
| pyramid-* \
+ | riscv32-* | riscv64-* \
| rl78-* | romp-* | rs6000-* | rx-* \
| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
| sparclite-* \
- | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
+ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \
| tahoe-* \
| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
| tile*-* \
@@ -1376,7 +1379,7 @@ case $os in
| -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
| -sym* | -kopensolaris* | -plan9* \
| -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
- | -aos* | -aros* | -cloudabi* \
+ | -aos* | -aros* | -cloudabi* | -sortix* \
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
| -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
| -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
diff --git a/lib/freetype/builds/unix/configure b/lib/freetype/builds/unix/configure
index 919d38e65..9b729c072 100644
--- a/lib/freetype/builds/unix/configure
+++ b/lib/freetype/builds/unix/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for FreeType 2.6.
+# Generated by GNU Autoconf 2.69 for FreeType 2.6.1.
#
# Report bugs to <freetype@nongnu.org>.
#
@@ -590,8 +590,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='FreeType'
PACKAGE_TARNAME='freetype'
-PACKAGE_VERSION='2.6'
-PACKAGE_STRING='FreeType 2.6'
+PACKAGE_VERSION='2.6.1'
+PACKAGE_STRING='FreeType 2.6.1'
PACKAGE_BUGREPORT='freetype@nongnu.org'
PACKAGE_URL=''
@@ -653,10 +653,10 @@ ZLIB_CFLAGS
XX_ANSIFLAGS
XX_CFLAGS
FTSYS_SRC
+MKDIR_P
INSTALL_DATA
INSTALL_SCRIPT
INSTALL_PROGRAM
-RMDIR
EXEEXT_BUILD
CC_BUILD
LT_SYS_LIBRARY_PATH
@@ -1328,7 +1328,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures FreeType 2.6 to adapt to many kinds of systems.
+\`configure' configures FreeType 2.6.1 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1393,7 +1393,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of FreeType 2.6:";;
+ short | recursive ) echo "Configuration of FreeType 2.6.1:";;
esac
cat <<\_ACEOF
@@ -1539,7 +1539,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-FreeType configure 2.6
+FreeType configure 2.6.1
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2137,7 +2137,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by FreeType $as_me 2.6, which was
+It was created by FreeType $as_me 2.6.1, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -2493,7 +2493,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
# Don't forget to update docs/VERSION.DLL!
-version_info='18:0:12'
+version_info='18:1:12'
ft_version=`echo $version_info | tr : .`
@@ -12005,49 +12005,8 @@ fi
-# auxiliary programs
-
-# Extract the first word of "rmdir", so it can be a program name with args.
-set dummy rmdir; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_RMDIR+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$RMDIR"; then
- ac_cv_prog_RMDIR="$RMDIR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_RMDIR="rmdir"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-RMDIR=$ac_cv_prog_RMDIR
-if test -n "$RMDIR"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RMDIR" >&5
-$as_echo "$RMDIR" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-
-
# Since this file will be finally moved to another directory we make
-# the path of the install script absolute. This small code snippet has
+# the path of the install scripts absolute. This small code snippet has
# been taken from automake's `ylwrap' script.
# Find a good install program. We prefer a C program (faster),
@@ -12144,13 +12103,63 @@ test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
case "$INSTALL" in
-/*)
+\\/* | ?:\\/*)
;;
-*/*)
+*\\/*)
INSTALL="`pwd`/$INSTALL"
;;
esac
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5
+$as_echo_n "checking for a thread-safe mkdir -p... " >&6; }
+if test -z "$MKDIR_P"; then
+ if ${ac_cv_path_mkdir+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_prog in mkdir gmkdir; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext" || continue
+ case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(
+ 'mkdir (GNU coreutils) '* | \
+ 'mkdir (coreutils) '* | \
+ 'mkdir (fileutils) '4.1*)
+ ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext
+ break 3;;
+ esac
+ done
+ done
+ done
+IFS=$as_save_IFS
+
+fi
+
+ test -d ./--version && rmdir ./--version
+ if test "${ac_cv_path_mkdir+set}" = set; then
+ MKDIR_P="$ac_cv_path_mkdir -p"
+ else
+ # As a last resort, use the slow shell script. Don't cache a
+ # value for MKDIR_P within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the value is a relative name.
+ MKDIR_P="$ac_install_sh -d"
+ fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5
+$as_echo "$MKDIR_P" >&6; }
+
+case "$MKDIR_P" in
+\\/* | ?:\\/*)
+ ;;
+*\\/*)
+ MKDIR_P="`pwd`/$MKDIR_P"
+ ;;
+esac
+
# checks for header files
@@ -12895,10 +12904,10 @@ fi
# or a config script is called (libpng).
#
# The `xxx_reqpriv' variables are for the `Requires.private' field in
-# `freetype2.pc'. The `xxx_libpriv' variables are for the `Libs.private'
+# `freetype2.pc'. The `xxx_libspriv' variables are for the `Libs.private'
# field in `freetype2.pc' if pkg-config doesn't find a proper .pc file.
#
-# The `xxx_libstaticconf' variables are for the `freetype-config' script.
+# The `xxx_libsstaticconf' variables are for the `freetype-config' script.
#
# Note that a call to PKG_CHECK_MODULES(XXX, ...) sets and creates the
# output variables `XXX_CFLAGS' and `XXX_LIBS'. In case one or both are set
@@ -13007,15 +13016,15 @@ fi
if test $have_zlib_pkg = yes; then
# we have zlib.pc
zlib_reqpriv="$zlib_pkg"
- zlib_libpriv=
- zlib_libstaticconf=`$PKG_CONFIG --static --libs "$zlib_pkg"`
+ zlib_libspriv=
+ zlib_libsstaticconf=`$PKG_CONFIG --static --libs "$zlib_pkg"`
else
zlib_reqpriv=
if test "$have_zlib" != no; then
# ZLIB_CFLAGS and ZLIB_LIBS are set by the user
- zlib_libpriv="$ZLIB_LIBS"
- zlib_libstaticconf="$ZLIB_LIBS"
+ zlib_libspriv="$ZLIB_LIBS"
+ zlib_libsstaticconf="$ZLIB_LIBS"
have_zlib="yes (ZLIB_CFLAGS and ZLIB_LIBS)"
else
# fall back to standard autoconf test
@@ -13059,9 +13068,9 @@ if test "x$ac_cv_lib_z_gzsetparams" = xyes; then :
ac_fn_c_check_header_mongrel "$LINENO" "zlib.h" "ac_cv_header_zlib_h" "$ac_includes_default"
if test "x$ac_cv_header_zlib_h" = xyes; then :
have_zlib="yes (autoconf test)"
- zlib_libpriv="-lz"
- zlib_libstaticconf="$zlib_libpriv"
- ZLIB_LIBS="$zlib_libpriv"
+ zlib_libspriv="-lz"
+ zlib_libsstaticconf="$zlib_libspriv"
+ ZLIB_LIBS="$zlib_libspriv"
fi
@@ -13177,15 +13186,15 @@ fi
if test $have_bzip2_pkg = yes; then
# we have bzip2.pc
bzip2_reqpriv="$bzip2_pkg"
- bzip2_libpriv=
- bzip2_libstaticconf=`$PKG_CONFIG --static --libs "$bzip2_pkg"`
+ bzip2_libspriv=
+ bzip2_libsstaticconf=`$PKG_CONFIG --static --libs "$bzip2_pkg"`
else
bzip2_reqpriv=
if test "$have_bzip2" != no; then
# BZIP2_CFLAGS and BZIP2_LIBS are set by the user
- bzip2_libpriv="$BZIP2_LIBS"
- bzip2_libstaticconf="$BZIP2_LIBS"
+ bzip2_libspriv="$BZIP2_LIBS"
+ bzip2_libsstaticconf="$BZIP2_LIBS"
have_bzip2="yes (BZIP2_CFLAGS and BZIP2_LIBS)"
else
# fall back to standard autoconf test
@@ -13229,9 +13238,9 @@ if test "x$ac_cv_lib_bz2_BZ2_bzDecompress" = xyes; then :
ac_fn_c_check_header_mongrel "$LINENO" "bzlib.h" "ac_cv_header_bzlib_h" "$ac_includes_default"
if test "x$ac_cv_header_bzlib_h" = xyes; then :
have_bzip2="yes (autoconf test)"
- bzip2_libpriv="-lbz2"
- bzip2_libstaticconf="$bzip2_libpriv"
- BZIP2_LIBS="$bzip2_libpriv"
+ bzip2_libspriv="-lbz2"
+ bzip2_libsstaticconf="$bzip2_libspriv"
+ BZIP2_LIBS="$bzip2_libspriv"
fi
@@ -13347,15 +13356,15 @@ fi
if test $have_libpng_pkg = yes; then
# we have libpng.pc
libpng_reqpriv="$libpng_pkg"
- libpng_libpriv=
- libpng_libstaticconf=`$PKG_CONFIG --static --libs "$libpng_pkg"`
+ libpng_libspriv=
+ libpng_libsstaticconf=`$PKG_CONFIG --static --libs "$libpng_pkg"`
else
libpng_reqpriv=
if test "$have_libpng" != no; then
# LIBPNG_CFLAGS and LIBPNG_LIBS are set by the user
- libpng_libpriv="$LIBPNG_LIBS"
- libpng_libstaticconf="$LIBPNG_LIBS"
+ libpng_libspriv="$LIBPNG_LIBS"
+ libpng_libsstaticconf="$LIBPNG_LIBS"
have_libpng="yes (LIBPNG_CFLAGS and LIBPNG_LIBS)"
else
# fall back to config script.
@@ -13364,8 +13373,8 @@ $as_echo_n "checking for libpng-config... " >&6; }
if which libpng-config > /dev/null 2>&1; then
LIBPNG_CFLAGS=`libpng-config --cflags`
LIBPNG_LIBS=`libpng-config --ldflags`
- libpng_libpriv=`libpng-config --static --ldflags`
- libpng_libstaticconf="$libpng_libpriv"
+ libpng_libspriv=`libpng-config --static --ldflags`
+ libpng_libsstaticconf="$libpng_libspriv"
have_libpng="yes (libpng-config)"
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
@@ -13395,7 +13404,7 @@ fi
have_harfbuzz=no
if test x"$with_harfbuzz" = xyes -o x"$with_harfbuzz" = xauto; then
- harfbuzz_pkg="harfbuzz >= 0.9.19"
+ harfbuzz_pkg="harfbuzz >= 0.9.21"
have_harfbuzz_pkg=no
if test x"$HARFBUZZ_CFLAGS" = x -a x"$HARFBUZZ_LIBS" = x; then
@@ -13483,15 +13492,15 @@ fi
if test $have_harfbuzz_pkg = yes; then
# we have harfbuzz.pc
harfbuzz_reqpriv="$harfbuzz_pkg"
- harfbuzz_libpriv=
- harfbuzz_libstaticconf=`$PKG_CONFIG --static --libs "$harfbuzz_pkg"`
+ harfbuzz_libspriv=
+ harfbuzz_libsstaticconf=`$PKG_CONFIG --static --libs "$harfbuzz_pkg"`
else
harfbuzz_reqpriv=
if test "$have_harfbuzz" != no; then
# HARFBUZZ_CFLAGS and HARFBUZZ_LIBS are set by the user
- harfbuzz_libpriv="$HARFBUZZ_LIBS"
- harfbuzz_libstaticconf="$HARFBUZZ_LIBS"
+ harfbuzz_libspriv="$HARFBUZZ_LIBS"
+ harfbuzz_libsstaticconf="$HARFBUZZ_LIBS"
have_harfbuzz="yes (HARFBUZZ_CFLAGS and HARFBUZZ_LIBS)"
else
# since HarfBuzz is quite a new library we don't fall back to a
@@ -14099,10 +14108,10 @@ REQUIRES_PRIVATE=`echo "$REQUIRES_PRIVATE" \
-e 's/,*$//' \
-e 's/,/, /g'`
-LIBS_PRIVATE="$zlib_libpriv \
- $bzip2_libpriv \
- $libpng_libpriv \
- $harfbuzz_libpriv \
+LIBS_PRIVATE="$zlib_libspriv \
+ $bzip2_libspriv \
+ $libpng_libspriv \
+ $harfbuzz_libspriv \
$ft2_extra_libs"
# beautify
LIBS_PRIVATE=`echo "$LIBS_PRIVATE" \
@@ -14110,11 +14119,11 @@ LIBS_PRIVATE=`echo "$LIBS_PRIVATE" \
-e 's/ *$//' \
-e 's/ */ /g'`
-LIBSSTATIC_CONFIG="-lfreetype \
- $zlib_libstaticconf \
- $bzip2_libstaticconf \
- $libpng_libstaticconf \
- $harfbuzz_libstaticconf \
+LIBSSTATIC_CONFIG="-lfreetype \
+ $zlib_libsstaticconf \
+ $bzip2_libsstaticconf \
+ $libpng_libsstaticconf \
+ $harfbuzz_libsstaticconf \
$ft2_extra_libs"
# remove -L/usr/lib and -L/usr/lib64 since `freetype-config' adds them later
# on if necessary; also beautify
@@ -14684,7 +14693,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by FreeType $as_me 2.6, which was
+This file was extended by FreeType $as_me 2.6.1, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -14750,7 +14759,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-FreeType config.status 2.6
+FreeType config.status 2.6.1
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
@@ -14761,6 +14770,7 @@ gives unlimited permission to copy, distribute and modify it."
ac_pwd='$ac_pwd'
srcdir='$srcdir'
INSTALL='$INSTALL'
+MKDIR_P='$MKDIR_P'
AWK='$AWK'
test -n "\$AWK" || AWK=awk
_ACEOF
@@ -15614,6 +15624,11 @@ ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
[\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
*) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
esac
+ ac_MKDIR_P=$MKDIR_P
+ case $MKDIR_P in
+ [\\/$]* | ?:[\\/]* ) ;;
+ */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;;
+ esac
_ACEOF
cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
@@ -15668,6 +15683,7 @@ s&@builddir@&$ac_builddir&;t t
s&@abs_builddir@&$ac_abs_builddir&;t t
s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
s&@INSTALL@&$ac_INSTALL&;t t
+s&@MKDIR_P@&$ac_MKDIR_P&;t t
$ac_datarootdir_hack
"
eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
diff --git a/lib/freetype/builds/unix/configure.ac b/lib/freetype/builds/unix/configure.ac
index d69a62655..54470ecc2 100644
--- a/lib/freetype/builds/unix/configure.ac
+++ b/lib/freetype/builds/unix/configure.ac
@@ -11,13 +11,13 @@
# indicate that you have read the license and understand and accept it
# fully.
-AC_INIT([FreeType], [2.6], [freetype@nongnu.org], [freetype])
+AC_INIT([FreeType], [2.6.1], [freetype@nongnu.org], [freetype])
AC_CONFIG_SRCDIR([ftconfig.in])
# Don't forget to update docs/VERSION.DLL!
-version_info='18:0:12'
+version_info='18:1:12'
AC_SUBST([version_info])
ft_version=`echo $version_info | tr : .`
AC_SUBST([ft_version])
@@ -70,24 +70,28 @@ AC_SUBST(CC_BUILD)
AC_SUBST(EXEEXT_BUILD)
-# auxiliary programs
-
-AC_CHECK_PROG([RMDIR], [rmdir], [rmdir])
-
-
# Since this file will be finally moved to another directory we make
-# the path of the install script absolute. This small code snippet has
+# the path of the install scripts absolute. This small code snippet has
# been taken from automake's `ylwrap' script.
AC_PROG_INSTALL
case "$INSTALL" in
-/*)
+[\\/]* | ?:[\\/]*)
;;
-*/*)
+*[\\/]*)
INSTALL="`pwd`/$INSTALL"
;;
esac
+AC_PROG_MKDIR_P
+case "$MKDIR_P" in
+[\\/]* | ?:[\\/]*)
+ ;;
+*[\\/]*)
+ MKDIR_P="`pwd`/$MKDIR_P"
+ ;;
+esac
+
# checks for header files
@@ -294,10 +298,10 @@ AC_SUBST([XX_ANSIFLAGS])
# or a config script is called (libpng).
#
# The `xxx_reqpriv' variables are for the `Requires.private' field in
-# `freetype2.pc'. The `xxx_libpriv' variables are for the `Libs.private'
+# `freetype2.pc'. The `xxx_libspriv' variables are for the `Libs.private'
# field in `freetype2.pc' if pkg-config doesn't find a proper .pc file.
#
-# The `xxx_libstaticconf' variables are for the `freetype-config' script.
+# The `xxx_libsstaticconf' variables are for the `freetype-config' script.
#
# Note that a call to PKG_CHECK_MODULES(XXX, ...) sets and creates the
# output variables `XXX_CFLAGS' and `XXX_LIBS'. In case one or both are set
@@ -326,15 +330,15 @@ if test x"$with_zlib" = xyes -o x"$with_zlib" = xauto; then
if test $have_zlib_pkg = yes; then
# we have zlib.pc
zlib_reqpriv="$zlib_pkg"
- zlib_libpriv=
- zlib_libstaticconf=`$PKG_CONFIG --static --libs "$zlib_pkg"`
+ zlib_libspriv=
+ zlib_libsstaticconf=`$PKG_CONFIG --static --libs "$zlib_pkg"`
else
zlib_reqpriv=
if test "$have_zlib" != no; then
# ZLIB_CFLAGS and ZLIB_LIBS are set by the user
- zlib_libpriv="$ZLIB_LIBS"
- zlib_libstaticconf="$ZLIB_LIBS"
+ zlib_libspriv="$ZLIB_LIBS"
+ zlib_libsstaticconf="$ZLIB_LIBS"
have_zlib="yes (ZLIB_CFLAGS and ZLIB_LIBS)"
else
# fall back to standard autoconf test
@@ -342,9 +346,9 @@ if test x"$with_zlib" = xyes -o x"$with_zlib" = xauto; then
[gzsetparams],
[AC_CHECK_HEADER([zlib.h],
[have_zlib="yes (autoconf test)"
- zlib_libpriv="-lz"
- zlib_libstaticconf="$zlib_libpriv"
- ZLIB_LIBS="$zlib_libpriv"])])
+ zlib_libspriv="-lz"
+ zlib_libsstaticconf="$zlib_libspriv"
+ ZLIB_LIBS="$zlib_libspriv"])])
fi
fi
fi
@@ -375,15 +379,15 @@ if test x"$with_bzip2" = xyes -o x"$with_bzip2" = xauto; then
if test $have_bzip2_pkg = yes; then
# we have bzip2.pc
bzip2_reqpriv="$bzip2_pkg"
- bzip2_libpriv=
- bzip2_libstaticconf=`$PKG_CONFIG --static --libs "$bzip2_pkg"`
+ bzip2_libspriv=
+ bzip2_libsstaticconf=`$PKG_CONFIG --static --libs "$bzip2_pkg"`
else
bzip2_reqpriv=
if test "$have_bzip2" != no; then
# BZIP2_CFLAGS and BZIP2_LIBS are set by the user
- bzip2_libpriv="$BZIP2_LIBS"
- bzip2_libstaticconf="$BZIP2_LIBS"
+ bzip2_libspriv="$BZIP2_LIBS"
+ bzip2_libsstaticconf="$BZIP2_LIBS"
have_bzip2="yes (BZIP2_CFLAGS and BZIP2_LIBS)"
else
# fall back to standard autoconf test
@@ -391,9 +395,9 @@ if test x"$with_bzip2" = xyes -o x"$with_bzip2" = xauto; then
[BZ2_bzDecompress],
[AC_CHECK_HEADER([bzlib.h],
[have_bzip2="yes (autoconf test)"
- bzip2_libpriv="-lbz2"
- bzip2_libstaticconf="$bzip2_libpriv"
- BZIP2_LIBS="$bzip2_libpriv"])])
+ bzip2_libspriv="-lbz2"
+ bzip2_libsstaticconf="$bzip2_libspriv"
+ BZIP2_LIBS="$bzip2_libspriv"])])
fi
fi
fi
@@ -424,15 +428,15 @@ if test x"$with_png" = xyes -o x"$with_png" = xauto; then
if test $have_libpng_pkg = yes; then
# we have libpng.pc
libpng_reqpriv="$libpng_pkg"
- libpng_libpriv=
- libpng_libstaticconf=`$PKG_CONFIG --static --libs "$libpng_pkg"`
+ libpng_libspriv=
+ libpng_libsstaticconf=`$PKG_CONFIG --static --libs "$libpng_pkg"`
else
libpng_reqpriv=
if test "$have_libpng" != no; then
# LIBPNG_CFLAGS and LIBPNG_LIBS are set by the user
- libpng_libpriv="$LIBPNG_LIBS"
- libpng_libstaticconf="$LIBPNG_LIBS"
+ libpng_libspriv="$LIBPNG_LIBS"
+ libpng_libsstaticconf="$LIBPNG_LIBS"
have_libpng="yes (LIBPNG_CFLAGS and LIBPNG_LIBS)"
else
# fall back to config script.
@@ -440,8 +444,8 @@ if test x"$with_png" = xyes -o x"$with_png" = xauto; then
if which libpng-config > /dev/null 2>&1; then
LIBPNG_CFLAGS=`libpng-config --cflags`
LIBPNG_LIBS=`libpng-config --ldflags`
- libpng_libpriv=`libpng-config --static --ldflags`
- libpng_libstaticconf="$libpng_libpriv"
+ libpng_libspriv=`libpng-config --static --ldflags`
+ libpng_libsstaticconf="$libpng_libspriv"
have_libpng="yes (libpng-config)"
AC_MSG_RESULT([yes])
else
@@ -465,7 +469,7 @@ AC_ARG_WITH([harfbuzz],
have_harfbuzz=no
if test x"$with_harfbuzz" = xyes -o x"$with_harfbuzz" = xauto; then
- harfbuzz_pkg="harfbuzz >= 0.9.19"
+ harfbuzz_pkg="harfbuzz >= 0.9.21"
have_harfbuzz_pkg=no
if test x"$HARFBUZZ_CFLAGS" = x -a x"$HARFBUZZ_LIBS" = x; then
@@ -477,15 +481,15 @@ if test x"$with_harfbuzz" = xyes -o x"$with_harfbuzz" = xauto; then
if test $have_harfbuzz_pkg = yes; then
# we have harfbuzz.pc
harfbuzz_reqpriv="$harfbuzz_pkg"
- harfbuzz_libpriv=
- harfbuzz_libstaticconf=`$PKG_CONFIG --static --libs "$harfbuzz_pkg"`
+ harfbuzz_libspriv=
+ harfbuzz_libsstaticconf=`$PKG_CONFIG --static --libs "$harfbuzz_pkg"`
else
harfbuzz_reqpriv=
if test "$have_harfbuzz" != no; then
# HARFBUZZ_CFLAGS and HARFBUZZ_LIBS are set by the user
- harfbuzz_libpriv="$HARFBUZZ_LIBS"
- harfbuzz_libstaticconf="$HARFBUZZ_LIBS"
+ harfbuzz_libspriv="$HARFBUZZ_LIBS"
+ harfbuzz_libsstaticconf="$HARFBUZZ_LIBS"
have_harfbuzz="yes (HARFBUZZ_CFLAGS and HARFBUZZ_LIBS)"
else
# since HarfBuzz is quite a new library we don't fall back to a
@@ -926,10 +930,10 @@ REQUIRES_PRIVATE=`echo "$REQUIRES_PRIVATE" \
-e 's/,*$//' \
-e 's/,/, /g'`
-LIBS_PRIVATE="$zlib_libpriv \
- $bzip2_libpriv \
- $libpng_libpriv \
- $harfbuzz_libpriv \
+LIBS_PRIVATE="$zlib_libspriv \
+ $bzip2_libspriv \
+ $libpng_libspriv \
+ $harfbuzz_libspriv \
$ft2_extra_libs"
# beautify
LIBS_PRIVATE=`echo "$LIBS_PRIVATE" \
@@ -937,11 +941,11 @@ LIBS_PRIVATE=`echo "$LIBS_PRIVATE" \
-e 's/ *$//' \
-e 's/ */ /g'`
-LIBSSTATIC_CONFIG="-lfreetype \
- $zlib_libstaticconf \
- $bzip2_libstaticconf \
- $libpng_libstaticconf \
- $harfbuzz_libstaticconf \
+LIBSSTATIC_CONFIG="-lfreetype \
+ $zlib_libsstaticconf \
+ $bzip2_libsstaticconf \
+ $libpng_libsstaticconf \
+ $harfbuzz_libsstaticconf \
$ft2_extra_libs"
# remove -L/usr/lib and -L/usr/lib64 since `freetype-config' adds them later
# on if necessary; also beautify
diff --git a/lib/freetype/builds/unix/configure.raw b/lib/freetype/builds/unix/configure.raw
index b828bf095..5a30c653c 100644
--- a/lib/freetype/builds/unix/configure.raw
+++ b/lib/freetype/builds/unix/configure.raw
@@ -17,7 +17,7 @@ AC_CONFIG_SRCDIR([ftconfig.in])
# Don't forget to update docs/VERSION.DLL!
-version_info='18:0:12'
+version_info='18:1:12'
AC_SUBST([version_info])
ft_version=`echo $version_info | tr : .`
AC_SUBST([ft_version])
@@ -70,24 +70,28 @@ AC_SUBST(CC_BUILD)
AC_SUBST(EXEEXT_BUILD)
-# auxiliary programs
-
-AC_CHECK_PROG([RMDIR], [rmdir], [rmdir])
-
-
# Since this file will be finally moved to another directory we make
-# the path of the install script absolute. This small code snippet has
+# the path of the install scripts absolute. This small code snippet has
# been taken from automake's `ylwrap' script.
AC_PROG_INSTALL
case "$INSTALL" in
-/*)
+[\\/]* | ?:[\\/]*)
;;
-*/*)
+*[\\/]*)
INSTALL="`pwd`/$INSTALL"
;;
esac
+AC_PROG_MKDIR_P
+case "$MKDIR_P" in
+[\\/]* | ?:[\\/]*)
+ ;;
+*[\\/]*)
+ MKDIR_P="`pwd`/$MKDIR_P"
+ ;;
+esac
+
# checks for header files
@@ -294,10 +298,10 @@ AC_SUBST([XX_ANSIFLAGS])
# or a config script is called (libpng).
#
# The `xxx_reqpriv' variables are for the `Requires.private' field in
-# `freetype2.pc'. The `xxx_libpriv' variables are for the `Libs.private'
+# `freetype2.pc'. The `xxx_libspriv' variables are for the `Libs.private'
# field in `freetype2.pc' if pkg-config doesn't find a proper .pc file.
#
-# The `xxx_libstaticconf' variables are for the `freetype-config' script.
+# The `xxx_libsstaticconf' variables are for the `freetype-config' script.
#
# Note that a call to PKG_CHECK_MODULES(XXX, ...) sets and creates the
# output variables `XXX_CFLAGS' and `XXX_LIBS'. In case one or both are set
@@ -326,15 +330,15 @@ if test x"$with_zlib" = xyes -o x"$with_zlib" = xauto; then
if test $have_zlib_pkg = yes; then
# we have zlib.pc
zlib_reqpriv="$zlib_pkg"
- zlib_libpriv=
- zlib_libstaticconf=`$PKG_CONFIG --static --libs "$zlib_pkg"`
+ zlib_libspriv=
+ zlib_libsstaticconf=`$PKG_CONFIG --static --libs "$zlib_pkg"`
else
zlib_reqpriv=
if test "$have_zlib" != no; then
# ZLIB_CFLAGS and ZLIB_LIBS are set by the user
- zlib_libpriv="$ZLIB_LIBS"
- zlib_libstaticconf="$ZLIB_LIBS"
+ zlib_libspriv="$ZLIB_LIBS"
+ zlib_libsstaticconf="$ZLIB_LIBS"
have_zlib="yes (ZLIB_CFLAGS and ZLIB_LIBS)"
else
# fall back to standard autoconf test
@@ -342,9 +346,9 @@ if test x"$with_zlib" = xyes -o x"$with_zlib" = xauto; then
[gzsetparams],
[AC_CHECK_HEADER([zlib.h],
[have_zlib="yes (autoconf test)"
- zlib_libpriv="-lz"
- zlib_libstaticconf="$zlib_libpriv"
- ZLIB_LIBS="$zlib_libpriv"])])
+ zlib_libspriv="-lz"
+ zlib_libsstaticconf="$zlib_libspriv"
+ ZLIB_LIBS="$zlib_libspriv"])])
fi
fi
fi
@@ -375,15 +379,15 @@ if test x"$with_bzip2" = xyes -o x"$with_bzip2" = xauto; then
if test $have_bzip2_pkg = yes; then
# we have bzip2.pc
bzip2_reqpriv="$bzip2_pkg"
- bzip2_libpriv=
- bzip2_libstaticconf=`$PKG_CONFIG --static --libs "$bzip2_pkg"`
+ bzip2_libspriv=
+ bzip2_libsstaticconf=`$PKG_CONFIG --static --libs "$bzip2_pkg"`
else
bzip2_reqpriv=
if test "$have_bzip2" != no; then
# BZIP2_CFLAGS and BZIP2_LIBS are set by the user
- bzip2_libpriv="$BZIP2_LIBS"
- bzip2_libstaticconf="$BZIP2_LIBS"
+ bzip2_libspriv="$BZIP2_LIBS"
+ bzip2_libsstaticconf="$BZIP2_LIBS"
have_bzip2="yes (BZIP2_CFLAGS and BZIP2_LIBS)"
else
# fall back to standard autoconf test
@@ -391,9 +395,9 @@ if test x"$with_bzip2" = xyes -o x"$with_bzip2" = xauto; then
[BZ2_bzDecompress],
[AC_CHECK_HEADER([bzlib.h],
[have_bzip2="yes (autoconf test)"
- bzip2_libpriv="-lbz2"
- bzip2_libstaticconf="$bzip2_libpriv"
- BZIP2_LIBS="$bzip2_libpriv"])])
+ bzip2_libspriv="-lbz2"
+ bzip2_libsstaticconf="$bzip2_libspriv"
+ BZIP2_LIBS="$bzip2_libspriv"])])
fi
fi
fi
@@ -424,15 +428,15 @@ if test x"$with_png" = xyes -o x"$with_png" = xauto; then
if test $have_libpng_pkg = yes; then
# we have libpng.pc
libpng_reqpriv="$libpng_pkg"
- libpng_libpriv=
- libpng_libstaticconf=`$PKG_CONFIG --static --libs "$libpng_pkg"`
+ libpng_libspriv=
+ libpng_libsstaticconf=`$PKG_CONFIG --static --libs "$libpng_pkg"`
else
libpng_reqpriv=
if test "$have_libpng" != no; then
# LIBPNG_CFLAGS and LIBPNG_LIBS are set by the user
- libpng_libpriv="$LIBPNG_LIBS"
- libpng_libstaticconf="$LIBPNG_LIBS"
+ libpng_libspriv="$LIBPNG_LIBS"
+ libpng_libsstaticconf="$LIBPNG_LIBS"
have_libpng="yes (LIBPNG_CFLAGS and LIBPNG_LIBS)"
else
# fall back to config script.
@@ -440,8 +444,8 @@ if test x"$with_png" = xyes -o x"$with_png" = xauto; then
if which libpng-config > /dev/null 2>&1; then
LIBPNG_CFLAGS=`libpng-config --cflags`
LIBPNG_LIBS=`libpng-config --ldflags`
- libpng_libpriv=`libpng-config --static --ldflags`
- libpng_libstaticconf="$libpng_libpriv"
+ libpng_libspriv=`libpng-config --static --ldflags`
+ libpng_libsstaticconf="$libpng_libspriv"
have_libpng="yes (libpng-config)"
AC_MSG_RESULT([yes])
else
@@ -465,7 +469,7 @@ AC_ARG_WITH([harfbuzz],
have_harfbuzz=no
if test x"$with_harfbuzz" = xyes -o x"$with_harfbuzz" = xauto; then
- harfbuzz_pkg="harfbuzz >= 0.9.19"
+ harfbuzz_pkg="harfbuzz >= 0.9.21"
have_harfbuzz_pkg=no
if test x"$HARFBUZZ_CFLAGS" = x -a x"$HARFBUZZ_LIBS" = x; then
@@ -477,15 +481,15 @@ if test x"$with_harfbuzz" = xyes -o x"$with_harfbuzz" = xauto; then
if test $have_harfbuzz_pkg = yes; then
# we have harfbuzz.pc
harfbuzz_reqpriv="$harfbuzz_pkg"
- harfbuzz_libpriv=
- harfbuzz_libstaticconf=`$PKG_CONFIG --static --libs "$harfbuzz_pkg"`
+ harfbuzz_libspriv=
+ harfbuzz_libsstaticconf=`$PKG_CONFIG --static --libs "$harfbuzz_pkg"`
else
harfbuzz_reqpriv=
if test "$have_harfbuzz" != no; then
# HARFBUZZ_CFLAGS and HARFBUZZ_LIBS are set by the user
- harfbuzz_libpriv="$HARFBUZZ_LIBS"
- harfbuzz_libstaticconf="$HARFBUZZ_LIBS"
+ harfbuzz_libspriv="$HARFBUZZ_LIBS"
+ harfbuzz_libsstaticconf="$HARFBUZZ_LIBS"
have_harfbuzz="yes (HARFBUZZ_CFLAGS and HARFBUZZ_LIBS)"
else
# since HarfBuzz is quite a new library we don't fall back to a
@@ -926,10 +930,10 @@ REQUIRES_PRIVATE=`echo "$REQUIRES_PRIVATE" \
-e 's/,*$//' \
-e 's/,/, /g'`
-LIBS_PRIVATE="$zlib_libpriv \
- $bzip2_libpriv \
- $libpng_libpriv \
- $harfbuzz_libpriv \
+LIBS_PRIVATE="$zlib_libspriv \
+ $bzip2_libspriv \
+ $libpng_libspriv \
+ $harfbuzz_libspriv \
$ft2_extra_libs"
# beautify
LIBS_PRIVATE=`echo "$LIBS_PRIVATE" \
@@ -937,11 +941,11 @@ LIBS_PRIVATE=`echo "$LIBS_PRIVATE" \
-e 's/ *$//' \
-e 's/ */ /g'`
-LIBSSTATIC_CONFIG="-lfreetype \
- $zlib_libstaticconf \
- $bzip2_libstaticconf \
- $libpng_libstaticconf \
- $harfbuzz_libstaticconf \
+LIBSSTATIC_CONFIG="-lfreetype \
+ $zlib_libsstaticconf \
+ $bzip2_libsstaticconf \
+ $libpng_libsstaticconf \
+ $harfbuzz_libsstaticconf \
$ft2_extra_libs"
# remove -L/usr/lib and -L/usr/lib64 since `freetype-config' adds them later
# on if necessary; also beautify
diff --git a/lib/freetype/builds/unix/detect.mk b/lib/freetype/builds/unix/detect.mk
index ef007bf39..025ed491d 100644
--- a/lib/freetype/builds/unix/detect.mk
+++ b/lib/freetype/builds/unix/detect.mk
@@ -76,17 +76,14 @@ ifeq ($(PLATFORM),unix)
have_Makefile := $(wildcard $(OBJ_DIR)/Makefile)
- CONFIG_SHELL ?= /bin/sh
setup: std_setup
ifdef must_configure
ifneq ($(have_Makefile),)
# we are building FT2 not in the src tree
- CONFIG_SHELL="$(CONFIG_SHELL)" \
- $(CONFIG_SHELL) $(TOP_DIR)/builds/unix/configure $(value CFG)
+ $(TOP_DIR)/builds/unix/configure $(value CFG)
else
cd builds/unix; \
- CONFIG_SHELL="$(CONFIG_SHELL)" \
- $(CONFIG_SHELL) ./configure $(value CFG)
+ ./configure $(value CFG)
endif
endif
diff --git a/lib/freetype/builds/unix/freetype-config.in b/lib/freetype/builds/unix/freetype-config.in
index d0a429c2d..bb80e8c0f 100644
--- a/lib/freetype/builds/unix/freetype-config.in
+++ b/lib/freetype/builds/unix/freetype-config.in
@@ -17,7 +17,6 @@ exec_prefix="%exec_prefix%"
exec_prefix_set="no"
includedir="%includedir%"
libdir="%libdir%"
-enable_shared="%build_libtool_libs%"
usage()
{
@@ -124,21 +123,20 @@ else
fi
if test "$echo_ft_version" = "yes" ; then
- major=`grep define ${SYSROOT}$includedir/freetype2/freetype.h \
+ major=`grep define ${SYSROOT}$includedir/freetype2/freetype/freetype.h \
| grep FREETYPE_MAJOR \
| sed 's/.*[ ]\([0-9][0-9]*\).*/\1/'`
- minor=`grep define ${SYSROOT}$includedir/freetype2/freetype.h \
+ minor=`grep define ${SYSROOT}$includedir/freetype2/freetype/freetype.h \
| grep FREETYPE_MINOR \
| sed 's/.*[ ]\([0-9][0-9]*\).*/\1/'`
- patch=`grep define ${SYSROOT}$includedir/freetype2/freetype.h \
+ patch=`grep define ${SYSROOT}$includedir/freetype2/freetype/freetype.h \
| grep FREETYPE_PATCH \
| sed 's/.*[ ]\([0-9][0-9]*\).*/\1/'`
echo $major.$minor.$patch
fi
if test "$echo_cflags" = "yes" ; then
- cflags="-I${SYSROOT}$includedir/freetype2"
- echo $cflags
+ echo -I${SYSROOT}$includedir/freetype2
fi
if test "$echo_libs" = "yes" ; then
diff --git a/lib/freetype/builds/unix/freetype2.in b/lib/freetype/builds/unix/freetype2.in
index f70050d0f..3e82a451a 100644
--- a/lib/freetype/builds/unix/freetype2.in
+++ b/lib/freetype/builds/unix/freetype2.in
@@ -1,7 +1,7 @@
prefix=%prefix%
exec_prefix=%exec_prefix%
libdir=%libdir%
-includedir=%includedir%/freetype2
+includedir=%includedir%
Name: FreeType 2
URL: http://freetype.org
@@ -11,4 +11,4 @@ Requires:
Requires.private: %REQUIRES_PRIVATE%
Libs: -L${libdir} -lfreetype %LIBS_PRIVATE%
Libs.private:
-Cflags: -I${includedir}
+Cflags: -I${includedir}/freetype2
diff --git a/lib/freetype/builds/unix/ftconfig.h b/lib/freetype/builds/unix/ftconfig.h
index f347e0972..185964b6a 100644
--- a/lib/freetype/builds/unix/ftconfig.h
+++ b/lib/freetype/builds/unix/ftconfig.h
@@ -87,7 +87,7 @@ FT_BEGIN_HEADER
#else /* !FT_USE_AUTOCONF_SIZEOF_TYPES */
/* Following cpp computation of the bit length of int and long */
- /* is copied from default include/config/ftconfig.h. */
+ /* is copied from default include/freetype/config/ftconfig.h. */
/* If any improvement is required for this file, it should be */
/* applied to the original header file for the builders that */
/* do not use configure script. */
@@ -366,9 +366,9 @@ FT_BEGIN_HEADER
#if ( __GNUC__ >= 2 || \
defined( __IBM__TYPEOF__ ) || \
( __SUNPRO_C >= 0x5110 && !__STDC__ ) )
-#define TYPEOF( type ) (__typeof__ (type))
+#define FT_TYPEOF( type ) (__typeof__ (type))
#else
-#define TYPEOF( type ) /* empty */
+#define FT_TYPEOF( type ) /* empty */
#endif
diff --git a/lib/freetype/builds/unix/ftconfig.in b/lib/freetype/builds/unix/ftconfig.in
index f6d459f2e..fc5c89ba3 100644
--- a/lib/freetype/builds/unix/ftconfig.in
+++ b/lib/freetype/builds/unix/ftconfig.in
@@ -86,7 +86,7 @@ FT_BEGIN_HEADER
#else /* !FT_USE_AUTOCONF_SIZEOF_TYPES */
/* Following cpp computation of the bit length of int and long */
- /* is copied from default include/config/ftconfig.h. */
+ /* is copied from default include/freetype/config/ftconfig.h. */
/* If any improvement is required for this file, it should be */
/* applied to the original header file for the builders that */
/* do not use configure script. */
@@ -365,9 +365,9 @@ FT_BEGIN_HEADER
#if ( __GNUC__ >= 2 || \
defined( __IBM__TYPEOF__ ) || \
( __SUNPRO_C >= 0x5110 && !__STDC__ ) )
-#define TYPEOF( type ) (__typeof__ (type))
+#define FT_TYPEOF( type ) (__typeof__ (type))
#else
-#define TYPEOF( type ) /* empty */
+#define FT_TYPEOF( type ) /* empty */
#endif
diff --git a/lib/freetype/builds/unix/install.mk b/lib/freetype/builds/unix/install.mk
index 35cff2021..c7a20a35e 100644
--- a/lib/freetype/builds/unix/install.mk
+++ b/lib/freetype/builds/unix/install.mk
@@ -24,35 +24,34 @@
# Unix installation and deinstallation targets.
#
-# Note that we remove any data in the `freetype' subdirectory found in
-# `$(includedir)/freetype2', which was the previous location of the header
-# files up to version 2.5.0.
+# Note that we remove any data found in `$(includedir)/freetype2' before
+# installing new files to avoid interferences with files installed by
+# previous FreeType versions (which use slightly different locations).
#
install: $(PROJECT_LIBRARY)
- $(MKINSTALLDIRS) $(DESTDIR)$(libdir) \
- $(DESTDIR)$(libdir)/pkgconfig \
- $(DESTDIR)$(includedir)/freetype2/config \
- $(DESTDIR)$(bindir) \
- $(DESTDIR)$(datadir)/aclocal \
+ -$(DELDIR) $(DESTDIR)$(includedir)/freetype2
+ $(MKINSTALLDIRS) $(DESTDIR)$(libdir) \
+ $(DESTDIR)$(libdir)/pkgconfig \
+ $(DESTDIR)$(includedir)/freetype2/freetype/config \
+ $(DESTDIR)$(bindir) \
+ $(DESTDIR)$(datadir)/aclocal \
$(DESTDIR)$(mandir)/man1
$(LIBTOOL) --mode=install $(INSTALL) \
$(PROJECT_LIBRARY) $(DESTDIR)$(libdir)
- -for P in $(PUBLIC_H) ; do \
- $(INSTALL_DATA) \
- $$P $(DESTDIR)$(includedir)/freetype2 ; \
+ -for P in $(PUBLIC_H) ; do \
+ $(INSTALL_DATA) \
+ $$P $(DESTDIR)$(includedir)/freetype2/freetype ; \
done
- -for P in $(CONFIG_H) ; do \
- $(INSTALL_DATA) \
- $$P $(DESTDIR)$(includedir)/freetype2/config ; \
+ -for P in $(CONFIG_H) ; do \
+ $(INSTALL_DATA) \
+ $$P $(DESTDIR)$(includedir)/freetype2/freetype/config ; \
done
- -$(DELETE) $(DESTDIR)$(includedir)/freetype2/freetype/config/*
- -$(DELDIR) $(DESTDIR)$(includedir)/freetype2/freetype/config
- -$(DELETE) $(DESTDIR)$(includedir)/freetype2/freetype/*
- -$(DELDIR) $(DESTDIR)$(includedir)/freetype2/freetype
- $(INSTALL_DATA) $(OBJ_BUILD)/ftconfig.h \
- $(DESTDIR)$(includedir)/freetype2/config/ftconfig.h
- $(INSTALL_DATA) $(OBJ_DIR)/ftmodule.h \
- $(DESTDIR)$(includedir)/freetype2/config/ftmodule.h
+ $(INSTALL_DATA) $(TOP_DIR)/include/ft2build.h \
+ $(DESTDIR)$(includedir)/freetype2/ft2build.h
+ $(INSTALL_DATA) $(OBJ_BUILD)/ftconfig.h \
+ $(DESTDIR)$(includedir)/freetype2/freetype/config/ftconfig.h
+ $(INSTALL_DATA) $(OBJ_DIR)/ftmodule.h \
+ $(DESTDIR)$(includedir)/freetype2/freetype/config/ftmodule.h
$(INSTALL_SCRIPT) -m 755 $(OBJ_BUILD)/freetype-config \
$(DESTDIR)$(bindir)/freetype-config
$(INSTALL_SCRIPT) -m 644 $(BUILD_DIR)/freetype2.m4 \
@@ -65,9 +64,6 @@ install: $(PROJECT_LIBRARY)
uninstall:
-$(LIBTOOL) --mode=uninstall $(RM) $(DESTDIR)$(libdir)/$(LIBRARY).$A
- -$(DELETE) $(DESTDIR)$(includedir)/freetype2/config/*
- -$(DELDIR) $(DESTDIR)$(includedir)/freetype2/config
- -$(DELETE) $(DESTDIR)$(includedir)/freetype2/*
-$(DELDIR) $(DESTDIR)$(includedir)/freetype2
-$(DELETE) $(DESTDIR)$(bindir)/freetype-config
-$(DELETE) $(DESTDIR)$(datadir)/aclocal/freetype2.m4
@@ -90,7 +86,6 @@ clean_project_unix:
distclean_project_unix: clean_project_unix
-$(DELETE) $(PROJECT_LIBRARY)
- -$(DELETE) $(OBJ_DIR)/.libs/*
-$(DELDIR) $(OBJ_DIR)/.libs
-$(DELETE) *.orig *~ core *.core $(DISTCLEAN)
diff --git a/lib/freetype/builds/unix/unix-def.in b/lib/freetype/builds/unix/unix-def.in
index ed9fd1ea8..3c2d599d0 100644
--- a/lib/freetype/builds/unix/unix-def.in
+++ b/lib/freetype/builds/unix/unix-def.in
@@ -17,7 +17,7 @@ SHELL := @SHELL@
TOP_DIR := $(shell cd $(TOP_DIR); pwd)
DELETE := rm -f
-DELDIR := @RMDIR@
+DELDIR := rm -rf
CAT := cat
SEP := /
@@ -32,7 +32,7 @@ INSTALL := @INSTALL@
INSTALL_DATA := @INSTALL_DATA@
INSTALL_PROGRAM := @INSTALL_PROGRAM@
INSTALL_SCRIPT := @INSTALL_SCRIPT@
-MKINSTALLDIRS := $(BUILD_DIR)/mkinstalldirs
+MKINSTALLDIRS := @MKDIR_P@
CLEAN += $(OBJ_BUILD)/freetype-config \
$(OBJ_BUILD)/freetype2.pc
diff --git a/lib/freetype/builds/vms/ftconfig.h b/lib/freetype/builds/vms/ftconfig.h
index eff898f36..4a3fa09b5 100644
--- a/lib/freetype/builds/vms/ftconfig.h
+++ b/lib/freetype/builds/vms/ftconfig.h
@@ -308,9 +308,9 @@ FT_BEGIN_HEADER
#if ( __GNUC__ >= 2 || \
defined( __IBM__TYPEOF__ ) || \
( __SUNPRO_C >= 0x5110 && !__STDC__ ) )
-#define TYPEOF( type ) (__typeof__ (type))
+#define FT_TYPEOF( type ) (__typeof__ (type))
#else
-#define TYPEOF( type ) /* empty */
+#define FT_TYPEOF( type ) /* empty */
#endif
diff --git a/lib/freetype/builds/wince/ftdebug.c b/lib/freetype/builds/wince/ftdebug.c
index 74c73b56c..17b4d6145 100644
--- a/lib/freetype/builds/wince/ftdebug.c
+++ b/lib/freetype/builds/wince/ftdebug.c
@@ -148,8 +148,8 @@
/* for the memory and stream components which are set to 6 and 5, */
/* respectively. */
/* */
- /* See the file <internal/fttrace.h> for details of the available toggle */
- /* names. */
+ /* See the file `include/freetype/internal/fttrace.h' for details of the */
+ /* available toggle names. */
/* */
/* The level must be between 0 and 6; 0 means quiet (except for serious */
/* runtime errors), and 6 means _very_ verbose. */
diff --git a/lib/freetype/builds/wince/vc2005-ce/freetype.vcproj b/lib/freetype/builds/wince/vc2005-ce/freetype.vcproj
index a1993b4e6..4f95fabf8 100644
--- a/lib/freetype/builds/wince/vc2005-ce/freetype.vcproj
+++ b/lib/freetype/builds/wince/vc2005-ce/freetype.vcproj
@@ -21,7 +21,7 @@
<Tool Name="VCManagedResourceCompilerTool" />
<Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" />
<Tool Name="VCPreLinkEventTool" />
- <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype26.lib" SuppressStartupBanner="true" />
+ <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype261.lib" SuppressStartupBanner="true" />
<Tool Name="VCALinkTool" />
<Tool Name="VCXDCMakeTool" />
<Tool Name="VCBscMakeTool" />
@@ -41,7 +41,7 @@
<Tool Name="VCManagedResourceCompilerTool" />
<Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" />
<Tool Name="VCPreLinkEventTool" />
- <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype26.lib" SuppressStartupBanner="true" />
+ <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype261.lib" SuppressStartupBanner="true" />
<Tool Name="VCALinkTool" />
<Tool Name="VCXDCMakeTool" />
<Tool Name="VCBscMakeTool" />
@@ -61,7 +61,7 @@
<Tool Name="VCManagedResourceCompilerTool" />
<Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" />
<Tool Name="VCPreLinkEventTool" />
- <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype26.lib" SuppressStartupBanner="true" />
+ <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype261.lib" SuppressStartupBanner="true" />
<Tool Name="VCALinkTool" />
<Tool Name="VCXDCMakeTool" />
<Tool Name="VCBscMakeTool" />
@@ -81,7 +81,7 @@
<Tool Name="VCManagedResourceCompilerTool" />
<Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" />
<Tool Name="VCPreLinkEventTool" />
- <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype26.lib" SuppressStartupBanner="true" />
+ <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype261.lib" SuppressStartupBanner="true" />
<Tool Name="VCALinkTool" />
<Tool Name="VCXDCMakeTool" />
<Tool Name="VCBscMakeTool" />
@@ -101,7 +101,7 @@
<Tool Name="VCManagedResourceCompilerTool" />
<Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" />
<Tool Name="VCPreLinkEventTool" />
- <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype26.lib" SuppressStartupBanner="true" />
+ <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype261.lib" SuppressStartupBanner="true" />
<Tool Name="VCALinkTool" />
<Tool Name="VCXDCMakeTool" />
<Tool Name="VCBscMakeTool" />
@@ -121,7 +121,7 @@
<Tool Name="VCManagedResourceCompilerTool" />
<Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" />
<Tool Name="VCPreLinkEventTool" />
- <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype26.lib" SuppressStartupBanner="true" />
+ <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype261.lib" SuppressStartupBanner="true" />
<Tool Name="VCALinkTool" />
<Tool Name="VCXDCMakeTool" />
<Tool Name="VCBscMakeTool" />
@@ -141,7 +141,7 @@
<Tool Name="VCManagedResourceCompilerTool" />
<Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" />
<Tool Name="VCPreLinkEventTool" />
- <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype26MT.lib" SuppressStartupBanner="true" />
+ <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype261MT.lib" SuppressStartupBanner="true" />
<Tool Name="VCALinkTool" />
<Tool Name="VCXDCMakeTool" />
<Tool Name="VCBscMakeTool" />
@@ -161,7 +161,7 @@
<Tool Name="VCManagedResourceCompilerTool" />
<Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" />
<Tool Name="VCPreLinkEventTool" />
- <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype26MT.lib" SuppressStartupBanner="true" />
+ <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype261MT.lib" SuppressStartupBanner="true" />
<Tool Name="VCALinkTool" />
<Tool Name="VCXDCMakeTool" />
<Tool Name="VCBscMakeTool" />
@@ -181,7 +181,7 @@
<Tool Name="VCManagedResourceCompilerTool" />
<Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" />
<Tool Name="VCPreLinkEventTool" />
- <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype26MT.lib" SuppressStartupBanner="true" />
+ <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype261MT.lib" SuppressStartupBanner="true" />
<Tool Name="VCALinkTool" />
<Tool Name="VCXDCMakeTool" />
<Tool Name="VCBscMakeTool" />
@@ -201,7 +201,7 @@
<Tool Name="VCManagedResourceCompilerTool" />
<Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" />
<Tool Name="VCPreLinkEventTool" />
- <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype26MT.lib" SuppressStartupBanner="true" />
+ <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype261MT.lib" SuppressStartupBanner="true" />
<Tool Name="VCALinkTool" />
<Tool Name="VCXDCMakeTool" />
<Tool Name="VCBscMakeTool" />
@@ -221,7 +221,7 @@
<Tool Name="VCManagedResourceCompilerTool" />
<Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" />
<Tool Name="VCPreLinkEventTool" />
- <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype26MT.lib" SuppressStartupBanner="true" />
+ <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype261MT.lib" SuppressStartupBanner="true" />
<Tool Name="VCALinkTool" />
<Tool Name="VCXDCMakeTool" />
<Tool Name="VCBscMakeTool" />
@@ -241,7 +241,7 @@
<Tool Name="VCManagedResourceCompilerTool" />
<Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" />
<Tool Name="VCPreLinkEventTool" />
- <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype26MT.lib" SuppressStartupBanner="true" />
+ <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype261MT.lib" SuppressStartupBanner="true" />
<Tool Name="VCALinkTool" />
<Tool Name="VCXDCMakeTool" />
<Tool Name="VCBscMakeTool" />
@@ -261,7 +261,7 @@
<Tool Name="VCManagedResourceCompilerTool" />
<Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" />
<Tool Name="VCPreLinkEventTool" />
- <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype26ST.lib" />
+ <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype261ST.lib" />
<Tool Name="VCALinkTool" />
<Tool Name="VCXDCMakeTool" />
<Tool Name="VCBscMakeTool" />
@@ -281,7 +281,7 @@
<Tool Name="VCManagedResourceCompilerTool" />
<Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" />
<Tool Name="VCPreLinkEventTool" />
- <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype26ST.lib" />
+ <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype261ST.lib" />
<Tool Name="VCALinkTool" />
<Tool Name="VCXDCMakeTool" />
<Tool Name="VCBscMakeTool" />
@@ -301,7 +301,7 @@
<Tool Name="VCManagedResourceCompilerTool" />
<Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" />
<Tool Name="VCPreLinkEventTool" />
- <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype26ST.lib" />
+ <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype261ST.lib" />
<Tool Name="VCALinkTool" />
<Tool Name="VCXDCMakeTool" />
<Tool Name="VCBscMakeTool" />
@@ -321,7 +321,7 @@
<Tool Name="VCManagedResourceCompilerTool" />
<Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" />
<Tool Name="VCPreLinkEventTool" />
- <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype26ST.lib" />
+ <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype261ST.lib" />
<Tool Name="VCALinkTool" />
<Tool Name="VCXDCMakeTool" />
<Tool Name="VCBscMakeTool" />
@@ -341,7 +341,7 @@
<Tool Name="VCManagedResourceCompilerTool" />
<Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" />
<Tool Name="VCPreLinkEventTool" />
- <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype26ST.lib" />
+ <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype261ST.lib" />
<Tool Name="VCALinkTool" />
<Tool Name="VCXDCMakeTool" />
<Tool Name="VCBscMakeTool" />
@@ -361,7 +361,7 @@
<Tool Name="VCManagedResourceCompilerTool" />
<Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" />
<Tool Name="VCPreLinkEventTool" />
- <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype26ST.lib" />
+ <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype261ST.lib" />
<Tool Name="VCALinkTool" />
<Tool Name="VCXDCMakeTool" />
<Tool Name="VCBscMakeTool" />
@@ -381,7 +381,7 @@
<Tool Name="VCManagedResourceCompilerTool" />
<Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033" />
<Tool Name="VCPreLinkEventTool" />
- <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype26_D.lib" SuppressStartupBanner="true" />
+ <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype261_D.lib" SuppressStartupBanner="true" />
<Tool Name="VCALinkTool" />
<Tool Name="VCXDCMakeTool" />
<Tool Name="VCBscMakeTool" />
@@ -401,7 +401,7 @@
<Tool Name="VCManagedResourceCompilerTool" />
<Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033" />
<Tool Name="VCPreLinkEventTool" />
- <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype26_D.lib" SuppressStartupBanner="true" />
+ <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype261_D.lib" SuppressStartupBanner="true" />
<Tool Name="VCALinkTool" />
<Tool Name="VCXDCMakeTool" />
<Tool Name="VCBscMakeTool" />
@@ -421,7 +421,7 @@
<Tool Name="VCManagedResourceCompilerTool" />
<Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033" />
<Tool Name="VCPreLinkEventTool" />
- <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype26_D.lib" SuppressStartupBanner="true" />
+ <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype261_D.lib" SuppressStartupBanner="true" />
<Tool Name="VCALinkTool" />
<Tool Name="VCXDCMakeTool" />
<Tool Name="VCBscMakeTool" />
@@ -441,7 +441,7 @@
<Tool Name="VCManagedResourceCompilerTool" />
<Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033" />
<Tool Name="VCPreLinkEventTool" />
- <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype26_D.lib" SuppressStartupBanner="true" />
+ <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype261_D.lib" SuppressStartupBanner="true" />
<Tool Name="VCALinkTool" />
<Tool Name="VCXDCMakeTool" />
<Tool Name="VCBscMakeTool" />
@@ -461,7 +461,7 @@
<Tool Name="VCManagedResourceCompilerTool" />
<Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033" />
<Tool Name="VCPreLinkEventTool" />
- <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype26_D.lib" SuppressStartupBanner="true" />
+ <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype261_D.lib" SuppressStartupBanner="true" />
<Tool Name="VCALinkTool" />
<Tool Name="VCXDCMakeTool" />
<Tool Name="VCBscMakeTool" />
@@ -481,7 +481,7 @@
<Tool Name="VCManagedResourceCompilerTool" />
<Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033" />
<Tool Name="VCPreLinkEventTool" />
- <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype26_D.lib" SuppressStartupBanner="true" />
+ <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype261_D.lib" SuppressStartupBanner="true" />
<Tool Name="VCALinkTool" />
<Tool Name="VCXDCMakeTool" />
<Tool Name="VCBscMakeTool" />
@@ -501,7 +501,7 @@
<Tool Name="VCManagedResourceCompilerTool" />
<Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033" />
<Tool Name="VCPreLinkEventTool" />
- <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype26ST_D.lib" SuppressStartupBanner="true" />
+ <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype261ST_D.lib" SuppressStartupBanner="true" />
<Tool Name="VCALinkTool" />
<Tool Name="VCXDCMakeTool" />
<Tool Name="VCBscMakeTool" />
@@ -521,7 +521,7 @@
<Tool Name="VCManagedResourceCompilerTool" />
<Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033" />
<Tool Name="VCPreLinkEventTool" />
- <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype26ST_D.lib" SuppressStartupBanner="true" />
+ <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype261ST_D.lib" SuppressStartupBanner="true" />
<Tool Name="VCALinkTool" />
<Tool Name="VCXDCMakeTool" />
<Tool Name="VCBscMakeTool" />
@@ -541,7 +541,7 @@
<Tool Name="VCManagedResourceCompilerTool" />
<Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033" />
<Tool Name="VCPreLinkEventTool" />
- <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype26ST_D.lib" SuppressStartupBanner="true" />
+ <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype261ST_D.lib" SuppressStartupBanner="true" />
<Tool Name="VCALinkTool" />
<Tool Name="VCXDCMakeTool" />
<Tool Name="VCBscMakeTool" />
@@ -561,7 +561,7 @@
<Tool Name="VCManagedResourceCompilerTool" />
<Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033" />
<Tool Name="VCPreLinkEventTool" />
- <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype26ST_D.lib" SuppressStartupBanner="true" />
+ <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype261ST_D.lib" SuppressStartupBanner="true" />
<Tool Name="VCALinkTool" />
<Tool Name="VCXDCMakeTool" />
<Tool Name="VCBscMakeTool" />
@@ -581,7 +581,7 @@
<Tool Name="VCManagedResourceCompilerTool" />
<Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033" />
<Tool Name="VCPreLinkEventTool" />
- <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype26ST_D.lib" SuppressStartupBanner="true" />
+ <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype261ST_D.lib" SuppressStartupBanner="true" />
<Tool Name="VCALinkTool" />
<Tool Name="VCXDCMakeTool" />
<Tool Name="VCBscMakeTool" />
@@ -601,7 +601,7 @@
<Tool Name="VCManagedResourceCompilerTool" />
<Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033" />
<Tool Name="VCPreLinkEventTool" />
- <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype26ST_D.lib" SuppressStartupBanner="true" />
+ <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype261ST_D.lib" SuppressStartupBanner="true" />
<Tool Name="VCALinkTool" />
<Tool Name="VCXDCMakeTool" />
<Tool Name="VCBscMakeTool" />
@@ -621,7 +621,7 @@
<Tool Name="VCManagedResourceCompilerTool" />
<Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033" />
<Tool Name="VCPreLinkEventTool" />
- <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype26MT_D.lib" SuppressStartupBanner="true" />
+ <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype261MT_D.lib" SuppressStartupBanner="true" />
<Tool Name="VCALinkTool" />
<Tool Name="VCXDCMakeTool" />
<Tool Name="VCBscMakeTool" />
@@ -641,7 +641,7 @@
<Tool Name="VCManagedResourceCompilerTool" />
<Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033" />
<Tool Name="VCPreLinkEventTool" />
- <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype26MT_D.lib" SuppressStartupBanner="true" />
+ <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype261MT_D.lib" SuppressStartupBanner="true" />
<Tool Name="VCALinkTool" />
<Tool Name="VCXDCMakeTool" />
<Tool Name="VCBscMakeTool" />
@@ -661,7 +661,7 @@
<Tool Name="VCManagedResourceCompilerTool" />
<Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033" />
<Tool Name="VCPreLinkEventTool" />
- <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype26MT_D.lib" SuppressStartupBanner="true" />
+ <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype261MT_D.lib" SuppressStartupBanner="true" />
<Tool Name="VCALinkTool" />
<Tool Name="VCXDCMakeTool" />
<Tool Name="VCBscMakeTool" />
@@ -681,7 +681,7 @@
<Tool Name="VCManagedResourceCompilerTool" />
<Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033" />
<Tool Name="VCPreLinkEventTool" />
- <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype26MT_D.lib" SuppressStartupBanner="true" />
+ <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype261MT_D.lib" SuppressStartupBanner="true" />
<Tool Name="VCALinkTool" />
<Tool Name="VCXDCMakeTool" />
<Tool Name="VCBscMakeTool" />
@@ -701,7 +701,7 @@
<Tool Name="VCManagedResourceCompilerTool" />
<Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033" />
<Tool Name="VCPreLinkEventTool" />
- <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype26MT_D.lib" SuppressStartupBanner="true" />
+ <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype261MT_D.lib" SuppressStartupBanner="true" />
<Tool Name="VCALinkTool" />
<Tool Name="VCXDCMakeTool" />
<Tool Name="VCBscMakeTool" />
@@ -721,7 +721,7 @@
<Tool Name="VCManagedResourceCompilerTool" />
<Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033" />
<Tool Name="VCPreLinkEventTool" />
- <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype26MT_D.lib" SuppressStartupBanner="true" />
+ <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype261MT_D.lib" SuppressStartupBanner="true" />
<Tool Name="VCALinkTool" />
<Tool Name="VCXDCMakeTool" />
<Tool Name="VCBscMakeTool" />
@@ -741,7 +741,7 @@
<Tool Name="VCManagedResourceCompilerTool" />
<Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" />
<Tool Name="VCPreLinkEventTool" />
- <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype26MT.lib" SuppressStartupBanner="true" />
+ <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype261MT.lib" SuppressStartupBanner="true" />
<Tool Name="VCALinkTool" />
<Tool Name="VCXDCMakeTool" />
<Tool Name="VCBscMakeTool" />
@@ -758,7 +758,7 @@
<Tool Name="VCManagedResourceCompilerTool" />
<Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033" />
<Tool Name="VCPreLinkEventTool" />
- <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype26MT_D.lib" SuppressStartupBanner="true" />
+ <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype261MT_D.lib" SuppressStartupBanner="true" />
<Tool Name="VCALinkTool" />
<Tool Name="VCXDCMakeTool" />
<Tool Name="VCBscMakeTool" />
@@ -3822,15 +3822,15 @@
<Filter Name="Header Files" Filter="h;hpp;hxx;hm;inl">
<File RelativePath="..\..\..\include\ft2build.h">
</File>
- <File RelativePath="..\..\..\include\config\ftconfig.h">
+ <File RelativePath="..\..\..\include\freetype\config\ftconfig.h">
</File>
- <File RelativePath="..\..\..\include\config\ftheader.h">
+ <File RelativePath="..\..\..\include\freetype\config\ftheader.h">
</File>
- <File RelativePath="..\..\..\include\config\ftmodule.h">
+ <File RelativePath="..\..\..\include\freetype\config\ftmodule.h">
</File>
- <File RelativePath="..\..\..\include\config\ftoption.h">
+ <File RelativePath="..\..\..\include\freetype\config\ftoption.h">
</File>
- <File RelativePath="..\..\..\include\config\ftstdlib.h">
+ <File RelativePath="..\..\..\include\freetype\config\ftstdlib.h">
</File>
</Filter>
</Files>
diff --git a/lib/freetype/builds/wince/vc2005-ce/index.html b/lib/freetype/builds/wince/vc2005-ce/index.html
index a8e92d700..b6161aea3 100644
--- a/lib/freetype/builds/wince/vc2005-ce/index.html
+++ b/lib/freetype/builds/wince/vc2005-ce/index.html
@@ -21,22 +21,22 @@ the following targets:
<li>PPC/SP WM6 (Windows Mobile 6)</li>
</ul>
-It compiles the following libraries from the FreeType 2.6 sources:</p>
+It compiles the following libraries from the FreeType 2.6.1 sources:</p>
<ul>
<pre>
- freetype26.lib - release build; single threaded
- freetype26_D.lib - debug build; single threaded
- freetype26MT.lib - release build; multi-threaded
- freetype26MT_D.lib - debug build; multi-threaded</pre>
+ freetype261.lib - release build; single threaded
+ freetype261_D.lib - debug build; single threaded
+ freetype261MT.lib - release build; multi-threaded
+ freetype261MT_D.lib - debug build; multi-threaded</pre>
</ul>
<p>Be sure to extract the files with the Windows (CR+LF) line endings. ZIP
archives are already stored this way, so no further action is required. If
you use some <tt>.tar.*z</tt> archives, be sure to configure your extracting
tool to convert the line endings. For example, with <a
-href="http://www.winzip.com">WinZip</a>, you should activate the <it>TAR
-file smart CR/LF Conversion</it> option. Alternatively, you may consider
+href="http://www.winzip.com">WinZip</a>, you should activate the <em>TAR
+file smart CR/LF Conversion</em> option. Alternatively, you may consider
using the <tt>unix2dos</tt> or <tt>u2d</tt> utilities that are floating
around, which specifically deal with this particular problem.
diff --git a/lib/freetype/builds/wince/vc2008-ce/freetype.vcproj b/lib/freetype/builds/wince/vc2008-ce/freetype.vcproj
index 4faf5b400..982570523 100644
--- a/lib/freetype/builds/wince/vc2008-ce/freetype.vcproj
+++ b/lib/freetype/builds/wince/vc2008-ce/freetype.vcproj
@@ -88,7 +88,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\wince\vc2008-ce\freetype26.lib"
+ OutputFile="..\..\..\objs\wince\vc2008-ce\freetype261.lib"
SuppressStartupBanner="true"
/>
<Tool
@@ -177,7 +177,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\wince\vc2008-ce\freetype26.lib"
+ OutputFile="..\..\..\objs\wince\vc2008-ce\freetype261.lib"
SuppressStartupBanner="true"
/>
<Tool
@@ -266,7 +266,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\wince\vc2008-ce\freetype26.lib"
+ OutputFile="..\..\..\objs\wince\vc2008-ce\freetype261.lib"
SuppressStartupBanner="true"
/>
<Tool
@@ -355,7 +355,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\wince\vc2008-ce\freetype26.lib"
+ OutputFile="..\..\..\objs\wince\vc2008-ce\freetype261.lib"
SuppressStartupBanner="true"
/>
<Tool
@@ -444,7 +444,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\wince\vc2008-ce\freetype26.lib"
+ OutputFile="..\..\..\objs\wince\vc2008-ce\freetype261.lib"
SuppressStartupBanner="true"
/>
<Tool
@@ -533,7 +533,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\wince\vc2008-ce\freetype26.lib"
+ OutputFile="..\..\..\objs\wince\vc2008-ce\freetype261.lib"
SuppressStartupBanner="true"
/>
<Tool
@@ -621,7 +621,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\wince\vc2008-ce\freetype26MT.lib"
+ OutputFile="..\..\..\objs\wince\vc2008-ce\freetype261MT.lib"
SuppressStartupBanner="true"
/>
<Tool
@@ -709,7 +709,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\wince\vc2008-ce\freetype26MT.lib"
+ OutputFile="..\..\..\objs\wince\vc2008-ce\freetype261MT.lib"
SuppressStartupBanner="true"
/>
<Tool
@@ -797,7 +797,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\wince\vc2008-ce\freetype26MT.lib"
+ OutputFile="..\..\..\objs\wince\vc2008-ce\freetype261MT.lib"
SuppressStartupBanner="true"
/>
<Tool
@@ -885,7 +885,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\wince\vc2008-ce\freetype26MT.lib"
+ OutputFile="..\..\..\objs\wince\vc2008-ce\freetype261MT.lib"
SuppressStartupBanner="true"
/>
<Tool
@@ -973,7 +973,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\wince\vc2008-ce\freetype26MT.lib"
+ OutputFile="..\..\..\objs\wince\vc2008-ce\freetype261MT.lib"
SuppressStartupBanner="true"
/>
<Tool
@@ -1061,7 +1061,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\wince\vc2008-ce\freetype26MT.lib"
+ OutputFile="..\..\..\objs\wince\vc2008-ce\freetype261MT.lib"
SuppressStartupBanner="true"
/>
<Tool
@@ -1149,7 +1149,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\wince\vc2008-ce\freetype26ST.lib"
+ OutputFile="..\..\..\objs\wince\vc2008-ce\freetype261ST.lib"
/>
<Tool
Name="VCALinkTool"
@@ -1236,7 +1236,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\wince\vc2008-ce\freetype26ST.lib"
+ OutputFile="..\..\..\objs\wince\vc2008-ce\freetype261ST.lib"
/>
<Tool
Name="VCALinkTool"
@@ -1323,7 +1323,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\wince\vc2008-ce\freetype26ST.lib"
+ OutputFile="..\..\..\objs\wince\vc2008-ce\freetype261ST.lib"
/>
<Tool
Name="VCALinkTool"
@@ -1410,7 +1410,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\wince\vc2008-ce\freetype26ST.lib"
+ OutputFile="..\..\..\objs\wince\vc2008-ce\freetype261ST.lib"
/>
<Tool
Name="VCALinkTool"
@@ -1497,7 +1497,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\wince\vc2008-ce\freetype26ST.lib"
+ OutputFile="..\..\..\objs\wince\vc2008-ce\freetype261ST.lib"
/>
<Tool
Name="VCALinkTool"
@@ -1584,7 +1584,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\wince\vc2008-ce\freetype26ST.lib"
+ OutputFile="..\..\..\objs\wince\vc2008-ce\freetype261ST.lib"
/>
<Tool
Name="VCALinkTool"
@@ -1668,7 +1668,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\wince\vc2008-ce\freetype26_D.lib"
+ OutputFile="..\..\..\objs\wince\vc2008-ce\freetype261_D.lib"
SuppressStartupBanner="true"
/>
<Tool
@@ -1753,7 +1753,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\wince\vc2008-ce\freetype26_D.lib"
+ OutputFile="..\..\..\objs\wince\vc2008-ce\freetype261_D.lib"
SuppressStartupBanner="true"
/>
<Tool
@@ -1838,7 +1838,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\wince\vc2008-ce\freetype26_D.lib"
+ OutputFile="..\..\..\objs\wince\vc2008-ce\freetype261_D.lib"
SuppressStartupBanner="true"
/>
<Tool
@@ -1923,7 +1923,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\wince\vc2008-ce\freetype26_D.lib"
+ OutputFile="..\..\..\objs\wince\vc2008-ce\freetype261_D.lib"
SuppressStartupBanner="true"
/>
<Tool
@@ -2008,7 +2008,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\wince\vc2008-ce\freetype26_D.lib"
+ OutputFile="..\..\..\objs\wince\vc2008-ce\freetype261_D.lib"
SuppressStartupBanner="true"
/>
<Tool
@@ -2093,7 +2093,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\wince\vc2008-ce\freetype26_D.lib"
+ OutputFile="..\..\..\objs\wince\vc2008-ce\freetype261_D.lib"
SuppressStartupBanner="true"
/>
<Tool
@@ -2178,7 +2178,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\wince\vc2008-ce\freetype26ST_D.lib"
+ OutputFile="..\..\..\objs\wince\vc2008-ce\freetype261ST_D.lib"
SuppressStartupBanner="true"
/>
<Tool
@@ -2263,7 +2263,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\wince\vc2008-ce\freetype26ST_D.lib"
+ OutputFile="..\..\..\objs\wince\vc2008-ce\freetype261ST_D.lib"
SuppressStartupBanner="true"
/>
<Tool
@@ -2348,7 +2348,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\wince\vc2008-ce\freetype26ST_D.lib"
+ OutputFile="..\..\..\objs\wince\vc2008-ce\freetype261ST_D.lib"
SuppressStartupBanner="true"
/>
<Tool
@@ -2433,7 +2433,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\wince\vc2008-ce\freetype26ST_D.lib"
+ OutputFile="..\..\..\objs\wince\vc2008-ce\freetype261ST_D.lib"
SuppressStartupBanner="true"
/>
<Tool
@@ -2518,7 +2518,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\wince\vc2008-ce\freetype26ST_D.lib"
+ OutputFile="..\..\..\objs\wince\vc2008-ce\freetype261ST_D.lib"
SuppressStartupBanner="true"
/>
<Tool
@@ -2603,7 +2603,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\wince\vc2008-ce\freetype26ST_D.lib"
+ OutputFile="..\..\..\objs\wince\vc2008-ce\freetype261ST_D.lib"
SuppressStartupBanner="true"
/>
<Tool
@@ -2689,7 +2689,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\wince\vc2008-ce\freetype26MT_D.lib"
+ OutputFile="..\..\..\objs\wince\vc2008-ce\freetype261MT_D.lib"
SuppressStartupBanner="true"
/>
<Tool
@@ -2775,7 +2775,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\wince\vc2008-ce\freetype26MT_D.lib"
+ OutputFile="..\..\..\objs\wince\vc2008-ce\freetype261MT_D.lib"
SuppressStartupBanner="true"
/>
<Tool
@@ -2861,7 +2861,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\wince\vc2008-ce\freetype26MT_D.lib"
+ OutputFile="..\..\..\objs\wince\vc2008-ce\freetype261MT_D.lib"
SuppressStartupBanner="true"
/>
<Tool
@@ -2947,7 +2947,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\wince\vc2008-ce\freetype26MT_D.lib"
+ OutputFile="..\..\..\objs\wince\vc2008-ce\freetype261MT_D.lib"
SuppressStartupBanner="true"
/>
<Tool
@@ -3033,7 +3033,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\wince\vc2008-ce\freetype26MT_D.lib"
+ OutputFile="..\..\..\objs\wince\vc2008-ce\freetype261MT_D.lib"
SuppressStartupBanner="true"
/>
<Tool
@@ -3119,7 +3119,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\wince\vc2008-ce\freetype26MT_D.lib"
+ OutputFile="..\..\..\objs\wince\vc2008-ce\freetype261MT_D.lib"
SuppressStartupBanner="true"
/>
<Tool
@@ -3205,7 +3205,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\wince\vc2008-ce\freetype26MT.lib"
+ OutputFile="..\..\..\objs\wince\vc2008-ce\freetype261MT.lib"
SuppressStartupBanner="true"
/>
<Tool
@@ -3279,7 +3279,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\wince\vc2008-ce\freetype26MT_D.lib"
+ OutputFile="..\..\..\objs\wince\vc2008-ce\freetype261MT_D.lib"
SuppressStartupBanner="true"
/>
<Tool
@@ -13469,23 +13469,23 @@
>
</File>
<File
- RelativePath="..\..\..\include\config\ftconfig.h"
+ RelativePath="..\..\..\include\freetype\config\ftconfig.h"
>
</File>
<File
- RelativePath="..\..\..\include\config\ftheader.h"
+ RelativePath="..\..\..\include\freetype\config\ftheader.h"
>
</File>
<File
- RelativePath="..\..\..\include\config\ftmodule.h"
+ RelativePath="..\..\..\include\freetype\config\ftmodule.h"
>
</File>
<File
- RelativePath="..\..\..\include\config\ftoption.h"
+ RelativePath="..\..\..\include\freetype\config\ftoption.h"
>
</File>
<File
- RelativePath="..\..\..\include\config\ftstdlib.h"
+ RelativePath="..\..\..\include\freetype\config\ftstdlib.h"
>
</File>
</Filter>
diff --git a/lib/freetype/builds/wince/vc2008-ce/index.html b/lib/freetype/builds/wince/vc2008-ce/index.html
index ebf13768b..94da87401 100644
--- a/lib/freetype/builds/wince/vc2008-ce/index.html
+++ b/lib/freetype/builds/wince/vc2008-ce/index.html
@@ -21,22 +21,22 @@ the following targets:
<li>PPC/SP WM6 (Windows Mobile 6)</li>
</ul>
-It compiles the following libraries from the FreeType 2.6 sources:</p>
+It compiles the following libraries from the FreeType 2.6.1 sources:</p>
<ul>
<pre>
- freetype26.lib - release build; single threaded
- freetype26_D.lib - debug build; single threaded
- freetype26MT.lib - release build; multi-threaded
- freetype26MT_D.lib - debug build; multi-threaded</pre>
+ freetype261.lib - release build; single threaded
+ freetype261_D.lib - debug build; single threaded
+ freetype261MT.lib - release build; multi-threaded
+ freetype261MT_D.lib - debug build; multi-threaded</pre>
</ul>
<p>Be sure to extract the files with the Windows (CR+LF) line endings. ZIP
archives are already stored this way, so no further action is required. If
you use some <tt>.tar.*z</tt> archives, be sure to configure your extracting
tool to convert the line endings. For example, with <a
-href="http://www.winzip.com">WinZip</a>, you should activate the <it>TAR
-file smart CR/LF Conversion</it> option. Alternatively, you may consider
+href="http://www.winzip.com">WinZip</a>, you should activate the <em>TAR
+file smart CR/LF Conversion</em> option. Alternatively, you may consider
using the <tt>unix2dos</tt> or <tt>u2d</tt> utilities that are floating
around, which specifically deal with this particular problem.
diff --git a/lib/freetype/builds/windows/ftdebug.c b/lib/freetype/builds/windows/ftdebug.c
index 2adcc52b4..09c3b65a7 100644
--- a/lib/freetype/builds/windows/ftdebug.c
+++ b/lib/freetype/builds/windows/ftdebug.c
@@ -137,8 +137,8 @@
/* for the memory and stream components which are set to 6 and 5, */
/* respectively. */
/* */
- /* See the file <internal/fttrace.h> for details of the available toggle */
- /* names. */
+ /* See the file `include/freetype/internal/fttrace.h' for details of the */
+ /* available toggle names. */
/* */
/* The level must be between 0 and 6; 0 means quiet (except for serious */
/* runtime errors), and 6 means _very_ verbose. */
diff --git a/lib/freetype/builds/windows/vc2005/freetype.vcproj b/lib/freetype/builds/windows/vc2005/freetype.vcproj
index eb52ab556..9c69edace 100644
--- a/lib/freetype/builds/windows/vc2005/freetype.vcproj
+++ b/lib/freetype/builds/windows/vc2005/freetype.vcproj
@@ -16,7 +16,7 @@
<Tool Name="VCManagedResourceCompilerTool" />
<Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" />
<Tool Name="VCPreLinkEventTool" />
- <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\win32\vc2005\freetype26.lib" SuppressStartupBanner="true" />
+ <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\win32\vc2005\freetype261.lib" SuppressStartupBanner="true" />
<Tool Name="VCALinkTool" />
<Tool Name="VCXDCMakeTool" />
<Tool Name="VCBscMakeTool" />
@@ -33,7 +33,7 @@
<Tool Name="VCManagedResourceCompilerTool" />
<Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" />
<Tool Name="VCPreLinkEventTool" />
- <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\win32\vc2005\freetype26MT.lib" SuppressStartupBanner="true" />
+ <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\win32\vc2005\freetype261MT.lib" SuppressStartupBanner="true" />
<Tool Name="VCALinkTool" />
<Tool Name="VCXDCMakeTool" />
<Tool Name="VCBscMakeTool" />
@@ -50,7 +50,7 @@
<Tool Name="VCManagedResourceCompilerTool" />
<Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" />
<Tool Name="VCPreLinkEventTool" />
- <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\win32\vc2005\freetype26ST.lib" />
+ <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\win32\vc2005\freetype261ST.lib" />
<Tool Name="VCALinkTool" />
<Tool Name="VCXDCMakeTool" />
<Tool Name="VCBscMakeTool" />
@@ -67,7 +67,7 @@
<Tool Name="VCManagedResourceCompilerTool" />
<Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033" />
<Tool Name="VCPreLinkEventTool" />
- <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\win32\vc2005\freetype26_D.lib" SuppressStartupBanner="true" />
+ <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\win32\vc2005\freetype261_D.lib" SuppressStartupBanner="true" />
<Tool Name="VCALinkTool" />
<Tool Name="VCXDCMakeTool" />
<Tool Name="VCBscMakeTool" />
@@ -84,7 +84,7 @@
<Tool Name="VCManagedResourceCompilerTool" />
<Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033" />
<Tool Name="VCPreLinkEventTool" />
- <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\win32\vc2005\freetype26ST_D.lib" SuppressStartupBanner="true" />
+ <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\win32\vc2005\freetype261ST_D.lib" SuppressStartupBanner="true" />
<Tool Name="VCALinkTool" />
<Tool Name="VCXDCMakeTool" />
<Tool Name="VCBscMakeTool" />
@@ -101,7 +101,7 @@
<Tool Name="VCManagedResourceCompilerTool" />
<Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033" />
<Tool Name="VCPreLinkEventTool" />
- <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\win32\vc2005\freetype26MT_D.lib" SuppressStartupBanner="true" />
+ <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\win32\vc2005\freetype261MT_D.lib" SuppressStartupBanner="true" />
<Tool Name="VCALinkTool" />
<Tool Name="VCXDCMakeTool" />
<Tool Name="VCBscMakeTool" />
@@ -629,15 +629,15 @@
<Filter Name="Header Files" Filter="h;hpp;hxx;hm;inl">
<File RelativePath="..\..\..\include\ft2build.h">
</File>
- <File RelativePath="..\..\..\include\config\ftconfig.h">
+ <File RelativePath="..\..\..\include\freetype\config\ftconfig.h">
</File>
- <File RelativePath="..\..\..\include\config\ftheader.h">
+ <File RelativePath="..\..\..\include\freetype\config\ftheader.h">
</File>
- <File RelativePath="..\..\..\include\config\ftmodule.h">
+ <File RelativePath="..\..\..\include\freetype\config\ftmodule.h">
</File>
- <File RelativePath="..\..\..\include\config\ftoption.h">
+ <File RelativePath="..\..\..\include\freetype\config\ftoption.h">
</File>
- <File RelativePath="..\..\..\include\config\ftstdlib.h">
+ <File RelativePath="..\..\..\include\freetype\config\ftstdlib.h">
</File>
</Filter>
</Files>
diff --git a/lib/freetype/builds/windows/vc2005/index.html b/lib/freetype/builds/windows/vc2005/index.html
index 7d47e39a4..30e40ded4 100644
--- a/lib/freetype/builds/windows/vc2005/index.html
+++ b/lib/freetype/builds/windows/vc2005/index.html
@@ -11,22 +11,22 @@
<p>This directory contains project files for Visual C++, named
<tt>freetype.vcproj</tt>, and Visual Studio, called <tt>freetype.sln</tt>. It
-compiles the following libraries from the FreeType 2.6 sources:</p>
+compiles the following libraries from the FreeType 2.6.1 sources:</p>
<ul>
<pre>
- freetype26.lib - release build; single threaded
- freetype26_D.lib - debug build; single threaded
- freetype26MT.lib - release build; multi-threaded
- freetype26MT_D.lib - debug build; multi-threaded</pre>
+ freetype261.lib - release build; single threaded
+ freetype261_D.lib - debug build; single threaded
+ freetype261MT.lib - release build; multi-threaded
+ freetype261MT_D.lib - debug build; multi-threaded</pre>
</ul>
<p>Be sure to extract the files with the Windows (CR+LF) line endings. ZIP
archives are already stored this way, so no further action is required. If
you use some <tt>.tar.*z</tt> archives, be sure to configure your extracting
tool to convert the line endings. For example, with <a
-href="http://www.winzip.com">WinZip</a>, you should activate the <it>TAR
-file smart CR/LF Conversion</it> option. Alternatively, you may consider
+href="http://www.winzip.com">WinZip</a>, you should activate the <em>TAR
+file smart CR/LF Conversion</em> option. Alternatively, you may consider
using the <tt>unix2dos</tt> or <tt>u2d</tt> utilities that are floating
around, which specifically deal with this particular problem.
diff --git a/lib/freetype/builds/windows/vc2008/freetype.vcproj b/lib/freetype/builds/windows/vc2008/freetype.vcproj
index 738fe7ccf..d0364f6f0 100644
--- a/lib/freetype/builds/windows/vc2008/freetype.vcproj
+++ b/lib/freetype/builds/windows/vc2008/freetype.vcproj
@@ -70,7 +70,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\win32\vc2008\freetype26.lib"
+ OutputFile="..\..\..\objs\win32\vc2008\freetype261.lib"
SuppressStartupBanner="true"
/>
<Tool
@@ -145,7 +145,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\win32\vc2008\freetype26MT.lib"
+ OutputFile="..\..\..\objs\win32\vc2008\freetype261MT.lib"
SuppressStartupBanner="true"
/>
<Tool
@@ -220,7 +220,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\win32\vc2008\freetype26ST.lib"
+ OutputFile="..\..\..\objs\win32\vc2008\freetype261ST.lib"
/>
<Tool
Name="VCALinkTool"
@@ -292,7 +292,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\win32\vc2008\freetype26_D.lib"
+ OutputFile="..\..\..\objs\win32\vc2008\freetype261_D.lib"
SuppressStartupBanner="true"
/>
<Tool
@@ -365,7 +365,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\win32\vc2008\freetype26ST_D.lib"
+ OutputFile="..\..\..\objs\win32\vc2008\freetype261ST_D.lib"
SuppressStartupBanner="true"
/>
<Tool
@@ -439,7 +439,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\win32\vc2008\freetype26MT_D.lib"
+ OutputFile="..\..\..\objs\win32\vc2008\freetype261MT_D.lib"
SuppressStartupBanner="true"
/>
<Tool
@@ -2154,23 +2154,23 @@
>
</File>
<File
- RelativePath="..\..\..\include\config\ftconfig.h"
+ RelativePath="..\..\..\include\freetype\config\ftconfig.h"
>
</File>
<File
- RelativePath="..\..\..\include\config\ftheader.h"
+ RelativePath="..\..\..\include\freetype\config\ftheader.h"
>
</File>
<File
- RelativePath="..\..\..\include\config\ftmodule.h"
+ RelativePath="..\..\..\include\freetype\config\ftmodule.h"
>
</File>
<File
- RelativePath="..\..\..\include\config\ftoption.h"
+ RelativePath="..\..\..\include\freetype\config\ftoption.h"
>
</File>
<File
- RelativePath="..\..\..\include\config\ftstdlib.h"
+ RelativePath="..\..\..\include\freetype\config\ftstdlib.h"
>
</File>
</Filter>
diff --git a/lib/freetype/builds/windows/vc2008/index.html b/lib/freetype/builds/windows/vc2008/index.html
index 533337f00..ab604d781 100644
--- a/lib/freetype/builds/windows/vc2008/index.html
+++ b/lib/freetype/builds/windows/vc2008/index.html
@@ -11,22 +11,22 @@
<p>This directory contains project files for Visual C++, named
<tt>freetype.vcproj</tt>, and Visual Studio, called <tt>freetype.sln</tt>. It
-compiles the following libraries from the FreeType 2.6 sources:</p>
+compiles the following libraries from the FreeType 2.6.1 sources:</p>
<ul>
<pre>
- freetype26.lib - release build; single threaded
- freetype26_D.lib - debug build; single threaded
- freetype26MT.lib - release build; multi-threaded
- freetype26MT_D.lib - debug build; multi-threaded</pre>
+ freetype261.lib - release build; single threaded
+ freetype261_D.lib - debug build; single threaded
+ freetype261MT.lib - release build; multi-threaded
+ freetype261MT_D.lib - debug build; multi-threaded</pre>
</ul>
<p>Be sure to extract the files with the Windows (CR+LF) line endings. ZIP
archives are already stored this way, so no further action is required. If
you use some <tt>.tar.*z</tt> archives, be sure to configure your extracting
tool to convert the line endings. For example, with <a
-href="http://www.winzip.com">WinZip</a>, you should activate the <it>TAR
-file smart CR/LF Conversion</it> option. Alternatively, you may consider
+href="http://www.winzip.com">WinZip</a>, you should activate the <em>TAR
+file smart CR/LF Conversion</em> option. Alternatively, you may consider
using the <tt>unix2dos</tt> or <tt>u2d</tt> utilities that are floating
around, which specifically deal with this particular problem.
diff --git a/lib/freetype/builds/windows/vc2010/freetype.vcxproj b/lib/freetype/builds/windows/vc2010/freetype.vcxproj
index 3fa8cd2d0..64e330981 100644
--- a/lib/freetype/builds/windows/vc2010/freetype.vcxproj
+++ b/lib/freetype/builds/windows/vc2010/freetype.vcxproj
@@ -191,18 +191,18 @@
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|x64'" />
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|Win32'" />
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|x64'" />
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">freetype26d</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">freetype26d</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">freetype26MTd</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">freetype26MTd</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'">freetype26STd</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'">freetype26STd</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">freetype26</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">freetype26</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|Win32'">freetype26MT</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|x64'">freetype26MT</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|Win32'">freetype26ST</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|x64'">freetype26ST</TargetName>
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">freetype261d</TargetName>
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">freetype261d</TargetName>
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">freetype261MTd</TargetName>
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">freetype261MTd</TargetName>
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'">freetype261STd</TargetName>
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'">freetype261STd</TargetName>
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">freetype261</TargetName>
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">freetype261</TargetName>
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|Win32'">freetype261MT</TargetName>
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|x64'">freetype261MT</TargetName>
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|Win32'">freetype261ST</TargetName>
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|x64'">freetype261ST</TargetName>
</PropertyGroup>
<Import Project="$(SolutionDir)\freetype.user.props" Condition="exists('$(SolutionDir)\freetype.user.props')" Label="UserProperties" />
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
@@ -1706,11 +1706,11 @@
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\..\include\ft2build.h" />
- <ClInclude Include="..\..\..\include\config\ftconfig.h" />
- <ClInclude Include="..\..\..\include\config\ftheader.h" />
- <ClInclude Include="..\..\..\include\config\ftmodule.h" />
- <ClInclude Include="..\..\..\include\config\ftoption.h" />
- <ClInclude Include="..\..\..\include\config\ftstdlib.h" />
+ <ClInclude Include="..\..\..\include\freetype\config\ftconfig.h" />
+ <ClInclude Include="..\..\..\include\freetype\config\ftheader.h" />
+ <ClInclude Include="..\..\..\include\freetype\config\ftmodule.h" />
+ <ClInclude Include="..\..\..\include\freetype\config\ftoption.h" />
+ <ClInclude Include="..\..\..\include\freetype\config\ftstdlib.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
diff --git a/lib/freetype/builds/windows/vc2010/freetype.vcxproj.filters b/lib/freetype/builds/windows/vc2010/freetype.vcxproj.filters
index f762b0b54..29cb5c906 100644
--- a/lib/freetype/builds/windows/vc2010/freetype.vcxproj.filters
+++ b/lib/freetype/builds/windows/vc2010/freetype.vcxproj.filters
@@ -136,19 +136,19 @@
<ClInclude Include="..\..\..\include\ft2build.h">
<Filter>Header Files</Filter>
</ClInclude>
- <ClInclude Include="..\..\..\include\config\ftconfig.h">
+ <ClInclude Include="..\..\..\include\freetype\config\ftconfig.h">
<Filter>Header Files</Filter>
</ClInclude>
- <ClInclude Include="..\..\..\include\config\ftheader.h">
+ <ClInclude Include="..\..\..\include\freetype\config\ftheader.h">
<Filter>Header Files</Filter>
</ClInclude>
- <ClInclude Include="..\..\..\include\config\ftmodule.h">
+ <ClInclude Include="..\..\..\include\freetype\config\ftmodule.h">
<Filter>Header Files</Filter>
</ClInclude>
- <ClInclude Include="..\..\..\include\config\ftoption.h">
+ <ClInclude Include="..\..\..\include\freetype\config\ftoption.h">
<Filter>Header Files</Filter>
</ClInclude>
- <ClInclude Include="..\..\..\include\config\ftstdlib.h">
+ <ClInclude Include="..\..\..\include\freetype\config\ftstdlib.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
diff --git a/lib/freetype/builds/windows/vc2010/index.html b/lib/freetype/builds/windows/vc2010/index.html
index 37e642d3f..24766a6d3 100644
--- a/lib/freetype/builds/windows/vc2010/index.html
+++ b/lib/freetype/builds/windows/vc2010/index.html
@@ -12,16 +12,16 @@
<p>This directory contains a project file for Visual C++ (VS.NET&nbsp;2010
or newer), named <tt>freetype.vcxproj</tt>, and Visual Studio, called
<tt>freetype.sln</tt>. It compiles the following libraries from the
-FreeType 2.6 sources:</p>
+FreeType 2.6.1 sources:</p>
<ul>
<pre>
-freetype26.lib - release build
-freetype26d.lib - debug build
-freetype26ST.lib - release build; single threaded
-freetype26STd.lib - debug build; single threaded
-freetype26MT.lib - release build; multi-threaded
-freetype26MTd.lib - debug build; multi-threaded</pre>
+ freetype261.lib - release build
+ freetype261d.lib - debug build
+ freetype261ST.lib - release build; single threaded
+ freetype261STd.lib - debug build; single threaded
+ freetype261MT.lib - release build; multi-threaded
+ freetype261MTd.lib - debug build; multi-threaded</pre>
</ul>
<p>Both Win32 and x64 builds are supported.</p>
diff --git a/lib/freetype/builds/windows/visualc/freetype.dsp b/lib/freetype/builds/windows/visualc/freetype.dsp
index 6f0310538..807b45f36 100644
--- a/lib/freetype/builds/windows/visualc/freetype.dsp
+++ b/lib/freetype/builds/windows/visualc/freetype.dsp
@@ -54,7 +54,7 @@ BSC32=bscmake.exe
# ADD BSC32 /nologo
LIB32=link.exe -lib
# ADD BASE LIB32 /nologo
-# ADD LIB32 /nologo /out:"..\..\..\objs\freetype26.lib"
+# ADD LIB32 /nologo /out:"..\..\..\objs\freetype261.lib"
!ELSEIF "$(CFG)" == "freetype - Win32 Debug"
@@ -78,7 +78,7 @@ BSC32=bscmake.exe
# ADD BSC32 /nologo
LIB32=link.exe -lib
# ADD BASE LIB32 /nologo
-# ADD LIB32 /nologo /out:"..\..\..\objs\freetype26_D.lib"
+# ADD LIB32 /nologo /out:"..\..\..\objs\freetype261_D.lib"
!ELSEIF "$(CFG)" == "freetype - Win32 Debug Multithreaded"
@@ -102,8 +102,8 @@ BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LIB32=link.exe -lib
-# ADD BASE LIB32 /nologo /out:"lib\freetype26_D.lib"
-# ADD LIB32 /nologo /out:"..\..\..\objs\freetype26MT_D.lib"
+# ADD BASE LIB32 /nologo /out:"lib\freetype261_D.lib"
+# ADD LIB32 /nologo /out:"..\..\..\objs\freetype261MT_D.lib"
!ELSEIF "$(CFG)" == "freetype - Win32 Release Multithreaded"
@@ -126,8 +126,8 @@ BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LIB32=link.exe -lib
-# ADD BASE LIB32 /nologo /out:"lib\freetype26.lib"
-# ADD LIB32 /nologo /out:"..\..\..\objs\freetype26MT.lib"
+# ADD BASE LIB32 /nologo /out:"lib\freetype261.lib"
+# ADD LIB32 /nologo /out:"..\..\..\objs\freetype261MT.lib"
!ELSEIF "$(CFG)" == "freetype - Win32 Release Singlethreaded"
@@ -151,8 +151,8 @@ BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LIB32=link.exe -lib
-# ADD BASE LIB32 /nologo /out:"..\..\..\objs\freetype26.lib"
-# ADD LIB32 /out:"..\..\..\objs\freetype26ST.lib"
+# ADD BASE LIB32 /nologo /out:"..\..\..\objs\freetype261.lib"
+# ADD LIB32 /out:"..\..\..\objs\freetype261ST.lib"
# SUBTRACT LIB32 /nologo
!ELSEIF "$(CFG)" == "freetype - Win32 Debug Singlethreaded"
@@ -177,8 +177,8 @@ BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LIB32=link.exe -lib
-# ADD BASE LIB32 /nologo /out:"..\..\..\objs\freetype26_D.lib"
-# ADD LIB32 /nologo /out:"..\..\..\objs\freetype26ST_D.lib"
+# ADD BASE LIB32 /nologo /out:"..\..\..\objs\freetype261_D.lib"
+# ADD LIB32 /nologo /out:"..\..\..\objs\freetype261ST_D.lib"
!ENDIF
@@ -377,23 +377,23 @@ SOURCE=..\..\..\include\ft2build.h
# End Source File
# Begin Source File
-SOURCE=..\..\..\include\config\ftconfig.h
+SOURCE=..\..\..\include\freetype\config\ftconfig.h
# End Source File
# Begin Source File
-SOURCE=..\..\..\include\config\ftheader.h
+SOURCE=..\..\..\include\freetype\config\ftheader.h
# End Source File
# Begin Source File
-SOURCE=..\..\..\include\config\ftmodule.h
+SOURCE=..\..\..\include\freetype\config\ftmodule.h
# End Source File
# Begin Source File
-SOURCE=..\..\..\include\config\ftoption.h
+SOURCE=..\..\..\include\freetype\config\ftoption.h
# End Source File
# Begin Source File
-SOURCE=..\..\..\include\config\ftstdlib.h
+SOURCE=..\..\..\include\freetype\config\ftstdlib.h
# End Source File
# End Group
# End Target
diff --git a/lib/freetype/builds/windows/visualc/freetype.vcproj b/lib/freetype/builds/windows/visualc/freetype.vcproj
index f43496494..41394f987 100644
--- a/lib/freetype/builds/windows/visualc/freetype.vcproj
+++ b/lib/freetype/builds/windows/visualc/freetype.vcproj
@@ -69,7 +69,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype26.lib"
+ OutputFile="..\..\..\objs\freetype261.lib"
SuppressStartupBanner="true"
/>
<Tool
@@ -144,7 +144,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype26MT.lib"
+ OutputFile="..\..\..\objs\freetype261MT.lib"
SuppressStartupBanner="true"
/>
<Tool
@@ -219,7 +219,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype26ST.lib"
+ OutputFile="..\..\..\objs\freetype261ST.lib"
/>
<Tool
Name="VCALinkTool"
@@ -291,7 +291,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype26_D.lib"
+ OutputFile="..\..\..\objs\freetype261_D.lib"
SuppressStartupBanner="true"
/>
<Tool
@@ -364,7 +364,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype26ST_D.lib"
+ OutputFile="..\..\..\objs\freetype261ST_D.lib"
SuppressStartupBanner="true"
/>
<Tool
@@ -438,7 +438,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype26MT_D.lib"
+ OutputFile="..\..\..\objs\freetype261MT_D.lib"
SuppressStartupBanner="true"
/>
<Tool
@@ -2153,23 +2153,23 @@
>
</File>
<File
- RelativePath="..\..\..\include\config\ftconfig.h"
+ RelativePath="..\..\..\include\freetype\config\ftconfig.h"
>
</File>
<File
- RelativePath="..\..\..\include\config\ftheader.h"
+ RelativePath="..\..\..\include\freetype\config\ftheader.h"
>
</File>
<File
- RelativePath="..\..\..\include\config\ftmodule.h"
+ RelativePath="..\..\..\include\freetype\config\ftmodule.h"
>
</File>
<File
- RelativePath="..\..\..\include\config\ftoption.h"
+ RelativePath="..\..\..\include\freetype\config\ftoption.h"
>
</File>
<File
- RelativePath="..\..\..\include\config\ftstdlib.h"
+ RelativePath="..\..\..\include\freetype\config\ftstdlib.h"
>
</File>
</Filter>
diff --git a/lib/freetype/builds/windows/visualc/index.html b/lib/freetype/builds/windows/visualc/index.html
index 2beb8a913..cc0e1c211 100644
--- a/lib/freetype/builds/windows/visualc/index.html
+++ b/lib/freetype/builds/windows/visualc/index.html
@@ -11,22 +11,22 @@
<p>This directory contains project files for Visual C++, named
<tt>freetype.dsp</tt>, and Visual Studio, called <tt>freetype.sln</tt>. It
-compiles the following libraries from the FreeType 2.6 sources:</p>
+compiles the following libraries from the FreeType 2.6.1 sources:</p>
<ul>
<pre>
- freetype26.lib - release build; single threaded
- freetype26_D.lib - debug build; single threaded
- freetype26MT.lib - release build; multi-threaded
- freetype26MT_D.lib - debug build; multi-threaded</pre>
+ freetype261.lib - release build; single threaded
+ freetype261_D.lib - debug build; single threaded
+ freetype261MT.lib - release build; multi-threaded
+ freetype261MT_D.lib - debug build; multi-threaded</pre>
</ul>
<p>Be sure to extract the files with the Windows (CR+LF) line endings. ZIP
archives are already stored this way, so no further action is required. If
you use some <tt>.tar.*z</tt> archives, be sure to configure your extracting
tool to convert the line endings. For example, with <a
-href="http://www.winzip.com">WinZip</a>, you should activate the <it>TAR
-file smart CR/LF Conversion</it> option. Alternatively, you may consider
+href="http://www.winzip.com">WinZip</a>, you should activate the <em>TAR
+file smart CR/LF Conversion</em> option. Alternatively, you may consider
using the <tt>unix2dos</tt> or <tt>u2d</tt> utilities that are floating
around, which specifically deal with this particular problem.
diff --git a/lib/freetype/builds/windows/visualce/freetype.dsp b/lib/freetype/builds/windows/visualce/freetype.dsp
index 6f0310538..807b45f36 100644
--- a/lib/freetype/builds/windows/visualce/freetype.dsp
+++ b/lib/freetype/builds/windows/visualce/freetype.dsp
@@ -54,7 +54,7 @@ BSC32=bscmake.exe
# ADD BSC32 /nologo
LIB32=link.exe -lib
# ADD BASE LIB32 /nologo
-# ADD LIB32 /nologo /out:"..\..\..\objs\freetype26.lib"
+# ADD LIB32 /nologo /out:"..\..\..\objs\freetype261.lib"
!ELSEIF "$(CFG)" == "freetype - Win32 Debug"
@@ -78,7 +78,7 @@ BSC32=bscmake.exe
# ADD BSC32 /nologo
LIB32=link.exe -lib
# ADD BASE LIB32 /nologo
-# ADD LIB32 /nologo /out:"..\..\..\objs\freetype26_D.lib"
+# ADD LIB32 /nologo /out:"..\..\..\objs\freetype261_D.lib"
!ELSEIF "$(CFG)" == "freetype - Win32 Debug Multithreaded"
@@ -102,8 +102,8 @@ BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LIB32=link.exe -lib
-# ADD BASE LIB32 /nologo /out:"lib\freetype26_D.lib"
-# ADD LIB32 /nologo /out:"..\..\..\objs\freetype26MT_D.lib"
+# ADD BASE LIB32 /nologo /out:"lib\freetype261_D.lib"
+# ADD LIB32 /nologo /out:"..\..\..\objs\freetype261MT_D.lib"
!ELSEIF "$(CFG)" == "freetype - Win32 Release Multithreaded"
@@ -126,8 +126,8 @@ BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LIB32=link.exe -lib
-# ADD BASE LIB32 /nologo /out:"lib\freetype26.lib"
-# ADD LIB32 /nologo /out:"..\..\..\objs\freetype26MT.lib"
+# ADD BASE LIB32 /nologo /out:"lib\freetype261.lib"
+# ADD LIB32 /nologo /out:"..\..\..\objs\freetype261MT.lib"
!ELSEIF "$(CFG)" == "freetype - Win32 Release Singlethreaded"
@@ -151,8 +151,8 @@ BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LIB32=link.exe -lib
-# ADD BASE LIB32 /nologo /out:"..\..\..\objs\freetype26.lib"
-# ADD LIB32 /out:"..\..\..\objs\freetype26ST.lib"
+# ADD BASE LIB32 /nologo /out:"..\..\..\objs\freetype261.lib"
+# ADD LIB32 /out:"..\..\..\objs\freetype261ST.lib"
# SUBTRACT LIB32 /nologo
!ELSEIF "$(CFG)" == "freetype - Win32 Debug Singlethreaded"
@@ -177,8 +177,8 @@ BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LIB32=link.exe -lib
-# ADD BASE LIB32 /nologo /out:"..\..\..\objs\freetype26_D.lib"
-# ADD LIB32 /nologo /out:"..\..\..\objs\freetype26ST_D.lib"
+# ADD BASE LIB32 /nologo /out:"..\..\..\objs\freetype261_D.lib"
+# ADD LIB32 /nologo /out:"..\..\..\objs\freetype261ST_D.lib"
!ENDIF
@@ -377,23 +377,23 @@ SOURCE=..\..\..\include\ft2build.h
# End Source File
# Begin Source File
-SOURCE=..\..\..\include\config\ftconfig.h
+SOURCE=..\..\..\include\freetype\config\ftconfig.h
# End Source File
# Begin Source File
-SOURCE=..\..\..\include\config\ftheader.h
+SOURCE=..\..\..\include\freetype\config\ftheader.h
# End Source File
# Begin Source File
-SOURCE=..\..\..\include\config\ftmodule.h
+SOURCE=..\..\..\include\freetype\config\ftmodule.h
# End Source File
# Begin Source File
-SOURCE=..\..\..\include\config\ftoption.h
+SOURCE=..\..\..\include\freetype\config\ftoption.h
# End Source File
# Begin Source File
-SOURCE=..\..\..\include\config\ftstdlib.h
+SOURCE=..\..\..\include\freetype\config\ftstdlib.h
# End Source File
# End Group
# End Target
diff --git a/lib/freetype/builds/windows/visualce/freetype.vcproj b/lib/freetype/builds/windows/visualce/freetype.vcproj
index 69a9e97e8..de95e24f2 100644
--- a/lib/freetype/builds/windows/visualce/freetype.vcproj
+++ b/lib/freetype/builds/windows/visualce/freetype.vcproj
@@ -87,7 +87,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype26.lib"
+ OutputFile="..\..\..\objs\freetype261.lib"
SuppressStartupBanner="true"
/>
<Tool
@@ -162,7 +162,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype26MT.lib"
+ OutputFile="..\..\..\objs\freetype261MT.lib"
SuppressStartupBanner="true"
/>
<Tool
@@ -237,7 +237,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype26ST.lib"
+ OutputFile="..\..\..\objs\freetype261ST.lib"
/>
<Tool
Name="VCALinkTool"
@@ -309,7 +309,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype26_D.lib"
+ OutputFile="..\..\..\objs\freetype261_D.lib"
SuppressStartupBanner="true"
/>
<Tool
@@ -382,7 +382,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype26ST_D.lib"
+ OutputFile="..\..\..\objs\freetype261ST_D.lib"
SuppressStartupBanner="true"
/>
<Tool
@@ -456,7 +456,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype26MT_D.lib"
+ OutputFile="..\..\..\objs\freetype261MT_D.lib"
SuppressStartupBanner="true"
/>
<Tool
@@ -534,7 +534,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype26.lib"
+ OutputFile="..\..\..\objs\freetype261.lib"
SuppressStartupBanner="true"
/>
<Tool
@@ -619,7 +619,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype26MT.lib"
+ OutputFile="..\..\..\objs\freetype261MT.lib"
SuppressStartupBanner="true"
/>
<Tool
@@ -704,7 +704,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype26ST.lib"
+ OutputFile="..\..\..\objs\freetype261ST.lib"
/>
<Tool
Name="VCALinkTool"
@@ -785,7 +785,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype26_D.lib"
+ OutputFile="..\..\..\objs\freetype261_D.lib"
SuppressStartupBanner="true"
/>
<Tool
@@ -867,7 +867,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype26ST_D.lib"
+ OutputFile="..\..\..\objs\freetype261ST_D.lib"
SuppressStartupBanner="true"
/>
<Tool
@@ -950,7 +950,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype26MT_D.lib"
+ OutputFile="..\..\..\objs\freetype261MT_D.lib"
SuppressStartupBanner="true"
/>
<Tool
@@ -1036,7 +1036,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype26.lib"
+ OutputFile="..\..\..\objs\freetype261.lib"
SuppressStartupBanner="true"
/>
<Tool
@@ -1121,7 +1121,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype26MT.lib"
+ OutputFile="..\..\..\objs\freetype261MT.lib"
SuppressStartupBanner="true"
/>
<Tool
@@ -1206,7 +1206,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype26ST.lib"
+ OutputFile="..\..\..\objs\freetype261ST.lib"
/>
<Tool
Name="VCALinkTool"
@@ -1287,7 +1287,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype26_D.lib"
+ OutputFile="..\..\..\objs\freetype261_D.lib"
SuppressStartupBanner="true"
/>
<Tool
@@ -1369,7 +1369,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype26ST_D.lib"
+ OutputFile="..\..\..\objs\freetype261ST_D.lib"
SuppressStartupBanner="true"
/>
<Tool
@@ -1452,7 +1452,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype26MT_D.lib"
+ OutputFile="..\..\..\objs\freetype261MT_D.lib"
SuppressStartupBanner="true"
/>
<Tool
@@ -1538,7 +1538,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype26.lib"
+ OutputFile="..\..\..\objs\freetype261.lib"
SuppressStartupBanner="true"
/>
<Tool
@@ -1623,7 +1623,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype26MT.lib"
+ OutputFile="..\..\..\objs\freetype261MT.lib"
SuppressStartupBanner="true"
/>
<Tool
@@ -1708,7 +1708,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype26ST.lib"
+ OutputFile="..\..\..\objs\freetype261ST.lib"
/>
<Tool
Name="VCALinkTool"
@@ -1789,7 +1789,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype26_D.lib"
+ OutputFile="..\..\..\objs\freetype261_D.lib"
SuppressStartupBanner="true"
/>
<Tool
@@ -1871,7 +1871,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype26ST_D.lib"
+ OutputFile="..\..\..\objs\freetype261ST_D.lib"
SuppressStartupBanner="true"
/>
<Tool
@@ -1954,7 +1954,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype26MT_D.lib"
+ OutputFile="..\..\..\objs\freetype261MT_D.lib"
SuppressStartupBanner="true"
/>
<Tool
@@ -2040,7 +2040,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype26.lib"
+ OutputFile="..\..\..\objs\freetype261.lib"
SuppressStartupBanner="true"
/>
<Tool
@@ -2125,7 +2125,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype26MT.lib"
+ OutputFile="..\..\..\objs\freetype261MT.lib"
SuppressStartupBanner="true"
/>
<Tool
@@ -2210,7 +2210,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype26ST.lib"
+ OutputFile="..\..\..\objs\freetype261ST.lib"
/>
<Tool
Name="VCALinkTool"
@@ -2291,7 +2291,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype26_D.lib"
+ OutputFile="..\..\..\objs\freetype261_D.lib"
SuppressStartupBanner="true"
/>
<Tool
@@ -2373,7 +2373,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype26ST_D.lib"
+ OutputFile="..\..\..\objs\freetype261ST_D.lib"
SuppressStartupBanner="true"
/>
<Tool
@@ -2456,7 +2456,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype26MT_D.lib"
+ OutputFile="..\..\..\objs\freetype261MT_D.lib"
SuppressStartupBanner="true"
/>
<Tool
@@ -2542,7 +2542,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype26.lib"
+ OutputFile="..\..\..\objs\freetype261.lib"
SuppressStartupBanner="true"
/>
<Tool
@@ -2627,7 +2627,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype26MT.lib"
+ OutputFile="..\..\..\objs\freetype261MT.lib"
SuppressStartupBanner="true"
/>
<Tool
@@ -2712,7 +2712,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype26ST.lib"
+ OutputFile="..\..\..\objs\freetype261ST.lib"
/>
<Tool
Name="VCALinkTool"
@@ -2793,7 +2793,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype26_D.lib"
+ OutputFile="..\..\..\objs\freetype261_D.lib"
SuppressStartupBanner="true"
/>
<Tool
@@ -2875,7 +2875,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype26ST_D.lib"
+ OutputFile="..\..\..\objs\freetype261ST_D.lib"
SuppressStartupBanner="true"
/>
<Tool
@@ -2958,7 +2958,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype26MT_D.lib"
+ OutputFile="..\..\..\objs\freetype261MT_D.lib"
SuppressStartupBanner="true"
/>
<Tool
@@ -3044,7 +3044,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype26.lib"
+ OutputFile="..\..\..\objs\freetype261.lib"
SuppressStartupBanner="true"
/>
<Tool
@@ -3129,7 +3129,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype26MT.lib"
+ OutputFile="..\..\..\objs\freetype261MT.lib"
SuppressStartupBanner="true"
/>
<Tool
@@ -3214,7 +3214,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype26ST.lib"
+ OutputFile="..\..\..\objs\freetype261ST.lib"
/>
<Tool
Name="VCALinkTool"
@@ -3295,7 +3295,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype26_D.lib"
+ OutputFile="..\..\..\objs\freetype261_D.lib"
SuppressStartupBanner="true"
/>
<Tool
@@ -3377,7 +3377,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype26ST_D.lib"
+ OutputFile="..\..\..\objs\freetype261ST_D.lib"
SuppressStartupBanner="true"
/>
<Tool
@@ -3460,7 +3460,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype26MT_D.lib"
+ OutputFile="..\..\..\objs\freetype261MT_D.lib"
SuppressStartupBanner="true"
/>
<Tool
@@ -13859,23 +13859,23 @@
>
</File>
<File
- RelativePath="..\..\..\include\config\ftconfig.h"
+ RelativePath="..\..\..\include\freetype\config\ftconfig.h"
>
</File>
<File
- RelativePath="..\..\..\include\config\ftheader.h"
+ RelativePath="..\..\..\include\freetype\config\ftheader.h"
>
</File>
<File
- RelativePath="..\..\..\include\config\ftmodule.h"
+ RelativePath="..\..\..\include\freetype\config\ftmodule.h"
>
</File>
<File
- RelativePath="..\..\..\include\config\ftoption.h"
+ RelativePath="..\..\..\include\freetype\config\ftoption.h"
>
</File>
<File
- RelativePath="..\..\..\include\config\ftstdlib.h"
+ RelativePath="..\..\..\include\freetype\config\ftstdlib.h"
>
</File>
</Filter>
diff --git a/lib/freetype/builds/windows/visualce/index.html b/lib/freetype/builds/windows/visualce/index.html
index 90334f536..836a798a3 100644
--- a/lib/freetype/builds/windows/visualce/index.html
+++ b/lib/freetype/builds/windows/visualce/index.html
@@ -21,22 +21,22 @@ the following targets:
<li>PPC/SP WM6 (Windows Mobile 6)</li>
</ul>
-It compiles the following libraries from the FreeType 2.6 sources:</p>
+It compiles the following libraries from the FreeType 2.6.1 sources:</p>
<ul>
<pre>
- freetype26.lib - release build; single threaded
- freetype26_D.lib - debug build; single threaded
- freetype26MT.lib - release build; multi-threaded
- freetype26MT_D.lib - debug build; multi-threaded</pre>
+ freetype261.lib - release build; single threaded
+ freetype261_D.lib - debug build; single threaded
+ freetype261MT.lib - release build; multi-threaded
+ freetype261MT_D.lib - debug build; multi-threaded</pre>
</ul>
<p>Be sure to extract the files with the Windows (CR+LF) line endings. ZIP
archives are already stored this way, so no further action is required. If
you use some <tt>.tar.*z</tt> archives, be sure to configure your extracting
tool to convert the line endings. For example, with <a
-href="http://www.winzip.com">WinZip</a>, you should activate the <it>TAR
-file smart CR/LF Conversion</it> option. Alternatively, you may consider
+href="http://www.winzip.com">WinZip</a>, you should activate the <em>TAR
+file smart CR/LF Conversion</em> option. Alternatively, you may consider
using the <tt>unix2dos</tt> or <tt>u2d</tt> utilities that are floating
around, which specifically deal with this particular problem.
diff --git a/lib/freetype/devel/ft2build.h b/lib/freetype/devel/ft2build.h
index 8e9653dbd..b9eade2dd 100644
--- a/lib/freetype/devel/ft2build.h
+++ b/lib/freetype/devel/ft2build.h
@@ -32,7 +32,7 @@
#define FT_CONFIG_OPTIONS_H <ftoption.h>
-#include <config/ftheader.h>
+#include <freetype/config/ftheader.h>
#endif /* __FT2BUILD_H__ */
diff --git a/lib/freetype/devel/ftoption.h b/lib/freetype/devel/ftoption.h
index ed63aa0cf..eda772e84 100644
--- a/lib/freetype/devel/ftoption.h
+++ b/lib/freetype/devel/ftoption.h
@@ -38,9 +38,9 @@ FT_BEGIN_HEADER
/* library from a single source directory. */
/* */
/* - You can put a copy of this file in your build directory, more */
- /* precisely in `$BUILD/config/ftoption.h', where `$BUILD' is the */
- /* name of a directory that is included _before_ the FreeType include */
- /* path during compilation. */
+ /* precisely in `$BUILD/freetype/config/ftoption.h', where `$BUILD' */
+ /* is the name of a directory that is included _before_ the FreeType */
+ /* include path during compilation. */
/* */
/* The default FreeType Makefiles and Jamfiles use the build */
/* directory `builds/<system>' by default, but you can easily change */
@@ -51,7 +51,7 @@ FT_BEGIN_HEADER
/* locate this file during the build. For example, */
/* */
/* #define FT_CONFIG_OPTIONS_H <myftoptions.h> */
- /* #include <config/ftheader.h> */
+ /* #include <freetype/config/ftheader.h> */
/* */
/* will use `$BUILD/myftoptions.h' instead of this file for macro */
/* definitions. */
@@ -59,7 +59,7 @@ FT_BEGIN_HEADER
/* 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 <config/ftmodule.h>. */
+ /* default, this file is <freetype/config/ftmodule.h>. */
/* */
/* We highly recommend using the third method whenever possible. */
/* */
diff --git a/lib/freetype/docs/CHANGES b/lib/freetype/docs/CHANGES
index bc177cff6..ffc686b46 100644
--- a/lib/freetype/docs/CHANGES
+++ b/lib/freetype/docs/CHANGES
@@ -1,3 +1,83 @@
+CHANGES BETWEEN 2.6 and 2.6.1
+
+ I. IMPORTANT BUG FIXES
+
+ - It turned out that for CFFs only the advance widths should be
+ taken from the `htmx' table, not the side bearings. This bug,
+ introduced in version 2.6.0, makes it necessary to upgrade if
+ you are using CFFs; otherwise, you get cropped glyphs with GUI
+ interfaces like GTK or Qt.
+
+ - Accessing Type 42 fonts returned incorrect results if the glyph
+ order of the embedded TrueType font differs from the glyph order
+ of the Type 42 charstrings table.
+
+
+ II. IMPORTANT CHANGES
+
+ - The header file layout has been changed (again), moving all
+ header files except `ft2build.h' into a subdirectory tree.
+
+ Doing so reduces the possibility of header file name clashes
+ (e.g., FTGL's `FTGlyph.h' with FreeType's `ftglyph.h') on case
+ insensitive file systems like Mac OS X or Windows.
+
+ Applications that use (a) the `freetype-config' script or
+ FreeType's `freetype2.pc' file for pkg-config to get the include
+ directory for the compiler, and (b) the documented way for
+ header inclusion like
+
+ #include <ft2build.h>
+ #include FT_FREETYPE_H
+ ...
+
+ don't need any change to the source code.
+
+ - Simple access to named instances in GX variation fonts is now
+ available (in addition to the previous method via FreeType's MM
+ interface). In the `FT_Face' structure, bits 16-30 of the
+ `face_index' field hold the current named instance index for the
+ given face index, and bits 16-30 of `style_flags' contain the
+ number of instances for the given face index. `FT_Open_Face'
+ and friends also understand the extended bits of the face index
+ parameter.
+
+ You need to enable TT_CONFIG_OPTION_GX_VAR_SUPPORT for this new
+ feature. Otherwise, bits 16-30 of the two fields are zero (or
+ are ignored).
+
+ - Lao script support has been added to the auto-hinter.
+
+
+ III. MISCELLANEOUS
+
+ - The auto-hinter's Arabic script support has been enhanced.
+
+ - Superscript-like and subscript-like glyphs as used by various
+ phonetic alphabets like the IPA are now better supported by the
+ auto-hinter.
+
+ - The TrueType bytecode interpreter now runs slightly faster.
+
+ - Improved support for builds with cmake.
+
+ - The function `FT_CeilFix' now always rounds towards plus
+ infinity.
+
+ - The function `FT_FloorFix' now always rounds towards minus
+ infinity.
+
+ - A new load flag `FT_LOAD_COMPUTE_METRICS' has been added; it
+ makes FreeType ignore pre-computed metrics, as needed by font
+ validating or font editing programs. Right now, only the
+ TrueType module supports it to ignore data from the `hdmx'
+ table.
+
+ - Another round of bug fixes to better handle broken fonts, found
+ by Kostya Serebryany <kcc@google.com>.
+
+
+======================================================================
CHANGES BETWEEN 2.5.5 and 2.6
diff --git a/lib/freetype/docs/CUSTOMIZE b/lib/freetype/docs/CUSTOMIZE
index 831edf679..42fc31381 100644
--- a/lib/freetype/docs/CUSTOMIZE
+++ b/lib/freetype/docs/CUSTOMIZE
@@ -8,7 +8,7 @@ How to customize the compilation of the library
I. Configuration macros
- The file found in `include/config/ftoption.h' contains a list of
+ The file `include/freetype/config/ftoption.h' contains a list of
commented configuration macros that can be toggled by developers to
indicate which features should be active while building the library.
@@ -35,9 +35,9 @@ II. Modules list
can keep the source files `clean'.
If you don't use GNU make you have to manually edit the file
- `include/config/ftmodule.h' (which is *not* used with if compiled
- with GNU make) to add or remove the drivers and components you want
- to compile into the library. See `INSTALL.ANY' for more
+ `include/freetype/config/ftmodule.h' (which is *not* used with if
+ compiled with GNU make) to add or remove the drivers and components
+ you want to compile into the library. See `INSTALL.ANY' for more
information.
@@ -95,8 +95,9 @@ IV. Overriding default configuration and module headers
#include FT_CONFIG_OPTIONS_H
#include FT_CONFIG_MODULES_H
- are compiled. Their default values being <config/ftoption.h> and
- <config/ftmodule.h>, you can do something like:
+ are compiled. Their default values being
+ <freetype/config/ftoption.h> and <freetype/config/ftmodule.h>, you
+ can do something like:
custom/
config/
@@ -122,7 +123,7 @@ IV. Overriding default configuration and module headers
#define FT_CONFIG_OPTIONS_H <custom/my-ftoption.h>
#define FT_CONFIG_MODULES_H <custom/my-ftmodule.h>
- #include <config/ftheader.h>
+ #include <freetype/config/ftheader.h>
#endif /* __FT2_BUILD_MY_PLATFORM_H__ */
diff --git a/lib/freetype/docs/INSTALL.ANY b/lib/freetype/docs/INSTALL.ANY
index e7d6ddd18..23b66e46c 100644
--- a/lib/freetype/docs/INSTALL.ANY
+++ b/lib/freetype/docs/INSTALL.ANY
@@ -16,8 +16,8 @@ I. Standard procedure
which are not correctly supported by this compiler while being ISO
C compliant!
- * You need to add the directories `freetype2/include' to your
- include path when compiling the library.
+ * You need to add the directory `include' to your include path when
+ compiling the library.
* FreeType 2 is made of several components; each of them is located
in a subdirectory of `freetype2/src'. For example,
@@ -103,7 +103,7 @@ I. Standard procedure
`type1cid.c' needs `psaux.c', `pshinter.c', and `psnames.c'
`type42.c' needs `truetype.c'
- Please consult the central `include/config/ftoption.h'
+ Please consult the central `include/freetype/config/ftoption.h'
configuration file for details on additional libraries necessary
for some optional features.
@@ -132,10 +132,10 @@ II. Support for flat-directory compilation
2. Compile sources
- cc -c -Ifreetype2/include -DFT2_BUILD_LIBRARY ftsystem.c
- cc -c -Ifreetype2/include -DFT2_BUILD_LIBRARY ftinit.c
- cc -c -Ifreetype2/include -DFT2_BUILD_LIBRARY ftdebug.c
- cc -c -Ifreetype2/include -DFT2_BUILD_LIBRARY ftbase.c
+ cc -c -Iinclude -DFT2_BUILD_LIBRARY ftsystem.c
+ cc -c -Iinclude -DFT2_BUILD_LIBRARY ftinit.c
+ cc -c -Iinclude -DFT2_BUILD_LIBRARY ftdebug.c
+ cc -c -Iinclude -DFT2_BUILD_LIBRARY ftbase.c
etc.
You don't need to define the FT_FLAT_COMPILATION macro (as this
diff --git a/lib/freetype/docs/VERSION.DLL b/lib/freetype/docs/VERSION.DLL
index f219c9ac9..a28bd5be0 100644
--- a/lib/freetype/docs/VERSION.DLL
+++ b/lib/freetype/docs/VERSION.DLL
@@ -45,13 +45,14 @@ The release number is also available at *runtime* through the
2. History
----------
-The following table gives, for all releases since 2.3.0, the
+The following table gives, for all releases since 2.4.0, the
corresponding libtool number, as well as the shared object number found
on _most_ systems, but not all of them:
release libtool so
-------------------------------
+ 2.6.1 18.1.12 6.12.1
2.6.0 18.0.12 6.12.0
2.5.5 17.4.11 6.11.4
2.5.4 17.3.11 6.11.3
@@ -72,19 +73,6 @@ on _most_ systems, but not all of them:
2.4.2 12.0.6 6.6.0
2.4.1 11.1.5 6.5.1
2.4.0 11.0.5 6.5.0
- 2.3.12 10.0.4 6.4.0
- 2.3.11 9.22.3 6.3.22
- 2.3.10 9.21.3 6.3.21
- 2.3.9 9.20.3 6.3.20
- 2.3.8 9.19.3 6.3.19
- 2.3.7 9.18.3 6.3.18
- 2.3.6 9.17.3 6.3.17
- 2.3.5 9.16.3 6.3.16
- 2.3.4 9.15.3 6.3.15
- 2.3.3 9.14.3 6.3.14
- 2.3.2 9.13.3 6.3.13
- 2.3.1 9.12.3 6.3.12
- 2.3.0 9.11.3 6.3.11
3. Autoconf Code Fragment
diff --git a/lib/freetype/docs/freetype-config.1 b/lib/freetype/docs/freetype-config.1
index cdab34b51..8ccec438c 100644
--- a/lib/freetype/docs/freetype-config.1
+++ b/lib/freetype/docs/freetype-config.1
@@ -1,4 +1,4 @@
-.TH FREETYPE-CONFIG 1 "June 2015" "FreeType 2.6"
+.TH FREETYPE-CONFIG 1 "October 2015" "FreeType 2.6.1"
.
.
.SH NAME
diff --git a/lib/freetype/docs/reference/ft2-auto_hinter.html b/lib/freetype/docs/reference/ft2-auto_hinter.html
index d03fb9fbe..f93947812 100644
--- a/lib/freetype/docs/reference/ft2-auto_hinter.html
+++ b/lib/freetype/docs/reference/ft2-auto_hinter.html
@@ -3,7 +3,7 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.6 API Reference</title>
+<title>FreeType-2.6.1 API Reference</title>
<style type="text/css">
a:link { color: #0000EF; }
a:visited { color: #51188E; }
@@ -100,7 +100,7 @@
<body>
<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table>
-<h1>FreeType-2.6 API Reference</h1>
+<h1>FreeType-2.6.1 API Reference</h1>
<h1>The auto-hinter</h1>
<h2>Synopsis</h2>
@@ -147,7 +147,7 @@
<div class="section">
<h3 id="FT_AUTOHINTER_SCRIPT_XXX">FT_AUTOHINTER_SCRIPT_XXX</h3>
-<p>Defined in FT_AUTOHINTER_H (ftautoh.h).</p>
+<p>Defined in FT_AUTOHINTER_H (freetype/ftautoh.h).</p>
<pre>
#define <a href="ft2-auto_hinter.html#FT_AUTOHINTER_SCRIPT_NONE">FT_AUTOHINTER_SCRIPT_NONE</a> 0
#define <a href="ft2-auto_hinter.html#FT_AUTOHINTER_SCRIPT_LATIN">FT_AUTOHINTER_SCRIPT_LATIN</a> 1
@@ -258,12 +258,12 @@
<div class="section">
<h3 id="FT_Prop_GlyphToScriptMap">FT_Prop_GlyphToScriptMap</h3>
-<p>Defined in FT_AUTOHINTER_H (ftautoh.h).</p>
+<p>Defined in FT_AUTOHINTER_H (freetype/ftautoh.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Prop_GlyphToScriptMap_
{
- <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face;
- <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a>* map;
+ <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face;
+ <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>* map;
} <b>FT_Prop_GlyphToScriptMap</b>;
</pre>
@@ -351,7 +351,7 @@
<div class="section">
<h3 id="FT_Prop_IncreaseXHeight">FT_Prop_IncreaseXHeight</h3>
-<p>Defined in FT_AUTOHINTER_H (ftautoh.h).</p>
+<p>Defined in FT_AUTOHINTER_H (freetype/ftautoh.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Prop_IncreaseXHeight_
{
diff --git a/lib/freetype/docs/reference/ft2-base_interface.html b/lib/freetype/docs/reference/ft2-base_interface.html
index 132cd353b..d482de6c4 100644
--- a/lib/freetype/docs/reference/ft2-base_interface.html
+++ b/lib/freetype/docs/reference/ft2-base_interface.html
@@ -3,7 +3,7 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.6 API Reference</title>
+<title>FreeType-2.6.1 API Reference</title>
<style type="text/css">
a:link { color: #0000EF; }
a:visited { color: #51188E; }
@@ -100,7 +100,7 @@
<body>
<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table>
-<h1>FreeType-2.6 API Reference</h1>
+<h1>FreeType-2.6.1 API Reference</h1>
<h1>Base Interface</h1>
<h2>Synopsis</h2>
@@ -159,7 +159,7 @@
<div class="section">
<h3 id="FT_Library">FT_Library</h3>
-<p>Defined in FT_FREETYPE_H (freetype.h).</p>
+<p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">struct</span> FT_LibraryRec_ *<b>FT_Library</b>;
</pre>
@@ -176,7 +176,7 @@
<div class="section">
<h3 id="FT_Face">FT_Face</h3>
-<p>Defined in FT_FREETYPE_H (freetype.h).</p>
+<p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">struct</span> FT_FaceRec_* <b>FT_Face</b>;
</pre>
@@ -197,7 +197,7 @@
<div class="section">
<h3 id="FT_Size">FT_Size</h3>
-<p>Defined in FT_FREETYPE_H (freetype.h).</p>
+<p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">struct</span> FT_SizeRec_* <b>FT_Size</b>;
</pre>
@@ -217,7 +217,7 @@
<div class="section">
<h3 id="FT_GlyphSlot">FT_GlyphSlot</h3>
-<p>Defined in FT_FREETYPE_H (freetype.h).</p>
+<p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">struct</span> FT_GlyphSlotRec_* <b>FT_GlyphSlot</b>;
</pre>
@@ -233,7 +233,7 @@
<div class="section">
<h3 id="FT_CharMap">FT_CharMap</h3>
-<p>Defined in FT_FREETYPE_H (freetype.h).</p>
+<p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">struct</span> FT_CharMapRec_* <b>FT_CharMap</b>;
</pre>
@@ -254,7 +254,7 @@
<div class="section">
<h3 id="FT_Encoding">FT_Encoding</h3>
-<p>Defined in FT_FREETYPE_H (freetype.h).</p>
+<p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">enum</span> FT_Encoding_
{
@@ -390,7 +390,7 @@
<div class="section">
<h3 id="FT_ENC_TAG">FT_ENC_TAG</h3>
-<p>Defined in FT_FREETYPE_H (freetype.h).</p>
+<p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p>
<pre>
#ifndef <b>FT_ENC_TAG</b>
#define <b>FT_ENC_TAG</b>( value, a, b, c, d ) \
@@ -416,7 +416,7 @@
<div class="section">
<h3 id="FT_FaceRec">FT_FaceRec</h3>
-<p>Defined in FT_FREETYPE_H (freetype.h).</p>
+<p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">struct</span> FT_FaceRec_
{
@@ -485,13 +485,15 @@
<p>The number of faces in the font file. Some font formats can have multiple faces in a font file.</p>
</td></tr>
<tr><td class="val" id="face_index">face_index</td><td class="desc">
-<p>The index of the face in the font file. It is set to&nbsp;0 if there is only one face in the font file.</p>
+<p>This field holds two different values. Bits 0-15 are the index of the face in the font file (starting with value&nbsp;0). They are set to&nbsp;0 if there is only one face in the font file.</p>
+<p>Bits 16-30 are relevant to GX variation fonts only, holding the named instance index for the current face index (starting with value&nbsp;1; value&nbsp;0 indicates font access without GX variation data). For non-GX fonts, bits 16-30 are ignored. If we have the third named instance of face&nbsp;4, say, &lsquo;face_index&rsquo; is set to 0x00030004.</p>
+<p>Bit 31 is always zero (this is, &lsquo;face_index&rsquo; is always a positive value).</p>
</td></tr>
<tr><td class="val" id="face_flags">face_flags</td><td class="desc">
<p>A set of bit flags that give important information about the face; see <a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_XXX</a> for the details.</p>
</td></tr>
<tr><td class="val" id="style_flags">style_flags</td><td class="desc">
-<p>A set of bit flags indicating the style of the face; see <a href="ft2-base_interface.html#FT_STYLE_FLAG_XXX">FT_STYLE_FLAG_XXX</a> for the details.</p>
+<p>The lower 16&nbsp;bits contain a set of bit flags indicating the style of the face; see <a href="ft2-base_interface.html#FT_STYLE_FLAG_XXX">FT_STYLE_FLAG_XXX</a> for the details. Bits 16-30 hold the number of named instances available for the current face if we have a GX variation (sub)font. Bit 31 is always zero (this is, &lsquo;style_flags&rsquo; is always a positive value).</p>
</td></tr>
<tr><td class="val" id="num_glyphs">num_glyphs</td><td class="desc">
<p>The number of glyphs in the face. If the face is scalable and has sbits (see &lsquo;num_fixed_sizes&rsquo;), it is set to the number of outline glyphs.</p>
@@ -567,7 +569,7 @@
<div class="section">
<h3 id="FT_HAS_HORIZONTAL">FT_HAS_HORIZONTAL</h3>
-<p>Defined in FT_FREETYPE_H (freetype.h).</p>
+<p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p>
<pre>
#define <b>FT_HAS_HORIZONTAL</b>( face ) \
( face-&gt;face_flags &amp; <a href="ft2-base_interface.html#FT_FACE_FLAG_HORIZONTAL">FT_FACE_FLAG_HORIZONTAL</a> )
@@ -583,7 +585,7 @@
<div class="section">
<h3 id="FT_HAS_VERTICAL">FT_HAS_VERTICAL</h3>
-<p>Defined in FT_FREETYPE_H (freetype.h).</p>
+<p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p>
<pre>
#define <b>FT_HAS_VERTICAL</b>( face ) \
( face-&gt;face_flags &amp; <a href="ft2-base_interface.html#FT_FACE_FLAG_VERTICAL">FT_FACE_FLAG_VERTICAL</a> )
@@ -596,7 +598,7 @@
<div class="section">
<h3 id="FT_HAS_KERNING">FT_HAS_KERNING</h3>
-<p>Defined in FT_FREETYPE_H (freetype.h).</p>
+<p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p>
<pre>
#define <b>FT_HAS_KERNING</b>( face ) \
( face-&gt;face_flags &amp; <a href="ft2-base_interface.html#FT_FACE_FLAG_KERNING">FT_FACE_FLAG_KERNING</a> )
@@ -609,7 +611,7 @@
<div class="section">
<h3 id="FT_HAS_FIXED_SIZES">FT_HAS_FIXED_SIZES</h3>
-<p>Defined in FT_FREETYPE_H (freetype.h).</p>
+<p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p>
<pre>
#define <b>FT_HAS_FIXED_SIZES</b>( face ) \
( face-&gt;face_flags &amp; <a href="ft2-base_interface.html#FT_FACE_FLAG_FIXED_SIZES">FT_FACE_FLAG_FIXED_SIZES</a> )
@@ -622,7 +624,7 @@
<div class="section">
<h3 id="FT_HAS_GLYPH_NAMES">FT_HAS_GLYPH_NAMES</h3>
-<p>Defined in FT_FREETYPE_H (freetype.h).</p>
+<p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p>
<pre>
#define <b>FT_HAS_GLYPH_NAMES</b>( face ) \
( face-&gt;face_flags &amp; <a href="ft2-base_interface.html#FT_FACE_FLAG_GLYPH_NAMES">FT_FACE_FLAG_GLYPH_NAMES</a> )
@@ -635,7 +637,7 @@
<div class="section">
<h3 id="FT_HAS_MULTIPLE_MASTERS">FT_HAS_MULTIPLE_MASTERS</h3>
-<p>Defined in FT_FREETYPE_H (freetype.h).</p>
+<p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p>
<pre>
#define <b>FT_HAS_MULTIPLE_MASTERS</b>( face ) \
( face-&gt;face_flags &amp; <a href="ft2-base_interface.html#FT_FACE_FLAG_MULTIPLE_MASTERS">FT_FACE_FLAG_MULTIPLE_MASTERS</a> )
@@ -648,7 +650,7 @@
<div class="section">
<h3 id="FT_HAS_COLOR">FT_HAS_COLOR</h3>
-<p>Defined in FT_FREETYPE_H (freetype.h).</p>
+<p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p>
<pre>
#define <b>FT_HAS_COLOR</b>( face ) \
( face-&gt;face_flags &amp; <a href="ft2-base_interface.html#FT_FACE_FLAG_COLOR">FT_FACE_FLAG_COLOR</a> )
@@ -661,7 +663,7 @@
<div class="section">
<h3 id="FT_IS_SFNT">FT_IS_SFNT</h3>
-<p>Defined in FT_FREETYPE_H (freetype.h).</p>
+<p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p>
<pre>
#define <b>FT_IS_SFNT</b>( face ) \
( face-&gt;face_flags &amp; <a href="ft2-base_interface.html#FT_FACE_FLAG_SFNT">FT_FACE_FLAG_SFNT</a> )
@@ -675,7 +677,7 @@
<div class="section">
<h3 id="FT_IS_SCALABLE">FT_IS_SCALABLE</h3>
-<p>Defined in FT_FREETYPE_H (freetype.h).</p>
+<p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p>
<pre>
#define <b>FT_IS_SCALABLE</b>( face ) \
( face-&gt;face_flags &amp; <a href="ft2-base_interface.html#FT_FACE_FLAG_SCALABLE">FT_FACE_FLAG_SCALABLE</a> )
@@ -688,7 +690,7 @@
<div class="section">
<h3 id="FT_IS_FIXED_WIDTH">FT_IS_FIXED_WIDTH</h3>
-<p>Defined in FT_FREETYPE_H (freetype.h).</p>
+<p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p>
<pre>
#define <b>FT_IS_FIXED_WIDTH</b>( face ) \
( face-&gt;face_flags &amp; <a href="ft2-base_interface.html#FT_FACE_FLAG_FIXED_WIDTH">FT_FACE_FLAG_FIXED_WIDTH</a> )
@@ -701,7 +703,7 @@
<div class="section">
<h3 id="FT_IS_CID_KEYED">FT_IS_CID_KEYED</h3>
-<p>Defined in FT_FREETYPE_H (freetype.h).</p>
+<p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p>
<pre>
#define <b>FT_IS_CID_KEYED</b>( face ) \
( face-&gt;face_flags &amp; <a href="ft2-base_interface.html#FT_FACE_FLAG_CID_KEYED">FT_FACE_FLAG_CID_KEYED</a> )
@@ -715,7 +717,7 @@
<div class="section">
<h3 id="FT_IS_TRICKY">FT_IS_TRICKY</h3>
-<p>Defined in FT_FREETYPE_H (freetype.h).</p>
+<p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p>
<pre>
#define <b>FT_IS_TRICKY</b>( face ) \
( face-&gt;face_flags &amp; <a href="ft2-base_interface.html#FT_FACE_FLAG_TRICKY">FT_FACE_FLAG_TRICKY</a> )
@@ -728,7 +730,7 @@
<div class="section">
<h3 id="FT_SizeRec">FT_SizeRec</h3>
-<p>Defined in FT_FREETYPE_H (freetype.h).</p>
+<p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">struct</span> FT_SizeRec_
{
@@ -760,7 +762,7 @@
<div class="section">
<h3 id="FT_Size_Metrics">FT_Size_Metrics</h3>
-<p>Defined in FT_FREETYPE_H (freetype.h).</p>
+<p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Size_Metrics_
{
@@ -819,7 +821,7 @@
<div class="section">
<h3 id="FT_GlyphSlotRec">FT_GlyphSlotRec</h3>
-<p>Defined in FT_FREETYPE_H (freetype.h).</p>
+<p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">struct</span> FT_GlyphSlotRec_
{
@@ -962,7 +964,7 @@
<div class="section">
<h3 id="FT_Glyph_Metrics">FT_Glyph_Metrics</h3>
-<p>Defined in FT_FREETYPE_H (freetype.h).</p>
+<p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Glyph_Metrics_
{
@@ -1019,7 +1021,7 @@
<div class="section">
<h3 id="FT_SubGlyph">FT_SubGlyph</h3>
-<p>Defined in FT_FREETYPE_H (freetype.h).</p>
+<p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">struct</span> FT_SubGlyphRec_* <b>FT_SubGlyph</b>;
</pre>
@@ -1035,7 +1037,7 @@
<div class="section">
<h3 id="FT_Bitmap_Size">FT_Bitmap_Size</h3>
-<p>Defined in FT_FREETYPE_H (freetype.h).</p>
+<p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Bitmap_Size_
{
@@ -1080,7 +1082,7 @@
<div class="section">
<h3 id="FT_Init_FreeType">FT_Init_FreeType</h3>
-<p>Defined in FT_FREETYPE_H (freetype.h).</p>
+<p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
<b>FT_Init_FreeType</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> *alibrary );
@@ -1108,7 +1110,7 @@
<div class="section">
<h3 id="FT_Done_FreeType">FT_Done_FreeType</h3>
-<p>Defined in FT_FREETYPE_H (freetype.h).</p>
+<p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
<b>FT_Done_FreeType</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library );
@@ -1131,7 +1133,7 @@
<div class="section">
<h3 id="FT_New_Face">FT_New_Face</h3>
-<p>Defined in FT_FREETYPE_H (freetype.h).</p>
+<p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
<b>FT_New_Face</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library,
@@ -1155,14 +1157,14 @@
<p>A path to the font file.</p>
</td></tr>
<tr><td class="val" id="face_index">face_index</td><td class="desc">
-<p>The index of the face within the font. The first face has index&nbsp;0.</p>
+<p>See <a href="ft2-base_interface.html#FT_Open_Face">FT_Open_Face</a> for a detailed description of this parameter.</p>
</td></tr>
</table>
<h4>output</h4>
<table class="fields">
<tr><td class="val" id="aface">aface</td><td class="desc">
-<p>A handle to a new face object. If &lsquo;face_index&rsquo; is greater than or equal to zero, it must be non-NULL. See <a href="ft2-base_interface.html#FT_Open_Face">FT_Open_Face</a> for more details.</p>
+<p>A handle to a new face object. If &lsquo;face_index&rsquo; is greater than or equal to zero, it must be non-NULL.</p>
</td></tr>
</table>
@@ -1177,7 +1179,7 @@
<div class="section">
<h3 id="FT_Done_Face">FT_Done_Face</h3>
-<p>Defined in FT_FREETYPE_H (freetype.h).</p>
+<p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
<b>FT_Done_Face</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face );
@@ -1203,7 +1205,7 @@
<div class="section">
<h3 id="FT_Reference_Face">FT_Reference_Face</h3>
-<p>Defined in FT_FREETYPE_H (freetype.h).</p>
+<p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
<b>FT_Reference_Face</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face );
@@ -1230,7 +1232,7 @@
<div class="section">
<h3 id="FT_New_Memory_Face">FT_New_Memory_Face</h3>
-<p>Defined in FT_FREETYPE_H (freetype.h).</p>
+<p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
<b>FT_New_Memory_Face</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library,
@@ -1258,14 +1260,14 @@
<p>The size of the memory chunk used by the font data.</p>
</td></tr>
<tr><td class="val" id="face_index">face_index</td><td class="desc">
-<p>The index of the face within the font. The first face has index&nbsp;0.</p>
+<p>See <a href="ft2-base_interface.html#FT_Open_Face">FT_Open_Face</a> for a detailed description of this parameter.</p>
</td></tr>
</table>
<h4>output</h4>
<table class="fields">
<tr><td class="val" id="aface">aface</td><td class="desc">
-<p>A handle to a new face object. If &lsquo;face_index&rsquo; is greater than or equal to zero, it must be non-NULL. See <a href="ft2-base_interface.html#FT_Open_Face">FT_Open_Face</a> for more details.</p>
+<p>A handle to a new face object. If &lsquo;face_index&rsquo; is greater than or equal to zero, it must be non-NULL.</p>
</td></tr>
</table>
@@ -1280,7 +1282,7 @@
<div class="section">
<h3 id="FT_Open_Face">FT_Open_Face</h3>
-<p>Defined in FT_FREETYPE_H (freetype.h).</p>
+<p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
<b>FT_Open_Face</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library,
@@ -1304,14 +1306,16 @@
<p>A pointer to an &lsquo;FT_Open_Args&rsquo; structure that must be filled by the caller.</p>
</td></tr>
<tr><td class="val" id="face_index">face_index</td><td class="desc">
-<p>The index of the face within the font. The first face has index&nbsp;0.</p>
+<p>This field holds two different values. Bits 0-15 are the index of the face in the font file (starting with value&nbsp;0). Set it to&nbsp;0 if there is only one face in the font file.</p>
+<p>Bits 16-30 are relevant to GX variation fonts only, specifying the named instance index for the current face index (starting with value&nbsp;1; value&nbsp;0 makes FreeType ignore named instances). For non-GX fonts, bits 16-30 are ignored. Assuming that you want to access the third named instance in face&nbsp;4, &lsquo;face_index&rsquo; should be set to 0x00030004. If you want to access face&nbsp;4 without GX variation handling, simply set &lsquo;face_index&rsquo; to value&nbsp;4.</p>
+<p>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 &lsquo;face_index&rsquo; argument is negative, the function's return value is&nbsp;0 if the font format is recognized, or non-zero otherwise. The function allocates a more or less empty face handle in &lsquo;*aface&rsquo; (if &lsquo;aface&rsquo; isn't NULL); the only two useful fields in this special case are &lsquo;face-&gt;num_faces&rsquo; and &lsquo;face-&gt;style_flags&rsquo;. For any negative value of &lsquo;face_index&rsquo;, &lsquo;face-&gt;num_faces&rsquo; gives the number of faces within the font file. For the negative value &lsquo;-(N+1)&rsquo; (with &lsquo;N&rsquo; a 16-bit value), bits 16-30 in &lsquo;face-&gt;style_flags&rsquo; give the number of named instances in face &lsquo;N&rsquo; if we have a GX variation font (or zero otherwise). After examination, the returned <a href="ft2-base_interface.html#FT_Face">FT_Face</a> structure should be deallocated with a call to <a href="ft2-base_interface.html#FT_Done_Face">FT_Done_Face</a>.</p>
</td></tr>
</table>
<h4>output</h4>
<table class="fields">
<tr><td class="val" id="aface">aface</td><td class="desc">
-<p>A handle to a new face object. If &lsquo;face_index&rsquo; is greater than or equal to zero, it must be non-NULL. See note below.</p>
+<p>A handle to a new face object. If &lsquo;face_index&rsquo; is greater than or equal to zero, it must be non-NULL.</p>
</td></tr>
</table>
@@ -1320,17 +1324,75 @@
<h4>note</h4>
<p>Unlike FreeType 1.x, this function automatically creates a glyph slot for the face object that can be accessed directly through &lsquo;face-&gt;glyph&rsquo;.</p>
-<p>FT_Open_Face can be used to quickly check whether the font format of a given font resource is supported by FreeType. If the &lsquo;face_index&rsquo; field is negative, the function's return value is&nbsp;0 if the font format is recognized, or non-zero otherwise; the function returns a more or less empty face handle in &lsquo;*aface&rsquo; (if &lsquo;aface&rsquo; isn't NULL). The only useful field in this special case is &lsquo;face-&gt;num_faces&rsquo; that gives the number of faces within the font file. After examination, the returned <a href="ft2-base_interface.html#FT_Face">FT_Face</a> structure should be deallocated with a call to <a href="ft2-base_interface.html#FT_Done_Face">FT_Done_Face</a>.</p>
<p>Each new face object created with this function also owns a default <a href="ft2-base_interface.html#FT_Size">FT_Size</a> object, accessible as &lsquo;face-&gt;size&rsquo;.</p>
<p>One <a href="ft2-base_interface.html#FT_Library">FT_Library</a> instance can have multiple face objects, this is, <a href="ft2-base_interface.html#FT_Open_Face">FT_Open_Face</a> and its siblings can be called multiple times using the same &lsquo;library&rsquo; argument.</p>
<p>See the discussion of reference counters in the description of <a href="ft2-base_interface.html#FT_Reference_Face">FT_Reference_Face</a>.</p>
+<p>To loop over all faces, use code similar to the following snippet (omitting the error handling).</p>
+<pre class="colored">
+ ...
+ FT_Face face;
+ FT_Long i, num_faces;
+
+
+ error = FT_Open_Face( library, args, -1, &amp;face );
+ if ( error ) { ... }
+
+ num_faces = face-&gt;num_faces;
+ FT_Done_Face( face );
+
+ for ( i = 0; i &lt; num_faces; i++ )
+ {
+ ...
+ error = FT_Open_Face( library, args, i, &amp;face );
+ ...
+ FT_Done_Face( face );
+ ...
+ }
+</pre>
+<p>To loop over all valid values for &lsquo;face_index&rsquo;, use something similar to the following snippet, again without error handling. The code accesses all faces immediately (thus only a single call of &lsquo;FT_Open_Face&rsquo; within the do-loop), with and without named instances.</p>
+<pre class="colored">
+ ...
+ 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 &lt;&lt; 16 ) + face_idx;
+
+
+ error = FT_Open_Face( library, args, id, &amp;face );
+ if ( error ) { ... }
+
+ num_faces = face-&gt;num_faces;
+ num_instances = face-&gt;style_flags &gt;&gt; 16;
+
+ ...
+
+ FT_Done_Face( face );
+
+ if ( instance_idx &lt; num_instances )
+ instance_idx++;
+ else
+ {
+ face_idx++;
+ instance_idx = 0;
+ }
+
+ } while ( face_idx &lt; num_faces )
+</pre>
<hr>
<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div>
<div class="section">
<h3 id="FT_Open_Args">FT_Open_Args</h3>
-<p>Defined in FT_FREETYPE_H (freetype.h).</p>
+<p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Open_Args_
{
@@ -1390,7 +1452,7 @@
<div class="section">
<h3 id="FT_Parameter">FT_Parameter</h3>
-<p>Defined in FT_FREETYPE_H (freetype.h).</p>
+<p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Parameter_
{
@@ -1420,7 +1482,7 @@
<div class="section">
<h3 id="FT_Attach_File">FT_Attach_File</h3>
-<p>Defined in FT_FREETYPE_H (freetype.h).</p>
+<p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
<b>FT_Attach_File</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face,
@@ -1451,7 +1513,7 @@
<div class="section">
<h3 id="FT_Attach_Stream">FT_Attach_Stream</h3>
-<p>Defined in FT_FREETYPE_H (freetype.h).</p>
+<p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
<b>FT_Attach_Stream</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face,
@@ -1486,7 +1548,7 @@
<div class="section">
<h3 id="FT_Set_Char_Size">FT_Set_Char_Size</h3>
-<p>Defined in FT_FREETYPE_H (freetype.h).</p>
+<p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
<b>FT_Set_Char_Size</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face,
@@ -1535,7 +1597,7 @@
<div class="section">
<h3 id="FT_Set_Pixel_Sizes">FT_Set_Pixel_Sizes</h3>
-<p>Defined in FT_FREETYPE_H (freetype.h).</p>
+<p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
<b>FT_Set_Pixel_Sizes</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face,
@@ -1574,7 +1636,7 @@
<div class="section">
<h3 id="FT_Request_Size">FT_Request_Size</h3>
-<p>Defined in FT_FREETYPE_H (freetype.h).</p>
+<p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
<b>FT_Request_Size</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face,
@@ -1610,7 +1672,7 @@
<div class="section">
<h3 id="FT_Select_Size">FT_Select_Size</h3>
-<p>Defined in FT_FREETYPE_H (freetype.h).</p>
+<p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
<b>FT_Select_Size</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face,
@@ -1641,7 +1703,7 @@
<div class="section">
<h3 id="FT_Size_Request_Type">FT_Size_Request_Type</h3>
-<p>Defined in FT_FREETYPE_H (freetype.h).</p>
+<p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">enum</span> FT_Size_Request_Type_
{
@@ -1686,7 +1748,7 @@
<div class="section">
<h3 id="FT_Size_RequestRec">FT_Size_RequestRec</h3>
-<p>Defined in FT_FREETYPE_H (freetype.h).</p>
+<p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Size_RequestRec_
{
@@ -1728,7 +1790,7 @@
<div class="section">
<h3 id="FT_Size_Request">FT_Size_Request</h3>
-<p>Defined in FT_FREETYPE_H (freetype.h).</p>
+<p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Size_RequestRec_ *<b>FT_Size_Request</b>;
</pre>
@@ -1740,7 +1802,7 @@
<div class="section">
<h3 id="FT_Set_Transform">FT_Set_Transform</h3>
-<p>Defined in FT_FREETYPE_H (freetype.h).</p>
+<p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p>
<pre>
FT_EXPORT( <span class="keyword">void</span> )
<b>FT_Set_Transform</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face,
@@ -1776,7 +1838,7 @@
<div class="section">
<h3 id="FT_Load_Glyph">FT_Load_Glyph</h3>
-<p>Defined in FT_FREETYPE_H (freetype.h).</p>
+<p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
<b>FT_Load_Glyph</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face,
@@ -1815,7 +1877,7 @@
<div class="section">
<h3 id="FT_Get_Char_Index">FT_Get_Char_Index</h3>
-<p>Defined in FT_FREETYPE_H (freetype.h).</p>
+<p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> )
<b>FT_Get_Char_Index</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face,
@@ -1845,7 +1907,7 @@
<div class="section">
<h3 id="FT_Get_First_Char">FT_Get_First_Char</h3>
-<p>Defined in FT_FREETYPE_H (freetype.h).</p>
+<p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> )
<b>FT_Get_First_Char</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face,
@@ -1886,6 +1948,7 @@
charcode = FT_Get_Next_Char( face, charcode, &amp;gindex );
}
</pre>
+<p>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 &lsquo;last resort fonts&rsquo; (using SFNT cmap format 13, see function <a href="ft2-truetype_tables.html#FT_Get_CMap_Format">FT_Get_CMap_Format</a>) normally have entries for all Unicode characters up to 0x1FFFFF, which can cause *a lot* of iterations.</p>
<p>Note that &lsquo;*agindex&rsquo; is set to&nbsp;0 if the charmap is empty. The result itself can be&nbsp;0 in two cases: if the charmap is empty or if the value&nbsp;0 is the first valid character code.</p>
<hr>
@@ -1893,7 +1956,7 @@
<div class="section">
<h3 id="FT_Get_Next_Char">FT_Get_Next_Char</h3>
-<p>Defined in FT_FREETYPE_H (freetype.h).</p>
+<p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> )
<b>FT_Get_Next_Char</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face,
@@ -1932,7 +1995,7 @@
<div class="section">
<h3 id="FT_Get_Name_Index">FT_Get_Name_Index</h3>
-<p>Defined in FT_FREETYPE_H (freetype.h).</p>
+<p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> )
<b>FT_Get_Name_Index</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face,
@@ -1959,7 +2022,7 @@
<div class="section">
<h3 id="FT_Load_Char">FT_Load_Char</h3>
-<p>Defined in FT_FREETYPE_H (freetype.h).</p>
+<p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
<b>FT_Load_Char</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face,
@@ -1997,7 +2060,7 @@
<div class="section">
<h3 id="FT_LOAD_TARGET_MODE">FT_LOAD_TARGET_MODE</h3>
-<p>Defined in FT_FREETYPE_H (freetype.h).</p>
+<p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p>
<pre>
#define <b>FT_LOAD_TARGET_MODE</b>( x ) ( (<a href="ft2-base_interface.html#FT_Render_Mode">FT_Render_Mode</a>)( ( (x) &gt;&gt; 16 ) &amp; 15 ) )
</pre>
@@ -2009,7 +2072,7 @@
<div class="section">
<h3 id="FT_Render_Glyph">FT_Render_Glyph</h3>
-<p>Defined in FT_FREETYPE_H (freetype.h).</p>
+<p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
<b>FT_Render_Glyph</b>( <a href="ft2-base_interface.html#FT_GlyphSlot">FT_GlyphSlot</a> slot,
@@ -2043,7 +2106,7 @@
<div class="section">
<h3 id="FT_Render_Mode">FT_Render_Mode</h3>
-<p>Defined in FT_FREETYPE_H (freetype.h).</p>
+<p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">enum</span> FT_Render_Mode_
{
@@ -2096,7 +2159,7 @@
<div class="section">
<h3 id="FT_Get_Kerning">FT_Get_Kerning</h3>
-<p>Defined in FT_FREETYPE_H (freetype.h).</p>
+<p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
<b>FT_Get_Kerning</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face,
@@ -2127,7 +2190,7 @@
<h4>output</h4>
<table class="fields">
<tr><td class="val" id="akerning">akerning</td><td class="desc">
-<p>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.</p>
+<p>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.</p>
</td></tr>
</table>
@@ -2142,7 +2205,7 @@
<div class="section">
<h3 id="FT_Kerning_Mode">FT_Kerning_Mode</h3>
-<p>Defined in FT_FREETYPE_H (freetype.h).</p>
+<p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">enum</span> FT_Kerning_Mode_
{
@@ -2165,22 +2228,25 @@
<h4>values</h4>
<table class="fields">
<tr><td class="val" id="FT_KERNING_DEFAULT">FT_KERNING_DEFAULT</td><td class="desc">
-<p>Return scaled and grid-fitted kerning distances (value is&nbsp;0).</p>
+<p>Return grid-fitted kerning distances in pixels (value is&nbsp;0). Whether they are scaled depends on <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_SCALE</a>.</p>
</td></tr>
<tr><td class="val" id="FT_KERNING_UNFITTED">FT_KERNING_UNFITTED</td><td class="desc">
-<p>Return scaled but un-grid-fitted kerning distances.</p>
+<p>Return un-grid-fitted kerning distances in 26.6 fractional pixels. Whether they are scaled depends on <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_SCALE</a>.</p>
</td></tr>
<tr><td class="val" id="FT_KERNING_UNSCALED">FT_KERNING_UNSCALED</td><td class="desc">
<p>Return the kerning vector in original font units.</p>
</td></tr>
</table>
+<h4>note</h4>
+<p>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.</p>
+
<hr>
<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div>
<div class="section">
<h3 id="FT_Get_Track_Kerning">FT_Get_Track_Kerning</h3>
-<p>Defined in FT_FREETYPE_H (freetype.h).</p>
+<p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
<b>FT_Get_Track_Kerning</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face,
@@ -2223,7 +2289,7 @@
<div class="section">
<h3 id="FT_Get_Glyph_Name">FT_Get_Glyph_Name</h3>
-<p>Defined in FT_FREETYPE_H (freetype.h).</p>
+<p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
<b>FT_Get_Glyph_Name</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face,
@@ -2268,7 +2334,7 @@
<div class="section">
<h3 id="FT_Get_Postscript_Name">FT_Get_Postscript_Name</h3>
-<p>Defined in FT_FREETYPE_H (freetype.h).</p>
+<p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p>
<pre>
FT_EXPORT( <span class="keyword">const</span> <span class="keyword">char</span>* )
<b>FT_Get_Postscript_Name</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face );
@@ -2294,7 +2360,7 @@
<div class="section">
<h3 id="FT_CharMapRec">FT_CharMapRec</h3>
-<p>Defined in FT_FREETYPE_H (freetype.h).</p>
+<p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">struct</span> FT_CharMapRec_
{
@@ -2329,7 +2395,7 @@
<div class="section">
<h3 id="FT_Select_Charmap">FT_Select_Charmap</h3>
-<p>Defined in FT_FREETYPE_H (freetype.h).</p>
+<p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
<b>FT_Select_Charmap</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face,
@@ -2364,7 +2430,7 @@
<div class="section">
<h3 id="FT_Set_Charmap">FT_Set_Charmap</h3>
-<p>Defined in FT_FREETYPE_H (freetype.h).</p>
+<p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
<b>FT_Set_Charmap</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face,
@@ -2399,7 +2465,7 @@
<div class="section">
<h3 id="FT_Get_Charmap_Index">FT_Get_Charmap_Index</h3>
-<p>Defined in FT_FREETYPE_H (freetype.h).</p>
+<p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Int">FT_Int</a> )
<b>FT_Get_Charmap_Index</b>( <a href="ft2-base_interface.html#FT_CharMap">FT_CharMap</a> charmap );
@@ -2422,7 +2488,7 @@
<div class="section">
<h3 id="FT_Get_FSType_Flags">FT_Get_FSType_Flags</h3>
-<p>Defined in FT_FREETYPE_H (freetype.h).</p>
+<p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> )
<b>FT_Get_FSType_Flags</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face );
@@ -2451,7 +2517,7 @@
<div class="section">
<h3 id="FT_Get_SubGlyph_Info">FT_Get_SubGlyph_Info</h3>
-<p>Defined in FT_FREETYPE_H (freetype.h).</p>
+<p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
<b>FT_Get_SubGlyph_Info</b>( <a href="ft2-base_interface.html#FT_GlyphSlot">FT_GlyphSlot</a> glyph,
@@ -2505,7 +2571,7 @@
<div class="section">
<h3 id="FT_Face_Internal">FT_Face_Internal</h3>
-<p>Defined in FT_FREETYPE_H (freetype.h).</p>
+<p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Face_InternalRec_* <b>FT_Face_Internal</b>;
</pre>
@@ -2518,7 +2584,7 @@
<div class="section">
<h3 id="FT_Size_Internal">FT_Size_Internal</h3>
-<p>Defined in FT_FREETYPE_H (freetype.h).</p>
+<p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Size_InternalRec_* <b>FT_Size_Internal</b>;
</pre>
@@ -2530,7 +2596,7 @@
<div class="section">
<h3 id="FT_Slot_Internal">FT_Slot_Internal</h3>
-<p>Defined in FT_FREETYPE_H (freetype.h).</p>
+<p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Slot_InternalRec_* <b>FT_Slot_Internal</b>;
</pre>
@@ -2542,7 +2608,7 @@
<div class="section">
<h3 id="FT_FACE_FLAG_XXX">FT_FACE_FLAG_XXX</h3>
-<p>Defined in FT_FREETYPE_H (freetype.h).</p>
+<p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p>
<pre>
#define <a href="ft2-base_interface.html#FT_FACE_FLAG_SCALABLE">FT_FACE_FLAG_SCALABLE</a> ( 1L &lt;&lt; 0 )
#define <a href="ft2-base_interface.html#FT_FACE_FLAG_FIXED_SIZES">FT_FACE_FLAG_FIXED_SIZES</a> ( 1L &lt;&lt; 1 )
@@ -2620,13 +2686,13 @@
<div class="section">
<h3 id="FT_STYLE_FLAG_XXX">FT_STYLE_FLAG_XXX</h3>
-<p>Defined in FT_FREETYPE_H (freetype.h).</p>
+<p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p>
<pre>
#define <a href="ft2-base_interface.html#FT_STYLE_FLAG_ITALIC">FT_STYLE_FLAG_ITALIC</a> ( 1 &lt;&lt; 0 )
#define <a href="ft2-base_interface.html#FT_STYLE_FLAG_BOLD">FT_STYLE_FLAG_BOLD</a> ( 1 &lt;&lt; 1 )
</pre>
-<p>A list of bit-flags used to indicate the style of a given face. These are used in the &lsquo;style_flags&rsquo; field of <a href="ft2-base_interface.html#FT_FaceRec">FT_FaceRec</a>.</p>
+<p>A list of bit flags used to indicate the style of a given face. These are used in the &lsquo;style_flags&rsquo; field of <a href="ft2-base_interface.html#FT_FaceRec">FT_FaceRec</a>.</p>
<h4>values</h4>
<table class="fields">
@@ -2646,7 +2712,7 @@
<div class="section">
<h3 id="FT_OPEN_XXX">FT_OPEN_XXX</h3>
-<p>Defined in FT_FREETYPE_H (freetype.h).</p>
+<p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p>
<pre>
#define <a href="ft2-base_interface.html#FT_OPEN_MEMORY">FT_OPEN_MEMORY</a> 0x1
#define <a href="ft2-base_interface.html#FT_OPEN_STREAM">FT_OPEN_STREAM</a> 0x2
@@ -2664,7 +2730,7 @@
#define ft_open_params <a href="ft2-base_interface.html#FT_OPEN_PARAMS">FT_OPEN_PARAMS</a>
</pre>
-<p>A list of bit-field constants used within the &lsquo;flags&rsquo; field of the <a href="ft2-base_interface.html#FT_Open_Args">FT_Open_Args</a> structure.</p>
+<p>A list of bit field constants used within the &lsquo;flags&rsquo; field of the <a href="ft2-base_interface.html#FT_Open_Args">FT_Open_Args</a> structure.</p>
<h4>values</h4>
<table class="fields">
@@ -2693,7 +2759,7 @@
<div class="section">
<h3 id="FT_LOAD_XXX">FT_LOAD_XXX</h3>
-<p>Defined in FT_FREETYPE_H (freetype.h).</p>
+<p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p>
<pre>
#define <a href="ft2-base_interface.html#FT_LOAD_DEFAULT">FT_LOAD_DEFAULT</a> 0x0
#define <a href="ft2-base_interface.html#FT_LOAD_NO_SCALE">FT_LOAD_NO_SCALE</a> ( 1L &lt;&lt; 0 )
@@ -2712,9 +2778,10 @@
#define <a href="ft2-base_interface.html#FT_LOAD_NO_AUTOHINT">FT_LOAD_NO_AUTOHINT</a> ( 1L &lt;&lt; 15 )
/* Bits 16..19 are used by `FT_LOAD_TARGET_' */
#define <a href="ft2-base_interface.html#FT_LOAD_COLOR">FT_LOAD_COLOR</a> ( 1L &lt;&lt; 20 )
+#define <a href="ft2-base_interface.html#FT_LOAD_COMPUTE_METRICS">FT_LOAD_COMPUTE_METRICS</a> ( 1L &lt;&lt; 21 )
</pre>
-<p>A list of bit-field constants used with <a href="ft2-base_interface.html#FT_Load_Glyph">FT_Load_Glyph</a> to indicate what kind of operations to perform during glyph loading.</p>
+<p>A list of bit field constants used with <a href="ft2-base_interface.html#FT_Load_Glyph">FT_Load_Glyph</a> to indicate what kind of operations to perform during glyph loading.</p>
<h4>values</h4>
<table class="fields">
@@ -2772,6 +2839,10 @@
<tr><td class="val" id="FT_LOAD_COLOR">FT_LOAD_COLOR</td><td class="desc">
<p>This flag is used to request loading of color embedded-bitmap images. The resulting color bitmaps, if available, will have the <a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_BGRA</a> format. When the flag is not used and color bitmaps are found, they will be converted to 256-level gray bitmaps transparently. Those bitmaps will be in the <a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_GRAY</a> format.</p>
</td></tr>
+<tr><td class="val" id="FT_LOAD_COMPUTE_METRICS">FT_LOAD_COMPUTE_METRICS</td><td class="desc">
+<p>This flag sets computing glyph metrics without the use of bundled metrics tables (for example, the &lsquo;hdmx&rsquo; table in TrueType fonts). Well-behaving fonts have optimized bundled metrics and these should be used. This flag is mainly used by font validating or font editing applications, which need to ignore, verify, or edit those tables.</p>
+<p>Currently, this flag is only implemented for TrueType fonts.</p>
+</td></tr>
<tr><td class="val" id="FT_LOAD_CROP_BITMAP">FT_LOAD_CROP_BITMAP</td><td class="desc">
<p>Ignored. Deprecated.</p>
</td></tr>
@@ -2791,7 +2862,7 @@
<div class="section">
<h3 id="FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_XXX</h3>
-<p>Defined in FT_FREETYPE_H (freetype.h).</p>
+<p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p>
<pre>
#define FT_LOAD_TARGET_( x ) ( (<a href="ft2-basic_types.html#FT_Int32">FT_Int32</a>)( (x) &amp; 15 ) &lt;&lt; 16 )
@@ -2842,7 +2913,7 @@
<div class="section">
<h3 id="FT_SUBGLYPH_FLAG_XXX">FT_SUBGLYPH_FLAG_XXX</h3>
-<p>Defined in FT_FREETYPE_H (freetype.h).</p>
+<p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p>
<pre>
#define <a href="ft2-base_interface.html#FT_SUBGLYPH_FLAG_ARGS_ARE_WORDS">FT_SUBGLYPH_FLAG_ARGS_ARE_WORDS</a> 1
#define <a href="ft2-base_interface.html#FT_SUBGLYPH_FLAG_ARGS_ARE_XY_VALUES">FT_SUBGLYPH_FLAG_ARGS_ARE_XY_VALUES</a> 2
@@ -2885,7 +2956,7 @@
<div class="section">
<h3 id="FT_FSTYPE_XXX">FT_FSTYPE_XXX</h3>
-<p>Defined in FT_FREETYPE_H (freetype.h).</p>
+<p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p>
<pre>
#define <a href="ft2-base_interface.html#FT_FSTYPE_INSTALLABLE_EMBEDDING">FT_FSTYPE_INSTALLABLE_EMBEDDING</a> 0x0000
#define <a href="ft2-base_interface.html#FT_FSTYPE_RESTRICTED_LICENSE_EMBEDDING">FT_FSTYPE_RESTRICTED_LICENSE_EMBEDDING</a> 0x0002
@@ -2921,6 +2992,7 @@
</table>
<h4>note</h4>
+<p>The flags are ORed together, thus more than a single value can be returned.</p>
<p>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.</p>
<hr>
@@ -2928,7 +3000,7 @@
<div class="section">
<h3 id="FT_HAS_FAST_GLYPHS">FT_HAS_FAST_GLYPHS</h3>
-<p>Defined in FT_FREETYPE_H (freetype.h).</p>
+<p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p>
<pre>
#define <b>FT_HAS_FAST_GLYPHS</b>( face ) 0
</pre>
diff --git a/lib/freetype/docs/reference/ft2-basic_types.html b/lib/freetype/docs/reference/ft2-basic_types.html
index 7fc35ed74..c001c4592 100644
--- a/lib/freetype/docs/reference/ft2-basic_types.html
+++ b/lib/freetype/docs/reference/ft2-basic_types.html
@@ -3,7 +3,7 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.6 API Reference</title>
+<title>FreeType-2.6.1 API Reference</title>
<style type="text/css">
a:link { color: #0000EF; }
a:visited { color: #51188E; }
@@ -100,7 +100,7 @@
<body>
<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table>
-<h1>FreeType-2.6 API Reference</h1>
+<h1>FreeType-2.6.1 API Reference</h1>
<h1>Basic Data Types</h1>
<h2>Synopsis</h2>
@@ -127,7 +127,7 @@
<div class="section">
<h3 id="FT_Byte">FT_Byte</h3>
-<p>Defined in FT_TYPES_H (fttypes.h).</p>
+<p>Defined in FT_TYPES_H (freetype/fttypes.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">unsigned</span> <span class="keyword">char</span> <b>FT_Byte</b>;
</pre>
@@ -139,7 +139,7 @@
<div class="section">
<h3 id="FT_Bytes">FT_Bytes</h3>
-<p>Defined in FT_TYPES_H (fttypes.h).</p>
+<p>Defined in FT_TYPES_H (freetype/fttypes.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">const</span> <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a>* <b>FT_Bytes</b>;
</pre>
@@ -151,7 +151,7 @@
<div class="section">
<h3 id="FT_Char">FT_Char</h3>
-<p>Defined in FT_TYPES_H (fttypes.h).</p>
+<p>Defined in FT_TYPES_H (freetype/fttypes.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">signed</span> <span class="keyword">char</span> <b>FT_Char</b>;
</pre>
@@ -163,7 +163,7 @@
<div class="section">
<h3 id="FT_Int">FT_Int</h3>
-<p>Defined in FT_TYPES_H (fttypes.h).</p>
+<p>Defined in FT_TYPES_H (freetype/fttypes.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">signed</span> <span class="keyword">int</span> <b>FT_Int</b>;
</pre>
@@ -175,7 +175,7 @@
<div class="section">
<h3 id="FT_UInt">FT_UInt</h3>
-<p>Defined in FT_TYPES_H (fttypes.h).</p>
+<p>Defined in FT_TYPES_H (freetype/fttypes.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">unsigned</span> <span class="keyword">int</span> <b>FT_UInt</b>;
</pre>
@@ -187,7 +187,7 @@
<div class="section">
<h3 id="FT_Int16">FT_Int16</h3>
-<p>Defined in FT_CONFIG_CONFIG_H (config/ftconfig.h).</p>
+<p>Defined in FT_CONFIG_CONFIG_H (freetype/config/ftconfig.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">signed</span> <span class="keyword">short</span> <b>FT_Int16</b>;
</pre>
@@ -199,7 +199,7 @@
<div class="section">
<h3 id="FT_UInt16">FT_UInt16</h3>
-<p>Defined in FT_CONFIG_CONFIG_H (config/ftconfig.h).</p>
+<p>Defined in FT_CONFIG_CONFIG_H (freetype/config/ftconfig.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">unsigned</span> <span class="keyword">short</span> <b>FT_UInt16</b>;
</pre>
@@ -211,7 +211,7 @@
<div class="section">
<h3 id="FT_Int32">FT_Int32</h3>
-<p>Defined in FT_CONFIG_CONFIG_H (config/ftconfig.h).</p>
+<p>Defined in FT_CONFIG_CONFIG_H (freetype/config/ftconfig.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">signed</span> XXX <b>FT_Int32</b>;
</pre>
@@ -223,7 +223,7 @@
<div class="section">
<h3 id="FT_UInt32">FT_UInt32</h3>
-<p>Defined in FT_CONFIG_CONFIG_H (config/ftconfig.h).</p>
+<p>Defined in FT_CONFIG_CONFIG_H (freetype/config/ftconfig.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">unsigned</span> XXX <b>FT_UInt32</b>;
</pre>
@@ -232,7 +232,7 @@
<div class="section">
<h3 id="FT_Int64">FT_Int64</h3>
-<p>Defined in FT_CONFIG_CONFIG_H (config/ftconfig.h).</p>
+<p>Defined in FT_CONFIG_CONFIG_H (freetype/config/ftconfig.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">signed</span> XXX <b>FT_Int64</b>;
</pre>
@@ -241,7 +241,7 @@
<div class="section">
<h3 id="FT_UInt64">FT_UInt64</h3>
-<p>Defined in FT_CONFIG_CONFIG_H (config/ftconfig.h).</p>
+<p>Defined in FT_CONFIG_CONFIG_H (freetype/config/ftconfig.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">unsigned</span> XXX <b>FT_UInt64</b>;
</pre>
@@ -250,7 +250,7 @@
<div class="section">
<h3 id="FT_Short">FT_Short</h3>
-<p>Defined in FT_TYPES_H (fttypes.h).</p>
+<p>Defined in FT_TYPES_H (freetype/fttypes.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">signed</span> <span class="keyword">short</span> <b>FT_Short</b>;
</pre>
@@ -262,7 +262,7 @@
<div class="section">
<h3 id="FT_UShort">FT_UShort</h3>
-<p>Defined in FT_TYPES_H (fttypes.h).</p>
+<p>Defined in FT_TYPES_H (freetype/fttypes.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">unsigned</span> <span class="keyword">short</span> <b>FT_UShort</b>;
</pre>
@@ -274,7 +274,7 @@
<div class="section">
<h3 id="FT_Long">FT_Long</h3>
-<p>Defined in FT_TYPES_H (fttypes.h).</p>
+<p>Defined in FT_TYPES_H (freetype/fttypes.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">signed</span> <span class="keyword">long</span> <b>FT_Long</b>;
</pre>
@@ -286,7 +286,7 @@
<div class="section">
<h3 id="FT_ULong">FT_ULong</h3>
-<p>Defined in FT_TYPES_H (fttypes.h).</p>
+<p>Defined in FT_TYPES_H (freetype/fttypes.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">unsigned</span> <span class="keyword">long</span> <b>FT_ULong</b>;
</pre>
@@ -298,7 +298,7 @@
<div class="section">
<h3 id="FT_Bool">FT_Bool</h3>
-<p>Defined in FT_TYPES_H (fttypes.h).</p>
+<p>Defined in FT_TYPES_H (freetype/fttypes.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">unsigned</span> <span class="keyword">char</span> <b>FT_Bool</b>;
</pre>
@@ -310,7 +310,7 @@
<div class="section">
<h3 id="FT_Offset">FT_Offset</h3>
-<p>Defined in FT_TYPES_H (fttypes.h).</p>
+<p>Defined in FT_TYPES_H (freetype/fttypes.h).</p>
<pre>
<span class="keyword">typedef</span> size_t <b>FT_Offset</b>;
</pre>
@@ -322,7 +322,7 @@
<div class="section">
<h3 id="FT_PtrDist">FT_PtrDist</h3>
-<p>Defined in FT_TYPES_H (fttypes.h).</p>
+<p>Defined in FT_TYPES_H (freetype/fttypes.h).</p>
<pre>
<span class="keyword">typedef</span> ft_ptrdiff_t <b>FT_PtrDist</b>;
</pre>
@@ -334,7 +334,7 @@
<div class="section">
<h3 id="FT_String">FT_String</h3>
-<p>Defined in FT_TYPES_H (fttypes.h).</p>
+<p>Defined in FT_TYPES_H (freetype/fttypes.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">char</span> <b>FT_String</b>;
</pre>
@@ -346,7 +346,7 @@
<div class="section">
<h3 id="FT_Tag">FT_Tag</h3>
-<p>Defined in FT_TYPES_H (fttypes.h).</p>
+<p>Defined in FT_TYPES_H (freetype/fttypes.h).</p>
<pre>
<span class="keyword">typedef</span> <a href="ft2-basic_types.html#FT_UInt32">FT_UInt32</a> <b>FT_Tag</b>;
</pre>
@@ -358,7 +358,7 @@
<div class="section">
<h3 id="FT_Error">FT_Error</h3>
-<p>Defined in FT_TYPES_H (fttypes.h).</p>
+<p>Defined in FT_TYPES_H (freetype/fttypes.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">int</span> <b>FT_Error</b>;
</pre>
@@ -370,7 +370,7 @@
<div class="section">
<h3 id="FT_Fixed">FT_Fixed</h3>
-<p>Defined in FT_TYPES_H (fttypes.h).</p>
+<p>Defined in FT_TYPES_H (freetype/fttypes.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">signed</span> <span class="keyword">long</span> <b>FT_Fixed</b>;
</pre>
@@ -382,7 +382,7 @@
<div class="section">
<h3 id="FT_Pointer">FT_Pointer</h3>
-<p>Defined in FT_TYPES_H (fttypes.h).</p>
+<p>Defined in FT_TYPES_H (freetype/fttypes.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">void</span>* <b>FT_Pointer</b>;
</pre>
@@ -394,7 +394,7 @@
<div class="section">
<h3 id="FT_Pos">FT_Pos</h3>
-<p>Defined in FT_IMAGE_H (ftimage.h).</p>
+<p>Defined in FT_IMAGE_H (freetype/ftimage.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">signed</span> <span class="keyword">long</span> <b>FT_Pos</b>;
</pre>
@@ -406,7 +406,7 @@
<div class="section">
<h3 id="FT_Vector">FT_Vector</h3>
-<p>Defined in FT_IMAGE_H (ftimage.h).</p>
+<p>Defined in FT_IMAGE_H (freetype/ftimage.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Vector_
{
@@ -433,7 +433,7 @@
<div class="section">
<h3 id="FT_BBox">FT_BBox</h3>
-<p>Defined in FT_IMAGE_H (ftimage.h).</p>
+<p>Defined in FT_IMAGE_H (freetype/ftimage.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">struct</span> FT_BBox_
{
@@ -471,7 +471,7 @@
<div class="section">
<h3 id="FT_Matrix">FT_Matrix</h3>
-<p>Defined in FT_TYPES_H (fttypes.h).</p>
+<p>Defined in FT_TYPES_H (freetype/fttypes.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Matrix_
{
@@ -508,7 +508,7 @@
<div class="section">
<h3 id="FT_FWord">FT_FWord</h3>
-<p>Defined in FT_TYPES_H (fttypes.h).</p>
+<p>Defined in FT_TYPES_H (freetype/fttypes.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">signed</span> <span class="keyword">short</span> <b>FT_FWord</b>; /* distance in FUnits */
</pre>
@@ -520,7 +520,7 @@
<div class="section">
<h3 id="FT_UFWord">FT_UFWord</h3>
-<p>Defined in FT_TYPES_H (fttypes.h).</p>
+<p>Defined in FT_TYPES_H (freetype/fttypes.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">unsigned</span> <span class="keyword">short</span> <b>FT_UFWord</b>; /* <span class="keyword">unsigned</span> distance */
</pre>
@@ -532,7 +532,7 @@
<div class="section">
<h3 id="FT_F2Dot14">FT_F2Dot14</h3>
-<p>Defined in FT_TYPES_H (fttypes.h).</p>
+<p>Defined in FT_TYPES_H (freetype/fttypes.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">signed</span> <span class="keyword">short</span> <b>FT_F2Dot14</b>;
</pre>
@@ -544,7 +544,7 @@
<div class="section">
<h3 id="FT_UnitVector">FT_UnitVector</h3>
-<p>Defined in FT_TYPES_H (fttypes.h).</p>
+<p>Defined in FT_TYPES_H (freetype/fttypes.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">struct</span> FT_UnitVector_
{
@@ -571,7 +571,7 @@
<div class="section">
<h3 id="FT_F26Dot6">FT_F26Dot6</h3>
-<p>Defined in FT_TYPES_H (fttypes.h).</p>
+<p>Defined in FT_TYPES_H (freetype/fttypes.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">signed</span> <span class="keyword">long</span> <b>FT_F26Dot6</b>;
</pre>
@@ -583,7 +583,7 @@
<div class="section">
<h3 id="FT_Data">FT_Data</h3>
-<p>Defined in FT_TYPES_H (fttypes.h).</p>
+<p>Defined in FT_TYPES_H (freetype/fttypes.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Data_
{
@@ -610,7 +610,7 @@
<div class="section">
<h3 id="FT_MAKE_TAG">FT_MAKE_TAG</h3>
-<p>Defined in FT_TYPES_H (fttypes.h).</p>
+<p>Defined in FT_TYPES_H (freetype/fttypes.h).</p>
<pre>
#define <b>FT_MAKE_TAG</b>( _x1, _x2, _x3, _x4 ) \
(<a href="ft2-basic_types.html#FT_Tag">FT_Tag</a>) \
@@ -630,7 +630,7 @@
<div class="section">
<h3 id="FT_Generic">FT_Generic</h3>
-<p>Defined in FT_TYPES_H (fttypes.h).</p>
+<p>Defined in FT_TYPES_H (freetype/fttypes.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Generic_
{
@@ -659,7 +659,7 @@
<div class="section">
<h3 id="FT_Generic_Finalizer">FT_Generic_Finalizer</h3>
-<p>Defined in FT_TYPES_H (fttypes.h).</p>
+<p>Defined in FT_TYPES_H (freetype/fttypes.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">void</span> (*<b>FT_Generic_Finalizer</b>)(<span class="keyword">void</span>* object);
</pre>
@@ -674,7 +674,7 @@
<div class="section">
<h3 id="FT_Bitmap">FT_Bitmap</h3>
-<p>Defined in FT_IMAGE_H (ftimage.h).</p>
+<p>Defined in FT_IMAGE_H (freetype/ftimage.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Bitmap_
{
@@ -728,7 +728,7 @@
<div class="section">
<h3 id="FT_Pixel_Mode">FT_Pixel_Mode</h3>
-<p>Defined in FT_IMAGE_H (ftimage.h).</p>
+<p>Defined in FT_IMAGE_H (freetype/ftimage.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">enum</span> FT_Pixel_Mode_
{
@@ -790,7 +790,7 @@
<div class="section">
<h3 id="FT_Glyph_Format">FT_Glyph_Format</h3>
-<p>Defined in FT_IMAGE_H (ftimage.h).</p>
+<p>Defined in FT_IMAGE_H (freetype/ftimage.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">enum</span> FT_Glyph_Format_
{
@@ -839,7 +839,7 @@
<div class="section">
<h3 id="FT_IMAGE_TAG">FT_IMAGE_TAG</h3>
-<p>Defined in FT_IMAGE_H (ftimage.h).</p>
+<p>Defined in FT_IMAGE_H (freetype/ftimage.h).</p>
<pre>
#ifndef <b>FT_IMAGE_TAG</b>
#define <b>FT_IMAGE_TAG</b>( value, _x1, _x2, _x3, _x4 ) \
diff --git a/lib/freetype/docs/reference/ft2-bdf_fonts.html b/lib/freetype/docs/reference/ft2-bdf_fonts.html
index 4d7bc65e0..b29ade4ed 100644
--- a/lib/freetype/docs/reference/ft2-bdf_fonts.html
+++ b/lib/freetype/docs/reference/ft2-bdf_fonts.html
@@ -3,7 +3,7 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.6 API Reference</title>
+<title>FreeType-2.6.1 API Reference</title>
<style type="text/css">
a:link { color: #0000EF; }
a:visited { color: #51188E; }
@@ -100,7 +100,7 @@
<body>
<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table>
-<h1>FreeType-2.6 API Reference</h1>
+<h1>FreeType-2.6.1 API Reference</h1>
<h1>BDF and PCF Files</h1>
<h2>Synopsis</h2>
@@ -114,7 +114,7 @@
<div class="section">
<h3 id="BDF_PropertyType">BDF_PropertyType</h3>
-<p>Defined in FT_BDF_H (ftbdf.h).</p>
+<p>Defined in FT_BDF_H (freetype/ftbdf.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">enum</span> BDF_PropertyType_
{
@@ -149,7 +149,7 @@
<div class="section">
<h3 id="BDF_Property">BDF_Property</h3>
-<p>Defined in FT_BDF_H (ftbdf.h).</p>
+<p>Defined in FT_BDF_H (freetype/ftbdf.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">struct</span> BDF_PropertyRec_* <b>BDF_Property</b>;
</pre>
@@ -161,7 +161,7 @@
<div class="section">
<h3 id="BDF_PropertyRec">BDF_PropertyRec</h3>
-<p>Defined in FT_BDF_H (ftbdf.h).</p>
+<p>Defined in FT_BDF_H (freetype/ftbdf.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">struct</span> BDF_PropertyRec_
{
@@ -199,7 +199,7 @@
<div class="section">
<h3 id="FT_Get_BDF_Charset_ID">FT_Get_BDF_Charset_ID</h3>
-<p>Defined in FT_BDF_H (ftbdf.h).</p>
+<p>Defined in FT_BDF_H (freetype/ftbdf.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
<b>FT_Get_BDF_Charset_ID</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face,
@@ -237,7 +237,7 @@
<div class="section">
<h3 id="FT_Get_BDF_Property">FT_Get_BDF_Property</h3>
-<p>Defined in FT_BDF_H (ftbdf.h).</p>
+<p>Defined in FT_BDF_H (freetype/ftbdf.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
<b>FT_Get_BDF_Property</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face,
diff --git a/lib/freetype/docs/reference/ft2-bitmap_handling.html b/lib/freetype/docs/reference/ft2-bitmap_handling.html
index 9265e1666..b0b0adf78 100644
--- a/lib/freetype/docs/reference/ft2-bitmap_handling.html
+++ b/lib/freetype/docs/reference/ft2-bitmap_handling.html
@@ -3,7 +3,7 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.6 API Reference</title>
+<title>FreeType-2.6.1 API Reference</title>
<style type="text/css">
a:link { color: #0000EF; }
a:visited { color: #51188E; }
@@ -100,7 +100,7 @@
<body>
<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table>
-<h1>FreeType-2.6 API Reference</h1>
+<h1>FreeType-2.6.1 API Reference</h1>
<h1>Bitmap Handling</h1>
<h2>Synopsis</h2>
@@ -114,7 +114,7 @@
<div class="section">
<h3 id="FT_Bitmap_Init">FT_Bitmap_Init</h3>
-<p>Defined in FT_BITMAP_H (ftbitmap.h).</p>
+<p>Defined in FT_BITMAP_H (freetype/ftbitmap.h).</p>
<pre>
FT_EXPORT( <span class="keyword">void</span> )
<b>FT_Bitmap_Init</b>( <a href="ft2-basic_types.html#FT_Bitmap">FT_Bitmap</a> *abitmap );
@@ -142,7 +142,7 @@
<div class="section">
<h3 id="FT_Bitmap_Copy">FT_Bitmap_Copy</h3>
-<p>Defined in FT_BITMAP_H (ftbitmap.h).</p>
+<p>Defined in FT_BITMAP_H (freetype/ftbitmap.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
<b>FT_Bitmap_Copy</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library,
@@ -177,7 +177,7 @@
<div class="section">
<h3 id="FT_Bitmap_Embolden">FT_Bitmap_Embolden</h3>
-<p>Defined in FT_BITMAP_H (ftbitmap.h).</p>
+<p>Defined in FT_BITMAP_H (freetype/ftbitmap.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
<b>FT_Bitmap_Embolden</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library,
@@ -221,7 +221,7 @@
<div class="section">
<h3 id="FT_Bitmap_Convert">FT_Bitmap_Convert</h3>
-<p>Defined in FT_BITMAP_H (ftbitmap.h).</p>
+<p>Defined in FT_BITMAP_H (freetype/ftbitmap.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
<b>FT_Bitmap_Convert</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library,
@@ -265,7 +265,7 @@
<div class="section">
<h3 id="FT_GlyphSlot_Own_Bitmap">FT_GlyphSlot_Own_Bitmap</h3>
-<p>Defined in FT_BITMAP_H (ftbitmap.h).</p>
+<p>Defined in FT_BITMAP_H (freetype/ftbitmap.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
<b>FT_GlyphSlot_Own_Bitmap</b>( <a href="ft2-base_interface.html#FT_GlyphSlot">FT_GlyphSlot</a> slot );
@@ -291,7 +291,7 @@
<div class="section">
<h3 id="FT_Bitmap_Done">FT_Bitmap_Done</h3>
-<p>Defined in FT_BITMAP_H (ftbitmap.h).</p>
+<p>Defined in FT_BITMAP_H (freetype/ftbitmap.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
<b>FT_Bitmap_Done</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library,
diff --git a/lib/freetype/docs/reference/ft2-bzip2.html b/lib/freetype/docs/reference/ft2-bzip2.html
index 6f3c136b7..ab7a7e04f 100644
--- a/lib/freetype/docs/reference/ft2-bzip2.html
+++ b/lib/freetype/docs/reference/ft2-bzip2.html
@@ -3,7 +3,7 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.6 API Reference</title>
+<title>FreeType-2.6.1 API Reference</title>
<style type="text/css">
a:link { color: #0000EF; }
a:visited { color: #51188E; }
@@ -100,7 +100,7 @@
<body>
<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table>
-<h1>FreeType-2.6 API Reference</h1>
+<h1>FreeType-2.6.1 API Reference</h1>
<h1>BZIP2 Streams</h1>
<h2>Synopsis</h2>
@@ -113,7 +113,7 @@
<div class="section">
<h3 id="FT_Stream_OpenBzip2">FT_Stream_OpenBzip2</h3>
-<p>Defined in FT_BZIP2_H (ftbzip2.h).</p>
+<p>Defined in FT_BZIP2_H (freetype/ftbzip2.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
<b>FT_Stream_OpenBzip2</b>( <a href="ft2-system_interface.html#FT_Stream">FT_Stream</a> stream,
diff --git a/lib/freetype/docs/reference/ft2-cache_subsystem.html b/lib/freetype/docs/reference/ft2-cache_subsystem.html
index 925b0fece..c55930f4f 100644
--- a/lib/freetype/docs/reference/ft2-cache_subsystem.html
+++ b/lib/freetype/docs/reference/ft2-cache_subsystem.html
@@ -3,7 +3,7 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.6 API Reference</title>
+<title>FreeType-2.6.1 API Reference</title>
<style type="text/css">
a:link { color: #0000EF; }
a:visited { color: #51188E; }
@@ -100,7 +100,7 @@
<body>
<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table>
-<h1>FreeType-2.6 API Reference</h1>
+<h1>FreeType-2.6.1 API Reference</h1>
<h1>Cache Sub-System</h1>
<h2>Synopsis</h2>
@@ -141,7 +141,7 @@
<div class="section">
<h3 id="FTC_Manager">FTC_Manager</h3>
-<p>Defined in FT_CACHE_H (ftcache.h).</p>
+<p>Defined in FT_CACHE_H (freetype/ftcache.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">struct</span> FTC_ManagerRec_* <b>FTC_Manager</b>;
</pre>
@@ -156,7 +156,7 @@
<div class="section">
<h3 id="FTC_FaceID">FTC_FaceID</h3>
-<p>Defined in FT_CACHE_H (ftcache.h).</p>
+<p>Defined in FT_CACHE_H (freetype/ftcache.h).</p>
<pre>
<span class="keyword">typedef</span> <a href="ft2-basic_types.html#FT_Pointer">FT_Pointer</a> <b>FTC_FaceID</b>;
</pre>
@@ -175,7 +175,7 @@
<div class="section">
<h3 id="FTC_Face_Requester">FTC_Face_Requester</h3>
-<p>Defined in FT_CACHE_H (ftcache.h).</p>
+<p>Defined in FT_CACHE_H (freetype/ftcache.h).</p>
<pre>
<span class="keyword">typedef</span> <a href="ft2-basic_types.html#FT_Error">FT_Error</a>
(*<b>FTC_Face_Requester</b>)( <a href="ft2-cache_subsystem.html#FTC_FaceID">FTC_FaceID</a> face_id,
@@ -218,7 +218,7 @@
<div class="section">
<h3 id="FTC_Manager_New">FTC_Manager_New</h3>
-<p>Defined in FT_CACHE_H (ftcache.h).</p>
+<p>Defined in FT_CACHE_H (freetype/ftcache.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
<b>FTC_Manager_New</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library,
@@ -269,7 +269,7 @@
<div class="section">
<h3 id="FTC_Manager_Reset">FTC_Manager_Reset</h3>
-<p>Defined in FT_CACHE_H (ftcache.h).</p>
+<p>Defined in FT_CACHE_H (freetype/ftcache.h).</p>
<pre>
FT_EXPORT( <span class="keyword">void</span> )
<b>FTC_Manager_Reset</b>( <a href="ft2-cache_subsystem.html#FTC_Manager">FTC_Manager</a> manager );
@@ -289,7 +289,7 @@
<div class="section">
<h3 id="FTC_Manager_Done">FTC_Manager_Done</h3>
-<p>Defined in FT_CACHE_H (ftcache.h).</p>
+<p>Defined in FT_CACHE_H (freetype/ftcache.h).</p>
<pre>
FT_EXPORT( <span class="keyword">void</span> )
<b>FTC_Manager_Done</b>( <a href="ft2-cache_subsystem.html#FTC_Manager">FTC_Manager</a> manager );
@@ -309,7 +309,7 @@
<div class="section">
<h3 id="FTC_Manager_LookupFace">FTC_Manager_LookupFace</h3>
-<p>Defined in FT_CACHE_H (ftcache.h).</p>
+<p>Defined in FT_CACHE_H (freetype/ftcache.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
<b>FTC_Manager_LookupFace</b>( <a href="ft2-cache_subsystem.html#FTC_Manager">FTC_Manager</a> manager,
@@ -351,7 +351,7 @@
<div class="section">
<h3 id="FTC_Manager_LookupSize">FTC_Manager_LookupSize</h3>
-<p>Defined in FT_CACHE_H (ftcache.h).</p>
+<p>Defined in FT_CACHE_H (freetype/ftcache.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
<b>FTC_Manager_LookupSize</b>( <a href="ft2-cache_subsystem.html#FTC_Manager">FTC_Manager</a> manager,
@@ -394,7 +394,7 @@
<div class="section">
<h3 id="FTC_Manager_RemoveFaceID">FTC_Manager_RemoveFaceID</h3>
-<p>Defined in FT_CACHE_H (ftcache.h).</p>
+<p>Defined in FT_CACHE_H (freetype/ftcache.h).</p>
<pre>
FT_EXPORT( <span class="keyword">void</span> )
<b>FTC_Manager_RemoveFaceID</b>( <a href="ft2-cache_subsystem.html#FTC_Manager">FTC_Manager</a> manager,
@@ -422,7 +422,7 @@
<div class="section">
<h3 id="FTC_Node">FTC_Node</h3>
-<p>Defined in FT_CACHE_H (ftcache.h).</p>
+<p>Defined in FT_CACHE_H (freetype/ftcache.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">struct</span> FTC_NodeRec_* <b>FTC_Node</b>;
</pre>
@@ -436,7 +436,7 @@
<div class="section">
<h3 id="FTC_Node_Unref">FTC_Node_Unref</h3>
-<p>Defined in FT_CACHE_H (ftcache.h).</p>
+<p>Defined in FT_CACHE_H (freetype/ftcache.h).</p>
<pre>
FT_EXPORT( <span class="keyword">void</span> )
<b>FTC_Node_Unref</b>( <a href="ft2-cache_subsystem.html#FTC_Node">FTC_Node</a> node,
@@ -460,7 +460,7 @@
<div class="section">
<h3 id="FTC_ImageCache">FTC_ImageCache</h3>
-<p>Defined in FT_CACHE_H (ftcache.h).</p>
+<p>Defined in FT_CACHE_H (freetype/ftcache.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">struct</span> FTC_ImageCacheRec_* <b>FTC_ImageCache</b>;
</pre>
@@ -472,7 +472,7 @@
<div class="section">
<h3 id="FTC_ImageCache_New">FTC_ImageCache_New</h3>
-<p>Defined in FT_CACHE_H (ftcache.h).</p>
+<p>Defined in FT_CACHE_H (freetype/ftcache.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
<b>FTC_ImageCache_New</b>( <a href="ft2-cache_subsystem.html#FTC_Manager">FTC_Manager</a> manager,
@@ -503,7 +503,7 @@
<div class="section">
<h3 id="FTC_ImageCache_Lookup">FTC_ImageCache_Lookup</h3>
-<p>Defined in FT_CACHE_H (ftcache.h).</p>
+<p>Defined in FT_CACHE_H (freetype/ftcache.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
<b>FTC_ImageCache_Lookup</b>( <a href="ft2-cache_subsystem.html#FTC_ImageCache">FTC_ImageCache</a> cache,
@@ -551,7 +551,7 @@
<div class="section">
<h3 id="FTC_SBit">FTC_SBit</h3>
-<p>Defined in FT_CACHE_H (ftcache.h).</p>
+<p>Defined in FT_CACHE_H (freetype/ftcache.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">struct</span> FTC_SBitRec_* <b>FTC_SBit</b>;
</pre>
@@ -563,7 +563,7 @@
<div class="section">
<h3 id="FTC_SBitCache">FTC_SBitCache</h3>
-<p>Defined in FT_CACHE_H (ftcache.h).</p>
+<p>Defined in FT_CACHE_H (freetype/ftcache.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">struct</span> FTC_SBitCacheRec_* <b>FTC_SBitCache</b>;
</pre>
@@ -575,7 +575,7 @@
<div class="section">
<h3 id="FTC_SBitCache_New">FTC_SBitCache_New</h3>
-<p>Defined in FT_CACHE_H (ftcache.h).</p>
+<p>Defined in FT_CACHE_H (freetype/ftcache.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
<b>FTC_SBitCache_New</b>( <a href="ft2-cache_subsystem.html#FTC_Manager">FTC_Manager</a> manager,
@@ -606,7 +606,7 @@
<div class="section">
<h3 id="FTC_SBitCache_Lookup">FTC_SBitCache_Lookup</h3>
-<p>Defined in FT_CACHE_H (ftcache.h).</p>
+<p>Defined in FT_CACHE_H (freetype/ftcache.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
<b>FTC_SBitCache_Lookup</b>( <a href="ft2-cache_subsystem.html#FTC_SBitCache">FTC_SBitCache</a> cache,
@@ -655,7 +655,7 @@
<div class="section">
<h3 id="FTC_CMapCache">FTC_CMapCache</h3>
-<p>Defined in FT_CACHE_H (ftcache.h).</p>
+<p>Defined in FT_CACHE_H (freetype/ftcache.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">struct</span> FTC_CMapCacheRec_* <b>FTC_CMapCache</b>;
</pre>
@@ -667,7 +667,7 @@
<div class="section">
<h3 id="FTC_CMapCache_New">FTC_CMapCache_New</h3>
-<p>Defined in FT_CACHE_H (ftcache.h).</p>
+<p>Defined in FT_CACHE_H (freetype/ftcache.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
<b>FTC_CMapCache_New</b>( <a href="ft2-cache_subsystem.html#FTC_Manager">FTC_Manager</a> manager,
@@ -701,7 +701,7 @@
<div class="section">
<h3 id="FTC_CMapCache_Lookup">FTC_CMapCache_Lookup</h3>
-<p>Defined in FT_CACHE_H (ftcache.h).</p>
+<p>Defined in FT_CACHE_H (freetype/ftcache.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> )
<b>FTC_CMapCache_Lookup</b>( <a href="ft2-cache_subsystem.html#FTC_CMapCache">FTC_CMapCache</a> cache,
@@ -736,7 +736,7 @@
<div class="section">
<h3 id="FTC_ScalerRec">FTC_ScalerRec</h3>
-<p>Defined in FT_CACHE_H (ftcache.h).</p>
+<p>Defined in FT_CACHE_H (freetype/ftcache.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">struct</span> FTC_ScalerRec_
{
@@ -782,7 +782,7 @@
<div class="section">
<h3 id="FTC_Scaler">FTC_Scaler</h3>
-<p>Defined in FT_CACHE_H (ftcache.h).</p>
+<p>Defined in FT_CACHE_H (freetype/ftcache.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">struct</span> FTC_ScalerRec_* <b>FTC_Scaler</b>;
</pre>
@@ -794,7 +794,7 @@
<div class="section">
<h3 id="FTC_ImageTypeRec">FTC_ImageTypeRec</h3>
-<p>Defined in FT_CACHE_H (ftcache.h).</p>
+<p>Defined in FT_CACHE_H (freetype/ftcache.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">struct</span> FTC_ImageTypeRec_
{
@@ -829,7 +829,7 @@
<div class="section">
<h3 id="FTC_ImageType">FTC_ImageType</h3>
-<p>Defined in FT_CACHE_H (ftcache.h).</p>
+<p>Defined in FT_CACHE_H (freetype/ftcache.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">struct</span> FTC_ImageTypeRec_* <b>FTC_ImageType</b>;
</pre>
@@ -841,7 +841,7 @@
<div class="section">
<h3 id="FTC_ImageCache_LookupScaler">FTC_ImageCache_LookupScaler</h3>
-<p>Defined in FT_CACHE_H (ftcache.h).</p>
+<p>Defined in FT_CACHE_H (freetype/ftcache.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
<b>FTC_ImageCache_LookupScaler</b>( <a href="ft2-cache_subsystem.html#FTC_ImageCache">FTC_ImageCache</a> cache,
@@ -894,7 +894,7 @@
<div class="section">
<h3 id="FTC_SBitRec">FTC_SBitRec</h3>
-<p>Defined in FT_CACHE_H (ftcache.h).</p>
+<p>Defined in FT_CACHE_H (freetype/ftcache.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">struct</span> FTC_SBitRec_
{
@@ -955,7 +955,7 @@
<div class="section">
<h3 id="FTC_SBitCache_LookupScaler">FTC_SBitCache_LookupScaler</h3>
-<p>Defined in FT_CACHE_H (ftcache.h).</p>
+<p>Defined in FT_CACHE_H (freetype/ftcache.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
<b>FTC_SBitCache_LookupScaler</b>( <a href="ft2-cache_subsystem.html#FTC_SBitCache">FTC_SBitCache</a> cache,
diff --git a/lib/freetype/docs/reference/ft2-cff_driver.html b/lib/freetype/docs/reference/ft2-cff_driver.html
index 0baea1e87..0d2267462 100644
--- a/lib/freetype/docs/reference/ft2-cff_driver.html
+++ b/lib/freetype/docs/reference/ft2-cff_driver.html
@@ -3,7 +3,7 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.6 API Reference</title>
+<title>FreeType-2.6.1 API Reference</title>
<style type="text/css">
a:link { color: #0000EF; }
a:visited { color: #51188E; }
@@ -100,7 +100,7 @@
<body>
<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table>
-<h1>FreeType-2.6 API Reference</h1>
+<h1>FreeType-2.6.1 API Reference</h1>
<h1>The CFF driver</h1>
<h2>Synopsis</h2>
@@ -200,7 +200,7 @@
<div class="section">
<h3 id="FT_CFF_HINTING_XXX">FT_CFF_HINTING_XXX</h3>
-<p>Defined in FT_CFF_DRIVER_H (ftcffdrv.h).</p>
+<p>Defined in FT_CFF_DRIVER_H (freetype/ftcffdrv.h).</p>
<pre>
#define <a href="ft2-cff_driver.html#FT_CFF_HINTING_FREETYPE">FT_CFF_HINTING_FREETYPE</a> 0
#define <a href="ft2-cff_driver.html#FT_CFF_HINTING_ADOBE">FT_CFF_HINTING_ADOBE</a> 1
diff --git a/lib/freetype/docs/reference/ft2-cid_fonts.html b/lib/freetype/docs/reference/ft2-cid_fonts.html
index 2969d2915..9f80a2885 100644
--- a/lib/freetype/docs/reference/ft2-cid_fonts.html
+++ b/lib/freetype/docs/reference/ft2-cid_fonts.html
@@ -3,7 +3,7 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.6 API Reference</title>
+<title>FreeType-2.6.1 API Reference</title>
<style type="text/css">
a:link { color: #0000EF; }
a:visited { color: #51188E; }
@@ -100,7 +100,7 @@
<body>
<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table>
-<h1>FreeType-2.6 API Reference</h1>
+<h1>FreeType-2.6.1 API Reference</h1>
<h1>CID Fonts</h1>
<h2>Synopsis</h2>
@@ -115,7 +115,7 @@
<div class="section">
<h3 id="FT_Get_CID_Registry_Ordering_Supplement">FT_Get_CID_Registry_Ordering_Supplement</h3>
-<p>Defined in FT_CID_H (ftcid.h).</p>
+<p>Defined in FT_CID_H (freetype/ftcid.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
<b>FT_Get_CID_Registry_Ordering_Supplement</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face,
@@ -160,7 +160,7 @@
<div class="section">
<h3 id="FT_Get_CID_Is_Internally_CID_Keyed">FT_Get_CID_Is_Internally_CID_Keyed</h3>
-<p>Defined in FT_CID_H (ftcid.h).</p>
+<p>Defined in FT_CID_H (freetype/ftcid.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
<b>FT_Get_CID_Is_Internally_CID_Keyed</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face,
@@ -197,7 +197,7 @@
<div class="section">
<h3 id="FT_Get_CID_From_Glyph_Index">FT_Get_CID_From_Glyph_Index</h3>
-<p>Defined in FT_CID_H (ftcid.h).</p>
+<p>Defined in FT_CID_H (freetype/ftcid.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
<b>FT_Get_CID_From_Glyph_Index</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face,
diff --git a/lib/freetype/docs/reference/ft2-computations.html b/lib/freetype/docs/reference/ft2-computations.html
index a834c7587..8a80a8592 100644
--- a/lib/freetype/docs/reference/ft2-computations.html
+++ b/lib/freetype/docs/reference/ft2-computations.html
@@ -3,7 +3,7 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.6 API Reference</title>
+<title>FreeType-2.6.1 API Reference</title>
<style type="text/css">
a:link { color: #0000EF; }
a:visited { color: #51188E; }
@@ -100,7 +100,7 @@
<body>
<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table>
-<h1>FreeType-2.6 API Reference</h1>
+<h1>FreeType-2.6.1 API Reference</h1>
<h1>Computations</h1>
<h2>Synopsis</h2>
@@ -121,7 +121,7 @@
<div class="section">
<h3 id="FT_MulDiv">FT_MulDiv</h3>
-<p>Defined in FT_FREETYPE_H (freetype.h).</p>
+<p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Long">FT_Long</a> )
<b>FT_MulDiv</b>( <a href="ft2-basic_types.html#FT_Long">FT_Long</a> a,
@@ -153,7 +153,7 @@
<div class="section">
<h3 id="FT_MulFix">FT_MulFix</h3>
-<p>Defined in FT_FREETYPE_H (freetype.h).</p>
+<p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Long">FT_Long</a> )
<b>FT_MulFix</b>( <a href="ft2-basic_types.html#FT_Long">FT_Long</a> a,
@@ -184,7 +184,7 @@
<div class="section">
<h3 id="FT_DivFix">FT_DivFix</h3>
-<p>Defined in FT_FREETYPE_H (freetype.h).</p>
+<p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Long">FT_Long</a> )
<b>FT_DivFix</b>( <a href="ft2-basic_types.html#FT_Long">FT_Long</a> a,
@@ -211,7 +211,7 @@
<div class="section">
<h3 id="FT_RoundFix">FT_RoundFix</h3>
-<p>Defined in FT_FREETYPE_H (freetype.h).</p>
+<p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> )
<b>FT_RoundFix</b>( <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> a );
@@ -227,14 +227,14 @@
</table>
<h4>return</h4>
-<p>The result of &lsquo;(a + 0x8000) &amp; -0x10000&rsquo;.</p>
+<p>&lsquo;a&rsquo; rounded to nearest 16.16 fixed integer, halfway cases away from zero.</p>
<hr>
<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div>
<div class="section">
<h3 id="FT_CeilFix">FT_CeilFix</h3>
-<p>Defined in FT_FREETYPE_H (freetype.h).</p>
+<p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> )
<b>FT_CeilFix</b>( <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> a );
@@ -250,14 +250,14 @@
</table>
<h4>return</h4>
-<p>The result of &lsquo;(a + 0x10000 - 1) &amp; -0x10000&rsquo;.</p>
+<p>&lsquo;a&rsquo; rounded towards plus infinity.</p>
<hr>
<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div>
<div class="section">
<h3 id="FT_FloorFix">FT_FloorFix</h3>
-<p>Defined in FT_FREETYPE_H (freetype.h).</p>
+<p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> )
<b>FT_FloorFix</b>( <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> a );
@@ -273,14 +273,14 @@
</table>
<h4>return</h4>
-<p>The result of &lsquo;a &amp; -0x10000&rsquo;.</p>
+<p>&lsquo;a&rsquo; rounded towards minus infinity.</p>
<hr>
<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div>
<div class="section">
<h3 id="FT_Vector_Transform">FT_Vector_Transform</h3>
-<p>Defined in FT_FREETYPE_H (freetype.h).</p>
+<p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p>
<pre>
FT_EXPORT( <span class="keyword">void</span> )
<b>FT_Vector_Transform</b>( <a href="ft2-basic_types.html#FT_Vector">FT_Vector</a>* vec,
@@ -311,7 +311,7 @@
<div class="section">
<h3 id="FT_Matrix_Multiply">FT_Matrix_Multiply</h3>
-<p>Defined in FT_GLYPH_H (ftglyph.h).</p>
+<p>Defined in FT_GLYPH_H (freetype/ftglyph.h).</p>
<pre>
FT_EXPORT( <span class="keyword">void</span> )
<b>FT_Matrix_Multiply</b>( <span class="keyword">const</span> <a href="ft2-basic_types.html#FT_Matrix">FT_Matrix</a>* a,
@@ -342,7 +342,7 @@
<div class="section">
<h3 id="FT_Matrix_Invert">FT_Matrix_Invert</h3>
-<p>Defined in FT_GLYPH_H (ftglyph.h).</p>
+<p>Defined in FT_GLYPH_H (freetype/ftglyph.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
<b>FT_Matrix_Invert</b>( <a href="ft2-basic_types.html#FT_Matrix">FT_Matrix</a>* matrix );
@@ -365,7 +365,7 @@
<div class="section">
<h3 id="FT_Angle">FT_Angle</h3>
-<p>Defined in FT_TRIGONOMETRY_H (fttrigon.h).</p>
+<p>Defined in FT_TRIGONOMETRY_H (freetype/fttrigon.h).</p>
<pre>
<span class="keyword">typedef</span> <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> <b>FT_Angle</b>;
</pre>
@@ -377,7 +377,7 @@
<div class="section">
<h3 id="FT_ANGLE_PI">FT_ANGLE_PI</h3>
-<p>Defined in FT_TRIGONOMETRY_H (fttrigon.h).</p>
+<p>Defined in FT_TRIGONOMETRY_H (freetype/fttrigon.h).</p>
<pre>
#define <b>FT_ANGLE_PI</b> ( 180L &lt;&lt; 16 )
</pre>
@@ -389,7 +389,7 @@
<div class="section">
<h3 id="FT_ANGLE_2PI">FT_ANGLE_2PI</h3>
-<p>Defined in FT_TRIGONOMETRY_H (fttrigon.h).</p>
+<p>Defined in FT_TRIGONOMETRY_H (freetype/fttrigon.h).</p>
<pre>
#define <b>FT_ANGLE_2PI</b> ( <a href="ft2-computations.html#FT_ANGLE_PI">FT_ANGLE_PI</a> * 2 )
</pre>
@@ -401,7 +401,7 @@
<div class="section">
<h3 id="FT_ANGLE_PI2">FT_ANGLE_PI2</h3>
-<p>Defined in FT_TRIGONOMETRY_H (fttrigon.h).</p>
+<p>Defined in FT_TRIGONOMETRY_H (freetype/fttrigon.h).</p>
<pre>
#define <b>FT_ANGLE_PI2</b> ( <a href="ft2-computations.html#FT_ANGLE_PI">FT_ANGLE_PI</a> / 2 )
</pre>
@@ -413,7 +413,7 @@
<div class="section">
<h3 id="FT_ANGLE_PI4">FT_ANGLE_PI4</h3>
-<p>Defined in FT_TRIGONOMETRY_H (fttrigon.h).</p>
+<p>Defined in FT_TRIGONOMETRY_H (freetype/fttrigon.h).</p>
<pre>
#define <b>FT_ANGLE_PI4</b> ( <a href="ft2-computations.html#FT_ANGLE_PI">FT_ANGLE_PI</a> / 4 )
</pre>
@@ -425,7 +425,7 @@
<div class="section">
<h3 id="FT_Sin">FT_Sin</h3>
-<p>Defined in FT_TRIGONOMETRY_H (fttrigon.h).</p>
+<p>Defined in FT_TRIGONOMETRY_H (freetype/fttrigon.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> )
<b>FT_Sin</b>( <a href="ft2-computations.html#FT_Angle">FT_Angle</a> angle );
@@ -451,7 +451,7 @@
<div class="section">
<h3 id="FT_Cos">FT_Cos</h3>
-<p>Defined in FT_TRIGONOMETRY_H (fttrigon.h).</p>
+<p>Defined in FT_TRIGONOMETRY_H (freetype/fttrigon.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> )
<b>FT_Cos</b>( <a href="ft2-computations.html#FT_Angle">FT_Angle</a> angle );
@@ -477,7 +477,7 @@
<div class="section">
<h3 id="FT_Tan">FT_Tan</h3>
-<p>Defined in FT_TRIGONOMETRY_H (fttrigon.h).</p>
+<p>Defined in FT_TRIGONOMETRY_H (freetype/fttrigon.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> )
<b>FT_Tan</b>( <a href="ft2-computations.html#FT_Angle">FT_Angle</a> angle );
@@ -500,7 +500,7 @@
<div class="section">
<h3 id="FT_Atan2">FT_Atan2</h3>
-<p>Defined in FT_TRIGONOMETRY_H (fttrigon.h).</p>
+<p>Defined in FT_TRIGONOMETRY_H (freetype/fttrigon.h).</p>
<pre>
FT_EXPORT( <a href="ft2-computations.html#FT_Angle">FT_Angle</a> )
<b>FT_Atan2</b>( <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> x,
@@ -527,7 +527,7 @@
<div class="section">
<h3 id="FT_Angle_Diff">FT_Angle_Diff</h3>
-<p>Defined in FT_TRIGONOMETRY_H (fttrigon.h).</p>
+<p>Defined in FT_TRIGONOMETRY_H (freetype/fttrigon.h).</p>
<pre>
FT_EXPORT( <a href="ft2-computations.html#FT_Angle">FT_Angle</a> )
<b>FT_Angle_Diff</b>( <a href="ft2-computations.html#FT_Angle">FT_Angle</a> angle1,
@@ -554,14 +554,14 @@
<div class="section">
<h3 id="FT_Vector_Unit">FT_Vector_Unit</h3>
-<p>Defined in FT_TRIGONOMETRY_H (fttrigon.h).</p>
+<p>Defined in FT_TRIGONOMETRY_H (freetype/fttrigon.h).</p>
<pre>
FT_EXPORT( <span class="keyword">void</span> )
<b>FT_Vector_Unit</b>( <a href="ft2-basic_types.html#FT_Vector">FT_Vector</a>* vec,
<a href="ft2-computations.html#FT_Angle">FT_Angle</a> angle );
</pre>
-<p>Return the unit vector corresponding to a given angle. After the call, the value of &lsquo;vec.x&rsquo; will be &lsquo;sin(angle)&rsquo;, and the value of &lsquo;vec.y&rsquo; will be &lsquo;cos(angle)&rsquo;.</p>
+<p>Return the unit vector corresponding to a given angle. After the call, the value of &lsquo;vec.x&rsquo; will be &lsquo;cos(angle)&rsquo;, and the value of &lsquo;vec.y&rsquo; will be &lsquo;sin(angle)&rsquo;.</p>
<p>This function is useful to retrieve both the sinus and cosinus of a given angle quickly.</p>
<h4>output</h4>
@@ -583,7 +583,7 @@
<div class="section">
<h3 id="FT_Vector_Rotate">FT_Vector_Rotate</h3>
-<p>Defined in FT_TRIGONOMETRY_H (fttrigon.h).</p>
+<p>Defined in FT_TRIGONOMETRY_H (freetype/fttrigon.h).</p>
<pre>
FT_EXPORT( <span class="keyword">void</span> )
<b>FT_Vector_Rotate</b>( <a href="ft2-basic_types.html#FT_Vector">FT_Vector</a>* vec,
@@ -611,7 +611,7 @@
<div class="section">
<h3 id="FT_Vector_Length">FT_Vector_Length</h3>
-<p>Defined in FT_TRIGONOMETRY_H (fttrigon.h).</p>
+<p>Defined in FT_TRIGONOMETRY_H (freetype/fttrigon.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> )
<b>FT_Vector_Length</b>( <a href="ft2-basic_types.html#FT_Vector">FT_Vector</a>* vec );
@@ -634,7 +634,7 @@
<div class="section">
<h3 id="FT_Vector_Polarize">FT_Vector_Polarize</h3>
-<p>Defined in FT_TRIGONOMETRY_H (fttrigon.h).</p>
+<p>Defined in FT_TRIGONOMETRY_H (freetype/fttrigon.h).</p>
<pre>
FT_EXPORT( <span class="keyword">void</span> )
<b>FT_Vector_Polarize</b>( <a href="ft2-basic_types.html#FT_Vector">FT_Vector</a>* vec,
@@ -666,7 +666,7 @@
<div class="section">
<h3 id="FT_Vector_From_Polar">FT_Vector_From_Polar</h3>
-<p>Defined in FT_TRIGONOMETRY_H (fttrigon.h).</p>
+<p>Defined in FT_TRIGONOMETRY_H (freetype/fttrigon.h).</p>
<pre>
FT_EXPORT( <span class="keyword">void</span> )
<b>FT_Vector_From_Polar</b>( <a href="ft2-basic_types.html#FT_Vector">FT_Vector</a>* vec,
diff --git a/lib/freetype/docs/reference/ft2-error_code_values.html b/lib/freetype/docs/reference/ft2-error_code_values.html
new file mode 100644
index 000000000..5a3c200c0
--- /dev/null
+++ b/lib/freetype/docs/reference/ft2-error_code_values.html
@@ -0,0 +1,339 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<title>FreeType-2.6.1 API Reference</title>
+<style type="text/css">
+ a:link { color: #0000EF; }
+ a:visited { color: #51188E; }
+ a:hover { color: #FF0000; }
+
+ body { font-family: Verdana, Geneva, Arial, Helvetica, serif;
+ color: #000000;
+ background: #FFFFFF;
+ width: 87%;
+ margin: auto; }
+
+ div.section { width: 75%;
+ margin: auto; }
+ div.section hr { margin: 4ex 0 1ex 0; }
+ div.section h4 { background-color: #EEEEFF;
+ font-size: medium;
+ font-style: oblique;
+ font-weight: bold;
+ margin: 3ex 0 1.5ex 9%;
+ padding: 0.3ex 0 0.3ex 1%; }
+ div.section p { margin: 1.5ex 0 1.5ex 10%; }
+ div.section pre { margin: 3ex 0 3ex 9%;
+ background-color: #D6E8FF;
+ padding: 2ex 0 2ex 1%; }
+ div.section table.fields { width: 90%;
+ margin: 1.5ex 0 1.5ex 10%; }
+ div.section table.toc { width: 95%;
+ margin: 1.5ex 0 1.5ex 5%; }
+ div.timestamp { text-align: center;
+ font-size: 69%;
+ margin: 1.5ex 0 1.5ex 0; }
+
+ h1 { text-align: center; }
+ h3 { font-size: medium;
+ margin: 4ex 0 1.5ex 0; }
+
+ p { text-align: justify; }
+
+ pre.colored { color: blue; }
+
+ span.keyword { font-family: monospace;
+ text-align: left;
+ white-space: pre;
+ color: darkblue; }
+
+ table.fields td.val { font-weight: bold;
+ text-align: right;
+ width: 30%;
+ vertical-align: baseline;
+ padding: 1ex 1em 1ex 0; }
+ table.fields td.desc { vertical-align: baseline;
+ padding: 1ex 0 1ex 1em; }
+ table.fields td.desc p:first-child { margin: 0; }
+ table.fields td.desc p { margin: 1.5ex 0 0 0; }
+ table.index { margin: 6ex auto 6ex auto;
+ border: 0;
+ border-collapse: separate;
+ border-spacing: 1em 0.3ex; }
+ table.index tr { padding: 0; }
+ table.index td { padding: 0; }
+ table.index-toc-link { width: 100%;
+ border: 0;
+ border-spacing: 0;
+ margin: 1ex 0 1ex 0; }
+ table.index-toc-link td.left { padding: 0 0.5em 0 0.5em;
+ font-size: 83%;
+ text-align: left; }
+ table.index-toc-link td.middle { padding: 0 0.5em 0 0.5em;
+ font-size: 83%;
+ text-align: center; }
+ table.index-toc-link td.right { padding: 0 0.5em 0 0.5em;
+ font-size: 83%;
+ text-align: right; }
+ table.synopsis { margin: 6ex auto 6ex auto;
+ border: 0;
+ border-collapse: separate;
+ border-spacing: 2em 0.6ex; }
+ table.synopsis tr { padding: 0; }
+ table.synopsis td { padding: 0; }
+ table.toc td.link { width: 30%;
+ text-align: right;
+ vertical-align: baseline;
+ padding: 1ex 1em 1ex 0; }
+ table.toc td.desc { vertical-align: baseline;
+ padding: 1ex 0 1ex 1em;
+ text-align: left; }
+ table.toc td.desc p:first-child { margin: 0;
+ text-align: left; }
+ table.toc td.desc p { margin: 1.5ex 0 0 0;
+ text-align: left; }
+
+</style>
+</head>
+<body>
+
+<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table>
+<h1>FreeType-2.6.1 API Reference</h1>
+
+<h1>Error Code Values</h1>
+<h2>Synopsis</h2>
+<table class="synopsis">
+<tr><td><a href="#FT_Err_XXX">FT_Err_XXX</a></td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
+</table>
+
+
+<p>The list below is taken verbatim from the file &lsquo;fterrdef.h&rsquo; (loaded automatically by including &lsquo;FT_FREETYPE_H&rsquo;). The first argument of the &lsquo;FT_ERROR_DEF_&rsquo; macro is the error label; by default, the prefix &lsquo;FT_Err_&rsquo; gets added so that you get error names like &lsquo;FT_Err_Cannot_Open_Resource&rsquo;. The second argument is the error code, and the last argument an error string, which is not used by FreeType.</p>
+<p>Within your application you should <b>only</b> use error names and <b>never</b> its numeric values! The latter might (and actually do) change in forthcoming FreeType versions.</p>
+<p>Macro &lsquo;FT_NOERRORDEF_&rsquo; defines &lsquo;FT_Err_Ok&rsquo;, which is always zero. See the &lsquo;Error Enumerations&rsquo; subsection how to automatically generate a list of error strings.</p>
+
+<div class="section">
+<h3 id="FT_Err_XXX">FT_Err_XXX</h3>
+<pre>
+ /* generic errors */
+
+ FT_NOERRORDEF_( Ok, 0x00,
+ "no error" )
+
+ FT_ERRORDEF_( Cannot_Open_Resource, 0x01,
+ "cannot open resource" )
+ FT_ERRORDEF_( Unknown_File_Format, 0x02,
+ "unknown file format" )
+ FT_ERRORDEF_( Invalid_File_Format, 0x03,
+ "broken file" )
+ FT_ERRORDEF_( Invalid_Version, 0x04,
+ "invalid FreeType version" )
+ FT_ERRORDEF_( Lower_Module_Version, 0x05,
+ "module version is too low" )
+ FT_ERRORDEF_( Invalid_Argument, 0x06,
+ "invalid argument" )
+ FT_ERRORDEF_( Unimplemented_Feature, 0x07,
+ "unimplemented feature" )
+ FT_ERRORDEF_( Invalid_Table, 0x08,
+ "broken table" )
+ FT_ERRORDEF_( Invalid_Offset, 0x09,
+ "broken offset within table" )
+ 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,
+ "invalid glyph index" )
+ FT_ERRORDEF_( Invalid_Character_Code, 0x11,
+ "invalid character code" )
+ FT_ERRORDEF_( Invalid_Glyph_Format, 0x12,
+ "unsupported glyph image format" )
+ FT_ERRORDEF_( Cannot_Render_Glyph, 0x13,
+ "cannot render this glyph format" )
+ FT_ERRORDEF_( Invalid_Outline, 0x14,
+ "invalid outline" )
+ FT_ERRORDEF_( Invalid_Composite, 0x15,
+ "invalid composite glyph" )
+ FT_ERRORDEF_( Too_Many_Hints, 0x16,
+ "too many hints" )
+ FT_ERRORDEF_( Invalid_Pixel_Size, 0x17,
+ "invalid pixel size" )
+
+ /* handle errors */
+
+ FT_ERRORDEF_( Invalid_Handle, 0x20,
+ "invalid object handle" )
+ FT_ERRORDEF_( Invalid_Library_Handle, 0x21,
+ "invalid library handle" )
+ FT_ERRORDEF_( Invalid_Driver_Handle, 0x22,
+ "invalid module handle" )
+ FT_ERRORDEF_( Invalid_Face_Handle, 0x23,
+ "invalid face handle" )
+ FT_ERRORDEF_( Invalid_Size_Handle, 0x24,
+ "invalid size handle" )
+ FT_ERRORDEF_( Invalid_Slot_Handle, 0x25,
+ "invalid glyph slot handle" )
+ FT_ERRORDEF_( Invalid_CharMap_Handle, 0x26,
+ "invalid charmap handle" )
+ FT_ERRORDEF_( Invalid_Cache_Handle, 0x27,
+ "invalid cache manager handle" )
+ FT_ERRORDEF_( Invalid_Stream_Handle, 0x28,
+ "invalid stream handle" )
+
+ /* driver errors */
+
+ FT_ERRORDEF_( Too_Many_Drivers, 0x30,
+ "too many modules" )
+ FT_ERRORDEF_( Too_Many_Extensions, 0x31,
+ "too many extensions" )
+
+ /* memory errors */
+
+ FT_ERRORDEF_( Out_Of_Memory, 0x40,
+ "out of memory" )
+ FT_ERRORDEF_( Unlisted_Object, 0x41,
+ "unlisted object" )
+
+ /* stream errors */
+
+ FT_ERRORDEF_( Cannot_Open_Stream, 0x51,
+ "cannot open stream" )
+ FT_ERRORDEF_( Invalid_Stream_Seek, 0x52,
+ "invalid stream seek" )
+ FT_ERRORDEF_( Invalid_Stream_Skip, 0x53,
+ "invalid stream skip" )
+ FT_ERRORDEF_( Invalid_Stream_Read, 0x54,
+ "invalid stream read" )
+ FT_ERRORDEF_( Invalid_Stream_Operation, 0x55,
+ "invalid stream operation" )
+ FT_ERRORDEF_( Invalid_Frame_Operation, 0x56,
+ "invalid frame operation" )
+ FT_ERRORDEF_( Nested_Frame_Access, 0x57,
+ "nested frame access" )
+ FT_ERRORDEF_( Invalid_Frame_Read, 0x58,
+ "invalid frame read" )
+
+ /* raster errors */
+
+ FT_ERRORDEF_( Raster_Uninitialized, 0x60,
+ "raster uninitialized" )
+ FT_ERRORDEF_( Raster_Corrupted, 0x61,
+ "raster corrupted" )
+ FT_ERRORDEF_( Raster_Overflow, 0x62,
+ "raster overflow" )
+ FT_ERRORDEF_( Raster_Negative_Height, 0x63,
+ "negative height while rastering" )
+
+ /* cache errors */
+
+ FT_ERRORDEF_( Too_Many_Caches, 0x70,
+ "too many registered caches" )
+
+ /* TrueType and SFNT errors */
+
+ FT_ERRORDEF_( Invalid_Opcode, 0x80,
+ "invalid opcode" )
+ FT_ERRORDEF_( Too_Few_Arguments, 0x81,
+ "too few arguments" )
+ FT_ERRORDEF_( Stack_Overflow, 0x82,
+ "stack overflow" )
+ FT_ERRORDEF_( Code_Overflow, 0x83,
+ "code overflow" )
+ FT_ERRORDEF_( Bad_Argument, 0x84,
+ "bad argument" )
+ FT_ERRORDEF_( Divide_By_Zero, 0x85,
+ "division by zero" )
+ FT_ERRORDEF_( Invalid_Reference, 0x86,
+ "invalid reference" )
+ FT_ERRORDEF_( Debug_OpCode, 0x87,
+ "found debug opcode" )
+ FT_ERRORDEF_( ENDF_In_Exec_Stream, 0x88,
+ "found ENDF opcode in execution stream" )
+ FT_ERRORDEF_( Nested_DEFS, 0x89,
+ "nested DEFS" )
+ FT_ERRORDEF_( Invalid_CodeRange, 0x8A,
+ "invalid code range" )
+ FT_ERRORDEF_( Execution_Too_Long, 0x8B,
+ "execution context too <span class="keyword">long</span>" )
+ FT_ERRORDEF_( Too_Many_Function_Defs, 0x8C,
+ "too many function definitions" )
+ FT_ERRORDEF_( Too_Many_Instruction_Defs, 0x8D,
+ "too many instruction definitions" )
+ FT_ERRORDEF_( Table_Missing, 0x8E,
+ "SFNT font table missing" )
+ FT_ERRORDEF_( Horiz_Header_Missing, 0x8F,
+ "horizontal header (hhea) table missing" )
+ FT_ERRORDEF_( Locations_Missing, 0x90,
+ "locations (loca) table missing" )
+ FT_ERRORDEF_( Name_Table_Missing, 0x91,
+ "name table missing" )
+ FT_ERRORDEF_( CMap_Table_Missing, 0x92,
+ "character map (cmap) table missing" )
+ FT_ERRORDEF_( Hmtx_Table_Missing, 0x93,
+ "horizontal metrics (hmtx) table missing" )
+ FT_ERRORDEF_( Post_Table_Missing, 0x94,
+ "PostScript (post) table missing" )
+ FT_ERRORDEF_( Invalid_Horiz_Metrics, 0x95,
+ "invalid horizontal metrics" )
+ FT_ERRORDEF_( Invalid_CharMap_Format, 0x96,
+ "invalid character map (cmap) format" )
+ FT_ERRORDEF_( Invalid_PPem, 0x97,
+ "invalid ppem value" )
+ FT_ERRORDEF_( Invalid_Vert_Metrics, 0x98,
+ "invalid vertical metrics" )
+ FT_ERRORDEF_( Could_Not_Find_Context, 0x99,
+ "could not find context" )
+ FT_ERRORDEF_( Invalid_Post_Table_Format, 0x9A,
+ "invalid PostScript (post) table format" )
+ FT_ERRORDEF_( Invalid_Post_Table, 0x9B,
+ "invalid PostScript (post) table" )
+
+ /* CFF, CID, and Type 1 errors */
+
+ FT_ERRORDEF_( Syntax_Error, 0xA0,
+ "opcode syntax error" )
+ FT_ERRORDEF_( Stack_Underflow, 0xA1,
+ "argument stack underflow" )
+ FT_ERRORDEF_( Ignore, 0xA2,
+ "ignore" )
+ FT_ERRORDEF_( No_Unicode_Glyph_Name, 0xA3,
+ "no Unicode glyph name found" )
+ FT_ERRORDEF_( Glyph_Too_Big, 0xA4,
+ "glyph to big for hinting" )
+
+ /* BDF errors */
+
+ FT_ERRORDEF_( Missing_Startfont_Field, 0xB0,
+ "`STARTFONT' field missing" )
+ FT_ERRORDEF_( Missing_Font_Field, 0xB1,
+ "`FONT' field missing" )
+ FT_ERRORDEF_( Missing_Size_Field, 0xB2,
+ "`SIZE' field missing" )
+ FT_ERRORDEF_( Missing_Fontboundingbox_Field, 0xB3,
+ "`FONTBOUNDINGBOX' field missing" )
+ FT_ERRORDEF_( Missing_Chars_Field, 0xB4,
+ "`CHARS' field missing" )
+ FT_ERRORDEF_( Missing_Startchar_Field, 0xB5,
+ "`STARTCHAR' field missing" )
+ FT_ERRORDEF_( Missing_Encoding_Field, 0xB6,
+ "`ENCODING' field missing" )
+ FT_ERRORDEF_( Missing_Bbx_Field, 0xB7,
+ "`BBX' field missing" )
+ FT_ERRORDEF_( Bbx_Too_Big, 0xB8,
+ "`BBX' too big" )
+ FT_ERRORDEF_( Corrupted_Font_Header, 0xB9,
+ "Font header corrupted or missing fields" )
+ FT_ERRORDEF_( Corrupted_Font_Glyphs, 0xBA,
+ "Font glyphs corrupted or missing fields" )
+</pre>
+<hr>
+<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div>
+
+</body>
+</html>
diff --git a/lib/freetype/docs/reference/ft2-error_enumerations.html b/lib/freetype/docs/reference/ft2-error_enumerations.html
new file mode 100644
index 000000000..1c10507f5
--- /dev/null
+++ b/lib/freetype/docs/reference/ft2-error_enumerations.html
@@ -0,0 +1,144 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<title>FreeType-2.6.1 API Reference</title>
+<style type="text/css">
+ a:link { color: #0000EF; }
+ a:visited { color: #51188E; }
+ a:hover { color: #FF0000; }
+
+ body { font-family: Verdana, Geneva, Arial, Helvetica, serif;
+ color: #000000;
+ background: #FFFFFF;
+ width: 87%;
+ margin: auto; }
+
+ div.section { width: 75%;
+ margin: auto; }
+ div.section hr { margin: 4ex 0 1ex 0; }
+ div.section h4 { background-color: #EEEEFF;
+ font-size: medium;
+ font-style: oblique;
+ font-weight: bold;
+ margin: 3ex 0 1.5ex 9%;
+ padding: 0.3ex 0 0.3ex 1%; }
+ div.section p { margin: 1.5ex 0 1.5ex 10%; }
+ div.section pre { margin: 3ex 0 3ex 9%;
+ background-color: #D6E8FF;
+ padding: 2ex 0 2ex 1%; }
+ div.section table.fields { width: 90%;
+ margin: 1.5ex 0 1.5ex 10%; }
+ div.section table.toc { width: 95%;
+ margin: 1.5ex 0 1.5ex 5%; }
+ div.timestamp { text-align: center;
+ font-size: 69%;
+ margin: 1.5ex 0 1.5ex 0; }
+
+ h1 { text-align: center; }
+ h3 { font-size: medium;
+ margin: 4ex 0 1.5ex 0; }
+
+ p { text-align: justify; }
+
+ pre.colored { color: blue; }
+
+ span.keyword { font-family: monospace;
+ text-align: left;
+ white-space: pre;
+ color: darkblue; }
+
+ table.fields td.val { font-weight: bold;
+ text-align: right;
+ width: 30%;
+ vertical-align: baseline;
+ padding: 1ex 1em 1ex 0; }
+ table.fields td.desc { vertical-align: baseline;
+ padding: 1ex 0 1ex 1em; }
+ table.fields td.desc p:first-child { margin: 0; }
+ table.fields td.desc p { margin: 1.5ex 0 0 0; }
+ table.index { margin: 6ex auto 6ex auto;
+ border: 0;
+ border-collapse: separate;
+ border-spacing: 1em 0.3ex; }
+ table.index tr { padding: 0; }
+ table.index td { padding: 0; }
+ table.index-toc-link { width: 100%;
+ border: 0;
+ border-spacing: 0;
+ margin: 1ex 0 1ex 0; }
+ table.index-toc-link td.left { padding: 0 0.5em 0 0.5em;
+ font-size: 83%;
+ text-align: left; }
+ table.index-toc-link td.middle { padding: 0 0.5em 0 0.5em;
+ font-size: 83%;
+ text-align: center; }
+ table.index-toc-link td.right { padding: 0 0.5em 0 0.5em;
+ font-size: 83%;
+ text-align: right; }
+ table.synopsis { margin: 6ex auto 6ex auto;
+ border: 0;
+ border-collapse: separate;
+ border-spacing: 2em 0.6ex; }
+ table.synopsis tr { padding: 0; }
+ table.synopsis td { padding: 0; }
+ table.toc td.link { width: 30%;
+ text-align: right;
+ vertical-align: baseline;
+ padding: 1ex 1em 1ex 0; }
+ table.toc td.desc { vertical-align: baseline;
+ padding: 1ex 0 1ex 1em;
+ text-align: left; }
+ table.toc td.desc p:first-child { margin: 0;
+ text-align: left; }
+ table.toc td.desc p { margin: 1.5ex 0 0 0;
+ text-align: left; }
+
+</style>
+</head>
+<body>
+
+<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table>
+<h1>FreeType-2.6.1 API Reference</h1>
+
+<h1>Error Enumerations</h1>
+
+<p>The header file &lsquo;fterrors.h&rsquo; (which is automatically included by &lsquo;freetype.h&rsquo; 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.</p>
+<p><b>Error</b> <b>Formats</b></p>
+<p>The configuration macro FT_CONFIG_OPTION_USE_MODULE_ERRORS can be defined in &lsquo;ftoption.h&rsquo; in order to make the higher byte indicate the module where the error has happened (this is not compatible with standard builds of FreeType&amp;nbsp;2, however). See the file &lsquo;ftmoderr.h&rsquo; for more details.</p>
+<p><b>Error</b> <b>Message</b> <b>Strings</b></p>
+<p>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&amp;nbsp;2 to save space (most client applications do not use them).</p>
+<p>To do so, you have to define the following macros before including this file.</p>
+<pre class="colored">
+ FT_ERROR_START_LIST
+</pre>
+<p>This macro is called before anything else to define the start of the error list. It is followed by several FT_ERROR_DEF calls.</p>
+<pre class="colored">
+ FT_ERROR_DEF( e, v, s )
+</pre>
+<p>This macro is called to define one single error. &lsquo;e&rsquo; is the error code identifier (e.g., &lsquo;Invalid_Argument&rsquo;), &lsquo;v&rsquo; is the error's numerical value, and &lsquo;s&rsquo; is the corresponding error string.</p>
+<pre class="colored">
+ FT_ERROR_END_LIST
+</pre>
+<p>This macro ends the list.</p>
+<p>Additionally, you have to undefine &lsquo;__FTERRORS_H__&rsquo; before #including this file.</p>
+<p>Here is a simple example.</p>
+<pre class="colored">
+ #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
+</pre>
+<p>Note that &lsquo;FT_Err_Ok&rsquo; is <i>not</i> defined with &lsquo;FT_ERRORDEF&rsquo; but with &lsquo;FT_NOERRORDEF&rsquo;; it is always zero.</p>
+
+</body>
+</html>
diff --git a/lib/freetype/docs/reference/ft2-font_formats.html b/lib/freetype/docs/reference/ft2-font_formats.html
index a0e5e5ebf..99f4fe8dc 100644
--- a/lib/freetype/docs/reference/ft2-font_formats.html
+++ b/lib/freetype/docs/reference/ft2-font_formats.html
@@ -3,7 +3,7 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.6 API Reference</title>
+<title>FreeType-2.6.1 API Reference</title>
<style type="text/css">
a:link { color: #0000EF; }
a:visited { color: #51188E; }
@@ -100,7 +100,7 @@
<body>
<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table>
-<h1>FreeType-2.6 API Reference</h1>
+<h1>FreeType-2.6.1 API Reference</h1>
<h1>Font Formats</h1>
<h2>Synopsis</h2>
@@ -113,7 +113,7 @@
<div class="section">
<h3 id="FT_Get_Font_Format">FT_Get_Font_Format</h3>
-<p>Defined in FT_FONT_FORMATS_H (ftfntfmt.h).</p>
+<p>Defined in FT_FONT_FORMATS_H (freetype/ftfntfmt.h).</p>
<pre>
FT_EXPORT( <span class="keyword">const</span> <span class="keyword">char</span>* )
<b>FT_Get_Font_Format</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face );
diff --git a/lib/freetype/docs/reference/ft2-gasp_table.html b/lib/freetype/docs/reference/ft2-gasp_table.html
index 57fc01bfd..5a50c90f2 100644
--- a/lib/freetype/docs/reference/ft2-gasp_table.html
+++ b/lib/freetype/docs/reference/ft2-gasp_table.html
@@ -3,7 +3,7 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.6 API Reference</title>
+<title>FreeType-2.6.1 API Reference</title>
<style type="text/css">
a:link { color: #0000EF; }
a:visited { color: #51188E; }
@@ -100,7 +100,7 @@
<body>
<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table>
-<h1>FreeType-2.6 API Reference</h1>
+<h1>FreeType-2.6.1 API Reference</h1>
<h1>Gasp Table</h1>
<h2>Synopsis</h2>
@@ -113,7 +113,7 @@
<div class="section">
<h3 id="FT_GASP_XXX">FT_GASP_XXX</h3>
-<p>Defined in FT_GASP_H (ftgasp.h).</p>
+<p>Defined in FT_GASP_H (freetype/ftgasp.h).</p>
<pre>
#define <a href="ft2-gasp_table.html#FT_GASP_NO_TABLE">FT_GASP_NO_TABLE</a> -1
#define <a href="ft2-gasp_table.html#FT_GASP_DO_GRIDFIT">FT_GASP_DO_GRIDFIT</a> 0x01
@@ -155,7 +155,7 @@
<div class="section">
<h3 id="FT_Get_Gasp">FT_Get_Gasp</h3>
-<p>Defined in FT_GASP_H (ftgasp.h).</p>
+<p>Defined in FT_GASP_H (freetype/ftgasp.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Int">FT_Int</a> )
<b>FT_Get_Gasp</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face,
diff --git a/lib/freetype/docs/reference/ft2-glyph_management.html b/lib/freetype/docs/reference/ft2-glyph_management.html
index e7479cdfa..95f8cbe4f 100644
--- a/lib/freetype/docs/reference/ft2-glyph_management.html
+++ b/lib/freetype/docs/reference/ft2-glyph_management.html
@@ -3,7 +3,7 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.6 API Reference</title>
+<title>FreeType-2.6.1 API Reference</title>
<style type="text/css">
a:link { color: #0000EF; }
a:visited { color: #51188E; }
@@ -100,7 +100,7 @@
<body>
<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table>
-<h1>FreeType-2.6 API Reference</h1>
+<h1>FreeType-2.6.1 API Reference</h1>
<h1>Glyph Management</h1>
<h2>Synopsis</h2>
@@ -117,7 +117,7 @@
<div class="section">
<h3 id="FT_Glyph">FT_Glyph</h3>
-<p>Defined in FT_GLYPH_H (ftglyph.h).</p>
+<p>Defined in FT_GLYPH_H (freetype/ftglyph.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">struct</span> FT_GlyphRec_* <b>FT_Glyph</b>;
</pre>
@@ -132,7 +132,7 @@
<div class="section">
<h3 id="FT_GlyphRec">FT_GlyphRec</h3>
-<p>Defined in FT_GLYPH_H (ftglyph.h).</p>
+<p>Defined in FT_GLYPH_H (freetype/ftglyph.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">struct</span> FT_GlyphRec_
{
@@ -167,7 +167,7 @@
<div class="section">
<h3 id="FT_BitmapGlyph">FT_BitmapGlyph</h3>
-<p>Defined in FT_GLYPH_H (ftglyph.h).</p>
+<p>Defined in FT_GLYPH_H (freetype/ftglyph.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">struct</span> FT_BitmapGlyphRec_* <b>FT_BitmapGlyph</b>;
</pre>
@@ -179,7 +179,7 @@
<div class="section">
<h3 id="FT_BitmapGlyphRec">FT_BitmapGlyphRec</h3>
-<p>Defined in FT_GLYPH_H (ftglyph.h).</p>
+<p>Defined in FT_GLYPH_H (freetype/ftglyph.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">struct</span> FT_BitmapGlyphRec_
{
@@ -218,7 +218,7 @@
<div class="section">
<h3 id="FT_OutlineGlyph">FT_OutlineGlyph</h3>
-<p>Defined in FT_GLYPH_H (ftglyph.h).</p>
+<p>Defined in FT_GLYPH_H (freetype/ftglyph.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">struct</span> FT_OutlineGlyphRec_* <b>FT_OutlineGlyph</b>;
</pre>
@@ -230,7 +230,7 @@
<div class="section">
<h3 id="FT_OutlineGlyphRec">FT_OutlineGlyphRec</h3>
-<p>Defined in FT_GLYPH_H (ftglyph.h).</p>
+<p>Defined in FT_GLYPH_H (freetype/ftglyph.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">struct</span> FT_OutlineGlyphRec_
{
@@ -262,7 +262,7 @@
<div class="section">
<h3 id="FT_Get_Glyph">FT_Get_Glyph</h3>
-<p>Defined in FT_GLYPH_H (ftglyph.h).</p>
+<p>Defined in FT_GLYPH_H (freetype/ftglyph.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
<b>FT_Get_Glyph</b>( <a href="ft2-base_interface.html#FT_GlyphSlot">FT_GlyphSlot</a> slot,
@@ -293,7 +293,7 @@
<div class="section">
<h3 id="FT_Glyph_Copy">FT_Glyph_Copy</h3>
-<p>Defined in FT_GLYPH_H (ftglyph.h).</p>
+<p>Defined in FT_GLYPH_H (freetype/ftglyph.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
<b>FT_Glyph_Copy</b>( <a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a> source,
@@ -324,7 +324,7 @@
<div class="section">
<h3 id="FT_Glyph_Transform">FT_Glyph_Transform</h3>
-<p>Defined in FT_GLYPH_H (ftglyph.h).</p>
+<p>Defined in FT_GLYPH_H (freetype/ftglyph.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
<b>FT_Glyph_Transform</b>( <a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a> glyph,
@@ -362,7 +362,7 @@
<div class="section">
<h3 id="FT_Glyph_BBox_Mode">FT_Glyph_BBox_Mode</h3>
-<p>Defined in FT_GLYPH_H (ftglyph.h).</p>
+<p>Defined in FT_GLYPH_H (freetype/ftglyph.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">enum</span> FT_Glyph_BBox_Mode_
{
@@ -410,7 +410,7 @@
<div class="section">
<h3 id="FT_Glyph_Get_CBox">FT_Glyph_Get_CBox</h3>
-<p>Defined in FT_GLYPH_H (ftglyph.h).</p>
+<p>Defined in FT_GLYPH_H (freetype/ftglyph.h).</p>
<pre>
FT_EXPORT( <span class="keyword">void</span> )
<b>FT_Glyph_Get_CBox</b>( <a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a> glyph,
@@ -462,7 +462,7 @@
<div class="section">
<h3 id="FT_Glyph_To_Bitmap">FT_Glyph_To_Bitmap</h3>
-<p>Defined in FT_GLYPH_H (ftglyph.h).</p>
+<p>Defined in FT_GLYPH_H (freetype/ftglyph.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
<b>FT_Glyph_To_Bitmap</b>( <a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a>* the_glyph,
@@ -572,7 +572,7 @@
<div class="section">
<h3 id="FT_Done_Glyph">FT_Done_Glyph</h3>
-<p>Defined in FT_GLYPH_H (ftglyph.h).</p>
+<p>Defined in FT_GLYPH_H (freetype/ftglyph.h).</p>
<pre>
FT_EXPORT( <span class="keyword">void</span> )
<b>FT_Done_Glyph</b>( <a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a> glyph );
diff --git a/lib/freetype/docs/reference/ft2-glyph_stroker.html b/lib/freetype/docs/reference/ft2-glyph_stroker.html
index cb425a925..49de8d47b 100644
--- a/lib/freetype/docs/reference/ft2-glyph_stroker.html
+++ b/lib/freetype/docs/reference/ft2-glyph_stroker.html
@@ -3,7 +3,7 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.6 API Reference</title>
+<title>FreeType-2.6.1 API Reference</title>
<style type="text/css">
a:link { color: #0000EF; }
a:visited { color: #51188E; }
@@ -100,7 +100,7 @@
<body>
<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table>
-<h1>FreeType-2.6 API Reference</h1>
+<h1>FreeType-2.6.1 API Reference</h1>
<h1>Glyph Stroker</h1>
<h2>Synopsis</h2>
@@ -128,7 +128,7 @@
<div class="section">
<h3 id="FT_Stroker">FT_Stroker</h3>
-<p>Defined in FT_STROKER_H (ftstroke.h).</p>
+<p>Defined in FT_STROKER_H (freetype/ftstroke.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">struct</span> FT_StrokerRec_* <b>FT_Stroker</b>;
</pre>
@@ -140,7 +140,7 @@
<div class="section">
<h3 id="FT_Stroker_LineJoin">FT_Stroker_LineJoin</h3>
-<p>Defined in FT_STROKER_H (ftstroke.h).</p>
+<p>Defined in FT_STROKER_H (freetype/ftstroke.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">enum</span> FT_Stroker_LineJoin_
{
@@ -179,7 +179,7 @@
<div class="section">
<h3 id="FT_Stroker_LineCap">FT_Stroker_LineCap</h3>
-<p>Defined in FT_STROKER_H (ftstroke.h).</p>
+<p>Defined in FT_STROKER_H (freetype/ftstroke.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">enum</span> FT_Stroker_LineCap_
{
@@ -210,7 +210,7 @@
<div class="section">
<h3 id="FT_StrokerBorder">FT_StrokerBorder</h3>
-<p>Defined in FT_STROKER_H (ftstroke.h).</p>
+<p>Defined in FT_STROKER_H (freetype/ftstroke.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">enum</span> FT_StrokerBorder_
{
@@ -241,7 +241,7 @@
<div class="section">
<h3 id="FT_Outline_GetInsideBorder">FT_Outline_GetInsideBorder</h3>
-<p>Defined in FT_STROKER_H (ftstroke.h).</p>
+<p>Defined in FT_STROKER_H (freetype/ftstroke.h).</p>
<pre>
FT_EXPORT( <a href="ft2-glyph_stroker.html#FT_StrokerBorder">FT_StrokerBorder</a> )
<b>FT_Outline_GetInsideBorder</b>( <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a>* outline );
@@ -264,7 +264,7 @@
<div class="section">
<h3 id="FT_Outline_GetOutsideBorder">FT_Outline_GetOutsideBorder</h3>
-<p>Defined in FT_STROKER_H (ftstroke.h).</p>
+<p>Defined in FT_STROKER_H (freetype/ftstroke.h).</p>
<pre>
FT_EXPORT( <a href="ft2-glyph_stroker.html#FT_StrokerBorder">FT_StrokerBorder</a> )
<b>FT_Outline_GetOutsideBorder</b>( <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a>* outline );
@@ -287,7 +287,7 @@
<div class="section">
<h3 id="FT_Glyph_Stroke">FT_Glyph_Stroke</h3>
-<p>Defined in FT_STROKER_H (ftstroke.h).</p>
+<p>Defined in FT_STROKER_H (freetype/ftstroke.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
<b>FT_Glyph_Stroke</b>( <a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a> *pglyph,
@@ -326,7 +326,7 @@
<div class="section">
<h3 id="FT_Glyph_StrokeBorder">FT_Glyph_StrokeBorder</h3>
-<p>Defined in FT_STROKER_H (ftstroke.h).</p>
+<p>Defined in FT_STROKER_H (freetype/ftstroke.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
<b>FT_Glyph_StrokeBorder</b>( <a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a> *pglyph,
@@ -369,7 +369,7 @@
<div class="section">
<h3 id="FT_Stroker_New">FT_Stroker_New</h3>
-<p>Defined in FT_STROKER_H (ftstroke.h).</p>
+<p>Defined in FT_STROKER_H (freetype/ftstroke.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
<b>FT_Stroker_New</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library,
@@ -400,7 +400,7 @@
<div class="section">
<h3 id="FT_Stroker_Set">FT_Stroker_Set</h3>
-<p>Defined in FT_STROKER_H (ftstroke.h).</p>
+<p>Defined in FT_STROKER_H (freetype/ftstroke.h).</p>
<pre>
FT_EXPORT( <span class="keyword">void</span> )
<b>FT_Stroker_Set</b>( <a href="ft2-glyph_stroker.html#FT_Stroker">FT_Stroker</a> stroker,
@@ -440,7 +440,7 @@
<div class="section">
<h3 id="FT_Stroker_Rewind">FT_Stroker_Rewind</h3>
-<p>Defined in FT_STROKER_H (ftstroke.h).</p>
+<p>Defined in FT_STROKER_H (freetype/ftstroke.h).</p>
<pre>
FT_EXPORT( <span class="keyword">void</span> )
<b>FT_Stroker_Rewind</b>( <a href="ft2-glyph_stroker.html#FT_Stroker">FT_Stroker</a> stroker );
@@ -460,7 +460,7 @@
<div class="section">
<h3 id="FT_Stroker_ParseOutline">FT_Stroker_ParseOutline</h3>
-<p>Defined in FT_STROKER_H (ftstroke.h).</p>
+<p>Defined in FT_STROKER_H (freetype/ftstroke.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
<b>FT_Stroker_ParseOutline</b>( <a href="ft2-glyph_stroker.html#FT_Stroker">FT_Stroker</a> stroker,
@@ -496,7 +496,7 @@
<div class="section">
<h3 id="FT_Stroker_Done">FT_Stroker_Done</h3>
-<p>Defined in FT_STROKER_H (ftstroke.h).</p>
+<p>Defined in FT_STROKER_H (freetype/ftstroke.h).</p>
<pre>
FT_EXPORT( <span class="keyword">void</span> )
<b>FT_Stroker_Done</b>( <a href="ft2-glyph_stroker.html#FT_Stroker">FT_Stroker</a> stroker );
@@ -516,7 +516,7 @@
<div class="section">
<h3 id="FT_Stroker_BeginSubPath">FT_Stroker_BeginSubPath</h3>
-<p>Defined in FT_STROKER_H (ftstroke.h).</p>
+<p>Defined in FT_STROKER_H (freetype/ftstroke.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
<b>FT_Stroker_BeginSubPath</b>( <a href="ft2-glyph_stroker.html#FT_Stroker">FT_Stroker</a> stroker,
@@ -550,7 +550,7 @@
<div class="section">
<h3 id="FT_Stroker_EndSubPath">FT_Stroker_EndSubPath</h3>
-<p>Defined in FT_STROKER_H (ftstroke.h).</p>
+<p>Defined in FT_STROKER_H (freetype/ftstroke.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
<b>FT_Stroker_EndSubPath</b>( <a href="ft2-glyph_stroker.html#FT_Stroker">FT_Stroker</a> stroker );
@@ -576,7 +576,7 @@
<div class="section">
<h3 id="FT_Stroker_LineTo">FT_Stroker_LineTo</h3>
-<p>Defined in FT_STROKER_H (ftstroke.h).</p>
+<p>Defined in FT_STROKER_H (freetype/ftstroke.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
<b>FT_Stroker_LineTo</b>( <a href="ft2-glyph_stroker.html#FT_Stroker">FT_Stroker</a> stroker,
@@ -606,7 +606,7 @@
<div class="section">
<h3 id="FT_Stroker_ConicTo">FT_Stroker_ConicTo</h3>
-<p>Defined in FT_STROKER_H (ftstroke.h).</p>
+<p>Defined in FT_STROKER_H (freetype/ftstroke.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
<b>FT_Stroker_ConicTo</b>( <a href="ft2-glyph_stroker.html#FT_Stroker">FT_Stroker</a> stroker,
@@ -640,7 +640,7 @@
<div class="section">
<h3 id="FT_Stroker_CubicTo">FT_Stroker_CubicTo</h3>
-<p>Defined in FT_STROKER_H (ftstroke.h).</p>
+<p>Defined in FT_STROKER_H (freetype/ftstroke.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
<b>FT_Stroker_CubicTo</b>( <a href="ft2-glyph_stroker.html#FT_Stroker">FT_Stroker</a> stroker,
@@ -678,7 +678,7 @@
<div class="section">
<h3 id="FT_Stroker_GetBorderCounts">FT_Stroker_GetBorderCounts</h3>
-<p>Defined in FT_STROKER_H (ftstroke.h).</p>
+<p>Defined in FT_STROKER_H (freetype/ftstroke.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
<b>FT_Stroker_GetBorderCounts</b>( <a href="ft2-glyph_stroker.html#FT_Stroker">FT_Stroker</a> stroker,
@@ -722,7 +722,7 @@
<div class="section">
<h3 id="FT_Stroker_ExportBorder">FT_Stroker_ExportBorder</h3>
-<p>Defined in FT_STROKER_H (ftstroke.h).</p>
+<p>Defined in FT_STROKER_H (freetype/ftstroke.h).</p>
<pre>
FT_EXPORT( <span class="keyword">void</span> )
<b>FT_Stroker_ExportBorder</b>( <a href="ft2-glyph_stroker.html#FT_Stroker">FT_Stroker</a> stroker,
@@ -757,7 +757,7 @@
<div class="section">
<h3 id="FT_Stroker_GetCounts">FT_Stroker_GetCounts</h3>
-<p>Defined in FT_STROKER_H (ftstroke.h).</p>
+<p>Defined in FT_STROKER_H (freetype/ftstroke.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
<b>FT_Stroker_GetCounts</b>( <a href="ft2-glyph_stroker.html#FT_Stroker">FT_Stroker</a> stroker,
@@ -792,7 +792,7 @@
<div class="section">
<h3 id="FT_Stroker_Export">FT_Stroker_Export</h3>
-<p>Defined in FT_STROKER_H (ftstroke.h).</p>
+<p>Defined in FT_STROKER_H (freetype/ftstroke.h).</p>
<pre>
FT_EXPORT( <span class="keyword">void</span> )
<b>FT_Stroker_Export</b>( <a href="ft2-glyph_stroker.html#FT_Stroker">FT_Stroker</a> stroker,
diff --git a/lib/freetype/docs/reference/ft2-glyph_variants.html b/lib/freetype/docs/reference/ft2-glyph_variants.html
index 7cef7f905..9c747e3f1 100644
--- a/lib/freetype/docs/reference/ft2-glyph_variants.html
+++ b/lib/freetype/docs/reference/ft2-glyph_variants.html
@@ -3,7 +3,7 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.6 API Reference</title>
+<title>FreeType-2.6.1 API Reference</title>
<style type="text/css">
a:link { color: #0000EF; }
a:visited { color: #51188E; }
@@ -100,7 +100,7 @@
<body>
<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table>
-<h1>FreeType-2.6 API Reference</h1>
+<h1>FreeType-2.6.1 API Reference</h1>
<h1>Glyph Variants</h1>
<h2>Synopsis</h2>
@@ -120,7 +120,7 @@
<div class="section">
<h3 id="FT_Face_GetCharVariantIndex">FT_Face_GetCharVariantIndex</h3>
-<p>Defined in FT_FREETYPE_H (freetype.h).</p>
+<p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> )
<b>FT_Face_GetCharVariantIndex</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face,
@@ -158,7 +158,7 @@
<div class="section">
<h3 id="FT_Face_GetCharVariantIsDefault">FT_Face_GetCharVariantIsDefault</h3>
-<p>Defined in FT_FREETYPE_H (freetype.h).</p>
+<p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Int">FT_Int</a> )
<b>FT_Face_GetCharVariantIsDefault</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face,
@@ -195,7 +195,7 @@
<div class="section">
<h3 id="FT_Face_GetVariantSelectors">FT_Face_GetVariantSelectors</h3>
-<p>Defined in FT_FREETYPE_H (freetype.h).</p>
+<p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_UInt32">FT_UInt32</a>* )
<b>FT_Face_GetVariantSelectors</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face );
@@ -224,7 +224,7 @@
<div class="section">
<h3 id="FT_Face_GetVariantsOfChar">FT_Face_GetVariantsOfChar</h3>
-<p>Defined in FT_FREETYPE_H (freetype.h).</p>
+<p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_UInt32">FT_UInt32</a>* )
<b>FT_Face_GetVariantsOfChar</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face,
@@ -257,7 +257,7 @@
<div class="section">
<h3 id="FT_Face_GetCharsOfVariant">FT_Face_GetCharsOfVariant</h3>
-<p>Defined in FT_FREETYPE_H (freetype.h).</p>
+<p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_UInt32">FT_UInt32</a>* )
<b>FT_Face_GetCharsOfVariant</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face,
diff --git a/lib/freetype/docs/reference/ft2-gx_validation.html b/lib/freetype/docs/reference/ft2-gx_validation.html
index d80b44231..dc2a80331 100644
--- a/lib/freetype/docs/reference/ft2-gx_validation.html
+++ b/lib/freetype/docs/reference/ft2-gx_validation.html
@@ -3,7 +3,7 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.6 API Reference</title>
+<title>FreeType-2.6.1 API Reference</title>
<style type="text/css">
a:link { color: #0000EF; }
a:visited { color: #51188E; }
@@ -100,7 +100,7 @@
<body>
<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table>
-<h1>FreeType-2.6 API Reference</h1>
+<h1>FreeType-2.6.1 API Reference</h1>
<h1>TrueTypeGX/AAT Validation</h1>
<h2>Synopsis</h2>
@@ -115,7 +115,7 @@
<div class="section">
<h3 id="FT_TrueTypeGX_Validate">FT_TrueTypeGX_Validate</h3>
-<p>Defined in FT_GX_VALIDATE_H (ftgxval.h).</p>
+<p>Defined in FT_GX_VALIDATE_H (freetype/ftgxval.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
<b>FT_TrueTypeGX_Validate</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face,
@@ -158,7 +158,7 @@
<div class="section">
<h3 id="FT_TrueTypeGX_Free">FT_TrueTypeGX_Free</h3>
-<p>Defined in FT_GX_VALIDATE_H (ftgxval.h).</p>
+<p>Defined in FT_GX_VALIDATE_H (freetype/ftgxval.h).</p>
<pre>
FT_EXPORT( <span class="keyword">void</span> )
<b>FT_TrueTypeGX_Free</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face,
@@ -185,7 +185,7 @@
<div class="section">
<h3 id="FT_ClassicKern_Validate">FT_ClassicKern_Validate</h3>
-<p>Defined in FT_GX_VALIDATE_H (ftgxval.h).</p>
+<p>Defined in FT_GX_VALIDATE_H (freetype/ftgxval.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
<b>FT_ClassicKern_Validate</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face,
@@ -224,7 +224,7 @@
<div class="section">
<h3 id="FT_ClassicKern_Free">FT_ClassicKern_Free</h3>
-<p>Defined in FT_GX_VALIDATE_H (ftgxval.h).</p>
+<p>Defined in FT_GX_VALIDATE_H (freetype/ftgxval.h).</p>
<pre>
FT_EXPORT( <span class="keyword">void</span> )
<b>FT_ClassicKern_Free</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face,
@@ -251,7 +251,7 @@
<div class="section">
<h3 id="FT_VALIDATE_GX_LENGTH">FT_VALIDATE_GX_LENGTH</h3>
-<p>Defined in FT_GX_VALIDATE_H (ftgxval.h).</p>
+<p>Defined in FT_GX_VALIDATE_H (freetype/ftgxval.h).</p>
<pre>
#define <b>FT_VALIDATE_GX_LENGTH</b> (FT_VALIDATE_GX_LAST_INDEX + 1)
</pre>
@@ -263,7 +263,7 @@
<div class="section">
<h3 id="FT_VALIDATE_GXXXX">FT_VALIDATE_GXXXX</h3>
-<p>Defined in FT_GX_VALIDATE_H (ftgxval.h).</p>
+<p>Defined in FT_GX_VALIDATE_H (freetype/ftgxval.h).</p>
<pre>
#define <a href="ft2-gx_validation.html#FT_VALIDATE_feat">FT_VALIDATE_feat</a> FT_VALIDATE_GX_BITFIELD( feat )
#define <a href="ft2-gx_validation.html#FT_VALIDATE_mort">FT_VALIDATE_mort</a> FT_VALIDATE_GX_BITFIELD( mort )
@@ -332,7 +332,7 @@
<div class="section">
<h3 id="FT_VALIDATE_CKERNXXX">FT_VALIDATE_CKERNXXX</h3>
-<p>Defined in FT_GX_VALIDATE_H (ftgxval.h).</p>
+<p>Defined in FT_GX_VALIDATE_H (freetype/ftgxval.h).</p>
<pre>
#define <a href="ft2-gx_validation.html#FT_VALIDATE_MS">FT_VALIDATE_MS</a> ( FT_VALIDATE_GX_START &lt;&lt; 0 )
#define <a href="ft2-gx_validation.html#FT_VALIDATE_APPLE">FT_VALIDATE_APPLE</a> ( FT_VALIDATE_GX_START &lt;&lt; 1 )
diff --git a/lib/freetype/docs/reference/ft2-gzip.html b/lib/freetype/docs/reference/ft2-gzip.html
index 6f2388b10..96d0af9df 100644
--- a/lib/freetype/docs/reference/ft2-gzip.html
+++ b/lib/freetype/docs/reference/ft2-gzip.html
@@ -3,7 +3,7 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.6 API Reference</title>
+<title>FreeType-2.6.1 API Reference</title>
<style type="text/css">
a:link { color: #0000EF; }
a:visited { color: #51188E; }
@@ -100,7 +100,7 @@
<body>
<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table>
-<h1>FreeType-2.6 API Reference</h1>
+<h1>FreeType-2.6.1 API Reference</h1>
<h1>GZIP Streams</h1>
<h2>Synopsis</h2>
@@ -113,7 +113,7 @@
<div class="section">
<h3 id="FT_Stream_OpenGzip">FT_Stream_OpenGzip</h3>
-<p>Defined in FT_GZIP_H (ftgzip.h).</p>
+<p>Defined in FT_GZIP_H (freetype/ftgzip.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
<b>FT_Stream_OpenGzip</b>( <a href="ft2-system_interface.html#FT_Stream">FT_Stream</a> stream,
@@ -147,7 +147,7 @@
<div class="section">
<h3 id="FT_Gzip_Uncompress">FT_Gzip_Uncompress</h3>
-<p>Defined in FT_GZIP_H (ftgzip.h).</p>
+<p>Defined in FT_GZIP_H (freetype/ftgzip.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
<b>FT_Gzip_Uncompress</b>( <a href="ft2-system_interface.html#FT_Memory">FT_Memory</a> memory,
diff --git a/lib/freetype/docs/reference/ft2-header_file_macros.html b/lib/freetype/docs/reference/ft2-header_file_macros.html
index 7bfae5a93..c07ae56d0 100644
--- a/lib/freetype/docs/reference/ft2-header_file_macros.html
+++ b/lib/freetype/docs/reference/ft2-header_file_macros.html
@@ -3,7 +3,7 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.6 API Reference</title>
+<title>FreeType-2.6.1 API Reference</title>
<style type="text/css">
a:link { color: #0000EF; }
a:visited { color: #51188E; }
@@ -100,7 +100,7 @@
<body>
<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table>
-<h1>FreeType-2.6 API Reference</h1>
+<h1>FreeType-2.6.1 API Reference</h1>
<h1>Header File Macros</h1>
<h2>Synopsis</h2>
@@ -146,7 +146,7 @@
<h3 id="FT_CONFIG_CONFIG_H">FT_CONFIG_CONFIG_H</h3>
<pre>
#ifndef <b>FT_CONFIG_CONFIG_H</b>
-#define <b>FT_CONFIG_CONFIG_H</b> &lt;config/ftconfig.h&gt;
+#define <b>FT_CONFIG_CONFIG_H</b> &lt;freetype/config/ftconfig.h&gt;
#endif
</pre>
@@ -159,7 +159,7 @@
<h3 id="FT_CONFIG_STANDARD_LIBRARY_H">FT_CONFIG_STANDARD_LIBRARY_H</h3>
<pre>
#ifndef <b>FT_CONFIG_STANDARD_LIBRARY_H</b>
-#define <b>FT_CONFIG_STANDARD_LIBRARY_H</b> &lt;config/ftstdlib.h&gt;
+#define <b>FT_CONFIG_STANDARD_LIBRARY_H</b> &lt;freetype/config/ftstdlib.h&gt;
#endif
</pre>
@@ -172,7 +172,7 @@
<h3 id="FT_CONFIG_OPTIONS_H">FT_CONFIG_OPTIONS_H</h3>
<pre>
#ifndef <b>FT_CONFIG_OPTIONS_H</b>
-#define <b>FT_CONFIG_OPTIONS_H</b> &lt;config/ftoption.h&gt;
+#define <b>FT_CONFIG_OPTIONS_H</b> &lt;freetype/config/ftoption.h&gt;
#endif
</pre>
@@ -185,7 +185,7 @@
<h3 id="FT_CONFIG_MODULES_H">FT_CONFIG_MODULES_H</h3>
<pre>
#ifndef <b>FT_CONFIG_MODULES_H</b>
-#define <b>FT_CONFIG_MODULES_H</b> &lt;config/ftmodule.h&gt;
+#define <b>FT_CONFIG_MODULES_H</b> &lt;freetype/config/ftmodule.h&gt;
#endif
</pre>
@@ -197,7 +197,7 @@
<div class="section">
<h3 id="FT_FREETYPE_H">FT_FREETYPE_H</h3>
<pre>
-#define <b>FT_FREETYPE_H</b> &lt;freetype.h&gt;
+#define <b>FT_FREETYPE_H</b> &lt;freetype/freetype.h&gt;
</pre>
<p>A macro used in #include statements to name the file containing the base FreeType&nbsp;2 API.</p>
@@ -208,7 +208,7 @@
<div class="section">
<h3 id="FT_ERRORS_H">FT_ERRORS_H</h3>
<pre>
-#define <b>FT_ERRORS_H</b> &lt;fterrors.h&gt;
+#define <b>FT_ERRORS_H</b> &lt;freetype/fterrors.h&gt;
</pre>
<p>A macro used in #include statements to name the file containing the list of FreeType&nbsp;2 error codes (and messages).</p>
@@ -220,7 +220,7 @@
<div class="section">
<h3 id="FT_MODULE_ERRORS_H">FT_MODULE_ERRORS_H</h3>
<pre>
-#define <b>FT_MODULE_ERRORS_H</b> &lt;ftmoderr.h&gt;
+#define <b>FT_MODULE_ERRORS_H</b> &lt;freetype/ftmoderr.h&gt;
</pre>
<p>A macro used in #include statements to name the file containing the list of FreeType&nbsp;2 module error offsets (and messages).</p>
@@ -231,7 +231,7 @@
<div class="section">
<h3 id="FT_SYSTEM_H">FT_SYSTEM_H</h3>
<pre>
-#define <b>FT_SYSTEM_H</b> &lt;ftsystem.h&gt;
+#define <b>FT_SYSTEM_H</b> &lt;freetype/ftsystem.h&gt;
</pre>
<p>A macro used in #include statements to name the file containing the FreeType&nbsp;2 interface to low-level operations (i.e., memory management and stream i/o).</p>
@@ -243,7 +243,7 @@
<div class="section">
<h3 id="FT_IMAGE_H">FT_IMAGE_H</h3>
<pre>
-#define <b>FT_IMAGE_H</b> &lt;ftimage.h&gt;
+#define <b>FT_IMAGE_H</b> &lt;freetype/ftimage.h&gt;
</pre>
<p>A macro used in #include statements to name the file containing type definitions related to glyph images (i.e., bitmaps, outlines, scan-converter parameters).</p>
@@ -255,7 +255,7 @@
<div class="section">
<h3 id="FT_TYPES_H">FT_TYPES_H</h3>
<pre>
-#define <b>FT_TYPES_H</b> &lt;fttypes.h&gt;
+#define <b>FT_TYPES_H</b> &lt;freetype/fttypes.h&gt;
</pre>
<p>A macro used in #include statements to name the file containing the basic data types defined by FreeType&nbsp;2.</p>
@@ -267,7 +267,7 @@
<div class="section">
<h3 id="FT_LIST_H">FT_LIST_H</h3>
<pre>
-#define <b>FT_LIST_H</b> &lt;ftlist.h&gt;
+#define <b>FT_LIST_H</b> &lt;freetype/ftlist.h&gt;
</pre>
<p>A macro used in #include statements to name the file containing the list management API of FreeType&nbsp;2.</p>
@@ -279,7 +279,7 @@
<div class="section">
<h3 id="FT_OUTLINE_H">FT_OUTLINE_H</h3>
<pre>
-#define <b>FT_OUTLINE_H</b> &lt;ftoutln.h&gt;
+#define <b>FT_OUTLINE_H</b> &lt;freetype/ftoutln.h&gt;
</pre>
<p>A macro used in #include statements to name the file containing the scalable outline management API of FreeType&nbsp;2.</p>
@@ -290,7 +290,7 @@
<div class="section">
<h3 id="FT_SIZES_H">FT_SIZES_H</h3>
<pre>
-#define <b>FT_SIZES_H</b> &lt;ftsizes.h&gt;
+#define <b>FT_SIZES_H</b> &lt;freetype/ftsizes.h&gt;
</pre>
<p>A macro used in #include statements to name the file containing the API which manages multiple <a href="ft2-base_interface.html#FT_Size">FT_Size</a> objects per face.</p>
@@ -301,7 +301,7 @@
<div class="section">
<h3 id="FT_MODULE_H">FT_MODULE_H</h3>
<pre>
-#define <b>FT_MODULE_H</b> &lt;ftmodapi.h&gt;
+#define <b>FT_MODULE_H</b> &lt;freetype/ftmodapi.h&gt;
</pre>
<p>A macro used in #include statements to name the file containing the module management API of FreeType&nbsp;2.</p>
@@ -312,7 +312,7 @@
<div class="section">
<h3 id="FT_RENDER_H">FT_RENDER_H</h3>
<pre>
-#define <b>FT_RENDER_H</b> &lt;ftrender.h&gt;
+#define <b>FT_RENDER_H</b> &lt;freetype/ftrender.h&gt;
</pre>
<p>A macro used in #include statements to name the file containing the renderer module management API of FreeType&nbsp;2.</p>
@@ -323,7 +323,7 @@
<div class="section">
<h3 id="FT_AUTOHINTER_H">FT_AUTOHINTER_H</h3>
<pre>
-#define <b>FT_AUTOHINTER_H</b> &lt;ftautoh.h&gt;
+#define <b>FT_AUTOHINTER_H</b> &lt;freetype/ftautoh.h&gt;
</pre>
<p>A macro used in #include statements to name the file containing structures and macros related to the auto-hinting module.</p>
@@ -334,7 +334,7 @@
<div class="section">
<h3 id="FT_CFF_DRIVER_H">FT_CFF_DRIVER_H</h3>
<pre>
-#define <b>FT_CFF_DRIVER_H</b> &lt;ftcffdrv.h&gt;
+#define <b>FT_CFF_DRIVER_H</b> &lt;freetype/ftcffdrv.h&gt;
</pre>
<p>A macro used in #include statements to name the file containing structures and macros related to the CFF driver module.</p>
@@ -345,7 +345,7 @@
<div class="section">
<h3 id="FT_TRUETYPE_DRIVER_H">FT_TRUETYPE_DRIVER_H</h3>
<pre>
-#define <b>FT_TRUETYPE_DRIVER_H</b> &lt;ftttdrv.h&gt;
+#define <b>FT_TRUETYPE_DRIVER_H</b> &lt;freetype/ftttdrv.h&gt;
</pre>
<p>A macro used in #include statements to name the file containing structures and macros related to the TrueType driver module.</p>
@@ -356,7 +356,7 @@
<div class="section">
<h3 id="FT_TYPE1_TABLES_H">FT_TYPE1_TABLES_H</h3>
<pre>
-#define <b>FT_TYPE1_TABLES_H</b> &lt;t1tables.h&gt;
+#define <b>FT_TYPE1_TABLES_H</b> &lt;freetype/t1tables.h&gt;
</pre>
<p>A macro used in #include statements to name the file containing the types and API specific to the Type&nbsp;1 format.</p>
@@ -367,7 +367,7 @@
<div class="section">
<h3 id="FT_TRUETYPE_IDS_H">FT_TRUETYPE_IDS_H</h3>
<pre>
-#define <b>FT_TRUETYPE_IDS_H</b> &lt;ttnameid.h&gt;
+#define <b>FT_TRUETYPE_IDS_H</b> &lt;freetype/ttnameid.h&gt;
</pre>
<p>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 <i>large</i> set of constant macro definitions, taken from the TrueType and OpenType specifications.</p>
@@ -378,7 +378,7 @@
<div class="section">
<h3 id="FT_TRUETYPE_TABLES_H">FT_TRUETYPE_TABLES_H</h3>
<pre>
-#define <b>FT_TRUETYPE_TABLES_H</b> &lt;tttables.h&gt;
+#define <b>FT_TRUETYPE_TABLES_H</b> &lt;freetype/tttables.h&gt;
</pre>
<p>A macro used in #include statements to name the file containing the types and API specific to the TrueType (as well as OpenType) format.</p>
@@ -389,7 +389,7 @@
<div class="section">
<h3 id="FT_TRUETYPE_TAGS_H">FT_TRUETYPE_TAGS_H</h3>
<pre>
-#define <b>FT_TRUETYPE_TAGS_H</b> &lt;tttags.h&gt;
+#define <b>FT_TRUETYPE_TAGS_H</b> &lt;freetype/tttags.h&gt;
</pre>
<p>A macro used in #include statements to name the file containing the definitions of TrueType four-byte &lsquo;tags&rsquo; which identify blocks in SFNT-based font formats (i.e., TrueType and OpenType).</p>
@@ -400,7 +400,7 @@
<div class="section">
<h3 id="FT_BDF_H">FT_BDF_H</h3>
<pre>
-#define <b>FT_BDF_H</b> &lt;ftbdf.h&gt;
+#define <b>FT_BDF_H</b> &lt;freetype/ftbdf.h&gt;
</pre>
<p>A macro used in #include statements to name the file containing the definitions of an API which accesses BDF-specific strings from a face.</p>
@@ -411,7 +411,7 @@
<div class="section">
<h3 id="FT_CID_H">FT_CID_H</h3>
<pre>
-#define <b>FT_CID_H</b> &lt;ftcid.h&gt;
+#define <b>FT_CID_H</b> &lt;freetype/ftcid.h&gt;
</pre>
<p>A macro used in #include statements to name the file containing the definitions of an API which access CID font information from a face.</p>
@@ -422,7 +422,7 @@
<div class="section">
<h3 id="FT_GZIP_H">FT_GZIP_H</h3>
<pre>
-#define <b>FT_GZIP_H</b> &lt;ftgzip.h&gt;
+#define <b>FT_GZIP_H</b> &lt;freetype/ftgzip.h&gt;
</pre>
<p>A macro used in #include statements to name the file containing the definitions of an API which supports gzip-compressed files.</p>
@@ -433,7 +433,7 @@
<div class="section">
<h3 id="FT_LZW_H">FT_LZW_H</h3>
<pre>
-#define <b>FT_LZW_H</b> &lt;ftlzw.h&gt;
+#define <b>FT_LZW_H</b> &lt;freetype/ftlzw.h&gt;
</pre>
<p>A macro used in #include statements to name the file containing the definitions of an API which supports LZW-compressed files.</p>
@@ -444,7 +444,7 @@
<div class="section">
<h3 id="FT_BZIP2_H">FT_BZIP2_H</h3>
<pre>
-#define <b>FT_BZIP2_H</b> &lt;ftbzip2.h&gt;
+#define <b>FT_BZIP2_H</b> &lt;freetype/ftbzip2.h&gt;
</pre>
<p>A macro used in #include statements to name the file containing the definitions of an API which supports bzip2-compressed files.</p>
@@ -455,7 +455,7 @@
<div class="section">
<h3 id="FT_WINFONTS_H">FT_WINFONTS_H</h3>
<pre>
-#define <b>FT_WINFONTS_H</b> &lt;ftwinfnt.h&gt;
+#define <b>FT_WINFONTS_H</b> &lt;freetype/ftwinfnt.h&gt;
</pre>
<p>A macro used in #include statements to name the file containing the definitions of an API which supports Windows FNT files.</p>
@@ -466,7 +466,7 @@
<div class="section">
<h3 id="FT_GLYPH_H">FT_GLYPH_H</h3>
<pre>
-#define <b>FT_GLYPH_H</b> &lt;ftglyph.h&gt;
+#define <b>FT_GLYPH_H</b> &lt;freetype/ftglyph.h&gt;
</pre>
<p>A macro used in #include statements to name the file containing the API of the optional glyph management component.</p>
@@ -477,7 +477,7 @@
<div class="section">
<h3 id="FT_BITMAP_H">FT_BITMAP_H</h3>
<pre>
-#define <b>FT_BITMAP_H</b> &lt;ftbitmap.h&gt;
+#define <b>FT_BITMAP_H</b> &lt;freetype/ftbitmap.h&gt;
</pre>
<p>A macro used in #include statements to name the file containing the API of the optional bitmap conversion component.</p>
@@ -488,7 +488,7 @@
<div class="section">
<h3 id="FT_BBOX_H">FT_BBOX_H</h3>
<pre>
-#define <b>FT_BBOX_H</b> &lt;ftbbox.h&gt;
+#define <b>FT_BBOX_H</b> &lt;freetype/ftbbox.h&gt;
</pre>
<p>A macro used in #include statements to name the file containing the API of the optional exact bounding box computation routines.</p>
@@ -499,7 +499,7 @@
<div class="section">
<h3 id="FT_CACHE_H">FT_CACHE_H</h3>
<pre>
-#define <b>FT_CACHE_H</b> &lt;ftcache.h&gt;
+#define <b>FT_CACHE_H</b> &lt;freetype/ftcache.h&gt;
</pre>
<p>A macro used in #include statements to name the file containing the API of the optional FreeType&nbsp;2 cache sub-system.</p>
@@ -548,7 +548,7 @@
<div class="section">
<h3 id="FT_MAC_H">FT_MAC_H</h3>
<pre>
-#define <b>FT_MAC_H</b> &lt;ftmac.h&gt;
+#define <b>FT_MAC_H</b> &lt;freetype/ftmac.h&gt;
</pre>
<p>A macro used in #include statements to name the file containing the Macintosh-specific FreeType&nbsp;2 API. The latter is used to access fonts embedded in resource forks.</p>
@@ -560,7 +560,7 @@
<div class="section">
<h3 id="FT_MULTIPLE_MASTERS_H">FT_MULTIPLE_MASTERS_H</h3>
<pre>
-#define <b>FT_MULTIPLE_MASTERS_H</b> &lt;ftmm.h&gt;
+#define <b>FT_MULTIPLE_MASTERS_H</b> &lt;freetype/ftmm.h&gt;
</pre>
<p>A macro used in #include statements to name the file containing the optional multiple-masters management API of FreeType&nbsp;2.</p>
@@ -571,7 +571,7 @@
<div class="section">
<h3 id="FT_SFNT_NAMES_H">FT_SFNT_NAMES_H</h3>
<pre>
-#define <b>FT_SFNT_NAMES_H</b> &lt;ftsnames.h&gt;
+#define <b>FT_SFNT_NAMES_H</b> &lt;freetype/ftsnames.h&gt;
</pre>
<p>A macro used in #include statements to name the file containing the optional FreeType&nbsp;2 API which accesses embedded &lsquo;name&rsquo; strings in SFNT-based font formats (i.e., TrueType and OpenType).</p>
@@ -582,7 +582,7 @@
<div class="section">
<h3 id="FT_OPENTYPE_VALIDATE_H">FT_OPENTYPE_VALIDATE_H</h3>
<pre>
-#define <b>FT_OPENTYPE_VALIDATE_H</b> &lt;ftotval.h&gt;
+#define <b>FT_OPENTYPE_VALIDATE_H</b> &lt;freetype/ftotval.h&gt;
</pre>
<p>A macro used in #include statements to name the file containing the optional FreeType&nbsp;2 API which validates OpenType tables (BASE, GDEF, GPOS, GSUB, JSTF).</p>
@@ -593,7 +593,7 @@
<div class="section">
<h3 id="FT_GX_VALIDATE_H">FT_GX_VALIDATE_H</h3>
<pre>
-#define <b>FT_GX_VALIDATE_H</b> &lt;ftgxval.h&gt;
+#define <b>FT_GX_VALIDATE_H</b> &lt;freetype/ftgxval.h&gt;
</pre>
<p>A macro used in #include statements to name the file containing the optional FreeType&nbsp;2 API which validates TrueTypeGX/AAT tables (feat, mort, morx, bsln, just, kern, opbd, trak, prop).</p>
@@ -604,7 +604,7 @@
<div class="section">
<h3 id="FT_PFR_H">FT_PFR_H</h3>
<pre>
-#define <b>FT_PFR_H</b> &lt;ftpfr.h&gt;
+#define <b>FT_PFR_H</b> &lt;freetype/ftpfr.h&gt;
</pre>
<p>A macro used in #include statements to name the file containing the FreeType&nbsp;2 API which accesses PFR-specific data.</p>
@@ -615,7 +615,7 @@
<div class="section">
<h3 id="FT_STROKER_H">FT_STROKER_H</h3>
<pre>
-#define <b>FT_STROKER_H</b> &lt;ftstroke.h&gt;
+#define <b>FT_STROKER_H</b> &lt;freetype/ftstroke.h&gt;
</pre>
<p>A macro used in #include statements to name the file containing the FreeType&nbsp;2 API which provides functions to stroke outline paths.</p>
@@ -626,7 +626,7 @@
<div class="section">
<h3 id="FT_SYNTHESIS_H">FT_SYNTHESIS_H</h3>
<pre>
-#define <b>FT_SYNTHESIS_H</b> &lt;ftsynth.h&gt;
+#define <b>FT_SYNTHESIS_H</b> &lt;freetype/ftsynth.h&gt;
</pre>
<p>A macro used in #include statements to name the file containing the FreeType&nbsp;2 API which performs artificial obliquing and emboldening.</p>
@@ -637,7 +637,7 @@
<div class="section">
<h3 id="FT_FONT_FORMATS_H">FT_FONT_FORMATS_H</h3>
<pre>
-#define <b>FT_FONT_FORMATS_H</b> &lt;ftfntfmt.h&gt;
+#define <b>FT_FONT_FORMATS_H</b> &lt;freetype/ftfntfmt.h&gt;
/* deprecated */
#define FT_XFREE86_H <b>FT_FONT_FORMATS_H</b>
@@ -651,7 +651,7 @@
<div class="section">
<h3 id="FT_TRIGONOMETRY_H">FT_TRIGONOMETRY_H</h3>
<pre>
-#define <b>FT_TRIGONOMETRY_H</b> &lt;fttrigon.h&gt;
+#define <b>FT_TRIGONOMETRY_H</b> &lt;freetype/fttrigon.h&gt;
</pre>
<p>A macro used in #include statements to name the file containing the FreeType&nbsp;2 API which performs trigonometric computations (e.g., cosines and arc tangents).</p>
@@ -662,7 +662,7 @@
<div class="section">
<h3 id="FT_LCD_FILTER_H">FT_LCD_FILTER_H</h3>
<pre>
-#define <b>FT_LCD_FILTER_H</b> &lt;ftlcdfil.h&gt;
+#define <b>FT_LCD_FILTER_H</b> &lt;freetype/ftlcdfil.h&gt;
</pre>
<p>A macro used in #include statements to name the file containing the FreeType&nbsp;2 API which performs color filtering for subpixel rendering.</p>
@@ -673,7 +673,7 @@
<div class="section">
<h3 id="FT_UNPATENTED_HINTING_H">FT_UNPATENTED_HINTING_H</h3>
<pre>
-#define <b>FT_UNPATENTED_HINTING_H</b> &lt;ttunpat.h&gt;
+#define <b>FT_UNPATENTED_HINTING_H</b> &lt;freetype/ttunpat.h&gt;
</pre>
<p>A macro used in #include statements to name the file containing the FreeType&nbsp;2 API which performs color filtering for subpixel rendering.</p>
@@ -684,7 +684,7 @@
<div class="section">
<h3 id="FT_INCREMENTAL_H">FT_INCREMENTAL_H</h3>
<pre>
-#define <b>FT_INCREMENTAL_H</b> &lt;ftincrem.h&gt;
+#define <b>FT_INCREMENTAL_H</b> &lt;freetype/ftincrem.h&gt;
</pre>
<p>A macro used in #include statements to name the file containing the FreeType&nbsp;2 API which performs color filtering for subpixel rendering.</p>
@@ -695,7 +695,7 @@
<div class="section">
<h3 id="FT_GASP_H">FT_GASP_H</h3>
<pre>
-#define <b>FT_GASP_H</b> &lt;ftgasp.h&gt;
+#define <b>FT_GASP_H</b> &lt;freetype/ftgasp.h&gt;
</pre>
<p>A macro used in #include statements to name the file containing the FreeType&nbsp;2 API which returns entries from the TrueType GASP table.</p>
@@ -706,7 +706,7 @@
<div class="section">
<h3 id="FT_ADVANCES_H">FT_ADVANCES_H</h3>
<pre>
-#define <b>FT_ADVANCES_H</b> &lt;ftadvanc.h&gt;
+#define <b>FT_ADVANCES_H</b> &lt;freetype/ftadvanc.h&gt;
</pre>
<p>A macro used in #include statements to name the file containing the FreeType&nbsp;2 API which returns individual and ranged glyph advances.</p>
diff --git a/lib/freetype/docs/reference/ft2-header_inclusion.html b/lib/freetype/docs/reference/ft2-header_inclusion.html
index 1fe4b45cf..02d8232d0 100644
--- a/lib/freetype/docs/reference/ft2-header_inclusion.html
+++ b/lib/freetype/docs/reference/ft2-header_inclusion.html
@@ -3,7 +3,7 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.6 API Reference</title>
+<title>FreeType-2.6.1 API Reference</title>
<style type="text/css">
a:link { color: #0000EF; }
a:visited { color: #51188E; }
@@ -100,7 +100,7 @@
<body>
<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table>
-<h1>FreeType-2.6 API Reference</h1>
+<h1>FreeType-2.6.1 API Reference</h1>
<h1>FreeType's header inclusion scheme</h1>
diff --git a/lib/freetype/docs/reference/ft2-incremental.html b/lib/freetype/docs/reference/ft2-incremental.html
index 187c7c69c..4ad658f4c 100644
--- a/lib/freetype/docs/reference/ft2-incremental.html
+++ b/lib/freetype/docs/reference/ft2-incremental.html
@@ -3,7 +3,7 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.6 API Reference</title>
+<title>FreeType-2.6.1 API Reference</title>
<style type="text/css">
a:link { color: #0000EF; }
a:visited { color: #51188E; }
@@ -100,7 +100,7 @@
<body>
<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table>
-<h1>FreeType-2.6 API Reference</h1>
+<h1>FreeType-2.6.1 API Reference</h1>
<h1>Incremental Loading</h1>
<h2>Synopsis</h2>
@@ -119,7 +119,7 @@
<div class="section">
<h3 id="FT_Incremental">FT_Incremental</h3>
-<p>Defined in FT_INCREMENTAL_H (ftincrem.h).</p>
+<p>Defined in FT_INCREMENTAL_H (freetype/ftincrem.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">struct</span> FT_IncrementalRec_* <b>FT_Incremental</b>;
</pre>
@@ -135,7 +135,7 @@
<div class="section">
<h3 id="FT_Incremental_MetricsRec">FT_Incremental_MetricsRec</h3>
-<p>Defined in FT_INCREMENTAL_H (ftincrem.h).</p>
+<p>Defined in FT_INCREMENTAL_H (freetype/ftincrem.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Incremental_MetricsRec_
{
@@ -173,7 +173,7 @@
<div class="section">
<h3 id="FT_Incremental_Metrics">FT_Incremental_Metrics</h3>
-<p>Defined in FT_INCREMENTAL_H (ftincrem.h).</p>
+<p>Defined in FT_INCREMENTAL_H (freetype/ftincrem.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Incremental_MetricsRec_* <b>FT_Incremental_Metrics</b>;
</pre>
@@ -185,7 +185,7 @@
<div class="section">
<h3 id="FT_Incremental_GetGlyphDataFunc">FT_Incremental_GetGlyphDataFunc</h3>
-<p>Defined in FT_INCREMENTAL_H (ftincrem.h).</p>
+<p>Defined in FT_INCREMENTAL_H (freetype/ftincrem.h).</p>
<pre>
<span class="keyword">typedef</span> <a href="ft2-basic_types.html#FT_Error">FT_Error</a>
(*<b>FT_Incremental_GetGlyphDataFunc</b>)( <a href="ft2-incremental.html#FT_Incremental">FT_Incremental</a> incremental,
@@ -225,7 +225,7 @@
<div class="section">
<h3 id="FT_Incremental_FreeGlyphDataFunc">FT_Incremental_FreeGlyphDataFunc</h3>
-<p>Defined in FT_INCREMENTAL_H (ftincrem.h).</p>
+<p>Defined in FT_INCREMENTAL_H (freetype/ftincrem.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">void</span>
(*<b>FT_Incremental_FreeGlyphDataFunc</b>)( <a href="ft2-incremental.html#FT_Incremental">FT_Incremental</a> incremental,
@@ -249,7 +249,7 @@
<div class="section">
<h3 id="FT_Incremental_GetGlyphMetricsFunc">FT_Incremental_GetGlyphMetricsFunc</h3>
-<p>Defined in FT_INCREMENTAL_H (ftincrem.h).</p>
+<p>Defined in FT_INCREMENTAL_H (freetype/ftincrem.h).</p>
<pre>
<span class="keyword">typedef</span> <a href="ft2-basic_types.html#FT_Error">FT_Error</a>
(*<b>FT_Incremental_GetGlyphMetricsFunc</b>)
@@ -289,7 +289,7 @@
<div class="section">
<h3 id="FT_Incremental_FuncsRec">FT_Incremental_FuncsRec</h3>
-<p>Defined in FT_INCREMENTAL_H (ftincrem.h).</p>
+<p>Defined in FT_INCREMENTAL_H (freetype/ftincrem.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Incremental_FuncsRec_
{
@@ -320,7 +320,7 @@
<div class="section">
<h3 id="FT_Incremental_InterfaceRec">FT_Incremental_InterfaceRec</h3>
-<p>Defined in FT_INCREMENTAL_H (ftincrem.h).</p>
+<p>Defined in FT_INCREMENTAL_H (freetype/ftincrem.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Incremental_InterfaceRec_
{
@@ -361,7 +361,7 @@
<div class="section">
<h3 id="FT_Incremental_Interface">FT_Incremental_Interface</h3>
-<p>Defined in FT_INCREMENTAL_H (ftincrem.h).</p>
+<p>Defined in FT_INCREMENTAL_H (freetype/ftincrem.h).</p>
<pre>
<span class="keyword">typedef</span> <a href="ft2-incremental.html#FT_Incremental_InterfaceRec">FT_Incremental_InterfaceRec</a>* <b>FT_Incremental_Interface</b>;
</pre>
@@ -373,7 +373,7 @@
<div class="section">
<h3 id="FT_PARAM_TAG_INCREMENTAL">FT_PARAM_TAG_INCREMENTAL</h3>
-<p>Defined in FT_INCREMENTAL_H (ftincrem.h).</p>
+<p>Defined in FT_INCREMENTAL_H (freetype/ftincrem.h).</p>
<pre>
#define <b>FT_PARAM_TAG_INCREMENTAL</b> <a href="ft2-basic_types.html#FT_MAKE_TAG">FT_MAKE_TAG</a>( 'i', 'n', 'c', 'r' )
</pre>
diff --git a/lib/freetype/docs/reference/ft2-index.html b/lib/freetype/docs/reference/ft2-index.html
index 84289ac2c..3f8cd5f7d 100644
--- a/lib/freetype/docs/reference/ft2-index.html
+++ b/lib/freetype/docs/reference/ft2-index.html
@@ -3,7 +3,7 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.6 API Reference</title>
+<title>FreeType-2.6.1 API Reference</title>
<style type="text/css">
a:link { color: #0000EF; }
a:visited { color: #51188E; }
@@ -100,7 +100,7 @@
<body>
<table class="index-toc-link"><tr><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table>
-<h1>FreeType-2.6 API Reference</h1>
+<h1>FreeType-2.6.1 API Reference</h1>
<table class="index">
<tr><td><a href="ft2-bdf_fonts.html#BDF_PropertyType">BDF_PROPERTY_TYPE_ATOM</a></td><td><a href="ft2-lcd_filtering.html#FT_Library_SetLcdFilter">FT_Library_SetLcdFilter</a></td><td><a href="ft2-header_file_macros.html#FT_SYNTHESIS_H">FT_SYNTHESIS_H</a></td></tr>
@@ -120,262 +120,263 @@
<tr><td><a href="ft2-auto_hinter.html#default-script">default-script</a></td><td><a href="ft2-list_processing.html#FT_ListNodeRec">FT_ListNodeRec</a></td><td><a href="ft2-gx_validation.html#FT_TrueTypeGX_Validate">FT_TrueTypeGX_Validate</a></td></tr>
<tr><td><a href="ft2-version.html#FREETYPE_XXX">FREETYPE_MAJOR</a></td><td><a href="ft2-list_processing.html#FT_ListRec">FT_ListRec</a></td><td><a href="ft2-header_file_macros.html#FT_TYPE1_TABLES_H">FT_TYPE1_TABLES_H</a></td></tr>
<tr><td><a href="ft2-version.html#FREETYPE_XXX">FREETYPE_MINOR</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_COLOR</a></td><td><a href="ft2-header_file_macros.html#FT_TYPES_H">FT_TYPES_H</a></td></tr>
-<tr><td><a href="ft2-version.html#FREETYPE_XXX">FREETYPE_PATCH</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_CROP_BITMAP</a></td><td><a href="ft2-basic_types.html#FT_UFWord">FT_UFWord</a></td></tr>
-<tr><td><a href="ft2-version.html#FREETYPE_XXX">FREETYPE_XXX</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_DEFAULT</a></td><td><a href="ft2-basic_types.html#FT_UInt">FT_UInt</a></td></tr>
-<tr><td><a href="ft2-sizes_management.html#FT_Activate_Size">FT_Activate_Size</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_FORCE_AUTOHINT</a></td><td><a href="ft2-basic_types.html#FT_UInt16">FT_UInt16</a></td></tr>
-<tr><td><a href="ft2-quick_advance.html#FT_ADVANCE_FLAG_FAST_ONLY">FT_ADVANCE_FLAG_FAST_ONLY</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH</a></td><td><a href="ft2-basic_types.html#FT_UInt32">FT_UInt32</a></td></tr>
-<tr><td><a href="ft2-header_file_macros.html#FT_ADVANCES_H">FT_ADVANCES_H</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_IGNORE_TRANSFORM</a></td><td><a href="ft2-basic_types.html#FT_UInt64">FT_UInt64</a></td></tr>
-<tr><td><a href="ft2-module_management.html#FT_Add_Default_Modules">FT_Add_Default_Modules</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_LINEAR_DESIGN</a></td><td><a href="ft2-basic_types.html#FT_ULong">FT_ULong</a></td></tr>
-<tr><td><a href="ft2-module_management.html#FT_Add_Module">FT_Add_Module</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_MONOCHROME</a></td><td><a href="ft2-header_file_macros.html#FT_UNPATENTED_HINTING_H">FT_UNPATENTED_HINTING_H</a></td></tr>
-<tr><td><a href="ft2-system_interface.html#FT_Alloc_Func">FT_Alloc_Func</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_AUTOHINT</a></td><td><a href="ft2-basic_types.html#FT_UnitVector">FT_UnitVector</a></td></tr>
-<tr><td><a href="ft2-computations.html#FT_ANGLE_2PI">FT_ANGLE_2PI</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_BITMAP</a></td><td><a href="ft2-basic_types.html#FT_UShort">FT_UShort</a></td></tr>
-<tr><td><a href="ft2-computations.html#FT_ANGLE_PI">FT_ANGLE_PI</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_HINTING</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_CKERNXXX">FT_VALIDATE_APPLE</a></td></tr>
-<tr><td><a href="ft2-computations.html#FT_ANGLE_PI2">FT_ANGLE_PI2</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_RECURSE</a></td><td><a href="ft2-ot_validation.html#FT_VALIDATE_OTXXX">FT_VALIDATE_BASE</a></td></tr>
-<tr><td><a href="ft2-computations.html#FT_ANGLE_PI4">FT_ANGLE_PI4</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_SCALE</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_bsln</a></td></tr>
-<tr><td><a href="ft2-computations.html#FT_Angle">FT_Angle</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_PEDANTIC</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_CKERNXXX">FT_VALIDATE_CKERN</a></td></tr>
-<tr><td><a href="ft2-computations.html#FT_Angle_Diff">FT_Angle_Diff</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_RENDER</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_CKERNXXX">FT_VALIDATE_CKERNXXX</a></td></tr>
-<tr><td><a href="ft2-computations.html#FT_Atan2">FT_Atan2</a></td><td><a href="ft2-base_interface.html#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_LCD</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_feat</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Attach_File">FT_Attach_File</a></td><td><a href="ft2-base_interface.html#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_LCD_V</a></td><td><a href="ft2-ot_validation.html#FT_VALIDATE_OTXXX">FT_VALIDATE_GDEF</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Attach_Stream">FT_Attach_Stream</a></td><td><a href="ft2-base_interface.html#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_LIGHT</a></td><td><a href="ft2-ot_validation.html#FT_VALIDATE_OTXXX">FT_VALIDATE_GPOS</a></td></tr>
-<tr><td><a href="ft2-header_file_macros.html#FT_AUTOHINTER_H">FT_AUTOHINTER_H</a></td><td><a href="ft2-base_interface.html#FT_LOAD_TARGET_MODE">FT_LOAD_TARGET_MODE</a></td><td><a href="ft2-ot_validation.html#FT_VALIDATE_OTXXX">FT_VALIDATE_GSUB</a></td></tr>
-<tr><td><a href="ft2-auto_hinter.html#FT_AUTOHINTER_SCRIPT_XXX">FT_AUTOHINTER_SCRIPT_CJK</a></td><td><a href="ft2-base_interface.html#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_MONO</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_GX</a></td></tr>
-<tr><td><a href="ft2-auto_hinter.html#FT_AUTOHINTER_SCRIPT_XXX">FT_AUTOHINTER_SCRIPT_INDIC</a></td><td><a href="ft2-base_interface.html#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_NORMAL</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GX_LENGTH">FT_VALIDATE_GX_LENGTH</a></td></tr>
-<tr><td><a href="ft2-auto_hinter.html#FT_AUTOHINTER_SCRIPT_XXX">FT_AUTOHINTER_SCRIPT_LATIN</a></td><td><a href="ft2-base_interface.html#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_XXX</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_GXXXX</a></td></tr>
-<tr><td><a href="ft2-auto_hinter.html#FT_AUTOHINTER_SCRIPT_XXX">FT_AUTOHINTER_SCRIPT_NONE</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_VERTICAL_LAYOUT</a></td><td><a href="ft2-ot_validation.html#FT_VALIDATE_OTXXX">FT_VALIDATE_JSTF</a></td></tr>
-<tr><td><a href="ft2-auto_hinter.html#FT_AUTOHINTER_SCRIPT_XXX">FT_AUTOHINTER_SCRIPT_XXX</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_XXX</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_just</a></td></tr>
-<tr><td><a href="ft2-header_file_macros.html#FT_BBOX_H">FT_BBOX_H</a></td><td><a href="ft2-base_interface.html#FT_Load_Char">FT_Load_Char</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_kern</a></td></tr>
-<tr><td><a href="ft2-basic_types.html#FT_BBox">FT_BBox</a></td><td><a href="ft2-base_interface.html#FT_Load_Glyph">FT_Load_Glyph</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_lcar</a></td></tr>
-<tr><td><a href="ft2-header_file_macros.html#FT_BDF_H">FT_BDF_H</a></td><td><a href="ft2-truetype_tables.html#FT_Load_Sfnt_Table">FT_Load_Sfnt_Table</a></td><td><a href="ft2-ot_validation.html#FT_VALIDATE_OTXXX">FT_VALIDATE_MATH</a></td></tr>
-<tr><td><a href="ft2-header_file_macros.html#FT_BITMAP_H">FT_BITMAP_H</a></td><td><a href="ft2-basic_types.html#FT_Long">FT_Long</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_CKERNXXX">FT_VALIDATE_MS</a></td></tr>
-<tr><td><a href="ft2-basic_types.html#FT_Bitmap">FT_Bitmap</a></td><td><a href="ft2-header_file_macros.html#FT_LZW_H">FT_LZW_H</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_mort</a></td></tr>
-<tr><td><a href="ft2-bitmap_handling.html#FT_Bitmap_Convert">FT_Bitmap_Convert</a></td><td><a href="ft2-header_file_macros.html#FT_MAC_H">FT_MAC_H</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_morx</a></td></tr>
-<tr><td><a href="ft2-bitmap_handling.html#FT_Bitmap_Copy">FT_Bitmap_Copy</a></td><td><a href="ft2-basic_types.html#FT_MAKE_TAG">FT_MAKE_TAG</a></td><td><a href="ft2-ot_validation.html#FT_VALIDATE_OTXXX">FT_VALIDATE_OT</a></td></tr>
-<tr><td><a href="ft2-bitmap_handling.html#FT_Bitmap_Done">FT_Bitmap_Done</a></td><td><a href="ft2-basic_types.html#FT_Matrix">FT_Matrix</a></td><td><a href="ft2-ot_validation.html#FT_VALIDATE_OTXXX">FT_VALIDATE_OTXXX</a></td></tr>
-<tr><td><a href="ft2-bitmap_handling.html#FT_Bitmap_Embolden">FT_Bitmap_Embolden</a></td><td><a href="ft2-computations.html#FT_Matrix_Invert">FT_Matrix_Invert</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_opbd</a></td></tr>
-<tr><td><a href="ft2-bitmap_handling.html#FT_Bitmap_Init">FT_Bitmap_Init</a></td><td><a href="ft2-computations.html#FT_Matrix_Multiply">FT_Matrix_Multiply</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_prop</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Bitmap_Size">FT_Bitmap_Size</a></td><td><a href="ft2-system_interface.html#FT_Memory">FT_Memory</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_trak</a></td></tr>
-<tr><td><a href="ft2-glyph_management.html#FT_BitmapGlyph">FT_BitmapGlyph</a></td><td><a href="ft2-system_interface.html#FT_MemoryRec">FT_MemoryRec</a></td><td><a href="ft2-multiple_masters.html#FT_Var_Axis">FT_Var_Axis</a></td></tr>
-<tr><td><a href="ft2-glyph_management.html#FT_BitmapGlyphRec">FT_BitmapGlyphRec</a></td><td><a href="ft2-multiple_masters.html#FT_MM_Axis">FT_MM_Axis</a></td><td><a href="ft2-multiple_masters.html#FT_Var_Named_Style">FT_Var_Named_Style</a></td></tr>
-<tr><td><a href="ft2-basic_types.html#FT_Bool">FT_Bool</a></td><td><a href="ft2-multiple_masters.html#FT_MM_Var">FT_MM_Var</a></td><td><a href="ft2-basic_types.html#FT_Vector">FT_Vector</a></td></tr>
-<tr><td><a href="ft2-basic_types.html#FT_Byte">FT_Byte</a></td><td><a href="ft2-header_file_macros.html#FT_MODULE_ERRORS_H">FT_MODULE_ERRORS_H</a></td><td><a href="ft2-computations.html#FT_Vector_From_Polar">FT_Vector_From_Polar</a></td></tr>
-<tr><td><a href="ft2-basic_types.html#FT_Bytes">FT_Bytes</a></td><td><a href="ft2-header_file_macros.html#FT_MODULE_H">FT_MODULE_H</a></td><td><a href="ft2-computations.html#FT_Vector_Length">FT_Vector_Length</a></td></tr>
-<tr><td><a href="ft2-header_file_macros.html#FT_BZIP2_H">FT_BZIP2_H</a></td><td><a href="ft2-module_management.html#FT_Module">FT_Module</a></td><td><a href="ft2-computations.html#FT_Vector_Polarize">FT_Vector_Polarize</a></td></tr>
-<tr><td><a href="ft2-header_file_macros.html#FT_CACHE_CHARMAP_H">FT_CACHE_CHARMAP_H</a></td><td><a href="ft2-module_management.html#FT_Module_Class">FT_Module_Class</a></td><td><a href="ft2-computations.html#FT_Vector_Rotate">FT_Vector_Rotate</a></td></tr>
-<tr><td><a href="ft2-header_file_macros.html#FT_CACHE_H">FT_CACHE_H</a></td><td><a href="ft2-module_management.html#FT_Module_Constructor">FT_Module_Constructor</a></td><td><a href="ft2-computations.html#FT_Vector_Transform">FT_Vector_Transform</a></td></tr>
-<tr><td><a href="ft2-header_file_macros.html#FT_CACHE_IMAGE_H">FT_CACHE_IMAGE_H</a></td><td><a href="ft2-module_management.html#FT_Module_Destructor">FT_Module_Destructor</a></td><td><a href="ft2-computations.html#FT_Vector_Unit">FT_Vector_Unit</a></td></tr>
-<tr><td><a href="ft2-header_file_macros.html#FT_CACHE_SMALL_BITMAPS_H">FT_CACHE_SMALL_BITMAPS_H</a></td><td><a href="ft2-module_management.html#FT_Module_Requester">FT_Module_Requester</a></td><td><a href="ft2-header_file_macros.html#FT_WINFONTS_H">FT_WINFONTS_H</a></td></tr>
-<tr><td><a href="ft2-computations.html#FT_CeilFix">FT_CeilFix</a></td><td><a href="ft2-header_file_macros.html#FT_MULTIPLE_MASTERS_H">FT_MULTIPLE_MASTERS_H</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_Header">FT_WinFNT_Header</a></td></tr>
-<tr><td><a href="ft2-header_file_macros.html#FT_CFF_DRIVER_H">FT_CFF_DRIVER_H</a></td><td><a href="ft2-computations.html#FT_MulDiv">FT_MulDiv</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_HeaderRec">FT_WinFNT_HeaderRec</a></td></tr>
-<tr><td><a href="ft2-cff_driver.html#FT_CFF_HINTING_XXX">FT_CFF_HINTING_ADOBE</a></td><td><a href="ft2-computations.html#FT_MulFix">FT_MulFix</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1250</a></td></tr>
-<tr><td><a href="ft2-cff_driver.html#FT_CFF_HINTING_XXX">FT_CFF_HINTING_FREETYPE</a></td><td><a href="ft2-multiple_masters.html#FT_Multi_Master">FT_Multi_Master</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1251</a></td></tr>
-<tr><td><a href="ft2-cff_driver.html#FT_CFF_HINTING_XXX">FT_CFF_HINTING_XXX</a></td><td><a href="ft2-base_interface.html#FT_New_Face">FT_New_Face</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1252</a></td></tr>
-<tr><td><a href="ft2-basic_types.html#FT_Char">FT_Char</a></td><td><a href="ft2-mac_specific.html#FT_New_Face_From_FOND">FT_New_Face_From_FOND</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1253</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_CharMap">FT_CharMap</a></td><td><a href="ft2-mac_specific.html#FT_New_Face_From_FSRef">FT_New_Face_From_FSRef</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1254</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_CharMapRec">FT_CharMapRec</a></td><td><a href="ft2-mac_specific.html#FT_New_Face_From_FSSpec">FT_New_Face_From_FSSpec</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1255</a></td></tr>
-<tr><td><a href="ft2-header_file_macros.html#FT_CID_H">FT_CID_H</a></td><td><a href="ft2-module_management.html#FT_New_Library">FT_New_Library</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1256</a></td></tr>
-<tr><td><a href="ft2-gx_validation.html#FT_ClassicKern_Free">FT_ClassicKern_Free</a></td><td><a href="ft2-base_interface.html#FT_New_Memory_Face">FT_New_Memory_Face</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1257</a></td></tr>
-<tr><td><a href="ft2-gx_validation.html#FT_ClassicKern_Validate">FT_ClassicKern_Validate</a></td><td><a href="ft2-sizes_management.html#FT_New_Size">FT_New_Size</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1258</a></td></tr>
-<tr><td><a href="ft2-header_file_macros.html#FT_CONFIG_CONFIG_H">FT_CONFIG_CONFIG_H</a></td><td><a href="ft2-basic_types.html#FT_Offset">FT_Offset</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1361</a></td></tr>
-<tr><td><a href="ft2-header_file_macros.html#FT_CONFIG_MODULES_H">FT_CONFIG_MODULES_H</a></td><td><a href="ft2-base_interface.html#FT_OPEN_XXX">FT_OPEN_DRIVER</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP874</a></td></tr>
-<tr><td><a href="ft2-header_file_macros.html#FT_CONFIG_OPTIONS_H">FT_CONFIG_OPTIONS_H</a></td><td><a href="ft2-base_interface.html#FT_OPEN_XXX">FT_OPEN_MEMORY</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP932</a></td></tr>
-<tr><td><a href="ft2-header_file_macros.html#FT_CONFIG_STANDARD_LIBRARY_H">FT_CONFIG_STANDARD_LIBRARY_H</a></td><td><a href="ft2-base_interface.html#FT_OPEN_XXX">FT_OPEN_PARAMS</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP936</a></td></tr>
-<tr><td><a href="ft2-computations.html#FT_Cos">FT_Cos</a></td><td><a href="ft2-base_interface.html#FT_OPEN_XXX">FT_OPEN_PATHNAME</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP949</a></td></tr>
-<tr><td><a href="ft2-basic_types.html#FT_Data">FT_Data</a></td><td><a href="ft2-base_interface.html#FT_OPEN_XXX">FT_OPEN_STREAM</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP950</a></td></tr>
-<tr><td><a href="ft2-computations.html#FT_DivFix">FT_DivFix</a></td><td><a href="ft2-base_interface.html#FT_OPEN_XXX">FT_OPEN_XXX</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_DEFAULT</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Done_Face">FT_Done_Face</a></td><td><a href="ft2-header_file_macros.html#FT_OPENTYPE_VALIDATE_H">FT_OPENTYPE_VALIDATE_H</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_MAC</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Done_FreeType">FT_Done_FreeType</a></td><td><a href="ft2-base_interface.html#FT_Open_Args">FT_Open_Args</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_OEM</a></td></tr>
-<tr><td><a href="ft2-glyph_management.html#FT_Done_Glyph">FT_Done_Glyph</a></td><td><a href="ft2-base_interface.html#FT_Open_Face">FT_Open_Face</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_SYMBOL</a></td></tr>
-<tr><td><a href="ft2-module_management.html#FT_Done_Library">FT_Done_Library</a></td><td><a href="ft2-ot_validation.html#FT_OpenType_Free">FT_OpenType_Free</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_XXX</a></td></tr>
-<tr><td><a href="ft2-sizes_management.html#FT_Done_Size">FT_Done_Size</a></td><td><a href="ft2-ot_validation.html#FT_OpenType_Validate">FT_OpenType_Validate</a></td><td><a href="ft2-cache_subsystem.html#FTC_CMapCache">FTC_CMapCache</a></td></tr>
-<tr><td><a href="ft2-module_management.html#FT_Driver">FT_Driver</a></td><td><a href="ft2-outline_processing.html#FT_Orientation">FT_ORIENTATION_FILL_LEFT</a></td><td><a href="ft2-cache_subsystem.html#FTC_CMapCache_Lookup">FTC_CMapCache_Lookup</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_ENC_TAG">FT_ENC_TAG</a></td><td><a href="ft2-outline_processing.html#FT_Orientation">FT_ORIENTATION_FILL_RIGHT</a></td><td><a href="ft2-cache_subsystem.html#FTC_CMapCache_New">FTC_CMapCache_New</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_ADOBE_CUSTOM</a></td><td><a href="ft2-outline_processing.html#FT_Orientation">FT_ORIENTATION_NONE</a></td><td><a href="ft2-cache_subsystem.html#FTC_Face_Requester">FTC_Face_Requester</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_ADOBE_EXPERT</a></td><td><a href="ft2-outline_processing.html#FT_Orientation">FT_ORIENTATION_POSTSCRIPT</a></td><td><a href="ft2-cache_subsystem.html#FTC_FaceID">FTC_FaceID</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_ADOBE_LATIN_1</a></td><td><a href="ft2-outline_processing.html#FT_Orientation">FT_ORIENTATION_TRUETYPE</a></td><td><a href="ft2-cache_subsystem.html#FTC_ImageCache">FTC_ImageCache</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_ADOBE_STANDARD</a></td><td><a href="ft2-outline_processing.html#FT_Orientation">FT_Orientation</a></td><td><a href="ft2-cache_subsystem.html#FTC_ImageCache_Lookup">FTC_ImageCache_Lookup</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_APPLE_ROMAN</a></td><td><a href="ft2-outline_processing.html#FT_OUTLINE_XXX">FT_OUTLINE_EVEN_ODD_FILL</a></td><td><a href="ft2-cache_subsystem.html#FTC_ImageCache_LookupScaler">FTC_ImageCache_LookupScaler</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_BIG5</a></td><td><a href="ft2-header_file_macros.html#FT_OUTLINE_H">FT_OUTLINE_H</a></td><td><a href="ft2-cache_subsystem.html#FTC_ImageCache_New">FTC_ImageCache_New</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_GB2312</a></td><td><a href="ft2-outline_processing.html#FT_OUTLINE_XXX">FT_OUTLINE_HIGH_PRECISION</a></td><td><a href="ft2-cache_subsystem.html#FTC_ImageType">FTC_ImageType</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_JOHAB</a></td><td><a href="ft2-outline_processing.html#FT_OUTLINE_XXX">FT_OUTLINE_IGNORE_DROPOUTS</a></td><td><a href="ft2-cache_subsystem.html#FTC_ImageTypeRec">FTC_ImageTypeRec</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_MS_BIG5</a></td><td><a href="ft2-outline_processing.html#FT_OUTLINE_XXX">FT_OUTLINE_INCLUDE_STUBS</a></td><td><a href="ft2-cache_subsystem.html#FTC_Manager">FTC_Manager</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_MS_GB2312</a></td><td><a href="ft2-outline_processing.html#FT_OUTLINE_XXX">FT_OUTLINE_NONE</a></td><td><a href="ft2-cache_subsystem.html#FTC_Manager_Done">FTC_Manager_Done</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_MS_JOHAB</a></td><td><a href="ft2-outline_processing.html#FT_OUTLINE_XXX">FT_OUTLINE_OWNER</a></td><td><a href="ft2-cache_subsystem.html#FTC_Manager_LookupFace">FTC_Manager_LookupFace</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_MS_SJIS</a></td><td><a href="ft2-outline_processing.html#FT_OUTLINE_XXX">FT_OUTLINE_REVERSE_FILL</a></td><td><a href="ft2-cache_subsystem.html#FTC_Manager_LookupSize">FTC_Manager_LookupSize</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_MS_SYMBOL</a></td><td><a href="ft2-outline_processing.html#FT_OUTLINE_XXX">FT_OUTLINE_SINGLE_PASS</a></td><td><a href="ft2-cache_subsystem.html#FTC_Manager_New">FTC_Manager_New</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_MS_WANSUNG</a></td><td><a href="ft2-outline_processing.html#FT_OUTLINE_XXX">FT_OUTLINE_SMART_DROPOUTS</a></td><td><a href="ft2-cache_subsystem.html#FTC_Manager_RemoveFaceID">FTC_Manager_RemoveFaceID</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_NONE</a></td><td><a href="ft2-outline_processing.html#FT_OUTLINE_XXX">FT_OUTLINE_XXX</a></td><td><a href="ft2-cache_subsystem.html#FTC_Manager_Reset">FTC_Manager_Reset</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_OLD_LATIN_2</a></td><td><a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a></td><td><a href="ft2-cache_subsystem.html#FTC_Node">FTC_Node</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_SJIS</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Check">FT_Outline_Check</a></td><td><a href="ft2-cache_subsystem.html#FTC_Node_Unref">FTC_Node_Unref</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_UNICODE</a></td><td><a href="ft2-outline_processing.html#FT_Outline_ConicToFunc">FT_Outline_ConicToFunc</a></td><td><a href="ft2-cache_subsystem.html#FTC_SBit">FTC_SBit</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_WANSUNG</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Copy">FT_Outline_Copy</a></td><td><a href="ft2-cache_subsystem.html#FTC_SBitCache">FTC_SBitCache</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_Encoding</a></td><td><a href="ft2-outline_processing.html#FT_Outline_CubicToFunc">FT_Outline_CubicToFunc</a></td><td><a href="ft2-cache_subsystem.html#FTC_SBitCache_Lookup">FTC_SBitCache_Lookup</a></td></tr>
-<tr><td><a href="ft2-header_file_macros.html#FT_ERRORS_H">FT_ERRORS_H</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Decompose">FT_Outline_Decompose</a></td><td><a href="ft2-cache_subsystem.html#FTC_SBitCache_LookupScaler">FTC_SBitCache_LookupScaler</a></td></tr>
-<tr><td><a href="ft2-basic_types.html#FT_Error">FT_Error</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Done">FT_Outline_Done</a></td><td><a href="ft2-cache_subsystem.html#FTC_SBitCache_New">FTC_SBitCache_New</a></td></tr>
-<tr><td><a href="ft2-basic_types.html#FT_F26Dot6">FT_F26Dot6</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Embolden">FT_Outline_Embolden</a></td><td><a href="ft2-cache_subsystem.html#FTC_SBitRec">FTC_SBitRec</a></td></tr>
-<tr><td><a href="ft2-basic_types.html#FT_F2Dot14">FT_F2Dot14</a></td><td><a href="ft2-outline_processing.html#FT_Outline_EmboldenXY">FT_Outline_EmboldenXY</a></td><td><a href="ft2-cache_subsystem.html#FTC_Scaler">FTC_Scaler</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_CID_KEYED</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Funcs">FT_Outline_Funcs</a></td><td><a href="ft2-cache_subsystem.html#FTC_ScalerRec">FTC_ScalerRec</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_COLOR</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Get_BBox">FT_Outline_Get_BBox</a></td><td><a href="ft2-auto_hinter.html#fallback-script">fallback-script</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_EXTERNAL_STREAM</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Get_Bitmap">FT_Outline_Get_Bitmap</a></td><td><a href="ft2-auto_hinter.html#glyph-to-script-map">glyph-to-script-map</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_FAST_GLYPHS</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Get_CBox">FT_Outline_Get_CBox</a></td><td><a href="ft2-cff_driver.html#hinting-engine">hinting-engine</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_FIXED_SIZES</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Get_Orientation">FT_Outline_Get_Orientation</a></td><td><a href="ft2-auto_hinter.html#increase-x-height">increase-x-height</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_FIXED_WIDTH</a></td><td><a href="ft2-glyph_stroker.html#FT_Outline_GetInsideBorder">FT_Outline_GetInsideBorder</a></td><td><a href="ft2-tt_driver.html#interpreter-version">interpreter-version</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_GLYPH_NAMES</a></td><td><a href="ft2-glyph_stroker.html#FT_Outline_GetOutsideBorder">FT_Outline_GetOutsideBorder</a></td><td><a href="ft2-cff_driver.html#no-stem-darkening">no-stem-darkening</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_HINTER</a></td><td><a href="ft2-outline_processing.html#FT_Outline_LineToFunc">FT_Outline_LineToFunc</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_BLUE_FUZZ</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_HORIZONTAL</a></td><td><a href="ft2-outline_processing.html#FT_Outline_MoveToFunc">FT_Outline_MoveToFunc</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_BLUE_SCALE</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_KERNING</a></td><td><a href="ft2-outline_processing.html#FT_Outline_New">FT_Outline_New</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_BLUE_SHIFT</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_MULTIPLE_MASTERS</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Render">FT_Outline_Render</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_BLUE_VALUE</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_SCALABLE</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Reverse">FT_Outline_Reverse</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_CHAR_STRING</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_SFNT</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Transform">FT_Outline_Transform</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_CHAR_STRING_KEY</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_TRICKY</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Translate">FT_Outline_Translate</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_ENCODING_ENTRY</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_VERTICAL</a></td><td><a href="ft2-glyph_management.html#FT_OutlineGlyph">FT_OutlineGlyph</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_ENCODING_TYPE</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_XXX</a></td><td><a href="ft2-glyph_management.html#FT_OutlineGlyphRec">FT_OutlineGlyphRec</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_FAMILY_BLUE</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Face">FT_Face</a></td><td><a href="ft2-sfnt_names.html#FT_PARAM_TAG_IGNORE_PREFERRED_FAMILY">FT_PARAM_TAG_IGNORE_PREFERRED_FAMILY</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_FAMILY_NAME</a></td></tr>
-<tr><td><a href="ft2-version.html#FT_Face_CheckTrueTypePatents">FT_Face_CheckTrueTypePatents</a></td><td><a href="ft2-sfnt_names.html#FT_PARAM_TAG_IGNORE_PREFERRED_SUBFAMILY">FT_PARAM_TAG_IGNORE_PREFERRED_SUBFAMILY</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_FAMILY_OTHER_BLUE</a></td></tr>
-<tr><td><a href="ft2-glyph_variants.html#FT_Face_GetCharsOfVariant">FT_Face_GetCharsOfVariant</a></td><td><a href="ft2-incremental.html#FT_PARAM_TAG_INCREMENTAL">FT_PARAM_TAG_INCREMENTAL</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_FONT_BBOX</a></td></tr>
-<tr><td><a href="ft2-glyph_variants.html#FT_Face_GetCharVariantIndex">FT_Face_GetCharVariantIndex</a></td><td><a href="ft2-truetype_tables.html#FT_PARAM_TAG_UNPATENTED_HINTING">FT_PARAM_TAG_UNPATENTED_HINTING</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_FONT_MATRIX</a></td></tr>
-<tr><td><a href="ft2-glyph_variants.html#FT_Face_GetCharVariantIsDefault">FT_Face_GetCharVariantIsDefault</a></td><td><a href="ft2-base_interface.html#FT_Parameter">FT_Parameter</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_FONT_NAME</a></td></tr>
-<tr><td><a href="ft2-glyph_variants.html#FT_Face_GetVariantSelectors">FT_Face_GetVariantSelectors</a></td><td><a href="ft2-header_file_macros.html#FT_PFR_H">FT_PFR_H</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_FONT_TYPE</a></td></tr>
-<tr><td><a href="ft2-glyph_variants.html#FT_Face_GetVariantsOfChar">FT_Face_GetVariantsOfChar</a></td><td><a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_BGRA</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_FORCE_BOLD</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Face_Internal">FT_Face_Internal</a></td><td><a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_GRAY</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_FS_TYPE</a></td></tr>
-<tr><td><a href="ft2-version.html#FT_Face_SetUnpatentedHinting">FT_Face_SetUnpatentedHinting</a></td><td><a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_GRAY2</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_FULL_NAME</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_FaceRec">FT_FaceRec</a></td><td><a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_GRAY4</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_IS_FIXED_PITCH</a></td></tr>
-<tr><td><a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a></td><td><a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_LCD</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_ITALIC_ANGLE</a></td></tr>
-<tr><td><a href="ft2-computations.html#FT_FloorFix">FT_FloorFix</a></td><td><a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_LCD_V</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_LANGUAGE_GROUP</a></td></tr>
-<tr><td><a href="ft2-header_file_macros.html#FT_FONT_FORMATS_H">FT_FONT_FORMATS_H</a></td><td><a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_MONO</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_LEN_IV</a></td></tr>
-<tr><td><a href="ft2-header_file_macros.html#FT_FREETYPE_H">FT_FREETYPE_H</a></td><td><a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_NONE</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_MIN_FEATURE</a></td></tr>
-<tr><td><a href="ft2-system_interface.html#FT_Free_Func">FT_Free_Func</a></td><td><a href="ft2-basic_types.html#FT_Pixel_Mode">FT_Pixel_Mode</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_NOTICE</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_FSTYPE_XXX">FT_FSTYPE_BITMAP_EMBEDDING_ONLY</a></td><td><a href="ft2-basic_types.html#FT_Pointer">FT_Pointer</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_NUM_BLUE_VALUES</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_FSTYPE_XXX">FT_FSTYPE_EDITABLE_EMBEDDING</a></td><td><a href="ft2-basic_types.html#FT_Pos">FT_Pos</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_NUM_CHAR_STRINGS</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_FSTYPE_XXX">FT_FSTYPE_INSTALLABLE_EMBEDDING</a></td><td><a href="ft2-auto_hinter.html#FT_Prop_GlyphToScriptMap">FT_Prop_GlyphToScriptMap</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_NUM_FAMILY_BLUES</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_FSTYPE_XXX">FT_FSTYPE_NO_SUBSETTING</a></td><td><a href="ft2-auto_hinter.html#FT_Prop_IncreaseXHeight">FT_Prop_IncreaseXHeight</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_NUM_FAMILY_OTHER_BLUES</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_FSTYPE_XXX">FT_FSTYPE_PREVIEW_AND_PRINT_EMBEDDING</a></td><td><a href="ft2-module_management.html#FT_Property_Get">FT_Property_Get</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_NUM_OTHER_BLUES</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_FSTYPE_XXX">FT_FSTYPE_RESTRICTED_LICENSE_EMBEDDING</a></td><td><a href="ft2-module_management.html#FT_Property_Set">FT_Property_Set</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_NUM_STEM_SNAP_H</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_FSTYPE_XXX">FT_FSTYPE_XXX</a></td><td><a href="ft2-basic_types.html#FT_PtrDist">FT_PtrDist</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_NUM_STEM_SNAP_V</a></td></tr>
-<tr><td><a href="ft2-basic_types.html#FT_FWord">FT_FWord</a></td><td><a href="ft2-raster.html#FT_RASTER_FLAG_XXX">FT_RASTER_FLAG_AA</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_NUM_SUBRS</a></td></tr>
-<tr><td><a href="ft2-gasp_table.html#FT_GASP_XXX">FT_GASP_DO_GRAY</a></td><td><a href="ft2-raster.html#FT_RASTER_FLAG_XXX">FT_RASTER_FLAG_CLIP</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_OTHER_BLUE</a></td></tr>
-<tr><td><a href="ft2-gasp_table.html#FT_GASP_XXX">FT_GASP_DO_GRIDFIT</a></td><td><a href="ft2-raster.html#FT_RASTER_FLAG_XXX">FT_RASTER_FLAG_DEFAULT</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_PAINT_TYPE</a></td></tr>
-<tr><td><a href="ft2-header_file_macros.html#FT_GASP_H">FT_GASP_H</a></td><td><a href="ft2-raster.html#FT_RASTER_FLAG_XXX">FT_RASTER_FLAG_DIRECT</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_PASSWORD</a></td></tr>
-<tr><td><a href="ft2-gasp_table.html#FT_GASP_XXX">FT_GASP_NO_TABLE</a></td><td><a href="ft2-raster.html#FT_RASTER_FLAG_XXX">FT_RASTER_FLAG_XXX</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_RND_STEM_UP</a></td></tr>
-<tr><td><a href="ft2-gasp_table.html#FT_GASP_XXX">FT_GASP_SYMMETRIC_GRIDFIT</a></td><td><a href="ft2-raster.html#FT_Raster">FT_Raster</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_STD_HW</a></td></tr>
-<tr><td><a href="ft2-gasp_table.html#FT_GASP_XXX">FT_GASP_SYMMETRIC_SMOOTHING</a></td><td><a href="ft2-raster.html#FT_Raster_BitSet_Func">FT_Raster_BitSet_Func</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_STD_VW</a></td></tr>
-<tr><td><a href="ft2-gasp_table.html#FT_GASP_XXX">FT_GASP_XXX</a></td><td><a href="ft2-raster.html#FT_Raster_BitTest_Func">FT_Raster_BitTest_Func</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_STEM_SNAP_H</a></td></tr>
-<tr><td><a href="ft2-basic_types.html#FT_Generic">FT_Generic</a></td><td><a href="ft2-raster.html#FT_Raster_DoneFunc">FT_Raster_DoneFunc</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_STEM_SNAP_V</a></td></tr>
-<tr><td><a href="ft2-basic_types.html#FT_Generic_Finalizer">FT_Generic_Finalizer</a></td><td><a href="ft2-raster.html#FT_Raster_Funcs">FT_Raster_Funcs</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_SUBR</a></td></tr>
-<tr><td><a href="ft2-quick_advance.html#FT_Get_Advance">FT_Get_Advance</a></td><td><a href="ft2-raster.html#FT_Raster_NewFunc">FT_Raster_NewFunc</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_UNDERLINE_POSITION</a></td></tr>
-<tr><td><a href="ft2-quick_advance.html#FT_Get_Advances">FT_Get_Advances</a></td><td><a href="ft2-raster.html#FT_Raster_Params">FT_Raster_Params</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_UNDERLINE_THICKNESS</a></td></tr>
-<tr><td><a href="ft2-bdf_fonts.html#FT_Get_BDF_Charset_ID">FT_Get_BDF_Charset_ID</a></td><td><a href="ft2-raster.html#FT_Raster_RenderFunc">FT_Raster_RenderFunc</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_UNIQUE_ID</a></td></tr>
-<tr><td><a href="ft2-bdf_fonts.html#FT_Get_BDF_Property">FT_Get_BDF_Property</a></td><td><a href="ft2-raster.html#FT_Raster_ResetFunc">FT_Raster_ResetFunc</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_VERSION</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Get_Char_Index">FT_Get_Char_Index</a></td><td><a href="ft2-raster.html#FT_Raster_SetModeFunc">FT_Raster_SetModeFunc</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_WEIGHT</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Get_Charmap_Index">FT_Get_Charmap_Index</a></td><td><a href="ft2-header_file_macros.html#FT_RENDER_H">FT_RENDER_H</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_Dict_Keys</a></td></tr>
-<tr><td><a href="ft2-cid_fonts.html#FT_Get_CID_From_Glyph_Index">FT_Get_CID_From_Glyph_Index</a></td><td><a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_LCD</a></td><td><a href="ft2-type1_tables.html#PS_FontInfo">PS_FontInfo</a></td></tr>
-<tr><td><a href="ft2-cid_fonts.html#FT_Get_CID_Is_Internally_CID_Keyed">FT_Get_CID_Is_Internally_CID_Keyed</a></td><td><a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_LCD_V</a></td><td><a href="ft2-type1_tables.html#PS_FontInfoRec">PS_FontInfoRec</a></td></tr>
-<tr><td><a href="ft2-cid_fonts.html#FT_Get_CID_Registry_Ordering_Supplement">FT_Get_CID_Registry_Ordering_Supplement</a></td><td><a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_LIGHT</a></td><td><a href="ft2-type1_tables.html#PS_Private">PS_Private</a></td></tr>
-<tr><td><a href="ft2-truetype_tables.html#FT_Get_CMap_Format">FT_Get_CMap_Format</a></td><td><a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_MONO</a></td><td><a href="ft2-type1_tables.html#PS_PrivateRec">PS_PrivateRec</a></td></tr>
-<tr><td><a href="ft2-truetype_tables.html#FT_Get_CMap_Language_ID">FT_Get_CMap_Language_ID</a></td><td><a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_NORMAL</a></td><td><a href="ft2-type1_tables.html#T1_Blend_Flags">T1_BLEND_BLUE_SCALE</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Get_First_Char">FT_Get_First_Char</a></td><td><a href="ft2-system_interface.html#FT_Realloc_Func">FT_Realloc_Func</a></td><td><a href="ft2-type1_tables.html#T1_Blend_Flags">T1_BLEND_BLUE_SHIFT</a></td></tr>
-<tr><td><a href="ft2-font_formats.html#FT_Get_Font_Format">FT_Get_Font_Format</a></td><td><a href="ft2-base_interface.html#FT_Reference_Face">FT_Reference_Face</a></td><td><a href="ft2-type1_tables.html#T1_Blend_Flags">T1_BLEND_BLUE_VALUES</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Get_FSType_Flags">FT_Get_FSType_Flags</a></td><td><a href="ft2-module_management.html#FT_Reference_Library">FT_Reference_Library</a></td><td><a href="ft2-type1_tables.html#T1_Blend_Flags">T1_BLEND_FAMILY_BLUES</a></td></tr>
-<tr><td><a href="ft2-gasp_table.html#FT_Get_Gasp">FT_Get_Gasp</a></td><td><a href="ft2-module_management.html#FT_Remove_Module">FT_Remove_Module</a></td><td><a href="ft2-type1_tables.html#T1_Blend_Flags">T1_BLEND_FAMILY_OTHER_BLUES</a></td></tr>
-<tr><td><a href="ft2-glyph_management.html#FT_Get_Glyph">FT_Get_Glyph</a></td><td><a href="ft2-base_interface.html#FT_Render_Glyph">FT_Render_Glyph</a></td><td><a href="ft2-type1_tables.html#T1_Blend_Flags">T1_BLEND_FORCE_BOLD</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Get_Glyph_Name">FT_Get_Glyph_Name</a></td><td><a href="ft2-base_interface.html#FT_Render_Mode">FT_Render_Mode</a></td><td><a href="ft2-type1_tables.html#T1_Blend_Flags">T1_BLEND_ITALIC_ANGLE</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Get_Kerning">FT_Get_Kerning</a></td><td><a href="ft2-module_management.html#FT_Renderer">FT_Renderer</a></td><td><a href="ft2-type1_tables.html#T1_Blend_Flags">T1_BLEND_OTHER_BLUES</a></td></tr>
-<tr><td><a href="ft2-multiple_masters.html#FT_Get_MM_Var">FT_Get_MM_Var</a></td><td><a href="ft2-module_management.html#FT_Renderer_Class">FT_Renderer_Class</a></td><td><a href="ft2-type1_tables.html#T1_Blend_Flags">T1_BLEND_STANDARD_HEIGHT</a></td></tr>
-<tr><td><a href="ft2-module_management.html#FT_Get_Module">FT_Get_Module</a></td><td><a href="ft2-base_interface.html#FT_Request_Size">FT_Request_Size</a></td><td><a href="ft2-type1_tables.html#T1_Blend_Flags">T1_BLEND_STANDARD_WIDTH</a></td></tr>
-<tr><td><a href="ft2-multiple_masters.html#FT_Get_Multi_Master">FT_Get_Multi_Master</a></td><td><a href="ft2-computations.html#FT_RoundFix">FT_RoundFix</a></td><td><a href="ft2-type1_tables.html#T1_Blend_Flags">T1_BLEND_STEM_SNAP_HEIGHTS</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Get_Name_Index">FT_Get_Name_Index</a></td><td><a href="ft2-base_interface.html#FT_Select_Charmap">FT_Select_Charmap</a></td><td><a href="ft2-type1_tables.html#T1_Blend_Flags">T1_BLEND_STEM_SNAP_WIDTHS</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Get_Next_Char">FT_Get_Next_Char</a></td><td><a href="ft2-base_interface.html#FT_Select_Size">FT_Select_Size</a></td><td><a href="ft2-type1_tables.html#T1_Blend_Flags">T1_BLEND_UNDERLINE_POSITION</a></td></tr>
-<tr><td><a href="ft2-pfr_fonts.html#FT_Get_PFR_Advance">FT_Get_PFR_Advance</a></td><td><a href="ft2-base_interface.html#FT_Set_Char_Size">FT_Set_Char_Size</a></td><td><a href="ft2-type1_tables.html#T1_Blend_Flags">T1_BLEND_UNDERLINE_THICKNESS</a></td></tr>
-<tr><td><a href="ft2-pfr_fonts.html#FT_Get_PFR_Kerning">FT_Get_PFR_Kerning</a></td><td><a href="ft2-base_interface.html#FT_Set_Charmap">FT_Set_Charmap</a></td><td><a href="ft2-type1_tables.html#T1_Blend_Flags">T1_Blend_Flags</a></td></tr>
-<tr><td><a href="ft2-pfr_fonts.html#FT_Get_PFR_Metrics">FT_Get_PFR_Metrics</a></td><td><a href="ft2-module_management.html#FT_Set_Debug_Hook">FT_Set_Debug_Hook</a></td><td><a href="ft2-type1_tables.html#T1_EncodingType">T1_ENCODING_TYPE_ARRAY</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Get_Postscript_Name">FT_Get_Postscript_Name</a></td><td><a href="ft2-multiple_masters.html#FT_Set_MM_Blend_Coordinates">FT_Set_MM_Blend_Coordinates</a></td><td><a href="ft2-type1_tables.html#T1_EncodingType">T1_ENCODING_TYPE_EXPERT</a></td></tr>
-<tr><td><a href="ft2-type1_tables.html#FT_Get_PS_Font_Info">FT_Get_PS_Font_Info</a></td><td><a href="ft2-multiple_masters.html#FT_Set_MM_Design_Coordinates">FT_Set_MM_Design_Coordinates</a></td><td><a href="ft2-type1_tables.html#T1_EncodingType">T1_ENCODING_TYPE_ISOLATIN1</a></td></tr>
-<tr><td><a href="ft2-type1_tables.html#FT_Get_PS_Font_Private">FT_Get_PS_Font_Private</a></td><td><a href="ft2-base_interface.html#FT_Set_Pixel_Sizes">FT_Set_Pixel_Sizes</a></td><td><a href="ft2-type1_tables.html#T1_EncodingType">T1_ENCODING_TYPE_NONE</a></td></tr>
-<tr><td><a href="ft2-type1_tables.html#FT_Get_PS_Font_Value">FT_Get_PS_Font_Value</a></td><td><a href="ft2-module_management.html#FT_Set_Renderer">FT_Set_Renderer</a></td><td><a href="ft2-type1_tables.html#T1_EncodingType">T1_ENCODING_TYPE_STANDARD</a></td></tr>
-<tr><td><a href="ft2-module_management.html#FT_Get_Renderer">FT_Get_Renderer</a></td><td><a href="ft2-base_interface.html#FT_Set_Transform">FT_Set_Transform</a></td><td><a href="ft2-type1_tables.html#T1_EncodingType">T1_EncodingType</a></td></tr>
-<tr><td><a href="ft2-sfnt_names.html#FT_Get_Sfnt_Name">FT_Get_Sfnt_Name</a></td><td><a href="ft2-multiple_masters.html#FT_Set_Var_Blend_Coordinates">FT_Set_Var_Blend_Coordinates</a></td><td><a href="ft2-type1_tables.html#T1_FontInfo">T1_FontInfo</a></td></tr>
-<tr><td><a href="ft2-sfnt_names.html#FT_Get_Sfnt_Name_Count">FT_Get_Sfnt_Name_Count</a></td><td><a href="ft2-multiple_masters.html#FT_Set_Var_Design_Coordinates">FT_Set_Var_Design_Coordinates</a></td><td><a href="ft2-type1_tables.html#T1_Private">T1_Private</a></td></tr>
-<tr><td><a href="ft2-truetype_tables.html#FT_Get_Sfnt_Table">FT_Get_Sfnt_Table</a></td><td><a href="ft2-truetype_tables.html#FT_Sfnt_Tag">FT_SFNT_HEAD</a></td><td><a href="ft2-truetype_tables.html#TT_ADOBE_ID_XXX">TT_ADOBE_ID_CUSTOM</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Get_SubGlyph_Info">FT_Get_SubGlyph_Info</a></td><td><a href="ft2-truetype_tables.html#FT_Sfnt_Tag">FT_SFNT_HHEA</a></td><td><a href="ft2-truetype_tables.html#TT_ADOBE_ID_XXX">TT_ADOBE_ID_EXPERT</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Get_Track_Kerning">FT_Get_Track_Kerning</a></td><td><a href="ft2-truetype_tables.html#FT_Sfnt_Tag">FT_SFNT_MAXP</a></td><td><a href="ft2-truetype_tables.html#TT_ADOBE_ID_XXX">TT_ADOBE_ID_LATIN_1</a></td></tr>
-<tr><td><a href="ft2-truetype_engine.html#FT_Get_TrueType_Engine_Type">FT_Get_TrueType_Engine_Type</a></td><td><a href="ft2-header_file_macros.html#FT_SFNT_NAMES_H">FT_SFNT_NAMES_H</a></td><td><a href="ft2-truetype_tables.html#TT_ADOBE_ID_XXX">TT_ADOBE_ID_STANDARD</a></td></tr>
-<tr><td><a href="ft2-winfnt_fonts.html#FT_Get_WinFNT_Header">FT_Get_WinFNT_Header</a></td><td><a href="ft2-truetype_tables.html#FT_Sfnt_Tag">FT_SFNT_OS2</a></td><td><a href="ft2-truetype_tables.html#TT_ADOBE_ID_XXX">TT_ADOBE_ID_XXX</a></td></tr>
-<tr><td><a href="ft2-mac_specific.html#FT_GetFile_From_Mac_ATS_Name">FT_GetFile_From_Mac_ATS_Name</a></td><td><a href="ft2-truetype_tables.html#FT_Sfnt_Tag">FT_SFNT_PCLT</a></td><td><a href="ft2-truetype_tables.html#TT_APPLE_ID_XXX">TT_APPLE_ID_DEFAULT</a></td></tr>
-<tr><td><a href="ft2-mac_specific.html#FT_GetFile_From_Mac_Name">FT_GetFile_From_Mac_Name</a></td><td><a href="ft2-truetype_tables.html#FT_Sfnt_Tag">FT_SFNT_POST</a></td><td><a href="ft2-truetype_tables.html#TT_APPLE_ID_XXX">TT_APPLE_ID_ISO_10646</a></td></tr>
-<tr><td><a href="ft2-mac_specific.html#FT_GetFilePath_From_Mac_ATS_Name">FT_GetFilePath_From_Mac_ATS_Name</a></td><td><a href="ft2-truetype_tables.html#FT_Sfnt_Tag">FT_SFNT_VHEA</a></td><td><a href="ft2-truetype_tables.html#TT_APPLE_ID_XXX">TT_APPLE_ID_UNICODE_1_1</a></td></tr>
-<tr><td><a href="ft2-glyph_management.html#FT_Glyph_BBox_Mode">FT_GLYPH_BBOX_GRIDFIT</a></td><td><a href="ft2-truetype_tables.html#FT_Sfnt_Table_Info">FT_Sfnt_Table_Info</a></td><td><a href="ft2-truetype_tables.html#TT_APPLE_ID_XXX">TT_APPLE_ID_UNICODE_2_0</a></td></tr>
-<tr><td><a href="ft2-glyph_management.html#FT_Glyph_BBox_Mode">FT_GLYPH_BBOX_PIXELS</a></td><td><a href="ft2-truetype_tables.html#FT_Sfnt_Tag">FT_Sfnt_Tag</a></td><td><a href="ft2-truetype_tables.html#TT_APPLE_ID_XXX">TT_APPLE_ID_UNICODE_32</a></td></tr>
-<tr><td><a href="ft2-glyph_management.html#FT_Glyph_BBox_Mode">FT_GLYPH_BBOX_SUBPIXELS</a></td><td><a href="ft2-sfnt_names.html#FT_SfntName">FT_SfntName</a></td><td><a href="ft2-truetype_tables.html#TT_APPLE_ID_XXX">TT_APPLE_ID_VARIANT_SELECTOR</a></td></tr>
-<tr><td><a href="ft2-glyph_management.html#FT_Glyph_BBox_Mode">FT_GLYPH_BBOX_TRUNCATE</a></td><td><a href="ft2-basic_types.html#FT_Short">FT_Short</a></td><td><a href="ft2-truetype_tables.html#TT_APPLE_ID_XXX">TT_APPLE_ID_XXX</a></td></tr>
-<tr><td><a href="ft2-glyph_management.html#FT_Glyph_BBox_Mode">FT_GLYPH_BBOX_UNSCALED</a></td><td><a href="ft2-base_interface.html#FT_Size_Request_Type">FT_SIZE_REQUEST_TYPE_BBOX</a></td><td><a href="ft2-truetype_tables.html#TT_Header">TT_Header</a></td></tr>
-<tr><td><a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_BITMAP</a></td><td><a href="ft2-base_interface.html#FT_Size_Request_Type">FT_SIZE_REQUEST_TYPE_CELL</a></td><td><a href="ft2-truetype_tables.html#TT_HoriHeader">TT_HoriHeader</a></td></tr>
-<tr><td><a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_COMPOSITE</a></td><td><a href="ft2-base_interface.html#FT_Size_Request_Type">FT_SIZE_REQUEST_TYPE_NOMINAL</a></td><td><a href="ft2-tt_driver.html#TT_INTERPRETER_VERSION_XXX">TT_INTERPRETER_VERSION_35</a></td></tr>
-<tr><td><a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_NONE</a></td><td><a href="ft2-base_interface.html#FT_Size_Request_Type">FT_SIZE_REQUEST_TYPE_REAL_DIM</a></td><td><a href="ft2-tt_driver.html#TT_INTERPRETER_VERSION_XXX">TT_INTERPRETER_VERSION_38</a></td></tr>
-<tr><td><a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_OUTLINE</a></td><td><a href="ft2-base_interface.html#FT_Size_Request_Type">FT_SIZE_REQUEST_TYPE_SCALES</a></td><td><a href="ft2-tt_driver.html#TT_INTERPRETER_VERSION_XXX">TT_INTERPRETER_VERSION_XXX</a></td></tr>
-<tr><td><a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_PLOTTER</a></td><td><a href="ft2-header_file_macros.html#FT_SIZES_H">FT_SIZES_H</a></td><td><a href="ft2-truetype_tables.html#TT_ISO_ID_XXX">TT_ISO_ID_10646</a></td></tr>
-<tr><td><a href="ft2-header_file_macros.html#FT_GLYPH_H">FT_GLYPH_H</a></td><td><a href="ft2-computations.html#FT_Sin">FT_Sin</a></td><td><a href="ft2-truetype_tables.html#TT_ISO_ID_XXX">TT_ISO_ID_7BIT_ASCII</a></td></tr>
-<tr><td><a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a></td><td><a href="ft2-base_interface.html#FT_Size">FT_Size</a></td><td><a href="ft2-truetype_tables.html#TT_ISO_ID_XXX">TT_ISO_ID_8859_1</a></td></tr>
-<tr><td><a href="ft2-glyph_management.html#FT_Glyph_BBox_Mode">FT_Glyph_BBox_Mode</a></td><td><a href="ft2-base_interface.html#FT_Size_Internal">FT_Size_Internal</a></td><td><a href="ft2-truetype_tables.html#TT_ISO_ID_XXX">TT_ISO_ID_XXX</a></td></tr>
-<tr><td><a href="ft2-glyph_management.html#FT_Glyph_Copy">FT_Glyph_Copy</a></td><td><a href="ft2-base_interface.html#FT_Size_Metrics">FT_Size_Metrics</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_ARABIC</a></td></tr>
-<tr><td><a href="ft2-basic_types.html#FT_Glyph_Format">FT_Glyph_Format</a></td><td><a href="ft2-base_interface.html#FT_Size_Request">FT_Size_Request</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_ARMENIAN</a></td></tr>
-<tr><td><a href="ft2-glyph_management.html#FT_Glyph_Get_CBox">FT_Glyph_Get_CBox</a></td><td><a href="ft2-base_interface.html#FT_Size_Request_Type">FT_Size_Request_Type</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_BENGALI</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Glyph_Metrics">FT_Glyph_Metrics</a></td><td><a href="ft2-base_interface.html#FT_Size_RequestRec">FT_Size_RequestRec</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_BURMESE</a></td></tr>
-<tr><td><a href="ft2-glyph_stroker.html#FT_Glyph_Stroke">FT_Glyph_Stroke</a></td><td><a href="ft2-base_interface.html#FT_SizeRec">FT_SizeRec</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_DEVANAGARI</a></td></tr>
-<tr><td><a href="ft2-glyph_stroker.html#FT_Glyph_StrokeBorder">FT_Glyph_StrokeBorder</a></td><td><a href="ft2-base_interface.html#FT_Slot_Internal">FT_Slot_Internal</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_GEEZ</a></td></tr>
-<tr><td><a href="ft2-glyph_management.html#FT_Glyph_To_Bitmap">FT_Glyph_To_Bitmap</a></td><td><a href="ft2-raster.html#FT_Span">FT_Span</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_GEORGIAN</a></td></tr>
-<tr><td><a href="ft2-glyph_management.html#FT_Glyph_Transform">FT_Glyph_Transform</a></td><td><a href="ft2-raster.html#FT_SpanFunc">FT_SpanFunc</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_GREEK</a></td></tr>
-<tr><td><a href="ft2-glyph_management.html#FT_GlyphRec">FT_GlyphRec</a></td><td><a href="ft2-glyph_stroker.html#FT_StrokerBorder">FT_STROKER_BORDER_LEFT</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_GUJARATI</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_GlyphSlot">FT_GlyphSlot</a></td><td><a href="ft2-glyph_stroker.html#FT_StrokerBorder">FT_STROKER_BORDER_RIGHT</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_GURMUKHI</a></td></tr>
-<tr><td><a href="ft2-bitmap_handling.html#FT_GlyphSlot_Own_Bitmap">FT_GlyphSlot_Own_Bitmap</a></td><td><a href="ft2-header_file_macros.html#FT_STROKER_H">FT_STROKER_H</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_HEBREW</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_GlyphSlotRec">FT_GlyphSlotRec</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_LineCap">FT_STROKER_LINECAP_BUTT</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_JAPANESE</a></td></tr>
-<tr><td><a href="ft2-header_file_macros.html#FT_GX_VALIDATE_H">FT_GX_VALIDATE_H</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_LineCap">FT_STROKER_LINECAP_ROUND</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_KANNADA</a></td></tr>
-<tr><td><a href="ft2-header_file_macros.html#FT_GZIP_H">FT_GZIP_H</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_LineCap">FT_STROKER_LINECAP_SQUARE</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_KHMER</a></td></tr>
-<tr><td><a href="ft2-gzip.html#FT_Gzip_Uncompress">FT_Gzip_Uncompress</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_LineJoin">FT_STROKER_LINEJOIN_BEVEL</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_KOREAN</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_HAS_COLOR">FT_HAS_COLOR</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_LineJoin">FT_STROKER_LINEJOIN_MITER</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_LAOTIAN</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_HAS_FAST_GLYPHS">FT_HAS_FAST_GLYPHS</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_LineJoin">FT_STROKER_LINEJOIN_MITER_FIXED</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_MALAYALAM</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_HAS_FIXED_SIZES">FT_HAS_FIXED_SIZES</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_LineJoin">FT_STROKER_LINEJOIN_MITER_VARIABLE</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_MALDIVIAN</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_HAS_GLYPH_NAMES">FT_HAS_GLYPH_NAMES</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_LineJoin">FT_STROKER_LINEJOIN_ROUND</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_MONGOLIAN</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_HAS_HORIZONTAL">FT_HAS_HORIZONTAL</a></td><td><a href="ft2-base_interface.html#FT_STYLE_FLAG_XXX">FT_STYLE_FLAG_BOLD</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_ORIYA</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_HAS_KERNING">FT_HAS_KERNING</a></td><td><a href="ft2-base_interface.html#FT_STYLE_FLAG_XXX">FT_STYLE_FLAG_ITALIC</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_ROMAN</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_HAS_MULTIPLE_MASTERS">FT_HAS_MULTIPLE_MASTERS</a></td><td><a href="ft2-base_interface.html#FT_STYLE_FLAG_XXX">FT_STYLE_FLAG_XXX</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_RSYMBOL</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_HAS_VERTICAL">FT_HAS_VERTICAL</a></td><td><a href="ft2-system_interface.html#FT_Stream">FT_Stream</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_RUSSIAN</a></td></tr>
-<tr><td><a href="ft2-type1_tables.html#FT_Has_PS_Glyph_Names">FT_Has_PS_Glyph_Names</a></td><td><a href="ft2-system_interface.html#FT_Stream_CloseFunc">FT_Stream_CloseFunc</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_SIMPLIFIED_CHINESE</a></td></tr>
-<tr><td><a href="ft2-header_file_macros.html#FT_IMAGE_H">FT_IMAGE_H</a></td><td><a href="ft2-system_interface.html#FT_Stream_IoFunc">FT_Stream_IoFunc</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_SINDHI</a></td></tr>
-<tr><td><a href="ft2-basic_types.html#FT_IMAGE_TAG">FT_IMAGE_TAG</a></td><td><a href="ft2-bzip2.html#FT_Stream_OpenBzip2">FT_Stream_OpenBzip2</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_SINHALESE</a></td></tr>
-<tr><td><a href="ft2-header_file_macros.html#FT_INCREMENTAL_H">FT_INCREMENTAL_H</a></td><td><a href="ft2-gzip.html#FT_Stream_OpenGzip">FT_Stream_OpenGzip</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_SLAVIC</a></td></tr>
-<tr><td><a href="ft2-incremental.html#FT_Incremental">FT_Incremental</a></td><td><a href="ft2-lzw.html#FT_Stream_OpenLZW">FT_Stream_OpenLZW</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_TAMIL</a></td></tr>
-<tr><td><a href="ft2-incremental.html#FT_Incremental_FreeGlyphDataFunc">FT_Incremental_FreeGlyphDataFunc</a></td><td><a href="ft2-system_interface.html#FT_StreamDesc">FT_StreamDesc</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_TELUGU</a></td></tr>
-<tr><td><a href="ft2-incremental.html#FT_Incremental_FuncsRec">FT_Incremental_FuncsRec</a></td><td><a href="ft2-system_interface.html#FT_StreamRec">FT_StreamRec</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_THAI</a></td></tr>
-<tr><td><a href="ft2-incremental.html#FT_Incremental_GetGlyphDataFunc">FT_Incremental_GetGlyphDataFunc</a></td><td><a href="ft2-basic_types.html#FT_String">FT_String</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_TIBETAN</a></td></tr>
-<tr><td><a href="ft2-incremental.html#FT_Incremental_GetGlyphMetricsFunc">FT_Incremental_GetGlyphMetricsFunc</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker">FT_Stroker</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_TRADITIONAL_CHINESE</a></td></tr>
-<tr><td><a href="ft2-incremental.html#FT_Incremental_Interface">FT_Incremental_Interface</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_BeginSubPath">FT_Stroker_BeginSubPath</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_UNINTERP</a></td></tr>
-<tr><td><a href="ft2-incremental.html#FT_Incremental_InterfaceRec">FT_Incremental_InterfaceRec</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_ConicTo">FT_Stroker_ConicTo</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_VIETNAMESE</a></td></tr>
-<tr><td><a href="ft2-incremental.html#FT_Incremental_Metrics">FT_Incremental_Metrics</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_CubicTo">FT_Stroker_CubicTo</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_XXX</a></td></tr>
-<tr><td><a href="ft2-incremental.html#FT_Incremental_MetricsRec">FT_Incremental_MetricsRec</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_Done">FT_Stroker_Done</a></td><td><a href="ft2-truetype_tables.html#TT_MaxProfile">TT_MaxProfile</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Init_FreeType">FT_Init_FreeType</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_EndSubPath">FT_Stroker_EndSubPath</a></td><td><a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_BIG_5</a></td></tr>
-<tr><td><a href="ft2-basic_types.html#FT_Int">FT_Int</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_Export">FT_Stroker_Export</a></td><td><a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_GB2312</a></td></tr>
-<tr><td><a href="ft2-basic_types.html#FT_Int16">FT_Int16</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_ExportBorder">FT_Stroker_ExportBorder</a></td><td><a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_JOHAB</a></td></tr>
-<tr><td><a href="ft2-basic_types.html#FT_Int32">FT_Int32</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_GetBorderCounts">FT_Stroker_GetBorderCounts</a></td><td><a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_SJIS</a></td></tr>
-<tr><td><a href="ft2-basic_types.html#FT_Int64">FT_Int64</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_GetCounts">FT_Stroker_GetCounts</a></td><td><a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_SYMBOL_CS</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_IS_CID_KEYED">FT_IS_CID_KEYED</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_LineCap">FT_Stroker_LineCap</a></td><td><a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_UCS_4</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_IS_FIXED_WIDTH">FT_IS_FIXED_WIDTH</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_LineJoin">FT_Stroker_LineJoin</a></td><td><a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_UNICODE_CS</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_IS_SCALABLE">FT_IS_SCALABLE</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_LineTo">FT_Stroker_LineTo</a></td><td><a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_WANSUNG</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_IS_SFNT">FT_IS_SFNT</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_New">FT_Stroker_New</a></td><td><a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_XXX</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_IS_TRICKY">FT_IS_TRICKY</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_ParseOutline">FT_Stroker_ParseOutline</a></td><td><a href="ft2-truetype_tables.html#TT_OS2">TT_OS2</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Kerning_Mode">FT_KERNING_DEFAULT</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_Rewind">FT_Stroker_Rewind</a></td><td><a href="ft2-truetype_tables.html#TT_PCLT">TT_PCLT</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Kerning_Mode">FT_KERNING_UNFITTED</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_Set">FT_Stroker_Set</a></td><td><a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_ADOBE</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Kerning_Mode">FT_KERNING_UNSCALED</a></td><td><a href="ft2-glyph_stroker.html#FT_StrokerBorder">FT_StrokerBorder</a></td><td><a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_APPLE_UNICODE</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Kerning_Mode">FT_Kerning_Mode</a></td><td><a href="ft2-base_interface.html#FT_SUBGLYPH_FLAG_XXX">FT_SUBGLYPH_FLAG_2X2</a></td><td><a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_CUSTOM</a></td></tr>
-<tr><td><a href="ft2-lcd_filtering.html#FT_LcdFilter">FT_LCD_FILTER_DEFAULT</a></td><td><a href="ft2-base_interface.html#FT_SUBGLYPH_FLAG_XXX">FT_SUBGLYPH_FLAG_ARGS_ARE_WORDS</a></td><td><a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_ISO</a></td></tr>
-<tr><td><a href="ft2-header_file_macros.html#FT_LCD_FILTER_H">FT_LCD_FILTER_H</a></td><td><a href="ft2-base_interface.html#FT_SUBGLYPH_FLAG_XXX">FT_SUBGLYPH_FLAG_ARGS_ARE_XY_VALUES</a></td><td><a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_MACINTOSH</a></td></tr>
-<tr><td><a href="ft2-lcd_filtering.html#FT_LcdFilter">FT_LCD_FILTER_LEGACY</a></td><td><a href="ft2-base_interface.html#FT_SUBGLYPH_FLAG_XXX">FT_SUBGLYPH_FLAG_ROUND_XY_TO_GRID</a></td><td><a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_MICROSOFT</a></td></tr>
-<tr><td><a href="ft2-lcd_filtering.html#FT_LcdFilter">FT_LCD_FILTER_LIGHT</a></td><td><a href="ft2-base_interface.html#FT_SUBGLYPH_FLAG_XXX">FT_SUBGLYPH_FLAG_SCALE</a></td><td><a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_XXX</a></td></tr>
-<tr><td><a href="ft2-lcd_filtering.html#FT_LcdFilter">FT_LCD_FILTER_NONE</a></td><td><a href="ft2-base_interface.html#FT_SUBGLYPH_FLAG_XXX">FT_SUBGLYPH_FLAG_USE_MY_METRICS</a></td><td><a href="ft2-truetype_tables.html#TT_Postscript">TT_Postscript</a></td></tr>
-<tr><td><a href="ft2-lcd_filtering.html#FT_LcdFilter">FT_LcdFilter</a></td><td><a href="ft2-base_interface.html#FT_SUBGLYPH_FLAG_XXX">FT_SUBGLYPH_FLAG_XXX</a></td><td><a href="ft2-truetype_tables.html#TT_VertHeader">TT_VertHeader</a></td></tr>
-<tr><td><a href="ft2-header_file_macros.html#FT_LIST_H">FT_LIST_H</a></td><td><a href="ft2-base_interface.html#FT_SUBGLYPH_FLAG_XXX">FT_SUBGLYPH_FLAG_XY_SCALE</a></td><td><a href="ft2-auto_hinter.html#warping">warping</a></td></tr>
+<tr><td><a href="ft2-version.html#FREETYPE_XXX">FREETYPE_PATCH</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_COMPUTE_METRICS</a></td><td><a href="ft2-basic_types.html#FT_UFWord">FT_UFWord</a></td></tr>
+<tr><td><a href="ft2-version.html#FREETYPE_XXX">FREETYPE_XXX</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_CROP_BITMAP</a></td><td><a href="ft2-basic_types.html#FT_UInt">FT_UInt</a></td></tr>
+<tr><td><a href="ft2-sizes_management.html#FT_Activate_Size">FT_Activate_Size</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_DEFAULT</a></td><td><a href="ft2-basic_types.html#FT_UInt16">FT_UInt16</a></td></tr>
+<tr><td><a href="ft2-quick_advance.html#FT_ADVANCE_FLAG_FAST_ONLY">FT_ADVANCE_FLAG_FAST_ONLY</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_FORCE_AUTOHINT</a></td><td><a href="ft2-basic_types.html#FT_UInt32">FT_UInt32</a></td></tr>
+<tr><td><a href="ft2-header_file_macros.html#FT_ADVANCES_H">FT_ADVANCES_H</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH</a></td><td><a href="ft2-basic_types.html#FT_UInt64">FT_UInt64</a></td></tr>
+<tr><td><a href="ft2-module_management.html#FT_Add_Default_Modules">FT_Add_Default_Modules</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_IGNORE_TRANSFORM</a></td><td><a href="ft2-basic_types.html#FT_ULong">FT_ULong</a></td></tr>
+<tr><td><a href="ft2-module_management.html#FT_Add_Module">FT_Add_Module</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_LINEAR_DESIGN</a></td><td><a href="ft2-header_file_macros.html#FT_UNPATENTED_HINTING_H">FT_UNPATENTED_HINTING_H</a></td></tr>
+<tr><td><a href="ft2-system_interface.html#FT_Alloc_Func">FT_Alloc_Func</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_MONOCHROME</a></td><td><a href="ft2-basic_types.html#FT_UnitVector">FT_UnitVector</a></td></tr>
+<tr><td><a href="ft2-computations.html#FT_ANGLE_2PI">FT_ANGLE_2PI</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_AUTOHINT</a></td><td><a href="ft2-basic_types.html#FT_UShort">FT_UShort</a></td></tr>
+<tr><td><a href="ft2-computations.html#FT_ANGLE_PI">FT_ANGLE_PI</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_BITMAP</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_CKERNXXX">FT_VALIDATE_APPLE</a></td></tr>
+<tr><td><a href="ft2-computations.html#FT_ANGLE_PI2">FT_ANGLE_PI2</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_HINTING</a></td><td><a href="ft2-ot_validation.html#FT_VALIDATE_OTXXX">FT_VALIDATE_BASE</a></td></tr>
+<tr><td><a href="ft2-computations.html#FT_ANGLE_PI4">FT_ANGLE_PI4</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_RECURSE</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_bsln</a></td></tr>
+<tr><td><a href="ft2-computations.html#FT_Angle">FT_Angle</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_SCALE</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_CKERNXXX">FT_VALIDATE_CKERN</a></td></tr>
+<tr><td><a href="ft2-computations.html#FT_Angle_Diff">FT_Angle_Diff</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_PEDANTIC</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_CKERNXXX">FT_VALIDATE_CKERNXXX</a></td></tr>
+<tr><td><a href="ft2-computations.html#FT_Atan2">FT_Atan2</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_RENDER</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_feat</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Attach_File">FT_Attach_File</a></td><td><a href="ft2-base_interface.html#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_LCD</a></td><td><a href="ft2-ot_validation.html#FT_VALIDATE_OTXXX">FT_VALIDATE_GDEF</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Attach_Stream">FT_Attach_Stream</a></td><td><a href="ft2-base_interface.html#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_LCD_V</a></td><td><a href="ft2-ot_validation.html#FT_VALIDATE_OTXXX">FT_VALIDATE_GPOS</a></td></tr>
+<tr><td><a href="ft2-header_file_macros.html#FT_AUTOHINTER_H">FT_AUTOHINTER_H</a></td><td><a href="ft2-base_interface.html#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_LIGHT</a></td><td><a href="ft2-ot_validation.html#FT_VALIDATE_OTXXX">FT_VALIDATE_GSUB</a></td></tr>
+<tr><td><a href="ft2-auto_hinter.html#FT_AUTOHINTER_SCRIPT_XXX">FT_AUTOHINTER_SCRIPT_CJK</a></td><td><a href="ft2-base_interface.html#FT_LOAD_TARGET_MODE">FT_LOAD_TARGET_MODE</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_GX</a></td></tr>
+<tr><td><a href="ft2-auto_hinter.html#FT_AUTOHINTER_SCRIPT_XXX">FT_AUTOHINTER_SCRIPT_INDIC</a></td><td><a href="ft2-base_interface.html#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_MONO</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GX_LENGTH">FT_VALIDATE_GX_LENGTH</a></td></tr>
+<tr><td><a href="ft2-auto_hinter.html#FT_AUTOHINTER_SCRIPT_XXX">FT_AUTOHINTER_SCRIPT_LATIN</a></td><td><a href="ft2-base_interface.html#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_NORMAL</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_GXXXX</a></td></tr>
+<tr><td><a href="ft2-auto_hinter.html#FT_AUTOHINTER_SCRIPT_XXX">FT_AUTOHINTER_SCRIPT_NONE</a></td><td><a href="ft2-base_interface.html#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_XXX</a></td><td><a href="ft2-ot_validation.html#FT_VALIDATE_OTXXX">FT_VALIDATE_JSTF</a></td></tr>
+<tr><td><a href="ft2-auto_hinter.html#FT_AUTOHINTER_SCRIPT_XXX">FT_AUTOHINTER_SCRIPT_XXX</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_VERTICAL_LAYOUT</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_just</a></td></tr>
+<tr><td><a href="ft2-header_file_macros.html#FT_BBOX_H">FT_BBOX_H</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_XXX</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_kern</a></td></tr>
+<tr><td><a href="ft2-basic_types.html#FT_BBox">FT_BBox</a></td><td><a href="ft2-base_interface.html#FT_Load_Char">FT_Load_Char</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_lcar</a></td></tr>
+<tr><td><a href="ft2-header_file_macros.html#FT_BDF_H">FT_BDF_H</a></td><td><a href="ft2-base_interface.html#FT_Load_Glyph">FT_Load_Glyph</a></td><td><a href="ft2-ot_validation.html#FT_VALIDATE_OTXXX">FT_VALIDATE_MATH</a></td></tr>
+<tr><td><a href="ft2-header_file_macros.html#FT_BITMAP_H">FT_BITMAP_H</a></td><td><a href="ft2-truetype_tables.html#FT_Load_Sfnt_Table">FT_Load_Sfnt_Table</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_CKERNXXX">FT_VALIDATE_MS</a></td></tr>
+<tr><td><a href="ft2-basic_types.html#FT_Bitmap">FT_Bitmap</a></td><td><a href="ft2-basic_types.html#FT_Long">FT_Long</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_mort</a></td></tr>
+<tr><td><a href="ft2-bitmap_handling.html#FT_Bitmap_Convert">FT_Bitmap_Convert</a></td><td><a href="ft2-header_file_macros.html#FT_LZW_H">FT_LZW_H</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_morx</a></td></tr>
+<tr><td><a href="ft2-bitmap_handling.html#FT_Bitmap_Copy">FT_Bitmap_Copy</a></td><td><a href="ft2-header_file_macros.html#FT_MAC_H">FT_MAC_H</a></td><td><a href="ft2-ot_validation.html#FT_VALIDATE_OTXXX">FT_VALIDATE_OT</a></td></tr>
+<tr><td><a href="ft2-bitmap_handling.html#FT_Bitmap_Done">FT_Bitmap_Done</a></td><td><a href="ft2-basic_types.html#FT_MAKE_TAG">FT_MAKE_TAG</a></td><td><a href="ft2-ot_validation.html#FT_VALIDATE_OTXXX">FT_VALIDATE_OTXXX</a></td></tr>
+<tr><td><a href="ft2-bitmap_handling.html#FT_Bitmap_Embolden">FT_Bitmap_Embolden</a></td><td><a href="ft2-basic_types.html#FT_Matrix">FT_Matrix</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_opbd</a></td></tr>
+<tr><td><a href="ft2-bitmap_handling.html#FT_Bitmap_Init">FT_Bitmap_Init</a></td><td><a href="ft2-computations.html#FT_Matrix_Invert">FT_Matrix_Invert</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_prop</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Bitmap_Size">FT_Bitmap_Size</a></td><td><a href="ft2-computations.html#FT_Matrix_Multiply">FT_Matrix_Multiply</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_trak</a></td></tr>
+<tr><td><a href="ft2-glyph_management.html#FT_BitmapGlyph">FT_BitmapGlyph</a></td><td><a href="ft2-system_interface.html#FT_Memory">FT_Memory</a></td><td><a href="ft2-multiple_masters.html#FT_Var_Axis">FT_Var_Axis</a></td></tr>
+<tr><td><a href="ft2-glyph_management.html#FT_BitmapGlyphRec">FT_BitmapGlyphRec</a></td><td><a href="ft2-system_interface.html#FT_MemoryRec">FT_MemoryRec</a></td><td><a href="ft2-multiple_masters.html#FT_Var_Named_Style">FT_Var_Named_Style</a></td></tr>
+<tr><td><a href="ft2-basic_types.html#FT_Bool">FT_Bool</a></td><td><a href="ft2-multiple_masters.html#FT_MM_Axis">FT_MM_Axis</a></td><td><a href="ft2-basic_types.html#FT_Vector">FT_Vector</a></td></tr>
+<tr><td><a href="ft2-basic_types.html#FT_Byte">FT_Byte</a></td><td><a href="ft2-multiple_masters.html#FT_MM_Var">FT_MM_Var</a></td><td><a href="ft2-computations.html#FT_Vector_From_Polar">FT_Vector_From_Polar</a></td></tr>
+<tr><td><a href="ft2-basic_types.html#FT_Bytes">FT_Bytes</a></td><td><a href="ft2-header_file_macros.html#FT_MODULE_ERRORS_H">FT_MODULE_ERRORS_H</a></td><td><a href="ft2-computations.html#FT_Vector_Length">FT_Vector_Length</a></td></tr>
+<tr><td><a href="ft2-header_file_macros.html#FT_BZIP2_H">FT_BZIP2_H</a></td><td><a href="ft2-header_file_macros.html#FT_MODULE_H">FT_MODULE_H</a></td><td><a href="ft2-computations.html#FT_Vector_Polarize">FT_Vector_Polarize</a></td></tr>
+<tr><td><a href="ft2-header_file_macros.html#FT_CACHE_CHARMAP_H">FT_CACHE_CHARMAP_H</a></td><td><a href="ft2-module_management.html#FT_Module">FT_Module</a></td><td><a href="ft2-computations.html#FT_Vector_Rotate">FT_Vector_Rotate</a></td></tr>
+<tr><td><a href="ft2-header_file_macros.html#FT_CACHE_H">FT_CACHE_H</a></td><td><a href="ft2-module_management.html#FT_Module_Class">FT_Module_Class</a></td><td><a href="ft2-computations.html#FT_Vector_Transform">FT_Vector_Transform</a></td></tr>
+<tr><td><a href="ft2-header_file_macros.html#FT_CACHE_IMAGE_H">FT_CACHE_IMAGE_H</a></td><td><a href="ft2-module_management.html#FT_Module_Constructor">FT_Module_Constructor</a></td><td><a href="ft2-computations.html#FT_Vector_Unit">FT_Vector_Unit</a></td></tr>
+<tr><td><a href="ft2-header_file_macros.html#FT_CACHE_SMALL_BITMAPS_H">FT_CACHE_SMALL_BITMAPS_H</a></td><td><a href="ft2-module_management.html#FT_Module_Destructor">FT_Module_Destructor</a></td><td><a href="ft2-header_file_macros.html#FT_WINFONTS_H">FT_WINFONTS_H</a></td></tr>
+<tr><td><a href="ft2-computations.html#FT_CeilFix">FT_CeilFix</a></td><td><a href="ft2-module_management.html#FT_Module_Requester">FT_Module_Requester</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_Header">FT_WinFNT_Header</a></td></tr>
+<tr><td><a href="ft2-header_file_macros.html#FT_CFF_DRIVER_H">FT_CFF_DRIVER_H</a></td><td><a href="ft2-header_file_macros.html#FT_MULTIPLE_MASTERS_H">FT_MULTIPLE_MASTERS_H</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_HeaderRec">FT_WinFNT_HeaderRec</a></td></tr>
+<tr><td><a href="ft2-cff_driver.html#FT_CFF_HINTING_XXX">FT_CFF_HINTING_ADOBE</a></td><td><a href="ft2-computations.html#FT_MulDiv">FT_MulDiv</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1250</a></td></tr>
+<tr><td><a href="ft2-cff_driver.html#FT_CFF_HINTING_XXX">FT_CFF_HINTING_FREETYPE</a></td><td><a href="ft2-computations.html#FT_MulFix">FT_MulFix</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1251</a></td></tr>
+<tr><td><a href="ft2-cff_driver.html#FT_CFF_HINTING_XXX">FT_CFF_HINTING_XXX</a></td><td><a href="ft2-multiple_masters.html#FT_Multi_Master">FT_Multi_Master</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1252</a></td></tr>
+<tr><td><a href="ft2-basic_types.html#FT_Char">FT_Char</a></td><td><a href="ft2-base_interface.html#FT_New_Face">FT_New_Face</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1253</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_CharMap">FT_CharMap</a></td><td><a href="ft2-mac_specific.html#FT_New_Face_From_FOND">FT_New_Face_From_FOND</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1254</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_CharMapRec">FT_CharMapRec</a></td><td><a href="ft2-mac_specific.html#FT_New_Face_From_FSRef">FT_New_Face_From_FSRef</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1255</a></td></tr>
+<tr><td><a href="ft2-header_file_macros.html#FT_CID_H">FT_CID_H</a></td><td><a href="ft2-mac_specific.html#FT_New_Face_From_FSSpec">FT_New_Face_From_FSSpec</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1256</a></td></tr>
+<tr><td><a href="ft2-gx_validation.html#FT_ClassicKern_Free">FT_ClassicKern_Free</a></td><td><a href="ft2-module_management.html#FT_New_Library">FT_New_Library</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1257</a></td></tr>
+<tr><td><a href="ft2-gx_validation.html#FT_ClassicKern_Validate">FT_ClassicKern_Validate</a></td><td><a href="ft2-base_interface.html#FT_New_Memory_Face">FT_New_Memory_Face</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1258</a></td></tr>
+<tr><td><a href="ft2-header_file_macros.html#FT_CONFIG_CONFIG_H">FT_CONFIG_CONFIG_H</a></td><td><a href="ft2-sizes_management.html#FT_New_Size">FT_New_Size</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1361</a></td></tr>
+<tr><td><a href="ft2-header_file_macros.html#FT_CONFIG_MODULES_H">FT_CONFIG_MODULES_H</a></td><td><a href="ft2-basic_types.html#FT_Offset">FT_Offset</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP874</a></td></tr>
+<tr><td><a href="ft2-header_file_macros.html#FT_CONFIG_OPTIONS_H">FT_CONFIG_OPTIONS_H</a></td><td><a href="ft2-base_interface.html#FT_OPEN_XXX">FT_OPEN_DRIVER</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP932</a></td></tr>
+<tr><td><a href="ft2-header_file_macros.html#FT_CONFIG_STANDARD_LIBRARY_H">FT_CONFIG_STANDARD_LIBRARY_H</a></td><td><a href="ft2-base_interface.html#FT_OPEN_XXX">FT_OPEN_MEMORY</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP936</a></td></tr>
+<tr><td><a href="ft2-computations.html#FT_Cos">FT_Cos</a></td><td><a href="ft2-base_interface.html#FT_OPEN_XXX">FT_OPEN_PARAMS</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP949</a></td></tr>
+<tr><td><a href="ft2-basic_types.html#FT_Data">FT_Data</a></td><td><a href="ft2-base_interface.html#FT_OPEN_XXX">FT_OPEN_PATHNAME</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP950</a></td></tr>
+<tr><td><a href="ft2-computations.html#FT_DivFix">FT_DivFix</a></td><td><a href="ft2-base_interface.html#FT_OPEN_XXX">FT_OPEN_STREAM</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_DEFAULT</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Done_Face">FT_Done_Face</a></td><td><a href="ft2-base_interface.html#FT_OPEN_XXX">FT_OPEN_XXX</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_MAC</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Done_FreeType">FT_Done_FreeType</a></td><td><a href="ft2-header_file_macros.html#FT_OPENTYPE_VALIDATE_H">FT_OPENTYPE_VALIDATE_H</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_OEM</a></td></tr>
+<tr><td><a href="ft2-glyph_management.html#FT_Done_Glyph">FT_Done_Glyph</a></td><td><a href="ft2-base_interface.html#FT_Open_Args">FT_Open_Args</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_SYMBOL</a></td></tr>
+<tr><td><a href="ft2-module_management.html#FT_Done_Library">FT_Done_Library</a></td><td><a href="ft2-base_interface.html#FT_Open_Face">FT_Open_Face</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_XXX</a></td></tr>
+<tr><td><a href="ft2-sizes_management.html#FT_Done_Size">FT_Done_Size</a></td><td><a href="ft2-ot_validation.html#FT_OpenType_Free">FT_OpenType_Free</a></td><td><a href="ft2-cache_subsystem.html#FTC_CMapCache">FTC_CMapCache</a></td></tr>
+<tr><td><a href="ft2-module_management.html#FT_Driver">FT_Driver</a></td><td><a href="ft2-ot_validation.html#FT_OpenType_Validate">FT_OpenType_Validate</a></td><td><a href="ft2-cache_subsystem.html#FTC_CMapCache_Lookup">FTC_CMapCache_Lookup</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_ENC_TAG">FT_ENC_TAG</a></td><td><a href="ft2-outline_processing.html#FT_Orientation">FT_ORIENTATION_FILL_LEFT</a></td><td><a href="ft2-cache_subsystem.html#FTC_CMapCache_New">FTC_CMapCache_New</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_ADOBE_CUSTOM</a></td><td><a href="ft2-outline_processing.html#FT_Orientation">FT_ORIENTATION_FILL_RIGHT</a></td><td><a href="ft2-cache_subsystem.html#FTC_Face_Requester">FTC_Face_Requester</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_ADOBE_EXPERT</a></td><td><a href="ft2-outline_processing.html#FT_Orientation">FT_ORIENTATION_NONE</a></td><td><a href="ft2-cache_subsystem.html#FTC_FaceID">FTC_FaceID</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_ADOBE_LATIN_1</a></td><td><a href="ft2-outline_processing.html#FT_Orientation">FT_ORIENTATION_POSTSCRIPT</a></td><td><a href="ft2-cache_subsystem.html#FTC_ImageCache">FTC_ImageCache</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_ADOBE_STANDARD</a></td><td><a href="ft2-outline_processing.html#FT_Orientation">FT_ORIENTATION_TRUETYPE</a></td><td><a href="ft2-cache_subsystem.html#FTC_ImageCache_Lookup">FTC_ImageCache_Lookup</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_APPLE_ROMAN</a></td><td><a href="ft2-outline_processing.html#FT_Orientation">FT_Orientation</a></td><td><a href="ft2-cache_subsystem.html#FTC_ImageCache_LookupScaler">FTC_ImageCache_LookupScaler</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_BIG5</a></td><td><a href="ft2-outline_processing.html#FT_OUTLINE_XXX">FT_OUTLINE_EVEN_ODD_FILL</a></td><td><a href="ft2-cache_subsystem.html#FTC_ImageCache_New">FTC_ImageCache_New</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_GB2312</a></td><td><a href="ft2-header_file_macros.html#FT_OUTLINE_H">FT_OUTLINE_H</a></td><td><a href="ft2-cache_subsystem.html#FTC_ImageType">FTC_ImageType</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_JOHAB</a></td><td><a href="ft2-outline_processing.html#FT_OUTLINE_XXX">FT_OUTLINE_HIGH_PRECISION</a></td><td><a href="ft2-cache_subsystem.html#FTC_ImageTypeRec">FTC_ImageTypeRec</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_MS_BIG5</a></td><td><a href="ft2-outline_processing.html#FT_OUTLINE_XXX">FT_OUTLINE_IGNORE_DROPOUTS</a></td><td><a href="ft2-cache_subsystem.html#FTC_Manager">FTC_Manager</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_MS_GB2312</a></td><td><a href="ft2-outline_processing.html#FT_OUTLINE_XXX">FT_OUTLINE_INCLUDE_STUBS</a></td><td><a href="ft2-cache_subsystem.html#FTC_Manager_Done">FTC_Manager_Done</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_MS_JOHAB</a></td><td><a href="ft2-outline_processing.html#FT_OUTLINE_XXX">FT_OUTLINE_NONE</a></td><td><a href="ft2-cache_subsystem.html#FTC_Manager_LookupFace">FTC_Manager_LookupFace</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_MS_SJIS</a></td><td><a href="ft2-outline_processing.html#FT_OUTLINE_XXX">FT_OUTLINE_OWNER</a></td><td><a href="ft2-cache_subsystem.html#FTC_Manager_LookupSize">FTC_Manager_LookupSize</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_MS_SYMBOL</a></td><td><a href="ft2-outline_processing.html#FT_OUTLINE_XXX">FT_OUTLINE_REVERSE_FILL</a></td><td><a href="ft2-cache_subsystem.html#FTC_Manager_New">FTC_Manager_New</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_MS_WANSUNG</a></td><td><a href="ft2-outline_processing.html#FT_OUTLINE_XXX">FT_OUTLINE_SINGLE_PASS</a></td><td><a href="ft2-cache_subsystem.html#FTC_Manager_RemoveFaceID">FTC_Manager_RemoveFaceID</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_NONE</a></td><td><a href="ft2-outline_processing.html#FT_OUTLINE_XXX">FT_OUTLINE_SMART_DROPOUTS</a></td><td><a href="ft2-cache_subsystem.html#FTC_Manager_Reset">FTC_Manager_Reset</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_OLD_LATIN_2</a></td><td><a href="ft2-outline_processing.html#FT_OUTLINE_XXX">FT_OUTLINE_XXX</a></td><td><a href="ft2-cache_subsystem.html#FTC_Node">FTC_Node</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_SJIS</a></td><td><a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a></td><td><a href="ft2-cache_subsystem.html#FTC_Node_Unref">FTC_Node_Unref</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_UNICODE</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Check">FT_Outline_Check</a></td><td><a href="ft2-cache_subsystem.html#FTC_SBit">FTC_SBit</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_WANSUNG</a></td><td><a href="ft2-outline_processing.html#FT_Outline_ConicToFunc">FT_Outline_ConicToFunc</a></td><td><a href="ft2-cache_subsystem.html#FTC_SBitCache">FTC_SBitCache</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_Encoding</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Copy">FT_Outline_Copy</a></td><td><a href="ft2-cache_subsystem.html#FTC_SBitCache_Lookup">FTC_SBitCache_Lookup</a></td></tr>
+<tr><td><a href="ft2-header_file_macros.html#FT_ERRORS_H">FT_ERRORS_H</a></td><td><a href="ft2-outline_processing.html#FT_Outline_CubicToFunc">FT_Outline_CubicToFunc</a></td><td><a href="ft2-cache_subsystem.html#FTC_SBitCache_LookupScaler">FTC_SBitCache_LookupScaler</a></td></tr>
+<tr><td><a href="ft2-error_code_values.html#FT_Err_XXX">FT_Err_XXX</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Decompose">FT_Outline_Decompose</a></td><td><a href="ft2-cache_subsystem.html#FTC_SBitCache_New">FTC_SBitCache_New</a></td></tr>
+<tr><td><a href="ft2-basic_types.html#FT_Error">FT_Error</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Done">FT_Outline_Done</a></td><td><a href="ft2-cache_subsystem.html#FTC_SBitRec">FTC_SBitRec</a></td></tr>
+<tr><td><a href="ft2-basic_types.html#FT_F26Dot6">FT_F26Dot6</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Embolden">FT_Outline_Embolden</a></td><td><a href="ft2-cache_subsystem.html#FTC_Scaler">FTC_Scaler</a></td></tr>
+<tr><td><a href="ft2-basic_types.html#FT_F2Dot14">FT_F2Dot14</a></td><td><a href="ft2-outline_processing.html#FT_Outline_EmboldenXY">FT_Outline_EmboldenXY</a></td><td><a href="ft2-cache_subsystem.html#FTC_ScalerRec">FTC_ScalerRec</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_CID_KEYED</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Funcs">FT_Outline_Funcs</a></td><td><a href="ft2-auto_hinter.html#fallback-script">fallback-script</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_COLOR</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Get_BBox">FT_Outline_Get_BBox</a></td><td><a href="ft2-auto_hinter.html#glyph-to-script-map">glyph-to-script-map</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_EXTERNAL_STREAM</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Get_Bitmap">FT_Outline_Get_Bitmap</a></td><td><a href="ft2-cff_driver.html#hinting-engine">hinting-engine</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_FAST_GLYPHS</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Get_CBox">FT_Outline_Get_CBox</a></td><td><a href="ft2-auto_hinter.html#increase-x-height">increase-x-height</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_FIXED_SIZES</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Get_Orientation">FT_Outline_Get_Orientation</a></td><td><a href="ft2-tt_driver.html#interpreter-version">interpreter-version</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_FIXED_WIDTH</a></td><td><a href="ft2-glyph_stroker.html#FT_Outline_GetInsideBorder">FT_Outline_GetInsideBorder</a></td><td><a href="ft2-cff_driver.html#no-stem-darkening">no-stem-darkening</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_GLYPH_NAMES</a></td><td><a href="ft2-glyph_stroker.html#FT_Outline_GetOutsideBorder">FT_Outline_GetOutsideBorder</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_BLUE_FUZZ</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_HINTER</a></td><td><a href="ft2-outline_processing.html#FT_Outline_LineToFunc">FT_Outline_LineToFunc</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_BLUE_SCALE</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_HORIZONTAL</a></td><td><a href="ft2-outline_processing.html#FT_Outline_MoveToFunc">FT_Outline_MoveToFunc</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_BLUE_SHIFT</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_KERNING</a></td><td><a href="ft2-outline_processing.html#FT_Outline_New">FT_Outline_New</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_BLUE_VALUE</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_MULTIPLE_MASTERS</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Render">FT_Outline_Render</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_CHAR_STRING</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_SCALABLE</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Reverse">FT_Outline_Reverse</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_CHAR_STRING_KEY</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_SFNT</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Transform">FT_Outline_Transform</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_ENCODING_ENTRY</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_TRICKY</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Translate">FT_Outline_Translate</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_ENCODING_TYPE</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_VERTICAL</a></td><td><a href="ft2-glyph_management.html#FT_OutlineGlyph">FT_OutlineGlyph</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_FAMILY_BLUE</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_XXX</a></td><td><a href="ft2-glyph_management.html#FT_OutlineGlyphRec">FT_OutlineGlyphRec</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_FAMILY_NAME</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Face">FT_Face</a></td><td><a href="ft2-sfnt_names.html#FT_PARAM_TAG_IGNORE_PREFERRED_FAMILY">FT_PARAM_TAG_IGNORE_PREFERRED_FAMILY</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_FAMILY_OTHER_BLUE</a></td></tr>
+<tr><td><a href="ft2-version.html#FT_Face_CheckTrueTypePatents">FT_Face_CheckTrueTypePatents</a></td><td><a href="ft2-sfnt_names.html#FT_PARAM_TAG_IGNORE_PREFERRED_SUBFAMILY">FT_PARAM_TAG_IGNORE_PREFERRED_SUBFAMILY</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_FONT_BBOX</a></td></tr>
+<tr><td><a href="ft2-glyph_variants.html#FT_Face_GetCharsOfVariant">FT_Face_GetCharsOfVariant</a></td><td><a href="ft2-incremental.html#FT_PARAM_TAG_INCREMENTAL">FT_PARAM_TAG_INCREMENTAL</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_FONT_MATRIX</a></td></tr>
+<tr><td><a href="ft2-glyph_variants.html#FT_Face_GetCharVariantIndex">FT_Face_GetCharVariantIndex</a></td><td><a href="ft2-truetype_tables.html#FT_PARAM_TAG_UNPATENTED_HINTING">FT_PARAM_TAG_UNPATENTED_HINTING</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_FONT_NAME</a></td></tr>
+<tr><td><a href="ft2-glyph_variants.html#FT_Face_GetCharVariantIsDefault">FT_Face_GetCharVariantIsDefault</a></td><td><a href="ft2-base_interface.html#FT_Parameter">FT_Parameter</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_FONT_TYPE</a></td></tr>
+<tr><td><a href="ft2-glyph_variants.html#FT_Face_GetVariantSelectors">FT_Face_GetVariantSelectors</a></td><td><a href="ft2-header_file_macros.html#FT_PFR_H">FT_PFR_H</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_FORCE_BOLD</a></td></tr>
+<tr><td><a href="ft2-glyph_variants.html#FT_Face_GetVariantsOfChar">FT_Face_GetVariantsOfChar</a></td><td><a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_BGRA</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_FS_TYPE</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Face_Internal">FT_Face_Internal</a></td><td><a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_GRAY</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_FULL_NAME</a></td></tr>
+<tr><td><a href="ft2-version.html#FT_Face_SetUnpatentedHinting">FT_Face_SetUnpatentedHinting</a></td><td><a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_GRAY2</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_IS_FIXED_PITCH</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_FaceRec">FT_FaceRec</a></td><td><a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_GRAY4</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_ITALIC_ANGLE</a></td></tr>
+<tr><td><a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a></td><td><a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_LCD</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_LANGUAGE_GROUP</a></td></tr>
+<tr><td><a href="ft2-computations.html#FT_FloorFix">FT_FloorFix</a></td><td><a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_LCD_V</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_LEN_IV</a></td></tr>
+<tr><td><a href="ft2-header_file_macros.html#FT_FONT_FORMATS_H">FT_FONT_FORMATS_H</a></td><td><a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_MONO</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_MIN_FEATURE</a></td></tr>
+<tr><td><a href="ft2-header_file_macros.html#FT_FREETYPE_H">FT_FREETYPE_H</a></td><td><a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_NONE</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_NOTICE</a></td></tr>
+<tr><td><a href="ft2-system_interface.html#FT_Free_Func">FT_Free_Func</a></td><td><a href="ft2-basic_types.html#FT_Pixel_Mode">FT_Pixel_Mode</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_NUM_BLUE_VALUES</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_FSTYPE_XXX">FT_FSTYPE_BITMAP_EMBEDDING_ONLY</a></td><td><a href="ft2-basic_types.html#FT_Pointer">FT_Pointer</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_NUM_CHAR_STRINGS</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_FSTYPE_XXX">FT_FSTYPE_EDITABLE_EMBEDDING</a></td><td><a href="ft2-basic_types.html#FT_Pos">FT_Pos</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_NUM_FAMILY_BLUES</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_FSTYPE_XXX">FT_FSTYPE_INSTALLABLE_EMBEDDING</a></td><td><a href="ft2-auto_hinter.html#FT_Prop_GlyphToScriptMap">FT_Prop_GlyphToScriptMap</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_NUM_FAMILY_OTHER_BLUES</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_FSTYPE_XXX">FT_FSTYPE_NO_SUBSETTING</a></td><td><a href="ft2-auto_hinter.html#FT_Prop_IncreaseXHeight">FT_Prop_IncreaseXHeight</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_NUM_OTHER_BLUES</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_FSTYPE_XXX">FT_FSTYPE_PREVIEW_AND_PRINT_EMBEDDING</a></td><td><a href="ft2-module_management.html#FT_Property_Get">FT_Property_Get</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_NUM_STEM_SNAP_H</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_FSTYPE_XXX">FT_FSTYPE_RESTRICTED_LICENSE_EMBEDDING</a></td><td><a href="ft2-module_management.html#FT_Property_Set">FT_Property_Set</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_NUM_STEM_SNAP_V</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_FSTYPE_XXX">FT_FSTYPE_XXX</a></td><td><a href="ft2-basic_types.html#FT_PtrDist">FT_PtrDist</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_NUM_SUBRS</a></td></tr>
+<tr><td><a href="ft2-basic_types.html#FT_FWord">FT_FWord</a></td><td><a href="ft2-raster.html#FT_RASTER_FLAG_XXX">FT_RASTER_FLAG_AA</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_OTHER_BLUE</a></td></tr>
+<tr><td><a href="ft2-gasp_table.html#FT_GASP_XXX">FT_GASP_DO_GRAY</a></td><td><a href="ft2-raster.html#FT_RASTER_FLAG_XXX">FT_RASTER_FLAG_CLIP</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_PAINT_TYPE</a></td></tr>
+<tr><td><a href="ft2-gasp_table.html#FT_GASP_XXX">FT_GASP_DO_GRIDFIT</a></td><td><a href="ft2-raster.html#FT_RASTER_FLAG_XXX">FT_RASTER_FLAG_DEFAULT</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_PASSWORD</a></td></tr>
+<tr><td><a href="ft2-header_file_macros.html#FT_GASP_H">FT_GASP_H</a></td><td><a href="ft2-raster.html#FT_RASTER_FLAG_XXX">FT_RASTER_FLAG_DIRECT</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_RND_STEM_UP</a></td></tr>
+<tr><td><a href="ft2-gasp_table.html#FT_GASP_XXX">FT_GASP_NO_TABLE</a></td><td><a href="ft2-raster.html#FT_RASTER_FLAG_XXX">FT_RASTER_FLAG_XXX</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_STD_HW</a></td></tr>
+<tr><td><a href="ft2-gasp_table.html#FT_GASP_XXX">FT_GASP_SYMMETRIC_GRIDFIT</a></td><td><a href="ft2-raster.html#FT_Raster">FT_Raster</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_STD_VW</a></td></tr>
+<tr><td><a href="ft2-gasp_table.html#FT_GASP_XXX">FT_GASP_SYMMETRIC_SMOOTHING</a></td><td><a href="ft2-raster.html#FT_Raster_BitSet_Func">FT_Raster_BitSet_Func</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_STEM_SNAP_H</a></td></tr>
+<tr><td><a href="ft2-gasp_table.html#FT_GASP_XXX">FT_GASP_XXX</a></td><td><a href="ft2-raster.html#FT_Raster_BitTest_Func">FT_Raster_BitTest_Func</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_STEM_SNAP_V</a></td></tr>
+<tr><td><a href="ft2-basic_types.html#FT_Generic">FT_Generic</a></td><td><a href="ft2-raster.html#FT_Raster_DoneFunc">FT_Raster_DoneFunc</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_SUBR</a></td></tr>
+<tr><td><a href="ft2-basic_types.html#FT_Generic_Finalizer">FT_Generic_Finalizer</a></td><td><a href="ft2-raster.html#FT_Raster_Funcs">FT_Raster_Funcs</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_UNDERLINE_POSITION</a></td></tr>
+<tr><td><a href="ft2-quick_advance.html#FT_Get_Advance">FT_Get_Advance</a></td><td><a href="ft2-raster.html#FT_Raster_NewFunc">FT_Raster_NewFunc</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_UNDERLINE_THICKNESS</a></td></tr>
+<tr><td><a href="ft2-quick_advance.html#FT_Get_Advances">FT_Get_Advances</a></td><td><a href="ft2-raster.html#FT_Raster_Params">FT_Raster_Params</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_UNIQUE_ID</a></td></tr>
+<tr><td><a href="ft2-bdf_fonts.html#FT_Get_BDF_Charset_ID">FT_Get_BDF_Charset_ID</a></td><td><a href="ft2-raster.html#FT_Raster_RenderFunc">FT_Raster_RenderFunc</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_VERSION</a></td></tr>
+<tr><td><a href="ft2-bdf_fonts.html#FT_Get_BDF_Property">FT_Get_BDF_Property</a></td><td><a href="ft2-raster.html#FT_Raster_ResetFunc">FT_Raster_ResetFunc</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_WEIGHT</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Get_Char_Index">FT_Get_Char_Index</a></td><td><a href="ft2-raster.html#FT_Raster_SetModeFunc">FT_Raster_SetModeFunc</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_Dict_Keys</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Get_Charmap_Index">FT_Get_Charmap_Index</a></td><td><a href="ft2-header_file_macros.html#FT_RENDER_H">FT_RENDER_H</a></td><td><a href="ft2-type1_tables.html#PS_FontInfo">PS_FontInfo</a></td></tr>
+<tr><td><a href="ft2-cid_fonts.html#FT_Get_CID_From_Glyph_Index">FT_Get_CID_From_Glyph_Index</a></td><td><a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_LCD</a></td><td><a href="ft2-type1_tables.html#PS_FontInfoRec">PS_FontInfoRec</a></td></tr>
+<tr><td><a href="ft2-cid_fonts.html#FT_Get_CID_Is_Internally_CID_Keyed">FT_Get_CID_Is_Internally_CID_Keyed</a></td><td><a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_LCD_V</a></td><td><a href="ft2-type1_tables.html#PS_Private">PS_Private</a></td></tr>
+<tr><td><a href="ft2-cid_fonts.html#FT_Get_CID_Registry_Ordering_Supplement">FT_Get_CID_Registry_Ordering_Supplement</a></td><td><a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_LIGHT</a></td><td><a href="ft2-type1_tables.html#PS_PrivateRec">PS_PrivateRec</a></td></tr>
+<tr><td><a href="ft2-truetype_tables.html#FT_Get_CMap_Format">FT_Get_CMap_Format</a></td><td><a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_MONO</a></td><td><a href="ft2-type1_tables.html#T1_Blend_Flags">T1_BLEND_BLUE_SCALE</a></td></tr>
+<tr><td><a href="ft2-truetype_tables.html#FT_Get_CMap_Language_ID">FT_Get_CMap_Language_ID</a></td><td><a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_NORMAL</a></td><td><a href="ft2-type1_tables.html#T1_Blend_Flags">T1_BLEND_BLUE_SHIFT</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Get_First_Char">FT_Get_First_Char</a></td><td><a href="ft2-system_interface.html#FT_Realloc_Func">FT_Realloc_Func</a></td><td><a href="ft2-type1_tables.html#T1_Blend_Flags">T1_BLEND_BLUE_VALUES</a></td></tr>
+<tr><td><a href="ft2-font_formats.html#FT_Get_Font_Format">FT_Get_Font_Format</a></td><td><a href="ft2-base_interface.html#FT_Reference_Face">FT_Reference_Face</a></td><td><a href="ft2-type1_tables.html#T1_Blend_Flags">T1_BLEND_FAMILY_BLUES</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Get_FSType_Flags">FT_Get_FSType_Flags</a></td><td><a href="ft2-module_management.html#FT_Reference_Library">FT_Reference_Library</a></td><td><a href="ft2-type1_tables.html#T1_Blend_Flags">T1_BLEND_FAMILY_OTHER_BLUES</a></td></tr>
+<tr><td><a href="ft2-gasp_table.html#FT_Get_Gasp">FT_Get_Gasp</a></td><td><a href="ft2-module_management.html#FT_Remove_Module">FT_Remove_Module</a></td><td><a href="ft2-type1_tables.html#T1_Blend_Flags">T1_BLEND_FORCE_BOLD</a></td></tr>
+<tr><td><a href="ft2-glyph_management.html#FT_Get_Glyph">FT_Get_Glyph</a></td><td><a href="ft2-base_interface.html#FT_Render_Glyph">FT_Render_Glyph</a></td><td><a href="ft2-type1_tables.html#T1_Blend_Flags">T1_BLEND_ITALIC_ANGLE</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Get_Glyph_Name">FT_Get_Glyph_Name</a></td><td><a href="ft2-base_interface.html#FT_Render_Mode">FT_Render_Mode</a></td><td><a href="ft2-type1_tables.html#T1_Blend_Flags">T1_BLEND_OTHER_BLUES</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Get_Kerning">FT_Get_Kerning</a></td><td><a href="ft2-module_management.html#FT_Renderer">FT_Renderer</a></td><td><a href="ft2-type1_tables.html#T1_Blend_Flags">T1_BLEND_STANDARD_HEIGHT</a></td></tr>
+<tr><td><a href="ft2-multiple_masters.html#FT_Get_MM_Var">FT_Get_MM_Var</a></td><td><a href="ft2-module_management.html#FT_Renderer_Class">FT_Renderer_Class</a></td><td><a href="ft2-type1_tables.html#T1_Blend_Flags">T1_BLEND_STANDARD_WIDTH</a></td></tr>
+<tr><td><a href="ft2-module_management.html#FT_Get_Module">FT_Get_Module</a></td><td><a href="ft2-base_interface.html#FT_Request_Size">FT_Request_Size</a></td><td><a href="ft2-type1_tables.html#T1_Blend_Flags">T1_BLEND_STEM_SNAP_HEIGHTS</a></td></tr>
+<tr><td><a href="ft2-multiple_masters.html#FT_Get_Multi_Master">FT_Get_Multi_Master</a></td><td><a href="ft2-computations.html#FT_RoundFix">FT_RoundFix</a></td><td><a href="ft2-type1_tables.html#T1_Blend_Flags">T1_BLEND_STEM_SNAP_WIDTHS</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Get_Name_Index">FT_Get_Name_Index</a></td><td><a href="ft2-base_interface.html#FT_Select_Charmap">FT_Select_Charmap</a></td><td><a href="ft2-type1_tables.html#T1_Blend_Flags">T1_BLEND_UNDERLINE_POSITION</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Get_Next_Char">FT_Get_Next_Char</a></td><td><a href="ft2-base_interface.html#FT_Select_Size">FT_Select_Size</a></td><td><a href="ft2-type1_tables.html#T1_Blend_Flags">T1_BLEND_UNDERLINE_THICKNESS</a></td></tr>
+<tr><td><a href="ft2-pfr_fonts.html#FT_Get_PFR_Advance">FT_Get_PFR_Advance</a></td><td><a href="ft2-base_interface.html#FT_Set_Char_Size">FT_Set_Char_Size</a></td><td><a href="ft2-type1_tables.html#T1_Blend_Flags">T1_Blend_Flags</a></td></tr>
+<tr><td><a href="ft2-pfr_fonts.html#FT_Get_PFR_Kerning">FT_Get_PFR_Kerning</a></td><td><a href="ft2-base_interface.html#FT_Set_Charmap">FT_Set_Charmap</a></td><td><a href="ft2-type1_tables.html#T1_EncodingType">T1_ENCODING_TYPE_ARRAY</a></td></tr>
+<tr><td><a href="ft2-pfr_fonts.html#FT_Get_PFR_Metrics">FT_Get_PFR_Metrics</a></td><td><a href="ft2-module_management.html#FT_Set_Debug_Hook">FT_Set_Debug_Hook</a></td><td><a href="ft2-type1_tables.html#T1_EncodingType">T1_ENCODING_TYPE_EXPERT</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Get_Postscript_Name">FT_Get_Postscript_Name</a></td><td><a href="ft2-multiple_masters.html#FT_Set_MM_Blend_Coordinates">FT_Set_MM_Blend_Coordinates</a></td><td><a href="ft2-type1_tables.html#T1_EncodingType">T1_ENCODING_TYPE_ISOLATIN1</a></td></tr>
+<tr><td><a href="ft2-type1_tables.html#FT_Get_PS_Font_Info">FT_Get_PS_Font_Info</a></td><td><a href="ft2-multiple_masters.html#FT_Set_MM_Design_Coordinates">FT_Set_MM_Design_Coordinates</a></td><td><a href="ft2-type1_tables.html#T1_EncodingType">T1_ENCODING_TYPE_NONE</a></td></tr>
+<tr><td><a href="ft2-type1_tables.html#FT_Get_PS_Font_Private">FT_Get_PS_Font_Private</a></td><td><a href="ft2-base_interface.html#FT_Set_Pixel_Sizes">FT_Set_Pixel_Sizes</a></td><td><a href="ft2-type1_tables.html#T1_EncodingType">T1_ENCODING_TYPE_STANDARD</a></td></tr>
+<tr><td><a href="ft2-type1_tables.html#FT_Get_PS_Font_Value">FT_Get_PS_Font_Value</a></td><td><a href="ft2-module_management.html#FT_Set_Renderer">FT_Set_Renderer</a></td><td><a href="ft2-type1_tables.html#T1_EncodingType">T1_EncodingType</a></td></tr>
+<tr><td><a href="ft2-module_management.html#FT_Get_Renderer">FT_Get_Renderer</a></td><td><a href="ft2-base_interface.html#FT_Set_Transform">FT_Set_Transform</a></td><td><a href="ft2-type1_tables.html#T1_FontInfo">T1_FontInfo</a></td></tr>
+<tr><td><a href="ft2-sfnt_names.html#FT_Get_Sfnt_Name">FT_Get_Sfnt_Name</a></td><td><a href="ft2-multiple_masters.html#FT_Set_Var_Blend_Coordinates">FT_Set_Var_Blend_Coordinates</a></td><td><a href="ft2-type1_tables.html#T1_Private">T1_Private</a></td></tr>
+<tr><td><a href="ft2-sfnt_names.html#FT_Get_Sfnt_Name_Count">FT_Get_Sfnt_Name_Count</a></td><td><a href="ft2-multiple_masters.html#FT_Set_Var_Design_Coordinates">FT_Set_Var_Design_Coordinates</a></td><td><a href="ft2-truetype_tables.html#TT_ADOBE_ID_XXX">TT_ADOBE_ID_CUSTOM</a></td></tr>
+<tr><td><a href="ft2-truetype_tables.html#FT_Get_Sfnt_Table">FT_Get_Sfnt_Table</a></td><td><a href="ft2-truetype_tables.html#FT_Sfnt_Tag">FT_SFNT_HEAD</a></td><td><a href="ft2-truetype_tables.html#TT_ADOBE_ID_XXX">TT_ADOBE_ID_EXPERT</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Get_SubGlyph_Info">FT_Get_SubGlyph_Info</a></td><td><a href="ft2-truetype_tables.html#FT_Sfnt_Tag">FT_SFNT_HHEA</a></td><td><a href="ft2-truetype_tables.html#TT_ADOBE_ID_XXX">TT_ADOBE_ID_LATIN_1</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Get_Track_Kerning">FT_Get_Track_Kerning</a></td><td><a href="ft2-truetype_tables.html#FT_Sfnt_Tag">FT_SFNT_MAXP</a></td><td><a href="ft2-truetype_tables.html#TT_ADOBE_ID_XXX">TT_ADOBE_ID_STANDARD</a></td></tr>
+<tr><td><a href="ft2-truetype_engine.html#FT_Get_TrueType_Engine_Type">FT_Get_TrueType_Engine_Type</a></td><td><a href="ft2-header_file_macros.html#FT_SFNT_NAMES_H">FT_SFNT_NAMES_H</a></td><td><a href="ft2-truetype_tables.html#TT_ADOBE_ID_XXX">TT_ADOBE_ID_XXX</a></td></tr>
+<tr><td><a href="ft2-winfnt_fonts.html#FT_Get_WinFNT_Header">FT_Get_WinFNT_Header</a></td><td><a href="ft2-truetype_tables.html#FT_Sfnt_Tag">FT_SFNT_OS2</a></td><td><a href="ft2-truetype_tables.html#TT_APPLE_ID_XXX">TT_APPLE_ID_DEFAULT</a></td></tr>
+<tr><td><a href="ft2-mac_specific.html#FT_GetFile_From_Mac_ATS_Name">FT_GetFile_From_Mac_ATS_Name</a></td><td><a href="ft2-truetype_tables.html#FT_Sfnt_Tag">FT_SFNT_PCLT</a></td><td><a href="ft2-truetype_tables.html#TT_APPLE_ID_XXX">TT_APPLE_ID_ISO_10646</a></td></tr>
+<tr><td><a href="ft2-mac_specific.html#FT_GetFile_From_Mac_Name">FT_GetFile_From_Mac_Name</a></td><td><a href="ft2-truetype_tables.html#FT_Sfnt_Tag">FT_SFNT_POST</a></td><td><a href="ft2-truetype_tables.html#TT_APPLE_ID_XXX">TT_APPLE_ID_UNICODE_1_1</a></td></tr>
+<tr><td><a href="ft2-mac_specific.html#FT_GetFilePath_From_Mac_ATS_Name">FT_GetFilePath_From_Mac_ATS_Name</a></td><td><a href="ft2-truetype_tables.html#FT_Sfnt_Tag">FT_SFNT_VHEA</a></td><td><a href="ft2-truetype_tables.html#TT_APPLE_ID_XXX">TT_APPLE_ID_UNICODE_2_0</a></td></tr>
+<tr><td><a href="ft2-glyph_management.html#FT_Glyph_BBox_Mode">FT_GLYPH_BBOX_GRIDFIT</a></td><td><a href="ft2-truetype_tables.html#FT_Sfnt_Table_Info">FT_Sfnt_Table_Info</a></td><td><a href="ft2-truetype_tables.html#TT_APPLE_ID_XXX">TT_APPLE_ID_UNICODE_32</a></td></tr>
+<tr><td><a href="ft2-glyph_management.html#FT_Glyph_BBox_Mode">FT_GLYPH_BBOX_PIXELS</a></td><td><a href="ft2-truetype_tables.html#FT_Sfnt_Tag">FT_Sfnt_Tag</a></td><td><a href="ft2-truetype_tables.html#TT_APPLE_ID_XXX">TT_APPLE_ID_VARIANT_SELECTOR</a></td></tr>
+<tr><td><a href="ft2-glyph_management.html#FT_Glyph_BBox_Mode">FT_GLYPH_BBOX_SUBPIXELS</a></td><td><a href="ft2-sfnt_names.html#FT_SfntName">FT_SfntName</a></td><td><a href="ft2-truetype_tables.html#TT_APPLE_ID_XXX">TT_APPLE_ID_XXX</a></td></tr>
+<tr><td><a href="ft2-glyph_management.html#FT_Glyph_BBox_Mode">FT_GLYPH_BBOX_TRUNCATE</a></td><td><a href="ft2-basic_types.html#FT_Short">FT_Short</a></td><td><a href="ft2-truetype_tables.html#TT_Header">TT_Header</a></td></tr>
+<tr><td><a href="ft2-glyph_management.html#FT_Glyph_BBox_Mode">FT_GLYPH_BBOX_UNSCALED</a></td><td><a href="ft2-base_interface.html#FT_Size_Request_Type">FT_SIZE_REQUEST_TYPE_BBOX</a></td><td><a href="ft2-truetype_tables.html#TT_HoriHeader">TT_HoriHeader</a></td></tr>
+<tr><td><a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_BITMAP</a></td><td><a href="ft2-base_interface.html#FT_Size_Request_Type">FT_SIZE_REQUEST_TYPE_CELL</a></td><td><a href="ft2-tt_driver.html#TT_INTERPRETER_VERSION_XXX">TT_INTERPRETER_VERSION_35</a></td></tr>
+<tr><td><a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_COMPOSITE</a></td><td><a href="ft2-base_interface.html#FT_Size_Request_Type">FT_SIZE_REQUEST_TYPE_NOMINAL</a></td><td><a href="ft2-tt_driver.html#TT_INTERPRETER_VERSION_XXX">TT_INTERPRETER_VERSION_38</a></td></tr>
+<tr><td><a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_NONE</a></td><td><a href="ft2-base_interface.html#FT_Size_Request_Type">FT_SIZE_REQUEST_TYPE_REAL_DIM</a></td><td><a href="ft2-tt_driver.html#TT_INTERPRETER_VERSION_XXX">TT_INTERPRETER_VERSION_XXX</a></td></tr>
+<tr><td><a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_OUTLINE</a></td><td><a href="ft2-base_interface.html#FT_Size_Request_Type">FT_SIZE_REQUEST_TYPE_SCALES</a></td><td><a href="ft2-truetype_tables.html#TT_ISO_ID_XXX">TT_ISO_ID_10646</a></td></tr>
+<tr><td><a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_PLOTTER</a></td><td><a href="ft2-header_file_macros.html#FT_SIZES_H">FT_SIZES_H</a></td><td><a href="ft2-truetype_tables.html#TT_ISO_ID_XXX">TT_ISO_ID_7BIT_ASCII</a></td></tr>
+<tr><td><a href="ft2-header_file_macros.html#FT_GLYPH_H">FT_GLYPH_H</a></td><td><a href="ft2-computations.html#FT_Sin">FT_Sin</a></td><td><a href="ft2-truetype_tables.html#TT_ISO_ID_XXX">TT_ISO_ID_8859_1</a></td></tr>
+<tr><td><a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a></td><td><a href="ft2-base_interface.html#FT_Size">FT_Size</a></td><td><a href="ft2-truetype_tables.html#TT_ISO_ID_XXX">TT_ISO_ID_XXX</a></td></tr>
+<tr><td><a href="ft2-glyph_management.html#FT_Glyph_BBox_Mode">FT_Glyph_BBox_Mode</a></td><td><a href="ft2-base_interface.html#FT_Size_Internal">FT_Size_Internal</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_ARABIC</a></td></tr>
+<tr><td><a href="ft2-glyph_management.html#FT_Glyph_Copy">FT_Glyph_Copy</a></td><td><a href="ft2-base_interface.html#FT_Size_Metrics">FT_Size_Metrics</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_ARMENIAN</a></td></tr>
+<tr><td><a href="ft2-basic_types.html#FT_Glyph_Format">FT_Glyph_Format</a></td><td><a href="ft2-base_interface.html#FT_Size_Request">FT_Size_Request</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_BENGALI</a></td></tr>
+<tr><td><a href="ft2-glyph_management.html#FT_Glyph_Get_CBox">FT_Glyph_Get_CBox</a></td><td><a href="ft2-base_interface.html#FT_Size_Request_Type">FT_Size_Request_Type</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_BURMESE</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Glyph_Metrics">FT_Glyph_Metrics</a></td><td><a href="ft2-base_interface.html#FT_Size_RequestRec">FT_Size_RequestRec</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_DEVANAGARI</a></td></tr>
+<tr><td><a href="ft2-glyph_stroker.html#FT_Glyph_Stroke">FT_Glyph_Stroke</a></td><td><a href="ft2-base_interface.html#FT_SizeRec">FT_SizeRec</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_GEEZ</a></td></tr>
+<tr><td><a href="ft2-glyph_stroker.html#FT_Glyph_StrokeBorder">FT_Glyph_StrokeBorder</a></td><td><a href="ft2-base_interface.html#FT_Slot_Internal">FT_Slot_Internal</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_GEORGIAN</a></td></tr>
+<tr><td><a href="ft2-glyph_management.html#FT_Glyph_To_Bitmap">FT_Glyph_To_Bitmap</a></td><td><a href="ft2-raster.html#FT_Span">FT_Span</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_GREEK</a></td></tr>
+<tr><td><a href="ft2-glyph_management.html#FT_Glyph_Transform">FT_Glyph_Transform</a></td><td><a href="ft2-raster.html#FT_SpanFunc">FT_SpanFunc</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_GUJARATI</a></td></tr>
+<tr><td><a href="ft2-glyph_management.html#FT_GlyphRec">FT_GlyphRec</a></td><td><a href="ft2-glyph_stroker.html#FT_StrokerBorder">FT_STROKER_BORDER_LEFT</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_GURMUKHI</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_GlyphSlot">FT_GlyphSlot</a></td><td><a href="ft2-glyph_stroker.html#FT_StrokerBorder">FT_STROKER_BORDER_RIGHT</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_HEBREW</a></td></tr>
+<tr><td><a href="ft2-bitmap_handling.html#FT_GlyphSlot_Own_Bitmap">FT_GlyphSlot_Own_Bitmap</a></td><td><a href="ft2-header_file_macros.html#FT_STROKER_H">FT_STROKER_H</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_JAPANESE</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_GlyphSlotRec">FT_GlyphSlotRec</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_LineCap">FT_STROKER_LINECAP_BUTT</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_KANNADA</a></td></tr>
+<tr><td><a href="ft2-header_file_macros.html#FT_GX_VALIDATE_H">FT_GX_VALIDATE_H</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_LineCap">FT_STROKER_LINECAP_ROUND</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_KHMER</a></td></tr>
+<tr><td><a href="ft2-header_file_macros.html#FT_GZIP_H">FT_GZIP_H</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_LineCap">FT_STROKER_LINECAP_SQUARE</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_KOREAN</a></td></tr>
+<tr><td><a href="ft2-gzip.html#FT_Gzip_Uncompress">FT_Gzip_Uncompress</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_LineJoin">FT_STROKER_LINEJOIN_BEVEL</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_LAOTIAN</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_HAS_COLOR">FT_HAS_COLOR</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_LineJoin">FT_STROKER_LINEJOIN_MITER</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_MALAYALAM</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_HAS_FAST_GLYPHS">FT_HAS_FAST_GLYPHS</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_LineJoin">FT_STROKER_LINEJOIN_MITER_FIXED</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_MALDIVIAN</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_HAS_FIXED_SIZES">FT_HAS_FIXED_SIZES</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_LineJoin">FT_STROKER_LINEJOIN_MITER_VARIABLE</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_MONGOLIAN</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_HAS_GLYPH_NAMES">FT_HAS_GLYPH_NAMES</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_LineJoin">FT_STROKER_LINEJOIN_ROUND</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_ORIYA</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_HAS_HORIZONTAL">FT_HAS_HORIZONTAL</a></td><td><a href="ft2-base_interface.html#FT_STYLE_FLAG_XXX">FT_STYLE_FLAG_BOLD</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_ROMAN</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_HAS_KERNING">FT_HAS_KERNING</a></td><td><a href="ft2-base_interface.html#FT_STYLE_FLAG_XXX">FT_STYLE_FLAG_ITALIC</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_RSYMBOL</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_HAS_MULTIPLE_MASTERS">FT_HAS_MULTIPLE_MASTERS</a></td><td><a href="ft2-base_interface.html#FT_STYLE_FLAG_XXX">FT_STYLE_FLAG_XXX</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_RUSSIAN</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_HAS_VERTICAL">FT_HAS_VERTICAL</a></td><td><a href="ft2-system_interface.html#FT_Stream">FT_Stream</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_SIMPLIFIED_CHINESE</a></td></tr>
+<tr><td><a href="ft2-type1_tables.html#FT_Has_PS_Glyph_Names">FT_Has_PS_Glyph_Names</a></td><td><a href="ft2-system_interface.html#FT_Stream_CloseFunc">FT_Stream_CloseFunc</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_SINDHI</a></td></tr>
+<tr><td><a href="ft2-header_file_macros.html#FT_IMAGE_H">FT_IMAGE_H</a></td><td><a href="ft2-system_interface.html#FT_Stream_IoFunc">FT_Stream_IoFunc</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_SINHALESE</a></td></tr>
+<tr><td><a href="ft2-basic_types.html#FT_IMAGE_TAG">FT_IMAGE_TAG</a></td><td><a href="ft2-bzip2.html#FT_Stream_OpenBzip2">FT_Stream_OpenBzip2</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_SLAVIC</a></td></tr>
+<tr><td><a href="ft2-header_file_macros.html#FT_INCREMENTAL_H">FT_INCREMENTAL_H</a></td><td><a href="ft2-gzip.html#FT_Stream_OpenGzip">FT_Stream_OpenGzip</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_TAMIL</a></td></tr>
+<tr><td><a href="ft2-incremental.html#FT_Incremental">FT_Incremental</a></td><td><a href="ft2-lzw.html#FT_Stream_OpenLZW">FT_Stream_OpenLZW</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_TELUGU</a></td></tr>
+<tr><td><a href="ft2-incremental.html#FT_Incremental_FreeGlyphDataFunc">FT_Incremental_FreeGlyphDataFunc</a></td><td><a href="ft2-system_interface.html#FT_StreamDesc">FT_StreamDesc</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_THAI</a></td></tr>
+<tr><td><a href="ft2-incremental.html#FT_Incremental_FuncsRec">FT_Incremental_FuncsRec</a></td><td><a href="ft2-system_interface.html#FT_StreamRec">FT_StreamRec</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_TIBETAN</a></td></tr>
+<tr><td><a href="ft2-incremental.html#FT_Incremental_GetGlyphDataFunc">FT_Incremental_GetGlyphDataFunc</a></td><td><a href="ft2-basic_types.html#FT_String">FT_String</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_TRADITIONAL_CHINESE</a></td></tr>
+<tr><td><a href="ft2-incremental.html#FT_Incremental_GetGlyphMetricsFunc">FT_Incremental_GetGlyphMetricsFunc</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker">FT_Stroker</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_UNINTERP</a></td></tr>
+<tr><td><a href="ft2-incremental.html#FT_Incremental_Interface">FT_Incremental_Interface</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_BeginSubPath">FT_Stroker_BeginSubPath</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_VIETNAMESE</a></td></tr>
+<tr><td><a href="ft2-incremental.html#FT_Incremental_InterfaceRec">FT_Incremental_InterfaceRec</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_ConicTo">FT_Stroker_ConicTo</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_XXX</a></td></tr>
+<tr><td><a href="ft2-incremental.html#FT_Incremental_Metrics">FT_Incremental_Metrics</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_CubicTo">FT_Stroker_CubicTo</a></td><td><a href="ft2-truetype_tables.html#TT_MaxProfile">TT_MaxProfile</a></td></tr>
+<tr><td><a href="ft2-incremental.html#FT_Incremental_MetricsRec">FT_Incremental_MetricsRec</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_Done">FT_Stroker_Done</a></td><td><a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_BIG_5</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Init_FreeType">FT_Init_FreeType</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_EndSubPath">FT_Stroker_EndSubPath</a></td><td><a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_GB2312</a></td></tr>
+<tr><td><a href="ft2-basic_types.html#FT_Int">FT_Int</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_Export">FT_Stroker_Export</a></td><td><a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_JOHAB</a></td></tr>
+<tr><td><a href="ft2-basic_types.html#FT_Int16">FT_Int16</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_ExportBorder">FT_Stroker_ExportBorder</a></td><td><a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_SJIS</a></td></tr>
+<tr><td><a href="ft2-basic_types.html#FT_Int32">FT_Int32</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_GetBorderCounts">FT_Stroker_GetBorderCounts</a></td><td><a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_SYMBOL_CS</a></td></tr>
+<tr><td><a href="ft2-basic_types.html#FT_Int64">FT_Int64</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_GetCounts">FT_Stroker_GetCounts</a></td><td><a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_UCS_4</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_IS_CID_KEYED">FT_IS_CID_KEYED</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_LineCap">FT_Stroker_LineCap</a></td><td><a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_UNICODE_CS</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_IS_FIXED_WIDTH">FT_IS_FIXED_WIDTH</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_LineJoin">FT_Stroker_LineJoin</a></td><td><a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_WANSUNG</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_IS_SCALABLE">FT_IS_SCALABLE</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_LineTo">FT_Stroker_LineTo</a></td><td><a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_XXX</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_IS_SFNT">FT_IS_SFNT</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_New">FT_Stroker_New</a></td><td><a href="ft2-truetype_tables.html#TT_OS2">TT_OS2</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_IS_TRICKY">FT_IS_TRICKY</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_ParseOutline">FT_Stroker_ParseOutline</a></td><td><a href="ft2-truetype_tables.html#TT_PCLT">TT_PCLT</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Kerning_Mode">FT_KERNING_DEFAULT</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_Rewind">FT_Stroker_Rewind</a></td><td><a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_ADOBE</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Kerning_Mode">FT_KERNING_UNFITTED</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_Set">FT_Stroker_Set</a></td><td><a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_APPLE_UNICODE</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Kerning_Mode">FT_KERNING_UNSCALED</a></td><td><a href="ft2-glyph_stroker.html#FT_StrokerBorder">FT_StrokerBorder</a></td><td><a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_CUSTOM</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Kerning_Mode">FT_Kerning_Mode</a></td><td><a href="ft2-base_interface.html#FT_SUBGLYPH_FLAG_XXX">FT_SUBGLYPH_FLAG_2X2</a></td><td><a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_ISO</a></td></tr>
+<tr><td><a href="ft2-lcd_filtering.html#FT_LcdFilter">FT_LCD_FILTER_DEFAULT</a></td><td><a href="ft2-base_interface.html#FT_SUBGLYPH_FLAG_XXX">FT_SUBGLYPH_FLAG_ARGS_ARE_WORDS</a></td><td><a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_MACINTOSH</a></td></tr>
+<tr><td><a href="ft2-header_file_macros.html#FT_LCD_FILTER_H">FT_LCD_FILTER_H</a></td><td><a href="ft2-base_interface.html#FT_SUBGLYPH_FLAG_XXX">FT_SUBGLYPH_FLAG_ARGS_ARE_XY_VALUES</a></td><td><a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_MICROSOFT</a></td></tr>
+<tr><td><a href="ft2-lcd_filtering.html#FT_LcdFilter">FT_LCD_FILTER_LEGACY</a></td><td><a href="ft2-base_interface.html#FT_SUBGLYPH_FLAG_XXX">FT_SUBGLYPH_FLAG_ROUND_XY_TO_GRID</a></td><td><a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_XXX</a></td></tr>
+<tr><td><a href="ft2-lcd_filtering.html#FT_LcdFilter">FT_LCD_FILTER_LIGHT</a></td><td><a href="ft2-base_interface.html#FT_SUBGLYPH_FLAG_XXX">FT_SUBGLYPH_FLAG_SCALE</a></td><td><a href="ft2-truetype_tables.html#TT_Postscript">TT_Postscript</a></td></tr>
+<tr><td><a href="ft2-lcd_filtering.html#FT_LcdFilter">FT_LCD_FILTER_NONE</a></td><td><a href="ft2-base_interface.html#FT_SUBGLYPH_FLAG_XXX">FT_SUBGLYPH_FLAG_USE_MY_METRICS</a></td><td><a href="ft2-truetype_tables.html#TT_VertHeader">TT_VertHeader</a></td></tr>
+<tr><td><a href="ft2-lcd_filtering.html#FT_LcdFilter">FT_LcdFilter</a></td><td><a href="ft2-base_interface.html#FT_SUBGLYPH_FLAG_XXX">FT_SUBGLYPH_FLAG_XXX</a></td><td><a href="ft2-auto_hinter.html#warping">warping</a></td></tr>
+<tr><td><a href="ft2-header_file_macros.html#FT_LIST_H">FT_LIST_H</a></td><td><a href="ft2-base_interface.html#FT_SUBGLYPH_FLAG_XXX">FT_SUBGLYPH_FLAG_XY_SCALE</a></td><td></td></tr>
<tr><td><a href="ft2-base_interface.html#FT_Library">FT_Library</a></td><td><a href="ft2-base_interface.html#FT_SubGlyph">FT_SubGlyph</a></td><td></td></tr>
</table>
<hr>
<table class="index-toc-link"><tr><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table>
-<div class="timestamp">generated on Sun Jun 7 16:13:05 2015</div></body>
+<div class="timestamp">generated on Sun Oct 4 08:21:03 2015</div></body>
</html>
diff --git a/lib/freetype/docs/reference/ft2-lcd_filtering.html b/lib/freetype/docs/reference/ft2-lcd_filtering.html
index 3d332b213..1f348d388 100644
--- a/lib/freetype/docs/reference/ft2-lcd_filtering.html
+++ b/lib/freetype/docs/reference/ft2-lcd_filtering.html
@@ -3,7 +3,7 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.6 API Reference</title>
+<title>FreeType-2.6.1 API Reference</title>
<style type="text/css">
a:link { color: #0000EF; }
a:visited { color: #51188E; }
@@ -100,7 +100,7 @@
<body>
<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table>
-<h1>FreeType-2.6 API Reference</h1>
+<h1>FreeType-2.6.1 API Reference</h1>
<h1>LCD Filtering</h1>
<h2>Synopsis</h2>
@@ -129,7 +129,7 @@
<div class="section">
<h3 id="FT_LcdFilter">FT_LcdFilter</h3>
-<p>Defined in FT_LCD_FILTER_H (ftlcdfil.h).</p>
+<p>Defined in FT_LCD_FILTER_H (freetype/ftlcdfil.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">enum</span> FT_LcdFilter_
{
@@ -170,7 +170,7 @@
<div class="section">
<h3 id="FT_Library_SetLcdFilter">FT_Library_SetLcdFilter</h3>
-<p>Defined in FT_LCD_FILTER_H (ftlcdfil.h).</p>
+<p>Defined in FT_LCD_FILTER_H (freetype/ftlcdfil.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
<b>FT_Library_SetLcdFilter</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library,
@@ -209,7 +209,7 @@
<div class="section">
<h3 id="FT_Library_SetLcdFilterWeights">FT_Library_SetLcdFilterWeights</h3>
-<p>Defined in FT_LCD_FILTER_H (ftlcdfil.h).</p>
+<p>Defined in FT_LCD_FILTER_H (freetype/ftlcdfil.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
<b>FT_Library_SetLcdFilterWeights</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library,
diff --git a/lib/freetype/docs/reference/ft2-list_processing.html b/lib/freetype/docs/reference/ft2-list_processing.html
index 4c34139ed..2bf07c493 100644
--- a/lib/freetype/docs/reference/ft2-list_processing.html
+++ b/lib/freetype/docs/reference/ft2-list_processing.html
@@ -3,7 +3,7 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.6 API Reference</title>
+<title>FreeType-2.6.1 API Reference</title>
<style type="text/css">
a:link { color: #0000EF; }
a:visited { color: #51188E; }
@@ -100,7 +100,7 @@
<body>
<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table>
-<h1>FreeType-2.6 API Reference</h1>
+<h1>FreeType-2.6.1 API Reference</h1>
<h1>List Processing</h1>
<h2>Synopsis</h2>
@@ -117,7 +117,7 @@
<div class="section">
<h3 id="FT_List">FT_List</h3>
-<p>Defined in FT_TYPES_H (fttypes.h).</p>
+<p>Defined in FT_TYPES_H (freetype/fttypes.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">struct</span> FT_ListRec_* <b>FT_List</b>;
</pre>
@@ -129,7 +129,7 @@
<div class="section">
<h3 id="FT_ListNode">FT_ListNode</h3>
-<p>Defined in FT_TYPES_H (fttypes.h).</p>
+<p>Defined in FT_TYPES_H (freetype/fttypes.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">struct</span> FT_ListNodeRec_* <b>FT_ListNode</b>;
</pre>
@@ -141,7 +141,7 @@
<div class="section">
<h3 id="FT_ListRec">FT_ListRec</h3>
-<p>Defined in FT_TYPES_H (fttypes.h).</p>
+<p>Defined in FT_TYPES_H (freetype/fttypes.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">struct</span> FT_ListRec_
{
@@ -168,7 +168,7 @@
<div class="section">
<h3 id="FT_ListNodeRec">FT_ListNodeRec</h3>
-<p>Defined in FT_TYPES_H (fttypes.h).</p>
+<p>Defined in FT_TYPES_H (freetype/fttypes.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">struct</span> FT_ListNodeRec_
{
@@ -199,7 +199,7 @@
<div class="section">
<h3 id="FT_List_Add">FT_List_Add</h3>
-<p>Defined in FT_LIST_H (ftlist.h).</p>
+<p>Defined in FT_LIST_H (freetype/ftlist.h).</p>
<pre>
FT_EXPORT( <span class="keyword">void</span> )
<b>FT_List_Add</b>( <a href="ft2-list_processing.html#FT_List">FT_List</a> list,
@@ -223,7 +223,7 @@
<div class="section">
<h3 id="FT_List_Insert">FT_List_Insert</h3>
-<p>Defined in FT_LIST_H (ftlist.h).</p>
+<p>Defined in FT_LIST_H (freetype/ftlist.h).</p>
<pre>
FT_EXPORT( <span class="keyword">void</span> )
<b>FT_List_Insert</b>( <a href="ft2-list_processing.html#FT_List">FT_List</a> list,
@@ -247,7 +247,7 @@
<div class="section">
<h3 id="FT_List_Find">FT_List_Find</h3>
-<p>Defined in FT_LIST_H (ftlist.h).</p>
+<p>Defined in FT_LIST_H (freetype/ftlist.h).</p>
<pre>
FT_EXPORT( <a href="ft2-list_processing.html#FT_ListNode">FT_ListNode</a> )
<b>FT_List_Find</b>( <a href="ft2-list_processing.html#FT_List">FT_List</a> list,
@@ -274,7 +274,7 @@
<div class="section">
<h3 id="FT_List_Remove">FT_List_Remove</h3>
-<p>Defined in FT_LIST_H (ftlist.h).</p>
+<p>Defined in FT_LIST_H (freetype/ftlist.h).</p>
<pre>
FT_EXPORT( <span class="keyword">void</span> )
<b>FT_List_Remove</b>( <a href="ft2-list_processing.html#FT_List">FT_List</a> list,
@@ -302,7 +302,7 @@
<div class="section">
<h3 id="FT_List_Up">FT_List_Up</h3>
-<p>Defined in FT_LIST_H (ftlist.h).</p>
+<p>Defined in FT_LIST_H (freetype/ftlist.h).</p>
<pre>
FT_EXPORT( <span class="keyword">void</span> )
<b>FT_List_Up</b>( <a href="ft2-list_processing.html#FT_List">FT_List</a> list,
@@ -326,7 +326,7 @@
<div class="section">
<h3 id="FT_List_Iterate">FT_List_Iterate</h3>
-<p>Defined in FT_LIST_H (ftlist.h).</p>
+<p>Defined in FT_LIST_H (freetype/ftlist.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
<b>FT_List_Iterate</b>( <a href="ft2-list_processing.html#FT_List">FT_List</a> list,
@@ -357,7 +357,7 @@
<div class="section">
<h3 id="FT_List_Iterator">FT_List_Iterator</h3>
-<p>Defined in FT_LIST_H (ftlist.h).</p>
+<p>Defined in FT_LIST_H (freetype/ftlist.h).</p>
<pre>
<span class="keyword">typedef</span> <a href="ft2-basic_types.html#FT_Error">FT_Error</a>
(*<b>FT_List_Iterator</b>)( <a href="ft2-list_processing.html#FT_ListNode">FT_ListNode</a> node,
@@ -381,7 +381,7 @@
<div class="section">
<h3 id="FT_List_Finalize">FT_List_Finalize</h3>
-<p>Defined in FT_LIST_H (ftlist.h).</p>
+<p>Defined in FT_LIST_H (freetype/ftlist.h).</p>
<pre>
FT_EXPORT( <span class="keyword">void</span> )
<b>FT_List_Finalize</b>( <a href="ft2-list_processing.html#FT_List">FT_List</a> list,
@@ -416,7 +416,7 @@
<div class="section">
<h3 id="FT_List_Destructor">FT_List_Destructor</h3>
-<p>Defined in FT_LIST_H (ftlist.h).</p>
+<p>Defined in FT_LIST_H (freetype/ftlist.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">void</span>
(*<b>FT_List_Destructor</b>)( <a href="ft2-system_interface.html#FT_Memory">FT_Memory</a> memory,
diff --git a/lib/freetype/docs/reference/ft2-lzw.html b/lib/freetype/docs/reference/ft2-lzw.html
index 285c288fd..12e4f19ed 100644
--- a/lib/freetype/docs/reference/ft2-lzw.html
+++ b/lib/freetype/docs/reference/ft2-lzw.html
@@ -3,7 +3,7 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.6 API Reference</title>
+<title>FreeType-2.6.1 API Reference</title>
<style type="text/css">
a:link { color: #0000EF; }
a:visited { color: #51188E; }
@@ -100,7 +100,7 @@
<body>
<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table>
-<h1>FreeType-2.6 API Reference</h1>
+<h1>FreeType-2.6.1 API Reference</h1>
<h1>LZW Streams</h1>
<h2>Synopsis</h2>
@@ -113,7 +113,7 @@
<div class="section">
<h3 id="FT_Stream_OpenLZW">FT_Stream_OpenLZW</h3>
-<p>Defined in FT_LZW_H (ftlzw.h).</p>
+<p>Defined in FT_LZW_H (freetype/ftlzw.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
<b>FT_Stream_OpenLZW</b>( <a href="ft2-system_interface.html#FT_Stream">FT_Stream</a> stream,
diff --git a/lib/freetype/docs/reference/ft2-mac_specific.html b/lib/freetype/docs/reference/ft2-mac_specific.html
index 91806f613..8352f0c1f 100644
--- a/lib/freetype/docs/reference/ft2-mac_specific.html
+++ b/lib/freetype/docs/reference/ft2-mac_specific.html
@@ -3,7 +3,7 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.6 API Reference</title>
+<title>FreeType-2.6.1 API Reference</title>
<style type="text/css">
a:link { color: #0000EF; }
a:visited { color: #51188E; }
@@ -100,7 +100,7 @@
<body>
<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table>
-<h1>FreeType-2.6 API Reference</h1>
+<h1>FreeType-2.6.1 API Reference</h1>
<h1>Mac Specific Interface</h1>
<h2>Synopsis</h2>
@@ -115,7 +115,7 @@
<div class="section">
<h3 id="FT_New_Face_From_FOND">FT_New_Face_From_FOND</h3>
-<p>Defined in FT_MAC_H (ftmac.h).</p>
+<p>Defined in FT_MAC_H (freetype/ftmac.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
<b>FT_New_Face_From_FOND</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library,
@@ -166,7 +166,7 @@
<div class="section">
<h3 id="FT_GetFile_From_Mac_Name">FT_GetFile_From_Mac_Name</h3>
-<p>Defined in FT_MAC_H (ftmac.h).</p>
+<p>Defined in FT_MAC_H (freetype/ftmac.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
<b>FT_GetFile_From_Mac_Name</b>( <span class="keyword">const</span> <span class="keyword">char</span>* fontName,
@@ -202,7 +202,7 @@
<div class="section">
<h3 id="FT_GetFile_From_Mac_ATS_Name">FT_GetFile_From_Mac_ATS_Name</h3>
-<p>Defined in FT_MAC_H (ftmac.h).</p>
+<p>Defined in FT_MAC_H (freetype/ftmac.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
<b>FT_GetFile_From_Mac_ATS_Name</b>( <span class="keyword">const</span> <span class="keyword">char</span>* fontName,
@@ -238,7 +238,7 @@
<div class="section">
<h3 id="FT_GetFilePath_From_Mac_ATS_Name">FT_GetFilePath_From_Mac_ATS_Name</h3>
-<p>Defined in FT_MAC_H (ftmac.h).</p>
+<p>Defined in FT_MAC_H (freetype/ftmac.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
<b>FT_GetFilePath_From_Mac_ATS_Name</b>( <span class="keyword">const</span> <span class="keyword">char</span>* fontName,
@@ -278,7 +278,7 @@
<div class="section">
<h3 id="FT_New_Face_From_FSSpec">FT_New_Face_From_FSSpec</h3>
-<p>Defined in FT_MAC_H (ftmac.h).</p>
+<p>Defined in FT_MAC_H (freetype/ftmac.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
<b>FT_New_Face_From_FSSpec</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library,
@@ -325,7 +325,7 @@
<div class="section">
<h3 id="FT_New_Face_From_FSRef">FT_New_Face_From_FSRef</h3>
-<p>Defined in FT_MAC_H (ftmac.h).</p>
+<p>Defined in FT_MAC_H (freetype/ftmac.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
<b>FT_New_Face_From_FSRef</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library,
diff --git a/lib/freetype/docs/reference/ft2-module_management.html b/lib/freetype/docs/reference/ft2-module_management.html
index 12babd915..46c721fe9 100644
--- a/lib/freetype/docs/reference/ft2-module_management.html
+++ b/lib/freetype/docs/reference/ft2-module_management.html
@@ -3,7 +3,7 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.6 API Reference</title>
+<title>FreeType-2.6.1 API Reference</title>
<style type="text/css">
a:link { color: #0000EF; }
a:visited { color: #51188E; }
@@ -100,7 +100,7 @@
<body>
<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table>
-<h1>FreeType-2.6 API Reference</h1>
+<h1>FreeType-2.6.1 API Reference</h1>
<h1>Module Management</h1>
<h2>Synopsis</h2>
@@ -130,7 +130,7 @@
psaux
pshinter
psnames
- raster1, raster5
+ raster1
sfnt
smooth, smooth-lcd, smooth-lcdv
truetype
@@ -143,7 +143,7 @@
<div class="section">
<h3 id="FT_Module">FT_Module</h3>
-<p>Defined in FT_FREETYPE_H (freetype.h).</p>
+<p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">struct</span> FT_ModuleRec_* <b>FT_Module</b>;
</pre>
@@ -155,7 +155,7 @@
<div class="section">
<h3 id="FT_Module_Constructor">FT_Module_Constructor</h3>
-<p>Defined in FT_MODULE_H (ftmodapi.h).</p>
+<p>Defined in FT_MODULE_H (freetype/ftmodapi.h).</p>
<pre>
<span class="keyword">typedef</span> <a href="ft2-basic_types.html#FT_Error">FT_Error</a>
(*<b>FT_Module_Constructor</b>)( <a href="ft2-module_management.html#FT_Module">FT_Module</a> module );
@@ -175,7 +175,7 @@
<div class="section">
<h3 id="FT_Module_Destructor">FT_Module_Destructor</h3>
-<p>Defined in FT_MODULE_H (ftmodapi.h).</p>
+<p>Defined in FT_MODULE_H (freetype/ftmodapi.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">void</span>
(*<b>FT_Module_Destructor</b>)( <a href="ft2-module_management.html#FT_Module">FT_Module</a> module );
@@ -195,7 +195,7 @@
<div class="section">
<h3 id="FT_Module_Requester">FT_Module_Requester</h3>
-<p>Defined in FT_MODULE_H (ftmodapi.h).</p>
+<p>Defined in FT_MODULE_H (freetype/ftmodapi.h).</p>
<pre>
<span class="keyword">typedef</span> FT_Module_Interface
(*<b>FT_Module_Requester</b>)( <a href="ft2-module_management.html#FT_Module">FT_Module</a> module,
@@ -219,7 +219,7 @@
<div class="section">
<h3 id="FT_Module_Class">FT_Module_Class</h3>
-<p>Defined in FT_MODULE_H (ftmodapi.h).</p>
+<p>Defined in FT_MODULE_H (freetype/ftmodapi.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Module_Class_
{
@@ -273,7 +273,7 @@
<div class="section">
<h3 id="FT_Add_Module">FT_Add_Module</h3>
-<p>Defined in FT_MODULE_H (ftmodapi.h).</p>
+<p>Defined in FT_MODULE_H (freetype/ftmodapi.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
<b>FT_Add_Module</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library,
@@ -307,7 +307,7 @@
<div class="section">
<h3 id="FT_Get_Module">FT_Get_Module</h3>
-<p>Defined in FT_MODULE_H (ftmodapi.h).</p>
+<p>Defined in FT_MODULE_H (freetype/ftmodapi.h).</p>
<pre>
FT_EXPORT( <a href="ft2-module_management.html#FT_Module">FT_Module</a> )
<b>FT_Get_Module</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library,
@@ -337,7 +337,7 @@
<div class="section">
<h3 id="FT_Remove_Module">FT_Remove_Module</h3>
-<p>Defined in FT_MODULE_H (ftmodapi.h).</p>
+<p>Defined in FT_MODULE_H (freetype/ftmodapi.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
<b>FT_Remove_Module</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library,
@@ -371,7 +371,7 @@
<div class="section">
<h3 id="FT_Add_Default_Modules">FT_Add_Default_Modules</h3>
-<p>Defined in FT_MODULE_H (ftmodapi.h).</p>
+<p>Defined in FT_MODULE_H (freetype/ftmodapi.h).</p>
<pre>
FT_EXPORT( <span class="keyword">void</span> )
<b>FT_Add_Default_Modules</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library );
@@ -391,7 +391,7 @@
<div class="section">
<h3 id="FT_Property_Set">FT_Property_Set</h3>
-<p>Defined in FT_MODULE_H (ftmodapi.h).</p>
+<p>Defined in FT_MODULE_H (freetype/ftmodapi.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
<b>FT_Property_Set</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library,
@@ -443,7 +443,7 @@
<div class="section">
<h3 id="FT_Property_Get">FT_Property_Get</h3>
-<p>Defined in FT_MODULE_H (ftmodapi.h).</p>
+<p>Defined in FT_MODULE_H (freetype/ftmodapi.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
<b>FT_Property_Get</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library,
@@ -503,7 +503,7 @@
<div class="section">
<h3 id="FT_New_Library">FT_New_Library</h3>
-<p>Defined in FT_MODULE_H (ftmodapi.h).</p>
+<p>Defined in FT_MODULE_H (freetype/ftmodapi.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
<b>FT_New_Library</b>( <a href="ft2-system_interface.html#FT_Memory">FT_Memory</a> memory,
@@ -539,7 +539,7 @@
<div class="section">
<h3 id="FT_Done_Library">FT_Done_Library</h3>
-<p>Defined in FT_MODULE_H (ftmodapi.h).</p>
+<p>Defined in FT_MODULE_H (freetype/ftmodapi.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
<b>FT_Done_Library</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library );
@@ -565,7 +565,7 @@
<div class="section">
<h3 id="FT_Reference_Library">FT_Reference_Library</h3>
-<p>Defined in FT_MODULE_H (ftmodapi.h).</p>
+<p>Defined in FT_MODULE_H (freetype/ftmodapi.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
<b>FT_Reference_Library</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library );
@@ -592,7 +592,7 @@
<div class="section">
<h3 id="FT_Renderer">FT_Renderer</h3>
-<p>Defined in FT_FREETYPE_H (freetype.h).</p>
+<p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">struct</span> FT_RendererRec_* <b>FT_Renderer</b>;
</pre>
@@ -604,7 +604,7 @@
<div class="section">
<h3 id="FT_Renderer_Class">FT_Renderer_Class</h3>
-<p>Defined in FT_RENDER_H (ftrender.h).</p>
+<p>Defined in FT_RENDER_H (freetype/ftrender.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Renderer_Class_
{
@@ -654,7 +654,7 @@
<div class="section">
<h3 id="FT_Get_Renderer">FT_Get_Renderer</h3>
-<p>Defined in FT_RENDER_H (ftrender.h).</p>
+<p>Defined in FT_RENDER_H (freetype/ftrender.h).</p>
<pre>
FT_EXPORT( <a href="ft2-module_management.html#FT_Renderer">FT_Renderer</a> )
<b>FT_Get_Renderer</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library,
@@ -685,7 +685,7 @@
<div class="section">
<h3 id="FT_Set_Renderer">FT_Set_Renderer</h3>
-<p>Defined in FT_RENDER_H (ftrender.h).</p>
+<p>Defined in FT_RENDER_H (freetype/ftrender.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
<b>FT_Set_Renderer</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library,
@@ -729,7 +729,7 @@
<div class="section">
<h3 id="FT_Set_Debug_Hook">FT_Set_Debug_Hook</h3>
-<p>Defined in FT_MODULE_H (ftmodapi.h).</p>
+<p>Defined in FT_MODULE_H (freetype/ftmodapi.h).</p>
<pre>
FT_EXPORT( <span class="keyword">void</span> )
<b>FT_Set_Debug_Hook</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library,
@@ -765,7 +765,7 @@
<div class="section">
<h3 id="FT_Driver">FT_Driver</h3>
-<p>Defined in FT_FREETYPE_H (freetype.h).</p>
+<p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">struct</span> FT_DriverRec_* <b>FT_Driver</b>;
</pre>
diff --git a/lib/freetype/docs/reference/ft2-multiple_masters.html b/lib/freetype/docs/reference/ft2-multiple_masters.html
index 75c047ecb..eb5a34da3 100644
--- a/lib/freetype/docs/reference/ft2-multiple_masters.html
+++ b/lib/freetype/docs/reference/ft2-multiple_masters.html
@@ -3,7 +3,7 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.6 API Reference</title>
+<title>FreeType-2.6.1 API Reference</title>
<style type="text/css">
a:link { color: #0000EF; }
a:visited { color: #51188E; }
@@ -100,7 +100,7 @@
<body>
<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table>
-<h1>FreeType-2.6 API Reference</h1>
+<h1>FreeType-2.6.1 API Reference</h1>
<h1>Multiple Masters</h1>
<h2>Synopsis</h2>
@@ -119,7 +119,7 @@
<div class="section">
<h3 id="FT_MM_Axis">FT_MM_Axis</h3>
-<p>Defined in FT_MULTIPLE_MASTERS_H (ftmm.h).</p>
+<p>Defined in FT_MULTIPLE_MASTERS_H (freetype/ftmm.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">struct</span> FT_MM_Axis_
{
@@ -151,7 +151,7 @@
<div class="section">
<h3 id="FT_Multi_Master">FT_Multi_Master</h3>
-<p>Defined in FT_MULTIPLE_MASTERS_H (ftmm.h).</p>
+<p>Defined in FT_MULTIPLE_MASTERS_H (freetype/ftmm.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Multi_Master_
{
@@ -183,7 +183,7 @@
<div class="section">
<h3 id="FT_Var_Axis">FT_Var_Axis</h3>
-<p>Defined in FT_MULTIPLE_MASTERS_H (ftmm.h).</p>
+<p>Defined in FT_MULTIPLE_MASTERS_H (freetype/ftmm.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Var_Axis_
{
@@ -228,7 +228,7 @@
<div class="section">
<h3 id="FT_Var_Named_Style">FT_Var_Named_Style</h3>
-<p>Defined in FT_MULTIPLE_MASTERS_H (ftmm.h).</p>
+<p>Defined in FT_MULTIPLE_MASTERS_H (freetype/ftmm.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Var_Named_Style_
{
@@ -256,7 +256,7 @@
<div class="section">
<h3 id="FT_MM_Var">FT_MM_Var</h3>
-<p>Defined in FT_MULTIPLE_MASTERS_H (ftmm.h).</p>
+<p>Defined in FT_MULTIPLE_MASTERS_H (freetype/ftmm.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">struct</span> FT_MM_Var_
{
@@ -296,7 +296,7 @@
<div class="section">
<h3 id="FT_Get_Multi_Master">FT_Get_Multi_Master</h3>
-<p>Defined in FT_MULTIPLE_MASTERS_H (ftmm.h).</p>
+<p>Defined in FT_MULTIPLE_MASTERS_H (freetype/ftmm.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
<b>FT_Get_Multi_Master</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face,
@@ -328,7 +328,7 @@
<div class="section">
<h3 id="FT_Get_MM_Var">FT_Get_MM_Var</h3>
-<p>Defined in FT_MULTIPLE_MASTERS_H (ftmm.h).</p>
+<p>Defined in FT_MULTIPLE_MASTERS_H (freetype/ftmm.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
<b>FT_Get_MM_Var</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face,
@@ -359,7 +359,7 @@
<div class="section">
<h3 id="FT_Set_MM_Design_Coordinates">FT_Set_MM_Design_Coordinates</h3>
-<p>Defined in FT_MULTIPLE_MASTERS_H (ftmm.h).</p>
+<p>Defined in FT_MULTIPLE_MASTERS_H (freetype/ftmm.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
<b>FT_Set_MM_Design_Coordinates</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face,
@@ -395,7 +395,7 @@
<div class="section">
<h3 id="FT_Set_Var_Design_Coordinates">FT_Set_Var_Design_Coordinates</h3>
-<p>Defined in FT_MULTIPLE_MASTERS_H (ftmm.h).</p>
+<p>Defined in FT_MULTIPLE_MASTERS_H (freetype/ftmm.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
<b>FT_Set_Var_Design_Coordinates</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face,
@@ -430,7 +430,7 @@
<div class="section">
<h3 id="FT_Set_MM_Blend_Coordinates">FT_Set_MM_Blend_Coordinates</h3>
-<p>Defined in FT_MULTIPLE_MASTERS_H (ftmm.h).</p>
+<p>Defined in FT_MULTIPLE_MASTERS_H (freetype/ftmm.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
<b>FT_Set_MM_Blend_Coordinates</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face,
@@ -465,7 +465,7 @@
<div class="section">
<h3 id="FT_Set_Var_Blend_Coordinates">FT_Set_Var_Blend_Coordinates</h3>
-<p>Defined in FT_MULTIPLE_MASTERS_H (ftmm.h).</p>
+<p>Defined in FT_MULTIPLE_MASTERS_H (freetype/ftmm.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
<b>FT_Set_Var_Blend_Coordinates</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face,
diff --git a/lib/freetype/docs/reference/ft2-ot_validation.html b/lib/freetype/docs/reference/ft2-ot_validation.html
index 220b69a8c..fec18ea3c 100644
--- a/lib/freetype/docs/reference/ft2-ot_validation.html
+++ b/lib/freetype/docs/reference/ft2-ot_validation.html
@@ -3,7 +3,7 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.6 API Reference</title>
+<title>FreeType-2.6.1 API Reference</title>
<style type="text/css">
a:link { color: #0000EF; }
a:visited { color: #51188E; }
@@ -100,7 +100,7 @@
<body>
<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table>
-<h1>FreeType-2.6 API Reference</h1>
+<h1>FreeType-2.6.1 API Reference</h1>
<h1>OpenType Validation</h1>
<h2>Synopsis</h2>
@@ -114,7 +114,7 @@
<div class="section">
<h3 id="FT_OpenType_Validate">FT_OpenType_Validate</h3>
-<p>Defined in FT_OPENTYPE_VALIDATE_H (ftotval.h).</p>
+<p>Defined in FT_OPENTYPE_VALIDATE_H (freetype/ftotval.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
<b>FT_OpenType_Validate</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face,
@@ -169,7 +169,7 @@
<div class="section">
<h3 id="FT_OpenType_Free">FT_OpenType_Free</h3>
-<p>Defined in FT_OPENTYPE_VALIDATE_H (ftotval.h).</p>
+<p>Defined in FT_OPENTYPE_VALIDATE_H (freetype/ftotval.h).</p>
<pre>
FT_EXPORT( <span class="keyword">void</span> )
<b>FT_OpenType_Free</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face,
@@ -196,7 +196,7 @@
<div class="section">
<h3 id="FT_VALIDATE_OTXXX">FT_VALIDATE_OTXXX</h3>
-<p>Defined in FT_OPENTYPE_VALIDATE_H (ftotval.h).</p>
+<p>Defined in FT_OPENTYPE_VALIDATE_H (freetype/ftotval.h).</p>
<pre>
#define <a href="ft2-ot_validation.html#FT_VALIDATE_BASE">FT_VALIDATE_BASE</a> 0x0100
#define <a href="ft2-ot_validation.html#FT_VALIDATE_GDEF">FT_VALIDATE_GDEF</a> 0x0200
diff --git a/lib/freetype/docs/reference/ft2-outline_processing.html b/lib/freetype/docs/reference/ft2-outline_processing.html
index bc119cee5..33e2b66ab 100644
--- a/lib/freetype/docs/reference/ft2-outline_processing.html
+++ b/lib/freetype/docs/reference/ft2-outline_processing.html
@@ -3,7 +3,7 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.6 API Reference</title>
+<title>FreeType-2.6.1 API Reference</title>
<style type="text/css">
a:link { color: #0000EF; }
a:visited { color: #51188E; }
@@ -100,7 +100,7 @@
<body>
<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table>
-<h1>FreeType-2.6 API Reference</h1>
+<h1>FreeType-2.6.1 API Reference</h1>
<h1>Outline Processing</h1>
<h2>Synopsis</h2>
@@ -126,7 +126,7 @@
<div class="section">
<h3 id="FT_Outline">FT_Outline</h3>
-<p>Defined in FT_IMAGE_H (ftimage.h).</p>
+<p>Defined in FT_IMAGE_H (freetype/ftimage.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Outline_
{
@@ -178,7 +178,7 @@
<div class="section">
<h3 id="FT_Outline_New">FT_Outline_New</h3>
-<p>Defined in FT_OUTLINE_H (ftoutln.h).</p>
+<p>Defined in FT_OUTLINE_H (freetype/ftoutln.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
<b>FT_Outline_New</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library,
@@ -227,7 +227,7 @@
<div class="section">
<h3 id="FT_Outline_Done">FT_Outline_Done</h3>
-<p>Defined in FT_OUTLINE_H (ftoutln.h).</p>
+<p>Defined in FT_OUTLINE_H (freetype/ftoutln.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
<b>FT_Outline_Done</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library,
@@ -263,7 +263,7 @@
<div class="section">
<h3 id="FT_Outline_Copy">FT_Outline_Copy</h3>
-<p>Defined in FT_OUTLINE_H (ftoutln.h).</p>
+<p>Defined in FT_OUTLINE_H (freetype/ftoutln.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
<b>FT_Outline_Copy</b>( <span class="keyword">const</span> <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a>* source,
@@ -294,7 +294,7 @@
<div class="section">
<h3 id="FT_Outline_Translate">FT_Outline_Translate</h3>
-<p>Defined in FT_OUTLINE_H (ftoutln.h).</p>
+<p>Defined in FT_OUTLINE_H (freetype/ftoutln.h).</p>
<pre>
FT_EXPORT( <span class="keyword">void</span> )
<b>FT_Outline_Translate</b>( <span class="keyword">const</span> <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a>* outline,
@@ -326,7 +326,7 @@
<div class="section">
<h3 id="FT_Outline_Transform">FT_Outline_Transform</h3>
-<p>Defined in FT_OUTLINE_H (ftoutln.h).</p>
+<p>Defined in FT_OUTLINE_H (freetype/ftoutln.h).</p>
<pre>
FT_EXPORT( <span class="keyword">void</span> )
<b>FT_Outline_Transform</b>( <span class="keyword">const</span> <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a>* outline,
@@ -357,7 +357,7 @@
<div class="section">
<h3 id="FT_Outline_Embolden">FT_Outline_Embolden</h3>
-<p>Defined in FT_OUTLINE_H (ftoutln.h).</p>
+<p>Defined in FT_OUTLINE_H (freetype/ftoutln.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
<b>FT_Outline_Embolden</b>( <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a>* outline,
@@ -390,8 +390,8 @@
<p>Example call:</p>
<pre class="colored">
FT_Load_Glyph( face, index, FT_LOAD_DEFAULT );
- if ( face-&gt;slot-&gt;format == FT_GLYPH_FORMAT_OUTLINE )
- FT_Outline_Embolden( &amp;face-&gt;slot-&gt;outline, strength );
+ if ( face-&gt;glyph-&gt;format == FT_GLYPH_FORMAT_OUTLINE )
+ FT_Outline_Embolden( &amp;face-&gt;glyph-&gt;outline, strength );
</pre>
<p>To get meaningful results, font scaling values must be set with functions like <a href="ft2-base_interface.html#FT_Set_Char_Size">FT_Set_Char_Size</a> before calling FT_Render_Glyph.</p>
@@ -400,7 +400,7 @@
<div class="section">
<h3 id="FT_Outline_EmboldenXY">FT_Outline_EmboldenXY</h3>
-<p>Defined in FT_OUTLINE_H (ftoutln.h).</p>
+<p>Defined in FT_OUTLINE_H (freetype/ftoutln.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
<b>FT_Outline_EmboldenXY</b>( <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a>* outline,
@@ -415,7 +415,7 @@
<div class="section">
<h3 id="FT_Outline_Reverse">FT_Outline_Reverse</h3>
-<p>Defined in FT_OUTLINE_H (ftoutln.h).</p>
+<p>Defined in FT_OUTLINE_H (freetype/ftoutln.h).</p>
<pre>
FT_EXPORT( <span class="keyword">void</span> )
<b>FT_Outline_Reverse</b>( <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a>* outline );
@@ -439,7 +439,7 @@
<div class="section">
<h3 id="FT_Outline_Check">FT_Outline_Check</h3>
-<p>Defined in FT_OUTLINE_H (ftoutln.h).</p>
+<p>Defined in FT_OUTLINE_H (freetype/ftoutln.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
<b>FT_Outline_Check</b>( <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a>* outline );
@@ -462,7 +462,7 @@
<div class="section">
<h3 id="FT_Outline_Get_CBox">FT_Outline_Get_CBox</h3>
-<p>Defined in FT_OUTLINE_H (ftoutln.h).</p>
+<p>Defined in FT_OUTLINE_H (freetype/ftoutln.h).</p>
<pre>
FT_EXPORT( <span class="keyword">void</span> )
<b>FT_Outline_Get_CBox</b>( <span class="keyword">const</span> <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a>* outline,
@@ -494,7 +494,7 @@
<div class="section">
<h3 id="FT_Outline_Get_BBox">FT_Outline_Get_BBox</h3>
-<p>Defined in FT_BBOX_H (ftbbox.h).</p>
+<p>Defined in FT_BBOX_H (freetype/ftbbox.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
<b>FT_Outline_Get_BBox</b>( <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a>* outline,
@@ -528,7 +528,7 @@
<div class="section">
<h3 id="FT_Outline_Get_Bitmap">FT_Outline_Get_Bitmap</h3>
-<p>Defined in FT_OUTLINE_H (ftoutln.h).</p>
+<p>Defined in FT_OUTLINE_H (freetype/ftoutln.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
<b>FT_Outline_Get_Bitmap</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library,
@@ -568,7 +568,7 @@
<div class="section">
<h3 id="FT_Outline_Render">FT_Outline_Render</h3>
-<p>Defined in FT_OUTLINE_H (ftoutln.h).</p>
+<p>Defined in FT_OUTLINE_H (freetype/ftoutln.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
<b>FT_Outline_Render</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library,
@@ -608,7 +608,7 @@
<div class="section">
<h3 id="FT_Outline_Decompose">FT_Outline_Decompose</h3>
-<p>Defined in FT_OUTLINE_H (ftoutln.h).</p>
+<p>Defined in FT_OUTLINE_H (freetype/ftoutln.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
<b>FT_Outline_Decompose</b>( <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a>* outline,
@@ -646,7 +646,7 @@
<div class="section">
<h3 id="FT_Outline_Funcs">FT_Outline_Funcs</h3>
-<p>Defined in FT_IMAGE_H (ftimage.h).</p>
+<p>Defined in FT_IMAGE_H (freetype/ftimage.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Outline_Funcs_
{
@@ -698,7 +698,7 @@
<div class="section">
<h3 id="FT_Outline_MoveToFunc">FT_Outline_MoveToFunc</h3>
-<p>Defined in FT_IMAGE_H (ftimage.h).</p>
+<p>Defined in FT_IMAGE_H (freetype/ftimage.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">int</span>
(*<b>FT_Outline_MoveToFunc</b>)( <span class="keyword">const</span> <a href="ft2-basic_types.html#FT_Vector">FT_Vector</a>* to,
@@ -728,7 +728,7 @@
<div class="section">
<h3 id="FT_Outline_LineToFunc">FT_Outline_LineToFunc</h3>
-<p>Defined in FT_IMAGE_H (ftimage.h).</p>
+<p>Defined in FT_IMAGE_H (freetype/ftimage.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">int</span>
(*<b>FT_Outline_LineToFunc</b>)( <span class="keyword">const</span> <a href="ft2-basic_types.html#FT_Vector">FT_Vector</a>* to,
@@ -758,7 +758,7 @@
<div class="section">
<h3 id="FT_Outline_ConicToFunc">FT_Outline_ConicToFunc</h3>
-<p>Defined in FT_IMAGE_H (ftimage.h).</p>
+<p>Defined in FT_IMAGE_H (freetype/ftimage.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">int</span>
(*<b>FT_Outline_ConicToFunc</b>)( <span class="keyword">const</span> <a href="ft2-basic_types.html#FT_Vector">FT_Vector</a>* control,
@@ -792,7 +792,7 @@
<div class="section">
<h3 id="FT_Outline_CubicToFunc">FT_Outline_CubicToFunc</h3>
-<p>Defined in FT_IMAGE_H (ftimage.h).</p>
+<p>Defined in FT_IMAGE_H (freetype/ftimage.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">int</span>
(*<b>FT_Outline_CubicToFunc</b>)( <span class="keyword">const</span> <a href="ft2-basic_types.html#FT_Vector">FT_Vector</a>* control1,
@@ -830,7 +830,7 @@
<div class="section">
<h3 id="FT_Orientation">FT_Orientation</h3>
-<p>Defined in FT_OUTLINE_H (ftoutln.h).</p>
+<p>Defined in FT_OUTLINE_H (freetype/ftoutln.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">enum</span> FT_Orientation_
{
@@ -870,7 +870,7 @@
<div class="section">
<h3 id="FT_Outline_Get_Orientation">FT_Outline_Get_Orientation</h3>
-<p>Defined in FT_OUTLINE_H (ftoutln.h).</p>
+<p>Defined in FT_OUTLINE_H (freetype/ftoutln.h).</p>
<pre>
FT_EXPORT( <a href="ft2-outline_processing.html#FT_Orientation">FT_Orientation</a> )
<b>FT_Outline_Get_Orientation</b>( <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a>* outline );
@@ -894,7 +894,7 @@
<div class="section">
<h3 id="FT_OUTLINE_XXX">FT_OUTLINE_XXX</h3>
-<p>Defined in FT_IMAGE_H (ftimage.h).</p>
+<p>Defined in FT_IMAGE_H (freetype/ftimage.h).</p>
<pre>
#define <a href="ft2-outline_processing.html#FT_OUTLINE_NONE">FT_OUTLINE_NONE</a> 0x0
#define <a href="ft2-outline_processing.html#FT_OUTLINE_OWNER">FT_OUTLINE_OWNER</a> 0x1
diff --git a/lib/freetype/docs/reference/ft2-pfr_fonts.html b/lib/freetype/docs/reference/ft2-pfr_fonts.html
index 54496ca0d..b41125072 100644
--- a/lib/freetype/docs/reference/ft2-pfr_fonts.html
+++ b/lib/freetype/docs/reference/ft2-pfr_fonts.html
@@ -3,7 +3,7 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.6 API Reference</title>
+<title>FreeType-2.6.1 API Reference</title>
<style type="text/css">
a:link { color: #0000EF; }
a:visited { color: #51188E; }
@@ -100,7 +100,7 @@
<body>
<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table>
-<h1>FreeType-2.6 API Reference</h1>
+<h1>FreeType-2.6.1 API Reference</h1>
<h1>PFR Fonts</h1>
<h2>Synopsis</h2>
@@ -113,7 +113,7 @@
<div class="section">
<h3 id="FT_Get_PFR_Metrics">FT_Get_PFR_Metrics</h3>
-<p>Defined in FT_PFR_H (ftpfr.h).</p>
+<p>Defined in FT_PFR_H (freetype/ftpfr.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
<b>FT_Get_PFR_Metrics</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face,
@@ -159,7 +159,7 @@
<div class="section">
<h3 id="FT_Get_PFR_Kerning">FT_Get_PFR_Kerning</h3>
-<p>Defined in FT_PFR_H (ftpfr.h).</p>
+<p>Defined in FT_PFR_H (freetype/ftpfr.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
<b>FT_Get_PFR_Kerning</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face,
@@ -202,7 +202,7 @@
<div class="section">
<h3 id="FT_Get_PFR_Advance">FT_Get_PFR_Advance</h3>
-<p>Defined in FT_PFR_H (ftpfr.h).</p>
+<p>Defined in FT_PFR_H (freetype/ftpfr.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
<b>FT_Get_PFR_Advance</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face,
diff --git a/lib/freetype/docs/reference/ft2-quick_advance.html b/lib/freetype/docs/reference/ft2-quick_advance.html
index f48e042af..89f866c82 100644
--- a/lib/freetype/docs/reference/ft2-quick_advance.html
+++ b/lib/freetype/docs/reference/ft2-quick_advance.html
@@ -3,7 +3,7 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.6 API Reference</title>
+<title>FreeType-2.6.1 API Reference</title>
<style type="text/css">
a:link { color: #0000EF; }
a:visited { color: #51188E; }
@@ -100,7 +100,7 @@
<body>
<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table>
-<h1>FreeType-2.6 API Reference</h1>
+<h1>FreeType-2.6.1 API Reference</h1>
<h1>Quick retrieval of advance values</h1>
<h2>Synopsis</h2>
@@ -114,7 +114,7 @@
<div class="section">
<h3 id="FT_Get_Advance">FT_Get_Advance</h3>
-<p>Defined in FT_ADVANCES_H (ftadvanc.h).</p>
+<p>Defined in FT_ADVANCES_H (freetype/ftadvanc.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
<b>FT_Get_Advance</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face,
@@ -158,7 +158,7 @@
<div class="section">
<h3 id="FT_Get_Advances">FT_Get_Advances</h3>
-<p>Defined in FT_ADVANCES_H (ftadvanc.h).</p>
+<p>Defined in FT_ADVANCES_H (freetype/ftadvanc.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
<b>FT_Get_Advances</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face,
@@ -207,7 +207,7 @@
<div class="section">
<h3 id="FT_ADVANCE_FLAG_FAST_ONLY">FT_ADVANCE_FLAG_FAST_ONLY</h3>
-<p>Defined in FT_ADVANCES_H (ftadvanc.h).</p>
+<p>Defined in FT_ADVANCES_H (freetype/ftadvanc.h).</p>
<pre>
#define <b>FT_ADVANCE_FLAG_FAST_ONLY</b> 0x20000000L
</pre>
diff --git a/lib/freetype/docs/reference/ft2-raster.html b/lib/freetype/docs/reference/ft2-raster.html
index 4cfa7b14f..4dd82261c 100644
--- a/lib/freetype/docs/reference/ft2-raster.html
+++ b/lib/freetype/docs/reference/ft2-raster.html
@@ -3,7 +3,7 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.6 API Reference</title>
+<title>FreeType-2.6.1 API Reference</title>
<style type="text/css">
a:link { color: #0000EF; }
a:visited { color: #51188E; }
@@ -100,7 +100,7 @@
<body>
<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table>
-<h1>FreeType-2.6 API Reference</h1>
+<h1>FreeType-2.6.1 API Reference</h1>
<h1>Scanline Converter</h1>
<h2>Synopsis</h2>
@@ -118,7 +118,7 @@
<div class="section">
<h3 id="FT_Raster">FT_Raster</h3>
-<p>Defined in FT_IMAGE_H (ftimage.h).</p>
+<p>Defined in FT_IMAGE_H (freetype/ftimage.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">struct</span> FT_RasterRec_* <b>FT_Raster</b>;
</pre>
@@ -130,7 +130,7 @@
<div class="section">
<h3 id="FT_Span">FT_Span</h3>
-<p>Defined in FT_IMAGE_H (ftimage.h).</p>
+<p>Defined in FT_IMAGE_H (freetype/ftimage.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Span_
{
@@ -165,7 +165,7 @@
<div class="section">
<h3 id="FT_SpanFunc">FT_SpanFunc</h3>
-<p>Defined in FT_IMAGE_H (ftimage.h).</p>
+<p>Defined in FT_IMAGE_H (freetype/ftimage.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">void</span>
(*<b>FT_SpanFunc</b>)( <span class="keyword">int</span> y,
@@ -205,7 +205,7 @@
<div class="section">
<h3 id="FT_Raster_Params">FT_Raster_Params</h3>
-<p>Defined in FT_IMAGE_H (ftimage.h).</p>
+<p>Defined in FT_IMAGE_H (freetype/ftimage.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Raster_Params_
{
@@ -264,7 +264,7 @@
<div class="section">
<h3 id="FT_RASTER_FLAG_XXX">FT_RASTER_FLAG_XXX</h3>
-<p>Defined in FT_IMAGE_H (ftimage.h).</p>
+<p>Defined in FT_IMAGE_H (freetype/ftimage.h).</p>
<pre>
#define <a href="ft2-raster.html#FT_RASTER_FLAG_DEFAULT">FT_RASTER_FLAG_DEFAULT</a> 0x0
#define <a href="ft2-raster.html#FT_RASTER_FLAG_AA">FT_RASTER_FLAG_AA</a> 0x1
@@ -304,7 +304,7 @@
<div class="section">
<h3 id="FT_Raster_NewFunc">FT_Raster_NewFunc</h3>
-<p>Defined in FT_IMAGE_H (ftimage.h).</p>
+<p>Defined in FT_IMAGE_H (freetype/ftimage.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">int</span>
(*<b>FT_Raster_NewFunc</b>)( <span class="keyword">void</span>* memory,
@@ -340,7 +340,7 @@
<div class="section">
<h3 id="FT_Raster_DoneFunc">FT_Raster_DoneFunc</h3>
-<p>Defined in FT_IMAGE_H (ftimage.h).</p>
+<p>Defined in FT_IMAGE_H (freetype/ftimage.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">void</span>
(*<b>FT_Raster_DoneFunc</b>)( <a href="ft2-raster.html#FT_Raster">FT_Raster</a> raster );
@@ -362,7 +362,7 @@
<div class="section">
<h3 id="FT_Raster_ResetFunc">FT_Raster_ResetFunc</h3>
-<p>Defined in FT_IMAGE_H (ftimage.h).</p>
+<p>Defined in FT_IMAGE_H (freetype/ftimage.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">void</span>
(*<b>FT_Raster_ResetFunc</b>)( <a href="ft2-raster.html#FT_Raster">FT_Raster</a> raster,
@@ -396,7 +396,7 @@
<div class="section">
<h3 id="FT_Raster_SetModeFunc">FT_Raster_SetModeFunc</h3>
-<p>Defined in FT_IMAGE_H (ftimage.h).</p>
+<p>Defined in FT_IMAGE_H (freetype/ftimage.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">int</span>
(*<b>FT_Raster_SetModeFunc</b>)( <a href="ft2-raster.html#FT_Raster">FT_Raster</a> raster,
@@ -426,7 +426,7 @@
<div class="section">
<h3 id="FT_Raster_RenderFunc">FT_Raster_RenderFunc</h3>
-<p>Defined in FT_IMAGE_H (ftimage.h).</p>
+<p>Defined in FT_IMAGE_H (freetype/ftimage.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">int</span>
(*<b>FT_Raster_RenderFunc</b>)( <a href="ft2-raster.html#FT_Raster">FT_Raster</a> raster,
@@ -460,7 +460,7 @@
<div class="section">
<h3 id="FT_Raster_Funcs">FT_Raster_Funcs</h3>
-<p>Defined in FT_IMAGE_H (ftimage.h).</p>
+<p>Defined in FT_IMAGE_H (freetype/ftimage.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Raster_Funcs_
{
@@ -500,7 +500,7 @@
<div class="section">
<h3 id="FT_Raster_BitTest_Func">FT_Raster_BitTest_Func</h3>
-<p>Defined in FT_IMAGE_H (ftimage.h).</p>
+<p>Defined in FT_IMAGE_H (freetype/ftimage.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">int</span>
(*<b>FT_Raster_BitTest_Func</b>)( <span class="keyword">int</span> y,
@@ -515,7 +515,7 @@
<div class="section">
<h3 id="FT_Raster_BitSet_Func">FT_Raster_BitSet_Func</h3>
-<p>Defined in FT_IMAGE_H (ftimage.h).</p>
+<p>Defined in FT_IMAGE_H (freetype/ftimage.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">void</span>
(*<b>FT_Raster_BitSet_Func</b>)( <span class="keyword">int</span> y,
diff --git a/lib/freetype/docs/reference/ft2-sfnt_names.html b/lib/freetype/docs/reference/ft2-sfnt_names.html
index 1fc855772..3bf7028bc 100644
--- a/lib/freetype/docs/reference/ft2-sfnt_names.html
+++ b/lib/freetype/docs/reference/ft2-sfnt_names.html
@@ -3,7 +3,7 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.6 API Reference</title>
+<title>FreeType-2.6.1 API Reference</title>
<style type="text/css">
a:link { color: #0000EF; }
a:visited { color: #51188E; }
@@ -100,7 +100,7 @@
<body>
<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table>
-<h1>FreeType-2.6 API Reference</h1>
+<h1>FreeType-2.6.1 API Reference</h1>
<h1>SFNT Names</h1>
<h2>Synopsis</h2>
@@ -119,7 +119,7 @@
<div class="section">
<h3 id="FT_SfntName">FT_SfntName</h3>
-<p>Defined in FT_SFNT_NAMES_H (ftsnames.h).</p>
+<p>Defined in FT_SFNT_NAMES_H (freetype/ftsnames.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">struct</span> FT_SfntName_
{
@@ -168,7 +168,7 @@
<div class="section">
<h3 id="FT_Get_Sfnt_Name_Count">FT_Get_Sfnt_Name_Count</h3>
-<p>Defined in FT_SFNT_NAMES_H (ftsnames.h).</p>
+<p>Defined in FT_SFNT_NAMES_H (freetype/ftsnames.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> )
<b>FT_Get_Sfnt_Name_Count</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face );
@@ -191,7 +191,7 @@
<div class="section">
<h3 id="FT_Get_Sfnt_Name">FT_Get_Sfnt_Name</h3>
-<p>Defined in FT_SFNT_NAMES_H (ftsnames.h).</p>
+<p>Defined in FT_SFNT_NAMES_H (freetype/ftsnames.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
<b>FT_Get_Sfnt_Name</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face,
@@ -230,7 +230,7 @@
<div class="section">
<h3 id="FT_PARAM_TAG_IGNORE_PREFERRED_FAMILY">FT_PARAM_TAG_IGNORE_PREFERRED_FAMILY</h3>
-<p>Defined in FT_SFNT_NAMES_H (ftsnames.h).</p>
+<p>Defined in FT_SFNT_NAMES_H (freetype/ftsnames.h).</p>
<pre>
#define <b>FT_PARAM_TAG_IGNORE_PREFERRED_FAMILY</b> <a href="ft2-basic_types.html#FT_MAKE_TAG">FT_MAKE_TAG</a>( 'i', 'g', 'p', 'f' )
</pre>
@@ -242,7 +242,7 @@
<div class="section">
<h3 id="FT_PARAM_TAG_IGNORE_PREFERRED_SUBFAMILY">FT_PARAM_TAG_IGNORE_PREFERRED_SUBFAMILY</h3>
-<p>Defined in FT_SFNT_NAMES_H (ftsnames.h).</p>
+<p>Defined in FT_SFNT_NAMES_H (freetype/ftsnames.h).</p>
<pre>
#define <b>FT_PARAM_TAG_IGNORE_PREFERRED_SUBFAMILY</b> <a href="ft2-basic_types.html#FT_MAKE_TAG">FT_MAKE_TAG</a>( 'i', 'g', 'p', 's' )
</pre>
diff --git a/lib/freetype/docs/reference/ft2-sizes_management.html b/lib/freetype/docs/reference/ft2-sizes_management.html
index acf7455b5..08618bb71 100644
--- a/lib/freetype/docs/reference/ft2-sizes_management.html
+++ b/lib/freetype/docs/reference/ft2-sizes_management.html
@@ -3,7 +3,7 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.6 API Reference</title>
+<title>FreeType-2.6.1 API Reference</title>
<style type="text/css">
a:link { color: #0000EF; }
a:visited { color: #51188E; }
@@ -100,7 +100,7 @@
<body>
<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table>
-<h1>FreeType-2.6 API Reference</h1>
+<h1>FreeType-2.6.1 API Reference</h1>
<h1>Size Management</h1>
<h2>Synopsis</h2>
@@ -116,7 +116,7 @@
<div class="section">
<h3 id="FT_New_Size">FT_New_Size</h3>
-<p>Defined in FT_SIZES_H (ftsizes.h).</p>
+<p>Defined in FT_SIZES_H (freetype/ftsizes.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
<b>FT_New_Size</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face,
@@ -150,7 +150,7 @@
<div class="section">
<h3 id="FT_Done_Size">FT_Done_Size</h3>
-<p>Defined in FT_SIZES_H (ftsizes.h).</p>
+<p>Defined in FT_SIZES_H (freetype/ftsizes.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
<b>FT_Done_Size</b>( <a href="ft2-base_interface.html#FT_Size">FT_Size</a> size );
@@ -173,7 +173,7 @@
<div class="section">
<h3 id="FT_Activate_Size">FT_Activate_Size</h3>
-<p>Defined in FT_SIZES_H (ftsizes.h).</p>
+<p>Defined in FT_SIZES_H (freetype/ftsizes.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
<b>FT_Activate_Size</b>( <a href="ft2-base_interface.html#FT_Size">FT_Size</a> size );
diff --git a/lib/freetype/docs/reference/ft2-system_interface.html b/lib/freetype/docs/reference/ft2-system_interface.html
index 424c9c798..fb858e181 100644
--- a/lib/freetype/docs/reference/ft2-system_interface.html
+++ b/lib/freetype/docs/reference/ft2-system_interface.html
@@ -3,7 +3,7 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.6 API Reference</title>
+<title>FreeType-2.6.1 API Reference</title>
<style type="text/css">
a:link { color: #0000EF; }
a:visited { color: #51188E; }
@@ -100,7 +100,7 @@
<body>
<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table>
-<h1>FreeType-2.6 API Reference</h1>
+<h1>FreeType-2.6.1 API Reference</h1>
<h1>System Interface</h1>
<h2>Synopsis</h2>
@@ -116,7 +116,7 @@
<div class="section">
<h3 id="FT_Memory">FT_Memory</h3>
-<p>Defined in FT_SYSTEM_H (ftsystem.h).</p>
+<p>Defined in FT_SYSTEM_H (freetype/ftsystem.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">struct</span> FT_MemoryRec_* <b>FT_Memory</b>;
</pre>
@@ -128,7 +128,7 @@
<div class="section">
<h3 id="FT_Alloc_Func">FT_Alloc_Func</h3>
-<p>Defined in FT_SYSTEM_H (ftsystem.h).</p>
+<p>Defined in FT_SYSTEM_H (freetype/ftsystem.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">void</span>*
(*<b>FT_Alloc_Func</b>)( <a href="ft2-system_interface.html#FT_Memory">FT_Memory</a> memory,
@@ -155,7 +155,7 @@
<div class="section">
<h3 id="FT_Free_Func">FT_Free_Func</h3>
-<p>Defined in FT_SYSTEM_H (ftsystem.h).</p>
+<p>Defined in FT_SYSTEM_H (freetype/ftsystem.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">void</span>
(*<b>FT_Free_Func</b>)( <a href="ft2-system_interface.html#FT_Memory">FT_Memory</a> memory,
@@ -179,7 +179,7 @@
<div class="section">
<h3 id="FT_Realloc_Func">FT_Realloc_Func</h3>
-<p>Defined in FT_SYSTEM_H (ftsystem.h).</p>
+<p>Defined in FT_SYSTEM_H (freetype/ftsystem.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">void</span>*
(*<b>FT_Realloc_Func</b>)( <a href="ft2-system_interface.html#FT_Memory">FT_Memory</a> memory,
@@ -217,7 +217,7 @@
<div class="section">
<h3 id="FT_MemoryRec">FT_MemoryRec</h3>
-<p>Defined in FT_SYSTEM_H (ftsystem.h).</p>
+<p>Defined in FT_SYSTEM_H (freetype/ftsystem.h).</p>
<pre>
<span class="keyword">struct</span> FT_MemoryRec_
{
@@ -251,7 +251,7 @@
<div class="section">
<h3 id="FT_Stream">FT_Stream</h3>
-<p>Defined in FT_SYSTEM_H (ftsystem.h).</p>
+<p>Defined in FT_SYSTEM_H (freetype/ftsystem.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">struct</span> FT_StreamRec_* <b>FT_Stream</b>;
</pre>
@@ -266,7 +266,7 @@
<div class="section">
<h3 id="FT_StreamDesc">FT_StreamDesc</h3>
-<p>Defined in FT_SYSTEM_H (ftsystem.h).</p>
+<p>Defined in FT_SYSTEM_H (freetype/ftsystem.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">union</span> FT_StreamDesc_
{
@@ -283,7 +283,7 @@
<div class="section">
<h3 id="FT_Stream_IoFunc">FT_Stream_IoFunc</h3>
-<p>Defined in FT_SYSTEM_H (ftsystem.h).</p>
+<p>Defined in FT_SYSTEM_H (freetype/ftsystem.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">unsigned</span> <span class="keyword">long</span>
(*<b>FT_Stream_IoFunc</b>)( <a href="ft2-system_interface.html#FT_Stream">FT_Stream</a> stream,
@@ -321,7 +321,7 @@
<div class="section">
<h3 id="FT_Stream_CloseFunc">FT_Stream_CloseFunc</h3>
-<p>Defined in FT_SYSTEM_H (ftsystem.h).</p>
+<p>Defined in FT_SYSTEM_H (freetype/ftsystem.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">void</span>
(*<b>FT_Stream_CloseFunc</b>)( <a href="ft2-system_interface.html#FT_Stream">FT_Stream</a> stream );
@@ -341,7 +341,7 @@
<div class="section">
<h3 id="FT_StreamRec">FT_StreamRec</h3>
-<p>Defined in FT_SYSTEM_H (ftsystem.h).</p>
+<p>Defined in FT_SYSTEM_H (freetype/ftsystem.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">struct</span> FT_StreamRec_
{
diff --git a/lib/freetype/docs/reference/ft2-toc.html b/lib/freetype/docs/reference/ft2-toc.html
index 5917f2b0a..d3fde7c7f 100644
--- a/lib/freetype/docs/reference/ft2-toc.html
+++ b/lib/freetype/docs/reference/ft2-toc.html
@@ -3,7 +3,7 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.6 API Reference</title>
+<title>FreeType-2.6.1 API Reference</title>
<style type="text/css">
a:link { color: #0000EF; }
a:visited { color: #51188E; }
@@ -100,7 +100,7 @@
<body>
<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td></tr></table>
-<h1>FreeType-2.6 API Reference</h1>
+<h1>FreeType-2.6.1 API Reference</h1>
<h1>Table of Contents</h1>
<div class="section">
@@ -245,6 +245,17 @@
</table>
</div>
<div class="section">
+<h2>Error Codes</h2>
+<table class="toc">
+<tr><td class="link"><a href="ft2-error_enumerations.html">Error Enumerations</a></td><td class="desc">
+<p>How to handle errors and error strings.</p>
+</td></tr>
+<tr><td class="link"><a href="ft2-error_code_values.html">Error Code Values</a></td><td class="desc">
+<p>All possible error codes returned by FreeType functions.</p>
+</td></tr>
+</table>
+</div>
+<div class="section">
<h2>Miscellaneous</h2>
<table class="toc">
<tr><td class="link"><a href="ft2-ot_validation.html">OpenType Validation</a></td><td class="desc">
@@ -266,5 +277,5 @@
<hr>
<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td></tr></table>
-<div class="timestamp">generated on Sun Jun 7 16:13:05 2015</div></body>
+<div class="timestamp">generated on Sun Oct 4 08:21:03 2015</div></body>
</html>
diff --git a/lib/freetype/docs/reference/ft2-truetype_engine.html b/lib/freetype/docs/reference/ft2-truetype_engine.html
index 8866d0edd..99673c0df 100644
--- a/lib/freetype/docs/reference/ft2-truetype_engine.html
+++ b/lib/freetype/docs/reference/ft2-truetype_engine.html
@@ -3,7 +3,7 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.6 API Reference</title>
+<title>FreeType-2.6.1 API Reference</title>
<style type="text/css">
a:link { color: #0000EF; }
a:visited { color: #51188E; }
@@ -100,7 +100,7 @@
<body>
<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table>
-<h1>FreeType-2.6 API Reference</h1>
+<h1>FreeType-2.6.1 API Reference</h1>
<h1>The TrueType Engine</h1>
<h2>Synopsis</h2>
@@ -113,7 +113,7 @@
<div class="section">
<h3 id="FT_TrueTypeEngineType">FT_TrueTypeEngineType</h3>
-<p>Defined in FT_MODULE_H (ftmodapi.h).</p>
+<p>Defined in FT_MODULE_H (freetype/ftmodapi.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">enum</span> FT_TrueTypeEngineType_
{
@@ -148,7 +148,7 @@
<div class="section">
<h3 id="FT_Get_TrueType_Engine_Type">FT_Get_TrueType_Engine_Type</h3>
-<p>Defined in FT_MODULE_H (ftmodapi.h).</p>
+<p>Defined in FT_MODULE_H (freetype/ftmodapi.h).</p>
<pre>
FT_EXPORT( <a href="ft2-truetype_engine.html#FT_TrueTypeEngineType">FT_TrueTypeEngineType</a> )
<b>FT_Get_TrueType_Engine_Type</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library );
diff --git a/lib/freetype/docs/reference/ft2-truetype_tables.html b/lib/freetype/docs/reference/ft2-truetype_tables.html
index 30e2efba4..8ab726a8f 100644
--- a/lib/freetype/docs/reference/ft2-truetype_tables.html
+++ b/lib/freetype/docs/reference/ft2-truetype_tables.html
@@ -3,7 +3,7 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.6 API Reference</title>
+<title>FreeType-2.6.1 API Reference</title>
<style type="text/css">
a:link { color: #0000EF; }
a:visited { color: #51188E; }
@@ -100,7 +100,7 @@
<body>
<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table>
-<h1>FreeType-2.6 API Reference</h1>
+<h1>FreeType-2.6.1 API Reference</h1>
<h1>TrueType Tables</h1>
<h2>Synopsis</h2>
@@ -124,7 +124,7 @@
<div class="section">
<h3 id="TT_Header">TT_Header</h3>
-<p>Defined in FT_TRUETYPE_TABLES_H (tttables.h).</p>
+<p>Defined in FT_TRUETYPE_TABLES_H (freetype/tttables.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">struct</span> TT_Header_
{
@@ -162,7 +162,7 @@
<div class="section">
<h3 id="TT_HoriHeader">TT_HoriHeader</h3>
-<p>Defined in FT_TRUETYPE_TABLES_H (tttables.h).</p>
+<p>Defined in FT_TRUETYPE_TABLES_H (freetype/tttables.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">struct</span> TT_HoriHeader_
{
@@ -259,7 +259,7 @@
<div class="section">
<h3 id="TT_VertHeader">TT_VertHeader</h3>
-<p>Defined in FT_TRUETYPE_TABLES_H (tttables.h).</p>
+<p>Defined in FT_TRUETYPE_TABLES_H (freetype/tttables.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">struct</span> TT_VertHeader_
{
@@ -359,7 +359,7 @@
<div class="section">
<h3 id="TT_OS2">TT_OS2</h3>
-<p>Defined in FT_TRUETYPE_TABLES_H (tttables.h).</p>
+<p>Defined in FT_TRUETYPE_TABLES_H (freetype/tttables.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">struct</span> TT_OS2_
{
@@ -427,7 +427,7 @@
<div class="section">
<h3 id="TT_Postscript">TT_Postscript</h3>
-<p>Defined in FT_TRUETYPE_TABLES_H (tttables.h).</p>
+<p>Defined in FT_TRUETYPE_TABLES_H (freetype/tttables.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">struct</span> TT_Postscript_
{
@@ -454,7 +454,7 @@
<div class="section">
<h3 id="TT_PCLT">TT_PCLT</h3>
-<p>Defined in FT_TRUETYPE_TABLES_H (tttables.h).</p>
+<p>Defined in FT_TRUETYPE_TABLES_H (freetype/tttables.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">struct</span> TT_PCLT_
{
@@ -484,7 +484,7 @@
<div class="section">
<h3 id="TT_MaxProfile">TT_MaxProfile</h3>
-<p>Defined in FT_TRUETYPE_TABLES_H (tttables.h).</p>
+<p>Defined in FT_TRUETYPE_TABLES_H (freetype/tttables.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">struct</span> TT_MaxProfile_
{
@@ -566,7 +566,7 @@
<div class="section">
<h3 id="FT_Sfnt_Tag">FT_Sfnt_Tag</h3>
-<p>Defined in FT_TRUETYPE_TABLES_H (tttables.h).</p>
+<p>Defined in FT_TRUETYPE_TABLES_H (freetype/tttables.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">enum</span> FT_Sfnt_Tag_
{
@@ -625,7 +625,7 @@
<div class="section">
<h3 id="FT_Get_Sfnt_Table">FT_Get_Sfnt_Table</h3>
-<p>Defined in FT_TRUETYPE_TABLES_H (tttables.h).</p>
+<p>Defined in FT_TRUETYPE_TABLES_H (freetype/tttables.h).</p>
<pre>
FT_EXPORT( <span class="keyword">void</span>* )
<b>FT_Get_Sfnt_Table</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face,
@@ -665,7 +665,7 @@
<div class="section">
<h3 id="FT_Load_Sfnt_Table">FT_Load_Sfnt_Table</h3>
-<p>Defined in FT_TRUETYPE_TABLES_H (tttables.h).</p>
+<p>Defined in FT_TRUETYPE_TABLES_H (freetype/tttables.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
<b>FT_Load_Sfnt_Table</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face,
@@ -731,7 +731,7 @@
<div class="section">
<h3 id="FT_Sfnt_Table_Info">FT_Sfnt_Table_Info</h3>
-<p>Defined in FT_TRUETYPE_TABLES_H (tttables.h).</p>
+<p>Defined in FT_TRUETYPE_TABLES_H (freetype/tttables.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
<b>FT_Sfnt_Table_Info</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face,
@@ -777,7 +777,7 @@
<div class="section">
<h3 id="FT_Get_CMap_Language_ID">FT_Get_CMap_Language_ID</h3>
-<p>Defined in FT_TRUETYPE_TABLES_H (tttables.h).</p>
+<p>Defined in FT_TRUETYPE_TABLES_H (freetype/tttables.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> )
<b>FT_Get_CMap_Language_ID</b>( <a href="ft2-base_interface.html#FT_CharMap">FT_CharMap</a> charmap );
@@ -801,7 +801,7 @@
<div class="section">
<h3 id="FT_Get_CMap_Format">FT_Get_CMap_Format</h3>
-<p>Defined in FT_TRUETYPE_TABLES_H (tttables.h).</p>
+<p>Defined in FT_TRUETYPE_TABLES_H (freetype/tttables.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Long">FT_Long</a> )
<b>FT_Get_CMap_Format</b>( <a href="ft2-base_interface.html#FT_CharMap">FT_CharMap</a> charmap );
@@ -824,7 +824,7 @@
<div class="section">
<h3 id="FT_PARAM_TAG_UNPATENTED_HINTING">FT_PARAM_TAG_UNPATENTED_HINTING</h3>
-<p>Defined in FT_UNPATENTED_HINTING_H (ttunpat.h).</p>
+<p>Defined in FT_UNPATENTED_HINTING_H (freetype/ttunpat.h).</p>
<pre>
#define <b>FT_PARAM_TAG_UNPATENTED_HINTING</b> <a href="ft2-basic_types.html#FT_MAKE_TAG">FT_MAKE_TAG</a>( 'u', 'n', 'p', 'a' )
</pre>
@@ -836,7 +836,7 @@
<div class="section">
<h3 id="TT_PLATFORM_XXX">TT_PLATFORM_XXX</h3>
-<p>Defined in FT_TRUETYPE_IDS_H (ttnameid.h).</p>
+<p>Defined in FT_TRUETYPE_IDS_H (freetype/ttnameid.h).</p>
<pre>
#define <a href="ft2-truetype_tables.html#TT_PLATFORM_APPLE_UNICODE">TT_PLATFORM_APPLE_UNICODE</a> 0
#define <a href="ft2-truetype_tables.html#TT_PLATFORM_MACINTOSH">TT_PLATFORM_MACINTOSH</a> 1
@@ -875,7 +875,7 @@
<div class="section">
<h3 id="TT_APPLE_ID_XXX">TT_APPLE_ID_XXX</h3>
-<p>Defined in FT_TRUETYPE_IDS_H (ttnameid.h).</p>
+<p>Defined in FT_TRUETYPE_IDS_H (freetype/ttnameid.h).</p>
<pre>
#define <a href="ft2-truetype_tables.html#TT_APPLE_ID_DEFAULT">TT_APPLE_ID_DEFAULT</a> 0 /* Unicode 1.0 */
#define <a href="ft2-truetype_tables.html#TT_APPLE_ID_UNICODE_1_1">TT_APPLE_ID_UNICODE_1_1</a> 1 /* specify Hangul at U+34xx */
@@ -914,7 +914,7 @@
<div class="section">
<h3 id="TT_MAC_ID_XXX">TT_MAC_ID_XXX</h3>
-<p>Defined in FT_TRUETYPE_IDS_H (ttnameid.h).</p>
+<p>Defined in FT_TRUETYPE_IDS_H (freetype/ttnameid.h).</p>
<pre>
#define <a href="ft2-truetype_tables.html#TT_MAC_ID_ROMAN">TT_MAC_ID_ROMAN</a> 0
#define <a href="ft2-truetype_tables.html#TT_MAC_ID_JAPANESE">TT_MAC_ID_JAPANESE</a> 1
@@ -1065,7 +1065,7 @@
<div class="section">
<h3 id="TT_ISO_ID_XXX">TT_ISO_ID_XXX</h3>
-<p>Defined in FT_TRUETYPE_IDS_H (ttnameid.h).</p>
+<p>Defined in FT_TRUETYPE_IDS_H (freetype/ttnameid.h).</p>
<pre>
#define <a href="ft2-truetype_tables.html#TT_ISO_ID_7BIT_ASCII">TT_ISO_ID_7BIT_ASCII</a> 0
#define <a href="ft2-truetype_tables.html#TT_ISO_ID_10646">TT_ISO_ID_10646</a> 1
@@ -1093,7 +1093,7 @@
<div class="section">
<h3 id="TT_MS_ID_XXX">TT_MS_ID_XXX</h3>
-<p>Defined in FT_TRUETYPE_IDS_H (ttnameid.h).</p>
+<p>Defined in FT_TRUETYPE_IDS_H (freetype/ttnameid.h).</p>
<pre>
#define <a href="ft2-truetype_tables.html#TT_MS_ID_SYMBOL_CS">TT_MS_ID_SYMBOL_CS</a> 0
#define <a href="ft2-truetype_tables.html#TT_MS_ID_UNICODE_CS">TT_MS_ID_UNICODE_CS</a> 1
@@ -1140,7 +1140,7 @@
<div class="section">
<h3 id="TT_ADOBE_ID_XXX">TT_ADOBE_ID_XXX</h3>
-<p>Defined in FT_TRUETYPE_IDS_H (ttnameid.h).</p>
+<p>Defined in FT_TRUETYPE_IDS_H (freetype/ttnameid.h).</p>
<pre>
#define <a href="ft2-truetype_tables.html#TT_ADOBE_ID_STANDARD">TT_ADOBE_ID_STANDARD</a> 0
#define <a href="ft2-truetype_tables.html#TT_ADOBE_ID_EXPERT">TT_ADOBE_ID_EXPERT</a> 1
diff --git a/lib/freetype/docs/reference/ft2-tt_driver.html b/lib/freetype/docs/reference/ft2-tt_driver.html
index 9264d7cf6..eaee9b0c7 100644
--- a/lib/freetype/docs/reference/ft2-tt_driver.html
+++ b/lib/freetype/docs/reference/ft2-tt_driver.html
@@ -3,7 +3,7 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.6 API Reference</title>
+<title>FreeType-2.6.1 API Reference</title>
<style type="text/css">
a:link { color: #0000EF; }
a:visited { color: #51188E; }
@@ -100,7 +100,7 @@
<body>
<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table>
-<h1>FreeType-2.6 API Reference</h1>
+<h1>FreeType-2.6.1 API Reference</h1>
<h1>The TrueType driver</h1>
<h2>Synopsis</h2>
@@ -111,6 +111,21 @@
<p>While FreeType's TrueType driver doesn't expose API functions by itself, it is possible to control its behaviour with <a href="ft2-module_management.html#FT_Property_Set">FT_Property_Set</a> and <a href="ft2-module_management.html#FT_Property_Get">FT_Property_Get</a>. The following lists the available properties together with the necessary macros and structures.</p>
<p>The TrueType driver's module name is &lsquo;truetype&rsquo;.</p>
+<p>We start with a list of definitions, kindly provided by Greg Hitchcock.</p>
+<p><i>Bi-Level</i> <i>Rendering</i></p>
+<p>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, &lsquo;hdmx&rsquo; and &lsquo;LTSH&rsquo;, to cache hinting widths across multiple sizes and device aspect ratios.</p>
+<p><i>Font</i> <i>Smoothing</i></p>
+<p>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.</p>
+<p><i>ClearType</i> <i>Rendering</i></p>
+<p>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 &lsquo;natural widths&rsquo; ClearType, see <a href="http://www.beatstamm.com/typography/RTRCh4.htm#Sec21">http://www.beatstamm.com/typography/RTRCh4.htm#Sec21</a>. 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.</p>
+<p><i>ClearType</i> <i>Compatible</i> <i>Widths</i></p>
+<p>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 <a href="http://www.beatstamm.com/typography/RTRCh4.htm#Sec20">http://www.beatstamm.com/typography/RTRCh4.htm#Sec20</a>. Somewhat by definition, compatible width ClearType allows for non-linear widths, but only when the bi-level version has non-linear widths.</p>
+<p><i>ClearType</i> <i>Subpixel</i> <i>Positioning</i></p>
+<p>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 &lsquo;natural mode&rsquo;, not to be confused with GDI's &lsquo;natural widths&rsquo;. Subpixel positioning, in the current implementation of Direct Write, unfortunately does not support hinted advance widths, see <a href="http://www.beatstamm.com/typography/RTRCh4.htm#Sec22">http://www.beatstamm.com/typography/RTRCh4.htm#Sec22</a>. Note that the TrueType interpreter fully allows the advance width to be adjusted in this mode, just the DWrite client will ignore those changes.</p>
+<p><i>ClearType</i> <i>Backwards</i> <i>Compatibility</i></p>
+<p>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 <a href="http://www.beatstamm.com/typography/RTRCh4.htm#Sec1">http://www.beatstamm.com/typography/RTRCh4.htm#Sec1</a> and <a href="http://www.microsoft.com/typography/cleartype/truetypecleartype.aspx">http://www.microsoft.com/typography/cleartype/truetypecleartype.aspx</a>. This technique is not to be confused with ClearType compatible widths. ClearType backwards 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 backwards compatibility mode.</p>
+<p><i>Native</i> <i>ClearType</i> <i>Mode</i></p>
+<p>(Not to be confused with &lsquo;natural widths&rsquo;.) This mode removes all the exceptions in the TrueType interpreter when running with ClearType. Any issues on widths would still apply, though.</p>
<div class="section">
<h3 id="interpreter-version">interpreter-version</h3>
@@ -140,7 +155,7 @@
<div class="section">
<h3 id="TT_INTERPRETER_VERSION_XXX">TT_INTERPRETER_VERSION_XXX</h3>
-<p>Defined in FT_TRUETYPE_DRIVER_H (ftttdrv.h).</p>
+<p>Defined in FT_TRUETYPE_DRIVER_H (freetype/ftttdrv.h).</p>
<pre>
#define <a href="ft2-tt_driver.html#TT_INTERPRETER_VERSION_35">TT_INTERPRETER_VERSION_35</a> 35
#define <a href="ft2-tt_driver.html#TT_INTERPRETER_VERSION_38">TT_INTERPRETER_VERSION_38</a> 38
diff --git a/lib/freetype/docs/reference/ft2-type1_tables.html b/lib/freetype/docs/reference/ft2-type1_tables.html
index c3001a05a..ad74c6aaf 100644
--- a/lib/freetype/docs/reference/ft2-type1_tables.html
+++ b/lib/freetype/docs/reference/ft2-type1_tables.html
@@ -3,7 +3,7 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.6 API Reference</title>
+<title>FreeType-2.6.1 API Reference</title>
<style type="text/css">
a:link { color: #0000EF; }
a:visited { color: #51188E; }
@@ -100,7 +100,7 @@
<body>
<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table>
-<h1>FreeType-2.6 API Reference</h1>
+<h1>FreeType-2.6.1 API Reference</h1>
<h1>Type 1 Tables</h1>
<h2>Synopsis</h2>
@@ -120,7 +120,7 @@
<div class="section">
<h3 id="PS_FontInfoRec">PS_FontInfoRec</h3>
-<p>Defined in FT_TYPE1_TABLES_H (t1tables.h).</p>
+<p>Defined in FT_TYPE1_TABLES_H (freetype/t1tables.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">struct</span> PS_FontInfoRec_
{
@@ -144,7 +144,7 @@
<div class="section">
<h3 id="PS_FontInfo">PS_FontInfo</h3>
-<p>Defined in FT_TYPE1_TABLES_H (t1tables.h).</p>
+<p>Defined in FT_TYPE1_TABLES_H (freetype/t1tables.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">struct</span> PS_FontInfoRec_* <b>PS_FontInfo</b>;
</pre>
@@ -156,7 +156,7 @@
<div class="section">
<h3 id="PS_PrivateRec">PS_PrivateRec</h3>
-<p>Defined in FT_TYPE1_TABLES_H (t1tables.h).</p>
+<p>Defined in FT_TYPE1_TABLES_H (freetype/t1tables.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">struct</span> PS_PrivateRec_
{
@@ -206,7 +206,7 @@
<div class="section">
<h3 id="PS_Private">PS_Private</h3>
-<p>Defined in FT_TYPE1_TABLES_H (t1tables.h).</p>
+<p>Defined in FT_TYPE1_TABLES_H (freetype/t1tables.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">struct</span> PS_PrivateRec_* <b>PS_Private</b>;
</pre>
@@ -218,7 +218,7 @@
<div class="section">
<h3 id="CID_FaceDictRec">CID_FaceDictRec</h3>
-<p>Defined in FT_TYPE1_TABLES_H (t1tables.h).</p>
+<p>Defined in FT_TYPE1_TABLES_H (freetype/t1tables.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">struct</span> CID_FaceDictRec_
{
@@ -248,7 +248,7 @@
<div class="section">
<h3 id="CID_FaceDict">CID_FaceDict</h3>
-<p>Defined in FT_TYPE1_TABLES_H (t1tables.h).</p>
+<p>Defined in FT_TYPE1_TABLES_H (freetype/t1tables.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">struct</span> CID_FaceDictRec_* <b>CID_FaceDict</b>;
</pre>
@@ -260,7 +260,7 @@
<div class="section">
<h3 id="CID_FaceInfoRec">CID_FaceInfoRec</h3>
-<p>Defined in FT_TYPE1_TABLES_H (t1tables.h).</p>
+<p>Defined in FT_TYPE1_TABLES_H (freetype/t1tables.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">struct</span> CID_FaceInfoRec_
{
@@ -299,7 +299,7 @@
<div class="section">
<h3 id="CID_FaceInfo">CID_FaceInfo</h3>
-<p>Defined in FT_TYPE1_TABLES_H (t1tables.h).</p>
+<p>Defined in FT_TYPE1_TABLES_H (freetype/t1tables.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">struct</span> CID_FaceInfoRec_* <b>CID_FaceInfo</b>;
</pre>
@@ -311,7 +311,7 @@
<div class="section">
<h3 id="FT_Has_PS_Glyph_Names">FT_Has_PS_Glyph_Names</h3>
-<p>Defined in FT_TYPE1_TABLES_H (t1tables.h).</p>
+<p>Defined in FT_TYPE1_TABLES_H (freetype/t1tables.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Int">FT_Int</a> )
<b>FT_Has_PS_Glyph_Names</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face );
@@ -335,7 +335,7 @@
<div class="section">
<h3 id="FT_Get_PS_Font_Info">FT_Get_PS_Font_Info</h3>
-<p>Defined in FT_TYPE1_TABLES_H (t1tables.h).</p>
+<p>Defined in FT_TYPE1_TABLES_H (freetype/t1tables.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
<b>FT_Get_PS_Font_Info</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face,
@@ -370,7 +370,7 @@
<div class="section">
<h3 id="FT_Get_PS_Font_Private">FT_Get_PS_Font_Private</h3>
-<p>Defined in FT_TYPE1_TABLES_H (t1tables.h).</p>
+<p>Defined in FT_TYPE1_TABLES_H (freetype/t1tables.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
<b>FT_Get_PS_Font_Private</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face,
@@ -405,7 +405,7 @@
<div class="section">
<h3 id="FT_Get_PS_Font_Value">FT_Get_PS_Font_Value</h3>
-<p>Defined in FT_TYPE1_TABLES_H (t1tables.h).</p>
+<p>Defined in FT_TYPE1_TABLES_H (freetype/t1tables.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Long">FT_Long</a> )
<b>FT_Get_PS_Font_Value</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face,
@@ -460,7 +460,7 @@
<div class="section">
<h3 id="T1_Blend_Flags">T1_Blend_Flags</h3>
-<p>Defined in FT_TYPE1_TABLES_H (t1tables.h).</p>
+<p>Defined in FT_TYPE1_TABLES_H (freetype/t1tables.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">enum</span> T1_Blend_Flags_
{
@@ -559,7 +559,7 @@
<div class="section">
<h3 id="T1_EncodingType">T1_EncodingType</h3>
-<p>Defined in FT_TYPE1_TABLES_H (t1tables.h).</p>
+<p>Defined in FT_TYPE1_TABLES_H (freetype/t1tables.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">enum</span> T1_EncodingType_
{
@@ -598,7 +598,7 @@
<div class="section">
<h3 id="PS_Dict_Keys">PS_Dict_Keys</h3>
-<p>Defined in FT_TYPE1_TABLES_H (t1tables.h).</p>
+<p>Defined in FT_TYPE1_TABLES_H (freetype/t1tables.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">enum</span> PS_Dict_Keys_
{
@@ -808,7 +808,7 @@
<div class="section">
<h3 id="T1_FontInfo">T1_FontInfo</h3>
-<p>Defined in FT_TYPE1_TABLES_H (t1tables.h).</p>
+<p>Defined in FT_TYPE1_TABLES_H (freetype/t1tables.h).</p>
<pre>
<span class="keyword">typedef</span> <a href="ft2-type1_tables.html#PS_FontInfoRec">PS_FontInfoRec</a> <b>T1_FontInfo</b>;
</pre>
@@ -820,7 +820,7 @@
<div class="section">
<h3 id="T1_Private">T1_Private</h3>
-<p>Defined in FT_TYPE1_TABLES_H (t1tables.h).</p>
+<p>Defined in FT_TYPE1_TABLES_H (freetype/t1tables.h).</p>
<pre>
<span class="keyword">typedef</span> <a href="ft2-type1_tables.html#PS_PrivateRec">PS_PrivateRec</a> <b>T1_Private</b>;
</pre>
@@ -832,7 +832,7 @@
<div class="section">
<h3 id="CID_FontDict">CID_FontDict</h3>
-<p>Defined in FT_TYPE1_TABLES_H (t1tables.h).</p>
+<p>Defined in FT_TYPE1_TABLES_H (freetype/t1tables.h).</p>
<pre>
<span class="keyword">typedef</span> <a href="ft2-type1_tables.html#CID_FaceDictRec">CID_FaceDictRec</a> <b>CID_FontDict</b>;
</pre>
@@ -844,7 +844,7 @@
<div class="section">
<h3 id="CID_Info">CID_Info</h3>
-<p>Defined in FT_TYPE1_TABLES_H (t1tables.h).</p>
+<p>Defined in FT_TYPE1_TABLES_H (freetype/t1tables.h).</p>
<pre>
<span class="keyword">typedef</span> <a href="ft2-type1_tables.html#CID_FaceInfoRec">CID_FaceInfoRec</a> <b>CID_Info</b>;
</pre>
diff --git a/lib/freetype/docs/reference/ft2-user_allocation.html b/lib/freetype/docs/reference/ft2-user_allocation.html
index 972fcf5f9..8bd6f93ba 100644
--- a/lib/freetype/docs/reference/ft2-user_allocation.html
+++ b/lib/freetype/docs/reference/ft2-user_allocation.html
@@ -3,7 +3,7 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.6 API Reference</title>
+<title>FreeType-2.6.1 API Reference</title>
<style type="text/css">
a:link { color: #0000EF; }
a:visited { color: #51188E; }
@@ -100,7 +100,7 @@
<body>
<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table>
-<h1>FreeType-2.6 API Reference</h1>
+<h1>FreeType-2.6.1 API Reference</h1>
<h1>User allocation</h1>
diff --git a/lib/freetype/docs/reference/ft2-version.html b/lib/freetype/docs/reference/ft2-version.html
index 0f714b37d..1abef164d 100644
--- a/lib/freetype/docs/reference/ft2-version.html
+++ b/lib/freetype/docs/reference/ft2-version.html
@@ -3,7 +3,7 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.6 API Reference</title>
+<title>FreeType-2.6.1 API Reference</title>
<style type="text/css">
a:link { color: #0000EF; }
a:visited { color: #51188E; }
@@ -100,7 +100,7 @@
<body>
<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table>
-<h1>FreeType-2.6 API Reference</h1>
+<h1>FreeType-2.6.1 API Reference</h1>
<h1>FreeType Version</h1>
<h2>Synopsis</h2>
@@ -117,7 +117,7 @@
<div class="section">
<h3 id="FT_Library_Version">FT_Library_Version</h3>
-<p>Defined in FT_FREETYPE_H (freetype.h).</p>
+<p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p>
<pre>
FT_EXPORT( <span class="keyword">void</span> )
<b>FT_Library_Version</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library,
@@ -157,7 +157,7 @@
<div class="section">
<h3 id="FT_Face_CheckTrueTypePatents">FT_Face_CheckTrueTypePatents</h3>
-<p>Defined in FT_FREETYPE_H (freetype.h).</p>
+<p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Bool">FT_Bool</a> )
<b>FT_Face_CheckTrueTypePatents</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face );
@@ -187,7 +187,7 @@
<div class="section">
<h3 id="FT_Face_SetUnpatentedHinting">FT_Face_SetUnpatentedHinting</h3>
-<p>Defined in FT_FREETYPE_H (freetype.h).</p>
+<p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Bool">FT_Bool</a> )
<b>FT_Face_SetUnpatentedHinting</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face,
@@ -220,11 +220,11 @@
<div class="section">
<h3 id="FREETYPE_XXX">FREETYPE_XXX</h3>
-<p>Defined in FT_FREETYPE_H (freetype.h).</p>
+<p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p>
<pre>
#define <a href="ft2-version.html#FREETYPE_MAJOR">FREETYPE_MAJOR</a> 2
#define <a href="ft2-version.html#FREETYPE_MINOR">FREETYPE_MINOR</a> 6
-#define <a href="ft2-version.html#FREETYPE_PATCH">FREETYPE_PATCH</a> 0
+#define <a href="ft2-version.html#FREETYPE_PATCH">FREETYPE_PATCH</a> 1
</pre>
<p>These three macros identify the FreeType source code version. Use <a href="ft2-version.html#FT_Library_Version">FT_Library_Version</a> to access them at runtime.</p>
diff --git a/lib/freetype/docs/reference/ft2-winfnt_fonts.html b/lib/freetype/docs/reference/ft2-winfnt_fonts.html
index 216dc6544..3104d00e2 100644
--- a/lib/freetype/docs/reference/ft2-winfnt_fonts.html
+++ b/lib/freetype/docs/reference/ft2-winfnt_fonts.html
@@ -3,7 +3,7 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.6 API Reference</title>
+<title>FreeType-2.6.1 API Reference</title>
<style type="text/css">
a:link { color: #0000EF; }
a:visited { color: #51188E; }
@@ -100,7 +100,7 @@
<body>
<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table>
-<h1>FreeType-2.6 API Reference</h1>
+<h1>FreeType-2.6.1 API Reference</h1>
<h1>Window FNT Files</h1>
<h2>Synopsis</h2>
@@ -114,7 +114,7 @@
<div class="section">
<h3 id="FT_WinFNT_ID_XXX">FT_WinFNT_ID_XXX</h3>
-<p>Defined in FT_WINFONTS_H (ftwinfnt.h).</p>
+<p>Defined in FT_WINFONTS_H (freetype/ftwinfnt.h).</p>
<pre>
#define <a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_CP1252">FT_WinFNT_ID_CP1252</a> 0
#define <a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_DEFAULT">FT_WinFNT_ID_DEFAULT</a> 1
@@ -211,7 +211,7 @@
<div class="section">
<h3 id="FT_WinFNT_HeaderRec">FT_WinFNT_HeaderRec</h3>
-<p>Defined in FT_WINFONTS_H (ftwinfnt.h).</p>
+<p>Defined in FT_WINFONTS_H (freetype/ftwinfnt.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">struct</span> FT_WinFNT_HeaderRec_
{
@@ -262,7 +262,7 @@
<div class="section">
<h3 id="FT_WinFNT_Header">FT_WinFNT_Header</h3>
-<p>Defined in FT_WINFONTS_H (ftwinfnt.h).</p>
+<p>Defined in FT_WINFONTS_H (freetype/ftwinfnt.h).</p>
<pre>
<span class="keyword">typedef</span> <span class="keyword">struct</span> FT_WinFNT_HeaderRec_* <b>FT_WinFNT_Header</b>;
</pre>
@@ -274,7 +274,7 @@
<div class="section">
<h3 id="FT_Get_WinFNT_Header">FT_Get_WinFNT_Header</h3>
-<p>Defined in FT_WINFONTS_H (ftwinfnt.h).</p>
+<p>Defined in FT_WINFONTS_H (freetype/ftwinfnt.h).</p>
<pre>
FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
<b>FT_Get_WinFNT_Header</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face,
diff --git a/lib/freetype/docs/release b/lib/freetype/docs/release
index bd92b23f9..4c692e9eb 100644
--- a/lib/freetype/docs/release
+++ b/lib/freetype/docs/release
@@ -1,7 +1,7 @@
How to prepare a new release
----------------------------
-. include/freetype.h: Update FREETYPE_MAJOR, FREETYPE_MINOR,
+. include/freetype/freetype.h: Update FREETYPE_MAJOR, FREETYPE_MINOR,
and FREETYPE_PATCH.
. Update version numbers in all files where necessary (for example, do
diff --git a/lib/freetype/include/Makefile b/lib/freetype/include/Makefile
index 1b14acb8f..6d7814052 100644
--- a/lib/freetype/include/Makefile
+++ b/lib/freetype/include/Makefile
@@ -1,21 +1,9 @@
-# $OpenBSD: Makefile,v 1.5 2015/06/28 08:27:46 dcoppa Exp $
+# $OpenBSD: Makefile,v 1.6 2015/10/19 07:51:35 dcoppa Exp $
-.include <bsd.xorg.mk>
+.include <bsd.own.mk>
-SUBDIR= config
+SUBDIR= freetype
-
-INCSDIR=${X11BASE}/include/freetype2
-
-INCS= freetype.h ftadvanc.h ftbbox.h ftbdf.h ftbitmap.h ftbzip2.h \
- ftcache.h ftcffdrv.h ftchapters.h ftcid.h fterrdef.h fterrors.h \
- ftfntfmt.h ftgasp.h ftglyph.h ftgxval.h ftgzip.h ftimage.h \
- ftincrem.h ftlcdfil.h ftlist.h ftlzw.h ftmac.h ftmm.h ftmodapi.h \
- ftmoderr.h ftotval.h ftoutln.h ftpfr.h ftrender.h ftsizes.h \
- ftsnames.h ftstroke.h ftsynth.h ftsystem.h fttrigon.h fttypes.h \
- ftwinfnt.h t1tables.h ttnameid.h tttables.h tttags.h ttunpat.h
-
-.include "Makefile.inc"
.include <bsd.subdir.mk>
diff --git a/lib/freetype/include/config/Makefile b/lib/freetype/include/config/Makefile
deleted file mode 100644
index 3c9f339e4..000000000
--- a/lib/freetype/include/config/Makefile
+++ /dev/null
@@ -1,7 +0,0 @@
-# $OpenBSD: Makefile,v 1.1 2014/01/12 15:08:26 matthieu Exp $
-.include <bsd.xorg.mk>
-
-INCSDIR=${X11BASE}/include/freetype2/config
-
-INCS= ftheader.h ftmodule.h ftoption.h ftstdlib.h
-
diff --git a/lib/freetype/include/freetype/Makefile b/lib/freetype/include/freetype/Makefile
new file mode 100644
index 000000000..8f3f3801e
--- /dev/null
+++ b/lib/freetype/include/freetype/Makefile
@@ -0,0 +1,22 @@
+# $OpenBSD: Makefile,v 1.10 2015/10/19 07:51:36 dcoppa Exp $
+
+
+.include <bsd.xorg.mk>
+
+SUBDIR= config
+
+
+INCSDIR=${X11BASE}/include/freetype2/freetype
+
+INCS= freetype.h ftadvanc.h ftautoh.h ftbbox.h ftbdf.h ftbitmap.h \
+ ftbzip2.h ftcache.h ftcffdrv.h ftchapters.h ftcid.h fterrdef.h \
+ fterrors.h ftfntfmt.h ftgasp.h ftglyph.h ftgxval.h ftgzip.h \
+ ftimage.h ftincrem.h ftlcdfil.h ftlist.h ftlzw.h ftmac.h ftmm.h \
+ ftmodapi.h ftmoderr.h ftotval.h ftoutln.h ftpfr.h ftrender.h \
+ ftsizes.h ftsnames.h ftstroke.h ftsynth.h ftsystem.h fttrigon.h \
+ ftttdrv.h fttypes.h ftwinfnt.h t1tables.h ttnameid.h tttables.h \
+ tttags.h ttunpat.h
+
+.include "Makefile.inc"
+.include <bsd.subdir.mk>
+
diff --git a/lib/freetype/include/Makefile.inc b/lib/freetype/include/freetype/Makefile.inc
index 6d38b309f..6d38b309f 100644
--- a/lib/freetype/include/Makefile.inc
+++ b/lib/freetype/include/freetype/Makefile.inc
diff --git a/lib/freetype/include/freetype/config/Makefile b/lib/freetype/include/freetype/config/Makefile
new file mode 100644
index 000000000..6a2dfd54e
--- /dev/null
+++ b/lib/freetype/include/freetype/config/Makefile
@@ -0,0 +1,7 @@
+# $OpenBSD: Makefile,v 1.5 2015/10/19 07:51:36 dcoppa Exp $
+.include <bsd.xorg.mk>
+
+INCSDIR=${X11BASE}/include/freetype2/freetype/config
+
+INCS= ftconfig.h ftheader.h ftmodule.h ftoption.h ftstdlib.h
+
diff --git a/lib/freetype/include/config/ftconfig.h b/lib/freetype/include/freetype/config/ftconfig.h
index 086db76ab..d4d79936d 100644
--- a/lib/freetype/include/config/ftconfig.h
+++ b/lib/freetype/include/freetype/config/ftconfig.h
@@ -335,9 +335,9 @@ FT_BEGIN_HEADER
#if ( __GNUC__ >= 2 || \
defined( __IBM__TYPEOF__ ) || \
( __SUNPRO_C >= 0x5110 && !__STDC__ ) )
-#define TYPEOF( type ) (__typeof__ (type))
+#define FT_TYPEOF( type ) (__typeof__ (type))
#else
-#define TYPEOF( type ) /* empty */
+#define FT_TYPEOF( type ) /* empty */
#endif
diff --git a/lib/freetype/include/config/ftheader.h b/lib/freetype/include/freetype/config/ftheader.h
index 4906bc1f2..55f833db0 100644
--- a/lib/freetype/include/config/ftheader.h
+++ b/lib/freetype/include/freetype/config/ftheader.h
@@ -107,7 +107,7 @@
*
*/
#ifndef FT_CONFIG_CONFIG_H
-#define FT_CONFIG_CONFIG_H <config/ftconfig.h>
+#define FT_CONFIG_CONFIG_H <freetype/config/ftconfig.h>
#endif
@@ -122,7 +122,7 @@
*
*/
#ifndef FT_CONFIG_STANDARD_LIBRARY_H
-#define FT_CONFIG_STANDARD_LIBRARY_H <config/ftstdlib.h>
+#define FT_CONFIG_STANDARD_LIBRARY_H <freetype/config/ftstdlib.h>
#endif
@@ -137,7 +137,7 @@
*
*/
#ifndef FT_CONFIG_OPTIONS_H
-#define FT_CONFIG_OPTIONS_H <config/ftoption.h>
+#define FT_CONFIG_OPTIONS_H <freetype/config/ftoption.h>
#endif
@@ -153,7 +153,7 @@
*
*/
#ifndef FT_CONFIG_MODULES_H
-#define FT_CONFIG_MODULES_H <config/ftmodule.h>
+#define FT_CONFIG_MODULES_H <freetype/config/ftmodule.h>
#endif
/* */
@@ -170,7 +170,7 @@
* base FreeType~2 API.
*
*/
-#define FT_FREETYPE_H <freetype.h>
+#define FT_FREETYPE_H <freetype/freetype.h>
/*************************************************************************
@@ -185,7 +185,7 @@
* It is included by @FT_FREETYPE_H.
*
*/
-#define FT_ERRORS_H <fterrors.h>
+#define FT_ERRORS_H <freetype/fterrors.h>
/*************************************************************************
@@ -198,7 +198,7 @@
* list of FreeType~2 module error offsets (and messages).
*
*/
-#define FT_MODULE_ERRORS_H <ftmoderr.h>
+#define FT_MODULE_ERRORS_H <freetype/ftmoderr.h>
/*************************************************************************
@@ -214,7 +214,7 @@
* It is included by @FT_FREETYPE_H.
*
*/
-#define FT_SYSTEM_H <ftsystem.h>
+#define FT_SYSTEM_H <freetype/ftsystem.h>
/*************************************************************************
@@ -230,7 +230,7 @@
* It is included by @FT_FREETYPE_H.
*
*/
-#define FT_IMAGE_H <ftimage.h>
+#define FT_IMAGE_H <freetype/ftimage.h>
/*************************************************************************
@@ -245,7 +245,7 @@
* It is included by @FT_FREETYPE_H.
*
*/
-#define FT_TYPES_H <fttypes.h>
+#define FT_TYPES_H <freetype/fttypes.h>
/*************************************************************************
@@ -260,7 +260,7 @@
* (Most applications will never need to include this file.)
*
*/
-#define FT_LIST_H <ftlist.h>
+#define FT_LIST_H <freetype/ftlist.h>
/*************************************************************************
@@ -273,7 +273,7 @@
* scalable outline management API of FreeType~2.
*
*/
-#define FT_OUTLINE_H <ftoutln.h>
+#define FT_OUTLINE_H <freetype/ftoutln.h>
/*************************************************************************
@@ -286,7 +286,7 @@
* API which manages multiple @FT_Size objects per face.
*
*/
-#define FT_SIZES_H <ftsizes.h>
+#define FT_SIZES_H <freetype/ftsizes.h>
/*************************************************************************
@@ -299,7 +299,7 @@
* module management API of FreeType~2.
*
*/
-#define FT_MODULE_H <ftmodapi.h>
+#define FT_MODULE_H <freetype/ftmodapi.h>
/*************************************************************************
@@ -312,7 +312,7 @@
* renderer module management API of FreeType~2.
*
*/
-#define FT_RENDER_H <ftrender.h>
+#define FT_RENDER_H <freetype/ftrender.h>
/*************************************************************************
@@ -325,7 +325,7 @@
* structures and macros related to the auto-hinting module.
*
*/
-#define FT_AUTOHINTER_H <ftautoh.h>
+#define FT_AUTOHINTER_H <freetype/ftautoh.h>
/*************************************************************************
@@ -338,7 +338,7 @@
* structures and macros related to the CFF driver module.
*
*/
-#define FT_CFF_DRIVER_H <ftcffdrv.h>
+#define FT_CFF_DRIVER_H <freetype/ftcffdrv.h>
/*************************************************************************
@@ -351,7 +351,7 @@
* structures and macros related to the TrueType driver module.
*
*/
-#define FT_TRUETYPE_DRIVER_H <ftttdrv.h>
+#define FT_TRUETYPE_DRIVER_H <freetype/ftttdrv.h>
/*************************************************************************
@@ -364,7 +364,7 @@
* types and API specific to the Type~1 format.
*
*/
-#define FT_TYPE1_TABLES_H <t1tables.h>
+#define FT_TYPE1_TABLES_H <freetype/t1tables.h>
/*************************************************************************
@@ -379,7 +379,7 @@
* definitions, taken from the TrueType and OpenType specifications.
*
*/
-#define FT_TRUETYPE_IDS_H <ttnameid.h>
+#define FT_TRUETYPE_IDS_H <freetype/ttnameid.h>
/*************************************************************************
@@ -392,7 +392,7 @@
* types and API specific to the TrueType (as well as OpenType) format.
*
*/
-#define FT_TRUETYPE_TABLES_H <tttables.h>
+#define FT_TRUETYPE_TABLES_H <freetype/tttables.h>
/*************************************************************************
@@ -406,7 +406,7 @@
* SFNT-based font formats (i.e., TrueType and OpenType).
*
*/
-#define FT_TRUETYPE_TAGS_H <tttags.h>
+#define FT_TRUETYPE_TAGS_H <freetype/tttags.h>
/*************************************************************************
@@ -420,7 +420,7 @@
* face.
*
*/
-#define FT_BDF_H <ftbdf.h>
+#define FT_BDF_H <freetype/ftbdf.h>
/*************************************************************************
@@ -434,7 +434,7 @@
* face.
*
*/
-#define FT_CID_H <ftcid.h>
+#define FT_CID_H <freetype/ftcid.h>
/*************************************************************************
@@ -447,7 +447,7 @@
* definitions of an API which supports gzip-compressed files.
*
*/
-#define FT_GZIP_H <ftgzip.h>
+#define FT_GZIP_H <freetype/ftgzip.h>
/*************************************************************************
@@ -460,7 +460,7 @@
* definitions of an API which supports LZW-compressed files.
*
*/
-#define FT_LZW_H <ftlzw.h>
+#define FT_LZW_H <freetype/ftlzw.h>
/*************************************************************************
@@ -473,7 +473,7 @@
* definitions of an API which supports bzip2-compressed files.
*
*/
-#define FT_BZIP2_H <ftbzip2.h>
+#define FT_BZIP2_H <freetype/ftbzip2.h>
/*************************************************************************
@@ -486,7 +486,7 @@
* definitions of an API which supports Windows FNT files.
*
*/
-#define FT_WINFONTS_H <ftwinfnt.h>
+#define FT_WINFONTS_H <freetype/ftwinfnt.h>
/*************************************************************************
@@ -499,7 +499,7 @@
* API of the optional glyph management component.
*
*/
-#define FT_GLYPH_H <ftglyph.h>
+#define FT_GLYPH_H <freetype/ftglyph.h>
/*************************************************************************
@@ -512,7 +512,7 @@
* API of the optional bitmap conversion component.
*
*/
-#define FT_BITMAP_H <ftbitmap.h>
+#define FT_BITMAP_H <freetype/ftbitmap.h>
/*************************************************************************
@@ -525,7 +525,7 @@
* API of the optional exact bounding box computation routines.
*
*/
-#define FT_BBOX_H <ftbbox.h>
+#define FT_BBOX_H <freetype/ftbbox.h>
/*************************************************************************
@@ -538,7 +538,7 @@
* API of the optional FreeType~2 cache sub-system.
*
*/
-#define FT_CACHE_H <ftcache.h>
+#define FT_CACHE_H <freetype/ftcache.h>
/*************************************************************************
@@ -612,7 +612,7 @@
* compiled on the Mac (note that the base API still works though).
*
*/
-#define FT_MAC_H <ftmac.h>
+#define FT_MAC_H <freetype/ftmac.h>
/*************************************************************************
@@ -625,7 +625,7 @@
* optional multiple-masters management API of FreeType~2.
*
*/
-#define FT_MULTIPLE_MASTERS_H <ftmm.h>
+#define FT_MULTIPLE_MASTERS_H <freetype/ftmm.h>
/*************************************************************************
@@ -639,7 +639,7 @@
* SFNT-based font formats (i.e., TrueType and OpenType).
*
*/
-#define FT_SFNT_NAMES_H <ftsnames.h>
+#define FT_SFNT_NAMES_H <freetype/ftsnames.h>
/*************************************************************************
@@ -653,7 +653,7 @@
* GPOS, GSUB, JSTF).
*
*/
-#define FT_OPENTYPE_VALIDATE_H <ftotval.h>
+#define FT_OPENTYPE_VALIDATE_H <freetype/ftotval.h>
/*************************************************************************
@@ -667,7 +667,7 @@
* mort, morx, bsln, just, kern, opbd, trak, prop).
*
*/
-#define FT_GX_VALIDATE_H <ftgxval.h>
+#define FT_GX_VALIDATE_H <freetype/ftgxval.h>
/*************************************************************************
@@ -680,7 +680,7 @@
* FreeType~2 API which accesses PFR-specific data.
*
*/
-#define FT_PFR_H <ftpfr.h>
+#define FT_PFR_H <freetype/ftpfr.h>
/*************************************************************************
@@ -692,7 +692,7 @@
* 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 <ftstroke.h>
+#define FT_STROKER_H <freetype/ftstroke.h>
/*************************************************************************
@@ -704,7 +704,7 @@
* 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 <ftsynth.h>
+#define FT_SYNTHESIS_H <freetype/ftsynth.h>
/*************************************************************************
@@ -716,7 +716,7 @@
* A macro used in #include statements to name the file containing the
* FreeType~2 API which provides functions specific to font formats.
*/
-#define FT_FONT_FORMATS_H <ftfntfmt.h>
+#define FT_FONT_FORMATS_H <freetype/ftfntfmt.h>
/* deprecated */
#define FT_XFREE86_H FT_FONT_FORMATS_H
@@ -732,7 +732,7 @@
* FreeType~2 API which performs trigonometric computations (e.g.,
* cosines and arc tangents).
*/
-#define FT_TRIGONOMETRY_H <fttrigon.h>
+#define FT_TRIGONOMETRY_H <freetype/fttrigon.h>
/*************************************************************************
@@ -744,7 +744,7 @@
* 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 <ftlcdfil.h>
+#define FT_LCD_FILTER_H <freetype/ftlcdfil.h>
/*************************************************************************
@@ -756,7 +756,7 @@
* A macro used in #include statements to name the file containing the
* FreeType~2 API which performs color filtering for subpixel rendering.
*/
-#define FT_UNPATENTED_HINTING_H <ttunpat.h>
+#define FT_UNPATENTED_HINTING_H <freetype/ttunpat.h>
/*************************************************************************
@@ -768,7 +768,7 @@
* A macro used in #include statements to name the file containing the
* FreeType~2 API which performs color filtering for subpixel rendering.
*/
-#define FT_INCREMENTAL_H <ftincrem.h>
+#define FT_INCREMENTAL_H <freetype/ftincrem.h>
/*************************************************************************
@@ -780,7 +780,7 @@
* 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 <ftgasp.h>
+#define FT_GASP_H <freetype/ftgasp.h>
/*************************************************************************
@@ -792,30 +792,30 @@
* 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 <ftadvanc.h>
+#define FT_ADVANCES_H <freetype/ftadvanc.h>
/* */
-#define FT_ERROR_DEFINITIONS_H <fterrdef.h>
+#define FT_ERROR_DEFINITIONS_H <freetype/fterrdef.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. */
/* */
-#define FT_CACHE_MANAGER_H <ftcache.h>
-#define FT_CACHE_INTERNAL_MRU_H <ftcache.h>
-#define FT_CACHE_INTERNAL_MANAGER_H <ftcache.h>
-#define FT_CACHE_INTERNAL_CACHE_H <ftcache.h>
-#define FT_CACHE_INTERNAL_GLYPH_H <ftcache.h>
-#define FT_CACHE_INTERNAL_IMAGE_H <ftcache.h>
-#define FT_CACHE_INTERNAL_SBITS_H <ftcache.h>
+#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 <ftincrem.h>
+#define FT_INCREMENTAL_H <freetype/ftincrem.h>
-#define FT_TRUETYPE_UNPATENTED_H <ttunpat.h>
+#define FT_TRUETYPE_UNPATENTED_H <freetype/ttunpat.h>
/*
@@ -823,7 +823,7 @@
* only when building the library.
*/
#ifdef FT2_BUILD_LIBRARY
-#define FT_INTERNAL_INTERNAL_H <internal/internal.h>
+#define FT_INTERNAL_INTERNAL_H <freetype/internal/internal.h>
#include FT_INTERNAL_INTERNAL_H
#endif /* FT2_BUILD_LIBRARY */
diff --git a/lib/freetype/include/config/ftmodule.h b/lib/freetype/include/freetype/config/ftmodule.h
index 76d271a74..76d271a74 100644
--- a/lib/freetype/include/config/ftmodule.h
+++ b/lib/freetype/include/freetype/config/ftmodule.h
diff --git a/lib/freetype/include/config/ftoption.h b/lib/freetype/include/freetype/config/ftoption.h
index 1536c7236..4970945d1 100644
--- a/lib/freetype/include/config/ftoption.h
+++ b/lib/freetype/include/freetype/config/ftoption.h
@@ -38,9 +38,9 @@ FT_BEGIN_HEADER
/* library from a single source directory. */
/* */
/* - You can put a copy of this file in your build directory, more */
- /* precisely in `$BUILD/config/ftoption.h', where `$BUILD' is the */
- /* name of a directory that is included _before_ the FreeType include */
- /* path during compilation. */
+ /* precisely in `$BUILD/freetype/config/ftoption.h', where `$BUILD' */
+ /* is the name of a directory that is included _before_ the FreeType */
+ /* include path during compilation. */
/* */
/* The default FreeType Makefiles and Jamfiles use the build */
/* directory `builds/<system>' by default, but you can easily change */
@@ -51,7 +51,7 @@ FT_BEGIN_HEADER
/* locate this file during the build. For example, */
/* */
/* #define FT_CONFIG_OPTIONS_H <myftoptions.h> */
- /* #include <config/ftheader.h> */
+ /* #include <freetype/config/ftheader.h> */
/* */
/* will use `$BUILD/myftoptions.h' instead of this file for macro */
/* definitions. */
@@ -59,7 +59,7 @@ FT_BEGIN_HEADER
/* 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 <config/ftmodule.h>. */
+ /* default, this file is <freetype/config/ftmodule.h>. */
/* */
/* We highly recommend using the third method whenever possible. */
/* */
diff --git a/lib/freetype/include/config/ftstdlib.h b/lib/freetype/include/freetype/config/ftstdlib.h
index 8ef43c04b..4b471d4d1 100644
--- a/lib/freetype/include/config/ftstdlib.h
+++ b/lib/freetype/include/freetype/config/ftstdlib.h
@@ -64,6 +64,7 @@
#define FT_INT_MAX INT_MAX
#define FT_INT_MIN INT_MIN
#define FT_UINT_MAX UINT_MAX
+#define FT_LONG_MAX LONG_MAX
#define FT_ULONG_MAX ULONG_MAX
diff --git a/lib/freetype/include/freetype.h b/lib/freetype/include/freetype/freetype.h
index bca93e5b8..b6247f510 100644
--- a/lib/freetype/include/freetype.h
+++ b/lib/freetype/include/freetype/freetype.h
@@ -876,17 +876,36 @@ FT_BEGIN_HEADER
/* 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 */
+ /* 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. */
/* */
+ /* Bits 16-30 are relevant to GX variation */
+ /* fonts only, holding the named instance */
+ /* index for the current face index (starting */
+ /* with value~1; value~0 indicates font access */
+ /* without GX variation data). For non-GX */
+ /* 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). */
+ /* */
/* 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. */
+ /* 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. Bits */
+ /* 16-30 hold the number of named instances */
+ /* available for the current face if we have a */
+ /* GX variation (sub)font. Bit 31 is always */
+ /* zero (this is, `style_flags' is always a */
+ /* positive value). */
/* */
/* num_glyphs :: The number of glyphs in the face. If the */
/* face is scalable and has sbits (see */
@@ -1392,7 +1411,7 @@ FT_BEGIN_HEADER
/* FT_STYLE_FLAG_XXX */
/* */
/* <Description> */
- /* A list of bit-flags used to indicate the style of a given face. */
+ /* 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> */
@@ -1824,7 +1843,7 @@ FT_BEGIN_HEADER
/* FT_OPEN_XXX */
/* */
/* <Description> */
- /* A list of bit-field constants used within the `flags' field of the */
+ /* A list of bit field constants used within the `flags' field of the */
/* @FT_Open_Args structure. */
/* */
/* <Values> */
@@ -1971,13 +1990,12 @@ FT_BEGIN_HEADER
/* <Input> */
/* pathname :: A path to the font file. */
/* */
- /* face_index :: The index of the face within the font. The first */
- /* face has index~0. */
+ /* 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. */
- /* See @FT_Open_Face for more details. */
/* */
/* <Return> */
/* FreeType error code. 0~means success. */
@@ -2010,13 +2028,12 @@ FT_BEGIN_HEADER
/* */
/* 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. */
+ /* 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. */
- /* See @FT_Open_Face for more details. */
/* */
/* <Return> */
/* FreeType error code. 0~means success. */
@@ -2048,13 +2065,43 @@ FT_BEGIN_HEADER
/* args :: A pointer to an `FT_Open_Args' structure that must */
/* be filled by the caller. */
/* */
- /* face_index :: The index of the face within the font. The first */
- /* face has index~0. */
+ /* 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. */
+ /* */
+ /* Bits 16-30 are relevant to GX 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-GX 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 GX 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 16-bit */
+ /* value), bits 16-30 in `face->style_flags' give the */
+ /* number of named instances in face `N' if we have a */
+ /* GX 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. */
- /* See note below. */
/* */
/* <Return> */
/* FreeType error code. 0~means success. */
@@ -2064,16 +2111,6 @@ FT_BEGIN_HEADER
/* slot for the face object that 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' that 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'. */
/* */
@@ -2084,6 +2121,74 @@ FT_BEGIN_HEADER
/* See the discussion of reference counters in the description of */
/* @FT_Reference_Face. */
/* */
+ /* 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,
@@ -2521,7 +2626,7 @@ FT_BEGIN_HEADER
* FT_LOAD_XXX
*
* @description:
- * A list of bit-field constants used with @FT_Load_Glyph to indicate
+ * A list of bit field constants used with @FT_Load_Glyph to indicate
* what kind of operations to perform during glyph loading.
*
* @values:
@@ -2638,6 +2743,16 @@ FT_BEGIN_HEADER
* bitmaps transparently. Those bitmaps will be in the
* @FT_PIXEL_MODE_GRAY format.
*
+ * FT_LOAD_COMPUTE_METRICS ::
+ * This flag sets computing glyph metrics without the use of bundled
+ * metrics tables (for example, the `hdmx' table in TrueType fonts).
+ * Well-behaving fonts have optimized bundled metrics and these should
+ * be used. 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_CROP_BITMAP ::
* Ignored. Deprecated.
*
@@ -2683,6 +2798,7 @@ FT_BEGIN_HEADER
#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 )
/* */
@@ -2927,15 +3043,22 @@ FT_BEGIN_HEADER
/* @FT_Get_Kerning. */
/* */
/* <Values> */
- /* FT_KERNING_DEFAULT :: Return scaled and grid-fitted kerning */
- /* distances (value is~0). */
+ /* FT_KERNING_DEFAULT :: Return grid-fitted kerning distances in */
+ /* pixels (value is~0). Whether they are */
+ /* scaled depends on @FT_LOAD_NO_SCALE. */
/* */
- /* FT_KERNING_UNFITTED :: Return scaled but un-grid-fitted kerning */
- /* distances. */
+ /* FT_KERNING_UNFITTED :: Return un-grid-fitted kerning distances in */
+ /* 26.6 fractional pixels. Whether they are */
+ /* scaled depends on @FT_LOAD_NO_SCALE. */
/* */
/* 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. */
+ /* */
typedef enum FT_Kerning_Mode_
{
FT_KERNING_DEFAULT = 0,
@@ -2972,9 +3095,10 @@ FT_BEGIN_HEADER
/* 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. */
+ /* 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. */
@@ -3259,6 +3383,13 @@ FT_BEGIN_HEADER
/* } */
/* } */
/* */
+ /* 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. */
@@ -3454,6 +3585,9 @@ FT_BEGIN_HEADER
/* 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. */
@@ -3839,7 +3973,8 @@ FT_BEGIN_HEADER
/* a :: The number to be rounded. */
/* */
/* <Return> */
- /* The result of `(a + 0x8000) & -0x10000'. */
+ /* `a' rounded to nearest 16.16 fixed integer, halfway cases away */
+ /* from zero. */
/* */
FT_EXPORT( FT_Fixed )
FT_RoundFix( FT_Fixed a );
@@ -3858,7 +3993,7 @@ FT_BEGIN_HEADER
/* a :: The number for which the ceiling function is to be computed. */
/* */
/* <Return> */
- /* The result of `(a + 0x10000 - 1) & -0x10000'. */
+ /* `a' rounded towards plus infinity. */
/* */
FT_EXPORT( FT_Fixed )
FT_CeilFix( FT_Fixed a );
@@ -3877,7 +4012,7 @@ FT_BEGIN_HEADER
/* a :: The number for which the floor function is to be computed. */
/* */
/* <Return> */
- /* The result of `a & -0x10000'. */
+ /* `a' rounded towards minus infinity. */
/* */
FT_EXPORT( FT_Fixed )
FT_FloorFix( FT_Fixed a );
@@ -3958,7 +4093,7 @@ FT_BEGIN_HEADER
*/
#define FREETYPE_MAJOR 2
#define FREETYPE_MINOR 6
-#define FREETYPE_PATCH 0
+#define FREETYPE_PATCH 1
/*************************************************************************/
diff --git a/lib/freetype/include/ftadvanc.h b/lib/freetype/include/freetype/ftadvanc.h
index b4d2aed56..b4d2aed56 100644
--- a/lib/freetype/include/ftadvanc.h
+++ b/lib/freetype/include/freetype/ftadvanc.h
diff --git a/lib/freetype/include/ftautoh.h b/lib/freetype/include/freetype/ftautoh.h
index cf7b76f49..ab39c2199 100644
--- a/lib/freetype/include/ftautoh.h
+++ b/lib/freetype/include/freetype/ftautoh.h
@@ -247,8 +247,8 @@ FT_BEGIN_HEADER
*/
typedef struct FT_Prop_GlyphToScriptMap_
{
- FT_Face face;
- FT_Byte* map;
+ FT_Face face;
+ FT_UShort* map;
} FT_Prop_GlyphToScriptMap;
diff --git a/lib/freetype/include/ftbbox.h b/lib/freetype/include/freetype/ftbbox.h
index 9d9d04076..9d9d04076 100644
--- a/lib/freetype/include/ftbbox.h
+++ b/lib/freetype/include/freetype/ftbbox.h
diff --git a/lib/freetype/include/ftbdf.h b/lib/freetype/include/freetype/ftbdf.h
index 0bdabf481..0bdabf481 100644
--- a/lib/freetype/include/ftbdf.h
+++ b/lib/freetype/include/freetype/ftbdf.h
diff --git a/lib/freetype/include/ftbitmap.h b/lib/freetype/include/freetype/ftbitmap.h
index 46cc47b7d..46cc47b7d 100644
--- a/lib/freetype/include/ftbitmap.h
+++ b/lib/freetype/include/freetype/ftbitmap.h
diff --git a/lib/freetype/include/ftbzip2.h b/lib/freetype/include/freetype/ftbzip2.h
index c25f9469d..c25f9469d 100644
--- a/lib/freetype/include/ftbzip2.h
+++ b/lib/freetype/include/freetype/ftbzip2.h
diff --git a/lib/freetype/include/ftcache.h b/lib/freetype/include/freetype/ftcache.h
index 68525bb82..68525bb82 100644
--- a/lib/freetype/include/ftcache.h
+++ b/lib/freetype/include/freetype/ftcache.h
diff --git a/lib/freetype/include/ftcffdrv.h b/lib/freetype/include/freetype/ftcffdrv.h
index 6c8e416ce..6c8e416ce 100644
--- a/lib/freetype/include/ftcffdrv.h
+++ b/lib/freetype/include/freetype/ftcffdrv.h
diff --git a/lib/freetype/include/ftchapters.h b/lib/freetype/include/freetype/ftchapters.h
index d333761c8..ab4389530 100644
--- a/lib/freetype/include/ftchapters.h
+++ b/lib/freetype/include/freetype/ftchapters.h
@@ -119,3 +119,17 @@
/* lcd_filtering */
/* */
/***************************************************************************/
+
+/***************************************************************************/
+/* */
+/* <Chapter> */
+/* error_codes */
+/* */
+/* <Title> */
+/* Error Codes */
+/* */
+/* <Sections> */
+/* error_enumerations */
+/* error_code_values */
+/* */
+/***************************************************************************/
diff --git a/lib/freetype/include/ftcid.h b/lib/freetype/include/freetype/ftcid.h
index 05741c85b..05741c85b 100644
--- a/lib/freetype/include/ftcid.h
+++ b/lib/freetype/include/freetype/ftcid.h
diff --git a/lib/freetype/include/fterrdef.h b/lib/freetype/include/freetype/fterrdef.h
index 1bf0751b1..d865da712 100644
--- a/lib/freetype/include/fterrdef.h
+++ b/lib/freetype/include/freetype/fterrdef.h
@@ -16,18 +16,43 @@
/***************************************************************************/
- /*******************************************************************/
- /*******************************************************************/
- /***** *****/
- /***** LIST OF ERROR CODES/MESSAGES *****/
- /***** *****/
- /*******************************************************************/
- /*******************************************************************/
+ /*************************************************************************/
+ /* */
+ /* <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. */
+ /* */
+ /*************************************************************************/
- /* You need to define both FT_ERRORDEF_ and FT_NOERRORDEF_ before */
- /* including this file. */
-
+ /*************************************************************************/
+ /* */
+ /* <Enum> */
+ /* FT_Err_XXX */
+ /* */
+ /*************************************************************************/
/* generic errors */
@@ -245,5 +270,7 @@
FT_ERRORDEF_( Corrupted_Font_Glyphs, 0xBA,
"Font glyphs corrupted or missing fields" )
+ /* */
+
/* END */
diff --git a/lib/freetype/include/fterrors.h b/lib/freetype/include/freetype/fterrors.h
index 376bee6f8..0507b9ad7 100644
--- a/lib/freetype/include/fterrors.h
+++ b/lib/freetype/include/freetype/fterrors.h
@@ -18,68 +18,86 @@
/*************************************************************************/
/* */
- /* 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. */
+ /* <Section> */
+ /* error_enumerations */
/* */
- /* I - Error Formats */
- /* ----------------- */
+ /* <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 */
+ /* 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). See the file `ftmoderr.h' for */
- /* more details. */
+ /* with standard builds of FreeType&nbsp;2, however). See the file */
+ /* `ftmoderr.h' for more details. */
/* */
+ /* *Error* *Message* *Strings* */
/* */
- /* 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). */
+ /* 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&nbsp;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: */
+ /* 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_START_LIST */
+ /* } */
/* */
- /* 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. */
+ /* 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_END_LIST :: */
- /* This macro ends the list. */
+ /* { */
+ /* FT_ERROR_DEF( e, v, s ) */
+ /* } */
/* */
- /* Additionally, you have to undefine __FTERRORS_H__ before #including */
- /* this file. */
+ /* 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. */
/* */
- /* 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 */
/* { */
- /* #undef __FTERRORS_H__ */
- /* #define FT_ERRORDEF( e, v, s ) { e, s }, */
- /* #define FT_ERROR_START_LIST { */
- /* #define FT_ERROR_END_LIST { 0, 0 } }; */
+ /* int err_code; */
+ /* const char* err_msg; */
+ /* } ft_errors[] = */
/* */
- /* const struct */
- /* { */
- /* int err_code; */
- /* const char* err_msg; */
- /* } ft_errors[] = */
+ /* #include FT_ERRORS_H */
+ /* } */
/* */
- /* #include FT_ERRORS_H */
- /* } */
+ /* Note that `FT_Err_Ok' is _not_ defined with `FT_ERRORDEF' but with */
+ /* `FT_NOERRORDEF'; it is always zero. */
/* */
/*************************************************************************/
+ /* */
#ifndef __FTERRORS_H__
#define __FTERRORS_H__
diff --git a/lib/freetype/include/ftfntfmt.h b/lib/freetype/include/freetype/ftfntfmt.h
index 1f8ff28f1..1f8ff28f1 100644
--- a/lib/freetype/include/ftfntfmt.h
+++ b/lib/freetype/include/freetype/ftfntfmt.h
diff --git a/lib/freetype/include/ftgasp.h b/lib/freetype/include/freetype/ftgasp.h
index 9a9b6321b..9a9b6321b 100644
--- a/lib/freetype/include/ftgasp.h
+++ b/lib/freetype/include/freetype/ftgasp.h
diff --git a/lib/freetype/include/ftglyph.h b/lib/freetype/include/freetype/ftglyph.h
index 803ad3962..803ad3962 100644
--- a/lib/freetype/include/ftglyph.h
+++ b/lib/freetype/include/freetype/ftglyph.h
diff --git a/lib/freetype/include/ftgxval.h b/lib/freetype/include/freetype/ftgxval.h
index 0e9ac1dad..0e9ac1dad 100644
--- a/lib/freetype/include/ftgxval.h
+++ b/lib/freetype/include/freetype/ftgxval.h
diff --git a/lib/freetype/include/ftgzip.h b/lib/freetype/include/freetype/ftgzip.h
index b3a532d5e..b3a532d5e 100644
--- a/lib/freetype/include/ftgzip.h
+++ b/lib/freetype/include/freetype/ftgzip.h
diff --git a/lib/freetype/include/ftimage.h b/lib/freetype/include/freetype/ftimage.h
index 82f284c4f..82f284c4f 100644
--- a/lib/freetype/include/ftimage.h
+++ b/lib/freetype/include/freetype/ftimage.h
diff --git a/lib/freetype/include/ftincrem.h b/lib/freetype/include/freetype/ftincrem.h
index 840af25b0..840af25b0 100644
--- a/lib/freetype/include/ftincrem.h
+++ b/lib/freetype/include/freetype/ftincrem.h
diff --git a/lib/freetype/include/ftlcdfil.h b/lib/freetype/include/freetype/ftlcdfil.h
index 4cd999a4b..4cd999a4b 100644
--- a/lib/freetype/include/ftlcdfil.h
+++ b/lib/freetype/include/freetype/ftlcdfil.h
diff --git a/lib/freetype/include/ftlist.h b/lib/freetype/include/freetype/ftlist.h
index 12b48c78f..12b48c78f 100644
--- a/lib/freetype/include/ftlist.h
+++ b/lib/freetype/include/freetype/ftlist.h
diff --git a/lib/freetype/include/ftlzw.h b/lib/freetype/include/freetype/ftlzw.h
index d3ec28e55..d3ec28e55 100644
--- a/lib/freetype/include/ftlzw.h
+++ b/lib/freetype/include/freetype/ftlzw.h
diff --git a/lib/freetype/include/ftmac.h b/lib/freetype/include/freetype/ftmac.h
index 14c55cfe2..14c55cfe2 100644
--- a/lib/freetype/include/ftmac.h
+++ b/lib/freetype/include/freetype/ftmac.h
diff --git a/lib/freetype/include/ftmm.h b/lib/freetype/include/freetype/ftmm.h
index 6ef47987e..6ef47987e 100644
--- a/lib/freetype/include/ftmm.h
+++ b/lib/freetype/include/freetype/ftmm.h
diff --git a/lib/freetype/include/ftmodapi.h b/lib/freetype/include/freetype/ftmodapi.h
index 2ef3f4674..544279a68 100644
--- a/lib/freetype/include/ftmodapi.h
+++ b/lib/freetype/include/freetype/ftmodapi.h
@@ -63,7 +63,7 @@ FT_BEGIN_HEADER
/* psaux */
/* pshinter */
/* psnames */
- /* raster1, raster5 */
+ /* raster1 */
/* sfnt */
/* smooth, smooth-lcd, smooth-lcdv */
/* truetype */
diff --git a/lib/freetype/include/ftmoderr.h b/lib/freetype/include/freetype/ftmoderr.h
index 9d7f98140..9d7f98140 100644
--- a/lib/freetype/include/ftmoderr.h
+++ b/lib/freetype/include/freetype/ftmoderr.h
diff --git a/lib/freetype/include/ftotval.h b/lib/freetype/include/freetype/ftotval.h
index e744b713f..e744b713f 100644
--- a/lib/freetype/include/ftotval.h
+++ b/lib/freetype/include/freetype/ftotval.h
diff --git a/lib/freetype/include/ftoutln.h b/lib/freetype/include/freetype/ftoutln.h
index 106cfde06..b6ec70de8 100644
--- a/lib/freetype/include/ftoutln.h
+++ b/lib/freetype/include/freetype/ftoutln.h
@@ -354,8 +354,8 @@ FT_BEGIN_HEADER
/* */
/* { */
/* FT_Load_Glyph( face, index, FT_LOAD_DEFAULT ); */
- /* if ( face->slot->format == FT_GLYPH_FORMAT_OUTLINE ) */
- /* FT_Outline_Embolden( &face->slot->outline, strength ); */
+ /* if ( face->glyph->format == FT_GLYPH_FORMAT_OUTLINE ) */
+ /* FT_Outline_Embolden( &face->glyph->outline, strength ); */
/* } */
/* */
/* To get meaningful results, font scaling values must be set with */
diff --git a/lib/freetype/include/ftpfr.h b/lib/freetype/include/freetype/ftpfr.h
index a1c02a2f5..a1c02a2f5 100644
--- a/lib/freetype/include/ftpfr.h
+++ b/lib/freetype/include/freetype/ftpfr.h
diff --git a/lib/freetype/include/ftrender.h b/lib/freetype/include/freetype/ftrender.h
index ec8da700b..ec8da700b 100644
--- a/lib/freetype/include/ftrender.h
+++ b/lib/freetype/include/freetype/ftrender.h
diff --git a/lib/freetype/include/ftsizes.h b/lib/freetype/include/freetype/ftsizes.h
index bef842471..bef842471 100644
--- a/lib/freetype/include/ftsizes.h
+++ b/lib/freetype/include/freetype/ftsizes.h
diff --git a/lib/freetype/include/ftsnames.h b/lib/freetype/include/freetype/ftsnames.h
index 0f7fbe174..0f7fbe174 100644
--- a/lib/freetype/include/ftsnames.h
+++ b/lib/freetype/include/freetype/ftsnames.h
diff --git a/lib/freetype/include/ftstroke.h b/lib/freetype/include/freetype/ftstroke.h
index 7ebb1e740..7ebb1e740 100644
--- a/lib/freetype/include/ftstroke.h
+++ b/lib/freetype/include/freetype/ftstroke.h
diff --git a/lib/freetype/include/ftsynth.h b/lib/freetype/include/freetype/ftsynth.h
index fbcbad871..fbcbad871 100644
--- a/lib/freetype/include/ftsynth.h
+++ b/lib/freetype/include/freetype/ftsynth.h
diff --git a/lib/freetype/include/ftsystem.h b/lib/freetype/include/freetype/ftsystem.h
index 2bc999910..2bc999910 100644
--- a/lib/freetype/include/ftsystem.h
+++ b/lib/freetype/include/freetype/ftsystem.h
diff --git a/lib/freetype/include/fttrigon.h b/lib/freetype/include/freetype/fttrigon.h
index 3d821ba16..485ec5158 100644
--- a/lib/freetype/include/fttrigon.h
+++ b/lib/freetype/include/freetype/fttrigon.h
@@ -225,8 +225,8 @@ FT_BEGIN_HEADER
*
* @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.
diff --git a/lib/freetype/include/ftttdrv.h b/lib/freetype/include/freetype/ftttdrv.h
index f56040b82..dc0081a0b 100644
--- a/lib/freetype/include/ftttdrv.h
+++ b/lib/freetype/include/freetype/ftttdrv.h
@@ -52,6 +52,83 @@ FT_BEGIN_HEADER
*
* The TrueType driver's module name is `truetype'.
*
+ * 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://www.beatstamm.com/typography/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://www.beatstamm.com/typography/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://www.beatstamm.com/typography/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_ _Backwards_ _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://www.beatstamm.com/typography/RTRCh4.htm#Sec1 and
+ * http://www.microsoft.com/typography/cleartype/truetypecleartype.aspx.
+ * This technique is not to be confused with ClearType compatible
+ * widths. ClearType backwards 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 backwards
+ * 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.
+ *
*/
diff --git a/lib/freetype/include/fttypes.h b/lib/freetype/include/freetype/fttypes.h
index 706a1be4e..706a1be4e 100644
--- a/lib/freetype/include/fttypes.h
+++ b/lib/freetype/include/freetype/fttypes.h
diff --git a/lib/freetype/include/ftwinfnt.h b/lib/freetype/include/freetype/ftwinfnt.h
index caedaa1cc..caedaa1cc 100644
--- a/lib/freetype/include/ftwinfnt.h
+++ b/lib/freetype/include/freetype/ftwinfnt.h
diff --git a/lib/freetype/include/freetype/internal/Makefile b/lib/freetype/include/freetype/internal/Makefile
new file mode 100644
index 000000000..2112bac22
--- /dev/null
+++ b/lib/freetype/include/freetype/internal/Makefile
@@ -0,0 +1,13 @@
+# $OpenBSD: Makefile,v 1.6 2015/10/19 07:51:36 dcoppa Exp $
+.include <bsd.xorg.mk>
+
+SUBDIR= services
+
+INCSDIR=${X11BASE}/include/freetype2/freetype/internal
+
+INCS= autohint.h ftcalc.h ftdebug.h ftdriver.h ftgloadr.h \
+ ftmemory.h ftobjs.h ftpic.h ftrfork.h ftserv.h ftstream.h \
+ fttrace.h ftvalid.h internal.h psaux.h pshints.h \
+ sfnt.h t1types.h tttypes.h
+
+.include <bsd.subdir.mk>
diff --git a/lib/freetype/include/internal/autohint.h b/lib/freetype/include/freetype/internal/autohint.h
index 8d5a9773c..8d5a9773c 100644
--- a/lib/freetype/include/internal/autohint.h
+++ b/lib/freetype/include/freetype/internal/autohint.h
diff --git a/lib/freetype/include/internal/ftcalc.h b/lib/freetype/include/freetype/internal/ftcalc.h
index 75752c3d9..67ade7e5f 100644
--- a/lib/freetype/include/internal/ftcalc.h
+++ b/lib/freetype/include/freetype/internal/ftcalc.h
@@ -300,6 +300,18 @@ FT_BEGIN_HEADER
/*
+ * This function normalizes a vector and returns its original length.
+ * The normalized vector is a 16.16 fixed-point unit vector with length
+ * close to 0x10000. The accuracy of the returned length is limited to
+ * 16 bits also. The function utilizes quick inverse square root
+ * approximation without divisions and square roots relying on Newton's
+ * iterations instead.
+ */
+ FT_BASE( FT_UInt32 )
+ FT_Vector_NormLen( FT_Vector* vector );
+
+
+ /*
* Return -1, 0, or +1, depending on the orientation of a given corner.
* We use the Cartesian coordinate system, with positive vertical values
* going upwards. The function returns +1 if the corner turns to the
diff --git a/lib/freetype/include/internal/ftdebug.h b/lib/freetype/include/freetype/internal/ftdebug.h
index 216c73031..216c73031 100644
--- a/lib/freetype/include/internal/ftdebug.h
+++ b/lib/freetype/include/freetype/internal/ftdebug.h
diff --git a/lib/freetype/include/internal/ftdriver.h b/lib/freetype/include/freetype/internal/ftdriver.h
index 16856d3df..16856d3df 100644
--- a/lib/freetype/include/internal/ftdriver.h
+++ b/lib/freetype/include/freetype/internal/ftdriver.h
diff --git a/lib/freetype/include/internal/ftgloadr.h b/lib/freetype/include/freetype/internal/ftgloadr.h
index 970dd70cc..970dd70cc 100644
--- a/lib/freetype/include/internal/ftgloadr.h
+++ b/lib/freetype/include/freetype/internal/ftgloadr.h
diff --git a/lib/freetype/include/internal/ftmemory.h b/lib/freetype/include/freetype/internal/ftmemory.h
index c0c553b4f..c0c553b4f 100644
--- a/lib/freetype/include/internal/ftmemory.h
+++ b/lib/freetype/include/freetype/internal/ftmemory.h
diff --git a/lib/freetype/include/internal/ftobjs.h b/lib/freetype/include/freetype/internal/ftobjs.h
index 37317a43c..da5582dc3 100644
--- a/lib/freetype/include/internal/ftobjs.h
+++ b/lib/freetype/include/freetype/internal/ftobjs.h
@@ -83,12 +83,12 @@ FT_BEGIN_HEADER
x > y ? x + ( 3 * y >> 3 ) \
: y + ( 3 * x >> 3 ) )
- /* we use the TYPEOF macro to suppress signedness compilation warnings */
-#define FT_PAD_FLOOR( x, n ) ( (x) & ~TYPEOF( x )( (n)-1 ) )
+ /* we use FT_TYPEOF to suppress signedness compilation warnings */
+#define FT_PAD_FLOOR( x, n ) ( (x) & ~FT_TYPEOF( x )( (n)-1 ) )
#define FT_PAD_ROUND( x, n ) FT_PAD_FLOOR( (x) + ((n)/2), n )
#define FT_PAD_CEIL( x, n ) FT_PAD_FLOOR( (x) + ((n)-1), n )
-#define FT_PIX_FLOOR( x ) ( (x) & ~TYPEOF( x )63 )
+#define FT_PIX_FLOOR( x ) ( (x) & ~FT_TYPEOF( x )63 )
#define FT_PIX_ROUND( x ) FT_PIX_FLOOR( (x) + 32 )
#define FT_PIX_CEIL( x ) FT_PIX_FLOOR( (x) + 63 )
diff --git a/lib/freetype/include/internal/ftpic.h b/lib/freetype/include/freetype/internal/ftpic.h
index 7f9154f41..7f9154f41 100644
--- a/lib/freetype/include/internal/ftpic.h
+++ b/lib/freetype/include/freetype/internal/ftpic.h
diff --git a/lib/freetype/include/internal/ftrfork.h b/lib/freetype/include/freetype/internal/ftrfork.h
index da61ca75b..da61ca75b 100644
--- a/lib/freetype/include/internal/ftrfork.h
+++ b/lib/freetype/include/freetype/internal/ftrfork.h
diff --git a/lib/freetype/include/internal/ftserv.h b/lib/freetype/include/freetype/internal/ftserv.h
index 8f837e475..11a0c7f3d 100644
--- a/lib/freetype/include/internal/ftserv.h
+++ b/lib/freetype/include/freetype/internal/ftserv.h
@@ -734,24 +734,24 @@ FT_BEGIN_HEADER
* The header files containing the services.
*/
-#define FT_SERVICE_BDF_H <internal/services/svbdf.h>
-#define FT_SERVICE_CID_H <internal/services/svcid.h>
-#define FT_SERVICE_GLYPH_DICT_H <internal/services/svgldict.h>
-#define FT_SERVICE_GX_VALIDATE_H <internal/services/svgxval.h>
-#define FT_SERVICE_KERNING_H <internal/services/svkern.h>
-#define FT_SERVICE_MULTIPLE_MASTERS_H <internal/services/svmm.h>
-#define FT_SERVICE_OPENTYPE_VALIDATE_H <internal/services/svotval.h>
-#define FT_SERVICE_PFR_H <internal/services/svpfr.h>
-#define FT_SERVICE_POSTSCRIPT_CMAPS_H <internal/services/svpscmap.h>
-#define FT_SERVICE_POSTSCRIPT_INFO_H <internal/services/svpsinfo.h>
-#define FT_SERVICE_POSTSCRIPT_NAME_H <internal/services/svpostnm.h>
-#define FT_SERVICE_PROPERTIES_H <internal/services/svprop.h>
-#define FT_SERVICE_SFNT_H <internal/services/svsfnt.h>
-#define FT_SERVICE_TRUETYPE_ENGINE_H <internal/services/svtteng.h>
-#define FT_SERVICE_TT_CMAP_H <internal/services/svttcmap.h>
-#define FT_SERVICE_WINFNT_H <internal/services/svwinfnt.h>
-#define FT_SERVICE_FONT_FORMAT_H <internal/services/svfntfmt.h>
-#define FT_SERVICE_TRUETYPE_GLYF_H <internal/services/svttglyf.h>
+#define FT_SERVICE_BDF_H <freetype/internal/services/svbdf.h>
+#define FT_SERVICE_CID_H <freetype/internal/services/svcid.h>
+#define FT_SERVICE_GLYPH_DICT_H <freetype/internal/services/svgldict.h>
+#define FT_SERVICE_GX_VALIDATE_H <freetype/internal/services/svgxval.h>
+#define FT_SERVICE_KERNING_H <freetype/internal/services/svkern.h>
+#define FT_SERVICE_MULTIPLE_MASTERS_H <freetype/internal/services/svmm.h>
+#define FT_SERVICE_OPENTYPE_VALIDATE_H <freetype/internal/services/svotval.h>
+#define FT_SERVICE_PFR_H <freetype/internal/services/svpfr.h>
+#define FT_SERVICE_POSTSCRIPT_CMAPS_H <freetype/internal/services/svpscmap.h>
+#define FT_SERVICE_POSTSCRIPT_INFO_H <freetype/internal/services/svpsinfo.h>
+#define FT_SERVICE_POSTSCRIPT_NAME_H <freetype/internal/services/svpostnm.h>
+#define FT_SERVICE_PROPERTIES_H <freetype/internal/services/svprop.h>
+#define FT_SERVICE_SFNT_H <freetype/internal/services/svsfnt.h>
+#define FT_SERVICE_TRUETYPE_ENGINE_H <freetype/internal/services/svtteng.h>
+#define FT_SERVICE_TT_CMAP_H <freetype/internal/services/svttcmap.h>
+#define FT_SERVICE_WINFNT_H <freetype/internal/services/svwinfnt.h>
+#define FT_SERVICE_FONT_FORMAT_H <freetype/internal/services/svfntfmt.h>
+#define FT_SERVICE_TRUETYPE_GLYF_H <freetype/internal/services/svttglyf.h>
/* */
diff --git a/lib/freetype/include/internal/ftstream.h b/lib/freetype/include/freetype/internal/ftstream.h
index 384e5df30..384e5df30 100644
--- a/lib/freetype/include/internal/ftstream.h
+++ b/lib/freetype/include/freetype/internal/ftstream.h
diff --git a/lib/freetype/include/internal/fttrace.h b/lib/freetype/include/freetype/internal/fttrace.h
index 9d28d214d..9d28d214d 100644
--- a/lib/freetype/include/internal/fttrace.h
+++ b/lib/freetype/include/freetype/internal/fttrace.h
diff --git a/lib/freetype/include/internal/ftvalid.h b/lib/freetype/include/freetype/internal/ftvalid.h
index 9cda6eef5..9cda6eef5 100644
--- a/lib/freetype/include/internal/ftvalid.h
+++ b/lib/freetype/include/freetype/internal/ftvalid.h
diff --git a/lib/freetype/include/internal/internal.h b/lib/freetype/include/freetype/internal/internal.h
index 1c1fd0ee1..809ce59c9 100644
--- a/lib/freetype/include/internal/internal.h
+++ b/lib/freetype/include/freetype/internal/internal.h
@@ -24,28 +24,28 @@
/*************************************************************************/
-#define FT_INTERNAL_OBJECTS_H <internal/ftobjs.h>
-#define FT_INTERNAL_PIC_H <internal/ftpic.h>
-#define FT_INTERNAL_STREAM_H <internal/ftstream.h>
-#define FT_INTERNAL_MEMORY_H <internal/ftmemory.h>
-#define FT_INTERNAL_DEBUG_H <internal/ftdebug.h>
-#define FT_INTERNAL_CALC_H <internal/ftcalc.h>
-#define FT_INTERNAL_DRIVER_H <internal/ftdriver.h>
-#define FT_INTERNAL_TRACE_H <internal/fttrace.h>
-#define FT_INTERNAL_GLYPH_LOADER_H <internal/ftgloadr.h>
-#define FT_INTERNAL_SFNT_H <internal/sfnt.h>
-#define FT_INTERNAL_SERVICE_H <internal/ftserv.h>
-#define FT_INTERNAL_RFORK_H <internal/ftrfork.h>
-#define FT_INTERNAL_VALIDATE_H <internal/ftvalid.h>
-
-#define FT_INTERNAL_TRUETYPE_TYPES_H <internal/tttypes.h>
-#define FT_INTERNAL_TYPE1_TYPES_H <internal/t1types.h>
-
-#define FT_INTERNAL_POSTSCRIPT_AUX_H <internal/psaux.h>
-#define FT_INTERNAL_POSTSCRIPT_HINTS_H <internal/pshints.h>
-#define FT_INTERNAL_POSTSCRIPT_GLOBALS_H <internal/psglobal.h>
-
-#define FT_INTERNAL_AUTOHINT_H <internal/autohint.h>
+#define FT_INTERNAL_OBJECTS_H <freetype/internal/ftobjs.h>
+#define FT_INTERNAL_PIC_H <freetype/internal/ftpic.h>
+#define FT_INTERNAL_STREAM_H <freetype/internal/ftstream.h>
+#define FT_INTERNAL_MEMORY_H <freetype/internal/ftmemory.h>
+#define FT_INTERNAL_DEBUG_H <freetype/internal/ftdebug.h>
+#define FT_INTERNAL_CALC_H <freetype/internal/ftcalc.h>
+#define FT_INTERNAL_DRIVER_H <freetype/internal/ftdriver.h>
+#define FT_INTERNAL_TRACE_H <freetype/internal/fttrace.h>
+#define FT_INTERNAL_GLYPH_LOADER_H <freetype/internal/ftgloadr.h>
+#define FT_INTERNAL_SFNT_H <freetype/internal/sfnt.h>
+#define FT_INTERNAL_SERVICE_H <freetype/internal/ftserv.h>
+#define FT_INTERNAL_RFORK_H <freetype/internal/ftrfork.h>
+#define FT_INTERNAL_VALIDATE_H <freetype/internal/ftvalid.h>
+
+#define FT_INTERNAL_TRUETYPE_TYPES_H <freetype/internal/tttypes.h>
+#define FT_INTERNAL_TYPE1_TYPES_H <freetype/internal/t1types.h>
+
+#define FT_INTERNAL_POSTSCRIPT_AUX_H <freetype/internal/psaux.h>
+#define FT_INTERNAL_POSTSCRIPT_HINTS_H <freetype/internal/pshints.h>
+#define FT_INTERNAL_POSTSCRIPT_GLOBALS_H <freetype/internal/psglobal.h>
+
+#define FT_INTERNAL_AUTOHINT_H <freetype/internal/autohint.h>
#if defined( _MSC_VER ) /* Visual C++ (and Intel C++) */
diff --git a/lib/freetype/include/internal/psaux.h b/lib/freetype/include/freetype/internal/psaux.h
index 1c5f784f5..1c5f784f5 100644
--- a/lib/freetype/include/internal/psaux.h
+++ b/lib/freetype/include/freetype/internal/psaux.h
diff --git a/lib/freetype/include/internal/pshints.h b/lib/freetype/include/freetype/internal/pshints.h
index 12aaabacd..12aaabacd 100644
--- a/lib/freetype/include/internal/pshints.h
+++ b/lib/freetype/include/freetype/internal/pshints.h
diff --git a/lib/freetype/include/freetype/internal/services/Makefile b/lib/freetype/include/freetype/internal/services/Makefile
new file mode 100644
index 000000000..53a1ffb7e
--- /dev/null
+++ b/lib/freetype/include/freetype/internal/services/Makefile
@@ -0,0 +1,10 @@
+# $OpenBSD: Makefile,v 1.6 2015/10/19 07:51:36 dcoppa Exp $
+.include <bsd.xorg.mk>
+
+INCSDIR=${X11BASE}/include/freetype2/freetype/internal/services
+
+INCS= svbdf.h svcid.h svfntfmt.h svgldict.h svgxval.h svkern.h svmm.h \
+ svotval.h svpfr.h svpostnm.h svprop.h svpscmap.h svpsinfo.h \
+ svsfnt.h svttcmap.h svtteng.h svttglyf.h svwinfnt.h
+
+.include "../../Makefile.inc"
diff --git a/lib/freetype/include/internal/services/svbdf.h b/lib/freetype/include/freetype/internal/services/svbdf.h
index 865b53687..865b53687 100644
--- a/lib/freetype/include/internal/services/svbdf.h
+++ b/lib/freetype/include/freetype/internal/services/svbdf.h
diff --git a/lib/freetype/include/internal/services/svcid.h b/lib/freetype/include/freetype/internal/services/svcid.h
index 4a535a6f4..4a535a6f4 100644
--- a/lib/freetype/include/internal/services/svcid.h
+++ b/lib/freetype/include/freetype/internal/services/svcid.h
diff --git a/lib/freetype/include/internal/services/svfntfmt.h b/lib/freetype/include/freetype/internal/services/svfntfmt.h
index f8b361736..f8b361736 100644
--- a/lib/freetype/include/internal/services/svfntfmt.h
+++ b/lib/freetype/include/freetype/internal/services/svfntfmt.h
diff --git a/lib/freetype/include/internal/services/svgldict.h b/lib/freetype/include/freetype/internal/services/svgldict.h
index f78bca5d7..f78bca5d7 100644
--- a/lib/freetype/include/internal/services/svgldict.h
+++ b/lib/freetype/include/freetype/internal/services/svgldict.h
diff --git a/lib/freetype/include/internal/services/svgxval.h b/lib/freetype/include/freetype/internal/services/svgxval.h
index 59cc3b704..59cc3b704 100644
--- a/lib/freetype/include/internal/services/svgxval.h
+++ b/lib/freetype/include/freetype/internal/services/svgxval.h
diff --git a/lib/freetype/include/internal/services/svkern.h b/lib/freetype/include/freetype/internal/services/svkern.h
index bc26f1594..bc26f1594 100644
--- a/lib/freetype/include/internal/services/svkern.h
+++ b/lib/freetype/include/freetype/internal/services/svkern.h
diff --git a/lib/freetype/include/internal/services/svmm.h b/lib/freetype/include/freetype/internal/services/svmm.h
index f2cecfbb3..f2cecfbb3 100644
--- a/lib/freetype/include/internal/services/svmm.h
+++ b/lib/freetype/include/freetype/internal/services/svmm.h
diff --git a/lib/freetype/include/internal/services/svotval.h b/lib/freetype/include/freetype/internal/services/svotval.h
index a82a6420f..a82a6420f 100644
--- a/lib/freetype/include/internal/services/svotval.h
+++ b/lib/freetype/include/freetype/internal/services/svotval.h
diff --git a/lib/freetype/include/internal/services/svpfr.h b/lib/freetype/include/freetype/internal/services/svpfr.h
index d4eb1693d..d4eb1693d 100644
--- a/lib/freetype/include/internal/services/svpfr.h
+++ b/lib/freetype/include/freetype/internal/services/svpfr.h
diff --git a/lib/freetype/include/internal/services/svpostnm.h b/lib/freetype/include/freetype/internal/services/svpostnm.h
index a89f79e47..a89f79e47 100644
--- a/lib/freetype/include/internal/services/svpostnm.h
+++ b/lib/freetype/include/freetype/internal/services/svpostnm.h
diff --git a/lib/freetype/include/internal/services/svprop.h b/lib/freetype/include/freetype/internal/services/svprop.h
index c9f07ce33..c9f07ce33 100644
--- a/lib/freetype/include/internal/services/svprop.h
+++ b/lib/freetype/include/freetype/internal/services/svprop.h
diff --git a/lib/freetype/include/internal/services/svpscmap.h b/lib/freetype/include/freetype/internal/services/svpscmap.h
index 66da6e104..66da6e104 100644
--- a/lib/freetype/include/internal/services/svpscmap.h
+++ b/lib/freetype/include/freetype/internal/services/svpscmap.h
diff --git a/lib/freetype/include/internal/services/svpsinfo.h b/lib/freetype/include/freetype/internal/services/svpsinfo.h
index 752a26602..752a26602 100644
--- a/lib/freetype/include/internal/services/svpsinfo.h
+++ b/lib/freetype/include/freetype/internal/services/svpsinfo.h
diff --git a/lib/freetype/include/internal/services/svsfnt.h b/lib/freetype/include/freetype/internal/services/svsfnt.h
index 252ae1cf5..252ae1cf5 100644
--- a/lib/freetype/include/internal/services/svsfnt.h
+++ b/lib/freetype/include/freetype/internal/services/svsfnt.h
diff --git a/lib/freetype/include/internal/services/svttcmap.h b/lib/freetype/include/freetype/internal/services/svttcmap.h
index 4351a9ae0..cd95b9ab8 100644
--- a/lib/freetype/include/internal/services/svttcmap.h
+++ b/lib/freetype/include/freetype/internal/services/svttcmap.h
@@ -48,11 +48,12 @@ FT_BEGIN_HEADER
/* `ttnameid.h'. */
/* */
/* format :: */
- /* The cmap format. OpenType 1.5 defines the formats 0 (byte */
+ /* The cmap format. OpenType 1.6 defines the formats 0 (byte */
/* encoding table), 2~(high-byte mapping through table), 4~(segment */
/* mapping to delta values), 6~(trimmed table mapping), 8~(mixed */
/* 16-bit and 32-bit coverage), 10~(trimmed array), 12~(segmented */
- /* coverage), and 14 (Unicode Variation Sequences). */
+ /* coverage), 13~(last resort font), and 14 (Unicode Variation */
+ /* Sequences). */
/* */
typedef struct TT_CMapInfo_
{
diff --git a/lib/freetype/include/internal/services/svtteng.h b/lib/freetype/include/freetype/internal/services/svtteng.h
index 272ee8c05..272ee8c05 100644
--- a/lib/freetype/include/internal/services/svtteng.h
+++ b/lib/freetype/include/freetype/internal/services/svtteng.h
diff --git a/lib/freetype/include/internal/services/svttglyf.h b/lib/freetype/include/freetype/internal/services/svttglyf.h
index f5cb76a9f..f5cb76a9f 100644
--- a/lib/freetype/include/internal/services/svttglyf.h
+++ b/lib/freetype/include/freetype/internal/services/svttglyf.h
diff --git a/lib/freetype/include/internal/services/svwinfnt.h b/lib/freetype/include/freetype/internal/services/svwinfnt.h
index 0036929b2..0036929b2 100644
--- a/lib/freetype/include/internal/services/svwinfnt.h
+++ b/lib/freetype/include/freetype/internal/services/svwinfnt.h
diff --git a/lib/freetype/include/internal/sfnt.h b/lib/freetype/include/freetype/internal/sfnt.h
index 97ce390c3..30f53bf09 100644
--- a/lib/freetype/include/internal/sfnt.h
+++ b/lib/freetype/include/freetype/internal/sfnt.h
@@ -44,7 +44,9 @@ FT_BEGIN_HEADER
/* face :: A handle to the target face object. */
/* */
/* face_index :: The index of the TrueType font, if we are opening a */
- /* collection. */
+ /* collection, in bits 0-15. The numbered instance */
+ /* index~+~1 of a GX (sub)font, if applicable, in bits */
+ /* 16-30. */
/* */
/* num_params :: The number of additional parameters. */
/* */
@@ -87,7 +89,9 @@ FT_BEGIN_HEADER
/* face :: A handle to the target face object. */
/* */
/* face_index :: The index of the TrueType font, if we are opening a */
- /* collection. */
+ /* collection, in bits 0-15. The numbered instance */
+ /* index~+~1 of a GX (sub)font, if applicable, in bits */
+ /* 16-30. */
/* */
/* num_params :: The number of additional parameters. */
/* */
@@ -427,6 +431,33 @@ FT_BEGIN_HEADER
/*************************************************************************/
/* */
/* <FuncType> */
+ /* TT_Get_Name_Func */
+ /* */
+ /* <Description> */
+ /* From the `name' table, return a given ENGLISH name record in */
+ /* ASCII. */
+ /* */
+ /* <Input> */
+ /* face :: A handle to the source face object. */
+ /* */
+ /* nameid :: The name id of the name record to return. */
+ /* */
+ /* <InOut> */
+ /* name :: The address of an allocated string pointer. NULL if */
+ /* no name is present. */
+ /* */
+ /* <Return> */
+ /* FreeType error code. 0 means success. */
+ /* */
+ typedef FT_Error
+ (*TT_Get_Name_Func)( TT_Face face,
+ FT_UShort nameid,
+ FT_String** name );
+
+
+ /*************************************************************************/
+ /* */
+ /* <FuncType> */
/* TT_Load_Table_Func */
/* */
/* <Description> */
@@ -556,6 +587,8 @@ FT_BEGIN_HEADER
TT_Get_Metrics_Func get_metrics;
+ TT_Get_Name_Func get_name;
+
} SFNT_Interface;
@@ -594,7 +627,8 @@ FT_BEGIN_HEADER
free_eblc_, \
set_sbit_strike_, \
load_strike_metrics_, \
- get_metrics_ ) \
+ get_metrics_, \
+ get_name_ ) \
static const SFNT_Interface class_ = \
{ \
goto_table_, \
@@ -626,6 +660,7 @@ FT_BEGIN_HEADER
set_sbit_strike_, \
load_strike_metrics_, \
get_metrics_, \
+ get_name_, \
};
#else /* FT_CONFIG_OPTION_PIC */
@@ -663,7 +698,8 @@ FT_BEGIN_HEADER
free_eblc_, \
set_sbit_strike_, \
load_strike_metrics_, \
- get_metrics_ ) \
+ get_metrics_, \
+ get_name_ ) \
void \
FT_Init_Class_ ## class_( FT_Library library, \
SFNT_Interface* clazz ) \
@@ -699,6 +735,7 @@ FT_BEGIN_HEADER
clazz->set_sbit_strike = set_sbit_strike_; \
clazz->load_strike_metrics = load_strike_metrics_; \
clazz->get_metrics = get_metrics_; \
+ clazz->get_name = get_name_; \
}
#endif /* FT_CONFIG_OPTION_PIC */
diff --git a/lib/freetype/include/internal/t1types.h b/lib/freetype/include/freetype/internal/t1types.h
index 029acc400..029acc400 100644
--- a/lib/freetype/include/internal/t1types.h
+++ b/lib/freetype/include/freetype/internal/t1types.h
diff --git a/lib/freetype/include/internal/tttypes.h b/lib/freetype/include/freetype/internal/tttypes.h
index 31dd0aac6..1507a7c57 100644
--- a/lib/freetype/include/internal/tttypes.h
+++ b/lib/freetype/include/freetype/internal/tttypes.h
@@ -1457,11 +1457,23 @@ FT_BEGIN_HEADER
/* handle to execution context */
typedef struct TT_ExecContextRec_* TT_ExecContext;
+
+ /*************************************************************************/
+ /* */
+ /* <Type> */
+ /* TT_Size */
+ /* */
+ /* <Description> */
+ /* A handle to a TrueType size object. */
+ /* */
+ typedef struct TT_SizeRec_* TT_Size;
+
+
/* glyph loader structure */
typedef struct TT_LoaderRec_
{
- FT_Face face;
- FT_Size size;
+ TT_Face face;
+ TT_Size size;
FT_GlyphSlot glyph;
FT_GlyphLoader gloader;
diff --git a/lib/freetype/include/t1tables.h b/lib/freetype/include/freetype/t1tables.h
index a6ea415af..a6ea415af 100644
--- a/lib/freetype/include/t1tables.h
+++ b/lib/freetype/include/freetype/t1tables.h
diff --git a/lib/freetype/include/ttnameid.h b/lib/freetype/include/freetype/ttnameid.h
index c9585f241..c9585f241 100644
--- a/lib/freetype/include/ttnameid.h
+++ b/lib/freetype/include/freetype/ttnameid.h
diff --git a/lib/freetype/include/tttables.h b/lib/freetype/include/freetype/tttables.h
index 1568f4036..1568f4036 100644
--- a/lib/freetype/include/tttables.h
+++ b/lib/freetype/include/freetype/tttables.h
diff --git a/lib/freetype/include/tttags.h b/lib/freetype/include/freetype/tttags.h
index 3836c7bbf..3836c7bbf 100644
--- a/lib/freetype/include/tttags.h
+++ b/lib/freetype/include/freetype/tttags.h
diff --git a/lib/freetype/include/ttunpat.h b/lib/freetype/include/freetype/ttunpat.h
index 8ea556895..8ea556895 100644
--- a/lib/freetype/include/ttunpat.h
+++ b/lib/freetype/include/freetype/ttunpat.h
diff --git a/lib/freetype/include/ft2build.h b/lib/freetype/include/ft2build.h
index 09c19d42a..419b80ae4 100644
--- a/lib/freetype/include/ft2build.h
+++ b/lib/freetype/include/ft2build.h
@@ -34,7 +34,7 @@
#ifndef __FT2BUILD_H__
#define __FT2BUILD_H__
-#include <config/ftheader.h>
+#include <freetype/config/ftheader.h>
#endif /* __FT2BUILD_H__ */
diff --git a/lib/freetype/modules.cfg b/lib/freetype/modules.cfg
index 9ba66dfc8..2984e5124 100644
--- a/lib/freetype/modules.cfg
+++ b/lib/freetype/modules.cfg
@@ -19,7 +19,7 @@
# activate a module, remove the comment character.
#
# Note that many modules and components are further controlled with macros
-# in the file `include/config/ftoption.h'.
+# in the file `include/freetype/config/ftoption.h'.
####
@@ -85,7 +85,7 @@ HINTING_MODULES += autofit
HINTING_MODULES += pshinter
# The TrueType hinting engine doesn't have a module of its own but is
-# controlled in file include/config/ftoption.h
+# controlled in file include/freetype/config/ftoption.h
# (TT_CONFIG_OPTION_BYTECODE_INTERPRETER and friends).
@@ -106,7 +106,7 @@ RASTER_MODULES += smooth
# FreeType's cache sub-system (quite stable but still in beta -- this means
# that its public API is subject to change if necessary). See
-# include/ftcache.h. Needs ftglyph.c.
+# include/freetype/ftcache.h. Needs ftglyph.c.
AUX_MODULES += cache
# TrueType GX/AAT table validation. Needs ftgxval.c below.
@@ -114,17 +114,17 @@ AUX_MODULES += cache
# Support for streams compressed with gzip (files with suffix .gz).
#
-# See include/ftgzip.h for the API.
+# See include/freetype/ftgzip.h for the API.
AUX_MODULES += gzip
# Support for streams compressed with LZW (files with suffix .Z).
#
-# See include/ftlzw.h for the API.
+# See include/freetype/ftlzw.h for the API.
AUX_MODULES += lzw
# Support for streams compressed with bzip2 (files with suffix .bz2).
#
-# See include/ftbzip2.h for the API.
+# See include/freetype/ftbzip2.h for the API.
AUX_MODULES += bzip2
# OpenType table validation. Needs ftotval.c below.
@@ -149,95 +149,95 @@ AUX_MODULES += psnames
# Exact bounding box calculation.
#
-# See include/ftbbox.h for the API.
+# See include/freetype/ftbbox.h for the API.
BASE_EXTENSIONS += ftbbox.c
# Access BDF-specific strings. Needs BDF font driver.
#
-# See include/ftbdf.h for the API.
+# See include/freetype/ftbdf.h for the API.
BASE_EXTENSIONS += ftbdf.c
# Utility functions for converting 1bpp, 2bpp, 4bpp, and 8bpp bitmaps into
# 8bpp format, and for emboldening of bitmap glyphs.
#
-# See include/ftbitmap.h for the API.
+# See include/freetype/ftbitmap.h for the API.
BASE_EXTENSIONS += ftbitmap.c
# Access CID font information.
#
-# See include/ftcid.h for the API.
+# See include/freetype/ftcid.h for the API.
BASE_EXTENSIONS += ftcid.c
# Support functions for font formats.
#
-# See include/ftfntfmt.h for the API.
+# See include/freetype/ftfntfmt.h for the API.
BASE_EXTENSIONS += ftfntfmt.c
# Access FSType information. Needs fttype1.c.
#
-# See include/freetype.h for the API.
+# See include/freetype/freetype.h for the API.
BASE_EXTENSIONS += ftfstype.c
# Support for GASP table queries.
#
-# See include/ftgasp.h for the API.
+# See include/freetype/ftgasp.h for the API.
BASE_EXTENSIONS += ftgasp.c
# Convenience functions to handle glyphs. Needs ftbitmap.c.
#
-# See include/ftglyph.h for the API.
+# See include/freetype/ftglyph.h for the API.
BASE_EXTENSIONS += ftglyph.c
# Interface for gxvalid module.
#
-# See include/ftgxval.h for the API.
+# See include/freetype/ftgxval.h for the API.
BASE_EXTENSIONS += ftgxval.c
# Support for LCD color filtering of subpixel bitmaps.
#
-# See include/ftlcdfil.h for the API.
+# See include/freetype/ftlcdfil.h for the API.
BASE_EXTENSIONS += ftlcdfil.c
# Multiple Master font interface.
#
-# See include/ftmm.h for the API.
+# See include/freetype/ftmm.h for the API.
BASE_EXTENSIONS += ftmm.c
# Interface for otvalid module.
#
-# See include/ftotval.h for the API.
+# See include/freetype/ftotval.h for the API.
BASE_EXTENSIONS += ftotval.c
# Support for FT_Face_CheckTrueTypePatents.
#
-# See include/freetype.h for the API.
+# See include/freetype/freetype.h for the API.
BASE_EXTENSIONS += ftpatent.c
# Interface for accessing PFR-specific data. Needs PFR font driver.
#
-# See include/ftpfr.h for the API.
+# See include/freetype/ftpfr.h for the API.
BASE_EXTENSIONS += ftpfr.c
# Path stroker. Needs ftglyph.c.
#
-# See include/ftstroke.h for the API.
+# See include/freetype/ftstroke.h for the API.
BASE_EXTENSIONS += ftstroke.c
# Support for synthetic embolding and slanting of fonts. Needs ftbitmap.c.
#
-# See include/ftsynth.h for the API.
+# See include/freetype/ftsynth.h for the API.
BASE_EXTENSIONS += ftsynth.c
# Interface to access data specific to PostScript Type 1 and Type 2 (CFF)
# fonts.
#
-# See include/t1tables.h for the API.
+# See include/freetype/t1tables.h for the API.
BASE_EXTENSIONS += fttype1.c
# Interface for accessing data specific to Windows FNT files. Needs winfnt
# driver.
#
-# See include/ftwinfnt.h for the API.
+# See include/freetype/ftwinfnt.h for the API.
BASE_EXTENSIONS += ftwinfnt.c
####
diff --git a/lib/freetype/src/Jamfile b/lib/freetype/src/Jamfile
index 7a9ee96f2..65e061910 100644
--- a/lib/freetype/src/Jamfile
+++ b/lib/freetype/src/Jamfile
@@ -11,12 +11,6 @@
SubDir FT2_TOP $(FT2_SRC_DIR) ;
-# The file <internal/internal.h> is used to define macros that are
-# later used in #include statements. It needs to be parsed in order to
-# record these definitions.
-#
-HDRMACRO [ FT2_SubDir $(FT2_INCLUDE_DIR) internal internal.h ] ;
-
for xx in $(FT2_COMPONENTS)
{
SubInclude FT2_TOP $(FT2_SRC_DIR) $(xx) ;
diff --git a/lib/freetype/src/autofit/Jamfile b/lib/freetype/src/autofit/Jamfile
index 6600a3447..5cd0b4610 100644
--- a/lib/freetype/src/autofit/Jamfile
+++ b/lib/freetype/src/autofit/Jamfile
@@ -17,11 +17,25 @@ SubDir FT2_TOP src autofit ;
# define FT2_AUTOFIT2 to enable experimental latin hinter replacement
if $(FT2_AUTOFIT2)
{
- DEFINES += FT_OPTION_AUTOFIT2 ;
+ CCFLAGS += FT_OPTION_AUTOFIT2 ;
}
if $(FT2_MULTI)
{
- _sources = afangles afglobal afhints aflatin afcjk afindic afloader afmodule afdummy afwarp afpic ;
+ _sources = afangles
+ afblue
+ afcjk
+ afdummy
+ afglobal
+ afhints
+ afindic
+ aflatin
+ afloader
+ afmodule
+ afpic
+ afranges
+ afwarp
+ hbshim
+ ;
if $(FT2_AUTOFIT2)
{
diff --git a/lib/freetype/src/autofit/afblue.c b/lib/freetype/src/autofit/afblue.c
index e2b24519a..b871e0c65 100644
--- a/lib/freetype/src/autofit/afblue.c
+++ b/lib/freetype/src/autofit/afblue.c
@@ -30,6 +30,8 @@
'\0',
'\xD8', '\xAA', '\xD8', '\xAB', '\xD8', '\xB7', '\xD8', '\xB8', '\xD9', '\x83', /* ت ث ط ظ ك */
'\0',
+ '\xD9', '\x80', /* ـ */
+ '\0',
'\xD0', '\x91', '\xD0', '\x92', '\xD0', '\x95', '\xD0', '\x9F', '\xD0', '\x97', '\xD0', '\x9E', '\xD0', '\xA1', '\xD0', '\xAD', /* БВЕПЗОСЭ */
'\0',
'\xD0', '\x91', '\xD0', '\x92', '\xD0', '\x95', '\xD0', '\xA8', '\xD0', '\x97', '\xD0', '\x9E', '\xD0', '\xA1', '\xD0', '\xAD', /* БВЕШЗОСЭ */
@@ -62,6 +64,16 @@
'\0',
'\xD7', '\xA7', '\xD7', '\x9A', '\xD7', '\x9F', '\xD7', '\xA3', '\xD7', '\xA5', /* קךןףץ */
'\0',
+ '\xE0', '\xBA', '\xB2', '\xE0', '\xBA', '\x94', '\xE0', '\xBA', '\xAD', '\xE0', '\xBA', '\xA1', '\xE0', '\xBA', '\xA5', '\xE0', '\xBA', '\xA7', '\xE0', '\xBA', '\xA3', '\xE0', '\xBA', '\x87', /* າ ດ ອ ມ ລ ວ ຣ ງ */
+ '\0',
+ '\xE0', '\xBA', '\xB2', '\xE0', '\xBA', '\xAD', '\xE0', '\xBA', '\x9A', '\xE0', '\xBA', '\x8D', '\xE0', '\xBA', '\xA3', '\xE0', '\xBA', '\xAE', '\xE0', '\xBA', '\xA7', '\xE0', '\xBA', '\xA2', /* າ ອ ບ ຍ ຣ ຮ ວ ຢ */
+ '\0',
+ '\xE0', '\xBA', '\x9B', '\xE0', '\xBA', '\xA2', '\xE0', '\xBA', '\x9F', '\xE0', '\xBA', '\x9D', /* ປ ຢ ຟ ຝ */
+ '\0',
+ '\xE0', '\xBB', '\x82', '\xE0', '\xBB', '\x84', '\xE0', '\xBB', '\x83', /* ໂ ໄ ໃ */
+ '\0',
+ '\xE0', '\xBA', '\x87', '\xE0', '\xBA', '\x8A', '\xE0', '\xBA', '\x96', '\xE0', '\xBA', '\xBD', '\xE0', '\xBB', '\x86', '\xE0', '\xBA', '\xAF', /* ງ ຊ ຖ ຽ ໆ ຯ */
+ '\0',
'T', 'H', 'E', 'Z', 'O', 'C', 'Q', 'S', /* THEZOCQS */
'\0',
'H', 'E', 'Z', 'L', 'O', 'C', 'U', 'S', /* HEZLOCUS */
@@ -72,6 +84,26 @@
'\0',
'p', 'q', 'g', 'j', 'y', /* pqgjy */
'\0',
+ '\xE2', '\x82', '\x80', '\xE2', '\x82', '\x83', '\xE2', '\x82', '\x85', '\xE2', '\x82', '\x87', '\xE2', '\x82', '\x88', /* ₀₃₅₇₈ */
+ '\0',
+ '\xE2', '\x82', '\x80', '\xE2', '\x82', '\x81', '\xE2', '\x82', '\x82', '\xE2', '\x82', '\x83', '\xE2', '\x82', '\x88', /* ₀₁₂₃₈ */
+ '\0',
+ '\xE1', '\xB5', '\xA2', '\xE2', '\xB1', '\xBC', '\xE2', '\x82', '\x95', '\xE2', '\x82', '\x96', '\xE2', '\x82', '\x97', /* ᵢⱼₕₖₗ */
+ '\0',
+ '\xE2', '\x82', '\x90', '\xE2', '\x82', '\x91', '\xE2', '\x82', '\x92', '\xE2', '\x82', '\x93', '\xE2', '\x82', '\x99', '\xE2', '\x82', '\x9B', '\xE1', '\xB5', '\xA5', '\xE1', '\xB5', '\xA4', '\xE1', '\xB5', '\xA3', /* ₐₑₒₓₙₛᵥᵤᵣ */
+ '\0',
+ '\xE1', '\xB5', '\xA6', '\xE1', '\xB5', '\xA7', '\xE1', '\xB5', '\xA8', '\xE1', '\xB5', '\xA9', '\xE2', '\x82', '\x9A', /* ᵦᵧᵨᵩₚ */
+ '\0',
+ '\xE2', '\x81', '\xB0', '\xC2', '\xB3', '\xE2', '\x81', '\xB5', '\xE2', '\x81', '\xB7', '\xE1', '\xB5', '\x80', '\xE1', '\xB4', '\xB4', '\xE1', '\xB4', '\xB1', '\xE1', '\xB4', '\xBC', /* ⁰³⁵⁷ᵀᴴᴱᴼ */
+ '\0',
+ '\xE2', '\x81', '\xB0', '\xC2', '\xB9', '\xC2', '\xB2', '\xC2', '\xB3', '\xE1', '\xB4', '\xB1', '\xE1', '\xB4', '\xB8', '\xE1', '\xB4', '\xBC', '\xE1', '\xB5', '\x81', /* ⁰¹²³ᴱᴸᴼᵁ */
+ '\0',
+ '\xE1', '\xB5', '\x87', '\xE1', '\xB5', '\x88', '\xE1', '\xB5', '\x8F', '\xCA', '\xB0', '\xCA', '\xB2', '\xE1', '\xB6', '\xA0', '\xE2', '\x81', '\xB1', /* ᵇᵈᵏʰʲᶠⁱ */
+ '\0',
+ '\xE1', '\xB5', '\x89', '\xE1', '\xB5', '\x92', '\xCA', '\xB3', '\xCB', '\xA2', '\xCB', '\xA3', '\xE1', '\xB6', '\x9C', '\xE1', '\xB6', '\xBB', /* ᵉᵒʳˢˣᶜᶻ */
+ '\0',
+ '\xE1', '\xB5', '\x96', '\xCA', '\xB8', '\xE1', '\xB5', '\x8D', /* ᵖʸᵍ */
+ '\0',
'\xE0', '\xB0', '\x87', '\xE0', '\xB0', '\x8C', '\xE0', '\xB0', '\x99', '\xE0', '\xB0', '\x9E', '\xE0', '\xB0', '\xA3', '\xE0', '\xB0', '\xB1', '\xE0', '\xB1', '\xAF', /* ఇ ఌ ఙ ఞ ణ ఱ ౯ */
'\0',
'\xE0', '\xB0', '\x85', '\xE0', '\xB0', '\x95', '\xE0', '\xB0', '\x9A', '\xE0', '\xB0', '\xB0', '\xE0', '\xB0', '\xBD', '\xE0', '\xB1', '\xA8', '\xE0', '\xB1', '\xAC', /* అ క చ ర ఽ ౨ ౬ */
@@ -139,9 +171,10 @@
af_blue_stringsets[] =
{
/* */
- { AF_BLUE_STRING_ARABIC_TOP, AF_BLUE_PROPERTY_LATIN_TOP },
- { AF_BLUE_STRING_ARABIC_JOIN, 0 },
- { AF_BLUE_STRING_MAX, 0 },
+ { AF_BLUE_STRING_ARABIC_TOP, AF_BLUE_PROPERTY_LATIN_TOP },
+ { AF_BLUE_STRING_ARABIC_BOTTOM, 0 },
+ { AF_BLUE_STRING_ARABIC_JOIN, AF_BLUE_PROPERTY_LATIN_NEUTRAL },
+ { AF_BLUE_STRING_MAX, 0 },
{ AF_BLUE_STRING_CYRILLIC_CAPITAL_TOP, AF_BLUE_PROPERTY_LATIN_TOP },
{ AF_BLUE_STRING_CYRILLIC_CAPITAL_BOTTOM, 0 },
{ AF_BLUE_STRING_CYRILLIC_SMALL, AF_BLUE_PROPERTY_LATIN_TOP |
@@ -170,6 +203,13 @@
{ AF_BLUE_STRING_HEBREW_BOTTOM, 0 },
{ AF_BLUE_STRING_HEBREW_DESCENDER, 0 },
{ AF_BLUE_STRING_MAX, 0 },
+ { AF_BLUE_STRING_LAO_TOP, AF_BLUE_PROPERTY_LATIN_TOP |
+ AF_BLUE_PROPERTY_LATIN_X_HEIGHT },
+ { AF_BLUE_STRING_LAO_BOTTOM, 0 },
+ { AF_BLUE_STRING_LAO_ASCENDER, AF_BLUE_PROPERTY_LATIN_TOP },
+ { AF_BLUE_STRING_LAO_LARGE_ASCENDER, AF_BLUE_PROPERTY_LATIN_TOP },
+ { AF_BLUE_STRING_LAO_DESCENDER, 0 },
+ { AF_BLUE_STRING_MAX, 0 },
{ AF_BLUE_STRING_LATIN_CAPITAL_TOP, AF_BLUE_PROPERTY_LATIN_TOP },
{ AF_BLUE_STRING_LATIN_CAPITAL_BOTTOM, 0 },
{ AF_BLUE_STRING_LATIN_SMALL_F_TOP, AF_BLUE_PROPERTY_LATIN_TOP },
@@ -178,6 +218,22 @@
{ AF_BLUE_STRING_LATIN_SMALL, 0 },
{ AF_BLUE_STRING_LATIN_SMALL_DESCENDER, 0 },
{ AF_BLUE_STRING_MAX, 0 },
+ { AF_BLUE_STRING_LATIN_SUBS_CAPITAL_TOP, AF_BLUE_PROPERTY_LATIN_TOP },
+ { AF_BLUE_STRING_LATIN_SUBS_CAPITAL_BOTTOM, 0 },
+ { AF_BLUE_STRING_LATIN_SUBS_SMALL_F_TOP, AF_BLUE_PROPERTY_LATIN_TOP },
+ { AF_BLUE_STRING_LATIN_SUBS_SMALL, AF_BLUE_PROPERTY_LATIN_TOP |
+ AF_BLUE_PROPERTY_LATIN_X_HEIGHT },
+ { AF_BLUE_STRING_LATIN_SUBS_SMALL, 0 },
+ { AF_BLUE_STRING_LATIN_SUBS_SMALL_DESCENDER, 0 },
+ { AF_BLUE_STRING_MAX, 0 },
+ { AF_BLUE_STRING_LATIN_SUPS_CAPITAL_TOP, AF_BLUE_PROPERTY_LATIN_TOP },
+ { AF_BLUE_STRING_LATIN_SUPS_CAPITAL_BOTTOM, 0 },
+ { AF_BLUE_STRING_LATIN_SUPS_SMALL_F_TOP, AF_BLUE_PROPERTY_LATIN_TOP },
+ { AF_BLUE_STRING_LATIN_SUPS_SMALL, AF_BLUE_PROPERTY_LATIN_TOP |
+ AF_BLUE_PROPERTY_LATIN_X_HEIGHT },
+ { AF_BLUE_STRING_LATIN_SUPS_SMALL, 0 },
+ { AF_BLUE_STRING_LATIN_SUPS_SMALL_DESCENDER, 0 },
+ { AF_BLUE_STRING_MAX, 0 },
{ AF_BLUE_STRING_TELUGU_TOP, AF_BLUE_PROPERTY_LATIN_TOP },
{ AF_BLUE_STRING_TELUGU_BOTTOM, 0 },
{ AF_BLUE_STRING_MAX, 0 },
diff --git a/lib/freetype/src/autofit/afblue.dat b/lib/freetype/src/autofit/afblue.dat
index fd5684e4a..1b52378ed 100644
--- a/lib/freetype/src/autofit/afblue.dat
+++ b/lib/freetype/src/autofit/afblue.dat
@@ -69,8 +69,15 @@ AF_BLUE_STRING_ENUM AF_BLUE_STRINGS_ARRAY AF_BLUE_STRING_MAX_LEN:
AF_BLUE_STRING_ARABIC_TOP
"ا إ ل ك ط ظ"
- AF_BLUE_STRING_ARABIC_JOIN
+ AF_BLUE_STRING_ARABIC_BOTTOM
"ت ث ط ظ ك"
+ // We don't necessarily have access to medial forms via Unicode in case
+ // Arabic presentational forms are missing. The only character that is
+ // guaranteed to have the same vertical position with joining (this is,
+ // non-isolated) forms is U+0640, ARABIC TATWEEL, which must join both
+ // round and flat curves.
+ AF_BLUE_STRING_ARABIC_JOIN
+ "ـ"
AF_BLUE_STRING_CYRILLIC_CAPITAL_TOP
"БВЕПЗОСЭ"
@@ -113,6 +120,17 @@ AF_BLUE_STRING_ENUM AF_BLUE_STRINGS_ARRAY AF_BLUE_STRING_MAX_LEN:
AF_BLUE_STRING_HEBREW_DESCENDER
"קךןףץ"
+ AF_BLUE_STRING_LAO_TOP
+ "າ ດ ອ ມ ລ ວ ຣ ງ"
+ AF_BLUE_STRING_LAO_BOTTOM
+ "າ ອ ບ ຍ ຣ ຮ ວ ຢ"
+ AF_BLUE_STRING_LAO_ASCENDER
+ "ປ ຢ ຟ ຝ"
+ AF_BLUE_STRING_LAO_LARGE_ASCENDER
+ "ໂ ໄ ໃ"
+ AF_BLUE_STRING_LAO_DESCENDER
+ "ງ ຊ ຖ ຽ ໆ ຯ"
+
AF_BLUE_STRING_LATIN_CAPITAL_TOP
"THEZOCQS"
AF_BLUE_STRING_LATIN_CAPITAL_BOTTOM
@@ -124,6 +142,31 @@ AF_BLUE_STRING_ENUM AF_BLUE_STRINGS_ARRAY AF_BLUE_STRING_MAX_LEN:
AF_BLUE_STRING_LATIN_SMALL_DESCENDER
"pqgjy"
+ // we assume that both the subscript and superscript ranges
+ // don't contain oldstyle digits (actually, most fonts probably
+ // have digits only in those ranges)
+ AF_BLUE_STRING_LATIN_SUBS_CAPITAL_TOP
+ "₀₃₅₇₈"
+ AF_BLUE_STRING_LATIN_SUBS_CAPITAL_BOTTOM
+ "₀₁₂₃₈"
+ AF_BLUE_STRING_LATIN_SUBS_SMALL_F_TOP
+ "ᵢⱼₕₖₗ"
+ AF_BLUE_STRING_LATIN_SUBS_SMALL
+ "ₐₑₒₓₙₛᵥᵤᵣ"
+ AF_BLUE_STRING_LATIN_SUBS_SMALL_DESCENDER
+ "ᵦᵧᵨᵩₚ"
+
+ AF_BLUE_STRING_LATIN_SUPS_CAPITAL_TOP
+ "⁰³⁵⁷ᵀᴴᴱᴼ"
+ AF_BLUE_STRING_LATIN_SUPS_CAPITAL_BOTTOM
+ "⁰¹²³ᴱᴸᴼᵁ"
+ AF_BLUE_STRING_LATIN_SUPS_SMALL_F_TOP
+ "ᵇᵈᵏʰʲᶠⁱ"
+ AF_BLUE_STRING_LATIN_SUPS_SMALL
+ "ᵉᵒʳˢˣᶜᶻ"
+ AF_BLUE_STRING_LATIN_SUPS_SMALL_DESCENDER
+ "ᵖʸᵍ"
+
// we separate the letters with spaces to avoid ligatures;
// this is just for convenience to simplify reading
AF_BLUE_STRING_TELUGU_TOP
@@ -289,9 +332,10 @@ AF_BLUE_STRING_ENUM AF_BLUE_STRINGS_ARRAY AF_BLUE_STRING_MAX_LEN:
AF_BLUE_STRINGSET_ENUM AF_BLUE_STRINGSETS_ARRAY AF_BLUE_STRINGSET_MAX_LEN:
AF_BLUE_STRINGSET_ARAB
- { AF_BLUE_STRING_ARABIC_TOP, AF_BLUE_PROPERTY_LATIN_TOP }
- { AF_BLUE_STRING_ARABIC_JOIN, 0 }
- { AF_BLUE_STRING_MAX, 0 }
+ { AF_BLUE_STRING_ARABIC_TOP, AF_BLUE_PROPERTY_LATIN_TOP }
+ { AF_BLUE_STRING_ARABIC_BOTTOM, 0 }
+ { AF_BLUE_STRING_ARABIC_JOIN, AF_BLUE_PROPERTY_LATIN_NEUTRAL }
+ { AF_BLUE_STRING_MAX, 0 }
AF_BLUE_STRINGSET_CYRL
{ AF_BLUE_STRING_CYRILLIC_CAPITAL_TOP, AF_BLUE_PROPERTY_LATIN_TOP }
@@ -329,6 +373,15 @@ AF_BLUE_STRINGSET_ENUM AF_BLUE_STRINGSETS_ARRAY AF_BLUE_STRINGSET_MAX_LEN:
{ AF_BLUE_STRING_HEBREW_DESCENDER, 0 }
{ AF_BLUE_STRING_MAX, 0 }
+ AF_BLUE_STRINGSET_LAO
+ { AF_BLUE_STRING_LAO_TOP, AF_BLUE_PROPERTY_LATIN_TOP |
+ AF_BLUE_PROPERTY_LATIN_X_HEIGHT }
+ { AF_BLUE_STRING_LAO_BOTTOM, 0 }
+ { AF_BLUE_STRING_LAO_ASCENDER, AF_BLUE_PROPERTY_LATIN_TOP }
+ { AF_BLUE_STRING_LAO_LARGE_ASCENDER, AF_BLUE_PROPERTY_LATIN_TOP }
+ { AF_BLUE_STRING_LAO_DESCENDER, 0 }
+ { AF_BLUE_STRING_MAX, 0 }
+
AF_BLUE_STRINGSET_LATN
{ AF_BLUE_STRING_LATIN_CAPITAL_TOP, AF_BLUE_PROPERTY_LATIN_TOP }
{ AF_BLUE_STRING_LATIN_CAPITAL_BOTTOM, 0 }
@@ -339,6 +392,26 @@ AF_BLUE_STRINGSET_ENUM AF_BLUE_STRINGSETS_ARRAY AF_BLUE_STRINGSET_MAX_LEN:
{ AF_BLUE_STRING_LATIN_SMALL_DESCENDER, 0 }
{ AF_BLUE_STRING_MAX, 0 }
+ AF_BLUE_STRINGSET_LATB
+ { AF_BLUE_STRING_LATIN_SUBS_CAPITAL_TOP, AF_BLUE_PROPERTY_LATIN_TOP }
+ { AF_BLUE_STRING_LATIN_SUBS_CAPITAL_BOTTOM, 0 }
+ { AF_BLUE_STRING_LATIN_SUBS_SMALL_F_TOP, AF_BLUE_PROPERTY_LATIN_TOP }
+ { AF_BLUE_STRING_LATIN_SUBS_SMALL, AF_BLUE_PROPERTY_LATIN_TOP |
+ AF_BLUE_PROPERTY_LATIN_X_HEIGHT }
+ { AF_BLUE_STRING_LATIN_SUBS_SMALL, 0 }
+ { AF_BLUE_STRING_LATIN_SUBS_SMALL_DESCENDER, 0 }
+ { AF_BLUE_STRING_MAX, 0 }
+
+ AF_BLUE_STRINGSET_LATP
+ { AF_BLUE_STRING_LATIN_SUPS_CAPITAL_TOP, AF_BLUE_PROPERTY_LATIN_TOP }
+ { AF_BLUE_STRING_LATIN_SUPS_CAPITAL_BOTTOM, 0 }
+ { AF_BLUE_STRING_LATIN_SUPS_SMALL_F_TOP, AF_BLUE_PROPERTY_LATIN_TOP }
+ { AF_BLUE_STRING_LATIN_SUPS_SMALL, AF_BLUE_PROPERTY_LATIN_TOP |
+ AF_BLUE_PROPERTY_LATIN_X_HEIGHT }
+ { AF_BLUE_STRING_LATIN_SUPS_SMALL, 0 }
+ { AF_BLUE_STRING_LATIN_SUPS_SMALL_DESCENDER, 0 }
+ { AF_BLUE_STRING_MAX, 0 }
+
AF_BLUE_STRINGSET_TELU
{ AF_BLUE_STRING_TELUGU_TOP, AF_BLUE_PROPERTY_LATIN_TOP }
{ AF_BLUE_STRING_TELUGU_BOTTOM, 0 }
diff --git a/lib/freetype/src/autofit/afblue.h b/lib/freetype/src/autofit/afblue.h
index 94e33a9a2..c26a9c792 100644
--- a/lib/freetype/src/autofit/afblue.h
+++ b/lib/freetype/src/autofit/afblue.h
@@ -75,38 +75,54 @@ FT_BEGIN_HEADER
typedef enum AF_Blue_String_
{
AF_BLUE_STRING_ARABIC_TOP = 0,
- AF_BLUE_STRING_ARABIC_JOIN = 13,
- AF_BLUE_STRING_CYRILLIC_CAPITAL_TOP = 24,
- AF_BLUE_STRING_CYRILLIC_CAPITAL_BOTTOM = 41,
- AF_BLUE_STRING_CYRILLIC_SMALL = 58,
- AF_BLUE_STRING_CYRILLIC_SMALL_DESCENDER = 75,
- AF_BLUE_STRING_DEVANAGARI_BASE = 82,
- AF_BLUE_STRING_DEVANAGARI_TOP = 107,
- AF_BLUE_STRING_DEVANAGARI_HEAD = 132,
- AF_BLUE_STRING_DEVANAGARI_BOTTOM = 157,
- AF_BLUE_STRING_GREEK_CAPITAL_TOP = 164,
- AF_BLUE_STRING_GREEK_CAPITAL_BOTTOM = 179,
- AF_BLUE_STRING_GREEK_SMALL_BETA_TOP = 192,
- AF_BLUE_STRING_GREEK_SMALL = 205,
- AF_BLUE_STRING_GREEK_SMALL_DESCENDER = 222,
- AF_BLUE_STRING_HEBREW_TOP = 239,
- AF_BLUE_STRING_HEBREW_BOTTOM = 256,
- AF_BLUE_STRING_HEBREW_DESCENDER = 269,
- AF_BLUE_STRING_LATIN_CAPITAL_TOP = 280,
- AF_BLUE_STRING_LATIN_CAPITAL_BOTTOM = 289,
- AF_BLUE_STRING_LATIN_SMALL_F_TOP = 298,
- AF_BLUE_STRING_LATIN_SMALL = 306,
- AF_BLUE_STRING_LATIN_SMALL_DESCENDER = 314,
- AF_BLUE_STRING_TELUGU_TOP = 320,
- AF_BLUE_STRING_TELUGU_BOTTOM = 342,
- AF_BLUE_STRING_THAI_TOP = 364,
- AF_BLUE_STRING_THAI_BOTTOM = 383,
- AF_BLUE_STRING_THAI_ASCENDER = 405,
- AF_BLUE_STRING_THAI_LARGE_ASCENDER = 415,
- AF_BLUE_STRING_THAI_DESCENDER = 425,
- AF_BLUE_STRING_THAI_LARGE_DESCENDER = 438,
- AF_BLUE_STRING_THAI_DIGIT_TOP = 445,
- af_blue_1_1 = 454,
+ AF_BLUE_STRING_ARABIC_BOTTOM = 13,
+ AF_BLUE_STRING_ARABIC_JOIN = 24,
+ AF_BLUE_STRING_CYRILLIC_CAPITAL_TOP = 27,
+ AF_BLUE_STRING_CYRILLIC_CAPITAL_BOTTOM = 44,
+ AF_BLUE_STRING_CYRILLIC_SMALL = 61,
+ AF_BLUE_STRING_CYRILLIC_SMALL_DESCENDER = 78,
+ AF_BLUE_STRING_DEVANAGARI_BASE = 85,
+ AF_BLUE_STRING_DEVANAGARI_TOP = 110,
+ AF_BLUE_STRING_DEVANAGARI_HEAD = 135,
+ AF_BLUE_STRING_DEVANAGARI_BOTTOM = 160,
+ AF_BLUE_STRING_GREEK_CAPITAL_TOP = 167,
+ AF_BLUE_STRING_GREEK_CAPITAL_BOTTOM = 182,
+ AF_BLUE_STRING_GREEK_SMALL_BETA_TOP = 195,
+ AF_BLUE_STRING_GREEK_SMALL = 208,
+ AF_BLUE_STRING_GREEK_SMALL_DESCENDER = 225,
+ AF_BLUE_STRING_HEBREW_TOP = 242,
+ AF_BLUE_STRING_HEBREW_BOTTOM = 259,
+ AF_BLUE_STRING_HEBREW_DESCENDER = 272,
+ AF_BLUE_STRING_LAO_TOP = 283,
+ AF_BLUE_STRING_LAO_BOTTOM = 308,
+ AF_BLUE_STRING_LAO_ASCENDER = 333,
+ AF_BLUE_STRING_LAO_LARGE_ASCENDER = 346,
+ AF_BLUE_STRING_LAO_DESCENDER = 356,
+ AF_BLUE_STRING_LATIN_CAPITAL_TOP = 375,
+ AF_BLUE_STRING_LATIN_CAPITAL_BOTTOM = 384,
+ AF_BLUE_STRING_LATIN_SMALL_F_TOP = 393,
+ AF_BLUE_STRING_LATIN_SMALL = 401,
+ AF_BLUE_STRING_LATIN_SMALL_DESCENDER = 409,
+ AF_BLUE_STRING_LATIN_SUBS_CAPITAL_TOP = 415,
+ AF_BLUE_STRING_LATIN_SUBS_CAPITAL_BOTTOM = 431,
+ AF_BLUE_STRING_LATIN_SUBS_SMALL_F_TOP = 447,
+ AF_BLUE_STRING_LATIN_SUBS_SMALL = 463,
+ AF_BLUE_STRING_LATIN_SUBS_SMALL_DESCENDER = 491,
+ AF_BLUE_STRING_LATIN_SUPS_CAPITAL_TOP = 507,
+ AF_BLUE_STRING_LATIN_SUPS_CAPITAL_BOTTOM = 531,
+ AF_BLUE_STRING_LATIN_SUPS_SMALL_F_TOP = 553,
+ AF_BLUE_STRING_LATIN_SUPS_SMALL = 573,
+ AF_BLUE_STRING_LATIN_SUPS_SMALL_DESCENDER = 592,
+ AF_BLUE_STRING_TELUGU_TOP = 601,
+ AF_BLUE_STRING_TELUGU_BOTTOM = 623,
+ AF_BLUE_STRING_THAI_TOP = 645,
+ AF_BLUE_STRING_THAI_BOTTOM = 664,
+ AF_BLUE_STRING_THAI_ASCENDER = 686,
+ AF_BLUE_STRING_THAI_LARGE_ASCENDER = 696,
+ AF_BLUE_STRING_THAI_DESCENDER = 706,
+ AF_BLUE_STRING_THAI_LARGE_DESCENDER = 719,
+ AF_BLUE_STRING_THAI_DIGIT_TOP = 726,
+ af_blue_1_1 = 735,
#ifdef AF_CONFIG_OPTION_CJK
AF_BLUE_STRING_CJK_TOP = af_blue_1_1 + 1,
AF_BLUE_STRING_CJK_BOTTOM = af_blue_1_1 + 153,
@@ -165,14 +181,17 @@ FT_BEGIN_HEADER
typedef enum AF_Blue_Stringset_
{
AF_BLUE_STRINGSET_ARAB = 0,
- AF_BLUE_STRINGSET_CYRL = 3,
- AF_BLUE_STRINGSET_DEVA = 9,
- AF_BLUE_STRINGSET_GREK = 15,
- AF_BLUE_STRINGSET_HEBR = 22,
- AF_BLUE_STRINGSET_LATN = 26,
- AF_BLUE_STRINGSET_TELU = 33,
- AF_BLUE_STRINGSET_THAI = 36,
- af_blue_2_1 = 44,
+ AF_BLUE_STRINGSET_CYRL = 4,
+ AF_BLUE_STRINGSET_DEVA = 10,
+ AF_BLUE_STRINGSET_GREK = 16,
+ AF_BLUE_STRINGSET_HEBR = 23,
+ AF_BLUE_STRINGSET_LAO = 27,
+ AF_BLUE_STRINGSET_LATN = 33,
+ AF_BLUE_STRINGSET_LATB = 40,
+ AF_BLUE_STRINGSET_LATP = 47,
+ AF_BLUE_STRINGSET_TELU = 54,
+ AF_BLUE_STRINGSET_THAI = 57,
+ af_blue_2_1 = 65,
#ifdef AF_CONFIG_OPTION_CJK
AF_BLUE_STRINGSET_HANI = af_blue_2_1 + 0,
af_blue_2_1_1 = af_blue_2_1 + 2,
diff --git a/lib/freetype/src/autofit/afcjk.c b/lib/freetype/src/autofit/afcjk.c
index 905408bb2..0ade4be40 100644
--- a/lib/freetype/src/autofit/afcjk.c
+++ b/lib/freetype/src/autofit/afcjk.c
@@ -2181,7 +2181,8 @@
/* Apply the complete hinting algorithm to a CJK glyph. */
FT_LOCAL_DEF( FT_Error )
- af_cjk_hints_apply( AF_GlyphHints hints,
+ af_cjk_hints_apply( FT_UInt glyph_index,
+ AF_GlyphHints hints,
FT_Outline* outline,
AF_CJKMetrics metrics )
{
@@ -2189,6 +2190,7 @@
int dim;
FT_UNUSED( metrics );
+ FT_UNUSED( glyph_index );
error = af_glyph_hints_reload( hints, outline );
diff --git a/lib/freetype/src/autofit/afcjk.h b/lib/freetype/src/autofit/afcjk.h
index bfd11f2d3..e395e74a0 100644
--- a/lib/freetype/src/autofit/afcjk.h
+++ b/lib/freetype/src/autofit/afcjk.h
@@ -115,7 +115,8 @@ FT_BEGIN_HEADER
AF_CJKMetrics metrics );
FT_LOCAL( FT_Error )
- af_cjk_hints_apply( AF_GlyphHints hints,
+ af_cjk_hints_apply( FT_UInt glyph_index,
+ AF_GlyphHints hints,
FT_Outline* outline,
AF_CJKMetrics metrics );
diff --git a/lib/freetype/src/autofit/afdummy.c b/lib/freetype/src/autofit/afdummy.c
index 03ca25f33..18dd301d1 100644
--- a/lib/freetype/src/autofit/afdummy.c
+++ b/lib/freetype/src/autofit/afdummy.c
@@ -38,11 +38,14 @@
static FT_Error
- af_dummy_hints_apply( AF_GlyphHints hints,
+ af_dummy_hints_apply( FT_UInt glyph_index,
+ AF_GlyphHints hints,
FT_Outline* outline )
{
FT_Error error;
+ FT_UNUSED( glyph_index );
+
error = af_glyph_hints_reload( hints, outline );
if ( !error )
diff --git a/lib/freetype/src/autofit/afglobal.c b/lib/freetype/src/autofit/afglobal.c
index 64b929313..b071cc76f 100644
--- a/lib/freetype/src/autofit/afglobal.c
+++ b/lib/freetype/src/autofit/afglobal.c
@@ -47,6 +47,7 @@
af_ ## s ## _script_class, \
AF_SCRIPT_ ## S, \
af_ ## s ## _uniranges, \
+ af_ ## s ## _nonbase_uniranges, \
sc1, sc2, sc3 )
#include "afscript.h"
@@ -135,16 +136,15 @@
FT_Error error;
FT_Face face = globals->face;
FT_CharMap old_charmap = face->charmap;
- FT_Byte* gstyles = globals->glyph_styles;
+ FT_UShort* gstyles = globals->glyph_styles;
FT_UInt ss;
FT_UInt i;
FT_UInt dflt = ~0U; /* a non-valid value */
/* the value AF_STYLE_UNASSIGNED means `uncovered glyph' */
- FT_MEM_SET( globals->glyph_styles,
- AF_STYLE_UNASSIGNED,
- globals->glyph_count );
+ for ( i = 0; i < (FT_UInt)globals->glyph_count; i++ )
+ gstyles[i] = AF_STYLE_UNASSIGNED;
error = FT_Select_Charmap( face, FT_ENCODING_UNICODE );
if ( error )
@@ -190,10 +190,10 @@
gindex = FT_Get_Char_Index( face, charcode );
- if ( gindex != 0 &&
- gindex < (FT_ULong)globals->glyph_count &&
- gstyles[gindex] == AF_STYLE_UNASSIGNED )
- gstyles[gindex] = (FT_Byte)ss;
+ if ( gindex != 0 &&
+ gindex < (FT_ULong)globals->glyph_count &&
+ ( gstyles[gindex] & AF_STYLE_MASK ) == AF_STYLE_UNASSIGNED )
+ gstyles[gindex] = (FT_UShort)ss;
for (;;)
{
@@ -202,9 +202,38 @@
if ( gindex == 0 || charcode > range->last )
break;
- if ( gindex < (FT_ULong)globals->glyph_count &&
- gstyles[gindex] == AF_STYLE_UNASSIGNED )
- gstyles[gindex] = (FT_Byte)ss;
+ if ( gindex < (FT_ULong)globals->glyph_count &&
+ ( gstyles[gindex] & AF_STYLE_MASK ) == AF_STYLE_UNASSIGNED )
+ gstyles[gindex] = (FT_UShort)ss;
+ }
+ }
+
+ /* do the same for the script's non-base characters */
+ for ( range = script_class->script_uni_nonbase_ranges;
+ range->first != 0;
+ range++ )
+ {
+ FT_ULong charcode = range->first;
+ FT_UInt gindex;
+
+
+ gindex = FT_Get_Char_Index( face, charcode );
+
+ if ( gindex != 0 &&
+ gindex < (FT_ULong)globals->glyph_count &&
+ ( gstyles[gindex] & AF_STYLE_MASK ) == (FT_UShort)ss )
+ gstyles[gindex] |= AF_NONBASE;
+
+ for (;;)
+ {
+ charcode = FT_Get_Next_Char( face, charcode, &gindex );
+
+ if ( gindex == 0 || charcode > range->last )
+ break;
+
+ if ( gindex < (FT_ULong)globals->glyph_count &&
+ ( gstyles[gindex] & AF_STYLE_MASK ) == (FT_UShort)ss )
+ gstyles[gindex] |= AF_NONBASE;
}
}
}
@@ -250,9 +279,9 @@
for ( nn = 0; nn < globals->glyph_count; nn++ )
{
- if ( ( gstyles[nn] & ~AF_DIGIT ) == AF_STYLE_UNASSIGNED )
+ if ( ( gstyles[nn] & AF_STYLE_MASK ) == AF_STYLE_UNASSIGNED )
{
- gstyles[nn] &= ~AF_STYLE_UNASSIGNED;
+ gstyles[nn] &= ~AF_STYLE_MASK;
gstyles[nn] |= globals->module->fallback_style;
}
}
@@ -276,7 +305,7 @@
for ( idx = 0; idx < globals->glyph_count; idx++ )
{
- if ( ( gstyles[idx] & ~AF_DIGIT ) == style_class->style )
+ if ( ( gstyles[idx] & AF_STYLE_MASK ) == style_class->style )
{
if ( !( count % 10 ) )
FT_TRACE4(( " " ));
@@ -314,14 +343,17 @@
memory = face->memory;
+ /* we allocate an AF_FaceGlobals structure together */
+ /* with the glyph_styles array */
if ( FT_ALLOC( globals,
sizeof ( *globals ) +
- (FT_ULong)face->num_glyphs * sizeof ( FT_Byte ) ) )
+ (FT_ULong)face->num_glyphs * sizeof ( FT_UShort ) ) )
goto Exit;
globals->face = face;
globals->glyph_count = face->num_glyphs;
- globals->glyph_styles = (FT_Byte*)( globals + 1 );
+ /* right after the globals structure come the glyph styles */
+ globals->glyph_styles = (FT_UShort*)( globals + 1 );
globals->module = module;
#ifdef FT_CONFIG_OPTION_USE_HARFBUZZ
diff --git a/lib/freetype/src/autofit/afglobal.h b/lib/freetype/src/autofit/afglobal.h
index 9bbb687e2..ffb2f8606 100644
--- a/lib/freetype/src/autofit/afglobal.h
+++ b/lib/freetype/src/autofit/afglobal.h
@@ -72,10 +72,16 @@ FT_BEGIN_HEADER
#endif
/* default script for OpenType; ignored if HarfBuzz isn't used */
#define AF_SCRIPT_DEFAULT AF_SCRIPT_LATN
- /* a bit mask indicating an uncovered glyph */
-#define AF_STYLE_UNASSIGNED 0x7F
- /* if this flag is set, we have an ASCII digit */
-#define AF_DIGIT 0x80
+
+ /* a bit mask for AF_DIGIT and AF_NONBASE */
+#define AF_STYLE_MASK 0x3FFF
+ /* an uncovered glyph */
+#define AF_STYLE_UNASSIGNED AF_STYLE_MASK
+
+ /* if this flag is set, we have an ASCII digit */
+#define AF_DIGIT 0x8000U
+ /* if this flag is set, we have a non-base character */
+#define AF_NONBASE 0x4000U
/* `increase-x-height' property */
#define AF_PROP_INCREASE_X_HEIGHT_MIN 6
@@ -100,7 +106,7 @@ FT_BEGIN_HEADER
{
FT_Face face;
FT_Long glyph_count; /* same as face->num_glyphs */
- FT_Byte* glyph_styles;
+ FT_UShort* glyph_styles;
#ifdef FT_CONFIG_OPTION_USE_HARFBUZZ
hb_font_t* hb_font;
diff --git a/lib/freetype/src/autofit/afindic.c b/lib/freetype/src/autofit/afindic.c
index 7412cd1e3..05b6bdd88 100644
--- a/lib/freetype/src/autofit/afindic.c
+++ b/lib/freetype/src/autofit/afindic.c
@@ -79,12 +79,13 @@
static FT_Error
- af_indic_hints_apply( AF_GlyphHints hints,
+ af_indic_hints_apply( FT_UInt glyph_index,
+ AF_GlyphHints hints,
FT_Outline* outline,
AF_CJKMetrics metrics )
{
/* use CJK routines */
- return af_cjk_hints_apply( hints, outline, metrics );
+ return af_cjk_hints_apply( glyph_index, hints, outline, metrics );
}
diff --git a/lib/freetype/src/autofit/aflatin.c b/lib/freetype/src/autofit/aflatin.c
index 893e98673..363f72114 100644
--- a/lib/freetype/src/autofit/aflatin.c
+++ b/lib/freetype/src/autofit/aflatin.c
@@ -41,6 +41,10 @@
#define FT_COMPONENT trace_aflatin
+ /* needed for computation of round vs. flat segments */
+#define FLAT_THRESHOLD( x ) ( x / 14 )
+
+
/*************************************************************************/
/*************************************************************************/
/***** *****/
@@ -274,6 +278,8 @@
AF_Blue_Stringset bss = sc->blue_stringset;
const AF_Blue_StringRec* bs = &af_blue_stringsets[bss];
+ FT_Pos flat_threshold = FLAT_THRESHOLD( metrics->units_per_em );
+
/* we walk over the blue character strings as specified in the */
/* style's entry in the `af_blue_stringset' array */
@@ -693,16 +699,16 @@
/* now set the `round' flag depending on the segment's kind: */
/* */
/* - if the horizontal distance between the first and last */
- /* `on' point is larger than upem/8 (value 8 is heuristic) */
+ /* `on' point is larger than a heuristic threshold */
/* we have a flat segment */
/* - if either the first or the last point of the segment is */
/* an `off' point, the segment is round, otherwise it is */
/* flat */
if ( best_on_point_first >= 0 &&
best_on_point_last >= 0 &&
- (FT_UInt)( FT_ABS( points[best_on_point_last].x -
- points[best_on_point_first].x ) ) >
- metrics->units_per_em / 8 )
+ ( FT_ABS( points[best_on_point_last].x -
+ points[best_on_point_first].x ) ) >
+ flat_threshold )
round = 0;
else
round = FT_BOOL(
@@ -1032,8 +1038,11 @@
if ( dim == AF_DIMENSION_VERT )
{
- FT_TRACE5(( "blue zones (style `%s')\n",
- af_style_names[metrics->root.style_class->style] ));
+#ifdef FT_DEBUG_LEVEL_TRACE
+ if ( axis->blue_count )
+ FT_TRACE5(( "blue zones (style `%s')\n",
+ af_style_names[metrics->root.style_class->style] ));
+#endif
/* scale the blue zones */
for ( nn = 0; nn < axis->blue_count; nn++ )
@@ -1155,14 +1164,17 @@
af_latin_hints_compute_segments( AF_GlyphHints hints,
AF_Dimension dim )
{
- AF_AxisHints axis = &hints->axis[dim];
- FT_Memory memory = hints->memory;
- FT_Error error = FT_Err_Ok;
- AF_Segment segment = NULL;
- AF_SegmentRec seg0;
- AF_Point* contour = hints->contours;
- AF_Point* contour_limit = contour + hints->num_contours;
- AF_Direction major_dir, segment_dir;
+ AF_LatinMetrics metrics = (AF_LatinMetrics)hints->metrics;
+ AF_AxisHints axis = &hints->axis[dim];
+ FT_Memory memory = hints->memory;
+ FT_Error error = FT_Err_Ok;
+ AF_Segment segment = NULL;
+ AF_SegmentRec seg0;
+ AF_Point* contour = hints->contours;
+ AF_Point* contour_limit = contour + hints->num_contours;
+ AF_Direction major_dir, segment_dir;
+
+ FT_Pos flat_threshold = FLAT_THRESHOLD( metrics->units_per_em );
FT_ZERO( &seg0 );
@@ -1203,11 +1215,13 @@
/* do each contour separately */
for ( ; contour < contour_limit; contour++ )
{
- AF_Point point = contour[0];
- AF_Point last = point->prev;
- int on_edge = 0;
- FT_Pos min_pos = 32000; /* minimum segment pos != min_coord */
- FT_Pos max_pos = -32000; /* maximum segment pos != max_coord */
+ AF_Point point = contour[0];
+ AF_Point last = point->prev;
+ int on_edge = 0;
+ FT_Pos min_pos = 32000; /* minimum segment pos != min_coord */
+ FT_Pos max_pos = -32000; /* maximum segment pos != max_coord */
+ FT_Pos min_on_pos = 32000;
+ FT_Pos max_on_pos = -32000;
FT_Bool passed;
@@ -1249,6 +1263,16 @@
if ( u > max_pos )
max_pos = u;
+ /* get minimum and maximum coordinate of on points */
+ if ( !( point->flags & AF_FLAG_CONTROL ) )
+ {
+ v = point->v;
+ if ( v < min_on_pos )
+ min_on_pos = v;
+ if ( v > max_on_pos )
+ max_on_pos = v;
+ }
+
if ( point->out_dir != segment_dir || point == last )
{
/* we are just leaving an edge; record a new segment! */
@@ -1256,9 +1280,10 @@
segment->pos = (FT_Short)( ( min_pos + max_pos ) >> 1 );
/* a segment is round if either its first or last point */
- /* is a control point */
- if ( ( segment->first->flags | point->flags ) &
- AF_FLAG_CONTROL )
+ /* is a control point, and the length of the on points */
+ /* inbetween doesn't exceed a heuristic limit */
+ if ( ( segment->first->flags | point->flags ) & AF_FLAG_CONTROL &&
+ ( max_on_pos - min_on_pos ) < flat_threshold )
segment->flags |= AF_EDGE_ROUND;
/* compute segment size */
@@ -1301,10 +1326,19 @@
/* clear all segment fields */
segment[0] = seg0;
- segment->dir = (FT_Char)segment_dir;
+ segment->dir = (FT_Char)segment_dir;
+ segment->first = point;
+ segment->last = point;
+
min_pos = max_pos = point->u;
- segment->first = point;
- segment->last = point;
+
+ if ( point->flags & AF_FLAG_CONTROL )
+ {
+ min_on_pos = 32000;
+ max_on_pos = -32000;
+ }
+ else
+ min_on_pos = max_on_pos = point->v;
on_edge = 1;
}
@@ -2805,7 +2839,8 @@
/* Apply the complete hinting algorithm to a latin glyph. */
static FT_Error
- af_latin_hints_apply( AF_GlyphHints hints,
+ af_latin_hints_apply( FT_UInt glyph_index,
+ AF_GlyphHints hints,
FT_Outline* outline,
AF_LatinMetrics metrics )
{
@@ -2847,7 +2882,9 @@
if ( error )
goto Exit;
- af_latin_hints_compute_blue_edges( hints, metrics );
+ /* apply blue zones to base characters only */
+ if ( !( metrics->root.globals->glyph_styles[glyph_index] & AF_NONBASE ) )
+ af_latin_hints_compute_blue_edges( hints, metrics );
}
/* grid-fit the outline */
diff --git a/lib/freetype/src/autofit/aflatin2.c b/lib/freetype/src/autofit/aflatin2.c
index ac9f93325..0380ffc04 100644
--- a/lib/freetype/src/autofit/aflatin2.c
+++ b/lib/freetype/src/autofit/aflatin2.c
@@ -2300,13 +2300,16 @@
static FT_Error
- af_latin2_hints_apply( AF_GlyphHints hints,
+ af_latin2_hints_apply( FT_UInt glyph_index,
+ AF_GlyphHints hints,
FT_Outline* outline,
AF_LatinMetrics metrics )
{
FT_Error error;
int dim;
+ FT_UNUSED( glyph_index );
+
error = af_glyph_hints_reload( hints, outline );
if ( error )
diff --git a/lib/freetype/src/autofit/afloader.c b/lib/freetype/src/autofit/afloader.c
index 7c2fa7cff..722ffd31e 100644
--- a/lib/freetype/src/autofit/afloader.c
+++ b/lib/freetype/src/autofit/afloader.c
@@ -150,7 +150,8 @@
if ( writing_system_class->style_hints_apply )
- writing_system_class->style_hints_apply( hints,
+ writing_system_class->style_hints_apply( glyph_index,
+ hints,
&gloader->base.outline,
metrics );
}
diff --git a/lib/freetype/src/autofit/afmodule.c b/lib/freetype/src/autofit/afmodule.c
index 8ae425c00..bbf137251 100644
--- a/lib/freetype/src/autofit/afmodule.c
+++ b/lib/freetype/src/autofit/afmodule.c
@@ -25,6 +25,10 @@
#ifdef FT_DEBUG_AUTOFIT
#ifndef FT_MAKE_OPTION_SINGLE_OBJECT
+
+#ifdef __cplusplus
+ extern "C" {
+#endif
extern void
af_glyph_hints_dump_segments( AF_GlyphHints hints,
FT_Bool to_stdout );
@@ -34,6 +38,10 @@
extern void
af_glyph_hints_dump_edges( AF_GlyphHints hints,
FT_Bool to_stdout );
+#ifdef __cplusplus
+ }
+#endif
+
#endif
int _af_debug_disable_horz_hints;
diff --git a/lib/freetype/src/autofit/afpic.h b/lib/freetype/src/autofit/afpic.h
index 25071e3bc..9b45069f5 100644
--- a/lib/freetype/src/autofit/afpic.h
+++ b/lib/freetype/src/autofit/afpic.h
@@ -20,8 +20,6 @@
#define __AFPIC_H__
-FT_BEGIN_HEADER
-
#include FT_INTERNAL_PIC_H
@@ -43,6 +41,8 @@ FT_BEGIN_HEADER
#include "aftypes.h"
+FT_BEGIN_HEADER
+
typedef struct AFModulePIC_
{
FT_ServiceDescRec* af_services;
@@ -93,12 +93,12 @@ FT_BEGIN_HEADER
FT_Error
autofit_module_class_pic_init( FT_Library library );
+FT_END_HEADER
+
#endif /* FT_CONFIG_OPTION_PIC */
/* */
-FT_END_HEADER
-
#endif /* __AFPIC_H__ */
diff --git a/lib/freetype/src/autofit/afranges.c b/lib/freetype/src/autofit/afranges.c
index c1e0afb7e..13c221364 100644
--- a/lib/freetype/src/autofit/afranges.c
+++ b/lib/freetype/src/autofit/afranges.c
@@ -18,6 +18,43 @@
#include "afranges.h"
+ /*
+ * The algorithm for assigning properties and styles to the `glyph_styles'
+ * array is as follows (cf. the implementation in
+ * `af_face_globals_compute_style_coverage').
+ *
+ * Walk over all scripts (as listed in `afscript.h').
+ *
+ * For a given script, walk over all styles (as listed in `afstyles.h').
+ * The order of styles is important and should be as follows.
+ *
+ * - First come styles based on OpenType features (small caps, for
+ * example). Since features rely on glyph indices, thus completely
+ * bypassing character codes, no properties are assigned.
+ *
+ * - Next comes the default style, using the character ranges as defined
+ * below. This also assigns properties.
+ *
+ * Note that there also exist fallback scripts, mainly covering
+ * superscript and subscript glyphs of a script that are not present as
+ * OpenType features. Fallback scripts are defined below, also
+ * assigning properties; they are applied after the corresponding
+ * script.
+ *
+ */
+
+
+ /* XXX Check base character ranges again: */
+ /* Right now, they are quickly derived by visual inspection. */
+ /* I can imagine that fine-tuning is necessary. */
+
+ /* for the auto-hinter, a `non-base character' is something that should */
+ /* not be affected by blue zones, regardless of whether this is a */
+ /* spacing or no-spacing glyph */
+
+ /* the `ta_xxxx_nonbase_uniranges' ranges must be strict subsets */
+ /* of the corresponding `ta_xxxx_uniranges' ranges */
+
const AF_Script_UniRangeRec af_arab_uniranges[] =
{
@@ -30,6 +67,30 @@
AF_UNIRANGE_REC( 0UL, 0UL )
};
+ const AF_Script_UniRangeRec af_arab_nonbase_uniranges[] =
+ {
+ AF_UNIRANGE_REC( 0x0600UL, 0x0605UL ),
+ AF_UNIRANGE_REC( 0x0610UL, 0x061AUL ),
+ AF_UNIRANGE_REC( 0x064BUL, 0x065FUL ),
+ AF_UNIRANGE_REC( 0x0670UL, 0x0670UL ),
+ AF_UNIRANGE_REC( 0x06D6UL, 0x06DCUL ),
+ AF_UNIRANGE_REC( 0x06DFUL, 0x06E4UL ),
+ AF_UNIRANGE_REC( 0x06E7UL, 0x06E8UL ),
+ AF_UNIRANGE_REC( 0x06EAUL, 0x06EDUL ),
+ AF_UNIRANGE_REC( 0x08E3UL, 0x08FFUL ),
+ AF_UNIRANGE_REC( 0xFBB2UL, 0xFBC1UL ),
+ AF_UNIRANGE_REC( 0xFE70UL, 0xFE70UL ),
+ AF_UNIRANGE_REC( 0xFE72UL, 0xFE72UL ),
+ AF_UNIRANGE_REC( 0xFE74UL, 0xFE74UL ),
+ AF_UNIRANGE_REC( 0xFE76UL, 0xFE76UL ),
+ AF_UNIRANGE_REC( 0xFE78UL, 0xFE78UL ),
+ AF_UNIRANGE_REC( 0xFE7AUL, 0xFE7AUL ),
+ AF_UNIRANGE_REC( 0xFE7CUL, 0xFE7CUL ),
+ AF_UNIRANGE_REC( 0xFE7EUL, 0xFE7EUL ),
+ AF_UNIRANGE_REC( 0UL, 0UL )
+ };
+
+
const AF_Script_UniRangeRec af_cyrl_uniranges[] =
{
AF_UNIRANGE_REC( 0x0400UL, 0x04FFUL ), /* Cyrillic */
@@ -39,23 +100,47 @@
AF_UNIRANGE_REC( 0UL, 0UL )
};
- /* there are some characters in the Devanagari Unicode block that are */
+ const AF_Script_UniRangeRec af_cyrl_nonbase_uniranges[] =
+ {
+ AF_UNIRANGE_REC( 0x0483UL, 0x0489UL ),
+ AF_UNIRANGE_REC( 0x2DE0UL, 0x2DFFUL ),
+ AF_UNIRANGE_REC( 0xA66FUL, 0xA67FUL ),
+ AF_UNIRANGE_REC( 0xA69EUL, 0xA69FUL ),
+ AF_UNIRANGE_REC( 0UL, 0UL )
+ };
+
+
+ /* There are some characters in the Devanagari Unicode block that are */
/* generic to Indic scripts; we omit them so that their presence doesn't */
- /* trigger Devanagari */
+ /* trigger Devanagari. */
const AF_Script_UniRangeRec af_deva_uniranges[] =
{
- AF_UNIRANGE_REC( 0x0900UL, 0x093BUL ), /* Devanagari */
+ AF_UNIRANGE_REC( 0x0900UL, 0x093BUL ), /* Devanagari */
/* omitting U+093C nukta */
- AF_UNIRANGE_REC( 0x093DUL, 0x0950UL ),
+ AF_UNIRANGE_REC( 0x093DUL, 0x0950UL ), /* ... continued */
/* omitting U+0951 udatta, U+0952 anudatta */
- AF_UNIRANGE_REC( 0x0953UL, 0x0963UL ),
+ AF_UNIRANGE_REC( 0x0953UL, 0x0963UL ), /* ... continued */
/* omitting U+0964 danda, U+0965 double danda */
- AF_UNIRANGE_REC( 0x0966UL, 0x097FUL ),
- AF_UNIRANGE_REC( 0x20B9UL, 0x20B9UL ), /* (new) Rupee sign */
+ AF_UNIRANGE_REC( 0x0966UL, 0x097FUL ), /* ... continued */
+ AF_UNIRANGE_REC( 0x20B9UL, 0x20B9UL ), /* (new) Rupee sign */
+ AF_UNIRANGE_REC( 0xA8E0UL, 0xA8FFUL ), /* Devanagari Extended */
+ AF_UNIRANGE_REC( 0UL, 0UL )
+ };
+
+ const AF_Script_UniRangeRec af_deva_nonbase_uniranges[] =
+ {
+ AF_UNIRANGE_REC( 0x0900UL, 0x0902UL ),
+ AF_UNIRANGE_REC( 0x093AUL, 0x093AUL ),
+ AF_UNIRANGE_REC( 0x0941UL, 0x0948UL ),
+ AF_UNIRANGE_REC( 0x094DUL, 0x094DUL ),
+ AF_UNIRANGE_REC( 0x0953UL, 0x0957UL ),
+ AF_UNIRANGE_REC( 0x0962UL, 0x0963UL ),
+ AF_UNIRANGE_REC( 0xA8E0UL, 0xA8F1UL ),
AF_UNIRANGE_REC( 0UL, 0UL )
};
+
const AF_Script_UniRangeRec af_grek_uniranges[] =
{
AF_UNIRANGE_REC( 0x0370UL, 0x03FFUL ), /* Greek and Coptic */
@@ -63,6 +148,19 @@
AF_UNIRANGE_REC( 0UL, 0UL )
};
+ const AF_Script_UniRangeRec af_grek_nonbase_uniranges[] =
+ {
+ AF_UNIRANGE_REC( 0x037AUL, 0x037AUL ),
+ AF_UNIRANGE_REC( 0x0384UL, 0x0385UL ),
+ AF_UNIRANGE_REC( 0x1FBDUL, 0x1FC1UL ),
+ AF_UNIRANGE_REC( 0x1FCDUL, 0x1FCFUL ),
+ AF_UNIRANGE_REC( 0x1FDDUL, 0x1FDFUL ),
+ AF_UNIRANGE_REC( 0x1FEDUL, 0x1FEFUL ),
+ AF_UNIRANGE_REC( 0x1FFDUL, 0x1FFEUL ),
+ AF_UNIRANGE_REC( 0UL, 0UL )
+ };
+
+
const AF_Script_UniRangeRec af_hebr_uniranges[] =
{
AF_UNIRANGE_REC( 0x0590UL, 0x05FFUL ), /* Hebrew */
@@ -70,51 +168,171 @@
AF_UNIRANGE_REC( 0UL, 0UL )
};
+ const AF_Script_UniRangeRec af_hebr_nonbase_uniranges[] =
+ {
+ AF_UNIRANGE_REC( 0x0591UL, 0x05BFUL ),
+ AF_UNIRANGE_REC( 0x05C1UL, 0x05C2UL ),
+ AF_UNIRANGE_REC( 0x05C4UL, 0x05C5UL ),
+ AF_UNIRANGE_REC( 0x05C7UL, 0x05C7UL ),
+ AF_UNIRANGE_REC( 0xFB1EUL, 0xFB1EUL ),
+ AF_UNIRANGE_REC( 0UL, 0UL )
+ };
+
+
+ const AF_Script_UniRangeRec af_lao_uniranges[] =
+ {
+ AF_UNIRANGE_REC( 0x0E80UL, 0x0EFFUL ), /* Lao */
+ AF_UNIRANGE_REC( 0UL, 0UL )
+ };
+
+ const AF_Script_UniRangeRec af_lao_nonbase_uniranges[] =
+ {
+ AF_UNIRANGE_REC( 0x0EB1UL, 0x0EB1UL ),
+ AF_UNIRANGE_REC( 0x0EB4UL, 0x0EBCUL ),
+ AF_UNIRANGE_REC( 0x0EC8UL, 0x0ECDUL ),
+ AF_UNIRANGE_REC( 0UL, 0UL )
+ };
+
+
const AF_Script_UniRangeRec af_latn_uniranges[] =
{
AF_UNIRANGE_REC( 0x0020UL, 0x007FUL ), /* Basic Latin (no control chars) */
- AF_UNIRANGE_REC( 0x00A0UL, 0x00FFUL ), /* Latin-1 Supplement (no control chars) */
+ AF_UNIRANGE_REC( 0x00A0UL, 0x00A9UL ), /* Latin-1 Supplement (no control chars) */
+ AF_UNIRANGE_REC( 0x00ABUL, 0x00B1UL ), /* ... continued */
+ AF_UNIRANGE_REC( 0x00B4UL, 0x00B8UL ), /* ... continued */
+ AF_UNIRANGE_REC( 0x00BBUL, 0x00FFUL ), /* ... continued */
AF_UNIRANGE_REC( 0x0100UL, 0x017FUL ), /* Latin Extended-A */
AF_UNIRANGE_REC( 0x0180UL, 0x024FUL ), /* Latin Extended-B */
AF_UNIRANGE_REC( 0x0250UL, 0x02AFUL ), /* IPA Extensions */
- AF_UNIRANGE_REC( 0x02B0UL, 0x02FFUL ), /* Spacing Modifier Letters */
+ AF_UNIRANGE_REC( 0x02B9UL, 0x02DFUL ), /* Spacing Modifier Letters */
+ AF_UNIRANGE_REC( 0x02E5UL, 0x02FFUL ), /* ... continued */
AF_UNIRANGE_REC( 0x0300UL, 0x036FUL ), /* Combining Diacritical Marks */
- AF_UNIRANGE_REC( 0x1D00UL, 0x1D7FUL ), /* Phonetic Extensions */
- AF_UNIRANGE_REC( 0x1D80UL, 0x1DBFUL ), /* Phonetic Extensions Supplement */
+ AF_UNIRANGE_REC( 0x1AB0UL, 0x1ABEUL ), /* Combining Diacritical Marks Extended */
+ AF_UNIRANGE_REC( 0x1D00UL, 0x1D2BUL ), /* Phonetic Extensions */
+ AF_UNIRANGE_REC( 0x1D6BUL, 0x1D77UL ), /* ... continued */
+ AF_UNIRANGE_REC( 0x1D79UL, 0x1D7FUL ), /* ... continued */
+ AF_UNIRANGE_REC( 0x1D80UL, 0x1D9AUL ), /* Phonetic Extensions Supplement */
AF_UNIRANGE_REC( 0x1DC0UL, 0x1DFFUL ), /* Combining Diacritical Marks Supplement */
AF_UNIRANGE_REC( 0x1E00UL, 0x1EFFUL ), /* Latin Extended Additional */
AF_UNIRANGE_REC( 0x2000UL, 0x206FUL ), /* General Punctuation */
- AF_UNIRANGE_REC( 0x2070UL, 0x209FUL ), /* Superscripts and Subscripts */
AF_UNIRANGE_REC( 0x20A0UL, 0x20B8UL ), /* Currency Symbols ... */
AF_UNIRANGE_REC( 0x20BAUL, 0x20CFUL ), /* ... except new Rupee sign */
AF_UNIRANGE_REC( 0x2150UL, 0x218FUL ), /* Number Forms */
- AF_UNIRANGE_REC( 0x2460UL, 0x24FFUL ), /* Enclosed Alphanumerics */
- AF_UNIRANGE_REC( 0x2C60UL, 0x2C7FUL ), /* Latin Extended-C */
+ AF_UNIRANGE_REC( 0x2C60UL, 0x2C7BUL ), /* Latin Extended-C */
+ AF_UNIRANGE_REC( 0x2C7EUL, 0x2C7FUL ), /* ... continued */
AF_UNIRANGE_REC( 0x2E00UL, 0x2E7FUL ), /* Supplemental Punctuation */
- AF_UNIRANGE_REC( 0xA720UL, 0xA7FFUL ), /* Latin Extended-D */
+ AF_UNIRANGE_REC( 0xA720UL, 0xA76FUL ), /* Latin Extended-D */
+ AF_UNIRANGE_REC( 0xA771UL, 0xA7F7UL ), /* ... continued */
+ AF_UNIRANGE_REC( 0xA7FAUL, 0xA7FFUL ), /* ... continued */
+ AF_UNIRANGE_REC( 0xAB30UL, 0xAB5BUL ), /* Latin Extended-E */
+ AF_UNIRANGE_REC( 0xAB60UL, 0xAB6FUL ), /* ... continued */
AF_UNIRANGE_REC( 0xFB00UL, 0xFB06UL ), /* Alphab. Present. Forms (Latin Ligs) */
AF_UNIRANGE_REC( 0x1D400UL, 0x1D7FFUL ), /* Mathematical Alphanumeric Symbols */
- AF_UNIRANGE_REC( 0x1F100UL, 0x1F1FFUL ), /* Enclosed Alphanumeric Supplement */
AF_UNIRANGE_REC( 0UL, 0UL )
};
+ const AF_Script_UniRangeRec af_latn_nonbase_uniranges[] =
+ {
+ AF_UNIRANGE_REC( 0x005EUL, 0x0060UL ),
+ AF_UNIRANGE_REC( 0x007EUL, 0x007EUL ),
+ AF_UNIRANGE_REC( 0x00A8UL, 0x00A9UL ),
+ AF_UNIRANGE_REC( 0x00AEUL, 0x00B0UL ),
+ AF_UNIRANGE_REC( 0x00B4UL, 0x00B4UL ),
+ AF_UNIRANGE_REC( 0x00B8UL, 0x00B8UL ),
+ AF_UNIRANGE_REC( 0x00BCUL, 0x00BEUL ),
+ AF_UNIRANGE_REC( 0x02B9UL, 0x02DFUL ),
+ AF_UNIRANGE_REC( 0x02E5UL, 0x02FFUL ),
+ AF_UNIRANGE_REC( 0x0300UL, 0x036FUL ),
+ AF_UNIRANGE_REC( 0x1AB0UL, 0x1ABEUL ),
+ AF_UNIRANGE_REC( 0x1DC0UL, 0x1DFFUL ),
+ AF_UNIRANGE_REC( 0x2017UL, 0x2017UL ),
+ AF_UNIRANGE_REC( 0x203EUL, 0x203EUL ),
+ AF_UNIRANGE_REC( 0xA788UL, 0xA788UL ),
+ AF_UNIRANGE_REC( 0xA7F8UL, 0xA7FAUL ),
+ AF_UNIRANGE_REC( 0UL, 0UL )
+ };
+
+
+ const AF_Script_UniRangeRec af_latb_uniranges[] =
+ {
+ AF_UNIRANGE_REC( 0x1D62UL, 0x1D6AUL ), /* some small subscript letters */
+ AF_UNIRANGE_REC( 0x2080UL, 0x209CUL ), /* subscript digits and letters */
+ AF_UNIRANGE_REC( 0x2C7CUL, 0x2C7CUL ), /* latin subscript small letter j */
+ AF_UNIRANGE_REC( 0UL, 0UL )
+ };
+
+ const AF_Script_UniRangeRec af_latb_nonbase_uniranges[] =
+ {
+ AF_UNIRANGE_REC( 0UL, 0UL )
+ };
+
+
+ const AF_Script_UniRangeRec af_latp_uniranges[] =
+ {
+ AF_UNIRANGE_REC( 0x00AAUL, 0x00AAUL ), /* feminine ordinal indicator */
+ AF_UNIRANGE_REC( 0x00B2UL, 0x00B3UL ), /* superscript two and three */
+ AF_UNIRANGE_REC( 0x00B9UL, 0x00BAUL ), /* superscript one, masc. ord. indic. */
+ AF_UNIRANGE_REC( 0x02B0UL, 0x02B8UL ), /* some latin superscript mod. letters */
+ AF_UNIRANGE_REC( 0x02E0UL, 0x02E4UL ), /* some IPA modifier letters */
+ AF_UNIRANGE_REC( 0x1D2CUL, 0x1D61UL ), /* latin superscript modifier letters */
+ AF_UNIRANGE_REC( 0x1D78UL, 0x1D78UL ), /* modifier letter cyrillic en */
+ AF_UNIRANGE_REC( 0x1D9BUL, 0x1DBFUL ), /* more modifier letters */
+ AF_UNIRANGE_REC( 0x2070UL, 0x207FUL ), /* superscript digits and letters */
+ AF_UNIRANGE_REC( 0x2C7DUL, 0x2C7DUL ), /* modifier letter capital v */
+ AF_UNIRANGE_REC( 0xA770UL, 0xA770UL ), /* modifier letter us */
+ AF_UNIRANGE_REC( 0xA7F8UL, 0xA7F9UL ), /* more modifier letters */
+ AF_UNIRANGE_REC( 0xAB5CUL, 0xAB5FUL ), /* more modifier letters */
+ AF_UNIRANGE_REC( 0UL, 0UL )
+ };
+
+ const AF_Script_UniRangeRec af_latp_nonbase_uniranges[] =
+ {
+ AF_UNIRANGE_REC( 0UL, 0UL )
+ };
+
+
const AF_Script_UniRangeRec af_none_uniranges[] =
{
AF_UNIRANGE_REC( 0UL, 0UL )
};
+ const AF_Script_UniRangeRec af_none_nonbase_uniranges[] =
+ {
+ AF_UNIRANGE_REC( 0UL, 0UL )
+ };
+
+
const AF_Script_UniRangeRec af_telu_uniranges[] =
{
AF_UNIRANGE_REC( 0x0C00UL, 0x0C7FUL ), /* Telugu */
AF_UNIRANGE_REC( 0UL, 0UL )
};
+ const AF_Script_UniRangeRec af_telu_nonbase_uniranges[] =
+ {
+ AF_UNIRANGE_REC( 0x0C00UL, 0x0C00UL ),
+ AF_UNIRANGE_REC( 0x0C3EUL, 0x0C40UL ),
+ AF_UNIRANGE_REC( 0x0C46UL, 0x0C56UL ),
+ AF_UNIRANGE_REC( 0x0C62UL, 0x0C63UL ),
+ AF_UNIRANGE_REC( 0UL, 0UL )
+ };
+
+
const AF_Script_UniRangeRec af_thai_uniranges[] =
{
AF_UNIRANGE_REC( 0x0E00UL, 0x0E7FUL ), /* Thai */
AF_UNIRANGE_REC( 0UL, 0UL )
};
+ const AF_Script_UniRangeRec af_thai_nonbase_uniranges[] =
+ {
+ AF_UNIRANGE_REC( 0x0E31UL, 0x0E31UL ),
+ AF_UNIRANGE_REC( 0x0E34UL, 0x0E3AUL ),
+ AF_UNIRANGE_REC( 0x0E47UL, 0x0E4EUL ),
+ AF_UNIRANGE_REC( 0UL, 0UL )
+ };
+
+
#ifdef AF_CONFIG_OPTION_INDIC
const AF_Script_UniRangeRec af_beng_uniranges[] =
@@ -123,72 +341,197 @@
AF_UNIRANGE_REC( 0UL, 0UL )
};
+ const AF_Script_UniRangeRec af_beng_nonbase_uniranges[] =
+ {
+ AF_UNIRANGE_REC( 0x0981UL, 0x0981UL ),
+ AF_UNIRANGE_REC( 0x09BCUL, 0x09BCUL ),
+ AF_UNIRANGE_REC( 0x09C1UL, 0x09C4UL ),
+ AF_UNIRANGE_REC( 0x09CDUL, 0x09CDUL ),
+ AF_UNIRANGE_REC( 0x09E2UL, 0x09E3UL ),
+ AF_UNIRANGE_REC( 0UL, 0UL )
+ };
+
+
const AF_Script_UniRangeRec af_gujr_uniranges[] =
{
AF_UNIRANGE_REC( 0x0A80UL, 0x0AFFUL ), /* Gujarati */
AF_UNIRANGE_REC( 0UL, 0UL )
};
+ const AF_Script_UniRangeRec af_gujr_nonbase_uniranges[] =
+ {
+ AF_UNIRANGE_REC( 0x0A81UL, 0x0A82UL ),
+ AF_UNIRANGE_REC( 0x0ABCUL, 0x0ABCUL ),
+ AF_UNIRANGE_REC( 0x0AC1UL, 0x0AC8UL ),
+ AF_UNIRANGE_REC( 0x0ACDUL, 0x0ACDUL ),
+ AF_UNIRANGE_REC( 0x0AE2UL, 0x0AE3UL ),
+ AF_UNIRANGE_REC( 0UL, 0UL )
+ };
+
+
const AF_Script_UniRangeRec af_guru_uniranges[] =
{
AF_UNIRANGE_REC( 0x0A00UL, 0x0A7FUL ), /* Gurmukhi */
AF_UNIRANGE_REC( 0UL, 0UL )
};
+ const AF_Script_UniRangeRec af_guru_nonbase_uniranges[] =
+ {
+ AF_UNIRANGE_REC( 0x0A01UL, 0x0A02UL ),
+ AF_UNIRANGE_REC( 0x0A3CUL, 0x0A3EUL ),
+ AF_UNIRANGE_REC( 0x0A41UL, 0x0A51UL ),
+ AF_UNIRANGE_REC( 0x0A70UL, 0x0A71UL ),
+ AF_UNIRANGE_REC( 0x0A75UL, 0x0A75UL ),
+ AF_UNIRANGE_REC( 0UL, 0UL )
+ };
+
+
const AF_Script_UniRangeRec af_knda_uniranges[] =
{
AF_UNIRANGE_REC( 0x0C80UL, 0x0CFFUL ), /* Kannada */
AF_UNIRANGE_REC( 0UL, 0UL )
};
+ const AF_Script_UniRangeRec af_knda_nonbase_uniranges[] =
+ {
+ AF_UNIRANGE_REC( 0x0C81UL, 0x0C81UL ),
+ AF_UNIRANGE_REC( 0x0CBCUL, 0x0CBCUL ),
+ AF_UNIRANGE_REC( 0x0CBFUL, 0x0CBFUL ),
+ AF_UNIRANGE_REC( 0x0CC6UL, 0x0CC6UL ),
+ AF_UNIRANGE_REC( 0x0CCCUL, 0x0CCDUL ),
+ AF_UNIRANGE_REC( 0x0CE2UL, 0x0CE3UL ),
+ AF_UNIRANGE_REC( 0UL, 0UL )
+ };
+
+
const AF_Script_UniRangeRec af_limb_uniranges[] =
{
AF_UNIRANGE_REC( 0x1900UL, 0x194FUL ), /* Limbu */
AF_UNIRANGE_REC( 0UL, 0UL )
};
+ const AF_Script_UniRangeRec af_limb_nonbase_uniranges[] =
+ {
+ AF_UNIRANGE_REC( 0x1920UL, 0x1922UL ),
+ AF_UNIRANGE_REC( 0x1927UL, 0x1934UL ),
+ AF_UNIRANGE_REC( 0x1937UL, 0x193BUL ),
+ AF_UNIRANGE_REC( 0UL, 0UL )
+ };
+
+
const AF_Script_UniRangeRec af_mlym_uniranges[] =
{
AF_UNIRANGE_REC( 0x0D00UL, 0x0D7FUL ), /* Malayalam */
AF_UNIRANGE_REC( 0UL, 0UL )
};
+ const AF_Script_UniRangeRec af_mlym_nonbase_uniranges[] =
+ {
+ AF_UNIRANGE_REC( 0x0D01UL, 0x0D01UL ),
+ AF_UNIRANGE_REC( 0x0D4DUL, 0x0D4EUL ),
+ AF_UNIRANGE_REC( 0x0D62UL, 0x0D63UL ),
+ AF_UNIRANGE_REC( 0UL, 0UL )
+ };
+
+
const AF_Script_UniRangeRec af_orya_uniranges[] =
{
AF_UNIRANGE_REC( 0x0B00UL, 0x0B7FUL ), /* Oriya */
AF_UNIRANGE_REC( 0UL, 0UL )
};
+ const AF_Script_UniRangeRec af_orya_nonbase_uniranges[] =
+ {
+ AF_UNIRANGE_REC( 0x0B01UL, 0x0B02UL ),
+ AF_UNIRANGE_REC( 0x0B3CUL, 0x0B3CUL ),
+ AF_UNIRANGE_REC( 0x0B3FUL, 0x0B3FUL ),
+ AF_UNIRANGE_REC( 0x0B41UL, 0x0B44UL ),
+ AF_UNIRANGE_REC( 0x0B4DUL, 0x0B56UL ),
+ AF_UNIRANGE_REC( 0x0B62UL, 0x0B63UL ),
+ AF_UNIRANGE_REC( 0UL, 0UL )
+ };
+
+
const AF_Script_UniRangeRec af_sinh_uniranges[] =
{
AF_UNIRANGE_REC( 0x0D80UL, 0x0DFFUL ), /* Sinhala */
AF_UNIRANGE_REC( 0UL, 0UL )
};
+ const AF_Script_UniRangeRec af_sinh_nonbase_uniranges[] =
+ {
+ AF_UNIRANGE_REC( 0x0DCAUL, 0x0DCAUL ),
+ AF_UNIRANGE_REC( 0x0DD2UL, 0x0DD6UL ),
+ AF_UNIRANGE_REC( 0UL, 0UL )
+ };
+
+
const AF_Script_UniRangeRec af_sund_uniranges[] =
{
- AF_UNIRANGE_REC( 0x1B80UL, 0x1BBFUL ), /* Sundanese */
+ AF_UNIRANGE_REC( 0x1B80UL, 0x1BBFUL ), /* Sundanese */
+ AF_UNIRANGE_REC( 0x1CC0UL, 0x1CCFUL ), /* Sundanese Supplement */
+ AF_UNIRANGE_REC( 0UL, 0UL )
+ };
+
+ const AF_Script_UniRangeRec af_sund_nonbase_uniranges[] =
+ {
+ AF_UNIRANGE_REC( 0x1B80UL, 0x1B82UL ),
+ AF_UNIRANGE_REC( 0x1BA1UL, 0x1BADUL ),
AF_UNIRANGE_REC( 0UL, 0UL )
};
+
const AF_Script_UniRangeRec af_sylo_uniranges[] =
{
AF_UNIRANGE_REC( 0xA800UL, 0xA82FUL ), /* Syloti Nagri */
AF_UNIRANGE_REC( 0UL, 0UL )
};
+ const AF_Script_UniRangeRec af_sylo_nonbase_uniranges[] =
+ {
+ AF_UNIRANGE_REC( 0xA802UL, 0xA802UL ),
+ AF_UNIRANGE_REC( 0xA806UL, 0xA806UL ),
+ AF_UNIRANGE_REC( 0xA80BUL, 0xA80BUL ),
+ AF_UNIRANGE_REC( 0xA825UL, 0xA826UL ),
+ AF_UNIRANGE_REC( 0UL, 0UL )
+ };
+
+
const AF_Script_UniRangeRec af_taml_uniranges[] =
{
AF_UNIRANGE_REC( 0x0B80UL, 0x0BFFUL ), /* Tamil */
AF_UNIRANGE_REC( 0UL, 0UL )
};
+ const AF_Script_UniRangeRec af_taml_nonbase_uniranges[] =
+ {
+ AF_UNIRANGE_REC( 0x0B82UL, 0x0B82UL ),
+ AF_UNIRANGE_REC( 0x0BC0UL, 0x0BC2UL ),
+ AF_UNIRANGE_REC( 0x0BCDUL, 0x0BCDUL ),
+ AF_UNIRANGE_REC( 0UL, 0UL )
+ };
+
+
const AF_Script_UniRangeRec af_tibt_uniranges[] =
{
AF_UNIRANGE_REC( 0x0F00UL, 0x0FFFUL ), /* Tibetan */
AF_UNIRANGE_REC( 0UL, 0UL )
};
+ const AF_Script_UniRangeRec af_tibt_nonbase_uniranges[] =
+ {
+ AF_UNIRANGE_REC( 0x0F18UL, 0x0F19UL ),
+ AF_UNIRANGE_REC( 0x0F35UL, 0x0F35UL ),
+ AF_UNIRANGE_REC( 0x0F37UL, 0x0F37UL ),
+ AF_UNIRANGE_REC( 0x0F39UL, 0x0F39UL ),
+ AF_UNIRANGE_REC( 0x0F3EUL, 0x0F3FUL ),
+ AF_UNIRANGE_REC( 0x0F71UL, 0x0F7EUL ),
+ AF_UNIRANGE_REC( 0x0F80UL, 0x0F84UL ),
+ AF_UNIRANGE_REC( 0x0F86UL, 0x0F87UL ),
+ AF_UNIRANGE_REC( 0x0F8DUL, 0x0FBCUL ),
+ AF_UNIRANGE_REC( 0UL, 0UL )
+ };
+
#endif /* !AF_CONFIG_OPTION_INDIC */
#ifdef AF_CONFIG_OPTION_CJK
@@ -210,7 +553,6 @@
AF_UNIRANGE_REC( 0x31A0UL, 0x31BFUL ), /* Bopomofo Extended */
AF_UNIRANGE_REC( 0x31C0UL, 0x31EFUL ), /* CJK Strokes */
AF_UNIRANGE_REC( 0x31F0UL, 0x31FFUL ), /* Katakana Phonetic Extensions */
- AF_UNIRANGE_REC( 0x3200UL, 0x32FFUL ), /* Enclosed CJK Letters and Months */
AF_UNIRANGE_REC( 0x3300UL, 0x33FFUL ), /* CJK Compatibility */
AF_UNIRANGE_REC( 0x3400UL, 0x4DBFUL ), /* CJK Unified Ideographs Extension A */
AF_UNIRANGE_REC( 0x4DC0UL, 0x4DFFUL ), /* Yijing Hexagram Symbols */
@@ -224,7 +566,6 @@
AF_UNIRANGE_REC( 0xFF00UL, 0xFFEFUL ), /* Halfwidth and Fullwidth Forms */
AF_UNIRANGE_REC( 0x1B000UL, 0x1B0FFUL ), /* Kana Supplement */
AF_UNIRANGE_REC( 0x1D300UL, 0x1D35FUL ), /* Tai Xuan Hing Symbols */
- AF_UNIRANGE_REC( 0x1F200UL, 0x1F2FFUL ), /* Enclosed Ideographic Supplement */
AF_UNIRANGE_REC( 0x20000UL, 0x2A6DFUL ), /* CJK Unified Ideographs Extension B */
AF_UNIRANGE_REC( 0x2A700UL, 0x2B73FUL ), /* CJK Unified Ideographs Extension C */
AF_UNIRANGE_REC( 0x2B740UL, 0x2B81FUL ), /* CJK Unified Ideographs Extension D */
@@ -232,6 +573,13 @@
AF_UNIRANGE_REC( 0UL, 0UL )
};
+ const AF_Script_UniRangeRec af_hani_nonbase_uniranges[] =
+ {
+ AF_UNIRANGE_REC( 0x302AUL, 0x302FUL ),
+ AF_UNIRANGE_REC( 0x3190UL, 0x319FUL ),
+ AF_UNIRANGE_REC( 0UL, 0UL )
+ };
+
#endif /* !AF_CONFIG_OPTION_CJK */
/* END */
diff --git a/lib/freetype/src/autofit/afranges.h b/lib/freetype/src/autofit/afranges.h
index 7c78ab089..b080873e7 100644
--- a/lib/freetype/src/autofit/afranges.h
+++ b/lib/freetype/src/autofit/afranges.h
@@ -31,6 +31,12 @@ FT_BEGIN_HEADER
#include "afscript.h"
+#undef SCRIPT
+#define SCRIPT( s, S, d, h, sc1, sc2, sc3 ) \
+ extern const AF_Script_UniRangeRec af_ ## s ## _nonbase_uniranges[];
+
+#include "afscript.h"
+
/* */
FT_END_HEADER
diff --git a/lib/freetype/src/autofit/afscript.h b/lib/freetype/src/autofit/afscript.h
index dfcc8302a..b92e84f5f 100644
--- a/lib/freetype/src/autofit/afscript.h
+++ b/lib/freetype/src/autofit/afscript.h
@@ -25,6 +25,10 @@
/* by a description string. Then comes the corresponding HarfBuzz */
/* script name tag, followed by a string of standard characters (to */
/* derive the standard width and height of stems). */
+ /* */
+ /* Note that fallback scripts only have a default style, thus we */
+ /* use `HB_SCRIPT_INVALID' as the HarfBuzz script name tag for */
+ /* them. */
SCRIPT( arab, ARAB,
"Arabic",
@@ -34,7 +38,7 @@
SCRIPT( cyrl, CYRL,
"Cyrillic",
HB_SCRIPT_CYRILLIC,
- 0x43E, 0x41E, 0x0 ) /* оО */
+ 0x43E, 0x41E, 0x0 ) /* о О */
SCRIPT( deva, DEVA,
"Devanagari",
@@ -44,18 +48,34 @@
SCRIPT( grek, GREK,
"Greek",
HB_SCRIPT_GREEK,
- 0x3BF, 0x39F, 0x0 ) /* οΟ */
+ 0x3BF, 0x39F, 0x0 ) /* ο Ο */
SCRIPT( hebr, HEBR,
"Hebrew",
HB_SCRIPT_HEBREW,
0x5DD, 0x0, 0x0 ) /* ם */
+ /* only digit zero has a simple shape in the Lao script */
+ SCRIPT( lao, LAO,
+ "Lao",
+ HB_SCRIPT_LAO,
+ 0xED0, 0x0, 0x0 ) /* ໐ */
+
SCRIPT( latn, LATN,
"Latin",
HB_SCRIPT_LATIN,
'o', 'O', '0' )
+ SCRIPT( latb, LATB,
+ "Latin Subscript Fallback",
+ HB_SCRIPT_INVALID,
+ 0x2092, 0x2080, 0x0 ) /* ₒ ₀ */
+
+ SCRIPT( latp, LATP,
+ "Latin Superscript Fallback",
+ HB_SCRIPT_INVALID,
+ 0x1D52, 0x1D3C, 0x2070 ) /* ᵒ ᴼ ⁰ */
+
SCRIPT( none, NONE,
"no script",
HB_SCRIPT_INVALID,
diff --git a/lib/freetype/src/autofit/afstyles.h b/lib/freetype/src/autofit/afstyles.h
index bfd5bb910..87663c9ee 100644
--- a/lib/freetype/src/autofit/afstyles.h
+++ b/lib/freetype/src/autofit/afstyles.h
@@ -27,7 +27,9 @@
/* coverage. */
/* */
/* Note that styles using `AF_COVERAGE_DEFAULT' should always */
- /* come after styles with other coverages. */
+ /* come after styles with other coverages. Also note that */
+ /* fallback scripts only use `AF_COVERAGE_DEFAULT' for its */
+ /* style. */
/* */
/* Example: */
/* */
@@ -90,6 +92,13 @@
META_STYLE_LATIN( cyrl, CYRL, "Cyrillic" )
+ STYLE( deva_dflt, DEVA_DFLT,
+ "Devanagari default style",
+ AF_WRITING_SYSTEM_LATIN,
+ AF_SCRIPT_DEVA,
+ AF_BLUE_STRINGSET_DEVA,
+ AF_COVERAGE_DEFAULT )
+
META_STYLE_LATIN( grek, GREK, "Greek" )
STYLE( hebr_dflt, HEBR_DFLT,
@@ -98,13 +107,28 @@
AF_SCRIPT_HEBR,
AF_BLUE_STRINGSET_HEBR,
AF_COVERAGE_DEFAULT )
+
+ STYLE( lao_dflt, LAO_DFLT,
+ "Lao default style",
+ AF_WRITING_SYSTEM_LATIN,
+ AF_SCRIPT_LAO,
+ AF_BLUE_STRINGSET_LAO,
+ AF_COVERAGE_DEFAULT )
+
META_STYLE_LATIN( latn, LATN, "Latin" )
- STYLE( deva_dflt, DEVA_DFLT,
- "Devanagari default style",
+ STYLE( latb_dflt, LATB_DFLT,
+ "Latin subscript fallback default style",
AF_WRITING_SYSTEM_LATIN,
- AF_SCRIPT_DEVA,
- AF_BLUE_STRINGSET_DEVA,
+ AF_SCRIPT_LATB,
+ AF_BLUE_STRINGSET_LATB,
+ AF_COVERAGE_DEFAULT )
+
+ STYLE( latp_dflt, LATP_DFLT,
+ "Latin superscript fallback default style",
+ AF_WRITING_SYSTEM_LATIN,
+ AF_SCRIPT_LATP,
+ AF_BLUE_STRINGSET_LATP,
AF_COVERAGE_DEFAULT )
#ifdef FT_OPTION_AUTOFIT2
diff --git a/lib/freetype/src/autofit/aftypes.h b/lib/freetype/src/autofit/aftypes.h
index 78e3fd7ec..43b38006c 100644
--- a/lib/freetype/src/autofit/aftypes.h
+++ b/lib/freetype/src/autofit/aftypes.h
@@ -41,6 +41,10 @@
#include "afblue.h"
+#ifdef FT_DEBUG_AUTOFIT
+#include FT_CONFIG_STANDARD_LIBRARY_H
+#endif
+
FT_BEGIN_HEADER
@@ -54,8 +58,6 @@ FT_BEGIN_HEADER
#ifdef FT_DEBUG_AUTOFIT
-#include FT_CONFIG_STANDARD_LIBRARY_H
-
extern int _af_debug_disable_horz_hints;
extern int _af_debug_disable_vert_hints;
extern int _af_debug_disable_blue_hints;
@@ -215,7 +217,8 @@ extern void* _af_debug_hints;
AF_StyleMetrics metrics );
typedef void
- (*AF_WritingSystem_ApplyHintsFunc)( AF_GlyphHints hints,
+ (*AF_WritingSystem_ApplyHintsFunc)( FT_UInt glyph_index,
+ AF_GlyphHints hints,
FT_Outline* outline,
AF_StyleMetrics metrics );
@@ -291,8 +294,9 @@ extern void* _af_debug_hints;
/*************************************************************************/
/*
- * Each script is associated with a set of Unicode ranges that gets used
- * to test whether the font face supports the script.
+ * Each script is associated with two sets of Unicode ranges to test
+ * whether the font face supports the script, and which non-base
+ * characters the script contains.
*
* We use four-letter script tags from the OpenType specification,
* extended by `NONE', which indicates `no script'.
@@ -329,7 +333,9 @@ extern void* _af_debug_hints;
{
AF_Script script;
- AF_Script_UniRange script_uni_ranges; /* last must be { 0, 0 } */
+ /* last element in the ranges must be { 0, 0 } */
+ AF_Script_UniRange script_uni_ranges;
+ AF_Script_UniRange script_uni_nonbase_ranges;
FT_UInt32 standard_char1; /* for default width and height */
FT_UInt32 standard_char2; /* ditto */
@@ -509,6 +515,7 @@ extern void* _af_debug_hints;
script_class, \
script, \
ranges, \
+ nonbase_ranges, \
std_char1, \
std_char2, \
std_char3 ) \
@@ -517,6 +524,7 @@ extern void* _af_debug_hints;
{ \
script, \
ranges, \
+ nonbase_ranges, \
std_char1, \
std_char2, \
std_char3 \
@@ -583,17 +591,19 @@ extern void* _af_debug_hints;
script_class, \
script_, \
ranges, \
+ nonbase_ranges, \
std_char1, \
std_char2, \
std_char3 ) \
FT_LOCAL_DEF( void ) \
FT_Init_Class_ ## script_class( AF_ScriptClassRec* ac ) \
{ \
- ac->script = script_; \
- ac->script_uni_ranges = ranges; \
- ac->standard_char1 = std_char1; \
- ac->standard_char2 = std_char2; \
- ac->standard_char3 = std_char3; \
+ ac->script = script_; \
+ ac->script_uni_ranges = ranges; \
+ ac->script_uni_nonbase_ranges = nonbase_ranges; \
+ ac->standard_char1 = std_char1; \
+ ac->standard_char2 = std_char2; \
+ ac->standard_char3 = std_char3; \
}
diff --git a/lib/freetype/src/autofit/afwarp.h b/lib/freetype/src/autofit/afwarp.h
index 5a6208a15..6069b6b27 100644
--- a/lib/freetype/src/autofit/afwarp.h
+++ b/lib/freetype/src/autofit/afwarp.h
@@ -25,7 +25,7 @@ FT_BEGIN_HEADER
#define AF_WARPER_SCALE
-#define AF_WARPER_FLOOR( x ) ( (x) & ~TYPEOF( x )63 )
+#define AF_WARPER_FLOOR( x ) ( (x) & ~FT_TYPEOF( x )63 )
#define AF_WARPER_CEIL( x ) AF_WARPER_FLOOR( (x) + 63 )
diff --git a/lib/freetype/src/autofit/hbshim.c b/lib/freetype/src/autofit/hbshim.c
index c9c1db0be..7a45059c3 100644
--- a/lib/freetype/src/autofit/hbshim.c
+++ b/lib/freetype/src/autofit/hbshim.c
@@ -98,7 +98,7 @@
FT_Error
af_get_coverage( AF_FaceGlobals globals,
AF_StyleClass style_class,
- FT_Byte* gstyles )
+ FT_UShort* gstyles )
{
hb_face_t* face;
@@ -363,7 +363,7 @@
continue;
if ( gstyles[idx] == AF_STYLE_UNASSIGNED )
- gstyles[idx] = (FT_Byte)style_class->style;
+ gstyles[idx] = (FT_UShort)style_class->style;
#ifdef FT_DEBUG_LEVEL_TRACE
else
FT_TRACE4(( "*" ));
@@ -509,7 +509,7 @@
FT_Error
af_get_coverage( AF_FaceGlobals globals,
AF_StyleClass style_class,
- FT_Byte* gstyles )
+ FT_UShort* gstyles )
{
FT_UNUSED( globals );
FT_UNUSED( style_class );
diff --git a/lib/freetype/src/autofit/hbshim.h b/lib/freetype/src/autofit/hbshim.h
index 5636ca649..3824941ca 100644
--- a/lib/freetype/src/autofit/hbshim.h
+++ b/lib/freetype/src/autofit/hbshim.h
@@ -38,7 +38,7 @@ FT_BEGIN_HEADER
FT_Error
af_get_coverage( AF_FaceGlobals globals,
AF_StyleClass style_class,
- FT_Byte* gstyles );
+ FT_UShort* gstyles );
FT_Error
af_get_char_index( AF_StyleMetrics metrics,
diff --git a/lib/freetype/src/base/Jamfile b/lib/freetype/src/base/Jamfile
index ce8114d74..e39fb096b 100644
--- a/lib/freetype/src/base/Jamfile
+++ b/lib/freetype/src/base/Jamfile
@@ -17,10 +17,19 @@ SubDir FT2_TOP $(FT2_SRC_DIR) base ;
if $(FT2_MULTI)
{
- _sources = ftadvanc ftcalc ftdbgmem ftgloadr
- ftobjs ftoutln ftrfork ftsnames
- ftstream fttrigon ftutil
- basepic ftpic
+ _sources = basepic
+ ftadvanc
+ ftcalc
+ ftdbgmem
+ ftgloadr
+ ftobjs
+ ftoutln
+ ftpic
+ ftrfork
+ ftsnames
+ ftstream
+ fttrigon
+ ftutil
;
}
else
@@ -34,13 +43,31 @@ SubDir FT2_TOP $(FT2_SRC_DIR) base ;
# Add the optional/replaceable files.
#
{
- local _sources = bbox bdf bitmap debug gasp
- glyph gxval init lcdfil mm
- otval pfr stroke synth system
- type1 winfnt xf86 patent
+ local _sources = ftapi
+ ftbbox
+ ftbdf
+ ftbitmap
+ ftcid
+ ftdebug
+ ftfntfmt
+ ftfstype
+ ftgasp
+ ftglyph
+ ftgxval
+ ftinit
+ ftlcdfil
+ ftmm
+ ftotval
+ ftpatent
+ ftpfr
+ ftstroke
+ ftsynth
+ ftsystem
+ fttype1
+ ftwinfnt
;
- Library $(FT2_LIB) : ft$(_sources).c ;
+ Library $(FT2_LIB) : $(_sources).c ;
}
# Add Macintosh-specific file to the library when necessary.
diff --git a/lib/freetype/src/base/basepic.h b/lib/freetype/src/base/basepic.h
index 51ecf9e01..c5d7cbf5a 100644
--- a/lib/freetype/src/base/basepic.h
+++ b/lib/freetype/src/base/basepic.h
@@ -20,10 +20,9 @@
#define __BASEPIC_H__
-FT_BEGIN_HEADER
-
#include FT_INTERNAL_PIC_H
+
#ifndef FT_CONFIG_OPTION_PIC
#define FT_OUTLINE_GLYPH_CLASS_GET &ft_outline_glyph_class
@@ -43,6 +42,8 @@ FT_BEGIN_HEADER
#endif
+FT_BEGIN_HEADER
+
typedef struct BasePIC_
{
FT_Module_Class** default_module_classes;
@@ -78,12 +79,12 @@ FT_BEGIN_HEADER
FT_Error
ft_base_pic_init( FT_Library library );
+FT_END_HEADER
+
#endif /* FT_CONFIG_OPTION_PIC */
/* */
-FT_END_HEADER
-
#endif /* __BASEPIC_H__ */
diff --git a/lib/freetype/src/base/ftbase.h b/lib/freetype/src/base/ftbase.h
index cb57f9686..e37fefa41 100644
--- a/lib/freetype/src/base/ftbase.h
+++ b/lib/freetype/src/base/ftbase.h
@@ -27,6 +27,11 @@
FT_BEGIN_HEADER
+ /* MacOS resource fork cannot exceed 16MB at least for Carbon code; */
+ /* see https://support.microsoft.com/en-us/kb/130437 */
+#define FT_MAC_RFORK_MAX_LEN 0x00FFFFFFUL
+
+
/* Assume the stream is sfnt-wrapped PS Type1 or sfnt-wrapped CID-keyed */
/* font, and try to load a face specified by the face_index. */
FT_LOCAL( FT_Error )
diff --git a/lib/freetype/src/base/ftcalc.c b/lib/freetype/src/base/ftcalc.c
index dca0e1dc5..619a08b3a 100644
--- a/lib/freetype/src/base/ftcalc.c
+++ b/lib/freetype/src/base/ftcalc.c
@@ -86,8 +86,7 @@
FT_EXPORT_DEF( FT_Fixed )
FT_RoundFix( FT_Fixed a )
{
- return a >= 0 ? ( a + 0x8000L ) & ~0xFFFFL
- : -((-a + 0x8000L ) & ~0xFFFFL );
+ return ( a + 0x8000L - ( a < 0 ) ) & ~0xFFFFL;
}
@@ -96,8 +95,7 @@
FT_EXPORT_DEF( FT_Fixed )
FT_CeilFix( FT_Fixed a )
{
- return a >= 0 ? ( a + 0xFFFFL ) & ~0xFFFFL
- : -((-a + 0xFFFFL ) & ~0xFFFFL );
+ return ( a + 0xFFFFL ) & ~0xFFFFL;
}
@@ -106,8 +104,7 @@
FT_EXPORT_DEF( FT_Fixed )
FT_FloorFix( FT_Fixed a )
{
- return a >= 0 ? a & ~0xFFFFL
- : -((-a) & ~0xFFFFL );
+ return a & ~0xFFFFL;
}
#ifndef FT_MSB
@@ -240,22 +237,10 @@
#else
- FT_Int s = 1;
- FT_UInt64 a, b, c;
- FT_Long c_;
-
+ FT_Int64 ab = (FT_Int64)a_ * (FT_Int64)b_;
- FT_MOVE_SIGN( a_, s );
- FT_MOVE_SIGN( b_, s );
-
- a = (FT_UInt64)a_;
- b = (FT_UInt64)b_;
-
- c = ( a * b + 0x8000UL ) >> 16;
-
- c_ = (FT_Long)c;
-
- return s < 0 ? -c_ : c_;
+ /* this requires arithmetic right shift of signed numbers */
+ return (FT_Long)( ( ab + 0x8000L - ( ab < 0 ) ) >> 16 );
#endif /* FT_MULFIX_ASSEMBLER */
}
@@ -437,9 +422,6 @@
/* XXX: this function does not allow 64-bit arguments */
- if ( a_ == 0 || b_ == c_ )
- return a_;
-
FT_MOVE_SIGN( a_, s );
FT_MOVE_SIGN( b_, s );
FT_MOVE_SIGN( c_, s );
@@ -488,9 +470,6 @@
/* XXX: this function does not allow 64-bit arguments */
- if ( a_ == 0 || b_ == c_ )
- return a_;
-
FT_MOVE_SIGN( a_, s );
FT_MOVE_SIGN( b_, s );
FT_MOVE_SIGN( c_, s );
@@ -546,9 +525,6 @@
FT_UInt32 a, b;
- if ( a_ == 0 || b_ == 0x10000L )
- return a_;
-
/*
* This is a clever way of converting a signed number `a' into its
* absolute value (stored back into `a') and its sign. The sign is
@@ -599,9 +575,6 @@
/* XXX: this function does not allow 64-bit arguments */
- if ( a_ == 0 || b_ == 0x10000L )
- return a_;
-
FT_MOVE_SIGN( a_, s );
FT_MOVE_SIGN( b_, s );
@@ -785,6 +758,102 @@
}
+ /* documentation is in ftcalc.h */
+
+ FT_BASE_DEF( FT_UInt32 )
+ FT_Vector_NormLen( FT_Vector* vector )
+ {
+ FT_Int32 x_ = vector->x;
+ FT_Int32 y_ = vector->y;
+ FT_Int32 b, z;
+ FT_UInt32 x, y, u, v, l;
+ FT_Int sx = 1, sy = 1, shift;
+
+
+ FT_MOVE_SIGN( x_, sx );
+ FT_MOVE_SIGN( y_, sy );
+
+ x = (FT_UInt32)x_;
+ y = (FT_UInt32)y_;
+
+ /* trivial cases */
+ if ( x == 0 )
+ {
+ if ( y > 0 )
+ vector->y = sy * 0x10000;
+ return y;
+ }
+ else if ( y == 0 )
+ {
+ if ( x > 0 )
+ vector->x = sx * 0x10000;
+ return x;
+ }
+
+ /* Estimate length and prenormalize by shifting so that */
+ /* the new approximate length is between 2/3 and 4/3. */
+ /* The magic constant 0xAAAAAAAAUL (2/3 of 2^32) helps */
+ /* achieve this in 16.16 fixed-point representation. */
+ l = x > y ? x + ( y >> 1 )
+ : y + ( x >> 1 );
+
+ shift = 31 - FT_MSB( l );
+ shift -= 15 + ( l >= ( 0xAAAAAAAAUL >> shift ) );
+
+ if ( shift > 0 )
+ {
+ x <<= shift;
+ y <<= shift;
+
+ /* re-estimate length for tiny vectors */
+ l = x > y ? x + ( y >> 1 )
+ : y + ( x >> 1 );
+ }
+ else
+ {
+ x >>= -shift;
+ y >>= -shift;
+ l >>= -shift;
+ }
+
+ /* lower linear approximation for reciprocal length minus one */
+ b = 0x10000 - (FT_Int32)l;
+
+ x_ = (FT_Int32)x;
+ y_ = (FT_Int32)y;
+
+ /* Newton's iterations */
+ do
+ {
+ u = (FT_UInt32)( x_ + ( x_ * b >> 16 ) );
+ v = (FT_UInt32)( y_ + ( y_ * b >> 16 ) );
+
+ /* Normalized squared length in the parentheses approaches 2^32. */
+ /* On two's complement systems, converting to signed gives the */
+ /* difference with 2^32 even if the expression wraps around. */
+ z = -(FT_Int32)( u * u + v * v ) / 0x200;
+ z = z * ( ( 0x10000 + b ) >> 8 ) / 0x10000;
+
+ b += z;
+
+ } while ( z > 0 );
+
+ vector->x = sx < 0 ? -(FT_Pos)u : (FT_Pos)u;
+ vector->y = sy < 0 ? -(FT_Pos)v : (FT_Pos)v;
+
+ /* Conversion to signed helps to recover from likely wrap around */
+ /* in calculating the prenormalized length, because it gives the */
+ /* correct difference with 2^32 on two's complement systems. */
+ l = (FT_UInt32)( 0x10000 + (FT_Int32)( u * x + v * y ) / 0x10000 );
+ if ( shift > 0 )
+ l = ( l + ( 1 << ( shift - 1 ) ) ) >> shift;
+ else
+ l <<= -shift;
+
+ return l;
+ }
+
+
#if 0
/* documentation is in ftcalc.h */
@@ -832,52 +901,34 @@
FT_Pos out_x,
FT_Pos out_y )
{
- FT_Long result; /* avoid overflow on 16-bit system */
-
-
- /* deal with the trivial cases quickly */
- if ( in_y == 0 )
- {
- if ( in_x >= 0 )
- result = out_y;
- else
- result = -out_y;
- }
- else if ( in_x == 0 )
- {
- if ( in_y >= 0 )
- result = -out_x;
- else
- result = out_x;
- }
- else if ( out_y == 0 )
- {
- if ( out_x >= 0 )
- result = in_y;
- else
- result = -in_y;
- }
- else if ( out_x == 0 )
- {
- if ( out_y >= 0 )
- result = -in_x;
- else
- result = in_x;
- }
- else /* general case */
- {
#ifdef FT_LONG64
- FT_Int64 delta = (FT_Int64)in_x * out_y - (FT_Int64)in_y * out_x;
+ FT_Int64 delta = (FT_Int64)in_x * out_y - (FT_Int64)in_y * out_x;
- if ( delta == 0 )
- result = 0;
- else
- result = 1 - 2 * ( delta < 0 );
+ return ( delta > 0 ) - ( delta < 0 );
#else
+ FT_Int result;
+
+
+ if ( (FT_ULong)FT_ABS( in_x ) + (FT_ULong)FT_ABS( out_y ) <= 131071UL &&
+ (FT_ULong)FT_ABS( in_y ) + (FT_ULong)FT_ABS( out_x ) <= 131071UL )
+ {
+ FT_Long z1 = in_x * out_y;
+ FT_Long z2 = in_y * out_x;
+
+
+ if ( z1 > z2 )
+ result = +1;
+ else if ( z1 < z2 )
+ result = -1;
+ else
+ result = 0;
+ }
+ else /* products might overflow 32 bits */
+ {
FT_Int64 z1, z2;
@@ -895,12 +946,12 @@
result = -1;
else
result = 0;
-
-#endif
}
/* XXX: only the sign of return value, +1/0/-1 must be used */
- return (FT_Int)result;
+ return result;
+
+#endif
}
diff --git a/lib/freetype/src/base/ftdebug.c b/lib/freetype/src/base/ftdebug.c
index 2cdb7c242..03e18a869 100644
--- a/lib/freetype/src/base/ftdebug.c
+++ b/lib/freetype/src/base/ftdebug.c
@@ -152,8 +152,8 @@
/* the memory and stream components which are set to 7 and 5, */
/* respectively. */
/* */
- /* See the file <include/internal/fttrace.h> for details of the */
- /* available toggle names. */
+ /* See the file `include/freetype/internal/fttrace.h' for details of */
+ /* the available toggle names. */
/* */
/* The level must be between 0 and 7; 0 means quiet (except for serious */
/* runtime errors), and 7 means _very_ verbose. */
diff --git a/lib/freetype/src/base/ftglyph.c b/lib/freetype/src/base/ftglyph.c
index cb7fc3778..2778743ae 100644
--- a/lib/freetype/src/base/ftglyph.c
+++ b/lib/freetype/src/base/ftglyph.c
@@ -125,10 +125,10 @@
FT_BitmapGlyph glyph = (FT_BitmapGlyph)bitmap_glyph;
- cbox->xMin = glyph->left << 6;
- cbox->xMax = cbox->xMin + (FT_Pos)( glyph->bitmap.width << 6 );
- cbox->yMax = glyph->top << 6;
- cbox->yMin = cbox->yMax - (FT_Pos)( glyph->bitmap.rows << 6 );
+ cbox->xMin = glyph->left * 64;
+ cbox->xMax = cbox->xMin + (FT_Pos)( glyph->bitmap.width * 64 );
+ cbox->yMax = glyph->top * 64;
+ cbox->yMin = cbox->yMax - (FT_Pos)( glyph->bitmap.rows * 64 );
}
@@ -403,9 +403,9 @@
if ( error )
goto Exit;
- /* copy advance while converting it to 16.16 format */
- glyph->advance.x = slot->advance.x << 10;
- glyph->advance.y = slot->advance.y << 10;
+ /* copy advance while converting 26.6 to 16.16 format */
+ glyph->advance.x = slot->advance.x * 1024;
+ glyph->advance.y = slot->advance.y * 1024;
/* now import the image from the glyph slot */
error = clazz->glyph_init( glyph, slot );
diff --git a/lib/freetype/src/base/ftinit.c b/lib/freetype/src/base/ftinit.c
index cc95e6a6a..b65a91d06 100644
--- a/lib/freetype/src/base/ftinit.c
+++ b/lib/freetype/src/base/ftinit.c
@@ -23,8 +23,8 @@
/* FT_Add_Default_Modules(): */
/* This function is used to add the set of default modules to a */
/* fresh new library object. The set is taken from the header file */
- /* `config/ftmodule.h'. See the document `FreeType 2.0 Build */
- /* System' for more information. */
+ /* `freetype/config/ftmodule.h'. See the document `FreeType 2.0 */
+ /* Build System' for more information. */
/* */
/* FT_Init_FreeType(): */
/* This function creates a system object for the current platform, */
diff --git a/lib/freetype/src/base/ftmac.c b/lib/freetype/src/base/ftmac.c
index 446a23a75..114bbb639 100644
--- a/lib/freetype/src/base/ftmac.c
+++ b/lib/freetype/src/base/ftmac.c
@@ -618,11 +618,11 @@
total_size += 6; /* code + 4 bytes chunk length */
}
- total_size += GetHandleSize( post_data ) - 2;
+ total_size += (FT_ULong)GetHandleSize( post_data ) - 2;
last_code = code;
- /* detect integer overflows */
- if ( total_size < old_total_size )
+ /* detect resource fork overflow */
+ if ( FT_MAC_RFORK_MAX_LEN < total_size )
{
error = FT_THROW( Array_Too_Large );
goto Error;
@@ -747,6 +747,11 @@
return FT_THROW( Invalid_Handle );
sfnt_size = (FT_ULong)GetHandleSize( sfnt );
+
+ /* detect resource fork overflow */
+ if ( FT_MAC_RFORK_MAX_LEN < sfnt_size )
+ return FT_THROW( Array_Too_Large );
+
if ( FT_ALLOC( sfnt_data, (FT_Long)sfnt_size ) )
{
ReleaseResource( sfnt );
diff --git a/lib/freetype/src/base/ftobjs.c b/lib/freetype/src/base/ftobjs.c
index 9c3332cf3..f0c2e77fc 100644
--- a/lib/freetype/src/base/ftobjs.c
+++ b/lib/freetype/src/base/ftobjs.c
@@ -1375,13 +1375,13 @@
}
#ifdef FT_MACINTOSH
- /* At this point, face_index has served its purpose; */
+ /* At this point, the face index has served its purpose; */
/* whoever calls this function has already used it to */
/* locate the correct font data. We should not propagate */
/* this index to FT_Open_Face() (unless it is negative). */
if ( face_index > 0 )
- face_index = 0;
+ face_index &= 0x7FFF0000L; /* retain GX data */
#endif
error = FT_Open_Face( library, &args, face_index, aface );
@@ -1495,6 +1495,10 @@
FT_UNUSED( params );
+ /* ignore GX stuff */
+ if ( face_index > 0 )
+ face_index &= 0xFFFFL;
+
pos = FT_STREAM_POS();
error = ft_lookup_PS_in_sfnt_stream( stream,
@@ -1512,8 +1516,10 @@
goto Exit;
error = FT_Stream_Read( stream, (FT_Byte *)sfnt_ps, length );
- if ( error )
+ if ( error ) {
+ FT_FREE( sfnt_ps );
goto Exit;
+ }
error = open_face_from_buffer( library,
sfnt_ps,
@@ -1582,12 +1588,14 @@
/* FT2 allocator takes signed long buffer length,
* too large value causing overflow should be checked
*/
- FT_TRACE4(( " POST fragment #%d: length=0x%08x\n",
- i, temp));
- if ( 0x7FFFFFFFUL < temp || pfb_len + temp + 6 < pfb_len )
+ FT_TRACE4(( " POST fragment #%d: length=0x%08x"
+ " total pfb_len=0x%08x\n",
+ i, temp, pfb_len + temp + 6));
+ if ( FT_MAC_RFORK_MAX_LEN < temp ||
+ FT_MAC_RFORK_MAX_LEN - temp < pfb_len + 6 )
{
- FT_TRACE2(( " too long fragment length makes"
- " pfb_len confused: temp=0x%08x\n", temp ));
+ FT_TRACE2(( " MacOS resource length cannot exceed"
+ " 0x%08x\n", FT_MAC_RFORK_MAX_LEN ));
error = FT_THROW( Invalid_Offset );
goto Exit;
}
@@ -1660,7 +1668,7 @@
else
{
FT_TRACE3(( " Write POST fragment #%d header (4-byte) to buffer"
- " 0x%p + 0x%08x\n", i, pfb_data, pfb_lenpos ));
+ " %p + 0x%08x\n", i, pfb_data, pfb_lenpos ));
if ( pfb_lenpos + 3 > pfb_len + 2 )
goto Exit2;
pfb_data[pfb_lenpos ] = (FT_Byte)( len );
@@ -1672,7 +1680,7 @@
break;
FT_TRACE3(( " Write POST fragment #%d header (6-byte) to buffer"
- " 0x%p + 0x%08x\n", i, pfb_data, pfb_pos ));
+ " %p + 0x%08x\n", i, pfb_data, pfb_pos ));
if ( pfb_pos + 6 > pfb_len + 2 )
goto Exit2;
pfb_data[pfb_pos++] = 0x80;
@@ -1692,7 +1700,7 @@
goto Exit2;
FT_TRACE3(( " Load POST fragment #%d (%d byte) to buffer"
- " 0x%p + 0x%08x\n", i, rlen, pfb_data, pfb_pos ));
+ " %p + 0x%08x\n", i, rlen, pfb_data, pfb_pos ));
error = FT_Stream_Read( stream, (FT_Byte *)pfb_data + pfb_pos, rlen );
if ( error )
goto Exit2;
@@ -1737,7 +1745,7 @@
/* The resource header says we've got resource_cnt `sfnt' */
/* (TrueType/OpenType) resources in this file. Look through */
/* them for the one indicated by face_index, load it into mem, */
- /* pass it on the the truetype driver and return it. */
+ /* pass it on to the truetype driver, and return it. */
/* */
static FT_Error
Mac_Read_sfnt_Resource( FT_Library library,
@@ -1770,6 +1778,8 @@
goto Exit;
if ( rlen == -1 )
return FT_THROW( Cannot_Open_Resource );
+ if ( (FT_ULong)rlen > FT_MAC_RFORK_MAX_LEN )
+ return FT_THROW( Invalid_Offset );
error = open_face_PS_from_sfnt_stream( library,
stream,
@@ -1786,8 +1796,10 @@
if ( FT_ALLOC( sfnt_data, rlen ) )
return error;
error = FT_Stream_Read( stream, (FT_Byte *)sfnt_data, (FT_ULong)rlen );
- if ( error )
+ if ( error ) {
+ FT_FREE( sfnt_data );
goto Exit;
+ }
is_cff = rlen > 4 && !ft_memcmp( sfnt_data, "OTTO", 4 );
error = open_face_from_buffer( library,
@@ -1889,13 +1901,14 @@
if ( error )
goto Exit;
- if ( header[ 0] != 0 ||
- header[74] != 0 ||
- header[82] != 0 ||
- header[ 1] == 0 ||
- header[ 1] > 33 ||
- header[63] != 0 ||
- header[2 + header[1]] != 0 )
+ if ( header[ 0] != 0 ||
+ header[74] != 0 ||
+ header[82] != 0 ||
+ header[ 1] == 0 ||
+ header[ 1] > 33 ||
+ header[63] != 0 ||
+ header[2 + header[1]] != 0 ||
+ header[0x53] > 0x7F )
return FT_THROW( Unknown_File_Format );
dlen = ( header[0x53] << 24 ) |
@@ -2032,7 +2045,11 @@
#undef FT_COMPONENT
#define FT_COMPONENT trace_raccess
- FT_TRACE3(( "Try as dfont: %s ...", args->pathname ));
+#ifdef FT_DEBUG_LEVEL_TRACE
+ FT_TRACE3(( "Try as dfont: " ));
+ if ( !( args->flags & FT_OPEN_MEMORY ) )
+ FT_TRACE3(( "%s ...", args->pathname ));
+#endif
error = IsMacResource( library, stream, 0, face_index, aface );
@@ -3068,18 +3085,37 @@
if ( kern_mode != FT_KERNING_UNFITTED )
{
+ FT_Pos orig_x = akerning->x;
+ FT_Pos orig_y = akerning->y;
+
+
/* we scale down kerning values for small ppem values */
/* to avoid that rounding makes them too big. */
/* `25' has been determined heuristically. */
if ( face->size->metrics.x_ppem < 25 )
- akerning->x = FT_MulDiv( akerning->x,
+ akerning->x = FT_MulDiv( orig_x,
face->size->metrics.x_ppem, 25 );
if ( face->size->metrics.y_ppem < 25 )
- akerning->y = FT_MulDiv( akerning->y,
+ akerning->y = FT_MulDiv( orig_y,
face->size->metrics.y_ppem, 25 );
akerning->x = FT_PIX_ROUND( akerning->x );
akerning->y = FT_PIX_ROUND( akerning->y );
+
+#ifdef FT_DEBUG_LEVEL_TRACE
+ {
+ FT_Pos orig_x_rounded = FT_PIX_ROUND( orig_x );
+ FT_Pos orig_y_rounded = FT_PIX_ROUND( orig_y );
+
+
+ if ( akerning->x != orig_x_rounded ||
+ akerning->y != orig_y_rounded )
+ FT_TRACE5(( "FT_Get_Kerning: horizontal kerning"
+ " (%d, %d) scaled down to (%d, %d) pixels\n",
+ orig_x_rounded / 64, orig_y_rounded / 64,
+ akerning->x / 64, akerning->y / 64 ));
+ }
+#endif
}
}
}
@@ -3350,8 +3386,12 @@
FT_TRACE1(( "FT_Get_Char_Index: too large charcode" ));
FT_TRACE1(( " 0x%x is truncated\n", charcode ));
}
+
result = cmap->clazz->char_index( cmap, (FT_UInt32)charcode );
+ if ( result >= (FT_UInt)face->num_glyphs )
+ result = 0;
}
+
return result;
}
@@ -3370,7 +3410,7 @@
if ( face && face->charmap && face->num_glyphs )
{
gindex = FT_Get_Char_Index( face, 0 );
- if ( gindex == 0 || gindex >= (FT_UInt)face->num_glyphs )
+ if ( gindex == 0 )
result = FT_Get_Next_Char( face, 0, &gindex );
}
diff --git a/lib/freetype/src/base/ftoutln.c b/lib/freetype/src/base/ftoutln.c
index d821c4957..35cc9f556 100644
--- a/lib/freetype/src/base/ftoutln.c
+++ b/lib/freetype/src/base/ftoutln.c
@@ -52,8 +52,9 @@
const FT_Outline_Funcs* func_interface,
void* user )
{
-#undef SCALED
-#define SCALED( x ) ( ( (x) << shift ) - delta )
+#undef SCALED
+#define SCALED( x ) ( ( (x) < 0 ? -( -(x) << shift ) \
+ : ( (x) << shift ) ) - delta )
FT_Vector v_last;
FT_Vector v_control;
@@ -907,8 +908,7 @@
FT_Pos ystrength )
{
FT_Vector* points;
- FT_Vector v_prev, v_first, v_next, v_cur;
- FT_Int c, n, first;
+ FT_Int c, first, last;
FT_Int orientation;
@@ -934,87 +934,95 @@
first = 0;
for ( c = 0; c < outline->n_contours; c++ )
{
- FT_Vector in, out, shift;
- FT_Fixed l_in, l_out, l, q, d;
- int last = outline->contours[c];
+ FT_Vector in, out, anchor, shift;
+ FT_Fixed l_in, l_out, l_anchor = 0, l, q, d;
+ FT_Int i, j, k;
- v_first = points[first];
- v_prev = points[last];
- v_cur = v_first;
+ l_in = 0;
+ last = outline->contours[c];
- /* compute incoming normalized vector */
- in.x = v_cur.x - v_prev.x;
- in.y = v_cur.y - v_prev.y;
- l_in = FT_Vector_Length( &in );
- if ( l_in )
+ /* Counter j cycles though the points; counter i advances only */
+ /* when points are moved; anchor k marks the first moved point. */
+ for ( i = last, j = first, k = -1;
+ j != i && i != k;
+ j = j < last ? j + 1 : first )
{
- in.x = FT_DivFix( in.x, l_in );
- in.y = FT_DivFix( in.y, l_in );
- }
+ if ( j != k )
+ {
+ out.x = points[j].x - points[i].x;
+ out.y = points[j].y - points[i].y;
+ l_out = (FT_Fixed)FT_Vector_NormLen( &out );
- for ( n = first; n <= last; n++ )
- {
- if ( n < last )
- v_next = points[n + 1];
+ if ( l_out == 0 )
+ continue;
+ }
else
- v_next = v_first;
-
- /* compute outgoing normalized vector */
- out.x = v_next.x - v_cur.x;
- out.y = v_next.y - v_cur.y;
- l_out = FT_Vector_Length( &out );
- if ( l_out )
{
- out.x = FT_DivFix( out.x, l_out );
- out.y = FT_DivFix( out.y, l_out );
+ out = anchor;
+ l_out = l_anchor;
}
- d = FT_MulFix( in.x, out.x ) + FT_MulFix( in.y, out.y );
-
- /* shift only if turn is less than ~160 degrees */
- if ( d > -0xF000L )
+ if ( l_in != 0 )
{
- d = d + 0x10000L;
+ if ( k < 0 )
+ {
+ k = i;
+ anchor = in;
+ l_anchor = l_in;
+ }
- /* shift components are aligned along lateral bisector */
- /* and directed according to the outline orientation. */
- shift.x = in.y + out.y;
- shift.y = in.x + out.x;
+ d = FT_MulFix( in.x, out.x ) + FT_MulFix( in.y, out.y );
- if ( orientation == FT_ORIENTATION_TRUETYPE )
- shift.x = -shift.x;
- else
- shift.y = -shift.y;
+ /* shift only if turn is less than ~160 degrees */
+ if ( d > -0xF000L )
+ {
+ d = d + 0x10000L;
- /* restrict shift magnitude to better handle collapsing segments */
- q = FT_MulFix( out.x, in.y ) - FT_MulFix( out.y, in.x );
- if ( orientation == FT_ORIENTATION_TRUETYPE )
- q = -q;
+ /* shift components along lateral bisector in proper orientation */
+ shift.x = in.y + out.y;
+ shift.y = in.x + out.x;
- l = FT_MIN( l_in, l_out );
+ if ( orientation == FT_ORIENTATION_TRUETYPE )
+ shift.x = -shift.x;
+ else
+ shift.y = -shift.y;
- /* non-strict inequalities avoid divide-by-zero when q == l == 0 */
- if ( FT_MulFix( xstrength, q ) <= FT_MulFix( l, d ) )
- shift.x = FT_MulDiv( shift.x, xstrength, d );
- else
- shift.x = FT_MulDiv( shift.x, l, q );
+ /* restrict shift magnitude to better handle collapsing segments */
+ q = FT_MulFix( out.x, in.y ) - FT_MulFix( out.y, in.x );
+ if ( orientation == FT_ORIENTATION_TRUETYPE )
+ q = -q;
+
+ l = FT_MIN( l_in, l_out );
+
+ /* non-strict inequalities avoid divide-by-zero when q == l == 0 */
+ if ( FT_MulFix( xstrength, q ) <= FT_MulFix( l, d ) )
+ shift.x = FT_MulDiv( shift.x, xstrength, d );
+ else
+ shift.x = FT_MulDiv( shift.x, l, q );
- if ( FT_MulFix( ystrength, q ) <= FT_MulFix( l, d ) )
- shift.y = FT_MulDiv( shift.y, ystrength, d );
+ if ( FT_MulFix( ystrength, q ) <= FT_MulFix( l, d ) )
+ shift.y = FT_MulDiv( shift.y, ystrength, d );
+ else
+ shift.y = FT_MulDiv( shift.y, l, q );
+ }
else
- shift.y = FT_MulDiv( shift.y, l, q );
+ shift.x = shift.y = 0;
+
+ for ( ;
+ i != j;
+ i = i < last ? i + 1 : first )
+ {
+ points[i].x += xstrength + shift.x;
+ points[i].y += ystrength + shift.y;
+ }
}
else
- shift.x = shift.y = 0;
-
- outline->points[n].x = v_cur.x + xstrength + shift.x;
- outline->points[n].y = v_cur.y + ystrength + shift.y;
+ i = j;
- in = out;
- l_in = l_out;
- v_cur = v_next;
+ in = out;
+ l_in = l_out;
}
first = last + 1;
diff --git a/lib/freetype/src/base/ftrfork.c b/lib/freetype/src/base/ftrfork.c
index 82d54f830..c30c76678 100644
--- a/lib/freetype/src/base/ftrfork.c
+++ b/lib/freetype/src/base/ftrfork.c
@@ -71,24 +71,35 @@
if ( error )
return error;
- *rdata_pos = rfork_offset + ( ( head[0] << 24 ) |
- ( head[1] << 16 ) |
- ( head[2] << 8 ) |
- head[3] );
- map_pos = rfork_offset + ( ( head[4] << 24 ) |
- ( head[5] << 16 ) |
- ( head[6] << 8 ) |
- head[7] );
- rdata_len = ( head[ 8] << 24 ) |
- ( head[ 9] << 16 ) |
- ( head[10] << 8 ) |
- head[11];
+ /* ensure positive values */
+ if ( head[0] >= 0x80 || head[4] >= 0x80 || head[8] >= 0x80 )
+ return FT_THROW( Unknown_File_Format );
+
+ *rdata_pos = ( head[ 0] << 24 ) |
+ ( head[ 1] << 16 ) |
+ ( head[ 2] << 8 ) |
+ head[ 3];
+ map_pos = ( head[ 4] << 24 ) |
+ ( head[ 5] << 16 ) |
+ ( head[ 6] << 8 ) |
+ head[ 7];
+ rdata_len = ( head[ 8] << 24 ) |
+ ( head[ 9] << 16 ) |
+ ( head[10] << 8 ) |
+ head[11];
/* map_len = head[12] .. head[15] */
- if ( *rdata_pos + rdata_len != map_pos || map_pos == rfork_offset )
+ if ( *rdata_pos != map_pos - rdata_len || map_pos == 0 )
return FT_THROW( Unknown_File_Format );
+ if ( FT_LONG_MAX - rfork_offset < *rdata_pos ||
+ FT_LONG_MAX - rfork_offset < map_pos )
+ return FT_THROW( Unknown_File_Format );
+
+ *rdata_pos += rfork_offset;
+ map_pos += rfork_offset;
+
error = FT_Stream_Seek( stream, (FT_ULong)map_pos );
if ( error )
return error;
diff --git a/lib/freetype/src/base/ftstroke.c b/lib/freetype/src/base/ftstroke.c
index 842ee30b3..fecb3cc25 100644
--- a/lib/freetype/src/base/ftstroke.c
+++ b/lib/freetype/src/base/ftstroke.c
@@ -24,6 +24,16 @@
#include FT_INTERNAL_DEBUG_H
#include FT_INTERNAL_OBJECTS_H
+#include "basepic.h"
+
+
+ /* declare an extern to access `ft_outline_glyph_class' globally */
+ /* allocated in `ftglyph.c', and use the FT_OUTLINE_GLYPH_CLASS_GET */
+ /* macro to access it when FT_CONFIG_OPTION_PIC is defined */
+#ifndef FT_CONFIG_OPTION_PIC
+ FT_CALLBACK_TABLE const FT_Glyph_Class ft_outline_glyph_class;
+#endif
+
/* documentation is in ftstroke.h */
@@ -2285,15 +2295,6 @@
}
- /* declare an extern to access `ft_outline_glyph_class' globally */
- /* allocated in `ftglyph.c', and use the FT_OUTLINE_GLYPH_CLASS_GET */
- /* macro to access it when FT_CONFIG_OPTION_PIC is defined */
-#ifndef FT_CONFIG_OPTION_PIC
- extern const FT_Glyph_Class ft_outline_glyph_class;
-#endif
-#include "basepic.h"
-
-
/* documentation is in ftstroke.h */
FT_EXPORT_DEF( FT_Error )
diff --git a/lib/freetype/src/bdf/Jamfile b/lib/freetype/src/bdf/Jamfile
index 006843c11..86b85fa3e 100644
--- a/lib/freetype/src/bdf/Jamfile
+++ b/lib/freetype/src/bdf/Jamfile
@@ -16,7 +16,9 @@ SubDir FT2_TOP $(FT2_SRC_DIR) bdf ;
if $(FT2_MULTI)
{
- _sources = bdfdrivr bdflib ;
+ _sources = bdfdrivr
+ bdflib
+ ;
}
else
{
diff --git a/lib/freetype/src/bdf/bdf.h b/lib/freetype/src/bdf/bdf.h
index bd5a2e433..f24d925d8 100644
--- a/lib/freetype/src/bdf/bdf.h
+++ b/lib/freetype/src/bdf/bdf.h
@@ -40,12 +40,12 @@ FT_BEGIN_HEADER
/* Imported from bdfP.h */
-#define _bdf_glyph_modified( map, e ) \
- ( (map)[(e) >> 5] & ( 1 << ( (e) & 31 ) ) )
-#define _bdf_set_glyph_modified( map, e ) \
- ( (map)[(e) >> 5] |= ( 1 << ( (e) & 31 ) ) )
-#define _bdf_clear_glyph_modified( map, e ) \
- ( (map)[(e) >> 5] &= ~( 1 << ( (e) & 31 ) ) )
+#define _bdf_glyph_modified( map, e ) \
+ ( (map)[(e) >> 5] & ( 1UL << ( (e) & 31 ) ) )
+#define _bdf_set_glyph_modified( map, e ) \
+ ( (map)[(e) >> 5] |= ( 1UL << ( (e) & 31 ) ) )
+#define _bdf_clear_glyph_modified( map, e ) \
+ ( (map)[(e) >> 5] &= ~( 1UL << ( (e) & 31 ) ) )
/* end of bdfP.h */
diff --git a/lib/freetype/src/bdf/bdfdrivr.c b/lib/freetype/src/bdf/bdfdrivr.c
index 4b3fb7664..404af517e 100644
--- a/lib/freetype/src/bdf/bdfdrivr.c
+++ b/lib/freetype/src/bdf/bdfdrivr.c
@@ -379,7 +379,8 @@ THE SOFTWARE.
* an invalid argument error when the font could be
* opened by the specified driver.
*/
- if ( face_index > 0 ) {
+ if ( face_index > 0 && ( face_index & 0xFFFF ) > 0 )
+ {
FT_ERROR(( "BDF_Face_Init: invalid face index\n" ));
BDF_Face_Done( bdfface );
return FT_THROW( Invalid_Argument );
@@ -615,9 +616,9 @@ THE SOFTWARE.
FT_Select_Metrics( size->face, strike_index );
- size->metrics.ascender = bdffont->font_ascent << 6;
- size->metrics.descender = -bdffont->font_descent << 6;
- size->metrics.max_advance = bdffont->bbx.width << 6;
+ size->metrics.ascender = bdffont->font_ascent * 64;
+ size->metrics.descender = -bdffont->font_descent * 64;
+ size->metrics.max_advance = bdffont->bbx.width * 64;
return FT_Err_Ok;
}
@@ -734,18 +735,18 @@ THE SOFTWARE.
slot->bitmap_left = glyph.bbx.x_offset;
slot->bitmap_top = glyph.bbx.ascent;
- slot->metrics.horiAdvance = (FT_Pos)( glyph.dwidth << 6 );
- slot->metrics.horiBearingX = (FT_Pos)( glyph.bbx.x_offset << 6 );
- slot->metrics.horiBearingY = (FT_Pos)( glyph.bbx.ascent << 6 );
- slot->metrics.width = (FT_Pos)( bitmap->width << 6 );
- slot->metrics.height = (FT_Pos)( bitmap->rows << 6 );
+ slot->metrics.horiAdvance = (FT_Pos)( glyph.dwidth * 64 );
+ slot->metrics.horiBearingX = (FT_Pos)( glyph.bbx.x_offset * 64 );
+ slot->metrics.horiBearingY = (FT_Pos)( glyph.bbx.ascent * 64 );
+ slot->metrics.width = (FT_Pos)( bitmap->width * 64 );
+ slot->metrics.height = (FT_Pos)( bitmap->rows * 64 );
/*
* XXX DWIDTH1 and VVECTOR should be parsed and
* used here, provided such fonts do exist.
*/
ft_synthesize_vertical_metrics( &slot->metrics,
- bdf->bdffont->bbx.height << 6 );
+ bdf->bdffont->bbx.height * 64 );
Exit:
return error;
diff --git a/lib/freetype/src/bdf/bdflib.c b/lib/freetype/src/bdf/bdflib.c
index 8655d0ed3..414deb58a 100644
--- a/lib/freetype/src/bdf/bdflib.c
+++ b/lib/freetype/src/bdf/bdflib.c
@@ -2346,30 +2346,23 @@
/* Check for the bits per pixel field. */
if ( p->list.used == 5 )
{
- unsigned short bitcount, i, shift;
+ unsigned short bpp;
- p->font->bpp = (unsigned short)_bdf_atos( p->list.field[4], 0, 10 );
+ bpp = (unsigned short)_bdf_atos( p->list.field[4], 0, 10 );
- /* Only values 1, 2, 4, 8 are allowed. */
- shift = p->font->bpp;
- bitcount = 0;
- for ( i = 0; shift > 0; i++ )
- {
- if ( shift & 1 )
- bitcount = i;
- shift >>= 1;
- }
-
- shift = (unsigned short)( ( bitcount > 3 ) ? 8
- : ( 1U << bitcount ) );
+ /* Only values 1, 2, 4, 8 are allowed for greymap fonts. */
+ if ( bpp > 4 )
+ p->font->bpp = 8;
+ else if ( bpp > 2 )
+ p->font->bpp = 4;
+ else if ( bpp > 1 )
+ p->font->bpp = 2;
+ else
+ p->font->bpp = 1;
- if ( p->font->bpp > shift || p->font->bpp != shift )
- {
- /* select next higher value */
- p->font->bpp = (unsigned short)( shift << 1 );
+ if ( p->font->bpp != bpp )
FT_TRACE2(( "_bdf_parse_start: " ACMSG11, p->font->bpp ));
- }
}
else
p->font->bpp = 1;
diff --git a/lib/freetype/src/bzip2/ftbzip2.c b/lib/freetype/src/bzip2/ftbzip2.c
index 4dfc9c899..cf9473376 100644
--- a/lib/freetype/src/bzip2/ftbzip2.c
+++ b/lib/freetype/src/bzip2/ftbzip2.c
@@ -254,7 +254,10 @@
size = stream->read( stream, stream->pos, zip->input,
FT_BZIP2_BUFFER_SIZE );
if ( size == 0 )
+ {
+ zip->limit = zip->cursor;
return FT_THROW( Invalid_Stream_Operation );
+ }
}
else
{
@@ -263,7 +266,10 @@
size = FT_BZIP2_BUFFER_SIZE;
if ( size == 0 )
+ {
+ zip->limit = zip->cursor;
return FT_THROW( Invalid_Stream_Operation );
+ }
FT_MEM_COPY( zip->input, stream->base + stream->pos, size );
}
@@ -310,7 +316,8 @@
}
else if ( err != BZ_OK )
{
- error = FT_THROW( Invalid_Stream_Operation );
+ zip->limit = zip->cursor;
+ error = FT_THROW( Invalid_Stream_Operation );
break;
}
}
@@ -437,16 +444,16 @@
}
- static FT_ULong
- ft_bzip2_stream_io( FT_Stream stream,
- FT_ULong pos,
- FT_Byte* buffer,
- FT_ULong count )
+ static unsigned long
+ ft_bzip2_stream_io( FT_Stream stream,
+ unsigned long offset,
+ unsigned char* buffer,
+ unsigned long count )
{
FT_BZip2File zip = (FT_BZip2File)stream->descriptor.pointer;
- return ft_bzip2_file_io( zip, pos, buffer, count );
+ return ft_bzip2_file_io( zip, offset, buffer, count );
}
diff --git a/lib/freetype/src/cache/Jamfile b/lib/freetype/src/cache/Jamfile
index 75d899727..1d2bb2939 100644
--- a/lib/freetype/src/cache/Jamfile
+++ b/lib/freetype/src/cache/Jamfile
@@ -11,25 +11,19 @@
SubDir FT2_TOP $(FT2_SRC_DIR) cache ;
-# The file <ftcache.h> contains some macro definitions that are
-# later used in #include statements related to the cache sub-system. It
-# needs to be parsed through a HDRMACRO rule for macro definitions.
-#
-HDRMACRO [ FT2_SubDir include ftcache.h ] ;
-
{
local _sources ;
if $(FT2_MULTI)
{
- _sources = ftcmru
- ftcmanag
+ _sources = ftcbasic
ftccache
ftcglyph
- ftcsbits
ftcimage
- ftcbasic
+ ftcmanag
ftccmap
+ ftcmru
+ ftcsbits
;
}
else
diff --git a/lib/freetype/src/cff/Jamfile b/lib/freetype/src/cff/Jamfile
index 8ffb79cd9..deec0792c 100644
--- a/lib/freetype/src/cff/Jamfile
+++ b/lib/freetype/src/cff/Jamfile
@@ -16,7 +16,23 @@ SubDir FT2_TOP $(FT2_SRC_DIR) cff ;
if $(FT2_MULTI)
{
- _sources = cffdrivr cffgload cffload cffobjs cffparse cffcmap cffpic ;
+ _sources = cffcmap
+ cffdrivr
+ cffgload
+ cffload
+ cffobjs
+ cffparse
+ cffpic
+ cf2arrst
+ cf2blues
+ cf2error
+ cf2font
+ cf2ft
+ cf2hints
+ cf2intrp
+ cf2read
+ cf2stack
+ ;
}
else
{
diff --git a/lib/freetype/src/cff/cf2arrst.c b/lib/freetype/src/cff/cf2arrst.c
index 528b1fa86..89f3e9f1d 100644
--- a/lib/freetype/src/cff/cf2arrst.c
+++ b/lib/freetype/src/cff/cf2arrst.c
@@ -104,7 +104,7 @@
size_t newSize = numElements * arrstack->sizeItem;
- if ( numElements > LONG_MAX / arrstack->sizeItem )
+ if ( numElements > FT_LONG_MAX / arrstack->sizeItem )
goto exit;
diff --git a/lib/freetype/src/cff/cf2intrp.c b/lib/freetype/src/cff/cf2intrp.c
index 537e0609d..ff3fa9aaa 100644
--- a/lib/freetype/src/cff/cf2intrp.c
+++ b/lib/freetype/src/cff/cf2intrp.c
@@ -1305,7 +1305,7 @@
/* if `cf2_stack_count' isn't of the form 4n or 4n+1, */
/* we enforce it by clearing the second bit */
/* (and sorting the stack indexing to suit) */
- count = count1 & ~2;
+ count = count1 & ~2U;
index += count1 - count;
FT_TRACE4(( " vvcurveto\n" ));
@@ -1350,7 +1350,7 @@
/* if `cf2_stack_count' isn't of the form 4n or 4n+1, */
/* we enforce it by clearing the second bit */
/* (and sorting the stack indexing to suit) */
- count = count1 & ~2;
+ count = count1 & ~2U;
index += count1 - count;
FT_TRACE4(( " hhcurveto\n" ));
@@ -1399,7 +1399,7 @@
/* 8n+4, or 8n+5, we enforce it by clearing the */
/* second bit */
/* (and sorting the stack indexing to suit) */
- count = count1 & ~2;
+ count = count1 & ~2U;
index += count1 - count;
FT_TRACE4(( alternate ? " hvcurveto\n" : " vhcurveto\n" ));
diff --git a/lib/freetype/src/cff/cffgload.c b/lib/freetype/src/cff/cffgload.c
index 43054f8c3..5f57403e2 100644
--- a/lib/freetype/src/cff/cffgload.c
+++ b/lib/freetype/src/cff/cffgload.c
@@ -2949,7 +2949,6 @@
{
FT_BBox cbox;
FT_Glyph_Metrics* metrics = &glyph->root.metrics;
- FT_Vector advance;
FT_Bool has_vertical_info;
@@ -3014,26 +3013,27 @@
glyph->root.outline.flags |= FT_OUTLINE_REVERSE_FILL;
- if ( !( font_matrix.xx == 0x10000L &&
- font_matrix.yy == 0x10000L &&
- font_matrix.xy == 0 &&
- font_matrix.yx == 0 ) )
+ /* apply the font matrix, if any */
+ if ( font_matrix.xx != 0x10000L || font_matrix.yy != 0x10000L ||
+ font_matrix.xy != 0 || font_matrix.yx != 0 )
+ {
FT_Outline_Transform( &glyph->root.outline, &font_matrix );
- if ( !( font_offset.x == 0 &&
- font_offset.y == 0 ) )
- FT_Outline_Translate( &glyph->root.outline,
- font_offset.x, font_offset.y );
+ metrics->horiAdvance = FT_MulFix( metrics->horiAdvance,
+ font_matrix.xx );
+ metrics->vertAdvance = FT_MulFix( metrics->vertAdvance,
+ font_matrix.yy );
+ }
- advance.x = metrics->horiAdvance;
- advance.y = 0;
- FT_Vector_Transform( &advance, &font_matrix );
- metrics->horiAdvance = advance.x + font_offset.x;
+ if ( font_offset.x || font_offset.y )
+ {
+ FT_Outline_Translate( &glyph->root.outline,
+ font_offset.x,
+ font_offset.y );
- advance.x = 0;
- advance.y = metrics->vertAdvance;
- FT_Vector_Transform( &advance, &font_matrix );
- metrics->vertAdvance = advance.y + font_offset.y;
+ metrics->horiAdvance += font_offset.x;
+ metrics->vertAdvance += font_offset.y;
+ }
if ( ( load_flags & FT_LOAD_NO_SCALE ) == 0 || force_scaling )
{
@@ -3064,9 +3064,7 @@
metrics->width = cbox.xMax - cbox.xMin;
metrics->height = cbox.yMax - cbox.yMin;
- if ( !face->horizontal.number_Of_HMetrics )
- metrics->horiBearingX = cbox.xMin;
-
+ metrics->horiBearingX = cbox.xMin;
metrics->horiBearingY = cbox.yMax;
if ( has_vertical_info )
diff --git a/lib/freetype/src/cff/cffload.c b/lib/freetype/src/cff/cffload.c
index fcb7348e8..c61222d65 100644
--- a/lib/freetype/src/cff/cffload.c
+++ b/lib/freetype/src/cff/cffload.c
@@ -1495,9 +1495,9 @@
if ( pure_cff )
{
/* well, we don't really forget the `disabled' fonts... */
- subfont_index = (FT_UInt)face_index;
+ subfont_index = (FT_UInt)( face_index & 0xFFFF );
- if ( subfont_index >= font->name_index.count )
+ if ( face_index > 0 && subfont_index >= font->name_index.count )
{
FT_ERROR(( "cff_font_load:"
" invalid subfont index for pure CFF font (%d)\n",
diff --git a/lib/freetype/src/cff/cffobjs.c b/lib/freetype/src/cff/cffobjs.c
index 4a1ef115f..0e0d5b034 100644
--- a/lib/freetype/src/cff/cffobjs.c
+++ b/lib/freetype/src/cff/cffobjs.c
@@ -583,10 +583,15 @@
if ( error )
goto Exit;
+ /* if we are performing a simple font format check, exit immediately */
+ /* (this is here for pure CFF) */
+ if ( face_index < 0 )
+ return FT_Err_Ok;
+
cff->pshinter = pshinter;
cff->psnames = psnames;
- cffface->face_index = face_index;
+ cffface->face_index = face_index & 0xFFFF;
/* Complement the root flags with some interesting information. */
/* Note that this is only necessary for pure CFF and CEF fonts; */
@@ -629,7 +634,7 @@
if ( !dict->has_font_matrix )
dict->units_per_em = pure_cff ? 1000 : face->root.units_per_EM;
- /* Normalize the font matrix so that `matrix->xx' is 1; the */
+ /* Normalize the font matrix so that `matrix->yy' is 1; the */
/* scaling is done with `units_per_em' then (at this point, */
/* it already contains the scaling factor, but without */
/* normalization of the matrix). */
@@ -765,8 +770,9 @@
(FT_Short)( dict->underline_thickness >> 16 );
/* retrieve font family & style name */
- cffface->family_name = cff_index_get_name( cff,
- (FT_UInt)face_index );
+ cffface->family_name = cff_index_get_name(
+ cff,
+ (FT_UInt)( face_index & 0xFFFF ) );
if ( cffface->family_name )
{
char* full = cff_index_get_sid_string( cff,
diff --git a/lib/freetype/src/cff/cffpic.h b/lib/freetype/src/cff/cffpic.h
index a29620e07..9a221a7b7 100644
--- a/lib/freetype/src/cff/cffpic.h
+++ b/lib/freetype/src/cff/cffpic.h
@@ -20,8 +20,6 @@
#define __CFFPIC_H__
-FT_BEGIN_HEADER
-
#include FT_INTERNAL_PIC_H
@@ -49,6 +47,8 @@ FT_BEGIN_HEADER
#include FT_SERVICE_PROPERTIES_H
+FT_BEGIN_HEADER
+
typedef struct CffModulePIC_
{
FT_ServiceDescRec* cff_services;
@@ -96,12 +96,12 @@ FT_BEGIN_HEADER
FT_Error
cff_driver_class_pic_init( FT_Library library );
+FT_END_HEADER
+
#endif /* FT_CONFIG_OPTION_PIC */
/* */
-FT_END_HEADER
-
#endif /* __CFFPIC_H__ */
diff --git a/lib/freetype/src/cid/Jamfile b/lib/freetype/src/cid/Jamfile
index af00180b8..64e152315 100644
--- a/lib/freetype/src/cid/Jamfile
+++ b/lib/freetype/src/cid/Jamfile
@@ -16,7 +16,12 @@ SubDir FT2_TOP $(FT2_SRC_DIR) cid ;
if $(FT2_MULTI)
{
- _sources = cidobjs cidload cidgload cidriver cidparse ;
+ _sources = cidgload
+ cidload
+ cidobjs
+ cidparse
+ cidriver
+ ;
}
else
{
diff --git a/lib/freetype/src/cid/cidgload.c b/lib/freetype/src/cid/cidgload.c
index d06293c8e..d00674fe0 100644
--- a/lib/freetype/src/cid/cidgload.c
+++ b/lib/freetype/src/cid/cidgload.c
@@ -357,7 +357,6 @@
{
FT_BBox cbox;
FT_Glyph_Metrics* metrics = &cidglyph->metrics;
- FT_Vector advance;
/* copy the _unscaled_ advance width */
@@ -377,22 +376,27 @@
if ( cidsize->metrics.y_ppem < 24 )
cidglyph->outline.flags |= FT_OUTLINE_HIGH_PRECISION;
- /* apply the font matrix */
- FT_Outline_Transform( &cidglyph->outline, &font_matrix );
+ /* apply the font matrix, if any */
+ if ( font_matrix.xx != 0x10000L || font_matrix.yy != 0x10000L ||
+ font_matrix.xy != 0 || font_matrix.yx != 0 )
+ {
+ FT_Outline_Transform( &cidglyph->outline, &font_matrix );
- FT_Outline_Translate( &cidglyph->outline,
- font_offset.x,
- font_offset.y );
+ metrics->horiAdvance = FT_MulFix( metrics->horiAdvance,
+ font_matrix.xx );
+ metrics->vertAdvance = FT_MulFix( metrics->vertAdvance,
+ font_matrix.yy );
+ }
- advance.x = metrics->horiAdvance;
- advance.y = 0;
- FT_Vector_Transform( &advance, &font_matrix );
- metrics->horiAdvance = advance.x + font_offset.x;
+ if ( font_offset.x || font_offset.y )
+ {
+ FT_Outline_Translate( &cidglyph->outline,
+ font_offset.x,
+ font_offset.y );
- advance.x = 0;
- advance.y = metrics->vertAdvance;
- FT_Vector_Transform( &advance, &font_matrix );
- metrics->vertAdvance = advance.y + font_offset.y;
+ metrics->horiAdvance += font_offset.x;
+ metrics->vertAdvance += font_offset.y;
+ }
if ( ( load_flags & FT_LOAD_NO_SCALE ) == 0 )
{
diff --git a/lib/freetype/src/cid/cidload.c b/lib/freetype/src/cid/cidload.c
index 6f3586055..e23b82f67 100644
--- a/lib/freetype/src/cid/cidload.c
+++ b/lib/freetype/src/cid/cidload.c
@@ -167,6 +167,7 @@
matrix = &dict->font_matrix;
offset = &dict->font_offset;
+ /* input is scaled by 1000 to accommodate default FontMatrix */
result = cid_parser_to_fixed_array( parser, 6, temp, 3 );
if ( result < 6 )
@@ -180,15 +181,12 @@
return FT_THROW( Invalid_File_Format );
}
- /* Set Units per EM based on FontMatrix values. We set the value to */
- /* 1000 / temp_scale, because temp_scale was already multiplied by */
- /* 1000 (in t1_tofixed, from psobjs.c). */
-
- root->units_per_EM = (FT_UShort)FT_DivFix( 1000, temp_scale );
-
- /* we need to scale the values by 1.0/temp[3] */
+ /* atypical case */
if ( temp_scale != 0x10000L )
{
+ /* set units per EM based on FontMatrix values */
+ root->units_per_EM = (FT_UShort)FT_DivFix( 1000, temp_scale );
+
temp[0] = FT_DivFix( temp[0], temp_scale );
temp[1] = FT_DivFix( temp[1], temp_scale );
temp[2] = FT_DivFix( temp[2], temp_scale );
diff --git a/lib/freetype/src/cid/cidobjs.c b/lib/freetype/src/cid/cidobjs.c
index a3d6895c9..bf1519bc6 100644
--- a/lib/freetype/src/cid/cidobjs.c
+++ b/lib/freetype/src/cid/cidobjs.c
@@ -334,7 +334,7 @@
/* check the face index */
/* XXX: handle CID fonts with more than a single face */
- if ( face_index != 0 )
+ if ( ( face_index & 0xFFFF ) != 0 )
{
FT_ERROR(( "cid_face_init: invalid face index\n" ));
error = FT_THROW( Invalid_Argument );
@@ -354,7 +354,7 @@
cidface->num_glyphs = (FT_Long)cid->cid_count;
cidface->num_charmaps = 0;
- cidface->face_index = face_index;
+ cidface->face_index = face_index & 0xFFFF;
cidface->face_flags |= FT_FACE_FLAG_SCALABLE | /* scalable outlines */
FT_FACE_FLAG_HORIZONTAL | /* horizontal data */
diff --git a/lib/freetype/src/gxvalid/Jamfile b/lib/freetype/src/gxvalid/Jamfile
index 9419067bd..d367cad77 100644
--- a/lib/freetype/src/gxvalid/Jamfile
+++ b/lib/freetype/src/gxvalid/Jamfile
@@ -17,10 +17,29 @@ SubDir FT2_TOP $(FT2_SRC_DIR) gxvalid ;
if $(FT2_MULTI)
{
- _sources = gxvcommn gxvfeat gxvbsln gxvtrak gxvopbd gxvprop
- gxvmort gxvmort0 gxvmort1 gxvmort2 gxvmort4 gxvmort5
- gxvmorx gxvmorx0 gxvmorx1 gxvmorx2 gxvmorx4 gxvmorx5
- gxvlcar gxvkern gxvmod gxvjust ;
+ _sources = gxvbsln
+ gxvcommn
+ gxvfeat
+ gxvjust
+ gxvkern
+ gxvlcar
+ gxvmod
+ gxvmort
+ gxvmort0
+ gxvmort1
+ gxvmort2
+ gxvmort4
+ gxvmort5
+ gxvmorx
+ gxvmorx0
+ gxvmorx1
+ gxvmorx2
+ gxvmorx4
+ gxvmorx5
+ gxvopbd
+ gxvprop
+ gxvtrak
+ ;
}
else
{
diff --git a/lib/freetype/src/gzip/adler32.c b/lib/freetype/src/gzip/adler32.c
index 7f1fa862a..db8dc1f20 100644
--- a/lib/freetype/src/gzip/adler32.c
+++ b/lib/freetype/src/gzip/adler32.c
@@ -3,7 +3,7 @@
* For conditions of distribution and use, see copyright notice in zlib.h
*/
-/* @(#) $Id: adler32.c,v 1.7 2015/06/28 08:27:48 dcoppa Exp $ */
+/* @(#) $Id: adler32.c,v 1.8 2015/10/19 07:51:37 dcoppa Exp $ */
#include "zlib.h"
diff --git a/lib/freetype/src/gzip/ftgzip.c b/lib/freetype/src/gzip/ftgzip.c
index 879eb88a7..422035c00 100644
--- a/lib/freetype/src/gzip/ftgzip.c
+++ b/lib/freetype/src/gzip/ftgzip.c
@@ -377,7 +377,10 @@
size = stream->read( stream, stream->pos, zip->input,
FT_GZIP_BUFFER_SIZE );
if ( size == 0 )
+ {
+ zip->limit = zip->cursor;
return FT_THROW( Invalid_Stream_Operation );
+ }
}
else
{
@@ -386,7 +389,10 @@
size = FT_GZIP_BUFFER_SIZE;
if ( size == 0 )
+ {
+ zip->limit = zip->cursor;
return FT_THROW( Invalid_Stream_Operation );
+ }
FT_MEM_COPY( zip->input, stream->base + stream->pos, size );
}
@@ -433,7 +439,8 @@
}
else if ( err != Z_OK )
{
- error = FT_THROW( Invalid_Stream_Operation );
+ zip->limit = zip->cursor;
+ error = FT_THROW( Invalid_Stream_Operation );
break;
}
}
@@ -557,19 +564,22 @@
stream->descriptor.pointer = NULL;
}
+
+ if ( !stream->read )
+ FT_FREE( stream->base );
}
- static FT_ULong
- ft_gzip_stream_io( FT_Stream stream,
- FT_ULong pos,
- FT_Byte* buffer,
- FT_ULong count )
+ static unsigned long
+ ft_gzip_stream_io( FT_Stream stream,
+ unsigned long offset,
+ unsigned char* buffer,
+ unsigned long count )
{
FT_GZipFile zip = (FT_GZipFile)stream->descriptor.pointer;
- return ft_gzip_file_io( zip, pos, buffer, count );
+ return ft_gzip_file_io( zip, offset, buffer, count );
}
@@ -584,7 +594,7 @@
old_pos = stream->pos;
if ( !FT_Stream_Seek( stream, stream->size - 4 ) )
{
- result = FT_Stream_ReadULong( stream, &error );
+ result = FT_Stream_ReadULongLE( stream, &error );
if ( error )
result = 0;
@@ -685,7 +695,7 @@
stream->size = 0x7FFFFFFFL; /* don't know the real size! */
stream->pos = 0;
- stream->base = 0;
+ stream->base = NULL;
stream->read = ft_gzip_stream_io;
stream->close = ft_gzip_stream_close;
diff --git a/lib/freetype/src/gzip/zconf.h b/lib/freetype/src/gzip/zconf.h
index a4544504e..506794dfc 100644
--- a/lib/freetype/src/gzip/zconf.h
+++ b/lib/freetype/src/gzip/zconf.h
@@ -3,7 +3,7 @@
* For conditions of distribution and use, see copyright notice in zlib.h
*/
-/* @(#) $Id: zconf.h,v 1.7 2015/06/28 08:27:48 dcoppa Exp $ */
+/* @(#) $Id: zconf.h,v 1.8 2015/10/19 07:51:37 dcoppa Exp $ */
#ifndef _ZCONF_H
#define _ZCONF_H
diff --git a/lib/freetype/src/gzip/zutil.c b/lib/freetype/src/gzip/zutil.c
index 0841cc415..c6db8963c 100644
--- a/lib/freetype/src/gzip/zutil.c
+++ b/lib/freetype/src/gzip/zutil.c
@@ -3,7 +3,7 @@
* For conditions of distribution and use, see copyright notice in zlib.h
*/
-/* @(#) $Id: zutil.c,v 1.8 2015/06/28 08:27:48 dcoppa Exp $ */
+/* @(#) $Id: zutil.c,v 1.9 2015/10/19 07:51:37 dcoppa Exp $ */
#include "zutil.h"
diff --git a/lib/freetype/src/gzip/zutil.h b/lib/freetype/src/gzip/zutil.h
index 7f41b5350..7c3ab3ca2 100644
--- a/lib/freetype/src/gzip/zutil.h
+++ b/lib/freetype/src/gzip/zutil.h
@@ -8,7 +8,7 @@
subject to change. Applications should only use zlib.h.
*/
-/* @(#) $Id: zutil.h,v 1.7 2015/06/28 08:27:48 dcoppa Exp $ */
+/* @(#) $Id: zutil.h,v 1.8 2015/10/19 07:51:37 dcoppa Exp $ */
#ifndef _Z_UTIL_H
#define _Z_UTIL_H
diff --git a/lib/freetype/src/lzw/ftlzw.c b/lib/freetype/src/lzw/ftlzw.c
index 5664ff9cf..2f4e3b0f1 100644
--- a/lib/freetype/src/lzw/ftlzw.c
+++ b/lib/freetype/src/lzw/ftlzw.c
@@ -330,16 +330,16 @@
}
- static FT_ULong
- ft_lzw_stream_io( FT_Stream stream,
- FT_ULong pos,
- FT_Byte* buffer,
- FT_ULong count )
+ static unsigned long
+ ft_lzw_stream_io( FT_Stream stream,
+ unsigned long offset,
+ unsigned char* buffer,
+ unsigned long count )
{
FT_LZWFile zip = (FT_LZWFile)stream->descriptor.pointer;
- return ft_lzw_file_io( zip, pos, buffer, count );
+ return ft_lzw_file_io( zip, offset, buffer, count );
}
diff --git a/lib/freetype/src/otvalid/Jamfile b/lib/freetype/src/otvalid/Jamfile
index dbc239513..461a22217 100644
--- a/lib/freetype/src/otvalid/Jamfile
+++ b/lib/freetype/src/otvalid/Jamfile
@@ -16,7 +16,15 @@ SubDir FT2_TOP $(FT2_SRC_DIR) otvalid ;
if $(FT2_MULTI)
{
- _sources = otvbase otvcommn otvgdef otvgpos otvgsub otvjstf otvmod otvmath ;
+ _sources = otvbase
+ otvcommn
+ otvgdef
+ otvgpos
+ otvgsub
+ otvjstf
+ otvmath
+ otvmod
+ ;
}
else
{
diff --git a/lib/freetype/src/pcf/Jamfile b/lib/freetype/src/pcf/Jamfile
index 8cd90e4c3..f4789ea62 100644
--- a/lib/freetype/src/pcf/Jamfile
+++ b/lib/freetype/src/pcf/Jamfile
@@ -16,7 +16,10 @@ SubDir FT2_TOP $(FT2_SRC_DIR) pcf ;
if $(FT2_MULTI)
{
- _sources = pcfdrivr pcfread pcfutil ;
+ _sources = pcfdrivr
+ pcfread
+ pcfutil
+ ;
}
else
{
diff --git a/lib/freetype/src/pcf/pcfdrivr.c b/lib/freetype/src/pcf/pcfdrivr.c
index 552049e9b..8d2ed7cf4 100644
--- a/lib/freetype/src/pcf/pcfdrivr.c
+++ b/lib/freetype/src/pcf/pcfdrivr.c
@@ -345,13 +345,14 @@ THE SOFTWARE.
#endif
}
- /* PCF could not have multiple face in single font file.
- * XXX: non-zero face_index is already invalid argument, but
- * Type1, Type42 driver has a convention to return
+ /* PCF cannot have multiple faces in a single font file.
+ * XXX: A non-zero face_index is already an invalid argument, but
+ * Type1, Type42 drivers have a convention to return
* an invalid argument error when the font could be
* opened by the specified driver.
*/
- if ( face_index > 0 ) {
+ if ( face_index > 0 && ( face_index & 0xFFFF ) > 0 )
+ {
FT_ERROR(( "PCF_Face_Init: invalid face index\n" ));
PCF_Face_Done( pcfface );
return FT_THROW( Invalid_Argument );
@@ -430,9 +431,9 @@ THE SOFTWARE.
FT_Select_Metrics( size->face, strike_index );
- size->metrics.ascender = accel->fontAscent << 6;
- size->metrics.descender = -accel->fontDescent << 6;
- size->metrics.max_advance = accel->maxbounds.characterWidth << 6;
+ size->metrics.ascender = accel->fontAscent * 64;
+ size->metrics.descender = -accel->fontDescent * 64;
+ size->metrics.max_advance = accel->maxbounds.characterWidth * 64;
return FT_Err_Ok;
}
@@ -583,16 +584,16 @@ THE SOFTWARE.
slot->bitmap_left = metric->leftSideBearing;
slot->bitmap_top = metric->ascent;
- slot->metrics.horiAdvance = (FT_Pos)( metric->characterWidth << 6 );
- slot->metrics.horiBearingX = (FT_Pos)( metric->leftSideBearing << 6 );
- slot->metrics.horiBearingY = (FT_Pos)( metric->ascent << 6 );
+ slot->metrics.horiAdvance = (FT_Pos)( metric->characterWidth * 64 );
+ slot->metrics.horiBearingX = (FT_Pos)( metric->leftSideBearing * 64 );
+ slot->metrics.horiBearingY = (FT_Pos)( metric->ascent * 64 );
slot->metrics.width = (FT_Pos)( ( metric->rightSideBearing -
- metric->leftSideBearing ) << 6 );
- slot->metrics.height = (FT_Pos)( bitmap->rows << 6 );
+ metric->leftSideBearing ) * 64 );
+ slot->metrics.height = (FT_Pos)( bitmap->rows * 64 );
ft_synthesize_vertical_metrics( &slot->metrics,
( face->accel.fontAscent +
- face->accel.fontDescent ) << 6 );
+ face->accel.fontDescent ) * 64 );
Exit:
return error;
diff --git a/lib/freetype/src/pcf/pcfread.c b/lib/freetype/src/pcf/pcfread.c
index 039af33e9..afa148077 100644
--- a/lib/freetype/src/pcf/pcfread.c
+++ b/lib/freetype/src/pcf/pcfread.c
@@ -1272,44 +1272,84 @@ THE SOFTWARE.
FT_MEM_ZERO( bsize, sizeof ( FT_Bitmap_Size ) );
+ /* for simplicity, we take absolute values of integer properties */
+
#if 0
bsize->height = face->accel.maxbounds.ascent << 6;
#endif
- bsize->height = (FT_Short)( face->accel.fontAscent +
- face->accel.fontDescent );
+
+#ifdef FT_DEBUG_LEVEL_TRACE
+ if ( face->accel.fontAscent + face->accel.fontDescent < 0 )
+ FT_TRACE0(( "pcf_load_font: negative height\n" ));
+#endif
+ bsize->height = FT_ABS( (FT_Short)( face->accel.fontAscent +
+ face->accel.fontDescent ) );
prop = pcf_find_property( face, "AVERAGE_WIDTH" );
if ( prop )
- bsize->width = (FT_Short)( ( prop->value.l + 5 ) / 10 );
+ {
+#ifdef FT_DEBUG_LEVEL_TRACE
+ if ( prop->value.l < 0 )
+ FT_TRACE0(( "pcf_load_font: negative average width\n" ));
+#endif
+ bsize->width = FT_ABS( (FT_Short)( ( prop->value.l ) + 5 ) / 10 );
+ }
else
- bsize->width = (FT_Short)( bsize->height * 2/3 );
+ bsize->width = (FT_Short)FT_MulDiv( bsize->height, 2, 3 );
prop = pcf_find_property( face, "POINT_SIZE" );
if ( prop )
+ {
+#ifdef FT_DEBUG_LEVEL_TRACE
+ if ( prop->value.l < 0 )
+ FT_TRACE0(( "pcf_load_font: negative point size\n" ));
+#endif
/* convert from 722.7 decipoints to 72 points per inch */
- bsize->size =
- (FT_Pos)( ( prop->value.l * 64 * 7200 + 36135L ) / 72270L );
+ bsize->size = FT_MulDiv( FT_ABS( prop->value.l ),
+ 64 * 7200,
+ 72270L );
+ }
prop = pcf_find_property( face, "PIXEL_SIZE" );
if ( prop )
- bsize->y_ppem = (FT_Short)prop->value.l << 6;
+ {
+#ifdef FT_DEBUG_LEVEL_TRACE
+ if ( prop->value.l < 0 )
+ FT_TRACE0(( "pcf_load_font: negative pixel size\n" ));
+#endif
+ bsize->y_ppem = FT_ABS( (FT_Short)prop->value.l ) << 6;
+ }
prop = pcf_find_property( face, "RESOLUTION_X" );
if ( prop )
- resolution_x = (FT_Short)prop->value.l;
+ {
+#ifdef FT_DEBUG_LEVEL_TRACE
+ if ( prop->value.l < 0 )
+ FT_TRACE0(( "pcf_load_font: negative X resolution\n" ));
+#endif
+ resolution_x = FT_ABS( (FT_Short)prop->value.l );
+ }
prop = pcf_find_property( face, "RESOLUTION_Y" );
if ( prop )
- resolution_y = (FT_Short)prop->value.l;
+ {
+#ifdef FT_DEBUG_LEVEL_TRACE
+ if ( prop->value.l < 0 )
+ FT_TRACE0(( "pcf_load_font: negative Y resolution\n" ));
+#endif
+ resolution_y = FT_ABS( (FT_Short)prop->value.l );
+ }
if ( bsize->y_ppem == 0 )
{
bsize->y_ppem = bsize->size;
if ( resolution_y )
- bsize->y_ppem = bsize->y_ppem * resolution_y / 72;
+ bsize->y_ppem = FT_MulDiv( bsize->y_ppem, resolution_y, 72 );
}
if ( resolution_x && resolution_y )
- bsize->x_ppem = bsize->y_ppem * resolution_x / resolution_y;
+ bsize->x_ppem = FT_MulDiv( bsize->y_ppem,
+ resolution_x,
+ resolution_y );
else
bsize->x_ppem = bsize->y_ppem;
}
diff --git a/lib/freetype/src/pfr/Jamfile b/lib/freetype/src/pfr/Jamfile
index 2064bcd8d..c5b35be87 100644
--- a/lib/freetype/src/pfr/Jamfile
+++ b/lib/freetype/src/pfr/Jamfile
@@ -16,7 +16,13 @@ SubDir FT2_TOP $(FT2_SRC_DIR) pfr ;
if $(FT2_MULTI)
{
- _sources = pfrdrivr pfrgload pfrload pfrobjs pfrcmap pfrsbit ;
+ _sources = pfrcmap
+ pfrdrivr
+ pfrgload
+ pfrload
+ pfrobjs
+ pfrsbit
+ ;
}
else
{
diff --git a/lib/freetype/src/pfr/pfrgload.c b/lib/freetype/src/pfr/pfrgload.c
index 1cd13c202..88df06a03 100644
--- a/lib/freetype/src/pfr/pfrgload.c
+++ b/lib/freetype/src/pfr/pfrgload.c
@@ -632,14 +632,14 @@
if ( format & PFR_SUBGLYPH_XSCALE )
{
PFR_CHECK( 2 );
- subglyph->x_scale = PFR_NEXT_SHORT( p ) << 4;
+ subglyph->x_scale = PFR_NEXT_SHORT( p ) * 16;
}
subglyph->y_scale = 0x10000L;
if ( format & PFR_SUBGLYPH_YSCALE )
{
PFR_CHECK( 2 );
- subglyph->y_scale = PFR_NEXT_SHORT( p ) << 4;
+ subglyph->y_scale = PFR_NEXT_SHORT( p ) * 16;
}
/* read offset */
diff --git a/lib/freetype/src/pfr/pfrobjs.c b/lib/freetype/src/pfr/pfrobjs.c
index aababf4a2..b854b00ba 100644
--- a/lib/freetype/src/pfr/pfrobjs.c
+++ b/lib/freetype/src/pfr/pfrobjs.c
@@ -109,7 +109,7 @@
if ( face_index < 0 )
goto Exit;
- if ( face_index >= pfrface->num_faces )
+ if ( ( face_index & 0xFFFF ) >= pfrface->num_faces )
{
FT_ERROR(( "pfr_face_init: invalid face index\n" ));
error = FT_THROW( Invalid_Argument );
@@ -118,7 +118,7 @@
/* load the face */
error = pfr_log_font_load(
- &face->log_font, stream, (FT_UInt)face_index,
+ &face->log_font, stream, (FT_UInt)( face_index & 0xFFFF ),
face->header.log_dir_offset,
FT_BOOL( face->header.phy_font_max_size_high != 0 ) );
if ( error )
@@ -136,7 +136,7 @@
PFR_PhyFont phy_font = &face->phy_font;
- pfrface->face_index = face_index;
+ pfrface->face_index = face_index & 0xFFFF;
pfrface->num_glyphs = (FT_Long)phy_font->num_chars + 1;
pfrface->face_flags |= FT_FACE_FLAG_SCALABLE;
diff --git a/lib/freetype/src/psaux/Jamfile b/lib/freetype/src/psaux/Jamfile
index d7c2e6ca5..6793f0d58 100644
--- a/lib/freetype/src/psaux/Jamfile
+++ b/lib/freetype/src/psaux/Jamfile
@@ -16,8 +16,12 @@ SubDir FT2_TOP $(FT2_SRC_DIR) psaux ;
if $(FT2_MULTI)
{
- _sources = psauxmod psobjs t1decode t1cmap
- psconv afmparse
+ _sources = afmparse
+ psauxmod
+ psconv
+ psobjs
+ t1cmap
+ t1decode
;
}
else
diff --git a/lib/freetype/src/psaux/psobjs.c b/lib/freetype/src/psaux/psobjs.c
index c7cbc67c6..1d3c7e662 100644
--- a/lib/freetype/src/psaux/psobjs.c
+++ b/lib/freetype/src/psaux/psobjs.c
@@ -594,6 +594,9 @@
error = FT_THROW( Invalid_File_Format );
}
+ if ( cur > limit )
+ cur = limit;
+
parser->error = error;
parser->cursor = cur;
}
@@ -1229,15 +1232,17 @@
if ( result < 0 || (FT_UInt)result < max_objects )
{
FT_ERROR(( "ps_parser_load_field:"
- " expected %d integers in the %s subarray\n"
+ " expected %d integer%s in the %s subarray\n"
" "
" of /FontBBox in the /Blend dictionary\n",
- max_objects,
+ max_objects, max_objects > 1 ? "s" : "",
i == 0 ? "first"
: ( i == 1 ? "second"
: ( i == 2 ? "third"
: "fourth" ) ) ));
error = FT_THROW( Invalid_File_Format );
+
+ FT_FREE( temp );
goto Exit;
}
diff --git a/lib/freetype/src/pshinter/Jamfile b/lib/freetype/src/pshinter/Jamfile
index e763c47ce..6fb3be11c 100644
--- a/lib/freetype/src/pshinter/Jamfile
+++ b/lib/freetype/src/pshinter/Jamfile
@@ -16,7 +16,12 @@ SubDir FT2_TOP $(FT2_SRC_DIR) pshinter ;
if $(FT2_MULTI)
{
- _sources = pshrec pshglob pshalgo pshmod pshpic ;
+ _sources = pshalgo
+ pshglob
+ pshmod
+ pshpic
+ pshrec
+ ;
}
else
{
diff --git a/lib/freetype/src/pshinter/pshalgo.c b/lib/freetype/src/pshinter/pshalgo.c
index bfdb3ed02..6e654cb1e 100644
--- a/lib/freetype/src/pshinter/pshalgo.c
+++ b/lib/freetype/src/pshinter/pshalgo.c
@@ -916,103 +916,9 @@
/*************************************************************************/
/*************************************************************************/
-#if 1
-
#define psh_corner_is_flat ft_corner_is_flat
#define psh_corner_orientation ft_corner_orientation
-#else
-
- FT_LOCAL_DEF( FT_Int )
- psh_corner_is_flat( FT_Pos x_in,
- FT_Pos y_in,
- FT_Pos x_out,
- FT_Pos y_out )
- {
- FT_Pos ax = x_in;
- FT_Pos ay = y_in;
-
- FT_Pos d_in, d_out, d_corner;
-
-
- if ( ax < 0 )
- ax = -ax;
- if ( ay < 0 )
- ay = -ay;
- d_in = ax + ay;
-
- ax = x_out;
- if ( ax < 0 )
- ax = -ax;
- ay = y_out;
- if ( ay < 0 )
- ay = -ay;
- d_out = ax + ay;
-
- ax = x_out + x_in;
- if ( ax < 0 )
- ax = -ax;
- ay = y_out + y_in;
- if ( ay < 0 )
- ay = -ay;
- d_corner = ax + ay;
-
- return ( d_in + d_out - d_corner ) < ( d_corner >> 4 );
- }
-
- static FT_Int
- psh_corner_orientation( FT_Pos in_x,
- FT_Pos in_y,
- FT_Pos out_x,
- FT_Pos out_y )
- {
- FT_Int result;
-
-
- /* deal with the trivial cases quickly */
- if ( in_y == 0 )
- {
- if ( in_x >= 0 )
- result = out_y;
- else
- result = -out_y;
- }
- else if ( in_x == 0 )
- {
- if ( in_y >= 0 )
- result = -out_x;
- else
- result = out_x;
- }
- else if ( out_y == 0 )
- {
- if ( out_x >= 0 )
- result = in_y;
- else
- result = -in_y;
- }
- else if ( out_x == 0 )
- {
- if ( out_y >= 0 )
- result = -in_x;
- else
- result = in_x;
- }
- else /* general case */
- {
- long long delta = (long long)in_x * out_y - (long long)in_y * out_x;
-
- if ( delta == 0 )
- result = 0;
- else
- result = 1 - 2 * ( delta < 0 );
- }
-
- return result;
- }
-
-#endif /* !1 */
-
#ifdef COMPUTE_INFLEXS
diff --git a/lib/freetype/src/pshinter/pshglob.c b/lib/freetype/src/pshinter/pshglob.c
index 6723b717e..4616bdc6c 100644
--- a/lib/freetype/src/pshinter/pshglob.c
+++ b/lib/freetype/src/pshinter/pshglob.c
@@ -339,7 +339,7 @@
bot = zone[1].org_bottom;
delta = bot - top;
- if ( delta < 2 * fuzz )
+ if ( delta / 2 < fuzz )
zone[0].org_top = zone[1].org_bottom = top + delta / 2;
else
{
diff --git a/lib/freetype/src/pshinter/pshpic.h b/lib/freetype/src/pshinter/pshpic.h
index 62de4574f..ca35cd6fa 100644
--- a/lib/freetype/src/pshinter/pshpic.h
+++ b/lib/freetype/src/pshinter/pshpic.h
@@ -20,8 +20,6 @@
#define __PSHPIC_H__
-FT_BEGIN_HEADER
-
#include FT_INTERNAL_PIC_H
@@ -33,6 +31,8 @@ FT_BEGIN_HEADER
#include FT_INTERNAL_POSTSCRIPT_HINTS_H
+FT_BEGIN_HEADER
+
typedef struct PSHinterPIC_
{
PSHinter_Interface pshinter_interface;
@@ -51,12 +51,12 @@ FT_BEGIN_HEADER
FT_Error
pshinter_module_class_pic_init( FT_Library library );
+FT_END_HEADER
+
#endif /* FT_CONFIG_OPTION_PIC */
/* */
-FT_END_HEADER
-
#endif /* __PSHPIC_H__ */
diff --git a/lib/freetype/src/psnames/Jamfile b/lib/freetype/src/psnames/Jamfile
index b9fe23509..6dcc8b8e9 100644
--- a/lib/freetype/src/psnames/Jamfile
+++ b/lib/freetype/src/psnames/Jamfile
@@ -16,7 +16,9 @@ SubDir FT2_TOP $(FT2_SRC_DIR) psnames ;
if $(FT2_MULTI)
{
- _sources = psmodule pspic ;
+ _sources = psmodule
+ pspic
+ ;
}
else
{
diff --git a/lib/freetype/src/psnames/pspic.h b/lib/freetype/src/psnames/pspic.h
index 88ccda3a5..443225af6 100644
--- a/lib/freetype/src/psnames/pspic.h
+++ b/lib/freetype/src/psnames/pspic.h
@@ -20,10 +20,9 @@
#define __PSPIC_H__
-FT_BEGIN_HEADER
-
#include FT_INTERNAL_PIC_H
+
#ifndef FT_CONFIG_OPTION_PIC
#define PSCMAPS_SERVICES_GET pscmaps_services
@@ -33,6 +32,9 @@ FT_BEGIN_HEADER
#include FT_SERVICE_POSTSCRIPT_CMAPS_H
+
+FT_BEGIN_HEADER
+
typedef struct PSModulePIC_
{
FT_ServiceDescRec* pscmaps_services;
@@ -54,12 +56,12 @@ FT_BEGIN_HEADER
FT_Error
psnames_module_class_pic_init( FT_Library library );
+FT_END_HEADER
+
#endif /* FT_CONFIG_OPTION_PIC */
/* */
-FT_END_HEADER
-
#endif /* __PSPIC_H__ */
diff --git a/lib/freetype/src/raster/Jamfile b/lib/freetype/src/raster/Jamfile
index f03ed3231..71df5689e 100644
--- a/lib/freetype/src/raster/Jamfile
+++ b/lib/freetype/src/raster/Jamfile
@@ -16,7 +16,10 @@ SubDir FT2_TOP $(FT2_SRC_DIR) raster ;
if $(FT2_MULTI)
{
- _sources = ftraster ftrend1 rastpic ;
+ _sources = ftraster
+ ftrend1
+ rastpic
+ ;
}
else
{
diff --git a/lib/freetype/src/raster/ftmisc.h b/lib/freetype/src/raster/ftmisc.h
index 19be4cadc..b87e0b62b 100644
--- a/lib/freetype/src/raster/ftmisc.h
+++ b/lib/freetype/src/raster/ftmisc.h
@@ -37,7 +37,7 @@
#define FT_LOCAL_DEF( x ) static x
- /* from include/freetype2/fttypes.h */
+ /* from include/freetype/fttypes.h */
typedef unsigned char FT_Byte;
typedef signed int FT_Int;
@@ -54,7 +54,7 @@
(FT_ULong)_x4 )
- /* from include/freetype2/ftsystem.h */
+ /* from include/freetype/ftsystem.h */
typedef struct FT_MemoryRec_* FT_Memory;
diff --git a/lib/freetype/src/raster/ftraster.c b/lib/freetype/src/raster/ftraster.c
index eeab14352..e4bab9872 100644
--- a/lib/freetype/src/raster/ftraster.c
+++ b/lib/freetype/src/raster/ftraster.c
@@ -24,8 +24,8 @@
/* */
/* - copy `src/raster/ftraster.c' (this file) to your current directory */
/* */
- /* - copy `include/ftimage.h' and `src/raster/ftmisc.h' to your current */
- /* directory */
+ /* - copy `include/freetype/ftimage.h' and `src/raster/ftmisc.h' to your */
+ /* current directory */
/* */
/* - compile `ftraster' with the _STANDALONE_ macro defined, as in */
/* */
@@ -450,7 +450,9 @@
#define CEILING( x ) ( ( (x) + ras.precision - 1 ) & -ras.precision )
#define TRUNC( x ) ( (Long)(x) >> ras.precision_bits )
#define FRAC( x ) ( (x) & ( ras.precision - 1 ) )
-#define SCALED( x ) ( ( (Long)(x) << ras.scale_shift ) - ras.precision_half )
+#define SCALED( x ) ( ( (x) < 0 ? -( -(x) << ras.scale_shift ) \
+ : ( (x) << ras.scale_shift ) ) \
+ - ras.precision_half )
#define IS_BOTTOM_OVERSHOOT( x ) \
(Bool)( CEILING( x ) - x >= ras.precision_half )
@@ -799,15 +801,14 @@
/* if it is <, simply insert it, ignore if == */
if ( n >= 0 && y > y_turns[n] )
- while ( n >= 0 )
+ do
{
Int y2 = (Int)y_turns[n];
y_turns[n] = y;
y = y2;
- n--;
- }
+ } while ( --n >= 0 );
if ( n < 0 )
{
@@ -848,7 +849,7 @@
if ( n > 1 && p )
{
- while ( n > 0 )
+ do
{
Int bottom, top;
@@ -876,8 +877,7 @@
return FAILURE;
p = p->link;
- n--;
- }
+ } while ( --n );
}
else
ras.fProfile = NULL;
@@ -1248,7 +1248,7 @@
start_arc = arc;
- while ( arc >= start_arc && e <= e2 )
+ do
{
ras.joint = FALSE;
@@ -1281,7 +1281,7 @@
}
arc -= degree;
}
- }
+ } while ( arc >= start_arc && e <= e2 );
Fin:
ras.top = top;
@@ -2114,7 +2114,7 @@
while ( current )
{
current->X = *current->offset;
- current->offset += current->flags & Flow_Up ? 1 : -1;
+ current->offset += ( current->flags & Flow_Up ) ? 1 : -1;
current->height--;
current = current->link;
}
diff --git a/lib/freetype/src/raster/ftrend1.h b/lib/freetype/src/raster/ftrend1.h
index c367260b1..edc5d13f4 100644
--- a/lib/freetype/src/raster/ftrend1.h
+++ b/lib/freetype/src/raster/ftrend1.h
@@ -29,12 +29,6 @@ FT_BEGIN_HEADER
FT_DECLARE_RENDERER( ft_raster1_renderer_class )
- /* this renderer is _NOT_ part of the default modules, you'll need */
- /* to register it by hand in your application. It should only be */
- /* used for backwards-compatibility with FT 1.x anyway. */
- /* */
- FT_DECLARE_RENDERER( ft_raster5_renderer_class )
-
FT_END_HEADER
diff --git a/lib/freetype/src/raster/rastpic.c b/lib/freetype/src/raster/rastpic.c
index fe58c9937..77e7ec3f9 100644
--- a/lib/freetype/src/raster/rastpic.c
+++ b/lib/freetype/src/raster/rastpic.c
@@ -59,8 +59,9 @@
FT_Memory memory = library->memory;
- /* since this function also serves raster5 renderer, */
- /* it implements reference counting */
+ /* XXX: since this function also served the no longer available */
+ /* raster5 renderer it uses reference counting, which could */
+ /* be removed now */
if ( pic_container->raster )
{
((RasterPIC*)pic_container->raster)->ref_count++;
@@ -82,21 +83,6 @@
return error;
}
-
- /* re-route these init and free functions to the above functions */
- FT_Error
- ft_raster5_renderer_class_pic_init( FT_Library library )
- {
- return ft_raster1_renderer_class_pic_init( library );
- }
-
-
- void
- ft_raster5_renderer_class_pic_free( FT_Library library )
- {
- ft_raster1_renderer_class_pic_free( library );
- }
-
#endif /* FT_CONFIG_OPTION_PIC */
diff --git a/lib/freetype/src/raster/rastpic.h b/lib/freetype/src/raster/rastpic.h
index a875884d9..408996a90 100644
--- a/lib/freetype/src/raster/rastpic.h
+++ b/lib/freetype/src/raster/rastpic.h
@@ -20,11 +20,11 @@
#define __RASTPIC_H__
-FT_BEGIN_HEADER
-
#include FT_INTERNAL_PIC_H
+FT_BEGIN_HEADER
+
#ifndef FT_CONFIG_OPTION_PIC
#define FT_STANDARD_RASTER_GET ft_standard_raster
@@ -48,15 +48,9 @@ FT_BEGIN_HEADER
void
ft_raster1_renderer_class_pic_free( FT_Library library );
- void
- ft_raster5_renderer_class_pic_free( FT_Library library );
-
FT_Error
ft_raster1_renderer_class_pic_init( FT_Library library );
- FT_Error
- ft_raster5_renderer_class_pic_init( FT_Library library );
-
#endif /* FT_CONFIG_OPTION_PIC */
/* */
diff --git a/lib/freetype/src/sfnt/Jamfile b/lib/freetype/src/sfnt/Jamfile
index 73c6e152d..cc98d1011 100644
--- a/lib/freetype/src/sfnt/Jamfile
+++ b/lib/freetype/src/sfnt/Jamfile
@@ -16,7 +16,18 @@ SubDir FT2_TOP $(FT2_SRC_DIR) sfnt ;
if $(FT2_MULTI)
{
- _sources = sfobjs sfdriver ttcmap ttmtx ttpost ttload ttsbit ttkern ttbdf sfntpic ;
+ _sources = pngshim
+ sfdriver
+ sfntpic
+ sfobjs
+ ttbdf
+ ttcmap
+ ttkern
+ ttload
+ ttmtx
+ ttpost
+ ttsbit
+ ;
}
else
{
diff --git a/lib/freetype/src/sfnt/sfdriver.c b/lib/freetype/src/sfnt/sfdriver.c
index 0948ad4e7..6a3f0d993 100644
--- a/lib/freetype/src/sfnt/sfdriver.c
+++ b/lib/freetype/src/sfnt/sfdriver.c
@@ -505,7 +505,9 @@
PUT_EMBEDDED_BITMAPS( tt_face_set_sbit_strike ),
PUT_EMBEDDED_BITMAPS( tt_face_load_strike_metrics ),
- tt_face_get_metrics
+ tt_face_get_metrics,
+
+ tt_face_get_name
)
diff --git a/lib/freetype/src/sfnt/sfntpic.h b/lib/freetype/src/sfnt/sfntpic.h
index 563d6344d..d99be6a82 100644
--- a/lib/freetype/src/sfnt/sfntpic.h
+++ b/lib/freetype/src/sfnt/sfntpic.h
@@ -20,8 +20,6 @@
#define __SFNTPIC_H__
-FT_BEGIN_HEADER
-
#include FT_INTERNAL_PIC_H
@@ -31,7 +29,6 @@ FT_BEGIN_HEADER
#define SFNT_SERVICE_GLYPH_DICT_GET sfnt_service_glyph_dict
#define SFNT_SERVICE_PS_NAME_GET sfnt_service_ps_name
#define TT_SERVICE_CMAP_INFO_GET tt_service_get_cmap_info
-#define SFNT_SERVICES_GET sfnt_services
#define TT_CMAP_CLASSES_GET tt_cmap_classes
#define SFNT_SERVICE_SFNT_TABLE_GET sfnt_service_sfnt_table
#define SFNT_SERVICE_BDF_GET sfnt_service_bdf
@@ -56,6 +53,8 @@ FT_BEGIN_HEADER
#include "ttcmap.h"
+FT_BEGIN_HEADER
+
typedef struct sfntModulePIC_
{
FT_ServiceDescRec* sfnt_services;
@@ -83,8 +82,6 @@ FT_BEGIN_HEADER
( GET_PIC( library )->sfnt_service_ps_name )
#define TT_SERVICE_CMAP_INFO_GET \
( GET_PIC( library )->tt_service_get_cmap_info )
-#define SFNT_SERVICES_GET \
- ( GET_PIC( library )->sfnt_services )
#define TT_CMAP_CLASSES_GET \
( GET_PIC( library )->tt_cmap_classes )
#define SFNT_SERVICE_SFNT_TABLE_GET \
@@ -102,12 +99,13 @@ FT_BEGIN_HEADER
FT_Error
sfnt_module_class_pic_init( FT_Library library );
+
+FT_END_HEADER
+
#endif /* FT_CONFIG_OPTION_PIC */
/* */
-FT_END_HEADER
-
#endif /* __SFNTPIC_H__ */
diff --git a/lib/freetype/src/sfnt/sfobjs.c b/lib/freetype/src/sfnt/sfobjs.c
index 40c27fa9a..14d3adef2 100644
--- a/lib/freetype/src/sfnt/sfobjs.c
+++ b/lib/freetype/src/sfnt/sfobjs.c
@@ -120,27 +120,9 @@
FT_Memory memory );
- /*************************************************************************/
- /* */
- /* <Function> */
- /* tt_face_get_name */
- /* */
- /* <Description> */
- /* Returns a given ENGLISH name record in ASCII. */
- /* */
- /* <Input> */
- /* face :: A handle to the source face object. */
- /* */
- /* nameid :: The name id of the name record to return. */
- /* */
- /* <InOut> */
- /* name :: The address of a string pointer. NULL if no name is */
- /* present. */
- /* */
- /* <Return> */
- /* FreeType error code. 0 means success. */
- /* */
- static FT_Error
+ /* documentation is in sfnt.h */
+
+ FT_LOCAL_DEF( FT_Error )
tt_face_get_name( TT_Face face,
FT_UShort nameid,
FT_String** name )
@@ -839,13 +821,14 @@
FT_LOCAL_DEF( FT_Error )
sfnt_init_face( FT_Stream stream,
TT_Face face,
- FT_Int face_index,
+ FT_Int face_instance_index,
FT_Int num_params,
FT_Parameter* params )
{
- FT_Error error;
- FT_Library library = face->root.driver->root.library;
- SFNT_Service sfnt;
+ FT_Error error;
+ FT_Library library = face->root.driver->root.library;
+ SFNT_Service sfnt;
+ FT_Int face_index;
/* for now, parameters are unused */
@@ -878,22 +861,65 @@
/* Stream may have changed in sfnt_open_font. */
stream = face->root.stream;
- FT_TRACE2(( "sfnt_init_face: %08p, %ld\n", face, face_index ));
+ FT_TRACE2(( "sfnt_init_face: %08p, %ld\n", face, face_instance_index ));
- if ( face_index < 0 )
- face_index = 0;
+ face_index = FT_ABS( face_instance_index ) & 0xFFFF;
if ( face_index >= face->ttc_header.count )
- return FT_THROW( Invalid_Argument );
+ {
+ if ( face_instance_index >= 0 )
+ return FT_THROW( Invalid_Argument );
+ else
+ face_index = 0;
+ }
if ( FT_STREAM_SEEK( face->ttc_header.offsets[face_index] ) )
return error;
- /* check that we have a valid TrueType file */
+ /* check whether we have a valid TrueType file */
error = sfnt->load_font_dir( face, stream );
if ( error )
return error;
+#ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT
+ {
+ FT_ULong fvar_len;
+ FT_UShort num_instances;
+ FT_Int instance_index;
+
+
+ instance_index = FT_ABS( face_instance_index ) >> 16;
+
+ /* test whether current face is a GX font with named instances */
+ if ( face->goto_table( face, TTAG_fvar, stream, &fvar_len ) ||
+ fvar_len < 20 ||
+ FT_STREAM_SKIP( 12 ) ||
+ FT_READ_USHORT( num_instances ) )
+ num_instances = 0;
+
+ /* we support at most 2^15 - 1 instances */
+ if ( num_instances >= ( 1U << 15 ) - 1 )
+ {
+ if ( face_instance_index >= 0 )
+ return FT_THROW( Invalid_Argument );
+ else
+ num_instances = 0;
+ }
+
+ /* instance indices in `face_instance_index' start with index 1, */
+ /* thus `>' and not `>=' */
+ if ( instance_index > num_instances )
+ {
+ if ( face_instance_index >= 0 )
+ return FT_THROW( Invalid_Argument );
+ else
+ num_instances = 0;
+ }
+
+ face->root.style_flags = (FT_Long)num_instances << 16;
+ }
+#endif
+
face->root.num_faces = face->ttc_header.count;
face->root.face_index = face_index;
@@ -946,7 +972,7 @@
FT_LOCAL_DEF( FT_Error )
sfnt_load_face( FT_Stream stream,
TT_Face face,
- FT_Int face_index,
+ FT_Int face_instance_index,
FT_Int num_params,
FT_Parameter* params )
{
@@ -962,7 +988,7 @@
SFNT_Service sfnt = (SFNT_Service)face->sfnt;
- FT_UNUSED( face_index );
+ FT_UNUSED( face_instance_index );
/* Check parameters */
@@ -1284,7 +1310,7 @@
flags |= FT_STYLE_FLAG_ITALIC;
}
- root->style_flags = flags;
+ root->style_flags |= flags;
/*********************************************************************/
/* */
diff --git a/lib/freetype/src/sfnt/sfobjs.h b/lib/freetype/src/sfnt/sfobjs.h
index 77c7d92c3..455f86772 100644
--- a/lib/freetype/src/sfnt/sfobjs.h
+++ b/lib/freetype/src/sfnt/sfobjs.h
@@ -31,20 +31,25 @@ FT_BEGIN_HEADER
FT_LOCAL( FT_Error )
sfnt_init_face( FT_Stream stream,
TT_Face face,
- FT_Int face_index,
+ FT_Int face_instance_index,
FT_Int num_params,
FT_Parameter* params );
FT_LOCAL( FT_Error )
sfnt_load_face( FT_Stream stream,
TT_Face face,
- FT_Int face_index,
+ FT_Int face_instance_index,
FT_Int num_params,
FT_Parameter* params );
FT_LOCAL( void )
sfnt_done_face( TT_Face face );
+ FT_LOCAL( FT_Error )
+ tt_face_get_name( TT_Face face,
+ FT_UShort nameid,
+ FT_String** name );
+
FT_END_HEADER
diff --git a/lib/freetype/src/sfnt/ttcmap.c b/lib/freetype/src/sfnt/ttcmap.c
index 815ee7c4e..c4d9abdfe 100644
--- a/lib/freetype/src/sfnt/ttcmap.c
+++ b/lib/freetype/src/sfnt/ttcmap.c
@@ -51,6 +51,13 @@
#define TT_NEXT_ULONG FT_NEXT_ULONG
+ /* Too large glyph index return values are caught in `FT_Get_Char_Index' */
+ /* and `FT_Get_Next_Char' (the latter calls the internal `next' function */
+ /* again in this case). To mark character code return values as invalid */
+ /* it is sufficient to set the corresponding glyph index return value to */
+ /* zero. */
+
+
FT_CALLBACK_DEF( FT_Error )
tt_cmap_init( TT_CMap cmap,
FT_Byte* table )
@@ -199,7 +206,7 @@
/***** FORMAT 2 *****/
/***** *****/
/***** This is used for certain CJK encodings that encode text in a *****/
- /***** mixed 8/16 bits encoding along the following lines: *****/
+ /***** mixed 8/16 bits encoding along the following lines. *****/
/***** *****/
/***** * Certain byte values correspond to an 8-bit character code *****/
/***** (typically in the range 0..127 for ASCII compatibility). *****/
@@ -209,19 +216,19 @@
/***** second byte of a 2-byte character). *****/
/***** *****/
/***** The following charmap lookup and iteration functions all *****/
- /***** assume that the value "charcode" correspond to following: *****/
+ /***** assume that the value `charcode' fulfills the following. *****/
/***** *****/
- /***** - For one byte characters, "charcode" is simply the *****/
+ /***** - For one byte characters, `charcode' is simply the *****/
/***** character code. *****/
/***** *****/
- /***** - For two byte characters, "charcode" is the 2-byte *****/
- /***** character code in big endian format. More exactly: *****/
+ /***** - For two byte characters, `charcode' is the 2-byte *****/
+ /***** character code in big endian format. More precisely: *****/
/***** *****/
/***** (charcode >> 8) is the first byte value *****/
/***** (charcode & 0xFF) is the second byte value *****/
/***** *****/
- /***** Note that not all values of "charcode" are valid according *****/
- /***** to these rules, and the function moderately check the *****/
+ /***** Note that not all values of `charcode' are valid according *****/
+ /***** to these rules, and the function moderately checks the *****/
/***** arguments. *****/
/***** *****/
/*************************************************************************/
@@ -249,7 +256,7 @@
/* table, i.e., it is the corresponding sub-header index multiplied */
/* by 8. */
/* */
- /* Each sub-header has the following format: */
+ /* Each sub-header has the following format. */
/* */
/* NAME OFFSET TYPE DESCRIPTION */
/* */
@@ -264,11 +271,11 @@
/* according to the specification. */
/* */
/* If a character code is contained within a given sub-header, then */
- /* mapping it to a glyph index is done as follows: */
+ /* mapping it to a glyph index is done as follows. */
/* */
/* * The value of `offset' is read. This is a _byte_ distance from the */
/* location of the `offset' field itself into a slice of the */
- /* `glyph_ids' table. Let's call it `slice' (it is a USHORT[] too). */
+ /* `glyph_ids' table. Let's call it `slice' (it is a USHORT[], too). */
/* */
/* * The value `slice[char.lo - first]' is read. If it is 0, there is */
/* no glyph for the charcode. Otherwise, the value of `delta' is */
@@ -326,7 +333,7 @@
FT_ASSERT( p == table + 518 );
subs = p;
- glyph_ids = subs + (max_subs + 1) * 8;
+ glyph_ids = subs + ( max_subs + 1 ) * 8;
if ( glyph_ids > valid->limit )
FT_INVALID_TOO_SHORT;
@@ -436,6 +443,7 @@
}
result = sub;
}
+
Exit:
return result;
}
@@ -475,6 +483,7 @@
result = (FT_UInt)( (FT_Int)idx + delta ) & 0xFFFFU;
}
}
+
return result;
}
@@ -973,7 +982,7 @@
/* segment if it contains only a single character. */
/* */
/* We thus omit the test here, delaying it to the */
- /* routines which actually access the cmap. */
+ /* routines that actually access the cmap. */
else if ( n != num_segs - 1 ||
!( start == 0xFFFFU && end == 0xFFFFU ) )
{
@@ -1026,12 +1035,17 @@
FT_UInt32* pcharcode,
FT_Bool next )
{
+ TT_Face face = (TT_Face)cmap->cmap.charmap.face;
+ FT_Byte* limit = face->cmap_table + face->cmap_size;
+
+
FT_UInt num_segs2, start, end, offset;
FT_Int delta;
FT_UInt i, num_segs;
FT_UInt32 charcode = *pcharcode;
FT_UInt gindex = 0;
FT_Byte* p;
+ FT_Byte* q;
p = cmap->data + 6;
@@ -1045,65 +1059,106 @@
if ( next )
charcode++;
+ if ( charcode > 0xFFFFU )
+ return 0;
+
/* linear search */
- for ( ; charcode <= 0xFFFFU; charcode++ )
- {
- FT_Byte* q;
+ p = cmap->data + 14; /* ends table */
+ q = cmap->data + 16 + num_segs2; /* starts table */
+ for ( i = 0; i < num_segs; i++ )
+ {
+ end = TT_NEXT_USHORT( p );
+ start = TT_NEXT_USHORT( q );
- p = cmap->data + 14; /* ends table */
- q = cmap->data + 16 + num_segs2; /* starts table */
+ if ( charcode < start )
+ {
+ if ( next )
+ charcode = start;
+ else
+ break;
+ }
- for ( i = 0; i < num_segs; i++ )
+ Again:
+ if ( charcode <= end )
{
- end = TT_NEXT_USHORT( p );
- start = TT_NEXT_USHORT( q );
+ FT_Byte* r;
- if ( charcode >= start && charcode <= end )
+
+ r = q - 2 + num_segs2;
+ delta = TT_PEEK_SHORT( r );
+ r += num_segs2;
+ offset = TT_PEEK_USHORT( r );
+
+ /* some fonts have an incorrect last segment; */
+ /* we have to catch it */
+ if ( i >= num_segs - 1 &&
+ start == 0xFFFFU && end == 0xFFFFU )
{
- p = q - 2 + num_segs2;
- delta = TT_PEEK_SHORT( p );
- p += num_segs2;
- offset = TT_PEEK_USHORT( p );
-
- /* some fonts have an incorrect last segment; */
- /* we have to catch it */
- if ( i >= num_segs - 1 &&
- start == 0xFFFFU && end == 0xFFFFU )
+ if ( offset && r + offset + 2 > limit )
{
- TT_Face face = (TT_Face)cmap->cmap.charmap.face;
- FT_Byte* limit = face->cmap_table + face->cmap_size;
+ delta = 1;
+ offset = 0;
+ }
+ }
+ if ( offset == 0xFFFFU )
+ continue;
- if ( offset && p + offset + 2 > limit )
- {
- delta = 1;
- offset = 0;
- }
- }
+ if ( offset )
+ {
+ r += offset + ( charcode - start ) * 2;
- if ( offset == 0xFFFFU )
+ /* if r > limit, the whole segment is invalid */
+ if ( next && r > limit )
continue;
- if ( offset )
+ gindex = TT_PEEK_USHORT( r );
+ if ( gindex )
{
- p += offset + ( charcode - start ) * 2;
- gindex = TT_PEEK_USHORT( p );
- if ( gindex != 0 )
- gindex = (FT_UInt)( (FT_Int)gindex + delta ) & 0xFFFFU;
+ gindex = (FT_UInt)( (FT_Int)gindex + delta ) & 0xFFFFU;
+ if ( gindex >= (FT_UInt)face->root.num_glyphs )
+ gindex = 0;
}
- else
- gindex = (FT_UInt)( (FT_Int)charcode + delta ) & 0xFFFFU;
+ }
+ else
+ {
+ gindex = (FT_UInt)( (FT_Int)charcode + delta ) & 0xFFFFU;
- break;
+ if ( next && gindex >= (FT_UInt)face->root.num_glyphs )
+ {
+ /* we have an invalid glyph index; if there is an overflow, */
+ /* we can adjust `charcode', otherwise the whole segment is */
+ /* invalid */
+ gindex = 0;
+
+ if ( (FT_Int)charcode + delta < 0 &&
+ (FT_Int)end + delta >= 0 )
+ charcode = (FT_UInt)( -delta );
+
+ else if ( (FT_Int)charcode + delta < 0x10000L &&
+ (FT_Int)end + delta >= 0x10000L )
+ charcode = (FT_UInt)( 0x10000L - delta );
+
+ else
+ continue;
+ }
+ }
+
+ if ( next && !gindex )
+ {
+ if ( charcode >= 0xFFFFU )
+ break;
+
+ charcode++;
+ goto Again;
}
- }
- if ( !next || gindex )
break;
+ }
}
- if ( next && gindex )
+ if ( next )
*pcharcode = charcode;
return gindex;
@@ -1310,7 +1365,6 @@
/* if `charcode' is not in any segment, then `mid' is */
/* the segment nearest to `charcode' */
- /* */
if ( charcode > end )
{
@@ -1443,7 +1497,7 @@
/* */
/* NAME OFFSET TYPE DESCRIPTION */
/* */
- /* format 0 USHORT must be 4 */
+ /* format 0 USHORT must be 6 */
/* length 2 USHORT table length in bytes */
/* language 4 USHORT Mac language code */
/* */
@@ -1511,6 +1565,7 @@
p += 2 * idx;
result = TT_PEEK_USHORT( p );
}
+
return result;
}
@@ -1531,7 +1586,7 @@
if ( char_code >= 0x10000UL )
- goto Exit;
+ return 0;
if ( char_code < start )
char_code = start;
@@ -1547,10 +1602,13 @@
result = char_code;
break;
}
+
+ if ( char_code >= 0xFFFFU )
+ return 0;
+
char_code++;
}
- Exit:
*pchar_code = result;
return gindex;
}
@@ -1602,7 +1660,7 @@
/***** *****/
/***** The purpose of this format is to easily map UTF-16 text to *****/
/***** glyph indices. Basically, the `char_code' must be in one of *****/
- /***** the following formats: *****/
+ /***** the following formats. *****/
/***** *****/
/***** - A 16-bit value that isn't part of the Unicode Surrogates *****/
/***** Area (i.e. U+D800-U+DFFF). *****/
@@ -1615,7 +1673,7 @@
/***** The `is32' table embedded in the charmap indicates whether a *****/
/***** given 16-bit value is in the surrogates area or not. *****/
/***** *****/
- /***** So, for any given `char_code', we can assert the following: *****/
+ /***** So, for any given `char_code', we can assert the following. *****/
/***** *****/
/***** If `char_hi == 0' then we must have `is32[char_lo] == 0'. *****/
/***** *****/
@@ -1770,7 +1828,10 @@
if ( char_code <= end )
{
- result = (FT_UInt)( start_id + char_code - start );
+ if ( start_id > 0xFFFFFFFFUL - ( char_code - start ) )
+ return 0;
+
+ result = (FT_UInt)( start_id + ( char_code - start ) );
break;
}
}
@@ -1782,8 +1843,9 @@
tt_cmap8_char_next( TT_CMap cmap,
FT_UInt32 *pchar_code )
{
+ FT_Face face = cmap->cmap.charmap.face;
FT_UInt32 result = 0;
- FT_UInt32 char_code = *pchar_code + 1;
+ FT_UInt32 char_code;
FT_UInt gindex = 0;
FT_Byte* table = cmap->data;
FT_Byte* p = table + 8204;
@@ -1791,6 +1853,11 @@
FT_UInt32 start, end, start_id;
+ if ( *pchar_code >= 0xFFFFFFFFUL )
+ return 0;
+
+ char_code = *pchar_code + 1;
+
p = table + 8208;
for ( ; num_groups > 0; num_groups-- )
@@ -1802,18 +1869,35 @@
if ( char_code < start )
char_code = start;
+ Again:
if ( char_code <= end )
{
- gindex = (FT_UInt)( char_code - start + start_id );
- if ( gindex != 0 )
+ /* ignore invalid group */
+ if ( start_id > 0xFFFFFFFFUL - ( char_code - start ) )
+ continue;
+
+ gindex = (FT_UInt)( start_id + ( char_code - start ) );
+
+ /* does first element of group point to `.notdef' glyph? */
+ if ( gindex == 0 )
{
- result = char_code;
- goto Exit;
+ if ( char_code >= 0xFFFFFFFFUL )
+ break;
+
+ char_code++;
+ goto Again;
}
+
+ /* if `gindex' is invalid, the remaining values */
+ /* in this group are invalid, too */
+ if ( gindex >= (FT_UInt)face->num_glyphs )
+ continue;
+
+ result = char_code;
+ break;
}
}
- Exit:
*pchar_code = result;
return gindex;
}
@@ -1930,14 +2014,20 @@
FT_Byte* p = table + 12;
FT_UInt32 start = TT_NEXT_ULONG( p );
FT_UInt32 count = TT_NEXT_ULONG( p );
- FT_UInt32 idx = (FT_ULong)( char_code - start );
+ FT_UInt32 idx;
+ if ( char_code < start )
+ return 0;
+
+ idx = char_code - start;
+
if ( idx < count )
{
p += 2 * idx;
result = TT_PEEK_USHORT( p );
}
+
return result;
}
@@ -1947,7 +2037,7 @@
FT_UInt32 *pchar_code )
{
FT_Byte* table = cmap->data;
- FT_UInt32 char_code = *pchar_code + 1;
+ FT_UInt32 char_code;
FT_UInt gindex = 0;
FT_Byte* p = table + 12;
FT_UInt32 start = TT_NEXT_ULONG( p );
@@ -1955,10 +2045,15 @@
FT_UInt32 idx;
+ if ( *pchar_code >= 0xFFFFFFFFUL )
+ return 0;
+
+ char_code = *pchar_code + 1;
+
if ( char_code < start )
char_code = start;
- idx = (FT_UInt32)( char_code - start );
+ idx = char_code - start;
p += 2 * idx;
for ( ; idx < count; idx++ )
@@ -1966,6 +2061,10 @@
gindex = TT_NEXT_USHORT( p );
if ( gindex != 0 )
break;
+
+ if ( char_code >= 0xFFFFFFFFUL )
+ return 0;
+
char_code++;
}
@@ -2134,6 +2233,7 @@
static void
tt_cmap12_next( TT_CMap12 cmap )
{
+ FT_Face face = cmap->cmap.cmap.charmap.face;
FT_Byte* p;
FT_ULong start, end, start_id, char_code;
FT_ULong n;
@@ -2155,18 +2255,35 @@
if ( char_code < start )
char_code = start;
- for ( ; char_code <= end; char_code++ )
+ Again:
+ if ( char_code <= end )
{
- gindex = (FT_UInt)( start_id + char_code - start );
+ /* ignore invalid group */
+ if ( start_id > 0xFFFFFFFFUL - ( char_code - start ) )
+ continue;
- if ( gindex )
+ gindex = (FT_UInt)( start_id + ( char_code - start ) );
+
+ /* does first element of group point to `.notdef' glyph? */
+ if ( gindex == 0 )
{
- cmap->cur_charcode = char_code;;
- cmap->cur_gindex = gindex;
- cmap->cur_group = n;
+ if ( char_code >= 0xFFFFFFFFUL )
+ goto Fail;
- return;
+ char_code++;
+ goto Again;
}
+
+ /* if `gindex' is invalid, the remaining values */
+ /* in this group are invalid, too */
+ if ( gindex >= (FT_UInt)face->num_glyphs )
+ continue;
+
+ cmap->cur_charcode = char_code;
+ cmap->cur_gindex = gindex;
+ cmap->cur_group = n;
+
+ return;
}
}
@@ -2196,7 +2313,12 @@
end = 0xFFFFFFFFUL;
if ( next )
+ {
+ if ( char_code >= 0xFFFFFFFFUL )
+ return 0;
+
char_code++;
+ }
min = 0;
max = num_groups;
@@ -2217,20 +2339,24 @@
else
{
start_id = TT_PEEK_ULONG( p );
- gindex = (FT_UInt)( start_id + char_code - start );
+ /* reject invalid glyph index */
+ if ( start_id > 0xFFFFFFFFUL - ( char_code - start ) )
+ gindex = 0;
+ else
+ gindex = (FT_UInt)( start_id + ( char_code - start ) );
break;
}
}
if ( next )
{
+ FT_Face face = cmap->cmap.charmap.face;
TT_CMap12 cmap12 = (TT_CMap12)cmap;
/* if `char_code' is not in any group, then `mid' is */
/* the group nearest to `char_code' */
- /* */
if ( char_code > end )
{
@@ -2243,6 +2369,9 @@
cmap12->cur_charcode = char_code;
cmap12->cur_group = mid;
+ if ( gindex >= (FT_UInt)face->num_glyphs )
+ gindex = 0;
+
if ( !gindex )
{
tt_cmap12_next( cmap12 );
@@ -2253,8 +2382,7 @@
else
cmap12->cur_gindex = gindex;
- if ( gindex )
- *pchar_code = cmap12->cur_charcode;
+ *pchar_code = cmap12->cur_charcode;
}
return gindex;
@@ -2274,11 +2402,8 @@
FT_UInt32 *pchar_code )
{
TT_CMap12 cmap12 = (TT_CMap12)cmap;
- FT_ULong gindex;
-
+ FT_UInt gindex;
- if ( cmap12->cur_charcode >= 0xFFFFFFFFUL )
- return 0;
/* no need to search */
if ( cmap12->valid && cmap12->cur_charcode == *pchar_code )
@@ -2286,11 +2411,8 @@
tt_cmap12_next( cmap12 );
if ( cmap12->valid )
{
- gindex = cmap12->cur_gindex;
-
- /* XXX: check cur_charcode overflow is expected */
- if ( gindex )
- *pchar_code = (FT_UInt32)cmap12->cur_charcode;
+ gindex = cmap12->cur_gindex;
+ *pchar_code = (FT_UInt32)cmap12->cur_charcode;
}
else
gindex = 0;
@@ -2298,8 +2420,7 @@
else
gindex = tt_cmap12_char_map_binary( cmap, pchar_code, 1 );
- /* XXX: check gindex overflow is expected */
- return (FT_UInt32)gindex;
+ return gindex;
}
@@ -2458,6 +2579,7 @@
static void
tt_cmap13_next( TT_CMap13 cmap )
{
+ FT_Face face = cmap->cmap.cmap.charmap.face;
FT_Byte* p;
FT_ULong start, end, glyph_id, char_code;
FT_ULong n;
@@ -2483,9 +2605,9 @@
{
gindex = (FT_UInt)glyph_id;
- if ( gindex )
+ if ( gindex && gindex < (FT_UInt)face->num_glyphs )
{
- cmap->cur_charcode = char_code;;
+ cmap->cur_charcode = char_code;
cmap->cur_gindex = gindex;
cmap->cur_group = n;
@@ -2520,7 +2642,12 @@
end = 0xFFFFFFFFUL;
if ( next )
+ {
+ if ( char_code >= 0xFFFFFFFFUL )
+ return 0;
+
char_code++;
+ }
min = 0;
max = num_groups;
@@ -2548,6 +2675,7 @@
if ( next )
{
+ FT_Face face = cmap->cmap.charmap.face;
TT_CMap13 cmap13 = (TT_CMap13)cmap;
@@ -2565,6 +2693,9 @@
cmap13->cur_charcode = char_code;
cmap13->cur_group = mid;
+ if ( gindex >= (FT_UInt)face->num_glyphs )
+ gindex = 0;
+
if ( !gindex )
{
tt_cmap13_next( cmap13 );
@@ -2575,8 +2706,7 @@
else
cmap13->cur_gindex = gindex;
- if ( gindex )
- *pchar_code = cmap13->cur_charcode;
+ *pchar_code = cmap13->cur_charcode;
}
return gindex;
@@ -2599,18 +2729,14 @@
FT_UInt gindex;
- if ( cmap13->cur_charcode >= 0xFFFFFFFFUL )
- return 0;
-
/* no need to search */
if ( cmap13->valid && cmap13->cur_charcode == *pchar_code )
{
tt_cmap13_next( cmap13 );
if ( cmap13->valid )
{
- gindex = cmap13->cur_gindex;
- if ( gindex )
- *pchar_code = cmap13->cur_charcode;
+ gindex = cmap13->cur_gindex;
+ *pchar_code = cmap13->cur_charcode;
}
else
gindex = 0;
diff --git a/lib/freetype/src/sfnt/ttload.c b/lib/freetype/src/sfnt/ttload.c
index ad2975de0..c1bd7f0c8 100644
--- a/lib/freetype/src/sfnt/ttload.c
+++ b/lib/freetype/src/sfnt/ttload.c
@@ -151,7 +151,8 @@
/* Here, we */
/* */
- /* - check that `num_tables' is valid (and adjust it if necessary) */
+ /* - check that `num_tables' is valid (and adjust it if necessary); */
+ /* also return the number of valid table entries */
/* */
/* - look for a `head' table, check its size, and parse it to check */
/* whether its `magic' field is correctly set */
@@ -167,7 +168,8 @@
/* */
static FT_Error
check_table_dir( SFNT_Header sfnt,
- FT_Stream stream )
+ FT_Stream stream,
+ FT_UShort* valid )
{
FT_Error error;
FT_UShort nn, valid_entries = 0;
@@ -209,7 +211,10 @@
/* we ignore invalid tables */
if ( table.Offset > stream->size )
+ {
+ FT_TRACE2(( "check_table_dir: table entry %d invalid\n", nn ));
continue;
+ }
else if ( table.Length > stream->size - table.Offset )
{
/* Some tables have such a simple structure that clipping its */
@@ -273,11 +278,11 @@
has_meta = 1;
}
- sfnt->num_tables = valid_entries;
+ *valid = valid_entries;
- if ( sfnt->num_tables == 0 )
+ if ( !valid_entries )
{
- FT_TRACE2(( "check_table_dir: no tables found\n" ));
+ FT_TRACE2(( "check_table_dir: no valid tables found\n" ));
error = FT_THROW( Unknown_File_Format );
goto Exit;
}
@@ -333,8 +338,7 @@
SFNT_HeaderRec sfnt;
FT_Error error;
FT_Memory memory = stream->memory;
- TT_TableRec* entry;
- FT_Int nn;
+ FT_UShort nn, valid_entries;
static const FT_Frame_Field offset_table_fields[] =
{
@@ -375,85 +379,114 @@
if ( sfnt.format_tag != TTAG_OTTO )
{
/* check first */
- error = check_table_dir( &sfnt, stream );
+ error = check_table_dir( &sfnt, stream, &valid_entries );
if ( error )
{
FT_TRACE2(( "tt_face_load_font_dir:"
" invalid table directory for TrueType\n" ));
-
goto Exit;
}
}
+ else
+ valid_entries = sfnt.num_tables;
- face->num_tables = sfnt.num_tables;
+ face->num_tables = valid_entries;
face->format_tag = sfnt.format_tag;
if ( FT_QNEW_ARRAY( face->dir_tables, face->num_tables ) )
goto Exit;
- if ( FT_STREAM_SEEK( sfnt.offset + 12 ) ||
- FT_FRAME_ENTER( face->num_tables * 16L ) )
+ if ( FT_STREAM_SEEK( sfnt.offset + 12 ) ||
+ FT_FRAME_ENTER( sfnt.num_tables * 16L ) )
goto Exit;
- entry = face->dir_tables;
-
FT_TRACE2(( "\n"
" tag offset length checksum\n"
" ----------------------------------\n" ));
+ valid_entries = 0;
for ( nn = 0; nn < sfnt.num_tables; nn++ )
{
- entry->Tag = FT_GET_TAG4();
- entry->CheckSum = FT_GET_ULONG();
- entry->Offset = FT_GET_ULONG();
- entry->Length = FT_GET_ULONG();
+ TT_TableRec entry;
+ FT_UShort i;
+ FT_Bool duplicate;
+
+
+ entry.Tag = FT_GET_TAG4();
+ entry.CheckSum = FT_GET_ULONG();
+ entry.Offset = FT_GET_ULONG();
+ entry.Length = FT_GET_ULONG();
/* ignore invalid tables that can't be sanitized */
- if ( entry->Offset > stream->size )
+ if ( entry.Offset > stream->size )
continue;
- else if ( entry->Length > stream->size - entry->Offset )
+ else if ( entry.Length > stream->size - entry.Offset )
{
- if ( entry->Tag == TTAG_hmtx ||
- entry->Tag == TTAG_vmtx )
+ if ( entry.Tag == TTAG_hmtx ||
+ entry.Tag == TTAG_vmtx )
{
#ifdef FT_DEBUG_LEVEL_TRACE
- FT_ULong old_length = entry->Length;
+ FT_ULong old_length = entry.Length;
#endif
/* make metrics table length a multiple of 4 */
- entry->Length = ( stream->size - entry->Offset ) & ~3U;
+ entry.Length = ( stream->size - entry.Offset ) & ~3U;
FT_TRACE2(( " %c%c%c%c %08lx %08lx %08lx"
- " (sanitized; original length %08lx)\n",
- (FT_Char)( entry->Tag >> 24 ),
- (FT_Char)( entry->Tag >> 16 ),
- (FT_Char)( entry->Tag >> 8 ),
- (FT_Char)( entry->Tag ),
- entry->Offset,
- entry->Length,
- entry->CheckSum,
+ " (sanitized; original length %08lx)",
+ (FT_Char)( entry.Tag >> 24 ),
+ (FT_Char)( entry.Tag >> 16 ),
+ (FT_Char)( entry.Tag >> 8 ),
+ (FT_Char)( entry.Tag ),
+ entry.Offset,
+ entry.Length,
+ entry.CheckSum,
old_length ));
- entry++;
}
else
continue;
}
+#ifdef FT_DEBUG_LEVEL_TRACE
+ else
+ FT_TRACE2(( " %c%c%c%c %08lx %08lx %08lx",
+ (FT_Char)( entry.Tag >> 24 ),
+ (FT_Char)( entry.Tag >> 16 ),
+ (FT_Char)( entry.Tag >> 8 ),
+ (FT_Char)( entry.Tag ),
+ entry.Offset,
+ entry.Length,
+ entry.CheckSum ));
+#endif
+
+ /* ignore duplicate tables – the first one wins */
+ duplicate = 0;
+ for ( i = 0; i < valid_entries; i++ )
+ {
+ if ( face->dir_tables[i].Tag == entry.Tag )
+ {
+ duplicate = 1;
+ break;
+ }
+ }
+ if ( duplicate )
+ {
+ FT_TRACE2(( " (duplicate, ignored)\n" ));
+ continue;
+ }
else
{
- FT_TRACE2(( " %c%c%c%c %08lx %08lx %08lx\n",
- (FT_Char)( entry->Tag >> 24 ),
- (FT_Char)( entry->Tag >> 16 ),
- (FT_Char)( entry->Tag >> 8 ),
- (FT_Char)( entry->Tag ),
- entry->Offset,
- entry->Length,
- entry->CheckSum ));
- entry++;
+ FT_TRACE2(( "\n" ));
+
+ /* we finally have a valid entry */
+ face->dir_tables[valid_entries++] = entry;
}
}
+ /* final adjustment to number of tables */
+ face->num_tables = valid_entries;
+
FT_FRAME_EXIT();
FT_TRACE2(( "table directory loaded\n\n" ));
diff --git a/lib/freetype/src/sfnt/ttsbit.c b/lib/freetype/src/sfnt/ttsbit.c
index 143f276d3..3b351ecfc 100644
--- a/lib/freetype/src/sfnt/ttsbit.c
+++ b/lib/freetype/src/sfnt/ttsbit.c
@@ -254,15 +254,15 @@
metrics->x_ppem = (FT_UShort)strike[44];
metrics->y_ppem = (FT_UShort)strike[45];
- metrics->ascender = (FT_Char)strike[16] << 6; /* hori.ascender */
- metrics->descender = (FT_Char)strike[17] << 6; /* hori.descender */
+ metrics->ascender = (FT_Char)strike[16] * 64; /* hori.ascender */
+ metrics->descender = (FT_Char)strike[17] * 64; /* hori.descender */
metrics->height = metrics->ascender - metrics->descender;
/* Is this correct? */
metrics->max_advance = ( (FT_Char)strike[22] + /* min_origin_SB */
strike[18] + /* max_width */
(FT_Char)strike[23] /* min_advance_SB */
- ) << 6;
+ ) * 64;
return FT_Err_Ok;
}
diff --git a/lib/freetype/src/smooth/Jamfile b/lib/freetype/src/smooth/Jamfile
index 73b29d6bc..b1887c2c6 100644
--- a/lib/freetype/src/smooth/Jamfile
+++ b/lib/freetype/src/smooth/Jamfile
@@ -16,7 +16,10 @@ SubDir FT2_TOP $(FT2_SRC_DIR) smooth ;
if $(FT2_MULTI)
{
- _sources = ftgrays ftsmooth ftspic ;
+ _sources = ftgrays
+ ftsmooth
+ ftspic
+ ;
}
else
{
diff --git a/lib/freetype/src/smooth/ftgrays.c b/lib/freetype/src/smooth/ftgrays.c
index 77b58f25f..ba2944559 100644
--- a/lib/freetype/src/smooth/ftgrays.c
+++ b/lib/freetype/src/smooth/ftgrays.c
@@ -24,8 +24,8 @@
/* */
/* - copy `src/smooth/ftgrays.c' (this file) to your current directory */
/* */
- /* - copy `include/ftimage.h' and `src/smooth/ftgrays.h' to the same */
- /* directory */
+ /* - copy `include/freetype/ftimage.h' and `src/smooth/ftgrays.h' to the */
+ /* same directory */
/* */
/* - compile `ftgrays' with the _STANDALONE_ macro defined, as in */
/* */
@@ -317,7 +317,6 @@ typedef ptrdiff_t FT_PtrDist;
#undef SCALED
#define ONE_PIXEL ( 1L << PIXEL_BITS )
-#define PIXEL_MASK ( -1L << PIXEL_BITS )
#define TRUNC( x ) ( (TCoord)( (x) >> PIXEL_BITS ) )
#define SUBPIXELS( x ) ( (TPos)(x) << PIXEL_BITS )
#define FLOOR( x ) ( (x) & -ONE_PIXEL )
@@ -440,11 +439,8 @@ typedef ptrdiff_t FT_PtrDist;
FT_PtrDist max_cells;
FT_PtrDist num_cells;
- TCoord cx, cy;
TPos x, y;
- TPos last_ey;
-
FT_Vector bez_stack[32 * 3 + 1];
int lev_stack[32];
@@ -677,7 +673,6 @@ typedef ptrdiff_t FT_PtrDist;
ras.cover = 0;
ras.ex = ex - ras.min_ex;
ras.ey = ey - ras.min_ey;
- ras.last_ey = SUBPIXELS( ey );
ras.invalid = 0;
gray_set_cell( RAS_VAR_ ex, ey );
@@ -758,7 +753,7 @@ typedef ptrdiff_t FT_PtrDist;
mod -= (int)dx;
- while ( ex1 != ex2 )
+ do
{
delta = lift;
mod += rem;
@@ -773,7 +768,7 @@ typedef ptrdiff_t FT_PtrDist;
y1 += delta;
ex1 += incr;
gray_set_cell( RAS_VAR_ ex1, ey );
- }
+ } while ( ex1 != ex2 );
}
delta = y2 - y1;
@@ -796,29 +791,18 @@ typedef ptrdiff_t FT_PtrDist;
int delta, rem, lift, incr;
- ey1 = TRUNC( ras.last_ey );
+ ey1 = TRUNC( ras.y );
ey2 = TRUNC( to_y ); /* if (ey2 >= ras.max_ey) ey2 = ras.max_ey-1; */
- fy1 = (TCoord)( ras.y - ras.last_ey );
+ fy1 = (TCoord)( ras.y - SUBPIXELS( ey1 ) );
fy2 = (TCoord)( to_y - SUBPIXELS( ey2 ) );
dx = to_x - ras.x;
dy = to_y - ras.y;
/* perform vertical clipping */
- {
- TCoord min, max;
-
-
- min = ey1;
- max = ey2;
- if ( ey1 > ey2 )
- {
- min = ey2;
- max = ey1;
- }
- if ( min >= ras.max_ey || max < ras.min_ey )
- goto End;
- }
+ if ( ( ey1 >= ras.max_ey && ey2 >= ras.max_ey ) ||
+ ( ey1 < ras.min_ey && ey2 < ras.min_ey ) )
+ goto End;
/* everything is on a single scanline */
if ( ey1 == ey2 )
@@ -896,7 +880,7 @@ typedef ptrdiff_t FT_PtrDist;
FT_DIV_MOD( int, p, dy, lift, rem );
mod -= (int)dy;
- while ( ey1 != ey2 )
+ do
{
delta = lift;
mod += rem;
@@ -914,7 +898,7 @@ typedef ptrdiff_t FT_PtrDist;
ey1 += incr;
gray_set_cell( RAS_VAR_ TRUNC( x ), ey1 );
- }
+ } while ( ey1 != ey2 );
}
gray_render_scanline( RAS_VAR_ ey1, x,
@@ -924,7 +908,6 @@ typedef ptrdiff_t FT_PtrDist;
End:
ras.x = to_x;
ras.y = to_y;
- ras.last_ey = SUBPIXELS( ey2 );
}
@@ -1847,7 +1830,7 @@ typedef ptrdiff_t FT_PtrDist;
bands[0].max = max;
band = bands;
- while ( band >= bands )
+ do
{
TPos bottom, top, middle;
int error;
@@ -1923,7 +1906,7 @@ typedef ptrdiff_t FT_PtrDist;
band[0].min = middle;
band[0].max = top;
band++;
- }
+ } while ( band >= bands );
}
if ( ras.band_shoot > 8 && ras.band_size > 16 )
diff --git a/lib/freetype/src/smooth/ftspic.h b/lib/freetype/src/smooth/ftspic.h
index 99b9f0ed3..071afcff2 100644
--- a/lib/freetype/src/smooth/ftspic.h
+++ b/lib/freetype/src/smooth/ftspic.h
@@ -20,10 +20,11 @@
#define __FTSPIC_H__
-FT_BEGIN_HEADER
-
#include FT_INTERNAL_PIC_H
+
+FT_BEGIN_HEADER
+
#ifndef FT_CONFIG_OPTION_PIC
#define FT_GRAYS_RASTER_GET ft_grays_raster
diff --git a/lib/freetype/src/tools/chktrcmp.py b/lib/freetype/src/tools/chktrcmp.py
index ce6500c7e..4c40bdafd 100644
--- a/lib/freetype/src/tools/chktrcmp.py
+++ b/lib/freetype/src/tools/chktrcmp.py
@@ -15,7 +15,7 @@ USED_COMPONENT = {}
KNOWN_COMPONENT = {}
SRC_FILE_DIRS = [ "src" ]
-TRACE_DEF_FILES = [ "include/internal/fttrace.h" ]
+TRACE_DEF_FILES = [ "include/freetype/internal/fttrace.h" ]
# --------------------------------------------------------------
diff --git a/lib/freetype/src/tools/docmaker/content.py b/lib/freetype/src/tools/docmaker/content.py
index 6887f0b84..1961878a7 100644
--- a/lib/freetype/src/tools/docmaker/content.py
+++ b/lib/freetype/src/tools/docmaker/content.py
@@ -53,9 +53,10 @@ re_identifier = re.compile( r'((?:\w|-)*)' )
#
# We collect macro names ending in `_H' (group 1), as defined in
-# `config/ftheader.h'. While outputting the object data, we use this info
-# together with the object's file location (group 2) to emit the appropriate
-# header file macro and its associated file name before the object itself.
+# `freetype/config/ftheader.h'. While outputting the object data, we use
+# this info together with the object's file location (group 2) to emit the
+# appropriate header file macro and its associated file name before the
+# object itself.
#
# Example:
#
diff --git a/lib/freetype/src/tools/docmaker/sources.py b/lib/freetype/src/tools/docmaker/sources.py
index 0cf21ce03..be38132d1 100644
--- a/lib/freetype/src/tools/docmaker/sources.py
+++ b/lib/freetype/src/tools/docmaker/sources.py
@@ -150,10 +150,11 @@ re_crossref = re.compile( r'@((?:\w|-)*)(.*)' ) # @foo
# Group 1 is the markup, group 2 the rest of the line.
#
# Note that the markup is limited to words consisting of letters, digits,
-# the character `_', or an apostrophe (but not as the first character).
+# the characters `_' and `-', or an apostrophe (but not as the first
+# character).
#
-re_italic = re.compile( r"_(\w(?:\w|')*)_(.*)" ) # _italic_
-re_bold = re.compile( r"\*(\w(?:\w|')*)\*(.*)" ) # *bold*
+re_italic = re.compile( r"_((?:\w|-)(?:\w|'|-)*)_(.*)" ) # _italic_
+re_bold = re.compile( r"\*((?:\w|-)(?:\w|'|-)*)\*(.*)" ) # *bold*
#
# This regular expression code to identify an URL has been taken from
diff --git a/lib/freetype/src/tools/docmaker/utils.py b/lib/freetype/src/tools/docmaker/utils.py
index 52af17a3a..254083e92 100644
--- a/lib/freetype/src/tools/docmaker/utils.py
+++ b/lib/freetype/src/tools/docmaker/utils.py
@@ -79,7 +79,7 @@ def check_output():
if not os.path.isdir( output_dir ):
sys.stderr.write( "argument"
+ " '" + output_dir + "' "
- + "is not a valid directory" )
+ + "is not a valid directory\n" )
sys.exit( 2 )
else:
output_dir = None
diff --git a/lib/freetype/src/tools/no-copyright b/lib/freetype/src/tools/no-copyright
new file mode 100644
index 000000000..5011e3fb6
--- /dev/null
+++ b/lib/freetype/src/tools/no-copyright
@@ -0,0 +1,61 @@
+# Files that don't get a copyright, or which are taken from elsewhere.
+#
+# All lines in this file are patterns, including the comment lines; this
+# means that e.g. `FTL.TXT' matches all files that have this string in
+# the file name (including the path relative to the current directory,
+# always starting with `./').
+#
+# Don't put empty lines into this file!
+#
+.gitignore
+#
+builds/unix/pkg.m4
+#
+docs/FTL.TXT
+docs/GPLv2.TXT
+#
+src/base/md5.c
+src/base/md5.h
+#
+src/bdf/bdf.c
+src/bdf/bdf.h
+src/bdf/bdfdrivr.c
+src/bdf/bdfdrivr.h
+src/bdf/bdferror.h
+src/bdf/bdflib.c
+src/bdf/module.mk
+src/bdf/README
+src/bdf/rules.mk
+#
+src/pcf/module.mk
+src/pcf/pcf.c
+src/pcf/pcf.h
+src/pcf/pcfdrivr.c
+src/pcf/pcfdrivr.h
+src/pcf/pcferror.h
+src/pcf/pcfread.c
+src/pcf/pcfread.h
+src/pcf/pcfutil.c
+src/pcf/pcfutil.h
+src/pcf/README
+src/pcf/rules.mk
+#
+src/gzip/adler32.c
+src/gzip/infblock.c
+src/gzip/infblock.h
+src/gzip/infcodes.c
+src/gzip/infcodes.h
+src/gzip/inffixed.h
+src/gzip/inflate.c
+src/gzip/inftrees.c
+src/gzip/inftrees.h
+src/gzip/infutil.c
+src/gzip/infutil.h
+src/gzip/zconf.h
+src/gzip/zlib.h
+src/gzip/zutil.c
+src/gzip/zutil.h
+#
+src/tools/ftrandom/ftrandom.c
+#
+# EOF
diff --git a/lib/freetype/src/tools/update-copyright b/lib/freetype/src/tools/update-copyright
new file mode 100644
index 000000000..4a8bf9b0e
--- /dev/null
+++ b/lib/freetype/src/tools/update-copyright
@@ -0,0 +1,14 @@
+#!/bin/sh
+
+# Run the `update-copyright-year' script on all files in the git repository,
+# taking care of exceptions stored in file `no-copyright'.
+
+topdir=`git rev-parse --show-toplevel`
+toolsdir=$topdir/src/tools
+
+git ls-files --full-name $topdir \
+| sed 's|^|../../|' \
+| grep -vFf $toolsdir/no-copyright \
+| xargs $toolsdir/update-copyright-year
+
+# EOF
diff --git a/lib/freetype/src/tools/update-copyright-year b/lib/freetype/src/tools/update-copyright-year
new file mode 100644
index 000000000..107754183
--- /dev/null
+++ b/lib/freetype/src/tools/update-copyright-year
@@ -0,0 +1,135 @@
+eval '(exit $?0)' && eval 'exec perl -wS -i "$0" ${1+"$@"}'
+ & eval 'exec perl -wS -i "$0" $argv:q'
+ if 0;
+
+# Copyright 2015 by
+# 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: This script is expected to be called by the shell, which in turn
+# calls perl automatically. The nifty start-up code above is based on
+# gnulib's `update-copyright' script; it is a more portable replacement for
+# the shebang, using the first `perl' program in the shell's path instead.]
+
+# Usage:
+#
+# update-copyright-year file1 [file2 ...]
+
+
+# This script handles copyright entries like
+#
+# Copyright 2000 by
+# foobar
+#
+# or
+#
+# /* Copyright 2000, 2001, 2004-2007 by */
+# /* foobar */
+#
+# and replaces them uniformly with
+#
+# Copyright 2000-2015
+# foobar
+#
+# and
+#
+# /* Copyright 2000-2015 by */
+# /* foobar */
+#
+# (assuming that the current year is 2015). As can be seen, the line length
+# is retained if there is non-whitespace after the word `by' on the same
+# line.
+
+use strict;
+
+
+my (undef, undef, undef,
+ undef, undef, $year,
+ undef, undef, undef) = localtime(time);
+$year += 1900;
+
+my $replaced = 0;
+
+
+# Loop over all input files; option `-i' (issued at the very beginning of
+# this script) makes perl edit them in-place.
+while (<>)
+{
+ # Only handle the first copyright notice in a file.
+ if (!$replaced)
+ {
+ # First try: Search multiple copyright years.
+ s {
+ (?<begin>.*)
+ Copyright
+ (?<space1>\ +)
+ (?<first>[12][0-9][0-9][0-9])
+ (?<middle>.+)
+ (?<last>[12][0-9][0-9][0-9])
+ (?<space2>\ +)
+ by
+ (?<space3>\ *)
+ (?<end>.*)
+ }
+ {
+ # Fill line to the same length (if appropriate); we skip the middle
+ # part but insert two spaces and `-'.
+ my $space = length($+{space1}) - 1
+ + length($+{middle}) - 1
+ + length($+{space2}) - 1
+ + length($+{space3});
+
+ print "$+{begin}";
+ print "Copyright\ $+{first}-$year\ by";
+ print ' ' x $space if length($+{end});
+ print "$+{end}\n";
+ $replaced = 1;
+ }ex
+ ||
+ # Second try: Search a single copyright year.
+ s {
+ (?<begin>.*)
+ Copyright
+ (?<space1>\ +)
+ (?<first>[12][0-9][0-9][0-9])
+ (?<space2>\ +)
+ by
+ (?<space3>\ *)
+ (?<end>.*)
+ }
+ {
+ # Fill line to the same length (if appropriate); we insert two
+ # spaces, a `-', and the current year.
+ my $space = length($+{space1}) - 1
+ + length($+{space2}) - 1
+ + length($+{space3})
+ - (length($year) + 1);
+
+ print "$+{begin}";
+ print "Copyright $+{first}-$year by";
+ # If $space is negative this inserts nothing.
+ print ' ' x $space if length($+{end});
+ print "$+{end}\n";
+ $replaced = 1;
+ }ex
+ ||
+ # Otherwise print line unaltered.
+ print;
+ }
+ else
+ {
+ print;
+ }
+}
+continue
+{
+ # Reset $replaced before processing the next file.
+ $replaced = 0 if eof;
+}
+
+# EOF
diff --git a/lib/freetype/src/truetype/Jamfile b/lib/freetype/src/truetype/Jamfile
index 55a60afaa..88cc26f2b 100644
--- a/lib/freetype/src/truetype/Jamfile
+++ b/lib/freetype/src/truetype/Jamfile
@@ -16,7 +16,15 @@ SubDir FT2_TOP $(FT2_SRC_DIR) truetype ;
if $(FT2_MULTI)
{
- _sources = ttdriver ttobjs ttpload ttgload ttinterp ttgxvar ttpic ;
+ _sources = ttdriver
+ ttgload
+ ttgxvar
+ ttinterp
+ ttobjs
+ ttpic
+ ttpload
+ ttsubpix
+ ;
}
else
{
diff --git a/lib/freetype/src/truetype/ttgload.c b/lib/freetype/src/truetype/ttgload.c
index e1acd6912..a792ad44a 100644
--- a/lib/freetype/src/truetype/ttgload.c
+++ b/lib/freetype/src/truetype/ttgload.c
@@ -120,7 +120,7 @@
tt_get_metrics( TT_Loader loader,
FT_UInt glyph_index )
{
- TT_Face face = (TT_Face)loader->face;
+ TT_Face face = loader->face;
#ifdef TT_CONFIG_OPTION_SUBPIXEL_HINTING
TT_Driver driver = (TT_Driver)FT_FACE_DRIVER( face );
#endif
@@ -182,7 +182,7 @@
tt_get_metrics_incr_overrides( TT_Loader loader,
FT_UInt glyph_index )
{
- TT_Face face = (TT_Face)loader->face;
+ TT_Face face = loader->face;
FT_Short left_bearing = 0, top_bearing = 0;
FT_UShort advance_width = 0, advance_height = 0;
@@ -250,29 +250,6 @@
/*************************************************************************/
/* */
- /* Translates an array of coordinates. */
- /* */
- static void
- translate_array( FT_UInt n,
- FT_Vector* coords,
- FT_Pos delta_x,
- FT_Pos delta_y )
- {
- FT_UInt k;
-
-
- if ( delta_x )
- for ( k = 0; k < n; k++ )
- coords[k].x += delta_x;
-
- if ( delta_y )
- for ( k = 0; k < n; k++ )
- coords[k].y += delta_y;
- }
-
-
- /*************************************************************************/
- /* */
/* The following functions are used by default with TrueType fonts. */
/* However, they can be replaced by alternatives if we need to support */
/* TrueType-compressed formats (like MicroType) in the future. */
@@ -656,20 +633,20 @@
if ( subglyph->flags & WE_HAVE_A_SCALE )
{
- xx = (FT_Fixed)FT_NEXT_SHORT( p ) << 2;
+ xx = (FT_Fixed)FT_NEXT_SHORT( p ) * 4;
yy = xx;
}
else if ( subglyph->flags & WE_HAVE_AN_XY_SCALE )
{
- xx = (FT_Fixed)FT_NEXT_SHORT( p ) << 2;
- yy = (FT_Fixed)FT_NEXT_SHORT( p ) << 2;
+ xx = (FT_Fixed)FT_NEXT_SHORT( p ) * 4;
+ yy = (FT_Fixed)FT_NEXT_SHORT( p ) * 4;
}
else if ( subglyph->flags & WE_HAVE_A_2X2 )
{
- xx = (FT_Fixed)FT_NEXT_SHORT( p ) << 2;
- yx = (FT_Fixed)FT_NEXT_SHORT( p ) << 2;
- xy = (FT_Fixed)FT_NEXT_SHORT( p ) << 2;
- yy = (FT_Fixed)FT_NEXT_SHORT( p ) << 2;
+ xx = (FT_Fixed)FT_NEXT_SHORT( p ) * 4;
+ yx = (FT_Fixed)FT_NEXT_SHORT( p ) * 4;
+ xy = (FT_Fixed)FT_NEXT_SHORT( p ) * 4;
+ yy = (FT_Fixed)FT_NEXT_SHORT( p ) * 4;
}
subglyph->transform.xx = xx;
@@ -754,7 +731,7 @@
FT_Bool is_composite )
{
#ifdef TT_CONFIG_OPTION_SUBPIXEL_HINTING
- TT_Face face = (TT_Face)loader->face;
+ TT_Face face = loader->face;
TT_Driver driver = (TT_Driver)FT_FACE_DRIVER( face );
#endif
@@ -781,7 +758,7 @@
FT_ARRAY_COPY( zone->org, zone->cur, zone->n_points );
/* Reset graphics state. */
- loader->exec->GS = ((TT_Size)loader->size)->GS;
+ loader->exec->GS = loader->size->GS;
/* XXX: UNDOCUMENTED! Hinting instructions of a composite glyph */
/* completely refer to the (already) hinted subglyphs. */
@@ -794,10 +771,8 @@
}
else
{
- loader->exec->metrics.x_scale =
- ((TT_Size)loader->size)->metrics.x_scale;
- loader->exec->metrics.y_scale =
- ((TT_Size)loader->size)->metrics.y_scale;
+ loader->exec->metrics.x_scale = loader->size->metrics.x_scale;
+ loader->exec->metrics.y_scale = loader->size->metrics.y_scale;
}
#endif
@@ -897,13 +872,13 @@
#ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT
- if ( ((TT_Face)loader->face)->doblend )
+ if ( loader->face->doblend )
{
/* Deltas apply to the unscaled data. */
- error = TT_Vary_Apply_Glyph_Deltas( (TT_Face)(loader->face),
- loader->glyph_index,
- outline,
- (FT_UInt)n_points );
+ error = TT_Vary_Apply_Glyph_Deltas( loader->face,
+ loader->glyph_index,
+ outline,
+ (FT_UInt)n_points );
if ( error )
return error;
}
@@ -920,7 +895,7 @@
{
#ifdef TT_CONFIG_OPTION_SUBPIXEL_HINTING
- TT_Face face = (TT_Face)loader->face;
+ TT_Face face = loader->face;
TT_Driver driver = (TT_Driver)FT_FACE_DRIVER( face );
FT_String* family = face->root.family_name;
@@ -953,9 +928,9 @@
if ( ( loader->load_flags & FT_LOAD_NO_SCALE ) == 0 ||
x_scale_factor != 1000 )
{
- x_scale = FT_MulDiv( ((TT_Size)loader->size)->metrics.x_scale,
+ x_scale = FT_MulDiv( loader->size->metrics.x_scale,
(FT_Long)x_scale_factor, 1000 );
- y_scale = ((TT_Size)loader->size)->metrics.y_scale;
+ y_scale = loader->size->metrics.y_scale;
/* compensate for any scaling by de/emboldening; */
/* the amount was determined via experimentation */
@@ -975,8 +950,8 @@
/* scale the glyph */
if ( ( loader->load_flags & FT_LOAD_NO_SCALE ) == 0 )
{
- x_scale = ((TT_Size)loader->size)->metrics.x_scale;
- y_scale = ((TT_Size)loader->size)->metrics.y_scale;
+ x_scale = loader->size->metrics.x_scale;
+ y_scale = loader->size->metrics.y_scale;
do_scale = TRUE;
}
@@ -1023,30 +998,29 @@
FT_UInt start_point,
FT_UInt num_base_points )
{
- FT_GlyphLoader gloader = loader->gloader;
- FT_Vector* base_vec = gloader->base.outline.points;
- FT_UInt num_points = (FT_UInt)gloader->base.outline.n_points;
+ FT_GlyphLoader gloader = loader->gloader;
+ FT_Outline current;
FT_Bool have_scale;
FT_Pos x, y;
+ current.points = gloader->base.outline.points +
+ num_base_points;
+ current.n_points = gloader->base.outline.n_points -
+ (short)num_base_points;
+
have_scale = FT_BOOL( subglyph->flags & ( WE_HAVE_A_SCALE |
WE_HAVE_AN_XY_SCALE |
WE_HAVE_A_2X2 ) );
/* perform the transform required for this subglyph */
if ( have_scale )
- {
- FT_UInt i;
-
-
- for ( i = num_base_points; i < num_points; i++ )
- FT_Vector_Transform( base_vec + i, &subglyph->transform );
- }
+ FT_Outline_Transform( &current, &subglyph->transform );
/* get offset */
if ( !( subglyph->flags & ARGS_ARE_XY_VALUES ) )
{
+ FT_UInt num_points = (FT_UInt)gloader->base.outline.n_points;
FT_UInt k = (FT_UInt)subglyph->arg1;
FT_UInt l = (FT_UInt)subglyph->arg2;
FT_Vector* p1;
@@ -1135,8 +1109,8 @@
if ( !( loader->load_flags & FT_LOAD_NO_SCALE ) )
{
- FT_Fixed x_scale = ((TT_Size)loader->size)->metrics.x_scale;
- FT_Fixed y_scale = ((TT_Size)loader->size)->metrics.y_scale;
+ FT_Fixed x_scale = loader->size->metrics.x_scale;
+ FT_Fixed y_scale = loader->size->metrics.y_scale;
x = FT_MulFix( x, x_scale );
@@ -1151,9 +1125,7 @@
}
if ( x || y )
- translate_array( num_points - num_base_points,
- base_vec + num_base_points,
- x, y );
+ FT_Outline_Translate( &current, x, y );
return FT_Err_Ok;
}
@@ -1215,7 +1187,7 @@
FT_TRACE5(( " Instructions size = %d\n", n_ins ));
/* check it */
- max_ins = ((TT_Face)loader->face)->max_profile.maxSizeOfInstructions;
+ max_ins = loader->face->max_profile.maxSizeOfInstructions;
if ( n_ins > max_ins )
{
/* don't trust `maxSizeOfInstructions'; */
@@ -1412,7 +1384,7 @@
FT_Error error = FT_Err_Ok;
FT_Fixed x_scale, y_scale;
FT_ULong offset;
- TT_Face face = (TT_Face)loader->face;
+ TT_Face face = loader->face;
FT_GlyphLoader gloader = loader->gloader;
FT_Bool opened_frame = 0;
@@ -1445,8 +1417,8 @@
if ( ( loader->load_flags & FT_LOAD_NO_SCALE ) == 0 )
{
- x_scale = ((TT_Size)loader->size)->metrics.x_scale;
- y_scale = ((TT_Size)loader->size)->metrics.y_scale;
+ x_scale = loader->size->metrics.x_scale;
+ y_scale = loader->size->metrics.y_scale;
}
else
{
@@ -1552,7 +1524,7 @@
#ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT
- if ( ((TT_Face)(loader->face))->doblend )
+ if ( loader->face->doblend )
{
/* a small outline structure with four elements for */
/* communication with `TT_Vary_Apply_Glyph_Deltas' */
@@ -1579,10 +1551,10 @@
outline.contours = contours;
/* this must be done before scaling */
- error = TT_Vary_Apply_Glyph_Deltas( (TT_Face)(loader->face),
- glyph_index,
- &outline,
- outline.n_points );
+ error = TT_Vary_Apply_Glyph_Deltas( loader->face,
+ glyph_index,
+ &outline,
+ (FT_UInt)outline.n_points );
if ( error )
goto Exit;
@@ -1679,7 +1651,7 @@
if ( face->doblend )
{
- FT_UInt i, limit;
+ short i, limit;
FT_SubGlyph subglyph;
FT_Outline outline;
@@ -1690,11 +1662,11 @@
FT_Memory memory = face->root.memory;
- limit = gloader->current.num_subglyphs;
+ limit = (short)gloader->current.num_subglyphs;
/* construct an outline structure for */
/* communication with `TT_Vary_Apply_Glyph_Deltas' */
- outline.n_points = gloader->current.num_subglyphs + 4;
+ outline.n_points = (short)( gloader->current.num_subglyphs + 4 );
outline.n_contours = outline.n_points;
if ( FT_NEW_ARRAY( points, outline.n_points ) ||
@@ -1702,7 +1674,7 @@
FT_NEW_ARRAY( contours, outline.n_points ) )
goto Exit1;
- subglyph = gloader->current.subglyphs + gloader->base.num_subglyphs;
+ subglyph = gloader->current.subglyphs;
for ( i = 0; i < limit; i++, subglyph++ )
{
@@ -1748,10 +1720,10 @@
face,
glyph_index,
&outline,
- outline.n_points ) ) != 0 )
+ (FT_UInt)outline.n_points ) ) != 0 )
goto Exit1;
- subglyph = gloader->current.subglyphs + gloader->base.num_subglyphs;
+ subglyph = gloader->current.subglyphs;
for ( i = 0; i < limit; i++, subglyph++ )
{
@@ -1935,7 +1907,7 @@
compute_glyph_metrics( TT_Loader loader,
FT_UInt glyph_index )
{
- TT_Face face = (TT_Face)loader->face;
+ TT_Face face = loader->face;
#ifdef TT_CONFIG_OPTION_SUBPIXEL_HINTING
TT_Driver driver = (TT_Driver)FT_FACE_DRIVER( face );
#endif
@@ -1943,7 +1915,7 @@
FT_BBox bbox;
FT_Fixed y_scale;
TT_GlyphSlot glyph = loader->glyph;
- TT_Size size = (TT_Size)loader->size;
+ TT_Size size = loader->size;
y_scale = 0x10000L;
@@ -1964,8 +1936,10 @@
glyph->metrics.horiAdvance = loader->pp2.x - loader->pp1.x;
/* adjust advance width to the value contained in the hdmx table */
- if ( !face->postscript.isFixedPitch &&
- IS_HINTED( loader->load_flags ) )
+ /* unless FT_LOAD_COMPUTE_METRICS is set */
+ if ( !face->postscript.isFixedPitch &&
+ IS_HINTED( loader->load_flags ) &&
+ !( loader->load_flags & FT_LOAD_COMPUTE_METRICS ) )
{
FT_Byte* widthp;
@@ -1988,7 +1962,7 @@
( ( ignore_x_mode && loader->exec->compatible_widths ) ||
!ignore_x_mode ||
SPH_OPTION_BITMAP_WIDTHS ) )
- glyph->metrics.horiAdvance = *widthp << 6;
+ glyph->metrics.horiAdvance = *widthp * 64;
}
else
@@ -1996,7 +1970,7 @@
{
if ( widthp )
- glyph->metrics.horiAdvance = *widthp << 6;
+ glyph->metrics.horiAdvance = *widthp * 64;
}
}
@@ -2136,16 +2110,16 @@
glyph->outline.n_points = 0;
glyph->outline.n_contours = 0;
- glyph->metrics.width = (FT_Pos)metrics.width << 6;
- glyph->metrics.height = (FT_Pos)metrics.height << 6;
+ glyph->metrics.width = (FT_Pos)metrics.width * 64;
+ glyph->metrics.height = (FT_Pos)metrics.height * 64;
- glyph->metrics.horiBearingX = (FT_Pos)metrics.horiBearingX << 6;
- glyph->metrics.horiBearingY = (FT_Pos)metrics.horiBearingY << 6;
- glyph->metrics.horiAdvance = (FT_Pos)metrics.horiAdvance << 6;
+ glyph->metrics.horiBearingX = (FT_Pos)metrics.horiBearingX * 64;
+ glyph->metrics.horiBearingY = (FT_Pos)metrics.horiBearingY * 64;
+ glyph->metrics.horiAdvance = (FT_Pos)metrics.horiAdvance * 64;
- glyph->metrics.vertBearingX = (FT_Pos)metrics.vertBearingX << 6;
- glyph->metrics.vertBearingY = (FT_Pos)metrics.vertBearingY << 6;
- glyph->metrics.vertAdvance = (FT_Pos)metrics.vertAdvance << 6;
+ glyph->metrics.vertBearingX = (FT_Pos)metrics.vertBearingX * 64;
+ glyph->metrics.vertBearingY = (FT_Pos)metrics.vertBearingY * 64;
+ glyph->metrics.vertAdvance = (FT_Pos)metrics.vertAdvance * 64;
glyph->format = FT_GLYPH_FORMAT_BITMAP;
@@ -2414,8 +2388,8 @@
loader->load_flags = (FT_ULong)load_flags;
- loader->face = (FT_Face)face;
- loader->size = (FT_Size)size;
+ loader->face = face;
+ loader->size = size;
loader->glyph = (FT_GlyphSlot)glyph;
loader->stream = stream;
diff --git a/lib/freetype/src/truetype/ttgxvar.c b/lib/freetype/src/truetype/ttgxvar.c
index 2b12483ba..dd9e250c9 100644
--- a/lib/freetype/src/truetype/ttgxvar.c
+++ b/lib/freetype/src/truetype/ttgxvar.c
@@ -357,8 +357,8 @@
for ( j = 0; j < segment->pairCount; j++ )
{
/* convert to Fixed */
- segment->correspondence[j].fromCoord = FT_GET_SHORT() << 2;
- segment->correspondence[j].toCoord = FT_GET_SHORT() << 2;
+ segment->correspondence[j].fromCoord = FT_GET_SHORT() * 4;
+ segment->correspondence[j].toCoord = FT_GET_SHORT() * 4;
FT_TRACE5(( " mapping %.4f to %.4f\n",
segment->correspondence[j].fromCoord / 65536.0,
@@ -514,7 +514,7 @@
for ( j = 0 ; j < (FT_UInt)gvar_head.axisCount; j++ )
{
blend->tuplecoords[i * gvar_head.axisCount + j] =
- FT_GET_SHORT() << 2; /* convert to FT_Fixed */
+ FT_GET_SHORT() * 4; /* convert to FT_Fixed */
FT_TRACE5(( "%.4f ",
blend->tuplecoords[i * gvar_head.axisCount + j] / 65536.0 ));
}
@@ -698,7 +698,8 @@
/* TT_Get_MM_Var initializes the blend structure. */
/* */
/* <Output> */
- /* master :: The `fvar' data (must be freed by caller). */
+ /* master :: The `fvar' data (must be freed by caller). Can be NULL, */
+ /* which makes this function simply load MM support. */
/* */
/* <Return> */
/* FreeType error code. 0 means success. */
@@ -1378,7 +1379,7 @@
if ( tupleIndex & GX_TI_EMBEDDED_TUPLE_COORD )
{
for ( j = 0; j < blend->num_axis; j++ )
- tuple_coords[j] = FT_GET_SHORT() << 2; /* convert from */
+ tuple_coords[j] = FT_GET_SHORT() * 4; /* convert from */
/* short frac to fixed */
}
else
@@ -1396,9 +1397,9 @@
if ( tupleIndex & GX_TI_INTERMEDIATE_TUPLE )
{
for ( j = 0; j < blend->num_axis; j++ )
- im_start_coords[j] = FT_GET_SHORT() << 2;
+ im_start_coords[j] = FT_GET_SHORT() * 4;
for ( j = 0; j < blend->num_axis; j++ )
- im_end_coords[j] = FT_GET_SHORT() << 2;
+ im_end_coords[j] = FT_GET_SHORT() * 4;
}
apply = ft_var_apply_tuple( blend,
@@ -1649,13 +1650,13 @@
{
FT_Vector* out_points;
- FT_UInt first_point;
- FT_UInt end_point;
+ FT_Int first_point;
+ FT_Int end_point;
- FT_UInt first_delta;
- FT_UInt cur_delta;
+ FT_Int first_delta;
+ FT_Int cur_delta;
- FT_UInt point;
+ FT_Int point;
FT_Short contour;
@@ -1849,7 +1850,7 @@
if ( tupleIndex & GX_TI_EMBEDDED_TUPLE_COORD )
{
for ( j = 0; j < blend->num_axis; j++ )
- tuple_coords[j] = FT_GET_SHORT() << 2; /* convert from */
+ tuple_coords[j] = FT_GET_SHORT() * 4; /* convert from */
/* short frac to fixed */
}
else if ( ( tupleIndex & GX_TI_TUPLE_INDEX_MASK ) >= blend->tuplecount )
@@ -1866,9 +1867,9 @@
if ( tupleIndex & GX_TI_INTERMEDIATE_TUPLE )
{
for ( j = 0; j < blend->num_axis; j++ )
- im_start_coords[j] = FT_GET_SHORT() << 2;
+ im_start_coords[j] = FT_GET_SHORT() * 4;
for ( j = 0; j < blend->num_axis; j++ )
- im_end_coords[j] = FT_GET_SHORT() << 2;
+ im_end_coords[j] = FT_GET_SHORT() * 4;
}
apply = ft_var_apply_tuple( blend,
diff --git a/lib/freetype/src/truetype/ttinterp.c b/lib/freetype/src/truetype/ttinterp.c
index 089f604b5..ae2a82adc 100644
--- a/lib/freetype/src/truetype/ttinterp.c
+++ b/lib/freetype/src/truetype/ttinterp.c
@@ -88,13 +88,6 @@
#define BOUNDSL( x, n ) ( (FT_ULong)(x) >= (FT_ULong)(n) )
- /*************************************************************************/
- /* */
- /* This macro computes (a*2^14)/b and complements TT_MulFix14. */
- /* */
-#define TT_DivFix14( a, b ) FT_DivFix( a, (b) << 2 )
-
-
#undef SUCCESS
#define SUCCESS 0
@@ -2580,26 +2573,23 @@
FT_F26Dot6 Vy,
FT_UnitVector* R )
{
- FT_F26Dot6 W;
+ FT_Vector V;
- if ( FT_ABS( Vx ) < 0x4000L && FT_ABS( Vy ) < 0x4000L )
+ if ( Vx == 0 && Vy == 0 )
{
- if ( Vx == 0 && Vy == 0 )
- {
- /* XXX: UNDOCUMENTED! It seems that it is possible to try */
- /* to normalize the vector (0,0). Return immediately. */
- return SUCCESS;
- }
-
- Vx *= 0x4000;
- Vy *= 0x4000;
+ /* XXX: UNDOCUMENTED! It seems that it is possible to try */
+ /* to normalize the vector (0,0). Return immediately. */
+ return SUCCESS;
}
- W = FT_Hypot( Vx, Vy );
+ V.x = Vx;
+ V.y = Vy;
+
+ FT_Vector_NormLen( &V );
- R->x = (FT_F2Dot14)TT_DivFix14( Vx, W );
- R->y = (FT_F2Dot14)TT_DivFix14( Vy, W );
+ R->x = (FT_F2Dot14)( V.x / 4 );
+ R->y = (FT_F2Dot14)( V.y / 4 );
return SUCCESS;
}
@@ -5157,11 +5147,11 @@
Ins_INSTCTRL( TT_ExecContext exc,
FT_Long* args )
{
- FT_Long K, L, Kf;
+ FT_ULong K, L, Kf;
- K = args[1];
- L = args[0];
+ K = (FT_ULong)args[1];
+ L = (FT_ULong)args[0];
/* selector values cannot be `OR'ed; */
/* they are indices starting with index 1, not flags */
@@ -6505,8 +6495,6 @@
dx = exc->zp0.cur[b0].x - exc->zp1.cur[a0].x;
dy = exc->zp0.cur[b0].y - exc->zp1.cur[a0].y;
- exc->zp2.tags[point] |= FT_CURVE_TAG_TOUCH_BOTH;
-
discriminant = FT_MulDiv( dax, -dby, 0x40 ) +
FT_MulDiv( day, dbx, 0x40 );
dotproduct = FT_MulDiv( dax, dbx, 0x40 ) +
@@ -6543,6 +6531,8 @@
exc->zp0.cur[b0].y +
exc->zp0.cur[b1].y ) / 4;
}
+
+ exc->zp2.tags[point] |= FT_CURVE_TAG_TOUCH_BOTH;
}
diff --git a/lib/freetype/src/truetype/ttobjs.c b/lib/freetype/src/truetype/ttobjs.c
index 202aa046f..6060d6f5d 100644
--- a/lib/freetype/src/truetype/ttobjs.c
+++ b/lib/freetype/src/truetype/ttobjs.c
@@ -191,7 +191,7 @@
{
FT_Error error;
FT_UInt32 checksum = 0;
- int i;
+ FT_UInt i;
if ( FT_FRAME_ENTER( length ) )
@@ -200,8 +200,8 @@
for ( ; length > 3; length -= 4 )
checksum += (FT_UInt32)FT_GET_ULONG();
- for ( i = 3; length > 0; length --, i-- )
- checksum += (FT_UInt32)( FT_GET_BYTE() << ( i * 8 ) );
+ for ( i = 3; length > 0; length--, i-- )
+ checksum += (FT_UInt32)FT_GET_BYTE() << ( i * 8 );
FT_FRAME_EXIT();
@@ -490,7 +490,10 @@
/* <Input> */
/* stream :: The source font stream. */
/* */
- /* face_index :: The index of the font face in the resource. */
+ /* face_index :: The index of the TrueType font, if we are opening a */
+ /* collection, in bits 0-15. The numbered instance */
+ /* index~+~1 of a GX (sub)font, if applicable, in bits */
+ /* 16-30. */
/* */
/* num_params :: Number of additional generic parameters. Ignored. */
/* */
@@ -599,7 +602,7 @@
ttface->face_flags &= ~FT_FACE_FLAG_SCALABLE;
}
-#else
+#else /* !FT_CONFIG_OPTION_INCREMENTAL */
if ( !error )
error = tt_face_load_loca( face, stream );
@@ -623,10 +626,56 @@
ttface->face_flags &= ~FT_FACE_FLAG_SCALABLE;
}
-#endif
+#endif /* !FT_CONFIG_OPTION_INCREMENTAL */
}
+#ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT
+
+ {
+ FT_Int instance_index = face_index >> 16;
+
+
+ if ( FT_HAS_MULTIPLE_MASTERS( ttface ) &&
+ instance_index > 0 )
+ {
+ error = TT_Get_MM_Var( face, NULL );
+ if ( error )
+ goto Exit;
+
+ if ( face->blend->mmvar->namedstyle )
+ {
+ FT_Memory memory = ttface->memory;
+
+ FT_Var_Named_Style* named_style;
+ FT_String* style_name;
+
+
+ /* in `face_index', the instance index starts with value 1 */
+ named_style = face->blend->mmvar->namedstyle + instance_index - 1;
+ error = sfnt->get_name( face,
+ (FT_UShort)named_style->strid,
+ &style_name );
+ if ( error )
+ goto Exit;
+
+ /* set style name; if already set, replace it */
+ if ( face->root.style_name )
+ FT_FREE( face->root.style_name );
+ face->root.style_name = style_name;
+
+ /* finally, select the named instance */
+ error = TT_Set_Var_Design( face,
+ face->blend->mmvar->num_axis,
+ named_style->coords );
+ if ( error )
+ goto Exit;
+ }
+ }
+ }
+
+#endif /* TT_CONFIG_OPTION_GX_VAR_SUPPORT */
+
#if defined( TT_CONFIG_OPTION_UNPATENTED_HINTING ) && \
!defined( TT_CONFIG_OPTION_BYTECODE_INTERPRETER )
diff --git a/lib/freetype/src/truetype/ttobjs.h b/lib/freetype/src/truetype/ttobjs.h
index 7ac4123ca..9396089a9 100644
--- a/lib/freetype/src/truetype/ttobjs.h
+++ b/lib/freetype/src/truetype/ttobjs.h
@@ -42,17 +42,6 @@ FT_BEGIN_HEADER
/*************************************************************************/
/* */
/* <Type> */
- /* TT_Instance */
- /* */
- /* <Description> */
- /* A handle to a TrueType size object. */
- /* */
- typedef struct TT_SizeRec_* TT_Size;
-
-
- /*************************************************************************/
- /* */
- /* <Type> */
/* TT_GlyphSlot */
/* */
/* <Description> */
diff --git a/lib/freetype/src/truetype/ttpic.h b/lib/freetype/src/truetype/ttpic.h
index 48ba4aaf0..076ae56ef 100644
--- a/lib/freetype/src/truetype/ttpic.h
+++ b/lib/freetype/src/truetype/ttpic.h
@@ -20,7 +20,8 @@
#define __TTPIC_H__
-FT_BEGIN_HEADER
+#include FT_INTERNAL_PIC_H
+
#ifndef FT_CONFIG_OPTION_PIC
@@ -37,6 +38,8 @@ FT_BEGIN_HEADER
#include FT_SERVICE_PROPERTIES_H
+FT_BEGIN_HEADER
+
typedef struct TTModulePIC_
{
FT_ServiceDescRec* tt_services;
@@ -68,13 +71,12 @@ FT_BEGIN_HEADER
FT_Error
tt_driver_class_pic_init( FT_Library library );
+FT_END_HEADER
+
#endif /* FT_CONFIG_OPTION_PIC */
/* */
-
-FT_END_HEADER
-
#endif /* __TTPIC_H__ */
diff --git a/lib/freetype/src/truetype/ttpload.c b/lib/freetype/src/truetype/ttpload.c
index fb338bde3..4647c938a 100644
--- a/lib/freetype/src/truetype/ttpload.c
+++ b/lib/freetype/src/truetype/ttpload.c
@@ -152,6 +152,14 @@
FT_TRACE2(( "adjusting num_locations to %d\n",
face->num_locations ));
}
+ else
+ {
+ face->root.num_glyphs = face->num_locations
+ ? (FT_Long)face->num_locations - 1 : 0;
+
+ FT_TRACE2(( "adjusting num_glyphs to %d\n",
+ face->root.num_glyphs ));
+ }
}
}
diff --git a/lib/freetype/src/truetype/ttsubpix.c b/lib/freetype/src/truetype/ttsubpix.c
index dbda4d968..0d391e95a 100644
--- a/lib/freetype/src/truetype/ttsubpix.c
+++ b/lib/freetype/src/truetype/ttsubpix.c
@@ -903,7 +903,7 @@
sph_set_tweaks( TT_Loader loader,
FT_UInt glyph_index )
{
- TT_Face face = (TT_Face)loader->face;
+ TT_Face face = loader->face;
FT_String* family = face->root.family_name;
FT_UInt ppem = loader->size->metrics.x_ppem;
FT_String* style = face->root.style_name;
diff --git a/lib/freetype/src/type1/Jamfile b/lib/freetype/src/type1/Jamfile
index 5d7b62c49..d1a3af57e 100644
--- a/lib/freetype/src/type1/Jamfile
+++ b/lib/freetype/src/type1/Jamfile
@@ -16,7 +16,13 @@ SubDir FT2_TOP $(FT2_SRC_DIR) type1 ;
if $(FT2_MULTI)
{
- _sources = t1afm t1driver t1objs t1load t1gload t1parse ;
+ _sources = t1afm
+ t1driver
+ t1gload
+ t1load
+ t1objs
+ t1parse
+ ;
}
else
{
diff --git a/lib/freetype/src/type1/t1gload.c b/lib/freetype/src/type1/t1gload.c
index 829e8743a..85ada2ea6 100644
--- a/lib/freetype/src/type1/t1gload.c
+++ b/lib/freetype/src/type1/t1gload.c
@@ -395,7 +395,6 @@
{
FT_BBox cbox;
FT_Glyph_Metrics* metrics = &t1glyph->metrics;
- FT_Vector advance;
/* copy the _unscaled_ advance width */
@@ -427,23 +426,26 @@
#if 1
/* apply the font matrix, if any */
- if ( font_matrix.xx != 0x10000L || font_matrix.yy != font_matrix.xx ||
- font_matrix.xy != 0 || font_matrix.yx != 0 )
+ if ( font_matrix.xx != 0x10000L || font_matrix.yy != 0x10000L ||
+ font_matrix.xy != 0 || font_matrix.yx != 0 )
+ {
FT_Outline_Transform( &t1glyph->outline, &font_matrix );
+ metrics->horiAdvance = FT_MulFix( metrics->horiAdvance,
+ font_matrix.xx );
+ metrics->vertAdvance = FT_MulFix( metrics->vertAdvance,
+ font_matrix.yy );
+ }
+
if ( font_offset.x || font_offset.y )
+ {
FT_Outline_Translate( &t1glyph->outline,
font_offset.x,
font_offset.y );
- advance.x = metrics->horiAdvance;
- advance.y = 0;
- FT_Vector_Transform( &advance, &font_matrix );
- metrics->horiAdvance = advance.x + font_offset.x;
- advance.x = 0;
- advance.y = metrics->vertAdvance;
- FT_Vector_Transform( &advance, &font_matrix );
- metrics->vertAdvance = advance.y + font_offset.y;
+ metrics->horiAdvance += font_offset.x;
+ metrics->vertAdvance += font_offset.y;
+ }
#endif
if ( ( load_flags & FT_LOAD_NO_SCALE ) == 0 )
diff --git a/lib/freetype/src/type1/t1load.c b/lib/freetype/src/type1/t1load.c
index 376c90ce2..dbf4eafd7 100644
--- a/lib/freetype/src/type1/t1load.c
+++ b/lib/freetype/src/type1/t1load.c
@@ -615,6 +615,15 @@
goto Exit;
}
+ name = (FT_Byte*)blend->axis_names[n];
+ if ( name )
+ {
+ FT_TRACE0(( "parse_blend_axis_types:"
+ " overwriting axis name `%s' with `%*.s'\n",
+ name, len, token->start ));
+ FT_FREE( name );
+ }
+
if ( FT_ALLOC( blend->axis_names[n], len + 1 ) )
goto Exit;
@@ -787,6 +796,13 @@
goto Exit;
}
+ if ( map->design_points )
+ {
+ FT_ERROR(( "parse_blend_design_map: duplicate table\n" ));
+ error = FT_THROW( Invalid_File_Format );
+ goto Exit;
+ }
+
/* allocate design map data */
if ( FT_NEW_ARRAY( map->design_points, num_points * 2 ) )
goto Exit;
@@ -1107,6 +1123,7 @@
FT_Int result;
+ /* input is scaled by 1000 to accommodate default FontMatrix */
result = T1_ToFixedArray( parser, 6, temp, 3 );
if ( result < 6 )
@@ -1124,15 +1141,12 @@
return;
}
- /* Set Units per EM based on FontMatrix values. We set the value to */
- /* 1000 / temp_scale, because temp_scale was already multiplied by */
- /* 1000 (in t1_tofixed, from psobjs.c). */
-
- root->units_per_EM = (FT_UShort)FT_DivFix( 1000, temp_scale );
-
- /* we need to scale the values by 1.0/temp_scale */
+ /* atypical case */
if ( temp_scale != 0x10000L )
{
+ /* set units per EM based on FontMatrix values */
+ root->units_per_EM = (FT_UShort)FT_DivFix( 1000, temp_scale );
+
temp[0] = FT_DivFix( temp[0], temp_scale );
temp[1] = FT_DivFix( temp[1], temp_scale );
temp[2] = FT_DivFix( temp[2], temp_scale );
@@ -1194,10 +1208,27 @@
else
count = (FT_Int)T1_ToInt( parser );
+ /* only composite fonts (which we don't support) */
+ /* can have larger values */
+ if ( count > 256 )
+ {
+ FT_ERROR(( "parse_encoding: invalid encoding array size\n" ));
+ parser->root.error = FT_THROW( Invalid_File_Format );
+ return;
+ }
+
T1_Skip_Spaces( parser );
if ( parser->root.cursor >= limit )
return;
+ /* PostScript happily allows overwriting of encoding arrays */
+ if ( encode->char_index )
+ {
+ FT_FREE( encode->char_index );
+ FT_FREE( encode->char_name );
+ T1_Release_Table( char_table );
+ }
+
/* we use a T1_Table to store our charnames */
loader->num_chars = encode->num_chars = count;
if ( FT_NEW_ARRAY( encode->char_index, count ) ||
@@ -1510,7 +1541,7 @@
PSAux_Service psaux = (PSAux_Service)face->psaux;
- FT_Byte* cur;
+ FT_Byte* cur = parser->root.cursor;
FT_Byte* limit = parser->root.limit;
FT_Int n, num_glyphs;
FT_Int notdef_index = 0;
@@ -1524,6 +1555,15 @@
goto Fail;
}
+ /* we certainly need more than 8 bytes per glyph */
+ if ( num_glyphs > ( limit - cur ) >> 3 )
+ {
+ FT_TRACE0(( "parse_charstrings: adjusting number of glyphs"
+ " (from %d to %d)\n",
+ num_glyphs, ( limit - cur ) >> 3 ));
+ num_glyphs = ( limit - cur ) >> 3;
+ }
+
/* some fonts like Optima-Oblique not only define the /CharStrings */
/* array but access it also */
if ( num_glyphs == 0 || parser->root.error )
diff --git a/lib/freetype/src/type1/t1objs.c b/lib/freetype/src/type1/t1objs.c
index af8988855..d921063ea 100644
--- a/lib/freetype/src/type1/t1objs.c
+++ b/lib/freetype/src/type1/t1objs.c
@@ -345,7 +345,7 @@
goto Exit;
/* check the face index */
- if ( face_index > 0 )
+ if ( ( face_index & 0xFFFF ) > 0 )
{
FT_ERROR(( "T1_Face_Init: invalid face index\n" ));
error = FT_THROW( Invalid_Argument );
@@ -375,9 +375,6 @@
if ( face->blend )
root->face_flags |= FT_FACE_FLAG_MULTIPLE_MASTERS;
- /* XXX: TODO -- add kerning with .afm support */
-
-
/* The following code to extract the family and the style is very */
/* simplistic and might get some things wrong. For a full-featured */
/* algorithm you might have a look at the whitepaper given at */
diff --git a/lib/freetype/src/type1/t1parse.c b/lib/freetype/src/type1/t1parse.c
index c73b2b25d..0b6850260 100644
--- a/lib/freetype/src/type1/t1parse.c
+++ b/lib/freetype/src/type1/t1parse.c
@@ -334,7 +334,6 @@
/* first of all, look at the `eexec' keyword */
FT_Byte* cur = parser->base_dict;
FT_Byte* limit = cur + parser->base_len;
- FT_Byte c;
FT_Pointer pos_lf;
FT_Bool test_cr;
@@ -342,9 +341,9 @@
Again:
for (;;)
{
- c = cur[0];
- if ( c == 'e' && cur + 9 < limit ) /* 9 = 5 letters for `eexec' + */
- /* whitespace + 4 chars */
+ if ( cur[0] == 'e' &&
+ cur + 9 < limit ) /* 9 = 5 letters for `eexec' + */
+ /* whitespace + 4 chars */
{
if ( cur[1] == 'e' &&
cur[2] == 'x' &&
@@ -374,8 +373,15 @@
while ( cur < limit )
{
- if ( *cur == 'e' && ft_strncmp( (char*)cur, "eexec", 5 ) == 0 )
- goto Found;
+ if ( cur[0] == 'e' &&
+ cur + 5 < limit )
+ {
+ if ( cur[1] == 'e' &&
+ cur[2] == 'x' &&
+ cur[3] == 'e' &&
+ cur[4] == 'c' )
+ goto Found;
+ }
T1_Skip_PS_Token( parser );
if ( parser->root.error )
@@ -389,6 +395,15 @@
cur = limit;
limit = parser->base_dict + parser->base_len;
+
+ if ( cur >= limit )
+ {
+ FT_ERROR(( "T1_Get_Private_Dict:"
+ " premature end in private dictionary\n" ));
+ error = FT_THROW( Invalid_File_Format );
+ goto Exit;
+ }
+
goto Again;
/* now determine where to write the _encrypted_ binary private */
diff --git a/lib/freetype/src/type42/Jamfile b/lib/freetype/src/type42/Jamfile
index e0db3cca8..722953d37 100644
--- a/lib/freetype/src/type42/Jamfile
+++ b/lib/freetype/src/type42/Jamfile
@@ -16,7 +16,10 @@ SubDir FT2_TOP $(FT2_SRC_DIR) type42 ;
if $(FT2_MULTI)
{
- _sources = t42objs t42parse t42drivr ;
+ _sources = t42drivr
+ t42objs
+ t42parse
+ ;
}
else
{
diff --git a/lib/freetype/src/type42/t42objs.c b/lib/freetype/src/type42/t42objs.c
index 2756adfee..430871ace 100644
--- a/lib/freetype/src/type42/t42objs.c
+++ b/lib/freetype/src/type42/t42objs.c
@@ -208,7 +208,7 @@
goto Exit;
/* check the face index */
- if ( face_index > 0 )
+ if ( ( face_index & 0xFFFF ) > 0 )
{
FT_ERROR(( "T42_Face_Init: invalid face index\n" ));
error = FT_THROW( Invalid_Argument );
@@ -652,11 +652,16 @@
FT_Error error;
T42_GlyphSlot t42slot = (T42_GlyphSlot)glyph;
T42_Size t42size = (T42_Size)size;
+ T42_Face t42face = (T42_Face)size->face;
FT_Driver_Class ttclazz = ((T42_Driver)glyph->face->driver)->ttclazz;
FT_TRACE1(( "T42_GlyphSlot_Load: glyph index %d\n", glyph_index ));
+ /* map T42 glyph index to embedded TTF's glyph index */
+ glyph_index = (FT_UInt)ft_atol(
+ (const char *)t42face->type1.charstrings[glyph_index] );
+
t42_glyphslot_clear( t42slot->ttslot );
error = ttclazz->load_glyph( t42slot->ttslot,
t42size->ttsize,
diff --git a/lib/freetype/src/type42/t42parse.c b/lib/freetype/src/type42/t42parse.c
index 109e996e0..003b63ed7 100644
--- a/lib/freetype/src/type42/t42parse.c
+++ b/lib/freetype/src/type42/t42parse.c
@@ -246,13 +246,12 @@
T42_Parser parser = &loader->parser;
FT_Matrix* matrix = &face->type1.font_matrix;
FT_Vector* offset = &face->type1.font_offset;
- FT_Face root = (FT_Face)&face->root;
FT_Fixed temp[6];
FT_Fixed temp_scale;
FT_Int result;
- result = T1_ToFixedArray( parser, 6, temp, 3 );
+ result = T1_ToFixedArray( parser, 6, temp, 0 );
if ( result < 6 )
{
@@ -264,18 +263,12 @@
if ( temp_scale == 0 )
{
- FT_ERROR(( "t1_parse_font_matrix: invalid font matrix\n" ));
+ FT_ERROR(( "t42_parse_font_matrix: invalid font matrix\n" ));
parser->root.error = FT_THROW( Invalid_File_Format );
return;
}
- /* Set Units per EM based on FontMatrix values. We set the value to */
- /* 1000 / temp_scale, because temp_scale was already multiplied by */
- /* 1000 (in t1_tofixed, from psobjs.c). */
-
- root->units_per_EM = (FT_UShort)FT_DivFix( 1000, temp_scale );
-
- /* we need to scale the values by 1.0/temp_scale */
+ /* atypical case */
if ( temp_scale != 0x10000L )
{
temp[0] = FT_DivFix( temp[0], temp_scale );
@@ -339,10 +332,27 @@
else
count = (FT_Int)T1_ToInt( parser );
+ /* only composite fonts (which we don't support) */
+ /* can have larger values */
+ if ( count > 256 )
+ {
+ FT_ERROR(( "t42_parse_encoding: invalid encoding array size\n" ));
+ parser->root.error = FT_THROW( Invalid_File_Format );
+ return;
+ }
+
T1_Skip_Spaces( parser );
if ( parser->root.cursor >= limit )
return;
+ /* PostScript happily allows overwriting of encoding arrays */
+ if ( encode->char_index )
+ {
+ FT_FREE( encode->char_index );
+ FT_FREE( encode->char_name );
+ T1_Release_Table( char_table );
+ }
+
/* we use a T1_Table to store our charnames */
loader->num_chars = encode->num_chars = count;
if ( FT_NEW_ARRAY( encode->char_index, count ) ||
@@ -421,6 +431,13 @@
{
charcode = (FT_Int)T1_ToInt( parser );
T1_Skip_Spaces( parser );
+
+ /* protect against invalid charcode */
+ if ( cur == parser->root.cursor )
+ {
+ parser->root.error = FT_THROW( Unknown_File_Format );
+ return;
+ }
}
cur = parser->root.cursor;
@@ -455,10 +472,10 @@
/* immediates-only mode we would get an infinite loop if */
/* we don't do anything here. */
/* */
- /* This encoding array is not valid according to the type1 */
- /* specification (it might be an encoding for a CID type1 */
- /* font, however), so we conclude that this font is NOT a */
- /* type1 font. */
+ /* This encoding array is not valid according to the */
+ /* type42 specification (it might be an encoding for a CID */
+ /* type42 font, however), so we conclude that this font is */
+ /* NOT a type42 font. */
parser->root.error = FT_THROW( Unknown_File_Format );
return;
}
@@ -494,7 +511,7 @@
face->type1.encoding_type = T1_ENCODING_TYPE_ISOLATIN1;
else
- parser->root.error = FT_THROW( Ignore );
+ parser->root.error = FT_ERR( Ignore );
}
}
@@ -824,6 +841,15 @@
/* initialize tables */
+ /* contrary to Type1, we disallow multiple CharStrings arrays */
+ if ( swap_table->init )
+ {
+ FT_ERROR(( "t42_parse_charstrings:"
+ " only one CharStrings array allowed\n" ));
+ error = FT_THROW( Invalid_File_Format );
+ goto Fail;
+ }
+
error = psaux->ps_table_funcs->init( code_table,
loader->num_glyphs,
memory );
diff --git a/lib/freetype/src/winfonts/winfnt.c b/lib/freetype/src/winfonts/winfnt.c
index 06f1861af..4bfa55a42 100644
--- a/lib/freetype/src/winfonts/winfnt.c
+++ b/lib/freetype/src/winfonts/winfnt.c
@@ -269,16 +269,19 @@
static FT_Error
fnt_face_get_dll_font( FNT_Face face,
- FT_Int face_index )
+ FT_Int face_instance_index )
{
FT_Error error;
FT_Stream stream = FT_FACE( face )->stream;
FT_Memory memory = FT_FACE( face )->memory;
WinMZ_HeaderRec mz_header;
+ FT_Long face_index;
face->font = NULL;
+ face_index = FT_ABS( face_instance_index ) & 0xFFFF;
+
/* does it begin with an MZ header? */
if ( FT_STREAM_SEEK( 0 ) ||
FT_STREAM_READ_FIELDS( winmz_header_fields, &mz_header ) )
@@ -317,6 +320,21 @@
size_shift = FT_GET_USHORT_LE();
+ /* Microsoft's specification of the executable-file header format */
+ /* for `New Executable' (NE) doesn't give a limit for the */
+ /* alignment shift count; however, in 1985, the year of the */
+ /* specification release, only 32bit values were supported, thus */
+ /* anything larger than 16 doesn't make sense in general, given */
+ /* that file offsets are 16bit values, shifted by the alignment */
+ /* shift count */
+ if ( size_shift > 16 )
+ {
+ FT_TRACE2(( "invalid alignment shift count for resource data\n" ));
+ error = FT_THROW( Invalid_File_Format );
+ goto Exit;
+ }
+
+
for (;;)
{
FT_UShort type_id, count;
@@ -359,13 +377,14 @@
face->root.num_faces = font_count;
+ if ( face_instance_index < 0 )
+ goto Exit;
+
if ( face_index >= font_count )
{
error = FT_THROW( Invalid_Argument );
goto Exit;
}
- else if ( face_index < 0 )
- goto Exit;
if ( FT_NEW( face->font ) )
goto Exit;
@@ -689,13 +708,14 @@
static FT_Error
FNT_Face_Init( FT_Stream stream,
FT_Face fntface, /* FNT_Face */
- FT_Int face_index,
+ FT_Int face_instance_index,
FT_Int num_params,
FT_Parameter* params )
{
FNT_Face face = (FNT_Face)fntface;
FT_Error error;
FT_Memory memory = FT_FACE_MEMORY( face );
+ FT_Int face_index;
FT_UNUSED( num_params );
FT_UNUSED( params );
@@ -703,9 +723,11 @@
FT_TRACE2(( "Windows FNT driver\n" ));
+ face_index = FT_ABS( face_instance_index ) & 0xFFFF;
+
/* try to load font from a DLL */
- error = fnt_face_get_dll_font( face, face_index );
- if ( !error && face_index < 0 )
+ error = fnt_face_get_dll_font( face, face_instance_index );
+ if ( !error && face_instance_index < 0 )
goto Exit;
if ( FT_ERR_EQ( error, Unknown_File_Format ) )
@@ -726,10 +748,11 @@
if ( !error )
{
+ if ( face_instance_index < 0 )
+ goto Exit;
+
if ( face_index > 0 )
error = FT_THROW( Invalid_Argument );
- else if ( face_index < 0 )
- goto Exit;
}
}