From d18ce5e8e743728440f9de43e7a1f27e8d5771dc Mon Sep 17 00:00:00 2001
From: Remy Marquis
Date: Mon, 25 May 2020 21:29:37 +0200
Subject: [PATCH] libs: updated to FreeType 2.10.2
---
freetype/CMakeLists.txt | 139 +-
freetype/ChangeLog | 1173 ++++++++-
freetype/ChangeLog.20 | 2 +-
freetype/ChangeLog.21 | 2 +-
freetype/ChangeLog.22 | 2 +-
freetype/ChangeLog.23 | 2 +-
freetype/ChangeLog.24 | 2 +-
freetype/ChangeLog.25 | 2 +-
freetype/ChangeLog.26 | 2 +-
freetype/ChangeLog.27 | 2 +-
freetype/ChangeLog.28 | 2 +-
freetype/ChangeLog.29 | 2 +-
freetype/Jamfile | 17 +-
freetype/Jamrules | 2 +-
freetype/Makefile | 2 +-
freetype/README | 19 +-
freetype/README.git | 2 +-
freetype/autogen.sh | 2 +-
freetype/builds/amiga/README | 2 +-
.../builds/amiga/include/config/ftconfig.h | 2 +-
.../builds/amiga/include/config/ftmodule.h | 2 +-
freetype/builds/amiga/makefile | 2 +-
freetype/builds/amiga/makefile.os4 | 2 +-
freetype/builds/amiga/smakefile | 2 +-
freetype/builds/amiga/src/base/ftdebug.c | 2 +-
freetype/builds/amiga/src/base/ftsystem.c | 2 +-
freetype/builds/ansi/ansi-def.mk | 2 +-
freetype/builds/ansi/ansi.mk | 2 +-
freetype/builds/beos/beos-def.mk | 2 +-
freetype/builds/beos/beos.mk | 2 +-
freetype/builds/beos/detect.mk | 2 +-
freetype/builds/cmake/FindBrotliDec.cmake | 51 +
freetype/builds/cmake/FindHarfBuzz.cmake | 72 +-
freetype/builds/cmake/iOS.cmake | 2 +-
freetype/builds/cmake/testbuild.sh | 2 +-
freetype/builds/compiler/ansi-cc.mk | 2 +-
freetype/builds/compiler/bcc-dev.mk | 2 +-
freetype/builds/compiler/bcc.mk | 2 +-
freetype/builds/compiler/emx.mk | 2 +-
freetype/builds/compiler/gcc-dev.mk | 2 +-
freetype/builds/compiler/gcc.mk | 2 +-
freetype/builds/compiler/intelc.mk | 2 +-
freetype/builds/compiler/unix-lcc.mk | 2 +-
freetype/builds/compiler/visualage.mk | 2 +-
freetype/builds/compiler/visualc.mk | 2 +-
freetype/builds/compiler/watcom.mk | 2 +-
freetype/builds/compiler/win-lcc.mk | 2 +-
freetype/builds/detect.mk | 4 +-
freetype/builds/dos/detect.mk | 2 +-
freetype/builds/dos/dos-def.mk | 2 +-
freetype/builds/dos/dos-emx.mk | 2 +-
freetype/builds/dos/dos-gcc.mk | 2 +-
freetype/builds/dos/dos-wat.mk | 2 +-
freetype/builds/exports.mk | 2 +-
freetype/builds/freetype.mk | 52 +-
freetype/builds/link_dos.mk | 2 +-
freetype/builds/link_std.mk | 2 +-
freetype/builds/mac/ftmac.c | 2 +-
freetype/builds/modules.mk | 2 +-
freetype/builds/os2/detect.mk | 2 +-
freetype/builds/os2/os2-def.mk | 2 +-
freetype/builds/os2/os2-dev.mk | 2 +-
freetype/builds/os2/os2-gcc.mk | 2 +-
freetype/builds/symbian/bld.inf | 2 +-
freetype/builds/symbian/freetype.mmp | 2 +-
freetype/builds/toplevel.mk | 6 +-
freetype/builds/unix/aclocal.m4 | 2 +
freetype/builds/unix/ax_compare_version.m4 | 177 ++
.../builds/unix/ax_prog_python_version.m4 | 66 +
freetype/builds/unix/config.guess | 24 +-
freetype/builds/unix/config.sub | 31 +-
freetype/builds/unix/configure | 304 ++-
freetype/builds/unix/configure.ac | 89 +-
freetype/builds/unix/configure.raw | 87 +-
freetype/builds/unix/detect.mk | 2 +-
freetype/builds/unix/freetype-config.in | 2 +-
freetype/builds/unix/freetype2.m4 | 2 +-
freetype/builds/unix/ft-munmap.m4 | 2 +-
freetype/builds/unix/ftconfig.in | 2 +-
freetype/builds/unix/ftsystem.c | 2 +-
freetype/builds/unix/install.mk | 2 +-
freetype/builds/unix/unix-cc.in | 17 +-
freetype/builds/unix/unix-def.in | 3 +-
freetype/builds/unix/unix-dev.mk | 2 +-
freetype/builds/unix/unix-lcc.mk | 2 +-
freetype/builds/unix/unix.mk | 2 +-
freetype/builds/unix/unixddef.mk | 2 +-
freetype/builds/vms/ftconfig.h | 2 +-
freetype/builds/vms/ftsystem.c | 2 +-
freetype/builds/wince/ftdebug.c | 2 +-
.../builds/wince/vc2005-ce/freetype.vcproj | 80 +-
freetype/builds/wince/vc2005-ce/index.html | 10 +-
.../builds/wince/vc2008-ce/freetype.vcproj | 85 +-
freetype/builds/wince/vc2008-ce/index.html | 10 +-
freetype/builds/windows/detect.mk | 2 +-
freetype/builds/windows/ftdebug.c | 2 +-
freetype/builds/windows/vc2010/index.html | 2 +-
freetype/builds/windows/visualc/index.html | 2 +-
freetype/builds/windows/visualce/freetype.dsp | 28 +-
.../builds/windows/visualce/freetype.vcproj | 93 +-
freetype/builds/windows/visualce/index.html | 10 +-
freetype/builds/windows/w32-bcc.mk | 2 +-
freetype/builds/windows/w32-bccd.mk | 2 +-
freetype/builds/windows/w32-dev.mk | 2 +-
freetype/builds/windows/w32-gcc.mk | 2 +-
freetype/builds/windows/w32-icc.mk | 2 +-
freetype/builds/windows/w32-intl.mk | 2 +-
freetype/builds/windows/w32-lcc.mk | 2 +-
freetype/builds/windows/w32-mingw32.mk | 2 +-
freetype/builds/windows/w32-vcc.mk | 2 +-
freetype/builds/windows/w32-wat.mk | 2 +-
freetype/builds/windows/win32-def.mk | 2 +-
freetype/configure | 10 +-
freetype/devel/ft2build.h | 3 +-
freetype/devel/ftoption.h | 22 +-
freetype/docs/CHANGES | 39 +-
freetype/docs/CUSTOMIZE | 2 +-
freetype/docs/DEBUG | 135 +-
freetype/docs/DOCGUIDE | 2 +-
freetype/docs/INSTALL | 2 +-
freetype/docs/INSTALL.ANY | 2 +-
freetype/docs/INSTALL.CROSS | 2 +-
freetype/docs/INSTALL.GNU | 4 +-
freetype/docs/INSTALL.UNIX | 2 +-
freetype/docs/INSTALL.VMS | 2 +-
freetype/docs/{reference => }/README | 16 +-
freetype/docs/TODO | 2 +-
freetype/docs/VERSIONS.TXT | 97 +-
freetype/docs/formats.txt | 2 +-
freetype/docs/freetype-config.1 | 2 +-
freetype/docs/raster.txt | 2 +-
freetype/docs/reference/{site => }/404.html | 50 +-
.../{site => }/assets/fonts/font-awesome.css | 0
.../assets/fonts/material-icons.css | 0
.../assets/fonts/specimen/FontAwesome.ttf | Bin
.../assets/fonts/specimen/FontAwesome.woff | Bin
.../assets/fonts/specimen/FontAwesome.woff2 | Bin
.../fonts/specimen/MaterialIcons-Regular.ttf | Bin
.../fonts/specimen/MaterialIcons-Regular.woff | Bin
.../specimen/MaterialIcons-Regular.woff2 | Bin
.../{site => }/assets/images/favicon.png | Bin
.../images/icons/bitbucket.1b09e088.svg | 1 +
.../assets/images/icons/github.f0b8504a.svg | 1 +
.../assets/images/icons/gitlab.6dd19c00.svg | 1 +
.../javascripts/application.c33a9706.js | 60 +
.../assets/javascripts/lunr/lunr.ar.js | 20 +
.../assets/javascripts/lunr/lunr.da.js | 16 +
.../assets/javascripts/lunr/lunr.de.js | 16 +
.../assets/javascripts/lunr/lunr.du.js | 16 +
.../assets/javascripts/lunr/lunr.es.js | 16 +
.../assets/javascripts/lunr/lunr.fi.js | 16 +
.../assets/javascripts/lunr/lunr.fr.js | 16 +
.../assets/javascripts/lunr/lunr.hu.js | 16 +
.../assets/javascripts/lunr/lunr.it.js | 16 +
.../assets/javascripts/lunr/lunr.ja.js | 16 +
.../assets/javascripts/lunr/lunr.jp.js | 0
.../assets/javascripts/lunr/lunr.multi.js | 1 +
.../assets/javascripts/lunr/lunr.nl.js | 16 +
.../assets/javascripts/lunr/lunr.no.js | 16 +
.../assets/javascripts/lunr/lunr.pt.js | 16 +
.../assets/javascripts/lunr/lunr.ro.js | 16 +
.../assets/javascripts/lunr/lunr.ru.js | 16 +
.../javascripts/lunr/lunr.stemmer.support.js | 8 +
.../assets/javascripts/lunr/lunr.sv.js | 16 +
.../assets/javascripts/lunr/lunr.th.js | 16 +
.../assets/javascripts/lunr/lunr.tr.js | 16 +
.../assets/javascripts/lunr/lunr.vi.js | 17 +
.../assets/javascripts/lunr/tinyseg.js | 1 +
.../assets/javascripts/lunr/wordcut.js | 0
.../assets/javascripts/modernizr.86422ebf.js | 1 +
.../application-palette.a8b3c06d.css | 1 +
.../stylesheets/application.adb8469c.css | 1 +
.../reference/{site => }/ft2-auto_hinter.html | 59 +-
.../{site => }/ft2-base_interface.html | 1006 +++----
.../reference/{site => }/ft2-basic_types.html | 507 ++--
.../reference/{site => }/ft2-bdf_fonts.html | 114 +-
.../{site => }/ft2-bitmap_handling.html | 136 +-
.../docs/reference/{site => }/ft2-bzip2.html | 70 +-
.../{site => }/ft2-cache_subsystem.html | 367 +--
.../reference/{site => }/ft2-cff_driver.html | 59 +-
.../reference/{site => }/ft2-cid_fonts.html | 92 +-
.../{site => }/ft2-color_management.html | 132 +-
.../{site => }/ft2-computations.html | 323 +--
.../{site => }/ft2-error_code_values.html | 74 +-
.../{site => }/ft2-error_enumerations.html | 94 +-
.../{site => }/ft2-font_formats.html | 70 +-
.../reference/{site => }/ft2-gasp_table.html | 81 +-
.../{site => }/ft2-glyph_management.html | 229 +-
.../{site => }/ft2-glyph_stroker.html | 310 +--
.../{site => }/ft2-glyph_variants.html | 114 +-
.../{site => }/ft2-gx_validation.html | 316 ++-
.../docs/reference/{site => }/ft2-gzip.html | 81 +-
.../{site => }/ft2-header_file_macros.html | 602 ++---
.../{site => }/ft2-header_inclusion.html | 63 +-
.../reference/{site => }/ft2-incremental.html | 166 +-
.../docs/reference/{site => }/ft2-index.html | 107 +-
.../{site => }/ft2-layer_management.html | 85 +-
.../{site => }/ft2-lcd_rendering.html | 114 +-
.../{site => }/ft2-list_processing.html | 202 +-
.../docs/reference/{site => }/ft2-lzw.html | 70 +-
.../{site => }/ft2-mac_specific.html | 129 +-
.../{site => }/ft2-module_management.html | 332 +--
.../{site => }/ft2-multiple_masters.html | 279 +-
.../{site => }/ft2-ot_validation.html | 224 +-
.../{site => }/ft2-outline_processing.html | 320 +--
.../{site => }/ft2-parameter_tags.html | 136 +-
.../reference/{site => }/ft2-pcf_driver.html | 59 +-
.../reference/{site => }/ft2-pfr_fonts.html | 92 +-
.../reference/{site => }/ft2-properties.html | 214 +-
.../{site => }/ft2-quick_advance.html | 92 +-
.../docs/reference/{site => }/ft2-raster.html | 202 +-
.../reference/{site => }/ft2-sfnt_names.html | 114 +-
.../{site => }/ft2-sizes_management.html | 92 +-
.../{site => }/ft2-system_interface.html | 169 +-
.../{site => }/ft2-t1_cid_driver.html | 59 +-
.../{site => }/ft2-truetype_engine.html | 85 +-
.../{site => }/ft2-truetype_tables.html | 331 +--
.../reference/{site => }/ft2-tt_driver.html | 59 +-
.../{site => }/ft2-type1_tables.html | 268 +-
.../{site => }/ft2-user_allocation.html | 59 +-
.../reference/{site => }/ft2-version.html | 105 +-
.../{site => }/ft2-winfnt_fonts.html | 103 +-
.../reference/{site => }/images/favico.ico | Bin
freetype/docs/reference/{site => }/index.html | 67 +-
.../reference/{site => }/javascripts/extra.js | 0
.../docs/reference/search/search_index.json | 1 +
.../images/icons/bitbucket.1b09e088.svg | 20 -
.../assets/images/icons/github.f0b8504a.svg | 18 -
.../assets/images/icons/gitlab.6dd19c00.svg | 38 -
.../javascripts/application.d9aa80ab.js | 6 -
.../assets/javascripts/lunr/lunr.multi.js | 1 -
.../site/assets/javascripts/lunr/tinyseg.js | 1 -
.../assets/javascripts/modernizr.1f0bcf2b.js | 1 -
.../application-palette.224b79ff.css | 1 -
.../stylesheets/application.982221ab.css | 1 -
.../reference/site/search/search_index.json | 1 -
freetype/docs/reference/site/sitemap.xml.gz | Bin 221 -> 0 bytes
.../docs/reference/{site => }/sitemap.xml | 255 +-
freetype/docs/reference/sitemap.xml.gz | Bin 0 -> 220 bytes
.../{site => }/stylesheets/extra.css | 56 +-
freetype/docs/release | 2 +-
freetype/include/freetype/config/ftconfig.h | 2 +-
freetype/include/freetype/config/ftheader.h | 2 +-
freetype/include/freetype/config/ftoption.h | 22 +-
freetype/include/freetype/config/ftstdlib.h | 2 +-
freetype/include/freetype/freetype.h | 35 +-
freetype/include/freetype/ftadvanc.h | 2 +-
freetype/include/freetype/ftbbox.h | 2 +-
freetype/include/freetype/ftbdf.h | 2 +-
freetype/include/freetype/ftbitmap.h | 2 +-
freetype/include/freetype/ftbzip2.h | 2 +-
freetype/include/freetype/ftcache.h | 2 +-
freetype/include/freetype/ftcid.h | 2 +-
freetype/include/freetype/ftcolor.h | 17 +-
freetype/include/freetype/ftdriver.h | 2 +-
freetype/include/freetype/fterrdef.h | 2 +-
freetype/include/freetype/fterrors.h | 2 +-
freetype/include/freetype/ftfntfmt.h | 2 +-
freetype/include/freetype/ftgasp.h | 2 +-
freetype/include/freetype/ftglyph.h | 2 +-
freetype/include/freetype/ftgxval.h | 2 +-
freetype/include/freetype/ftgzip.h | 2 +-
freetype/include/freetype/ftimage.h | 2 +-
freetype/include/freetype/ftincrem.h | 2 +-
freetype/include/freetype/ftlcdfil.h | 2 +-
freetype/include/freetype/ftlist.h | 2 +-
freetype/include/freetype/ftlzw.h | 2 +-
freetype/include/freetype/ftmac.h | 2 +-
freetype/include/freetype/ftmm.h | 2 +-
freetype/include/freetype/ftmodapi.h | 2 +-
freetype/include/freetype/ftmoderr.h | 2 +-
freetype/include/freetype/ftotval.h | 2 +-
freetype/include/freetype/ftoutln.h | 2 +-
freetype/include/freetype/ftparams.h | 2 +-
freetype/include/freetype/ftpfr.h | 2 +-
freetype/include/freetype/ftrender.h | 2 +-
freetype/include/freetype/ftsizes.h | 2 +-
freetype/include/freetype/ftsnames.h | 2 +-
freetype/include/freetype/ftstroke.h | 36 +-
freetype/include/freetype/ftsynth.h | 2 +-
freetype/include/freetype/ftsystem.h | 2 +-
freetype/include/freetype/fttrigon.h | 2 +-
freetype/include/freetype/fttypes.h | 2 +-
freetype/include/freetype/ftwinfnt.h | 2 +-
freetype/include/freetype/internal/autohint.h | 2 +-
.../include/freetype/internal/cffotypes.h | 2 +-
freetype/include/freetype/internal/cfftypes.h | 2 +-
freetype/include/freetype/internal/ftcalc.h | 2 +-
freetype/include/freetype/internal/ftdebug.h | 2 +-
freetype/include/freetype/internal/ftdrv.h | 2 +-
freetype/include/freetype/internal/ftgloadr.h | 2 +-
freetype/include/freetype/internal/ftmemory.h | 18 +-
freetype/include/freetype/internal/ftobjs.h | 2 +-
freetype/include/freetype/internal/ftpsprop.h | 2 +-
freetype/include/freetype/internal/ftrfork.h | 2 +-
freetype/include/freetype/internal/ftserv.h | 2 +-
freetype/include/freetype/internal/ftstream.h | 2 +-
freetype/include/freetype/internal/fttrace.h | 3 +-
freetype/include/freetype/internal/ftvalid.h | 2 +-
freetype/include/freetype/internal/internal.h | 2 +-
freetype/include/freetype/internal/psaux.h | 2 +-
freetype/include/freetype/internal/pshints.h | 2 +-
.../freetype/internal/services/svbdf.h | 2 +-
.../freetype/internal/services/svcfftl.h | 2 +-
.../freetype/internal/services/svcid.h | 2 +-
.../freetype/internal/services/svfntfmt.h | 2 +-
.../freetype/internal/services/svgldict.h | 2 +-
.../freetype/internal/services/svgxval.h | 2 +-
.../freetype/internal/services/svkern.h | 2 +-
.../freetype/internal/services/svmetric.h | 2 +-
.../include/freetype/internal/services/svmm.h | 2 +-
.../freetype/internal/services/svotval.h | 2 +-
.../freetype/internal/services/svpfr.h | 2 +-
.../freetype/internal/services/svpostnm.h | 2 +-
.../freetype/internal/services/svprop.h | 2 +-
.../freetype/internal/services/svpscmap.h | 2 +-
.../freetype/internal/services/svpsinfo.h | 2 +-
.../freetype/internal/services/svsfnt.h | 2 +-
.../freetype/internal/services/svttcmap.h | 2 +-
.../freetype/internal/services/svtteng.h | 2 +-
.../freetype/internal/services/svttglyf.h | 2 +-
.../freetype/internal/services/svwinfnt.h | 2 +-
freetype/include/freetype/internal/sfnt.h | 2 +-
freetype/include/freetype/internal/t1types.h | 2 +-
freetype/include/freetype/internal/tttypes.h | 2 +-
.../include/freetype/internal/wofftypes.h | 203 +-
freetype/include/freetype/t1tables.h | 2 +-
freetype/include/freetype/ttnameid.h | 2 +-
freetype/include/freetype/tttables.h | 2 +-
freetype/include/freetype/tttags.h | 3 +-
freetype/include/ft2build.h | 2 +-
freetype/modules.cfg | 2 +-
freetype/src/Jamfile | 2 +-
freetype/src/autofit/Jamfile | 2 +-
freetype/src/autofit/afangles.c | 2 +-
freetype/src/autofit/afblue.c | 12 +-
freetype/src/autofit/afblue.cin | 2 +-
freetype/src/autofit/afblue.dat | 15 +-
freetype/src/autofit/afblue.h | 88 +-
freetype/src/autofit/afblue.hin | 2 +-
freetype/src/autofit/afcjk.c | 4 +-
freetype/src/autofit/afcjk.h | 2 +-
freetype/src/autofit/afcover.h | 2 +-
freetype/src/autofit/afdummy.c | 2 +-
freetype/src/autofit/afdummy.h | 2 +-
freetype/src/autofit/aferrors.h | 2 +-
freetype/src/autofit/afglobal.c | 2 +-
freetype/src/autofit/afglobal.h | 2 +-
freetype/src/autofit/afhints.c | 2 +-
freetype/src/autofit/afhints.h | 2 +-
freetype/src/autofit/afindic.c | 2 +-
freetype/src/autofit/afindic.h | 2 +-
freetype/src/autofit/aflatin.c | 6 +-
freetype/src/autofit/aflatin.h | 2 +-
freetype/src/autofit/aflatin2.c | 3 +-
freetype/src/autofit/aflatin2.h | 2 +-
freetype/src/autofit/afloader.c | 2 +-
freetype/src/autofit/afloader.h | 2 +-
freetype/src/autofit/afmodule.c | 2 +-
freetype/src/autofit/afmodule.h | 2 +-
freetype/src/autofit/afranges.c | 14 +-
freetype/src/autofit/afranges.h | 2 +-
freetype/src/autofit/afscript.h | 8 +-
freetype/src/autofit/afshaper.c | 2 +-
freetype/src/autofit/afshaper.h | 2 +-
freetype/src/autofit/afstyles.h | 9 +-
freetype/src/autofit/aftypes.h | 2 +-
freetype/src/autofit/afwarp.c | 2 +-
freetype/src/autofit/afwarp.h | 2 +-
freetype/src/autofit/afwrtsys.h | 2 +-
freetype/src/autofit/autofit.c | 2 +-
freetype/src/autofit/module.mk | 2 +-
freetype/src/autofit/rules.mk | 2 +-
freetype/src/base/Jamfile | 2 +-
freetype/src/base/ftadvanc.c | 2 +-
freetype/src/base/ftbase.c | 2 +-
freetype/src/base/ftbase.h | 2 +-
freetype/src/base/ftbbox.c | 10 +-
freetype/src/base/ftbdf.c | 2 +-
freetype/src/base/ftbitmap.c | 2 +-
freetype/src/base/ftcalc.c | 2 +-
freetype/src/base/ftcid.c | 2 +-
freetype/src/base/ftcolor.c | 2 +-
freetype/src/base/ftdbgmem.c | 8 +-
freetype/src/base/ftdebug.c | 2 +-
freetype/src/base/fterrors.c | 2 +-
freetype/src/base/ftfntfmt.c | 2 +-
freetype/src/base/ftfstype.c | 2 +-
freetype/src/base/ftgasp.c | 2 +-
freetype/src/base/ftgloadr.c | 22 +-
freetype/src/base/ftglyph.c | 2 +-
freetype/src/base/ftgxval.c | 2 +-
freetype/src/base/ftinit.c | 2 +-
freetype/src/base/ftlcdfil.c | 2 +-
freetype/src/base/ftmac.c | 2 +-
freetype/src/base/ftmm.c | 2 +-
freetype/src/base/ftobjs.c | 2 +-
freetype/src/base/ftotval.c | 2 +-
freetype/src/base/ftoutln.c | 4 +-
freetype/src/base/ftpatent.c | 2 +-
freetype/src/base/ftpfr.c | 2 +-
freetype/src/base/ftpsprop.c | 6 +-
freetype/src/base/ftrfork.c | 2 +-
freetype/src/base/ftsnames.c | 2 +-
freetype/src/base/ftstream.c | 4 +-
freetype/src/base/ftstroke.c | 219 +-
freetype/src/base/ftsynth.c | 2 +-
freetype/src/base/ftsystem.c | 2 +-
freetype/src/base/fttrigon.c | 2 +-
freetype/src/base/fttype1.c | 2 +-
freetype/src/base/ftutil.c | 2 +-
freetype/src/base/ftver.rc | 8 +-
freetype/src/base/ftwinfnt.c | 2 +-
freetype/src/base/rules.mk | 2 +-
freetype/src/bdf/Jamfile | 2 +-
freetype/src/bzip2/Jamfile | 2 +-
freetype/src/bzip2/ftbzip2.c | 2 +-
freetype/src/bzip2/rules.mk | 2 +-
freetype/src/cache/Jamfile | 2 +-
freetype/src/cache/ftcache.c | 2 +-
freetype/src/cache/ftcbasic.c | 2 +-
freetype/src/cache/ftccache.c | 2 +-
freetype/src/cache/ftccache.h | 2 +-
freetype/src/cache/ftccback.h | 2 +-
freetype/src/cache/ftccmap.c | 2 +-
freetype/src/cache/ftcerror.h | 2 +-
freetype/src/cache/ftcglyph.c | 2 +-
freetype/src/cache/ftcglyph.h | 2 +-
freetype/src/cache/ftcimage.c | 2 +-
freetype/src/cache/ftcimage.h | 2 +-
freetype/src/cache/ftcmanag.c | 2 +-
freetype/src/cache/ftcmanag.h | 2 +-
freetype/src/cache/ftcmru.c | 2 +-
freetype/src/cache/ftcmru.h | 2 +-
freetype/src/cache/ftcsbits.c | 2 +-
freetype/src/cache/ftcsbits.h | 2 +-
freetype/src/cache/rules.mk | 2 +-
freetype/src/cff/Jamfile | 2 +-
freetype/src/cff/cff.c | 2 +-
freetype/src/cff/cffcmap.c | 2 +-
freetype/src/cff/cffcmap.h | 2 +-
freetype/src/cff/cffdrivr.c | 2 +-
freetype/src/cff/cffdrivr.h | 2 +-
freetype/src/cff/cfferrs.h | 2 +-
freetype/src/cff/cffgload.c | 2 +-
freetype/src/cff/cffgload.h | 2 +-
freetype/src/cff/cffload.c | 4 +-
freetype/src/cff/cffload.h | 2 +-
freetype/src/cff/cffobjs.c | 8 +-
freetype/src/cff/cffobjs.h | 2 +-
freetype/src/cff/cffparse.c | 2 +-
freetype/src/cff/cffparse.h | 2 +-
freetype/src/cff/cfftoken.h | 2 +-
freetype/src/cff/module.mk | 2 +-
freetype/src/cff/rules.mk | 2 +-
freetype/src/cid/Jamfile | 2 +-
freetype/src/cid/ciderrs.h | 2 +-
freetype/src/cid/cidgload.c | 2 +-
freetype/src/cid/cidgload.h | 2 +-
freetype/src/cid/cidload.c | 4 +-
freetype/src/cid/cidload.h | 2 +-
freetype/src/cid/cidobjs.c | 2 +-
freetype/src/cid/cidobjs.h | 2 +-
freetype/src/cid/cidparse.c | 2 +-
freetype/src/cid/cidparse.h | 2 +-
freetype/src/cid/cidriver.c | 2 +-
freetype/src/cid/cidriver.h | 2 +-
freetype/src/cid/cidtoken.h | 2 +-
freetype/src/cid/module.mk | 2 +-
freetype/src/cid/rules.mk | 2 +-
freetype/src/cid/type1cid.c | 2 +-
freetype/src/gxvalid/Jamfile | 2 +-
freetype/src/gxvalid/README | 2 +-
freetype/src/gxvalid/gxvalid.c | 2 +-
freetype/src/gxvalid/gxvalid.h | 2 +-
freetype/src/gxvalid/gxvbsln.c | 2 +-
freetype/src/gxvalid/gxvcommn.c | 2 +-
freetype/src/gxvalid/gxvcommn.h | 2 +-
freetype/src/gxvalid/gxverror.h | 2 +-
freetype/src/gxvalid/gxvfeat.c | 2 +-
freetype/src/gxvalid/gxvfeat.h | 2 +-
freetype/src/gxvalid/gxvfgen.c | 2 +-
freetype/src/gxvalid/gxvjust.c | 2 +-
freetype/src/gxvalid/gxvkern.c | 2 +-
freetype/src/gxvalid/gxvlcar.c | 2 +-
freetype/src/gxvalid/gxvmod.c | 2 +-
freetype/src/gxvalid/gxvmod.h | 2 +-
freetype/src/gxvalid/gxvmort.c | 2 +-
freetype/src/gxvalid/gxvmort.h | 2 +-
freetype/src/gxvalid/gxvmort0.c | 2 +-
freetype/src/gxvalid/gxvmort1.c | 2 +-
freetype/src/gxvalid/gxvmort2.c | 2 +-
freetype/src/gxvalid/gxvmort4.c | 2 +-
freetype/src/gxvalid/gxvmort5.c | 2 +-
freetype/src/gxvalid/gxvmorx.c | 2 +-
freetype/src/gxvalid/gxvmorx.h | 2 +-
freetype/src/gxvalid/gxvmorx0.c | 2 +-
freetype/src/gxvalid/gxvmorx1.c | 2 +-
freetype/src/gxvalid/gxvmorx2.c | 2 +-
freetype/src/gxvalid/gxvmorx4.c | 2 +-
freetype/src/gxvalid/gxvmorx5.c | 2 +-
freetype/src/gxvalid/gxvopbd.c | 2 +-
freetype/src/gxvalid/gxvprop.c | 2 +-
freetype/src/gxvalid/gxvtrak.c | 2 +-
freetype/src/gxvalid/module.mk | 2 +-
freetype/src/gxvalid/rules.mk | 2 +-
freetype/src/gzip/Jamfile | 2 +-
freetype/src/gzip/ftgzip.c | 12 +-
freetype/src/gzip/infutil.h | 2 +-
freetype/src/gzip/rules.mk | 2 +-
freetype/src/lzw/Jamfile | 2 +-
freetype/src/lzw/ftlzw.c | 2 +-
freetype/src/lzw/ftzopen.c | 2 +-
freetype/src/lzw/ftzopen.h | 2 +-
freetype/src/lzw/rules.mk | 2 +-
freetype/src/otvalid/Jamfile | 2 +-
freetype/src/otvalid/module.mk | 2 +-
freetype/src/otvalid/otvalid.c | 2 +-
freetype/src/otvalid/otvalid.h | 2 +-
freetype/src/otvalid/otvbase.c | 2 +-
freetype/src/otvalid/otvcommn.c | 5 +-
freetype/src/otvalid/otvcommn.h | 2 +-
freetype/src/otvalid/otverror.h | 2 +-
freetype/src/otvalid/otvgdef.c | 2 +-
freetype/src/otvalid/otvgpos.c | 2 +-
freetype/src/otvalid/otvgpos.h | 2 +-
freetype/src/otvalid/otvgsub.c | 2 +-
freetype/src/otvalid/otvjstf.c | 2 +-
freetype/src/otvalid/otvmath.c | 2 +-
freetype/src/otvalid/otvmod.c | 2 +-
freetype/src/otvalid/otvmod.h | 2 +-
freetype/src/otvalid/rules.mk | 2 +-
freetype/src/pcf/Jamfile | 2 +-
freetype/src/pfr/Jamfile | 2 +-
freetype/src/pfr/module.mk | 2 +-
freetype/src/pfr/pfr.c | 2 +-
freetype/src/pfr/pfrcmap.c | 2 +-
freetype/src/pfr/pfrcmap.h | 2 +-
freetype/src/pfr/pfrdrivr.c | 2 +-
freetype/src/pfr/pfrdrivr.h | 2 +-
freetype/src/pfr/pfrerror.h | 2 +-
freetype/src/pfr/pfrgload.c | 2 +-
freetype/src/pfr/pfrgload.h | 2 +-
freetype/src/pfr/pfrload.c | 2 +-
freetype/src/pfr/pfrload.h | 2 +-
freetype/src/pfr/pfrobjs.c | 2 +-
freetype/src/pfr/pfrobjs.h | 2 +-
freetype/src/pfr/pfrsbit.c | 2 +-
freetype/src/pfr/pfrsbit.h | 2 +-
freetype/src/pfr/pfrtypes.h | 2 +-
freetype/src/pfr/rules.mk | 2 +-
freetype/src/psaux/Jamfile | 2 +-
freetype/src/psaux/afmparse.c | 2 +-
freetype/src/psaux/afmparse.h | 2 +-
freetype/src/psaux/cffdecode.c | 7 +-
freetype/src/psaux/cffdecode.h | 2 +-
freetype/src/psaux/module.mk | 2 +-
freetype/src/psaux/psaux.c | 2 +-
freetype/src/psaux/psauxerr.h | 2 +-
freetype/src/psaux/psauxmod.c | 2 +-
freetype/src/psaux/psauxmod.h | 2 +-
freetype/src/psaux/psconv.c | 2 +-
freetype/src/psaux/psconv.h | 2 +-
freetype/src/psaux/psft.c | 8 +-
freetype/src/psaux/psintrp.c | 22 +-
freetype/src/psaux/psobjs.c | 6 +-
freetype/src/psaux/psobjs.h | 2 +-
freetype/src/psaux/rules.mk | 2 +-
freetype/src/psaux/t1cmap.c | 2 +-
freetype/src/psaux/t1cmap.h | 2 +-
freetype/src/psaux/t1decode.c | 85 +-
freetype/src/psaux/t1decode.h | 2 +-
freetype/src/pshinter/Jamfile | 2 +-
freetype/src/pshinter/module.mk | 2 +-
freetype/src/pshinter/pshalgo.c | 2 +-
freetype/src/pshinter/pshalgo.h | 2 +-
freetype/src/pshinter/pshglob.c | 2 +-
freetype/src/pshinter/pshglob.h | 2 +-
freetype/src/pshinter/pshinter.c | 2 +-
freetype/src/pshinter/pshmod.c | 2 +-
freetype/src/pshinter/pshmod.h | 2 +-
freetype/src/pshinter/pshnterr.h | 2 +-
freetype/src/pshinter/pshrec.c | 2 +-
freetype/src/pshinter/pshrec.h | 2 +-
freetype/src/pshinter/rules.mk | 2 +-
freetype/src/psnames/Jamfile | 2 +-
freetype/src/psnames/module.mk | 2 +-
freetype/src/psnames/psmodule.c | 2 +-
freetype/src/psnames/psmodule.h | 2 +-
freetype/src/psnames/psnamerr.h | 2 +-
freetype/src/psnames/psnames.c | 2 +-
freetype/src/psnames/pstables.h | 2 +-
freetype/src/psnames/rules.mk | 2 +-
freetype/src/raster/Jamfile | 2 +-
freetype/src/raster/ftmisc.h | 2 +-
freetype/src/raster/ftraster.c | 2 +-
freetype/src/raster/ftraster.h | 2 +-
freetype/src/raster/ftrend1.c | 2 +-
freetype/src/raster/ftrend1.h | 2 +-
freetype/src/raster/module.mk | 2 +-
freetype/src/raster/raster.c | 2 +-
freetype/src/raster/rasterrs.h | 2 +-
freetype/src/raster/rules.mk | 2 +-
freetype/src/sfnt/Jamfile | 2 +-
freetype/src/sfnt/module.mk | 2 +-
freetype/src/sfnt/pngshim.c | 3 +-
freetype/src/sfnt/pngshim.h | 2 +-
freetype/src/sfnt/rules.mk | 30 +-
freetype/src/sfnt/sfdriver.c | 2 +-
freetype/src/sfnt/sfdriver.h | 2 +-
freetype/src/sfnt/sferrors.h | 2 +-
freetype/src/sfnt/sfnt.c | 4 +-
freetype/src/sfnt/sfobjs.c | 38 +-
freetype/src/sfnt/sfobjs.h | 2 +-
freetype/src/sfnt/sfwoff.c | 12 +-
freetype/src/sfnt/sfwoff.h | 2 +-
freetype/src/sfnt/sfwoff2.c | 2328 +++++++++++++++++
freetype/src/sfnt/sfwoff2.h | 76 +
freetype/src/sfnt/ttbdf.c | 2 +-
freetype/src/sfnt/ttbdf.h | 2 +-
freetype/src/sfnt/ttcmap.c | 29 +-
freetype/src/sfnt/ttcmap.h | 2 +-
freetype/src/sfnt/ttcmapc.h | 2 +-
freetype/src/sfnt/ttcolr.c | 2 +-
freetype/src/sfnt/ttcolr.h | 2 +-
freetype/src/sfnt/ttcpal.c | 2 +-
freetype/src/sfnt/ttcpal.h | 2 +-
freetype/src/sfnt/ttkern.c | 2 +-
freetype/src/sfnt/ttkern.h | 2 +-
freetype/src/sfnt/ttload.c | 12 +-
freetype/src/sfnt/ttload.h | 2 +-
freetype/src/sfnt/ttmtx.c | 2 +-
freetype/src/sfnt/ttmtx.h | 2 +-
freetype/src/sfnt/ttpost.c | 2 +-
freetype/src/sfnt/ttpost.h | 2 +-
freetype/src/sfnt/ttsbit.c | 2 +-
freetype/src/sfnt/ttsbit.h | 2 +-
freetype/src/sfnt/woff2tags.c | 110 +
freetype/src/sfnt/woff2tags.h | 39 +
freetype/src/smooth/Jamfile | 2 +-
freetype/src/smooth/ftgrays.c | 2 +-
freetype/src/smooth/ftgrays.h | 2 +-
freetype/src/smooth/ftsmerrs.h | 2 +-
freetype/src/smooth/ftsmooth.c | 9 +-
freetype/src/smooth/ftsmooth.h | 2 +-
freetype/src/smooth/module.mk | 2 +-
freetype/src/smooth/rules.mk | 2 +-
freetype/src/smooth/smooth.c | 2 +-
freetype/src/tools/afblue.pl | 2 +-
freetype/src/tools/glnames.py | 2 +-
freetype/src/tools/update-copyright-year | 2 +-
freetype/src/truetype/Jamfile | 2 +-
freetype/src/truetype/module.mk | 2 +-
freetype/src/truetype/rules.mk | 2 +-
freetype/src/truetype/truetype.c | 2 +-
freetype/src/truetype/ttdriver.c | 2 +-
freetype/src/truetype/ttdriver.h | 2 +-
freetype/src/truetype/tterrors.h | 2 +-
freetype/src/truetype/ttgload.c | 34 +-
freetype/src/truetype/ttgload.h | 2 +-
freetype/src/truetype/ttgxvar.c | 133 +-
freetype/src/truetype/ttgxvar.h | 2 +-
freetype/src/truetype/ttinterp.c | 33 +-
freetype/src/truetype/ttinterp.h | 2 +-
freetype/src/truetype/ttobjs.c | 2 +-
freetype/src/truetype/ttobjs.h | 2 +-
freetype/src/truetype/ttpload.c | 4 +-
freetype/src/truetype/ttpload.h | 2 +-
freetype/src/truetype/ttsubpix.c | 2 +-
freetype/src/truetype/ttsubpix.h | 2 +-
freetype/src/type1/Jamfile | 2 +-
freetype/src/type1/module.mk | 2 +-
freetype/src/type1/rules.mk | 2 +-
freetype/src/type1/t1afm.c | 2 +-
freetype/src/type1/t1afm.h | 2 +-
freetype/src/type1/t1driver.c | 2 +-
freetype/src/type1/t1driver.h | 2 +-
freetype/src/type1/t1errors.h | 2 +-
freetype/src/type1/t1gload.c | 2 +-
freetype/src/type1/t1gload.h | 2 +-
freetype/src/type1/t1load.c | 44 +-
freetype/src/type1/t1load.h | 2 +-
freetype/src/type1/t1objs.c | 2 +-
freetype/src/type1/t1objs.h | 2 +-
freetype/src/type1/t1parse.c | 2 +-
freetype/src/type1/t1parse.h | 2 +-
freetype/src/type1/t1tokens.h | 2 +-
freetype/src/type1/type1.c | 2 +-
freetype/src/type42/Jamfile | 2 +-
freetype/src/type42/module.mk | 2 +-
freetype/src/type42/rules.mk | 2 +-
freetype/src/type42/t42drivr.c | 2 +-
freetype/src/type42/t42drivr.h | 2 +-
freetype/src/type42/t42error.h | 2 +-
freetype/src/type42/t42objs.c | 2 +-
freetype/src/type42/t42objs.h | 2 +-
freetype/src/type42/t42parse.c | 2 +-
freetype/src/type42/t42parse.h | 2 +-
freetype/src/type42/t42types.h | 2 +-
freetype/src/type42/type42.c | 2 +-
freetype/src/winfonts/Jamfile | 2 +-
freetype/src/winfonts/fnterrs.h | 2 +-
freetype/src/winfonts/module.mk | 2 +-
freetype/src/winfonts/rules.mk | 2 +-
freetype/src/winfonts/winfnt.c | 8 +-
freetype/src/winfonts/winfnt.h | 2 +-
freetype/vms_make.com | 2 +-
707 files changed, 10870 insertions(+), 7079 deletions(-)
create mode 100644 freetype/builds/cmake/FindBrotliDec.cmake
create mode 100644 freetype/builds/unix/ax_compare_version.m4
create mode 100644 freetype/builds/unix/ax_prog_python_version.m4
rename freetype/docs/{reference => }/README (66%)
rename freetype/docs/reference/{site => }/404.html (93%)
rename freetype/docs/reference/{site => }/assets/fonts/font-awesome.css (100%)
rename freetype/docs/reference/{site => }/assets/fonts/material-icons.css (100%)
rename freetype/docs/reference/{site => }/assets/fonts/specimen/FontAwesome.ttf (100%)
rename freetype/docs/reference/{site => }/assets/fonts/specimen/FontAwesome.woff (100%)
rename freetype/docs/reference/{site => }/assets/fonts/specimen/FontAwesome.woff2 (100%)
rename freetype/docs/reference/{site => }/assets/fonts/specimen/MaterialIcons-Regular.ttf (100%)
rename freetype/docs/reference/{site => }/assets/fonts/specimen/MaterialIcons-Regular.woff (100%)
rename freetype/docs/reference/{site => }/assets/fonts/specimen/MaterialIcons-Regular.woff2 (100%)
rename freetype/docs/reference/{site => }/assets/images/favicon.png (100%)
create mode 100644 freetype/docs/reference/assets/images/icons/bitbucket.1b09e088.svg
create mode 100644 freetype/docs/reference/assets/images/icons/github.f0b8504a.svg
create mode 100644 freetype/docs/reference/assets/images/icons/gitlab.6dd19c00.svg
create mode 100644 freetype/docs/reference/assets/javascripts/application.c33a9706.js
create mode 100644 freetype/docs/reference/assets/javascripts/lunr/lunr.ar.js
rename freetype/docs/reference/{site => }/assets/javascripts/lunr/lunr.da.js (92%)
rename freetype/docs/reference/{site => }/assets/javascripts/lunr/lunr.de.js (94%)
rename freetype/docs/reference/{site => }/assets/javascripts/lunr/lunr.du.js (94%)
rename freetype/docs/reference/{site => }/assets/javascripts/lunr/lunr.es.js (96%)
rename freetype/docs/reference/{site => }/assets/javascripts/lunr/lunr.fi.js (96%)
rename freetype/docs/reference/{site => }/assets/javascripts/lunr/lunr.fr.js (96%)
rename freetype/docs/reference/{site => }/assets/javascripts/lunr/lunr.hu.js (96%)
rename freetype/docs/reference/{site => }/assets/javascripts/lunr/lunr.it.js (96%)
rename freetype/docs/reference/{site => }/assets/javascripts/lunr/lunr.ja.js (86%)
rename freetype/docs/reference/{site => }/assets/javascripts/lunr/lunr.jp.js (100%)
create mode 100644 freetype/docs/reference/assets/javascripts/lunr/lunr.multi.js
rename freetype/docs/reference/{site => }/assets/javascripts/lunr/lunr.nl.js (94%)
rename freetype/docs/reference/{site => }/assets/javascripts/lunr/lunr.no.js (92%)
rename freetype/docs/reference/{site => }/assets/javascripts/lunr/lunr.pt.js (96%)
rename freetype/docs/reference/{site => }/assets/javascripts/lunr/lunr.ro.js (96%)
rename freetype/docs/reference/{site => }/assets/javascripts/lunr/lunr.ru.js (96%)
rename freetype/docs/reference/{site => }/assets/javascripts/lunr/lunr.stemmer.support.js (95%)
rename freetype/docs/reference/{site => }/assets/javascripts/lunr/lunr.sv.js (92%)
rename freetype/docs/reference/{site => }/assets/javascripts/lunr/lunr.th.js (74%)
rename freetype/docs/reference/{site => }/assets/javascripts/lunr/lunr.tr.js (97%)
create mode 100644 freetype/docs/reference/assets/javascripts/lunr/lunr.vi.js
create mode 100644 freetype/docs/reference/assets/javascripts/lunr/tinyseg.js
rename freetype/docs/reference/{site => }/assets/javascripts/lunr/wordcut.js (100%)
create mode 100644 freetype/docs/reference/assets/javascripts/modernizr.86422ebf.js
create mode 100644 freetype/docs/reference/assets/stylesheets/application-palette.a8b3c06d.css
create mode 100644 freetype/docs/reference/assets/stylesheets/application.adb8469c.css
rename freetype/docs/reference/{site => }/ft2-auto_hinter.html (93%)
rename freetype/docs/reference/{site => }/ft2-base_interface.html (89%)
rename freetype/docs/reference/{site => }/ft2-basic_types.html (81%)
rename freetype/docs/reference/{site => }/ft2-bdf_fonts.html (91%)
rename freetype/docs/reference/{site => }/ft2-bitmap_handling.html (91%)
rename freetype/docs/reference/{site => }/ft2-bzip2.html (92%)
rename freetype/docs/reference/{site => }/ft2-cache_subsystem.html (88%)
rename freetype/docs/reference/{site => }/ft2-cff_driver.html (94%)
rename freetype/docs/reference/{site => }/ft2-cid_fonts.html (91%)
rename freetype/docs/reference/{site => }/ft2-color_management.html (88%)
rename freetype/docs/reference/{site => }/ft2-computations.html (84%)
rename freetype/docs/reference/{site => }/ft2-error_code_values.html (94%)
rename freetype/docs/reference/{site => }/ft2-error_enumerations.html (90%)
rename freetype/docs/reference/{site => }/ft2-font_formats.html (92%)
rename freetype/docs/reference/{site => }/ft2-gasp_table.html (92%)
rename freetype/docs/reference/{site => }/ft2-glyph_management.html (88%)
rename freetype/docs/reference/{site => }/ft2-glyph_stroker.html (85%)
rename freetype/docs/reference/{site => }/ft2-glyph_variants.html (91%)
rename freetype/docs/reference/{site => }/ft2-gx_validation.html (89%)
rename freetype/docs/reference/{site => }/ft2-gzip.html (92%)
rename freetype/docs/reference/{site => }/ft2-header_file_macros.html (75%)
rename freetype/docs/reference/{site => }/ft2-header_inclusion.html (93%)
rename freetype/docs/reference/{site => }/ft2-incremental.html (88%)
rename freetype/docs/reference/{site => }/ft2-index.html (97%)
rename freetype/docs/reference/{site => }/ft2-layer_management.html (92%)
rename freetype/docs/reference/{site => }/ft2-lcd_rendering.html (92%)
rename freetype/docs/reference/{site => }/ft2-list_processing.html (87%)
rename freetype/docs/reference/{site => }/ft2-lzw.html (92%)
rename freetype/docs/reference/{site => }/ft2-mac_specific.html (90%)
rename freetype/docs/reference/{site => }/ft2-module_management.html (86%)
rename freetype/docs/reference/{site => }/ft2-multiple_masters.html (88%)
rename freetype/docs/reference/{site => }/ft2-ot_validation.html (90%)
rename freetype/docs/reference/{site => }/ft2-outline_processing.html (89%)
rename freetype/docs/reference/{site => }/ft2-parameter_tags.html (88%)
rename freetype/docs/reference/{site => }/ft2-pcf_driver.html (93%)
rename freetype/docs/reference/{site => }/ft2-pfr_fonts.html (92%)
rename freetype/docs/reference/{site => }/ft2-properties.html (90%)
rename freetype/docs/reference/{site => }/ft2-quick_advance.html (92%)
rename freetype/docs/reference/{site => }/ft2-raster.html (89%)
rename freetype/docs/reference/{site => }/ft2-sfnt_names.html (91%)
rename freetype/docs/reference/{site => }/ft2-sizes_management.html (92%)
rename freetype/docs/reference/{site => }/ft2-system_interface.html (89%)
rename freetype/docs/reference/{site => }/ft2-t1_cid_driver.html (93%)
rename freetype/docs/reference/{site => }/ft2-truetype_engine.html (91%)
rename freetype/docs/reference/{site => }/ft2-truetype_tables.html (94%)
rename freetype/docs/reference/{site => }/ft2-tt_driver.html (94%)
rename freetype/docs/reference/{site => }/ft2-type1_tables.html (89%)
rename freetype/docs/reference/{site => }/ft2-user_allocation.html (93%)
rename freetype/docs/reference/{site => }/ft2-version.html (91%)
rename freetype/docs/reference/{site => }/ft2-winfnt_fonts.html (92%)
rename freetype/docs/reference/{site => }/images/favico.ico (100%)
rename freetype/docs/reference/{site => }/index.html (94%)
rename freetype/docs/reference/{site => }/javascripts/extra.js (100%)
create mode 100644 freetype/docs/reference/search/search_index.json
delete mode 100644 freetype/docs/reference/site/assets/images/icons/bitbucket.1b09e088.svg
delete mode 100644 freetype/docs/reference/site/assets/images/icons/github.f0b8504a.svg
delete mode 100644 freetype/docs/reference/site/assets/images/icons/gitlab.6dd19c00.svg
delete mode 100644 freetype/docs/reference/site/assets/javascripts/application.d9aa80ab.js
delete mode 100644 freetype/docs/reference/site/assets/javascripts/lunr/lunr.multi.js
delete mode 100644 freetype/docs/reference/site/assets/javascripts/lunr/tinyseg.js
delete mode 100644 freetype/docs/reference/site/assets/javascripts/modernizr.1f0bcf2b.js
delete mode 100644 freetype/docs/reference/site/assets/stylesheets/application-palette.224b79ff.css
delete mode 100644 freetype/docs/reference/site/assets/stylesheets/application.982221ab.css
delete mode 100644 freetype/docs/reference/site/search/search_index.json
delete mode 100644 freetype/docs/reference/site/sitemap.xml.gz
rename freetype/docs/reference/{site => }/sitemap.xml (50%)
create mode 100644 freetype/docs/reference/sitemap.xml.gz
rename freetype/docs/reference/{site => }/stylesheets/extra.css (76%)
create mode 100644 freetype/src/sfnt/sfwoff2.c
create mode 100644 freetype/src/sfnt/sfwoff2.h
create mode 100644 freetype/src/sfnt/woff2tags.c
create mode 100644 freetype/src/sfnt/woff2tags.h
diff --git a/freetype/CMakeLists.txt b/freetype/CMakeLists.txt
index 06a92ad8..a7aec4d0 100644
--- a/freetype/CMakeLists.txt
+++ b/freetype/CMakeLists.txt
@@ -1,6 +1,6 @@
# CMakeLists.txt
#
-# Copyright (C) 2013-2019 by
+# Copyright (C) 2013-2020 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# Written originally by John Cary
@@ -14,14 +14,14 @@
#
# The following will 1. create a build directory and 2. change into it and
# call cmake to configure the build with default parameters as a static
-# library.
+# library. See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html
+# for information about Debug, Release, etc. builds.
#
-# cmake -E make_directory build
-# cmake -E chdir build cmake ..
+# cmake -B build -D CMAKE_BUILD_TYPE=Release
#
# For a dynamic library, use
#
-# cmake -E chdir build cmake -D BUILD_SHARED_LIBS:BOOL=true ..
+# cmake -B build -D BUILD_SHARED_LIBS=true -D CMAKE_BUILD_TYPE=Release
#
# For a framework on OS X, use
#
@@ -68,14 +68,26 @@
# . `CMakeLists.txt' is provided as-is since it is normally not used by the
# developer team.
#
-# . Set the `FT_WITH_ZLIB', `FT_WITH_BZIP2', `FT_WITH_PNG', and
-# `FT_WITH_HARFBUZZ' CMake variables to `ON' to force using a dependency.
-# Leave a variable undefined (which is the default) to use the dependency
-# only if it is available. Set `CMAKE_DISABLE_FIND_PACKAGE_HarfBuzz=TRUE' to
-# disable a dependency completely (CMake package name, so `BZip2' instead of
-# `BZIP2'). Example:
+# . Set the `FT_WITH_ZLIB', `FT_WITH_BZIP2', `FT_WITH_PNG',
+# `FT_WITH_HARFBUZZ', and `FT_WITH_BROTLI' CMake variables to `ON' to
+# force using a dependency. Leave a variable undefined (which is the
+# default) to use the dependency only if it is available. Example:
#
-# cmake -DFT_WITH_ZLIB=ON -DCMAKE_DISABLE_FIND_PACKAGE_HarfBuzz=TRUE [...]
+# cmake -B build -D FT_WITH_ZLIB=ON \
+# -D FT_WITH_BZIP2=ON \
+# -D FT_WITH_PNG=ON \
+# -D FT_WITH_HARFBUZZ=ON \
+# -D FT_WITH_BROTLI=ON [...]
+#
+# Set `CMAKE_DISABLE_FIND_PACKAGE_XXX=TRUE' to disable a dependency completely
+# (where `XXX' is a CMake package name like `BZip2'). Example for disabling all
+# dependencies:
+#
+# cmake -B build -D CMAKE_DISABLE_FIND_PACKAGE_ZLIB=TRUE \
+# -D CMAKE_DISABLE_FIND_PACKAGE_BZip2=TRUE \
+# -D CMAKE_DISABLE_FIND_PACKAGE_PNG=TRUE \
+# -D CMAKE_DISABLE_FIND_PACKAGE_HarfBuzz=TRUE \
+# -D CMAKE_DISABLE_FIND_PACKAGE_BrotliDec=TRUE [...]
#
# . Installation of FreeType can be controlled with the CMake variables
# `SKIP_INSTALL_HEADERS', `SKIP_INSTALL_LIBRARIES', and `SKIP_INSTALL_ALL'
@@ -89,7 +101,7 @@ cmake_minimum_required(VERSION 2.8.12)
if (NOT CMAKE_VERSION VERSION_LESS 3.3)
# Allow symbol visibility settings also on static libraries. CMake < 3.3
- # only sets the propery on a shared library build.
+ # only sets the property on a shared library build.
cmake_policy(SET CMP0063 NEW)
endif ()
@@ -135,26 +147,34 @@ project(freetype C)
set(VERSION_MAJOR "2")
set(VERSION_MINOR "10")
-set(VERSION_PATCH "1")
+set(VERSION_PATCH "2")
-# SOVERSION scheme: CURRENT.AGE.REVISION
-# If there was an incompatible interface change:
-# Increment CURRENT. Set AGE and REVISION to 0
-# If there was a compatible interface change:
-# Increment AGE. Set REVISION to 0
-# If the source code was changed, but there were no interface changes:
-# Increment REVISION.
-set(LIBRARY_VERSION "6.16.0")
-set(LIBRARY_SOVERSION "6")
+# Generate LIBRARY_VERSION and LIBRARY_SOVERSION.
+set(LIBTOOL_REGEX "version_info='([0-9]+):([0-9]+):([0-9]+)'")
+file(STRINGS "${PROJECT_SOURCE_DIR}/builds/unix/configure.raw"
+ VERSION_INFO
+ REGEX ${LIBTOOL_REGEX})
+string(REGEX REPLACE
+ ${LIBTOOL_REGEX} "\\1"
+ LIBTOOL_CURRENT "${VERSION_INFO}")
+string(REGEX REPLACE
+ ${LIBTOOL_REGEX} "\\2"
+ LIBTOOL_REVISION "${VERSION_INFO}")
+string(REGEX REPLACE
+ ${LIBTOOL_REGEX} "\\3"
+ LIBTOOL_AGE "${VERSION_INFO}")
-# These options mean "require x and complain if not found". They'll get
-# optionally found anyway. Use `-DCMAKE_DISABLE_FIND_PACKAGE_x=TRUE` to disable
-# searching for a packge entirely (x is the CMake package name, so "BZip2"
-# instead of "BZIP2").
+# This is what libtool does internally on Unix platforms.
+math(EXPR LIBRARY_SOVERSION "${LIBTOOL_CURRENT} - ${LIBTOOL_AGE}")
+set(LIBRARY_VERSION "${LIBRARY_SOVERSION}.${LIBTOOL_AGE}.${LIBTOOL_REVISION}")
+
+# External dependency library detection is automatic. See the notes at the top
+# of this file, for how to force or disable dependencies completely.
option(FT_WITH_ZLIB "Use system zlib instead of internal library." OFF)
option(FT_WITH_BZIP2 "Support bzip2 compressed fonts." OFF)
option(FT_WITH_PNG "Support PNG compressed OpenType embedded bitmaps." OFF)
option(FT_WITH_HARFBUZZ "Improve auto-hinting of OpenType fonts." OFF)
+option(FT_WITH_BROTLI "Support compressed WOFF2 fonts." OFF)
# Disallow in-source builds
@@ -185,10 +205,11 @@ endif ()
# Find dependencies
+set(HARFBUZZ_MIN_VERSION "1.8.0")
if (FT_WITH_HARFBUZZ)
- find_package(HarfBuzz 1.3.0 REQUIRED)
+ find_package(HarfBuzz ${HARFBUZZ_MIN_VERSION} REQUIRED)
else ()
- find_package(HarfBuzz 1.3.0)
+ find_package(HarfBuzz ${HARFBUZZ_MIN_VERSION})
endif ()
if (FT_WITH_PNG)
@@ -209,6 +230,12 @@ else ()
find_package(BZip2)
endif ()
+if (FT_WITH_BROTLI)
+ find_package(BrotliDec REQUIRED)
+else ()
+ find_package(BrotliDec)
+endif ()
+
# Create the configuration file
if (UNIX)
check_include_file("unistd.h" HAVE_UNISTD_H)
@@ -273,6 +300,11 @@ if (HARFBUZZ_FOUND)
"/\\* +(#define +FT_CONFIG_OPTION_USE_HARFBUZZ) +\\*/" "\\1"
FTOPTION_H "${FTOPTION_H}")
endif ()
+if (BROTLIDEC_FOUND)
+ string(REGEX REPLACE
+ "/\\* +(#define +FT_CONFIG_OPTION_USE_BROTLI) +\\*/" "\\1"
+ FTOPTION_H "${FTOPTION_H}")
+endif ()
set(FTOPTION_H_NAME "${PROJECT_BINARY_DIR}/include/freetype/config/ftoption.h")
if (EXISTS "${FTOPTION_H_NAME}")
@@ -308,7 +340,6 @@ set(BASE_SRCS
src/base/ftpfr.c
src/base/ftstroke.c
src/base/ftsynth.c
- src/base/ftsystem.c
src/base/fttype1.c
src/base/ftwinfnt.c
src/bdf/bdf.c
@@ -332,6 +363,12 @@ set(BASE_SRCS
src/winfonts/winfnt.c
)
+if (UNIX)
+ list(APPEND BASE_SRCS "builds/unix/ftsystem.c")
+else ()
+ list(APPEND BASE_SRCS "src/base/ftsystem.c")
+endif ()
+
if (WIN32)
enable_language(RC)
list(APPEND BASE_SRCS builds/windows/ftdebug.c
@@ -342,24 +379,6 @@ else ()
list(APPEND BASE_SRCS src/base/ftdebug.c)
endif ()
-if(MSVC)
- set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /EHsc /O2")
- set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /EHa /W3")
-
- set(CompilerFlags
- CMAKE_CXX_FLAGS
- CMAKE_CXX_FLAGS_DEBUG
- CMAKE_CXX_FLAGS_RELEASE
- CMAKE_C_FLAGS
- CMAKE_C_FLAGS_DEBUG
- CMAKE_C_FLAGS_RELEASE
- )
-
- foreach(CompilerFlag ${CompilerFlags})
- string(REPLACE "/MD" "/MT" ${CompilerFlag} "${${CompilerFlag}}")
- endforeach()
-endif(MSVC)
-
if (BUILD_FRAMEWORK)
list(APPEND BASE_SRCS builds/mac/freetype-Info.plist)
endif ()
@@ -408,7 +427,11 @@ target_include_directories(
$
PRIVATE
${CMAKE_CURRENT_BINARY_DIR}/include
- ${CMAKE_CURRENT_SOURCE_DIR}/include)
+ ${CMAKE_CURRENT_SOURCE_DIR}/include
+
+ # Make available for builds/unix/ftsystem.c.
+ ${CMAKE_CURRENT_BINARY_DIR}/include/freetype/config
+)
if (BUILD_FRAMEWORK)
@@ -429,23 +452,29 @@ set(PKG_CONFIG_REQUIRED_PRIVATE "")
if (ZLIB_FOUND)
target_link_libraries(freetype PRIVATE ${ZLIB_LIBRARIES})
target_include_directories(freetype PRIVATE ${ZLIB_INCLUDE_DIRS})
- list(APPEND PKG_CONFIG_REQUIRED_PRIVATE zlib)
+ list(APPEND PKG_CONFIG_REQUIRED_PRIVATE "zlib")
endif ()
if (BZIP2_FOUND)
target_link_libraries(freetype PRIVATE ${BZIP2_LIBRARIES})
target_include_directories(freetype PRIVATE ${BZIP2_INCLUDE_DIR}) # not BZIP2_INCLUDE_DIRS
- list(APPEND PKG_CONFIG_REQUIRED_PRIVATE bzip2)
+ list(APPEND PKG_CONFIG_REQUIRED_PRIVATE "bzip2")
endif ()
if (PNG_FOUND)
target_link_libraries(freetype PRIVATE ${PNG_LIBRARIES})
target_compile_definitions(freetype PRIVATE ${PNG_DEFINITIONS})
target_include_directories(freetype PRIVATE ${PNG_INCLUDE_DIRS})
- list(APPEND PKG_CONFIG_REQUIRED_PRIVATE libpng)
+ list(APPEND PKG_CONFIG_REQUIRED_PRIVATE "libpng")
endif ()
if (HARFBUZZ_FOUND)
target_link_libraries(freetype PRIVATE ${HARFBUZZ_LIBRARIES})
target_include_directories(freetype PRIVATE ${HARFBUZZ_INCLUDE_DIRS})
- list(APPEND PKG_CONFIG_REQUIRED_PRIVATE harfbuzz)
+ list(APPEND PKG_CONFIG_REQUIRED_PRIVATE "harfbuzz >= ${HARFBUZZ_MIN_VERSION}")
+endif ()
+if (BROTLIDEC_FOUND)
+ target_link_libraries(freetype PRIVATE ${BROTLIDEC_LIBRARIES})
+ target_compile_definitions(freetype PRIVATE ${BROTLIDEC_DEFINITIONS})
+ target_include_directories(freetype PRIVATE ${BROTLIDEC_INCLUDE_DIRS})
+ list(APPEND PKG_CONFIG_REQUIRED_PRIVATE "libbrotlidec")
endif ()
@@ -471,7 +500,7 @@ endif ()
if (NOT SKIP_INSTALL_LIBRARIES AND NOT SKIP_INSTALL_ALL)
# Generate the pkg-config file
if (UNIX)
- file(READ ${PROJECT_SOURCE_DIR}/builds/unix/freetype2.in FREETYPE2_PC_IN)
+ file(READ "${PROJECT_SOURCE_DIR}/builds/unix/freetype2.in" FREETYPE2_PC_IN)
string(REPLACE ";" ", " PKG_CONFIG_REQUIRED_PRIVATE "${PKG_CONFIG_REQUIRED_PRIVATE}")
@@ -483,7 +512,7 @@ if (NOT SKIP_INSTALL_LIBRARIES AND NOT SKIP_INSTALL_ALL)
FREETYPE2_PC_IN ${FREETYPE2_PC_IN})
string(REPLACE "%includedir%" "\${prefix}/${CMAKE_INSTALL_INCLUDEDIR}"
FREETYPE2_PC_IN ${FREETYPE2_PC_IN})
- string(REPLACE "%ft_version%" "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}"
+ string(REPLACE "%ft_version%" "${LIBTOOL_CURRENT}.${LIBTOOL_REVISION}.${LIBTOOL_AGE}"
FREETYPE2_PC_IN ${FREETYPE2_PC_IN})
string(REPLACE "%REQUIRES_PRIVATE%" "${PKG_CONFIG_REQUIRED_PRIVATE}"
FREETYPE2_PC_IN ${FREETYPE2_PC_IN})
diff --git a/freetype/ChangeLog b/freetype/ChangeLog
index 6450a60b..e4ea3c53 100644
--- a/freetype/ChangeLog
+++ b/freetype/ChangeLog
@@ -1,3 +1,1170 @@
+2020-05-09 Werner Lemberg
+
+ * Version 2.10.2 released.
+ ==========================
+
+
+ Tag sources with `VER-2-10-2'.
+
+ * docs/VERSION.TXT: Add entry for version 2.10.2.
+
+ * README, Jamfile (RefDoc), src/base/ftver.rc,
+ builds/windows/vc2010/index.html, builds/windows/visualc/index.html,
+ builds/windows/visualce/index.html,
+ builds/wince/vc2005-ce/index.html,
+ builds/wince/vc2008-ce/index.html, docs/freetype-config.1:
+ s/2.10.1/2.10.2/, s/2101/2102/.
+
+ * include/freetype/freetype.h (FREETYPE_PATCH): Set to 2.
+
+ * builds/unix/configure.raw (version_info): Set to 23:2:17.
+ * CMakeLists.txt (VERSION_PATCH): Set to 2.
+
+ * docs/CHANGES: Updated.
+
+2020-05-08 Jakub Alba
+
+ * src/truetype/ttinterp.c (TT_RunIns): Adjust loop counter (#58319).
+
+ The font that exceeds the old limit is Icono Regular, version
+ 1.00000.
+
+2020-05-03 Alexei Podtelezhnikov
+
+ * builds/freetype.mk: Refactor for readability.
+
+2020-05-02 Alexei Podtelezhnikov
+
+ [builds] Clean up Windows CE project files.
+
+ Remove version from filenames that caused a lot of polution in the
+ release process. Use VERSIONINFO resource instead.
+
+ * builds/wince/vc2005-ce/freetype.vcproj,
+ builds/wince/vc2008-ce/freetype.vcproj,
+ builds/windows/visualce/freetype.vcproj,
+ builds/windows/visualce/freetype.dsp: s/2101//g, but add `ftver.rc'.
+ * builds/wince/vc2008-ce/index.html,
+ builds/wince/vc2005-ce/index.html,
+ builds/windows/visualce/index.html: s/2101//g.
+
+2020-05-01 Alexei Podtelezhnikov
+
+ * devel/ft2build.h: Override FT_CONFIG_MODULES_H here as well.
+
+2020-05-01 Alexei Podtelezhnikov
+
+ [builds/unix] Consolidate marco overrides (for the demos to see them).
+
+ * builds/unix/unix-cc.in (FT_CONFIG_MODULES_H, FT_CONFIG_OPTIONS_H):
+ Override them here...
+ * builds/freetype.mk: ... instead of here.
+
+2020-04-08 Werner Lemberg
+
+ Allow setting `CC' in Unix build (#58051).
+
+ * builds/unix/unix-cc.in (CC): Use `override'. The command line
+ value of `CC' (if any) is stored already in `CCraw'.
+
+2020-04-04 Nikhil Ramakrishnan
+
+ [woff2] Return if single stream operation fails.
+
+ * src/sfnt/sfwoff2.c (get_x_mins): Do it.
+
+ * src/sfnt/woff2tags.c: Remove unused include.
+
+2020-03-22 Nikhil Ramakrishnan
+
+ [docs] Fix building docs if `srcdir' != `builddir'.
+
+ `docs/reference/*' was moved one directory up in commit 237fed6.
+
+ * builds/unix/unix-def.in (PIP): Remove variable.
+
+ * configure: Create `docs' directory and copy assets from
+ `docs/markdown'.
+
+ * docs/README: Output directory is `reference'.
+
+2020-03-21 Nikhil Ramakrishnan
+
+ [docwriter] Drop support for Python < 3.5.
+
+ Python versions < 3.5 have reached end-of-life and as such, no
+ security or bug fixes will be provided for those versions. See
+
+ https://devguide.python.org/#status-of-python-branches
+
+ for more information.
+
+ * Jamfile (RefDoc): Add `site' parameter.
+
+ * builds/detect.mk (std_setup): Update Python version requirement.
+
+ * builds/freetype.mk (refdoc-venv): Use pip as `python -m pip'.
+
+ * builds/unix/ax_compare_version.m4,
+ builds/unix/ax_prog_python_version.m4: Macros to detect Python
+ version. New files.
+
+ * builds/unix/configure.raw: Check for Python >= 3.5 and remove
+ check for `pip'.
+
+ * docs/CHANGES, docs/INSTALL.GNU, docs/README: Updated.
+
+2020-03-02 Moazin Khatti
+
+ [gzip] Support `gzip' encoded header conditionally.
+
+ In order to support `gzip' encoded header the call to
+ `inflateInit2' was modified in commit 6a92b1fadde26477a9179.
+ However, this code breaks with the outdated internal version
+ of zlib. This is a temporary fix to conditionally support
+ `gzip' encoded header whenever a system installation of zlib
+ is being used.
+
+ Problem report in
+
+ https://lists.nongnu.org/archive/html/freetype-devel/2020-02/msg00023.html
+
+ * src/gzip/ftgzip.c (FT_Gzip_Uncompress): Change the the call to
+ `inflateInit2' depending on whether the system installation is
+ being used or the internal copy.
+
+2020-02-29 Ben Wagner
+
+ [truetype] Fix state of `FT_Face' for buggy `gvar' tables (#57923).
+
+ By resetting the blend as implemented with this commit fonts with
+ invalid `gvar' tables may keep calling into `ft_var_load_gvar' from
+ `tt_set_mm_blend' and failing, but the font was invalid anyway and
+ we want to keep seeing the failure in `tt_set_mm_blend'.
+
+ * src/truetype/ttgxvar.c (ft_var_load_gvar): Calculate length of
+ offset array once.
+ Allocate arrays after `FT_FRAME_ENTER' (extra check before
+ allocating and avoid needing to free array later if error entering
+ frame).
+ Always call `FT_FRAME_EXIT'.
+ Consistently set counts immediately after array initialized.
+ Reset the blend (particularly `blend->glyphoffsets') on failure.
+
+2020-03-01 Nikhil Ramakrishnan
+
+ [docs] Update docwriter stylesheet.
+
+ This change is required to support docwriter 1.2.1.
+
+ See
+
+ https://github.com/freetype/docwriter/issues/36
+
+ for more information.
+
+ * docs/markdown/stylesheets/extra.css:
+ (.md-typeset code) -> (.md-typeset pre>code)
+ (pre) -> (pre>code)
+ (p, .md-typeset p, h4): Remove commented styles.
+ (table.index): Remove unused styles.
+
+2020-02-28 Ben Wagner
+
+ [truetype] Add better checks for loading `gvar' table (#57905).
+
+ * src/truetype/ttgxvar.c (ft_var_load_gvar): Delay settings of any
+ `blend->xxxcount' values until the corresponding data has been
+ checked.
+ Also do some sanitizing to avoid a too early exit.
+
+ (TT_Vary_Apply_Glyph_Deltas): Improve tracing message.
+
+2020-02-27 Werner Lemberg
+
+ Make `FT_HAS_*' and `FT_IS_*' really return true (#57906).
+
+ * include/freetype/freetype.h (FT_HAS_*, FT_IS_*): Implement it.
+
+2020-02-25 Dominik Röttsches
+
+ Fix for CFF space glyph regression (#57541).
+
+ * src/psaux/psft.c (cf2_decoder_parse_substrings): Replace early-out
+ with FT_OFFSET.
+
+2020-02-22 Werner Lemberg
+
+ [woff2] Fix font table access.
+
+ Reported as
+
+ https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=20778
+
+ * src/sfnt/sfwoff2.c (get_x_mins): Explicitly check for presence of
+ `head' table, which might not have been processed yet.
+
+2020-02-21 Werner Lemberg
+
+ [psaux] Make `t1_decoder_parse_metrics' handle `op_div' (#57519).
+
+ * src/psaux/t1decode.c (t1_decoder_parse_metrics): Copy
+ corresponding code from old engine's `t1_decoder_parse_charstrings'
+ function.
+
+2020-02-19 Nikolaus Waxweiler
+
+ [autofit] Add support for Hanifi Rohingya script.
+
+ * src/autofit/afblue.dat: Add blue zone data for Hanifi Rohingya.
+ * src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
+
+ * src/autofit/afscript.h: Add Hanifi Rohingya standard character.
+
+ * src/autofit/afranges.c, src/autofit/afstyles.h: Add Hanifi
+ Rohingya data.
+
+2020-02-19 Werner Lemberg
+
+ Require HarfBuzz 1.8.
+
+ * builds/unix/configure.raw, CMakeLists.txt: Request HarfBuzz 1.8.0
+ or newer.
+
+ We are going to add auto-hinter support for Hanifi Rohingya, which
+ was introduced in Unicode 11.0.
+
+2020-02-12 Werner Lemberg
+
+ * src/sfnt/ttcmap.c (tt_face_build_cmaps): Ignore version (#57708).
+
+2020-02-04 Werner Lemberg
+
+ * src/truetype/ttinterp.c (TT_RunIns): Adjust loop counter (#57732).
+
+ The font that exceeds the old limit is Constantine, version 1.001.
+
+2020-01-04 Werner Lemberg
+
+ [base] Fix `FREETYPE_PROPERTIES=type1:hinting-engine=adobe`.
+
+ * src/base/ftpsprop.c (ps_property_set) [hinting-engine]: Avoid an
+ incorrect return value that caused a warning. The function did the
+ right thing, though.
+
+2020-01-03 Werner Lemberg
+
+ [woff2] Fix memory leaks and a runtime warning.
+
+ Reported as
+
+ https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=19773
+ https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=18101
+
+ * src/sfnt/sfwoff2.c (compute_ULong_sum): Add missing cast.
+ (reconstruct_hmtx): Add missing deallocation calls.
+
+2020-01-02 Dominik Röttsches
+
+ [truetype] Fix UBSan warning on offset to nullptr (#57501).
+
+ * src/truetype/ttinterp.c (Ins_CALL): Fail if `exc->FDefs' is null.
+
+2019-12-31 Nikhil Ramakrishnan
+
+ [woff2] Allow bitmap-only fonts (#57394).
+
+ * src/sfnt/sfwoff2.c (reconstruct_font): Fix test for `glyf' and
+ `loca' tables.
+
+2019-12-21 Hugh McMaster
+
+ [docs] (2/2) Fix generation of API documentation (#56745).
+
+ Creating the API Reference in the (new) `reference' sub-directory is
+ consistent with other documentation sub-topics, such as `design',
+ `glyphs' and `tutorial'.
+
+ This patch fixes broken hyperlinks in the documentation pointing to
+ and from the API Reference. It also allows web assets to load from
+ their relative paths.
+
+ * builds/freetype.mk (DOC_DIR): Adjust.
+ (refdoc, refdoc-venv): Add `--site' argument.
+
+ * builds/toplevel.mk (do-dist): Updated.
+
+2019-12-21 Hugh McMaster
+
+ [docs] (1/2) Move static web assets (#56745).
+
+ * docs/reference/*: Move ...
+ * docs: ... one directory up.
+
+2019-12-21 Dominik Röttsches
+
+ Fix more UBSan warnings on adding offset to nullptr (#57432).
+
+ * src/truetype/ttinterp.c (Ins_LOOPCALL), src/psaux/psft.c
+ (cf2_initLocalRegionBuffer): Use `FT_OFFSET'.
+
+2019-12-16 Werner Lemberg
+
+ [truetype] Fix UBSan warnings on adding offsets to nullptr.
+
+ Reported as
+
+ https://bugs.chromium.org/p/chromium/issues/detail?id=1032152
+
+ * src/truetype/ttinterp.c (Ins_FDEF, Ins_IDEF): Use `FT_OFFSET'.
+
+2019-12-14 Werner Lemberg
+
+ [truetype] Fix integer overflow.
+
+ Reported as
+
+ https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=19305
+
+ * src/truetype/ttinterp.c (Ins_MIRP): Use `ADD_LONG'.
+
+2019-12-13 Werner Lemberg
+
+ Another bunch of UBSan warnings on adding offsets to nullptr.
+
+ Reported as
+
+ https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=19427
+ https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=19433
+ https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=19441
+ https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=19451
+ https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=19452
+ https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=19457
+
+ * src/autofit/aflatin.c (af_latin_hints_compute_segments,
+ af_latin_hints_compute_edges): Use `FT_OFFSET'.
+
+ * src/base/ftstream.c (FT_Stream_EnterFrame): Use `FT_OFFSET'.
+
+ * src/psaux/cffdecode.c (cff_decoder_parse_charstrings): Exit early
+ if there is no charstring.
+
+ * src/psaux/psobjs.c (t1_decrypt): Use `FT_OFFSET'.
+
+ * src/smooth/ftsmooth.c (ft_smooth_render_generic): Exit early for
+ zero bitmap dimensions.
+
+2019-12-09 Dominik Röttsches
+
+ Fix more UBSan warnings on adding offset to nullptr (#57384).
+
+ * src/smooth/ftsmooth.c (ft_smooth_render_generic),
+ src/psaux/psobjs.c (ps_table_add): Use `FT_OFFSET'.
+
+2019-12-05 Werner Lemberg
+
+ * src/truetype/ttinterp.c (TT_RunIns): Use `FT_OFFSET'.
+
+ Reported as
+
+ https://bugs.chromium.org/p/chromium/issues/detail?id=1030614
+
+2019-12-03 Werner Lemberg
+
+ More nullptr offset UBSan warnings (#57331, #57347).
+
+ * src/autofit/afcjk.c (af_cjk_hints_compute_segments),
+ src/psaux/psft.c (cf2_getSeacComponent), src/truetype/ttinterp.c
+ (Ins_UNKNOWN): Use `FT_OFFSET'.
+
+2019-11-29 Dominik Röttsches
+
+ Avoid more nullptr offset UBSan warnings (#57316).
+
+ * src/base/ftoutln.c (FT_Outline_Transform): Bail on empty points.
+ * src/cff/cffload.c (cff_subfont_load): Use `FT_OFFSET'.
+ * src/psaux/psft.c (cf2_decoder_parse_substrings): Early out if
+ `charstring_base' or `charstring_len' are null.
+ * src/sfnt/ttload.c (tt_face_load_name): Use `FT_OFFSET'.
+
+2019-11-23 John Stracke
+
+ [base] Really fix #57194.
+
+ Apply accidentally missed second part of patch.
+
+ * src/base/ftgloadr.c (FT_GlyphLoader_CheckPoints): Call
+ `FT_GlyphLoader_CreateExtra'.
+
+2019-11-23 Werner Lemberg
+
+ [truetype] Avoid sanitizer warning (#57289).
+
+ * src/truetype/ttpload.c (tt_face_get_device_metrics): Use
+ `FT_OFFSET'.
+
+2019-11-23 Armin Hasitzka
+
+ [truetype] Fix integer overflow (#57287).
+
+ * src/truetype/ttgload.c (compute_glyph_metrics): Use `SUB_LONG'.
+
+2019-11-23 Ben Wagner
+
+ [sfnt] Avoid sanitizer warning (#57286).
+
+ * src/sfnt/ttcmap.c (tt_face_build_cmaps): Avoid possible `NULL +
+ offset' computation.
+ Tag `table' as `const'.
+
+2019-11-23 John Stracke
+ Werner Lemberg
+
+ [base] Fix `NULL + offset' sanitizer warnings (#57194).
+
+ * src/base/ftgloadr.c (FT_GlyphLoader_Adjust_Points,
+ FT_GlyphLoader_Adjust_Subglyphs): Use `FT_OFFSET'.
+ (FT_GlyphLoader_CreateExtra): Add short cut if some values are zero.
+
+2019-11-23 Werner Lemberg
+
+ * include/freetype/internal/ftmemory.h (FT_OFFSET): New macro.
+
+ Use this for `base + offset' pointer calculations where `base' can
+ be NULL (triggering a sanitizer warning even if the resulting
+ pointer gets never dereferenced since it is undefined behaviour
+ in C).
+
+ Suggested by Ben Wagner.
+
+2019-11-23 Ben Wagner
+
+ [sfnt] Ensure OTTO fonts have tables (#57285).
+
+ * src/sfnt/ttload.c (tt_face_load_font_dir): Add test.
+
+2019-11-23 Behdad Esfahbod
+
+ Minor fixes for recent compilers.
+
+ * src/gzip/infutil.h (inflate_mask): Add `const'.
+
+ * src/autofit/aflatin2.c: Include `ft2build.h'.
+
+2019-11-07 Nikolaus Waxweiler
+
+ * CMakeLists.txt: Minor additions to the notes, compile
+ builds/unix/ftsystem.c instead of src/base/ftsystem.c on UNIX.
+
+ The latter change is based on the code proposed by rim in #55235.
+
+2019-10-25 Werner Lemberg
+
+ * src/sfnt/sfwoff2.c (woff2_open_font): Check `num_fonts' for TTCs.
+
+ Reported as
+
+ https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=18494
+
+2019-10-22 Werner Lemberg
+
+ * src/sfnt/sfwoff2.c (woff2_open_font): Avoid undefined shift.
+
+ Also improve tracing.
+
+ Reported as
+
+ https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=18390
+
+2019-10-10 Alexei Podtelezhnikov
+
+ * src/sfnt/pngshim.c (premultiply_data): Optimize for __SSE__ only.
+
+2019-10-10 Werner Lemberg
+
+ * src/sfnt/sfwoff2.c (reconstruct_glyf): Check `triplet_size'.
+
+ Reported as
+
+ https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=18108
+
+2019-10-09 John Tytgat
+
+ [cff] Fix FT_FACE_FLAG_GLYPH_NAMES for CFF2 based fonts (#57023).
+
+ * src/cff/cffobjs.c (cff_face_init): Don't set
+ FT_FACE_FLAG_GLYPH_NAMES for CFF2 based fonts.
+
+2019-10-08 Werner Lemberg
+
+ [woff2] Fix SFNT table checks.
+
+ Also reduce number of SFNT table lookups.
+
+ Reported as
+
+ https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=18065
+
+ * include/freetype/internal/wofftypes.h (WOFF2_InfoRec): Add fields
+ `glyf_table', `loca_table', and `head_table'.
+
+ * src/sfnt/sfwoff2.c (reconstruct_glyf): Update signature.
+ Use table pointers in `info' parameter.
+ (get_x_mins): Check `maxp_table'
+ Use table pointers in `info' parameter.
+ (reconstruct_font): Use and set table pointers in `info' parameter.
+ Fix check for `glyf' and `loca' tables.
+ Update call to `reconstruct_glyf'.
+ (woff2_open_font): Updated.
+
+2019-10-06 Werner Lemberg
+
+ * src/sfnt/sfwoff2.c (reconstruct_glyf): Fix reallocation.
+
+ Reported as
+
+ https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=18046
+
+2019-10-06 Werner Lemberg
+
+ Improve memory debugging.
+
+ * include/freetype/internal/ftmemory.h (FT_MEM_FREE): Use
+ `FT_DEBUG_INNER' to set source code file name and line.
+
+ * src/base/ftdbgmem.c (ft_mem_table_remove): Better formatting of
+ tracing message.
+
+2019-10-03 Werner Lemberg
+
+ * src/sfnt/sfwoff2 (reconstruct_font): Fix reallocation.
+
+ Reported as
+
+ https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=17966
+
+2019-10-01 Alexei Podtelezhnikov
+
+ * src/base/ftstroke.c (ft_stroker_inside): Speed up.
+
+2019-10-01 Werner Lemberg
+
+ * src/sfnt/sfwoff2 (woff2_open_font): Initialize `woff2.ttc_fonts'.
+
+ Reported as
+
+ https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=17804
+
+2019-09-30 Werner Lemberg
+
+ * src/sfnt/sfwoff2.c (reconstruct_font): Fix memory leak.
+
+ Reported as
+
+ https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=17812
+
+2019-09-30 Werner Lemberg
+
+ [woff2] Reject fonts without `head' table.
+
+ Also fix memory deallocation in case of error.
+
+ `head' problem reported as
+
+ https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=17820
+
+ * src/sfnt/sfwoff2.c (reconstruct_glyf): Don't use `stream_close'.
+ Abort if `head_table' is NULL.
+ Don't free `transformed_buf' in case of error.
+ (woff2_open_font): Don't set `uncompressed_buf' to NULL.
+
+2019-09-29 Werner Lemberg
+
+ [woff2] Fix compiler warnings.
+
+ Problem reported by Alexei.
+
+ * src/sfnt/sfwoff2.c (reconstruct_glyf): Initialize `x_min'.
+ (reconstruct_font): Initialize `num_hmetrics'.
+ (woff2_open_font): Initialize `info'.
+
+2019-09-28 Werner Lemberg
+
+ * src/sfnt/sfwoff2.c (woff2_open_font): Fix sanity check.
+
+ Correct thinkos in patch from 2019-09-01.
+
+2019-09-28 Werner Lemberg
+
+ [woff2] Fix memory leaks.
+
+ One of them reported as
+
+ https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=17766
+
+ * src/sfnt/sfwoff2.c (woff2_open_font): Free `info->x_mins' and
+ `woff2->ttc_fonts'.
+
+ (reconstruct_glyf): Initialize `info->x_mins'.
+
+2019-09-27 Alexei Podtelezhnikov
+
+ * src/base/ftstroke.c (ft_stroker_cap): Speed up caps.
+
+2019-09-25 Alexei Podtelezhnikov
+
+ * src/base/ftstroke.c (ft_stroker_outside): Speed up clipped miter.
+ * include/freetype/ftstroke.h: Wordsmith miter docs.
+
+2019-09-25 Werner Lemberg
+
+ * src/sfnt/sfwoff2.c (woff2_open_font): Check (sum of) table sizes.
+
+ Reported as
+
+ https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=17684
+
+2019-09-23 Alexei Podtelezhnikov
+
+ * src/base/ftstroke.c (ft_stroke_border_arcto): Speed up calculations.
+
+2019-09-20 Nikhil Ramakrishnan
+
+ [woff2] Fix memory leaks.
+
+ Reported as
+
+ https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=16896
+
+ * src/sfnt/sfwoff2.c (woff2_open_font): Fix error handling.
+ Free `uncompressed_buf'.
+ (reconstruct_font): Free `transformed_buf'.
+
+2019-09-17 Werner Lemberg
+
+ * src/otvalid/otvcommon.c (otv_Coverage_get_last): Guard `count'.
+
+ Problem reported by Marc Schönefeld .
+
+2019-09-17 Werner Lemberg
+
+ * src/sfnt/sfwoff2.c (woff2_open_font): Check table index.
+
+ Reported as
+
+ https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=17100
+
+2019-09-15 Avi Halachmi (:avih)
+
+ [cmake] Don't fail if brotli is missing (#56894).
+
+ The libs which cmake controls are commented out at
+
+ include/freetype/config/ftoption.h
+
+ and cmake un-comment each enabled library, but the brotli option was
+ not commented out, therefore `FT_CONFIG_OPTION_USE_BROTLI' remained
+ defined even if brotli was missing/disabled/etc.
+
+ Comment it such that cmake can control it, which means leaving it
+ undefined if brotli is missing.
+
+ * include/freetype/config/ftoption.h: Fix typo.
+
+2019-09-05 Werner Lemberg
+
+ [cmake] Add brotli support.
+
+ * CMakeLists.txt (FT_WITH_BROTLI): New option.
+
+ * builds/cmake/FindBrotliDec.cmake: New file.
+
+2019-09-05 Werner Lemberg
+
+ Fix handling of `AF_CONFIG_OPTION_INDIC'.
+
+ * devel/ftoption.h, include/freetype/config/ftoption.h:
+ `AF_CONFIG_OPTION_INDIC' needs `AF_CONFIG_OPTION_CJK'.
+
+2019-09-05 Werner Lemberg
+
+ CMakeLists.txt: Fix generation of DLL related stuff (#56852).
+
+ Extract `version_info' variable from `builds/unix/configure.raw' and
+ use the data to correctly set `LIBRARY_VERSION' and
+ `LIBRARY_SOVERSION'.
+
+ Also use the data to set `ft_version' field in `freetype2.pc'.
+ Also fix the needed minimum version of HarfBuzz in `freetype2.pc'.
+
+2019-09-03 Werner Lemberg
+
+ * src/sfnt/sfwoff2.c (compute_ULong_sum): Fix undefined shift.
+
+ Reported as
+
+ https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=16933
+
+2019-09-01 Werner Lemberg
+
+ * src/sfnt/sfwoff2.c (woff2_open_font): Add sanity check.
+
+ Don't trust `totalSfntSize' unconditionally.
+
+ Reported as
+
+ https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=16893
+
+2019-08-27 Dominik Röttsches
+
+ [woff2] Don't use `FT_UInt64' (#56815).
+
+ * src/sfnt/sfwoff2.c (woff2_open_font): Use `FT_UInt32' for
+ `file_offset'. This fixes builds on platforms where `FT_LONG64' is
+ not defined while still being sufficient to store a file offset.
+
+2019-08-27 Werner Lemberg
+
+ [truetype] Prevent crash in `TT_Set_Named_Instance' (#56813).
+
+ * src/truetype/ttgxvar.c (TT_Set_Named_Instance): Fix error
+ handling.
+
+2019-08-27 Werner Lemberg
+
+ [woff2] Fix compiler warnings.
+
+ * src/sfnt/sfwoff2.c (read_num_hmetrics): Remove unused argument
+ `table_len'.
+ Update caller.
+ (triplet_decode, compute_bbox, store_loca, reconstruct_glyf): Make
+ `i' variable unsigned.
+ (reconstruct_glyph): Remove condition which is always false.
+ (reconstruct_html): Removed unused argument `transformed_size'.
+ Update caller.
+
+ * src/sfnt/woff2tags.c (woff2_known_tags): Remove condition which is
+ always false.
+
+2019-08-27 Nikhil Ramakrishnan
+
+ [woff2] Check whether known tag is in array bounds.
+
+ If table tag is not 0x3f, we expect a value between 0 and 62. If
+ this is not the case, exit with errors.
+
+ * src/sfnt/sfwoff2/c: Check whether table tag makes sense.
+
+ * src/sfnt/woff2tags.c: Return 0 if tag is out of bounds.
+
+2019-08-27 Nikhil Ramakrishnan
+
+ * src/sfnt/sfwoff2.c: Improve trace comments.
+
+ Adjust tracing levels for comments, and more formatting.
+
+2019-08-27 Nikhil Ramakrishnan
+
+ [woff2] Support `hmtx' reconstruction when `glyf' is untransformed.
+
+ `reconstruct_hmtx' requires `info->x_mins' and `info->num_glyphs' to
+ reconstruct the hmtx table. In case glyf is not transformed, we
+ call `get_x_mins' which does the necessary work.
+
+ * src/sfnt/sfwoff2.c (get_x_mins): New function.
+ (reconstruct_font): Call get_x_mins.
+
+2019-08-27 Nikhil Ramakrishnan
+
+ [sfnt] Support `face->num_faces' for WOFF2 fonts.
+
+ Set correct value of `face->num_faces' for WOFF2 fonts. This is
+ being handled separately because we only load the tables for the
+ requested font face in `woff2_open_font' and create a single-face
+ sfnt stream.
+
+ The full discussion is at:
+
+ https://lists.gnu.org/archive/html/freetype-devel/2019-08/msg00000.html
+
+ * src/sfnt/sfobjs.c (sfnt_open_font): Add parameter
+ `woff2_num_faces'.
+ (sfnt_init_face): Introduce variable `woff2_num_faces', and change
+ `face->root.num_faces' if `woff2_num_faces' is set.
+
+ * src/sfnt/sfwoff2.c (woff2_open_font): Validate requested face
+ index and handle negative face indices.
+
+ * src/sfnt/sfwoff2.h (woff2_open_font): Add parameter `num_faces' to
+ declaration.
+
+2019-08-27 Nikhil Ramakrishnan
+
+ [woff2] Improve memory and error handling.
+
+ Free up memory after use, and improve error handling.
+
+ * src/sfnt/sfwoff2.c (reconstruct_font, woff2_open_font): Implement
+ changes.
+
+2019-08-27 Nikhil Ramakrishnan
+
+ [woff2] Avoid too many calls to `FT_REALLOC'.
+
+ We do this by using `totalSfntSize' as an initial reference, and
+ extending the buffer when required. This reduces rendering time
+ considerably.
+
+ * include/freetype/internal/wofftypes.h (WOFF2_HeaderRec): Add
+ `totalSfntSize', rename `total_sfnt_size' to `actual_sfnt_size'.
+
+ * src/sfnt/sfwoff2.c (write_buf): Add parameter `dst_size' to keep
+ track of and update total size of stream.
+
+ (WRITE_SFNT_BUF, WRITE_SFNT_BUF_AT): Modify macros accordingly.
+
+ (pad4, store_loca, reconstruct_glyf, reconstruct_hmtx,
+ reconstruct_font): Update parameters to accept `sfnt_size'.
+
+ (woff2_open_font): Add variable `sfnt_size'. Use WOFF2 header field
+ `totalSfntSize' as initial reference (if value makes sense) and
+ allocate `totalSfntSize' bytes for the sfnt stream. `write_buf'
+ handles reallocation if and when required. Also resize the stream
+ to `actual_sfnt_size' after reconstruction.
+
+2019-08-27 Nikhil Ramakrishnan
+
+ [woff2] Reconstruct `loca', `hmtx', and swap out stream.
+
+ Add necessary functions to reconstruct loca and hmtx tables (the two
+ remaining tables that can have a transform). `woff2_open_font' is
+ now capable of loading a woff2 font face. This code may still need
+ more refining and better memory management.
+
+ * include/freetype/internal/wofftypes.h (WOFF2_HeaderRec): Add total
+ (final) size of sfnt stream.
+
+ (WOFF2_InfoRec): Add header checksum value.
+
+ * src/sfnt/sfobjs.c (sfnt_open_font): Change `face_instance_index'
+ parameter to its pointer so its value can be modified by
+ `woff2_open_font'.
+
+ * src/sfnt/sfwoff2.c: (WRITE_SFNT_BUF_AT): New macro to write into
+ sfnt buffer at given position.
+
+ (write_buf): Add parameter `extend_buf' which allows caller to
+ specify whether buffer should be reallocated before copying data.
+
+ (WRITE_SFNT_BUF): Updated.
+
+ (pad4, store_loca, reconstruct_htmx): New functions.
+
+ (reconstruct_glyf): Calculate loca values and store them.
+
+ (reconstruct_font): Call `reconstruct_hmtx', write table record
+ entries, and calculate table checksums. Also calculate font
+ checksum and update `checksumAdjustment' entry in head table.
+
+ (woff2_open_font): Open stream for sfnt buffer, swap out input
+ stream and return.
+
+ * src/sfnt/sfwoff2.h (woff2_open_font): Modify parameter to accept
+ pointer to `face_index'.
+
+2019-08-27 Nikhil Ramakrishnan
+
+ [woff2] Reconstruct transformed `glyf' table.
+
+ Reconstruct `glyf' table if it is transformed in the uncompressed
+ table stream. Also add necessary structures, macros and functions.
+
+ * include/freetype/internal/wofftypes.h (WOFF2_InfoRec,
+ WOFF2_SubstreamRec, WOFF2_PointRec): New structures.
+ (WOFF2_TableRec): s/OrigLength/dst_length/.
+
+ * src/sfnt/sfwoff2.c (READ_255USHORT, READ_BASE128): Use
+ `FT_SET_ERROR' to set implicit `error' variable.
+
+ (WRITE_SHORT): New macro.
+
+ (N_CONTOUR_STREAM, N_POINTS_STREAM, FLAG_STREAM, GLYPH_STREAM,
+ COMPOSITE_STREAM, BBOX_STREAM, INSTRUCTION_STREAM): New macros to
+ refer to substreams of the transformed `glyf' tables.
+
+ (Read255UShort, ReadBase128): Return errors set by `FT_READ_XXX'
+ macros.
+
+ (with_sign, safe_int_addition): New functions to add sign to values
+ based on a flag and perform safe addition respectively.
+
+ (triplet_decode): Decode variable-length (flag, xCoordinate,
+ yCoordinate) triplet for a simple glyph. See
+
+ https://www.w3.org/TR/WOFF2/#triplet_decoding
+
+ (store_points, compute_bbox, composteGlyph_size, reconstruct_glyf):
+ New functions.
+
+ (reconstruct_font): Call `reconstruct_glyf'.
+
+ * src/sfnt/sfwoff2.h: Add required constants.
+
+ * src/sfnt/woff2tags.h: Move out constants to `sfwoff2.h'.
+
+2019-08-27 Nikhil Ramakrishnan
+
+ [woff2] Copy un-transformed tables to sfnt stream.
+
+ Copy un-transformed tables to the sfnt stream.
+
+ * src/sfnt/sfwoff2.c: (WRITE_SFNT_BUF): New macro.
+ (write_buf): New function. Extend memory of `dst' buffer and copy
+ bytes from `src'.
+ (compute_ULong_sum): New function. Calculate checksum of table.
+ (reconstruct_font): Change `FT_Byte* sfnt' to `FT_Byte**
+ sfnt_bytes'. This has been done because we reallocate memory to
+ `sfnt' multiple times, which may change the pointer value of `sfnt'.
+ This new pointer must be propogated back to the caller. Same reason
+ for using a double pointer in `write_buf'.
+
+ * src/sfnt/woff2tags.h (WOFF2_DEFAULT_MAX_SIZE): New macro used for
+ overflow checking.
+
+2019-08-27 Nikhil Ramakrishnan
+
+ [woff2] Create stream for uncompressed buffer.
+
+ Uncompressed buffer is now an `FT_Stream'.
+
+ Perform basic checks and start iterating over tables.
+
+ * src/sfnt/sfwoff2.c (stream_close, find_table, read_num_hmetrics):
+ New functions.
+ (reconstruct_font): Modify parameters and iterate over tables.
+ (woff2_open_font): Updated.
+
+2019-08-27 Nikhil Ramakrishnan
+
+ [woff2] Handle TTCs and start reconstructing font.
+
+ We `handle' TTCs by modifying the `indices' array to point to only
+ those tables that are part of the requested `face_index'.
+
+ Set and use `num_tables' in `WOFF2_TtcFont'.
+
+ * src/sfnt/sfwoff2.c (reconstruct_font): New function.
+ (woff2_open_font): Start reconstruction of font.
+
+2019-08-27 Nikhil Ramakrishnan
+
+ [woff2] Get known tags from function.
+
+ Change `KnownTags' to a function (`woff2_known_tags'). This avoids
+ introducing a global constant array. This function returns the
+ specified index without *any* checks. The caller must ensure that
+ `index' is within array limits.
+
+ * src/sfnt/sfwoff2.c (woff2_open_font): Change `KnownTags[...]'
+ notation to `woff2_known_tags( ... )'.
+
+ * src/sfnt/woff2tags.c: Perform changes.
+
+ * src/sfnt/woff2tags.h: Update definitions.
+
+2019-08-27 Nikhil Ramakrishnan
+
+ [woff2] Minor.
+
+ * src/sfnt/sfwoff2.c (woff2_uncompress): Add error message
+ (woff2_open_font): Free `uncompressed_buf'.
+
+2019-08-27 Nikhil Ramakrishnan
+
+ [woff2] Uncompress Brotli streams and `face_index' support.
+
+ WOFF2 compressed stream is now uncompressed if Brotli is available.
+ This data is stored in a separate buffer (uncompressed_buf) because
+ it does not contain direct table data. Certain tables have
+ transformations applied to them, and they must be reconstructed
+ before we can write those tables to the SFNT stream.
+
+ `face_index' is now being passed as a parameter to
+ `woff2_open_font'.
+
+ * src/sfnt/sfobjs.c (sfnt_open_font): Add parameter
+ `face_instance_index'.
+
+ * src/sfnt/sfwoff2.c (woff2_uncompress): New function.
+ (woff2_open_font): Call `woff2_uncompress'.
+ (compute_first_table_offset): Fix return type.
+
+ * src/sfnt/sfwoff2.h (woff2_open_font): Modify declaration.
+
+2019-08-27 Nikhil Ramakrishnan
+
+ * builds/unix/configure.raw: Change argument name to `brotli'.
+
+2019-08-27 Nikhil Ramakrishnan
+
+ Add Brotli dependency and required checks.
+
+ Brotli is required for decompressing WOFF2 font directory streams.
+ The library is thus being added as an optional dependency for
+ FreeType.
+
+ * builds/unix/configure.raw: Add checks for `libbrotlidec'.
+ (REQUIRES_PRIVATE, LIBS_PRIVATE, LIBSSTATIC_CONFIG): Updated.
+
+ * devel/ftoption.h, include/freetype/config/ftoption.h
+ (FT_CONFIG_OPTION_USE_BROTLI): New macro.
+
+2019-08-27 Nikhil Ramakrishnan
+
+ [woff2] Write SFNT Offset table.
+
+ * src/sfnt/sfwoff2.c (WRITE_USHORT, WRITE_ULONG): New macros.
+ (compare_tags): New function.
+ (woff2_open_font): Implement it.
+
+2019-08-27 Nikhil Ramakrishnan
+
+ * src/sfnt/sfwoff2.c: #undef macros.
+
+2019-08-27 Nikhil Ramakrishnan
+
+ [woff2] Read table and collection directory.
+
+ * include/freetype/internal/wofftypes.h (WOFF2_TtcFontRec): New
+ structure.
+ (WOFF2_HeaderRec): Add more fields.
+
+ * src/sfnt/sfwoff2.c (READ_255USHORT, READ_BASE128, ROUND4): New
+ macros.
+ (Read255UShort, CollectionHeaderSize, compute_first_table_offset):
+ New functions.
+ (ReadBase128): Use `FT_READ_BYTE'.
+ (woff2_open_font): Add functionality to read table directory and
+ collection directory (if present).
+
+2019-08-27 Nikhil Ramakrishnan
+
+ [sfnt] Include `woff2tags.c' for building.
+
+ * src/sfnt/rules.mk (SFNT_DRV_SRC): Add `woff2tags.c'.
+
+ * src/sfnt/sfnt.c: Include `woff2tags.c'.
+
+2019-08-27 Nikhil Ramakrishnan
+
+ [sfnt] Add WOFF2 constants.
+
+ Add constants required for WOFF2, and known table tags as defined in
+ the specification. See
+
+ https://www.w3.org/TR/WOFF2/#table_dir_format
+
+ for details.
+
+ * src/sfnt/woff2tags.c, src/sfnt/woff2tags.h: New files.
+
+2019-08-27 Nikhil Ramakrishnan
+
+ [sfnt] Read WOFF 2 header.
+
+ Check for WOFF2 tag, call `woff2_open_font', and implement it to read
+ header according to specification.
+
+ * include/freetype/internal/fttrace.h: Add `sfwoff2.c'.
+
+ * src/sfnt/rules.mk (SFNT_DRV_SRC): Add `sfwoff2.c'.
+
+ * src/sfnt/sfnt.c: Include `sfwoff2.c'.
+
+ * src/sfnt/sfobjs.c (sfnt_open_font): Check for `wOF2' tag and call
+ `woff2_open_font'.
+
+ * src/sfnt/sfwoff2.c, src/sfnt/sfwoff2.h: New files.
+
+2019-08-27 Nikhil Ramakrishnan
+
+ Add structures for WOFF2.
+
+ Add structures and macro for WOFF 2 header and table directory.
+
+ * include/freetype/internal/wofftypes.h (WOFF2_HeaderRec,
+ WOFF2_TableRec_): New structures.
+
+ * include/freetype/tttags.h (TTAG_wOF2): New macro.
+
+2019-08-26 Werner Lemberg
+
+ * src/psaux/cffdecode.c (cff_operator_seac): Fix numeric overflow.
+
+ Reported as
+
+ https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=16470
+
+2019-08-26 Werner Lemberg
+
+ [type1] Fix `FT_Get_Var_Axis_Flags' (#56804).
+
+ * src/type1/t1load.c (T1_Get_MM_Var): Allocate space for axis flags.
+ Also remove redundant assignment.
+
+2019-07-24 Alexei Podtelezhnikov
+
+ * src/base/ftbbox.c (cubic_peak): Sanitize left shift (#56586).
+
+2019-07-22 Weiyi Wu
+
+ * src/cid/cidload.c (cid_hex_to_binary): Fix typo (#56653).
+
+2019-07-12 Werner Lemberg
+
+ [sfnt, winfonts] Avoid memory leaks in case of error (#56587).
+
+ * src/sfnt/sfwoff.c (woff_open_font): Call `FT_FRAME_EXIT' in case
+ of error.
+
+ * src/winfonts/winfnt.c (fnt_face_get_dll_font): Ditto.
+
+2019-07-12 Ben Wagner
+
+ Properly handle phantom points for variation fonts (#56601).
+
+ * src/truetype/ttgload.c (TT_Process_Simple_Glyph): Scale phantom
+ points if HVAR and/or VVAR is present.
+
+2019-07-04 Werner Lemberg
+
+ [psaux] (2/2) Handle fonts that use SEAC for ligatures (#56580).
+
+ The same as previous commit but for the old engine.
+
+ * src/psaux/t1decode.c (t1operator_seac): Implement it.
+
+2019-07-04 Chris Liddell
+
+ [psaux] (1/2) Handle fonts that use SEAC for ligatures (#56580).
+
+ As originally intended, a Type 1 SEAC charstring would be used for
+ an accented glyph (like `acaron' or `uumlaut'), where the advance
+ width of the SEAC glyph is the same as that of the `base' glyph
+ (like `a' or `u'). In this case it is not uncommon for the SEAC
+ glyph to not use an (H)SBW opcode of its own but to rely on the
+ value from the base glyph.
+
+ However, out-of-spec fonts also use SEAC glyphs for ligatures (like
+ `oe' or `fi'), and in those cases the overall advance width is
+ greater than that of the `base' glyph. For this reason we have to
+ allow that the SEAC glyph can have an (H)SBW value of its own, and
+ if it has, retain this value, rather than the one from the base
+ glyph.
+
+ * src/psaux/psintrp.c (cf2_interpT2CharString) :
+ Implement it.
+
2019-07-01 Werner Lemberg
* Version 2.10.1 released.
@@ -88,7 +1255,7 @@
* include/freetype/ftmodapi.h (FT_DebugHook_Func): Return error.
Fix a warning by adding a return value as in `TT_RunIns',
- which should not be a compatibility issue.
+ which should not be a compatibility issue.
2019-06-11 Alexei Podtelezhnikov
@@ -99,7 +1266,7 @@
[gzip] Add support for `gzip' encoded header.
* src/gzip/ftgzip.c (FT_Gzip_Uncompress): Modify the the call to
- `inflateInit2' to enable support for `gzip' encoded headers.
+ `inflateInit2' to enable support for `gzip' encoded headers.
2019-06-10 Alexei Podtelezhnikov
@@ -3104,7 +4271,7 @@
----------------------------------------------------------------------------
-Copyright (C) 2018-2019 by
+Copyright (C) 2018-2020 by
David Turner, Robert Wilhelm, and Werner Lemberg.
This file is part of the FreeType project, and may only be used, modified,
diff --git a/freetype/ChangeLog.20 b/freetype/ChangeLog.20
index a589e13b..9f81914e 100644
--- a/freetype/ChangeLog.20
+++ b/freetype/ChangeLog.20
@@ -2597,7 +2597,7 @@
----------------------------------------------------------------------------
-Copyright (C) 2000-2019 by
+Copyright (C) 2000-2020 by
David Turner, Robert Wilhelm, and Werner Lemberg.
This file is part of the FreeType project, and may only be used, modified,
diff --git a/freetype/ChangeLog.21 b/freetype/ChangeLog.21
index ea889eeb..3ed33baf 100644
--- a/freetype/ChangeLog.21
+++ b/freetype/ChangeLog.21
@@ -9422,7 +9422,7 @@
----------------------------------------------------------------------------
-Copyright (C) 2002-2019 by
+Copyright (C) 2002-2020 by
David Turner, Robert Wilhelm, and Werner Lemberg.
This file is part of the FreeType project, and may only be used, modified,
diff --git a/freetype/ChangeLog.22 b/freetype/ChangeLog.22
index feaab868..86662f6e 100644
--- a/freetype/ChangeLog.22
+++ b/freetype/ChangeLog.22
@@ -2821,7 +2821,7 @@
----------------------------------------------------------------------------
-Copyright (C) 2005-2019 by
+Copyright (C) 2005-2020 by
David Turner, Robert Wilhelm, and Werner Lemberg.
This file is part of the FreeType project, and may only be used, modified,
diff --git a/freetype/ChangeLog.23 b/freetype/ChangeLog.23
index f1372522..4c80504c 100644
--- a/freetype/ChangeLog.23
+++ b/freetype/ChangeLog.23
@@ -7932,7 +7932,7 @@
----------------------------------------------------------------------------
-Copyright (C) 2006-2019 by
+Copyright (C) 2006-2020 by
David Turner, Robert Wilhelm, and Werner Lemberg.
This file is part of the FreeType project, and may only be used, modified,
diff --git a/freetype/ChangeLog.24 b/freetype/ChangeLog.24
index 52004dbc..17e98c48 100644
--- a/freetype/ChangeLog.24
+++ b/freetype/ChangeLog.24
@@ -6344,7 +6344,7 @@
----------------------------------------------------------------------------
-Copyright (C) 2010-2019 by
+Copyright (C) 2010-2020 by
David Turner, Robert Wilhelm, and Werner Lemberg.
This file is part of the FreeType project, and may only be used, modified,
diff --git a/freetype/ChangeLog.25 b/freetype/ChangeLog.25
index c4a3c536..6e04427e 100644
--- a/freetype/ChangeLog.25
+++ b/freetype/ChangeLog.25
@@ -5145,7 +5145,7 @@
----------------------------------------------------------------------------
-Copyright (C) 2013-2019 by
+Copyright (C) 2013-2020 by
David Turner, Robert Wilhelm, and Werner Lemberg.
This file is part of the FreeType project, and may only be used, modified,
diff --git a/freetype/ChangeLog.26 b/freetype/ChangeLog.26
index 5e0911c7..a4fc0606 100644
--- a/freetype/ChangeLog.26
+++ b/freetype/ChangeLog.26
@@ -5695,7 +5695,7 @@
----------------------------------------------------------------------------
-Copyright (C) 2015-2019 by
+Copyright (C) 2015-2020 by
David Turner, Robert Wilhelm, and Werner Lemberg.
This file is part of the FreeType project, and may only be used, modified,
diff --git a/freetype/ChangeLog.27 b/freetype/ChangeLog.27
index e9d1ec12..c59ed7b8 100644
--- a/freetype/ChangeLog.27
+++ b/freetype/ChangeLog.27
@@ -2090,7 +2090,7 @@
----------------------------------------------------------------------------
-Copyright (C) 2016-2019 by
+Copyright (C) 2016-2020 by
David Turner, Robert Wilhelm, and Werner Lemberg.
This file is part of the FreeType project, and may only be used, modified,
diff --git a/freetype/ChangeLog.28 b/freetype/ChangeLog.28
index c288bb96..b17a751d 100644
--- a/freetype/ChangeLog.28
+++ b/freetype/ChangeLog.28
@@ -3120,7 +3120,7 @@
----------------------------------------------------------------------------
-Copyright (C) 2016-2019 by
+Copyright (C) 2016-2020 by
David Turner, Robert Wilhelm, and Werner Lemberg.
This file is part of the FreeType project, and may only be used, modified,
diff --git a/freetype/ChangeLog.29 b/freetype/ChangeLog.29
index 21340713..251c056e 100644
--- a/freetype/ChangeLog.29
+++ b/freetype/ChangeLog.29
@@ -2336,7 +2336,7 @@
----------------------------------------------------------------------------
-Copyright (C) 2017-2019 by
+Copyright (C) 2017-2020 by
David Turner, Robert Wilhelm, and Werner Lemberg.
This file is part of the FreeType project, and may only be used, modified,
diff --git a/freetype/Jamfile b/freetype/Jamfile
index 37b4d58c..76ccdeed 100644
--- a/freetype/Jamfile
+++ b/freetype/Jamfile
@@ -1,6 +1,6 @@
# FreeType 2 top Jamfile.
#
-# Copyright (C) 2001-2019 by
+# Copyright (C) 2001-2020 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
@@ -208,13 +208,14 @@ rule RefDoc
actions RefDoc
{
- python -m docwriter
- --prefix=ft2
- --title=FreeType-2.10.1
- --output=$(DOC_DIR)
- $(FT2_INCLUDE)/freetype/*.h
- $(FT2_INCLUDE)/freetype/config/*.h
- $(FT2_INCLUDE)/freetype/cache/*.h
+ python3 -m docwriter
+ --prefix=ft2
+ --title=FreeType-2.10.2
+ --site=reference
+ --output=$(DOC_DIR)
+ $(FT2_INCLUDE)/freetype/*.h
+ $(FT2_INCLUDE)/freetype/config/*.h
+ $(FT2_INCLUDE)/freetype/cache/*.h
}
RefDoc refdoc ;
diff --git a/freetype/Jamrules b/freetype/Jamrules
index aa2ef5be..816febac 100644
--- a/freetype/Jamrules
+++ b/freetype/Jamrules
@@ -1,6 +1,6 @@
# FreeType 2 JamRules.
#
-# Copyright (C) 2001-2019 by
+# Copyright (C) 2001-2020 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/freetype/Makefile b/freetype/Makefile
index 3f6a8bec..e1d1469d 100644
--- a/freetype/Makefile
+++ b/freetype/Makefile
@@ -3,7 +3,7 @@
#
-# Copyright (C) 1996-2019 by
+# Copyright (C) 1996-2020 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/freetype/README b/freetype/README
index 8f3e2bc0..67455d78 100644
--- a/freetype/README
+++ b/freetype/README
@@ -1,4 +1,4 @@
- FreeType 2.10.1
+ FreeType 2.10.2
===============
Homepage: https://www.freetype.org
@@ -16,17 +16,20 @@
the file `docs/LICENSE.TXT' for the available licenses.
The FreeType 2 API reference is located in `docs/reference/site';
- use the file `index.html' as the top entry point. Additional
- documentation is available as a separate package from our sites. Go
- to
+ use the file `index.html' as the top entry point. [Please note that
+ currently the search function for locally installed documentation
+ doesn't work due to cross-site scripting issues.]
+
+ Additional documentation is available as a separate package from our
+ sites. Go to
https://download.savannah.gnu.org/releases/freetype/
and download one of the following files.
- freetype-doc-2.10.1.tar.xz
- freetype-doc-2.10.1.tar.gz
- ftdoc2101.zip
+ freetype-doc-2.10.2.tar.xz
+ freetype-doc-2.10.2.tar.gz
+ ftdoc2102.zip
To view the documentation online, go to
@@ -71,7 +74,7 @@
----------------------------------------------------------------------
-Copyright (C) 2006-2019 by
+Copyright (C) 2006-2020 by
David Turner, Robert Wilhelm, and Werner Lemberg.
This file is part of the FreeType project, and may only be used,
diff --git a/freetype/README.git b/freetype/README.git
index 95f40e1b..c4f0033c 100644
--- a/freetype/README.git
+++ b/freetype/README.git
@@ -37,7 +37,7 @@ repository.
----------------------------------------------------------------------
-Copyright (C) 2005-2019 by
+Copyright (C) 2005-2020 by
David Turner, Robert Wilhelm, and Werner Lemberg.
This file is part of the FreeType project, and may only be used,
diff --git a/freetype/autogen.sh b/freetype/autogen.sh
index af6cf342..79c4e4e1 100755
--- a/freetype/autogen.sh
+++ b/freetype/autogen.sh
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright (C) 2005-2019 by
+# Copyright (C) 2005-2020 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/freetype/builds/amiga/README b/freetype/builds/amiga/README
index ff5e652c..c5525277 100644
--- a/freetype/builds/amiga/README
+++ b/freetype/builds/amiga/README
@@ -1,7 +1,7 @@
README for the builds/amiga subdirectory.
-Copyright (C) 2005-2019 by
+Copyright (C) 2005-2020 by
Werner Lemberg and Detlef Würkner.
This file is part of the FreeType project, and may only be used, modified,
diff --git a/freetype/builds/amiga/include/config/ftconfig.h b/freetype/builds/amiga/include/config/ftconfig.h
index 7c5fa02d..4976c75f 100644
--- a/freetype/builds/amiga/include/config/ftconfig.h
+++ b/freetype/builds/amiga/include/config/ftconfig.h
@@ -4,7 +4,7 @@
/* */
/* Amiga-specific configuration file (specification only). */
/* */
-/* Copyright (C) 2005-2019 by */
+/* Copyright (C) 2005-2020 by */
/* Werner Lemberg and Detlef Würkner. */
/* */
/* This file is part of the FreeType project, and may only be used, */
diff --git a/freetype/builds/amiga/include/config/ftmodule.h b/freetype/builds/amiga/include/config/ftmodule.h
index 9dc4631c..8bc11504 100644
--- a/freetype/builds/amiga/include/config/ftmodule.h
+++ b/freetype/builds/amiga/include/config/ftmodule.h
@@ -4,7 +4,7 @@
/* */
/* Amiga-specific FreeType module selection. */
/* */
-/* Copyright (C) 2005-2019 by */
+/* Copyright (C) 2005-2020 by */
/* Werner Lemberg and Detlef Würkner. */
/* */
/* This file is part of the FreeType project, and may only be used, */
diff --git a/freetype/builds/amiga/makefile b/freetype/builds/amiga/makefile
index 92da26d8..50315f38 100644
--- a/freetype/builds/amiga/makefile
+++ b/freetype/builds/amiga/makefile
@@ -5,7 +5,7 @@
#
-# Copyright (C) 2005-2019 by
+# Copyright (C) 2005-2020 by
# Werner Lemberg and Detlef Würkner.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/freetype/builds/amiga/makefile.os4 b/freetype/builds/amiga/makefile.os4
index 823b9b51..cd5151c6 100644
--- a/freetype/builds/amiga/makefile.os4
+++ b/freetype/builds/amiga/makefile.os4
@@ -4,7 +4,7 @@
#
-# Copyright (C) 2005-2019 by
+# Copyright (C) 2005-2020 by
# Werner Lemberg and Detlef Würkner.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/freetype/builds/amiga/smakefile b/freetype/builds/amiga/smakefile
index ded76a0c..fa416765 100644
--- a/freetype/builds/amiga/smakefile
+++ b/freetype/builds/amiga/smakefile
@@ -3,7 +3,7 @@
#
-# Copyright (C) 2005-2019 by
+# Copyright (C) 2005-2020 by
# Werner Lemberg and Detlef Würkner.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/freetype/builds/amiga/src/base/ftdebug.c b/freetype/builds/amiga/src/base/ftdebug.c
index 4a738d3a..816e6262 100644
--- a/freetype/builds/amiga/src/base/ftdebug.c
+++ b/freetype/builds/amiga/src/base/ftdebug.c
@@ -4,7 +4,7 @@
*
* Debugging and logging component for amiga (body).
*
- * Copyright (C) 1996-2019 by
+ * Copyright (C) 1996-2020 by
* David Turner, Robert Wilhelm, Werner Lemberg, and Detlef Wuerkner.
*
* This file is part of the FreeType project, and may only be used,
diff --git a/freetype/builds/amiga/src/base/ftsystem.c b/freetype/builds/amiga/src/base/ftsystem.c
index 7e9dcb71..04eb9995 100644
--- a/freetype/builds/amiga/src/base/ftsystem.c
+++ b/freetype/builds/amiga/src/base/ftsystem.c
@@ -4,7 +4,7 @@
/* */
/* Amiga-specific FreeType low-level system interface (body). */
/* */
-/* Copyright (C) 1996-2019 by */
+/* Copyright (C) 1996-2020 by */
/* David Turner, Robert Wilhelm, Werner Lemberg and Detlef Würkner. */
/* */
/* This file is part of the FreeType project, and may only be used, */
diff --git a/freetype/builds/ansi/ansi-def.mk b/freetype/builds/ansi/ansi-def.mk
index 9e1f57de..9642098d 100644
--- a/freetype/builds/ansi/ansi-def.mk
+++ b/freetype/builds/ansi/ansi-def.mk
@@ -3,7 +3,7 @@
#
-# Copyright (C) 1996-2019 by
+# Copyright (C) 1996-2020 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/freetype/builds/ansi/ansi.mk b/freetype/builds/ansi/ansi.mk
index eb97df4b..c2448030 100644
--- a/freetype/builds/ansi/ansi.mk
+++ b/freetype/builds/ansi/ansi.mk
@@ -3,7 +3,7 @@
#
-# Copyright (C) 1996-2019 by
+# Copyright (C) 1996-2020 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/freetype/builds/beos/beos-def.mk b/freetype/builds/beos/beos-def.mk
index 7a9d91c4..5ae7ed8f 100644
--- a/freetype/builds/beos/beos-def.mk
+++ b/freetype/builds/beos/beos-def.mk
@@ -5,7 +5,7 @@
#
-# Copyright (C) 1996-2019 by
+# Copyright (C) 1996-2020 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/freetype/builds/beos/beos.mk b/freetype/builds/beos/beos.mk
index 180be585..1a082c18 100644
--- a/freetype/builds/beos/beos.mk
+++ b/freetype/builds/beos/beos.mk
@@ -2,7 +2,7 @@
# FreeType 2 configuration rules for a BeOS system
#
-# Copyright (C) 1996-2019 by
+# Copyright (C) 1996-2020 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/freetype/builds/beos/detect.mk b/freetype/builds/beos/detect.mk
index 19205eb2..5b92512a 100644
--- a/freetype/builds/beos/detect.mk
+++ b/freetype/builds/beos/detect.mk
@@ -3,7 +3,7 @@
#
-# Copyright (C) 1996-2019 by
+# Copyright (C) 1996-2020 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/freetype/builds/cmake/FindBrotliDec.cmake b/freetype/builds/cmake/FindBrotliDec.cmake
new file mode 100644
index 00000000..7c484c7d
--- /dev/null
+++ b/freetype/builds/cmake/FindBrotliDec.cmake
@@ -0,0 +1,51 @@
+# FindBrotliDec.cmake
+#
+# Copyright (C) 2019-2020 by
+# David Turner, Robert Wilhelm, and Werner Lemberg.
+#
+# Written 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.
+#
+#
+# Try to find libbrotlidec include and library directories.
+#
+# If found, the following variables are set.
+#
+# BROTLIDEC_INCLUDE_DIRS
+# BROTLIDEC_LIBRARIES
+
+include(FindPkgConfig)
+pkg_check_modules(PC_BROTLIDEC QUIET libbrotlidec)
+
+if (PC_BROTLIDEC_VERSION)
+ set(BROTLIDEC_VERSION "${PC_BROTLIDEC_VERSION}")
+endif ()
+
+
+find_path(BROTLIDEC_INCLUDE_DIRS
+ NAMES brotli/decode.h
+ HINTS ${PC_BROTLIDEC_INCLUDEDIR}
+ ${PC_BROTLIDEC_INCLUDE_DIRS}
+ PATH_SUFFIXES brotli)
+
+find_library(BROTLIDEC_LIBRARIES
+ NAMES brotlidec
+ HINTS ${PC_BROTLIDEC_LIBDIR}
+ ${PC_BROTLIDEC_LIBRARY_DIRS})
+
+
+include(FindPackageHandleStandardArgs)
+find_package_handle_standard_args(
+ brotlidec
+ REQUIRED_VARS BROTLIDEC_INCLUDE_DIRS BROTLIDEC_LIBRARIES
+ FOUND_VAR BROTLIDEC_FOUND
+ VERSION_VAR BROTLIDEC_VERSION)
+
+mark_as_advanced(
+ BROTLIDEC_INCLUDE_DIRS
+ BROTLIDEC_LIBRARIES)
diff --git a/freetype/builds/cmake/FindHarfBuzz.cmake b/freetype/builds/cmake/FindHarfBuzz.cmake
index ee0d52e3..d489613f 100644
--- a/freetype/builds/cmake/FindHarfBuzz.cmake
+++ b/freetype/builds/cmake/FindHarfBuzz.cmake
@@ -23,59 +23,65 @@
# 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.
+
+
+# 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
+#
+# HARFBUZZ_INCLUDE_DIRS - containg the HarfBuzz headers
+# HARFBUZZ_LIBRARIES - containg the HarfBuzz library
include(FindPkgConfig)
pkg_check_modules(PC_HARFBUZZ QUIET harfbuzz)
find_path(HARFBUZZ_INCLUDE_DIRS
- NAMES hb.h
- HINTS ${PC_HARFBUZZ_INCLUDEDIR}
- ${PC_HARFBUZZ_INCLUDE_DIRS}
- PATH_SUFFIXES harfbuzz
-)
+ NAMES hb.h
+ HINTS ${PC_HARFBUZZ_INCLUDEDIR}
+ ${PC_HARFBUZZ_INCLUDE_DIRS}
+ PATH_SUFFIXES harfbuzz)
-find_library(HARFBUZZ_LIBRARIES NAMES harfbuzz
- HINTS ${PC_HARFBUZZ_LIBDIR}
- ${PC_HARFBUZZ_LIBRARY_DIRS}
-)
+find_library(HARFBUZZ_LIBRARIES
+ NAMES harfbuzz
+ HINTS ${PC_HARFBUZZ_LIBDIR}
+ ${PC_HARFBUZZ_LIBRARY_DIRS})
if (HARFBUZZ_INCLUDE_DIRS)
- if (EXISTS "${HARFBUZZ_INCLUDE_DIRS}/hb-version.h")
- file(READ "${HARFBUZZ_INCLUDE_DIRS}/hb-version.h" _harfbuzz_version_content)
+ if (EXISTS "${HARFBUZZ_INCLUDE_DIRS}/hb-version.h")
+ file(READ "${HARFBUZZ_INCLUDE_DIRS}/hb-version.h" _harfbuzz_version_content)
- string(REGEX MATCH "#define +HB_VERSION_STRING +\"([0-9]+\\.[0-9]+\\.[0-9]+)\"" _dummy "${_harfbuzz_version_content}")
- set(HARFBUZZ_VERSION "${CMAKE_MATCH_1}")
- endif ()
+ string(REGEX MATCH
+ "#define +HB_VERSION_STRING +\"([0-9]+\\.[0-9]+\\.[0-9]+)\""
+ _dummy "${_harfbuzz_version_content}")
+ set(HARFBUZZ_VERSION "${CMAKE_MATCH_1}")
+ endif ()
endif ()
if ("${harfbuzz_FIND_VERSION}" VERSION_GREATER "${HARFBUZZ_VERSION}")
- message(FATAL_ERROR "Required version (" ${harfbuzz_FIND_VERSION} ") is higher than found version (" ${HARFBUZZ_VERSION} ")")
+ message(FATAL_ERROR
+ "Required version (" ${harfbuzz_FIND_VERSION} ")"
+ " is higher than found version (" ${HARFBUZZ_VERSION} ")")
endif ()
include(FindPackageHandleStandardArgs)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(
- harfbuzz
- REQUIRED_VARS HARFBUZZ_INCLUDE_DIRS HARFBUZZ_LIBRARIES
- VERSION_VAR HARFBUZZ_VERSION)
+find_package_handle_standard_args(
+ harfbuzz
+ REQUIRED_VARS HARFBUZZ_INCLUDE_DIRS HARFBUZZ_LIBRARIES
+ VERSION_VAR HARFBUZZ_VERSION)
mark_as_advanced(
- HARFBUZZ_INCLUDE_DIRS
- HARFBUZZ_LIBRARIES
-)
+ HARFBUZZ_INCLUDE_DIRS
+ HARFBUZZ_LIBRARIES)
-# Allows easy linking as in
+# Allow easy linking as in
+#
# target_link_libraries(freetype PRIVATE Harfbuzz::Harfbuzz)
+#
if (NOT CMAKE_VERSION VERSION_LESS 3.1)
- if (HARFBUZZ_FOUND AND NOT TARGET Harfbuzz::Harfbuzz)
- add_library(Harfbuzz::Harfbuzz INTERFACE IMPORTED)
- set_target_properties(
- Harfbuzz::Harfbuzz PROPERTIES
- INTERFACE_INCLUDE_DIRECTORIES "${HARFBUZZ_INCLUDE_DIRS}")
- endif ()
+ if (HARFBUZZ_FOUND AND NOT TARGET Harfbuzz::Harfbuzz)
+ add_library(Harfbuzz::Harfbuzz INTERFACE IMPORTED)
+ set_target_properties(
+ Harfbuzz::Harfbuzz PROPERTIES
+ INTERFACE_INCLUDE_DIRECTORIES "${HARFBUZZ_INCLUDE_DIRS}")
+ endif ()
endif ()
diff --git a/freetype/builds/cmake/iOS.cmake b/freetype/builds/cmake/iOS.cmake
index 3a350d27..6f46836a 100644
--- a/freetype/builds/cmake/iOS.cmake
+++ b/freetype/builds/cmake/iOS.cmake
@@ -1,6 +1,6 @@
# iOS.cmake
#
-# Copyright (C) 2014-2019 by
+# Copyright (C) 2014-2020 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# Written by David Wimsey
diff --git a/freetype/builds/cmake/testbuild.sh b/freetype/builds/cmake/testbuild.sh
index 65c481f5..8f8b6005 100755
--- a/freetype/builds/cmake/testbuild.sh
+++ b/freetype/builds/cmake/testbuild.sh
@@ -1,6 +1,6 @@
#!/bin/sh -e
-# Copyright (C) 2015-2019 by
+# Copyright (C) 2015-2020 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/freetype/builds/compiler/ansi-cc.mk b/freetype/builds/compiler/ansi-cc.mk
index 3c3fd736..78b13a49 100644
--- a/freetype/builds/compiler/ansi-cc.mk
+++ b/freetype/builds/compiler/ansi-cc.mk
@@ -3,7 +3,7 @@
#
-# Copyright (C) 1996-2019 by
+# Copyright (C) 1996-2020 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/freetype/builds/compiler/bcc-dev.mk b/freetype/builds/compiler/bcc-dev.mk
index 62a51c45..5f6f161c 100644
--- a/freetype/builds/compiler/bcc-dev.mk
+++ b/freetype/builds/compiler/bcc-dev.mk
@@ -3,7 +3,7 @@
#
-# Copyright (C) 1996-2019 by
+# Copyright (C) 1996-2020 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/freetype/builds/compiler/bcc.mk b/freetype/builds/compiler/bcc.mk
index 5ba6798b..f5e2e8a8 100644
--- a/freetype/builds/compiler/bcc.mk
+++ b/freetype/builds/compiler/bcc.mk
@@ -3,7 +3,7 @@
#
-# Copyright (C) 1996-2019 by
+# Copyright (C) 1996-2020 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/freetype/builds/compiler/emx.mk b/freetype/builds/compiler/emx.mk
index 0c2aa31f..bbb76049 100644
--- a/freetype/builds/compiler/emx.mk
+++ b/freetype/builds/compiler/emx.mk
@@ -3,7 +3,7 @@
#
-# Copyright (C) 2003-2019 by
+# Copyright (C) 2003-2020 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/freetype/builds/compiler/gcc-dev.mk b/freetype/builds/compiler/gcc-dev.mk
index 46dad39f..95b5f50d 100644
--- a/freetype/builds/compiler/gcc-dev.mk
+++ b/freetype/builds/compiler/gcc-dev.mk
@@ -3,7 +3,7 @@
#
-# Copyright (C) 1996-2019 by
+# Copyright (C) 1996-2020 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/freetype/builds/compiler/gcc.mk b/freetype/builds/compiler/gcc.mk
index b1ee409a..63cd93b2 100644
--- a/freetype/builds/compiler/gcc.mk
+++ b/freetype/builds/compiler/gcc.mk
@@ -3,7 +3,7 @@
#
-# Copyright (C) 1996-2019 by
+# Copyright (C) 1996-2020 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/freetype/builds/compiler/intelc.mk b/freetype/builds/compiler/intelc.mk
index 3a197026..b3c69b04 100644
--- a/freetype/builds/compiler/intelc.mk
+++ b/freetype/builds/compiler/intelc.mk
@@ -3,7 +3,7 @@
#
-# Copyright (C) 1996-2019 by
+# Copyright (C) 1996-2020 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/freetype/builds/compiler/unix-lcc.mk b/freetype/builds/compiler/unix-lcc.mk
index 9fe6753d..26f8e7b7 100644
--- a/freetype/builds/compiler/unix-lcc.mk
+++ b/freetype/builds/compiler/unix-lcc.mk
@@ -3,7 +3,7 @@
#
-# Copyright (C) 1996-2019 by
+# Copyright (C) 1996-2020 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/freetype/builds/compiler/visualage.mk b/freetype/builds/compiler/visualage.mk
index 26c99f75..4a8c8ac1 100644
--- a/freetype/builds/compiler/visualage.mk
+++ b/freetype/builds/compiler/visualage.mk
@@ -3,7 +3,7 @@
#
-# Copyright (C) 1996-2019 by
+# Copyright (C) 1996-2020 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/freetype/builds/compiler/visualc.mk b/freetype/builds/compiler/visualc.mk
index 17c8e765..a9cf71d8 100644
--- a/freetype/builds/compiler/visualc.mk
+++ b/freetype/builds/compiler/visualc.mk
@@ -3,7 +3,7 @@
#
-# Copyright (C) 1996-2019 by
+# Copyright (C) 1996-2020 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/freetype/builds/compiler/watcom.mk b/freetype/builds/compiler/watcom.mk
index 2ec24ef8..43a9e066 100644
--- a/freetype/builds/compiler/watcom.mk
+++ b/freetype/builds/compiler/watcom.mk
@@ -3,7 +3,7 @@
#
-# Copyright (C) 1996-2019 by
+# Copyright (C) 1996-2020 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/freetype/builds/compiler/win-lcc.mk b/freetype/builds/compiler/win-lcc.mk
index fc1f23b3..00d9d31d 100644
--- a/freetype/builds/compiler/win-lcc.mk
+++ b/freetype/builds/compiler/win-lcc.mk
@@ -3,7 +3,7 @@
#
-# Copyright (C) 1996-2019 by
+# Copyright (C) 1996-2020 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/freetype/builds/detect.mk b/freetype/builds/detect.mk
index 93b2861d..94627fc0 100644
--- a/freetype/builds/detect.mk
+++ b/freetype/builds/detect.mk
@@ -3,7 +3,7 @@
#
-# Copyright (C) 1996-2019 by
+# Copyright (C) 1996-2020 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
@@ -120,7 +120,7 @@ std_setup:
$(info `$(CONFIG_MK)' from this directory then read the INSTALL file for help.)
$(info )
$(info Otherwise, simply type `$(MAKE)' again to build the library,)
- $(info or `$(MAKE) refdoc' to build the API reference (this needs python >= 2.6).)
+ $(info or `$(MAKE) refdoc' to build the API reference (this needs Python >= 3.5).)
$(info )
@$(COPY) $(subst /,$(SEP),$(CONFIG_RULES) $(CONFIG_MK))
diff --git a/freetype/builds/dos/detect.mk b/freetype/builds/dos/detect.mk
index 53c1caa5..f5987947 100644
--- a/freetype/builds/dos/detect.mk
+++ b/freetype/builds/dos/detect.mk
@@ -3,7 +3,7 @@
#
-# Copyright (C) 1996-2019 by
+# Copyright (C) 1996-2020 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/freetype/builds/dos/dos-def.mk b/freetype/builds/dos/dos-def.mk
index a5c56b68..067d1d42 100644
--- a/freetype/builds/dos/dos-def.mk
+++ b/freetype/builds/dos/dos-def.mk
@@ -3,7 +3,7 @@
#
-# Copyright (C) 1996-2019 by
+# Copyright (C) 1996-2020 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/freetype/builds/dos/dos-emx.mk b/freetype/builds/dos/dos-emx.mk
index dbba33e2..51732083 100644
--- a/freetype/builds/dos/dos-emx.mk
+++ b/freetype/builds/dos/dos-emx.mk
@@ -3,7 +3,7 @@
#
-# Copyright (C) 2003-2019 by
+# Copyright (C) 2003-2020 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/freetype/builds/dos/dos-gcc.mk b/freetype/builds/dos/dos-gcc.mk
index c2813184..638892db 100644
--- a/freetype/builds/dos/dos-gcc.mk
+++ b/freetype/builds/dos/dos-gcc.mk
@@ -3,7 +3,7 @@
#
-# Copyright (C) 1996-2019 by
+# Copyright (C) 1996-2020 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/freetype/builds/dos/dos-wat.mk b/freetype/builds/dos/dos-wat.mk
index 8c5062d3..4e39d21a 100644
--- a/freetype/builds/dos/dos-wat.mk
+++ b/freetype/builds/dos/dos-wat.mk
@@ -3,7 +3,7 @@
#
-# Copyright (C) 2003-2019 by
+# Copyright (C) 2003-2020 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/freetype/builds/exports.mk b/freetype/builds/exports.mk
index 9dc21e27..eba96687 100644
--- a/freetype/builds/exports.mk
+++ b/freetype/builds/exports.mk
@@ -3,7 +3,7 @@
#
-# Copyright (C) 2005-2019 by
+# Copyright (C) 2005-2020 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/freetype/builds/freetype.mk b/freetype/builds/freetype.mk
index 2b0ffaed..1d7eeb60 100644
--- a/freetype/builds/freetype.mk
+++ b/freetype/builds/freetype.mk
@@ -3,7 +3,7 @@
#
-# Copyright (C) 1996-2019 by
+# Copyright (C) 1996-2020 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
@@ -104,7 +104,7 @@ CONFIG_DIR := $(PUBLIC_DIR)/config
# The documentation directory.
#
-DOC_DIR ?= $(TOP_DIR)/docs/reference
+DOC_DIR ?= $(TOP_DIR)/docs
# The final name of the library file.
#
@@ -126,12 +126,14 @@ INCLUDES := $(subst /,$(COMPILER_SEP),$(OBJ_DIR) \
INCLUDE_FLAGS := $(INCLUDES:%=$I%)
+# For a development build, we assume that the external library dependencies
+# defined in `ftoption.h' are fulfilled, so we directly access the necessary
+# include directory information using `pkg-config'.
+#
ifdef DEVEL_DIR
- # We assume that all library dependencies for FreeType are fulfilled for a
- # development build, so we directly access the necessary include directory
- # information using `pkg-config'.
- INCLUDE_FLAGS += $(shell pkg-config --cflags libpng \
- harfbuzz )
+ INCLUDE_FLAGS += $(shell pkg-config --cflags libpng)
+ INCLUDE_FLAGS += $(shell pkg-config --cflags harfbuzz)
+ INCLUDE_FLAGS += $(shell pkg-config --cflags libbrotlidec)
endif
@@ -146,25 +148,13 @@ endif
# FreeType. This is required to let our sources include the internal
# headers (something forbidden by clients).
#
-# Finally, we define FT_CONFIG_MODULES_H so that the compiler uses the
-# generated version of `ftmodule.h' in $(OBJ_DIR). If there is an
-# `ftoption.h' files in $(OBJ_DIR), define FT_CONFIG_OPTIONS_H too.
-#
-ifneq ($(wildcard $(OBJ_DIR)/ftoption.h),)
- FTOPTION_H := $(OBJ_DIR)/ftoption.h
- FTOPTION_FLAG := $DFT_CONFIG_OPTIONS_H=""
-else ifneq ($(wildcard $(BUILD_DIR)/ftoption.h),)
- FTOPTION_H := $(BUILD_DIR)/ftoption.h
- FTOPTION_FLAG := $DFT_CONFIG_OPTIONS_H=""
-endif
-
# `CPPFLAGS' might be specified by the user in the environment.
#
FT_CFLAGS = $(CPPFLAGS) \
$(CFLAGS) \
- $DFT2_BUILD_LIBRARY \
- $DFT_CONFIG_MODULES_H="" \
- $(FTOPTION_FLAG)
+ $DFT2_BUILD_LIBRARY
+
+FT_COMPILE := $(CC) $(ANSIFLAGS) $(INCLUDE_FLAGS) $(FT_CFLAGS)
# Include the `exports' rules file.
@@ -179,11 +169,17 @@ OBJECTS_LIST :=
# Define $(PUBLIC_H) as the list of all public header files located in
# `$(TOP_DIR)/include/freetype'. $(INTERNAL_H), and $(CONFIG_H) are defined
-# similarly.
+# similarly. $(FTOPTION_H) is the option file used in the compilation.
#
# This is used to simplify the dependency rules -- if one of these files
# changes, the whole library is recompiled.
#
+ifneq ($(wildcard $(OBJ_DIR)/ftoption.h),)
+ FTOPTION_H := $(OBJ_DIR)/ftoption.h
+else ifneq ($(wildcard $(BUILD_DIR)/ftoption.h),)
+ FTOPTION_H := $(BUILD_DIR)/ftoption.h
+endif
+
PUBLIC_H := $(wildcard $(PUBLIC_DIR)/*.h)
INTERNAL_H := $(wildcard $(INTERNAL_DIR)/*.h) \
$(wildcard $(SERVICES_DIR)/*.h)
@@ -196,8 +192,6 @@ DEVEL_H := $(wildcard $(TOP_DIR)/devel/*.h)
FREETYPE_H := $(PUBLIC_H) $(INTERNAL_H) $(CONFIG_H) $(DEVEL_H)
-FT_COMPILE := $(CC) $(ANSIFLAGS) $(INCLUDE_FLAGS) $(FT_CFLAGS)
-
# ftsystem component
#
FTSYS_SRC ?= $(BASE_DIR)/ftsystem.c
@@ -290,17 +284,15 @@ objects: $(OBJECTS_LIST)
library: $(PROJECT_LIBRARY)
# Run `docwriter' in the current Python environment.
-# Option `-B' disables generation of .pyc files (available since python 2.6)
#
-
PYTHON ?= python
-PIP ?= pip
refdoc:
@echo Running docwriter...
$(PYTHON) -m docwriter \
--prefix=ft2 \
--title=FreeType-$(version) \
+ --site=reference \
--output=$(DOC_DIR) \
$(PUBLIC_DIR)/*.h \
$(PUBLIC_DIR)/config/*.h \
@@ -318,17 +310,17 @@ refdoc:
VENV_NAME := env
VENV_DIR := $(DOC_DIR)$(SEP)$(VENV_NAME)
ENV_PYTHON := $(VENV_DIR)$(SEP)$(BIN)$(SEP)$(PYTHON)
-ENV_PIP := $(VENV_DIR)$(SEP)$(BIN)$(SEP)$(PIP)
refdoc-venv:
@echo Setting up virtualenv for Python...
virtualenv --python=$(PYTHON) $(VENV_DIR)
@echo Installing docwriter...
- $(ENV_PIP) install docwriter
+ $(ENV_PYTHON) -m pip install docwriter
@echo Running docwriter...
$(ENV_PYTHON) -m docwriter \
--prefix=ft2 \
--title=FreeType-$(version) \
+ --site=reference \
--output=$(DOC_DIR) \
$(PUBLIC_DIR)/*.h \
$(PUBLIC_DIR)/config/*.h \
diff --git a/freetype/builds/link_dos.mk b/freetype/builds/link_dos.mk
index 4c9076a6..c1ed1507 100644
--- a/freetype/builds/link_dos.mk
+++ b/freetype/builds/link_dos.mk
@@ -3,7 +3,7 @@
#
-# Copyright (C) 1996-2019 by
+# Copyright (C) 1996-2020 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/freetype/builds/link_std.mk b/freetype/builds/link_std.mk
index 7eedf1e7..940e6748 100644
--- a/freetype/builds/link_std.mk
+++ b/freetype/builds/link_std.mk
@@ -3,7 +3,7 @@
#
-# Copyright (C) 1996-2019 by
+# Copyright (C) 1996-2020 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/freetype/builds/mac/ftmac.c b/freetype/builds/mac/ftmac.c
index 6adf800a..b211780b 100644
--- a/freetype/builds/mac/ftmac.c
+++ b/freetype/builds/mac/ftmac.c
@@ -5,7 +5,7 @@
/* Mac FOND support. Written by just@letterror.com. */
/* Heavily Fixed by mpsuzuki, George Williams and Sean McBride */
/* */
-/* Copyright (C) 1996-2019 by */
+/* Copyright (C) 1996-2020 by */
/* Just van Rossum, David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
diff --git a/freetype/builds/modules.mk b/freetype/builds/modules.mk
index 8886fb3c..ae2e238f 100644
--- a/freetype/builds/modules.mk
+++ b/freetype/builds/modules.mk
@@ -3,7 +3,7 @@
#
-# Copyright (C) 1996-2019 by
+# Copyright (C) 1996-2020 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/freetype/builds/os2/detect.mk b/freetype/builds/os2/detect.mk
index 8e29450b..659b6c4a 100644
--- a/freetype/builds/os2/detect.mk
+++ b/freetype/builds/os2/detect.mk
@@ -3,7 +3,7 @@
#
-# Copyright (C) 1996-2019 by
+# Copyright (C) 1996-2020 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/freetype/builds/os2/os2-def.mk b/freetype/builds/os2/os2-def.mk
index 7a1699e3..b0976540 100644
--- a/freetype/builds/os2/os2-def.mk
+++ b/freetype/builds/os2/os2-def.mk
@@ -3,7 +3,7 @@
#
-# Copyright (C) 1996-2019 by
+# Copyright (C) 1996-2020 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/freetype/builds/os2/os2-dev.mk b/freetype/builds/os2/os2-dev.mk
index 1b83836a..8e2a4eb6 100644
--- a/freetype/builds/os2/os2-dev.mk
+++ b/freetype/builds/os2/os2-dev.mk
@@ -5,7 +5,7 @@
#
-# Copyright (C) 1996-2019 by
+# Copyright (C) 1996-2020 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/freetype/builds/os2/os2-gcc.mk b/freetype/builds/os2/os2-gcc.mk
index 63a3ed1b..2bd39ae5 100644
--- a/freetype/builds/os2/os2-gcc.mk
+++ b/freetype/builds/os2/os2-gcc.mk
@@ -3,7 +3,7 @@
#
-# Copyright (C) 1996-2019 by
+# Copyright (C) 1996-2020 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/freetype/builds/symbian/bld.inf b/freetype/builds/symbian/bld.inf
index 0fa16c3e..9739da1c 100644
--- a/freetype/builds/symbian/bld.inf
+++ b/freetype/builds/symbian/bld.inf
@@ -2,7 +2,7 @@
// FreeType 2 project for the symbian platform
//
-// Copyright (C) 2008-2019 by
+// Copyright (C) 2008-2020 by
// David Turner, Robert Wilhelm, and Werner Lemberg.
//
// This file is part of the FreeType project, and may only be used, modified,
diff --git a/freetype/builds/symbian/freetype.mmp b/freetype/builds/symbian/freetype.mmp
index bfbbcaf2..90fc6bb8 100644
--- a/freetype/builds/symbian/freetype.mmp
+++ b/freetype/builds/symbian/freetype.mmp
@@ -2,7 +2,7 @@
// FreeType 2 makefile for the symbian platform
//
-// Copyright (C) 2008-2019 by
+// Copyright (C) 2008-2020 by
// David Turner, Robert Wilhelm, and Werner Lemberg.
//
// This file is part of the FreeType project, and may only be used, modified,
diff --git a/freetype/builds/toplevel.mk b/freetype/builds/toplevel.mk
index 333b775c..5de61c11 100644
--- a/freetype/builds/toplevel.mk
+++ b/freetype/builds/toplevel.mk
@@ -3,7 +3,7 @@
#
-# Copyright (C) 1996-2019 by
+# Copyright (C) 1996-2020 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
@@ -268,7 +268,7 @@ do-dist: distclean refdoc
cp $(CONFIG_SUB) builds/unix
@# Remove intermediate files created by the `refdoc' target.
- rm -rf docs/reference/markdown
- rm -f docs/reference/mkdocs.yml
+ rm -rf docs/markdown
+ rm -f docs/mkdocs.yml
# EOF
diff --git a/freetype/builds/unix/aclocal.m4 b/freetype/builds/unix/aclocal.m4
index 12b4b994..adad988e 100644
--- a/freetype/builds/unix/aclocal.m4
+++ b/freetype/builds/unix/aclocal.m4
@@ -9154,5 +9154,7 @@ m4_ifndef([_LT_PROG_F77], [AC_DEFUN([_LT_PROG_F77])])
m4_ifndef([_LT_PROG_FC], [AC_DEFUN([_LT_PROG_FC])])
m4_ifndef([_LT_PROG_CXX], [AC_DEFUN([_LT_PROG_CXX])])
+m4_include([ax_compare_version.m4])
+m4_include([ax_prog_python_version.m4])
m4_include([ft-munmap.m4])
m4_include([pkg.m4])
diff --git a/freetype/builds/unix/ax_compare_version.m4 b/freetype/builds/unix/ax_compare_version.m4
new file mode 100644
index 00000000..ffb4997e
--- /dev/null
+++ b/freetype/builds/unix/ax_compare_version.m4
@@ -0,0 +1,177 @@
+# ===========================================================================
+# https://www.gnu.org/software/autoconf-archive/ax_compare_version.html
+# ===========================================================================
+#
+# SYNOPSIS
+#
+# AX_COMPARE_VERSION(VERSION_A, OP, VERSION_B, [ACTION-IF-TRUE], [ACTION-IF-FALSE])
+#
+# DESCRIPTION
+#
+# This macro compares two version strings. Due to the various number of
+# minor-version numbers that can exist, and the fact that string
+# comparisons are not compatible with numeric comparisons, this is not
+# necessarily trivial to do in a autoconf script. This macro makes doing
+# these comparisons easy.
+#
+# The six basic comparisons are available, as well as checking equality
+# limited to a certain number of minor-version levels.
+#
+# The operator OP determines what type of comparison to do, and can be one
+# of:
+#
+# eq - equal (test A == B)
+# ne - not equal (test A != B)
+# le - less than or equal (test A <= B)
+# ge - greater than or equal (test A >= B)
+# lt - less than (test A < B)
+# gt - greater than (test A > B)
+#
+# Additionally, the eq and ne operator can have a number after it to limit
+# the test to that number of minor versions.
+#
+# eq0 - equal up to the length of the shorter version
+# ne0 - not equal up to the length of the shorter version
+# eqN - equal up to N sub-version levels
+# neN - not equal up to N sub-version levels
+#
+# When the condition is true, shell commands ACTION-IF-TRUE are run,
+# otherwise shell commands ACTION-IF-FALSE are run. The environment
+# variable 'ax_compare_version' is always set to either 'true' or 'false'
+# as well.
+#
+# Examples:
+#
+# AX_COMPARE_VERSION([3.15.7],[lt],[3.15.8])
+# AX_COMPARE_VERSION([3.15],[lt],[3.15.8])
+#
+# would both be true.
+#
+# AX_COMPARE_VERSION([3.15.7],[eq],[3.15.8])
+# AX_COMPARE_VERSION([3.15],[gt],[3.15.8])
+#
+# would both be false.
+#
+# AX_COMPARE_VERSION([3.15.7],[eq2],[3.15.8])
+#
+# would be true because it is only comparing two minor versions.
+#
+# AX_COMPARE_VERSION([3.15.7],[eq0],[3.15])
+#
+# would be true because it is only comparing the lesser number of minor
+# versions of the two values.
+#
+# Note: The characters that separate the version numbers do not matter. An
+# empty string is the same as version 0. OP is evaluated by autoconf, not
+# configure, so must be a string, not a variable.
+#
+# The author would like to acknowledge Guido Draheim whose advice about
+# the m4_case and m4_ifvaln functions make this macro only include the
+# portions necessary to perform the specific comparison specified by the
+# OP argument in the final configure script.
+#
+# LICENSE
+#
+# Copyright (c) 2008 Tim Toolan
+#
+# Copying and distribution of this file, with or without modification, are
+# permitted in any medium without royalty provided the copyright notice
+# and this notice are preserved. This file is offered as-is, without any
+# warranty.
+
+#serial 13
+
+dnl #########################################################################
+AC_DEFUN([AX_COMPARE_VERSION], [
+ AC_REQUIRE([AC_PROG_AWK])
+
+ # Used to indicate true or false condition
+ ax_compare_version=false
+
+ # Convert the two version strings to be compared into a format that
+ # allows a simple string comparison. The end result is that a version
+ # string of the form 1.12.5-r617 will be converted to the form
+ # 0001001200050617. In other words, each number is zero padded to four
+ # digits, and non digits are removed.
+ AS_VAR_PUSHDEF([A],[ax_compare_version_A])
+ A=`echo "$1" | sed -e 's/\([[0-9]]*\)/Z\1Z/g' \
+ -e 's/Z\([[0-9]]\)Z/Z0\1Z/g' \
+ -e 's/Z\([[0-9]][[0-9]]\)Z/Z0\1Z/g' \
+ -e 's/Z\([[0-9]][[0-9]][[0-9]]\)Z/Z0\1Z/g' \
+ -e 's/[[^0-9]]//g'`
+
+ AS_VAR_PUSHDEF([B],[ax_compare_version_B])
+ B=`echo "$3" | sed -e 's/\([[0-9]]*\)/Z\1Z/g' \
+ -e 's/Z\([[0-9]]\)Z/Z0\1Z/g' \
+ -e 's/Z\([[0-9]][[0-9]]\)Z/Z0\1Z/g' \
+ -e 's/Z\([[0-9]][[0-9]][[0-9]]\)Z/Z0\1Z/g' \
+ -e 's/[[^0-9]]//g'`
+
+ dnl # In the case of le, ge, lt, and gt, the strings are sorted as necessary
+ dnl # then the first line is used to determine if the condition is true.
+ dnl # The sed right after the echo is to remove any indented white space.
+ m4_case(m4_tolower($2),
+ [lt],[
+ ax_compare_version=`echo "x$A
+x$B" | sed 's/^ *//' | sort -r | sed "s/x${A}/false/;s/x${B}/true/;1q"`
+ ],
+ [gt],[
+ ax_compare_version=`echo "x$A
+x$B" | sed 's/^ *//' | sort | sed "s/x${A}/false/;s/x${B}/true/;1q"`
+ ],
+ [le],[
+ ax_compare_version=`echo "x$A
+x$B" | sed 's/^ *//' | sort | sed "s/x${A}/true/;s/x${B}/false/;1q"`
+ ],
+ [ge],[
+ ax_compare_version=`echo "x$A
+x$B" | sed 's/^ *//' | sort -r | sed "s/x${A}/true/;s/x${B}/false/;1q"`
+ ],[
+ dnl Split the operator from the subversion count if present.
+ m4_bmatch(m4_substr($2,2),
+ [0],[
+ # A count of zero means use the length of the shorter version.
+ # Determine the number of characters in A and B.
+ ax_compare_version_len_A=`echo "$A" | $AWK '{print(length)}'`
+ ax_compare_version_len_B=`echo "$B" | $AWK '{print(length)}'`
+
+ # Set A to no more than B's length and B to no more than A's length.
+ A=`echo "$A" | sed "s/\(.\{$ax_compare_version_len_B\}\).*/\1/"`
+ B=`echo "$B" | sed "s/\(.\{$ax_compare_version_len_A\}\).*/\1/"`
+ ],
+ [[0-9]+],[
+ # A count greater than zero means use only that many subversions
+ A=`echo "$A" | sed "s/\(\([[0-9]]\{4\}\)\{m4_substr($2,2)\}\).*/\1/"`
+ B=`echo "$B" | sed "s/\(\([[0-9]]\{4\}\)\{m4_substr($2,2)\}\).*/\1/"`
+ ],
+ [.+],[
+ AC_WARNING(
+ [invalid OP numeric parameter: $2])
+ ],[])
+
+ # Pad zeros at end of numbers to make same length.
+ ax_compare_version_tmp_A="$A`echo $B | sed 's/./0/g'`"
+ B="$B`echo $A | sed 's/./0/g'`"
+ A="$ax_compare_version_tmp_A"
+
+ # Check for equality or inequality as necessary.
+ m4_case(m4_tolower(m4_substr($2,0,2)),
+ [eq],[
+ test "x$A" = "x$B" && ax_compare_version=true
+ ],
+ [ne],[
+ test "x$A" != "x$B" && ax_compare_version=true
+ ],[
+ AC_WARNING([invalid OP parameter: $2])
+ ])
+ ])
+
+ AS_VAR_POPDEF([A])dnl
+ AS_VAR_POPDEF([B])dnl
+
+ dnl # Execute ACTION-IF-TRUE / ACTION-IF-FALSE.
+ if test "$ax_compare_version" = "true" ; then
+ m4_ifvaln([$4],[$4],[:])dnl
+ m4_ifvaln([$5],[else $5])dnl
+ fi
+]) dnl AX_COMPARE_VERSION
diff --git a/freetype/builds/unix/ax_prog_python_version.m4 b/freetype/builds/unix/ax_prog_python_version.m4
new file mode 100644
index 00000000..dbc3dbf1
--- /dev/null
+++ b/freetype/builds/unix/ax_prog_python_version.m4
@@ -0,0 +1,66 @@
+# ===========================================================================
+# https://www.gnu.org/software/autoconf-archive/ax_prog_python_version.html
+# ===========================================================================
+#
+# SYNOPSIS
+#
+# AX_PROG_PYTHON_VERSION([VERSION],[ACTION-IF-TRUE],[ACTION-IF-FALSE])
+#
+# DESCRIPTION
+#
+# Makes sure that python supports the version indicated. If true the shell
+# commands in ACTION-IF-TRUE are executed. If not the shell commands in
+# ACTION-IF-FALSE are run. Note if $PYTHON is not set (for example by
+# running AC_CHECK_PROG or AC_PATH_PROG) the macro will fail.
+#
+# Example:
+#
+# AC_PATH_PROG([PYTHON],[python])
+# AX_PROG_PYTHON_VERSION([2.4.4],[ ... ],[ ... ])
+#
+# This will check to make sure that the python you have supports at least
+# version 2.4.4.
+#
+# NOTE: This macro uses the $PYTHON variable to perform the check.
+# AX_WITH_PYTHON can be used to set that variable prior to running this
+# macro. The $PYTHON_VERSION variable will be valorized with the detected
+# version.
+#
+# LICENSE
+#
+# Copyright (c) 2009 Francesco Salvestrini
+#
+# Copying and distribution of this file, with or without modification, are
+# permitted in any medium without royalty provided the copyright notice
+# and this notice are preserved. This file is offered as-is, without any
+# warranty.
+
+#serial 12
+
+AC_DEFUN([AX_PROG_PYTHON_VERSION],[
+ AC_REQUIRE([AC_PROG_SED])
+ AC_REQUIRE([AC_PROG_GREP])
+
+ AS_IF([test -n "$PYTHON"],[
+ ax_python_version="$1"
+
+ AC_MSG_CHECKING([for python version])
+ changequote(<<,>>)
+ python_version=`$PYTHON -V 2>&1 | $GREP "^Python " | $SED -e 's/^.* \([0-9]*\.[0-9]*\.[0-9]*\)/\1/'`
+ changequote([,])
+ AC_MSG_RESULT($python_version)
+
+ AC_SUBST([PYTHON_VERSION],[$python_version])
+
+ AX_COMPARE_VERSION([$ax_python_version],[le],[$python_version],[
+ :
+ $2
+ ],[
+ :
+ $3
+ ])
+ ],[
+ AC_MSG_WARN([could not find the python interpreter])
+ $3
+ ])
+])
diff --git a/freetype/builds/unix/config.guess b/freetype/builds/unix/config.guess
index 41b8b854..11fda528 100755
--- a/freetype/builds/unix/config.guess
+++ b/freetype/builds/unix/config.guess
@@ -1,8 +1,8 @@
#! /bin/sh
# Attempt to guess a canonical system name.
-# Copyright 1992-2019 Free Software Foundation, Inc.
+# Copyright 1992-2020 Free Software Foundation, Inc.
-timestamp='2019-06-10'
+timestamp='2020-04-26'
# 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
@@ -50,7 +50,7 @@ version="\
GNU config.guess ($timestamp)
Originally written by Per Bothner.
-Copyright 1992-2019 Free Software Foundation, Inc.
+Copyright 1992-2020 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -99,6 +99,8 @@ tmp=
trap 'test -z "$tmp" || rm -fr "$tmp"' 0 1 2 13 15
set_cc_for_build() {
+ # prevent multiple calls if $tmp is already set
+ test "$tmp" && return 0
: "${TMPDIR=/tmp}"
# shellcheck disable=SC2039
{ tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
@@ -274,12 +276,15 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in
*:Sortix:*:*)
echo "$UNAME_MACHINE"-unknown-sortix
exit ;;
+ *:Twizzler:*:*)
+ echo "$UNAME_MACHINE"-unknown-twizzler
+ exit ;;
*:Redox:*:*)
echo "$UNAME_MACHINE"-unknown-redox
exit ;;
mips:OSF1:*.*)
- echo mips-dec-osf1
- exit ;;
+ echo mips-dec-osf1
+ exit ;;
alpha:OSF1:*:*)
case $UNAME_RELEASE in
*4.0)
@@ -921,7 +926,7 @@ EOF
echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
exit ;;
alpha:Linux:*:*)
- case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
+ case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' /proc/cpuinfo 2>/dev/null` in
EV5) UNAME_MACHINE=alphaev5 ;;
EV56) UNAME_MACHINE=alphaev56 ;;
PCA56) UNAME_MACHINE=alphapca56 ;;
@@ -1624,6 +1629,12 @@ copies of config.guess and config.sub with the latest versions from:
https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
and
https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
+EOF
+
+year=`echo $timestamp | sed 's,-.*,,'`
+# shellcheck disable=SC2003
+if test "`expr "\`date +%Y\`" - "$year"`" -lt 3 ; then
+ cat >&2 <."
version="\
GNU config.sub ($timestamp)
-Copyright 1992-2019 Free Software Foundation, Inc.
+Copyright 1992-2020 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -337,17 +337,14 @@ case $1 in
basic_machine=m88k-harris
os=sysv3
;;
- hp300)
+ hp300 | hp300hpux)
basic_machine=m68k-hp
+ os=hpux
;;
hp300bsd)
basic_machine=m68k-hp
os=bsd
;;
- hp300hpux)
- basic_machine=m68k-hp
- os=hpux
- ;;
hppaosf)
basic_machine=hppa1.1-hp
os=osf
@@ -360,10 +357,6 @@ case $1 in
basic_machine=i386-mach
os=mach
;;
- vsta)
- basic_machine=i386-pc
- os=vsta
- ;;
isi68 | isi)
basic_machine=m68k-isi
os=sysv
@@ -612,6 +605,10 @@ case $1 in
basic_machine=vax-dec
os=vms
;;
+ vsta)
+ basic_machine=i386-pc
+ os=vsta
+ ;;
vxworks960)
basic_machine=i960-wrs
os=vxworks
@@ -1346,11 +1343,11 @@ case $os in
| hpux* | unos* | osf* | luna* | dgux* | auroraux* | solaris* \
| sym* | kopensolaris* | plan9* \
| amigaos* | amigados* | msdos* | newsos* | unicos* | aof* \
- | aos* | aros* | cloudabi* | sortix* \
+ | aos* | aros* | cloudabi* | sortix* | twizzler* \
| nindy* | vxsim* | vxworks* | ebmon* | hms* | mvs* \
| clix* | riscos* | uniplus* | iris* | isc* | rtu* | xenix* \
| knetbsd* | mirbsd* | netbsd* \
- | bitrig* | openbsd* | solidbsd* | libertybsd* \
+ | bitrig* | openbsd* | solidbsd* | libertybsd* | os108* \
| ekkobsd* | kfreebsd* | freebsd* | riscix* | lynxos* \
| bosx* | nextstep* | cxux* | aout* | elf* | oabi* \
| ptx* | coff* | ecoff* | winnt* | domain* | vsta* \
@@ -1368,7 +1365,8 @@ case $os in
| powermax* | dnix* | nx6 | nx7 | sei* | dragonfly* \
| skyos* | haiku* | rdos* | toppers* | drops* | es* \
| onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \
- | midnightbsd* | amdhsa* | unleashed* | emscripten* | wasi*)
+ | midnightbsd* | amdhsa* | unleashed* | emscripten* | wasi* \
+ | nsk* | powerunix*)
# Remember, each alternative MUST END IN *, to match a version number.
;;
qnx*)
@@ -1452,9 +1450,6 @@ case $os in
ns2)
os=nextstep2
;;
- nsk*)
- os=nsk
- ;;
# Preserve the version number of sinix5.
sinix5.*)
os=`echo $os | sed -e 's|sinix|sysv|'`
diff --git a/freetype/builds/unix/configure b/freetype/builds/unix/configure
index f6b65306..f14f3274 100755
--- a/freetype/builds/unix/configure
+++ b/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.10.1.
+# Generated by GNU Autoconf 2.69 for FreeType 2.10.2.
#
# Report bugs to .
#
@@ -590,8 +590,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='FreeType'
PACKAGE_TARNAME='freetype'
-PACKAGE_VERSION='2.10.1'
-PACKAGE_STRING='FreeType 2.10.1'
+PACKAGE_VERSION='2.10.2'
+PACKAGE_STRING='FreeType 2.10.2'
PACKAGE_BUGREPORT='freetype@nongnu.org'
PACKAGE_URL=''
@@ -642,9 +642,11 @@ LIBSSTATIC_CONFIG
LIBS_PRIVATE
REQUIRES_PRIVATE
ftmac_c
-PIP
+PYTHON_VERSION
PYTHON
LIB_CLOCK_GETTIME
+BROTLI_LIBS
+BROTLI_CFLAGS
HARFBUZZ_LIBS
HARFBUZZ_CFLAGS
LIBPNG_LIBS
@@ -767,6 +769,7 @@ with_zlib
with_bzip2
with_png
with_harfbuzz
+with_brotli
with_old_mac_fonts
with_fsspec
with_fsref
@@ -794,7 +797,9 @@ BZIP2_LIBS
LIBPNG_CFLAGS
LIBPNG_LIBS
HARFBUZZ_CFLAGS
-HARFBUZZ_LIBS'
+HARFBUZZ_LIBS
+BROTLI_CFLAGS
+BROTLI_LIBS'
# Initialize some variables set by options.
@@ -1335,7 +1340,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.10.1 to adapt to many kinds of systems.
+\`configure' configures FreeType 2.10.2 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1400,7 +1405,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of FreeType 2.10.1:";;
+ short | recursive ) echo "Configuration of FreeType 2.10.2:";;
esac
cat <<\_ACEOF
@@ -1442,6 +1447,9 @@ Optional Packages:
--with-harfbuzz=[yes|no|auto]
improve auto-hinting of OpenType fonts
[default=auto]
+ --with-brotli=[yes|no|auto]
+ support decompression of WOFF2 streams
+ [default=auto]
--with-old-mac-fonts allow Mac resource-based fonts to be used
--with-fsspec use obsolete FSSpec API of MacOS, if available
(default=yes)
@@ -1482,6 +1490,9 @@ Some influential environment variables:
C compiler flags for HARFBUZZ, overriding pkg-config
HARFBUZZ_LIBS
linker flags for HARFBUZZ, overriding pkg-config
+ BROTLI_CFLAGS
+ C compiler flags for BROTLI, overriding pkg-config
+ BROTLI_LIBS linker flags for BROTLI, overriding pkg-config
Use these variables to override the choices made by `configure' or to help
it to find libraries and programs with nonstandard names/locations.
@@ -1549,7 +1560,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-FreeType configure 2.10.1
+FreeType configure 2.10.2
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2147,7 +2158,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.10.1, which was
+It was created by FreeType $as_me 2.10.2, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -2503,7 +2514,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
# Don't forget to update `docs/VERSIONS.TXT'!
-version_info='23:1:17'
+version_info='23:2:17'
ft_version=`echo $version_info | tr : .`
@@ -13945,7 +13956,7 @@ fi
libpng_libsstaticconf="$LIBPNG_LIBS"
have_libpng="yes (LIBPNG_CFLAGS and LIBPNG_LIBS)"
else
- # fall back to config script.
+ # fall back to config script
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for libpng-config" >&5
$as_echo_n "checking for libpng-config... " >&6; }
if which libpng-config > /dev/null 2>&1; then
@@ -13982,7 +13993,7 @@ fi
have_harfbuzz=no
if test x"$with_harfbuzz" = xyes -o x"$with_harfbuzz" = xauto; then
- harfbuzz_pkg="harfbuzz >= 1.3.0"
+ harfbuzz_pkg="harfbuzz >= 1.8.0"
have_harfbuzz_pkg=no
if test x"$HARFBUZZ_CFLAGS" = x -a x"$HARFBUZZ_LIBS" = x; then
@@ -14093,6 +14104,130 @@ if test x"$with_harfbuzz" = xyes -a "$have_harfbuzz" = no; then
fi
+# check for system libbrotlidec
+
+
+# Check whether --with-brotli was given.
+if test "${with_brotli+set}" = set; then :
+ withval=$with_brotli;
+else
+ with_brotli=auto
+fi
+
+
+have_brotli=no
+if test x"$with_brotli" = xyes -o x"$with_brotli" = xauto; then
+ brotli_pkg="libbrotlidec"
+ have_brotli_pkg=no
+
+ if test x"$BROTLI_CFLAGS" = x -a x"$BROTLI_LIBS" = x; then
+ if test -n "$PKG_CONFIG" && \
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$brotli_pkg\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "$brotli_pkg") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ have_brotli_pkg=yes
+fi
+ fi
+
+pkg_failed=no
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for BROTLI" >&5
+$as_echo_n "checking for BROTLI... " >&6; }
+
+if test -n "$BROTLI_CFLAGS"; then
+ pkg_cv_BROTLI_CFLAGS="$BROTLI_CFLAGS"
+ elif test -n "$PKG_CONFIG"; then
+ if test -n "$PKG_CONFIG" && \
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$brotli_pkg\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "$brotli_pkg") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ pkg_cv_BROTLI_CFLAGS=`$PKG_CONFIG --cflags "$brotli_pkg" 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes
+else
+ pkg_failed=yes
+fi
+ else
+ pkg_failed=untried
+fi
+if test -n "$BROTLI_LIBS"; then
+ pkg_cv_BROTLI_LIBS="$BROTLI_LIBS"
+ elif test -n "$PKG_CONFIG"; then
+ if test -n "$PKG_CONFIG" && \
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$brotli_pkg\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "$brotli_pkg") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ pkg_cv_BROTLI_LIBS=`$PKG_CONFIG --libs "$brotli_pkg" 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes
+else
+ pkg_failed=yes
+fi
+ else
+ pkg_failed=untried
+fi
+
+
+
+if test $pkg_failed = yes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+ _pkg_short_errors_supported=yes
+else
+ _pkg_short_errors_supported=no
+fi
+ if test $_pkg_short_errors_supported = yes; then
+ BROTLI_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$brotli_pkg" 2>&1`
+ else
+ BROTLI_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$brotli_pkg" 2>&1`
+ fi
+ # Put the nasty error message in config.log where it belongs
+ echo "$BROTLI_PKG_ERRORS" >&5
+
+ :
+elif test $pkg_failed = untried; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ :
+else
+ BROTLI_CFLAGS=$pkg_cv_BROTLI_CFLAGS
+ BROTLI_LIBS=$pkg_cv_BROTLI_LIBS
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ have_brotli="yes (pkg-config)"
+fi
+
+ if test $have_brotli_pkg = yes; then
+ # we have libbrotlidec.pc
+ brotli_reqpriv="$brotli_pkg"
+ brotli_libspriv=
+ brotli_libsstaticconf=`$PKG_CONFIG --static --libs "$brotli_pkg"`
+ else
+ brotli_reqpriv=
+
+ if test "$have_brotli" != no; then
+ # BROTLI_CFLAGS and BROTLI_LIBS are set by the user
+ brotli_libspriv="$BROTLI_LIBS"
+ brotli_libsstaticconf="$BROTLI_LIBS"
+ have_brotli="yes (BROTLI_CFLAGS and BROTLI_LIBS)"
+ else
+ # since Brotli is quite a new library we don't fall back to a
+ # different test
+ :
+ fi
+ fi
+fi
+
+if test x"$with_brotli" = xyes -a "$have_brotli" = no; then
+ as_fn_error $? "brotli support requested but library not found" "$LINENO" 5
+fi
+
+
# check for librt
#
# We need `clock_gettime' for the `ftbench' demo program.
@@ -14738,9 +14873,13 @@ $as_echo "$as_me: WARNING:
;;
esac
-# Check for python and docwriter
+# Check for Python and docwriter
-for ac_prog in python3 python2 python
+have_py3=no
+have_docwriter=no
+PIP=pip
+
+for ac_prog in python3 python
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
@@ -14783,56 +14922,83 @@ fi
done
test -n "$PYTHON" || PYTHON="missing"
-have_docwriter=no
if test "x$PYTHON" != "xmissing"; then
- for ac_prog in pip3 pip2 pip
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; 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_PIP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$PIP"; then
- ac_cv_prog_PIP="$PIP" # 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_PIP="$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
+
+
+
+
+ if test -n "$PYTHON"; then :
+
+ ax_python_version="3.5"
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for python version" >&5
+$as_echo_n "checking for python version... " >&6; }
+
+ python_version=`$PYTHON -V 2>&1 | $GREP "^Python " | $SED -e 's/^.* \([0-9]*\.[0-9]*\.[0-9]*\)/\1/'`
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $python_version" >&5
+$as_echo "$python_version" >&6; }
+
+ PYTHON_VERSION=$python_version
+
+
+
+
+
+ # Used to indicate true or false condition
+ ax_compare_version=false
+
+ # Convert the two version strings to be compared into a format that
+ # allows a simple string comparison. The end result is that a version
+ # string of the form 1.12.5-r617 will be converted to the form
+ # 0001001200050617. In other words, each number is zero padded to four
+ # digits, and non digits are removed.
+
+ ax_compare_version_A=`echo "$ax_python_version" | sed -e 's/\([0-9]*\)/Z\1Z/g' \
+ -e 's/Z\([0-9]\)Z/Z0\1Z/g' \
+ -e 's/Z\([0-9][0-9]\)Z/Z0\1Z/g' \
+ -e 's/Z\([0-9][0-9][0-9]\)Z/Z0\1Z/g' \
+ -e 's/[^0-9]//g'`
+
+
+ ax_compare_version_B=`echo "$python_version" | sed -e 's/\([0-9]*\)/Z\1Z/g' \
+ -e 's/Z\([0-9]\)Z/Z0\1Z/g' \
+ -e 's/Z\([0-9][0-9]\)Z/Z0\1Z/g' \
+ -e 's/Z\([0-9][0-9][0-9]\)Z/Z0\1Z/g' \
+ -e 's/[^0-9]//g'`
+
+
+ ax_compare_version=`echo "x$ax_compare_version_A
+x$ax_compare_version_B" | sed 's/^ *//' | sort | sed "s/x${ax_compare_version_A}/true/;s/x${ax_compare_version_B}/false/;1q"`
+
+
+
+ if test "$ax_compare_version" = "true" ; then
+
+ :
+ have_py3=yes
+
+ else
+ :
+
+
fi
-done
- done
-IFS=$as_save_IFS
-fi
-fi
-PIP=$ac_cv_prog_PIP
-if test -n "$PIP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PIP" >&5
-$as_echo "$PIP" >&6; }
+
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: could not find the python interpreter" >&5
+$as_echo "$as_me: WARNING: could not find the python interpreter" >&2;}
+
+
fi
- test -n "$PIP" && break
-done
-test -n "$PIP" || PIP="missing"
-
-
- if test "x$PIP" != "xmissing"; then
+ if test "x$have_py3" = "xyes"; then
+ PIP="$PYTHON -m $PIP"
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for \`docwriter' Python module" >&5
$as_echo_n "checking for \`docwriter' Python module... " >&6; }
- $PIP show -q docwriter
+ $PYTHON -m docwriter -h > /dev/null 2>&1
if test "x$?" = "x0"; then
have_docwriter=yes
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
@@ -14845,11 +15011,12 @@ $as_echo "no" >&6; }
fi
-# entries in Requires.private are separated by commas;
+# entries in Requires.private are separated by commas
REQUIRES_PRIVATE="$zlib_reqpriv, \
$bzip2_reqpriv, \
$libpng_reqpriv, \
- $harfbuzz_reqpriv"
+ $harfbuzz_reqpriv, \
+ $brotli_reqpriv"
# beautify
REQUIRES_PRIVATE=`echo "$REQUIRES_PRIVATE" \
| sed -e 's/^ *//' \
@@ -14864,6 +15031,7 @@ LIBS_PRIVATE="$zlib_libspriv \
$bzip2_libspriv \
$libpng_libspriv \
$harfbuzz_libspriv \
+ $brotli_libspriv \
$ft2_extra_libs"
# beautify
LIBS_PRIVATE=`echo "$LIBS_PRIVATE" \
@@ -14876,6 +15044,7 @@ LIBSSTATIC_CONFIG="-lfreetype \
$bzip2_libsstaticconf \
$libpng_libsstaticconf \
$harfbuzz_libsstaticconf \
+ $brotli_libsstaticconf \
$ft2_extra_libs"
# remove -L/usr/lib and -L/usr/lib64 since `freetype-config' adds them later
# on if necessary; also beautify
@@ -14940,6 +15109,13 @@ if test "$have_harfbuzz" != no; then
else
ftoption_unset FT_CONFIG_OPTION_USE_HARFBUZZ
fi
+if test "$have_brotli" != no; then
+ CFLAGS="$CFLAGS $BROTLI_CFLAGS"
+ LDFLAGS="$LDFLAGS $BROTLI_LIBS"
+ ftoption_set FT_CONFIG_OPTION_USE_BROTLI
+else
+ ftoption_unset FT_CONFIG_OPTION_USE_BROTLI
+fi
@@ -15478,7 +15654,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.10.1, which was
+This file was extended by FreeType $as_me 2.10.2, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -15544,7 +15720,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.10.1
+FreeType config.status 2.10.2
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
@@ -17334,6 +17510,7 @@ Library configuration:
bzip2: $have_bzip2
libpng: $have_libpng
harfbuzz: $have_harfbuzz
+ brotli: $have_brotli
" >&5
$as_echo "$as_me:
@@ -17342,6 +17519,7 @@ Library configuration:
bzip2: $have_bzip2
libpng: $have_libpng
harfbuzz: $have_harfbuzz
+ brotli: $have_brotli
" >&6;}
# Warn if docwriter is not installed
@@ -17349,15 +17527,15 @@ Library configuration:
if test $have_docwriter = no; then
{ $as_echo "$as_me:${as_lineno-$LINENO}:
Warning: \`make refdoc' will fail since pip package \`docwriter' is not
- installed. To install, run \`$PIP install docwriter', or to use a python
+ installed. To install, run \`$PIP install docwriter', or to use a Python
virtual environment, run \`make refdoc-venv' (requires pip package
- \`virtualenv').
+ \`virtualenv'). These operations require Python >= 3.5.
" >&5
$as_echo "$as_me:
Warning: \`make refdoc' will fail since pip package \`docwriter' is not
- installed. To install, run \`$PIP install docwriter', or to use a python
+ installed. To install, run \`$PIP install docwriter', or to use a Python
virtual environment, run \`make refdoc-venv' (requires pip package
- \`virtualenv').
+ \`virtualenv'). These operations require Python >= 3.5.
" >&6;}
fi
diff --git a/freetype/builds/unix/configure.ac b/freetype/builds/unix/configure.ac
index d374088a..adb51018 100644
--- a/freetype/builds/unix/configure.ac
+++ b/freetype/builds/unix/configure.ac
@@ -2,7 +2,7 @@
#
# Process this file with autoconf to produce a configure script.
#
-# Copyright (C) 2001-2019 by
+# Copyright (C) 2001-2020 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
@@ -11,13 +11,13 @@
# indicate that you have read the license and understand and accept it
# fully.
-AC_INIT([FreeType], [2.10.1], [freetype@nongnu.org], [freetype])
+AC_INIT([FreeType], [2.10.2], [freetype@nongnu.org], [freetype])
AC_CONFIG_SRCDIR([ftconfig.in])
# Don't forget to update `docs/VERSIONS.TXT'!
-version_info='23:1:17'
+version_info='23:2:17'
AC_SUBST([version_info])
ft_version=`echo $version_info | tr : .`
AC_SUBST([ft_version])
@@ -478,7 +478,7 @@ if test x"$with_png" = xyes -o x"$with_png" = xauto; then
libpng_libsstaticconf="$LIBPNG_LIBS"
have_libpng="yes (LIBPNG_CFLAGS and LIBPNG_LIBS)"
else
- # fall back to config script.
+ # fall back to config script
AC_MSG_CHECKING([for libpng-config])
if which libpng-config > /dev/null 2>&1; then
LIBPNG_CFLAGS=`libpng-config --cflags`
@@ -508,7 +508,7 @@ AC_ARG_WITH([harfbuzz],
have_harfbuzz=no
if test x"$with_harfbuzz" = xyes -o x"$with_harfbuzz" = xauto; then
- harfbuzz_pkg="harfbuzz >= 1.3.0"
+ harfbuzz_pkg="harfbuzz >= 1.8.0"
have_harfbuzz_pkg=no
if test x"$HARFBUZZ_CFLAGS" = x -a x"$HARFBUZZ_LIBS" = x; then
@@ -543,6 +543,50 @@ if test x"$with_harfbuzz" = xyes -a "$have_harfbuzz" = no; then
fi
+# check for system libbrotlidec
+
+AC_ARG_WITH([brotli],
+ [AS_HELP_STRING([--with-brotli=@<:@yes|no|auto@:>@],
+ [support decompression of WOFF2 streams @<:@default=auto@:>@])],
+ [], [with_brotli=auto])
+
+have_brotli=no
+if test x"$with_brotli" = xyes -o x"$with_brotli" = xauto; then
+ brotli_pkg="libbrotlidec"
+ have_brotli_pkg=no
+
+ if test x"$BROTLI_CFLAGS" = x -a x"$BROTLI_LIBS" = x; then
+ PKG_CHECK_EXISTS([$brotli_pkg], [have_brotli_pkg=yes])
+ fi
+ PKG_CHECK_MODULES([BROTLI], [$brotli_pkg],
+ [have_brotli="yes (pkg-config)"], [:])
+
+ if test $have_brotli_pkg = yes; then
+ # we have libbrotlidec.pc
+ brotli_reqpriv="$brotli_pkg"
+ brotli_libspriv=
+ brotli_libsstaticconf=`$PKG_CONFIG --static --libs "$brotli_pkg"`
+ else
+ brotli_reqpriv=
+
+ if test "$have_brotli" != no; then
+ # BROTLI_CFLAGS and BROTLI_LIBS are set by the user
+ brotli_libspriv="$BROTLI_LIBS"
+ brotli_libsstaticconf="$BROTLI_LIBS"
+ have_brotli="yes (BROTLI_CFLAGS and BROTLI_LIBS)"
+ else
+ # since Brotli is quite a new library we don't fall back to a
+ # different test
+ :
+ fi
+ fi
+fi
+
+if test x"$with_brotli" = xyes -a "$have_brotli" = no; then
+ AC_MSG_ERROR([brotli support requested but library not found])
+fi
+
+
# check for librt
#
# We need `clock_gettime' for the `ftbench' demo program.
@@ -968,16 +1012,20 @@ case "$CFLAGS" in
;;
esac
-# Check for python and docwriter
+# Check for Python and docwriter
-AC_CHECK_PROGS([PYTHON], [python3 python2 python], [missing])
+have_py3=no
have_docwriter=no
-if test "x$PYTHON" != "xmissing"; then
- AC_CHECK_PROGS([PIP], [pip3 pip2 pip], [missing])
+PIP=pip
- if test "x$PIP" != "xmissing"; then
+AC_CHECK_PROGS([PYTHON], [python3 python], [missing])
+if test "x$PYTHON" != "xmissing"; then
+ AX_PROG_PYTHON_VERSION([3.5], [have_py3=yes], [])
+
+ if test "x$have_py3" = "xyes"; then
+ PIP="$PYTHON -m $PIP"
AC_MSG_CHECKING([for \`docwriter' Python module])
- $PIP show -q docwriter
+ $PYTHON -m docwriter -h > /dev/null 2>&1
if test "x$?" = "x0"; then
have_docwriter=yes
AC_MSG_RESULT([yes])
@@ -988,11 +1036,12 @@ if test "x$PYTHON" != "xmissing"; then
fi
-# entries in Requires.private are separated by commas;
+# entries in Requires.private are separated by commas
REQUIRES_PRIVATE="$zlib_reqpriv, \
$bzip2_reqpriv, \
$libpng_reqpriv, \
- $harfbuzz_reqpriv"
+ $harfbuzz_reqpriv, \
+ $brotli_reqpriv"
# beautify
REQUIRES_PRIVATE=`echo "$REQUIRES_PRIVATE" \
| sed -e 's/^ *//' \
@@ -1007,6 +1056,7 @@ LIBS_PRIVATE="$zlib_libspriv \
$bzip2_libspriv \
$libpng_libspriv \
$harfbuzz_libspriv \
+ $brotli_libspriv \
$ft2_extra_libs"
# beautify
LIBS_PRIVATE=`echo "$LIBS_PRIVATE" \
@@ -1019,6 +1069,7 @@ LIBSSTATIC_CONFIG="-lfreetype \
$bzip2_libsstaticconf \
$libpng_libsstaticconf \
$harfbuzz_libsstaticconf \
+ $brotli_libsstaticconf \
$ft2_extra_libs"
# remove -L/usr/lib and -L/usr/lib64 since `freetype-config' adds them later
# on if necessary; also beautify
@@ -1083,6 +1134,13 @@ if test "$have_harfbuzz" != no; then
else
ftoption_unset FT_CONFIG_OPTION_USE_HARFBUZZ
fi
+if test "$have_brotli" != no; then
+ CFLAGS="$CFLAGS $BROTLI_CFLAGS"
+ LDFLAGS="$LDFLAGS $BROTLI_LIBS"
+ ftoption_set FT_CONFIG_OPTION_USE_BROTLI
+else
+ ftoption_unset FT_CONFIG_OPTION_USE_BROTLI
+fi
AC_SUBST([CFLAGS])
AC_SUBST([LDFLAGS])
@@ -1129,6 +1187,7 @@ Library configuration:
bzip2: $have_bzip2
libpng: $have_libpng
harfbuzz: $have_harfbuzz
+ brotli: $have_brotli
])
# Warn if docwriter is not installed
@@ -1136,9 +1195,9 @@ Library configuration:
if test $have_docwriter = no; then
AC_MSG_NOTICE([
Warning: \`make refdoc' will fail since pip package \`docwriter' is not
- installed. To install, run \`$PIP install docwriter', or to use a python
+ installed. To install, run \`$PIP install docwriter', or to use a Python
virtual environment, run \`make refdoc-venv' (requires pip package
- \`virtualenv').
+ \`virtualenv'). These operations require Python >= 3.5.
])
fi
diff --git a/freetype/builds/unix/configure.raw b/freetype/builds/unix/configure.raw
index a1a6dbeb..2d89c744 100644
--- a/freetype/builds/unix/configure.raw
+++ b/freetype/builds/unix/configure.raw
@@ -2,7 +2,7 @@
#
# Process this file with autoconf to produce a configure script.
#
-# Copyright (C) 2001-2019 by
+# Copyright (C) 2001-2020 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
@@ -17,7 +17,7 @@ AC_CONFIG_SRCDIR([ftconfig.in])
# Don't forget to update `docs/VERSIONS.TXT'!
-version_info='23:1:17'
+version_info='23:2:17'
AC_SUBST([version_info])
ft_version=`echo $version_info | tr : .`
AC_SUBST([ft_version])
@@ -478,7 +478,7 @@ if test x"$with_png" = xyes -o x"$with_png" = xauto; then
libpng_libsstaticconf="$LIBPNG_LIBS"
have_libpng="yes (LIBPNG_CFLAGS and LIBPNG_LIBS)"
else
- # fall back to config script.
+ # fall back to config script
AC_MSG_CHECKING([for libpng-config])
if which libpng-config > /dev/null 2>&1; then
LIBPNG_CFLAGS=`libpng-config --cflags`
@@ -508,7 +508,7 @@ AC_ARG_WITH([harfbuzz],
have_harfbuzz=no
if test x"$with_harfbuzz" = xyes -o x"$with_harfbuzz" = xauto; then
- harfbuzz_pkg="harfbuzz >= 1.3.0"
+ harfbuzz_pkg="harfbuzz >= 1.8.0"
have_harfbuzz_pkg=no
if test x"$HARFBUZZ_CFLAGS" = x -a x"$HARFBUZZ_LIBS" = x; then
@@ -543,6 +543,50 @@ if test x"$with_harfbuzz" = xyes -a "$have_harfbuzz" = no; then
fi
+# check for system libbrotlidec
+
+AC_ARG_WITH([brotli],
+ [AS_HELP_STRING([--with-brotli=@<:@yes|no|auto@:>@],
+ [support decompression of WOFF2 streams @<:@default=auto@:>@])],
+ [], [with_brotli=auto])
+
+have_brotli=no
+if test x"$with_brotli" = xyes -o x"$with_brotli" = xauto; then
+ brotli_pkg="libbrotlidec"
+ have_brotli_pkg=no
+
+ if test x"$BROTLI_CFLAGS" = x -a x"$BROTLI_LIBS" = x; then
+ PKG_CHECK_EXISTS([$brotli_pkg], [have_brotli_pkg=yes])
+ fi
+ PKG_CHECK_MODULES([BROTLI], [$brotli_pkg],
+ [have_brotli="yes (pkg-config)"], [:])
+
+ if test $have_brotli_pkg = yes; then
+ # we have libbrotlidec.pc
+ brotli_reqpriv="$brotli_pkg"
+ brotli_libspriv=
+ brotli_libsstaticconf=`$PKG_CONFIG --static --libs "$brotli_pkg"`
+ else
+ brotli_reqpriv=
+
+ if test "$have_brotli" != no; then
+ # BROTLI_CFLAGS and BROTLI_LIBS are set by the user
+ brotli_libspriv="$BROTLI_LIBS"
+ brotli_libsstaticconf="$BROTLI_LIBS"
+ have_brotli="yes (BROTLI_CFLAGS and BROTLI_LIBS)"
+ else
+ # since Brotli is quite a new library we don't fall back to a
+ # different test
+ :
+ fi
+ fi
+fi
+
+if test x"$with_brotli" = xyes -a "$have_brotli" = no; then
+ AC_MSG_ERROR([brotli support requested but library not found])
+fi
+
+
# check for librt
#
# We need `clock_gettime' for the `ftbench' demo program.
@@ -968,16 +1012,20 @@ case "$CFLAGS" in
;;
esac
-# Check for python and docwriter
+# Check for Python and docwriter
-AC_CHECK_PROGS([PYTHON], [python3 python2 python], [missing])
+have_py3=no
have_docwriter=no
-if test "x$PYTHON" != "xmissing"; then
- AC_CHECK_PROGS([PIP], [pip3 pip2 pip], [missing])
+PIP=pip
- if test "x$PIP" != "xmissing"; then
+AC_CHECK_PROGS([PYTHON], [python3 python], [missing])
+if test "x$PYTHON" != "xmissing"; then
+ AX_PROG_PYTHON_VERSION([3.5], [have_py3=yes], [])
+
+ if test "x$have_py3" = "xyes"; then
+ PIP="$PYTHON -m $PIP"
AC_MSG_CHECKING([for \`docwriter' Python module])
- $PIP show -q docwriter
+ $PYTHON -m docwriter -h > /dev/null 2>&1
if test "x$?" = "x0"; then
have_docwriter=yes
AC_MSG_RESULT([yes])
@@ -988,11 +1036,12 @@ if test "x$PYTHON" != "xmissing"; then
fi
-# entries in Requires.private are separated by commas;
+# entries in Requires.private are separated by commas
REQUIRES_PRIVATE="$zlib_reqpriv, \
$bzip2_reqpriv, \
$libpng_reqpriv, \
- $harfbuzz_reqpriv"
+ $harfbuzz_reqpriv, \
+ $brotli_reqpriv"
# beautify
REQUIRES_PRIVATE=`echo "$REQUIRES_PRIVATE" \
| sed -e 's/^ *//' \
@@ -1007,6 +1056,7 @@ LIBS_PRIVATE="$zlib_libspriv \
$bzip2_libspriv \
$libpng_libspriv \
$harfbuzz_libspriv \
+ $brotli_libspriv \
$ft2_extra_libs"
# beautify
LIBS_PRIVATE=`echo "$LIBS_PRIVATE" \
@@ -1019,6 +1069,7 @@ LIBSSTATIC_CONFIG="-lfreetype \
$bzip2_libsstaticconf \
$libpng_libsstaticconf \
$harfbuzz_libsstaticconf \
+ $brotli_libsstaticconf \
$ft2_extra_libs"
# remove -L/usr/lib and -L/usr/lib64 since `freetype-config' adds them later
# on if necessary; also beautify
@@ -1083,6 +1134,13 @@ if test "$have_harfbuzz" != no; then
else
ftoption_unset FT_CONFIG_OPTION_USE_HARFBUZZ
fi
+if test "$have_brotli" != no; then
+ CFLAGS="$CFLAGS $BROTLI_CFLAGS"
+ LDFLAGS="$LDFLAGS $BROTLI_LIBS"
+ ftoption_set FT_CONFIG_OPTION_USE_BROTLI
+else
+ ftoption_unset FT_CONFIG_OPTION_USE_BROTLI
+fi
AC_SUBST([CFLAGS])
AC_SUBST([LDFLAGS])
@@ -1129,6 +1187,7 @@ Library configuration:
bzip2: $have_bzip2
libpng: $have_libpng
harfbuzz: $have_harfbuzz
+ brotli: $have_brotli
])
# Warn if docwriter is not installed
@@ -1136,9 +1195,9 @@ Library configuration:
if test $have_docwriter = no; then
AC_MSG_NOTICE([
Warning: \`make refdoc' will fail since pip package \`docwriter' is not
- installed. To install, run \`$PIP install docwriter', or to use a python
+ installed. To install, run \`$PIP install docwriter', or to use a Python
virtual environment, run \`make refdoc-venv' (requires pip package
- \`virtualenv').
+ \`virtualenv'). These operations require Python >= 3.5.
])
fi
diff --git a/freetype/builds/unix/detect.mk b/freetype/builds/unix/detect.mk
index 7ce7d8ac..c7e8408d 100644
--- a/freetype/builds/unix/detect.mk
+++ b/freetype/builds/unix/detect.mk
@@ -3,7 +3,7 @@
#
-# Copyright (C) 1996-2019 by
+# Copyright (C) 1996-2020 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/freetype/builds/unix/freetype-config.in b/freetype/builds/unix/freetype-config.in
index 9e8d3c2b..3918ddb9 100644
--- a/freetype/builds/unix/freetype-config.in
+++ b/freetype/builds/unix/freetype-config.in
@@ -1,6 +1,6 @@
#! /bin/sh
#
-# Copyright (C) 2000-2019 by
+# Copyright (C) 2000-2020 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/freetype/builds/unix/freetype2.m4 b/freetype/builds/unix/freetype2.m4
index d68d15e5..c8766caa 100644
--- a/freetype/builds/unix/freetype2.m4
+++ b/freetype/builds/unix/freetype2.m4
@@ -1,7 +1,7 @@
# Configure paths for FreeType2
# Marcelo Magallon 2001-10-26, based on gtk.m4 by Owen Taylor
#
-# Copyright (C) 2001-2019 by
+# Copyright (C) 2001-2020 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/freetype/builds/unix/ft-munmap.m4 b/freetype/builds/unix/ft-munmap.m4
index 4384013f..a1aea2ba 100644
--- a/freetype/builds/unix/ft-munmap.m4
+++ b/freetype/builds/unix/ft-munmap.m4
@@ -1,6 +1,6 @@
## FreeType specific autoconf tests
#
-# Copyright (C) 2002-2019 by
+# Copyright (C) 2002-2020 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/freetype/builds/unix/ftconfig.in b/freetype/builds/unix/ftconfig.in
index 019793e7..7f373777 100644
--- a/freetype/builds/unix/ftconfig.in
+++ b/freetype/builds/unix/ftconfig.in
@@ -4,7 +4,7 @@
*
* UNIX-specific configuration file (specification only).
*
- * Copyright (C) 1996-2019 by
+ * Copyright (C) 1996-2020 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used,
diff --git a/freetype/builds/unix/ftsystem.c b/freetype/builds/unix/ftsystem.c
index 826713f9..ba259516 100644
--- a/freetype/builds/unix/ftsystem.c
+++ b/freetype/builds/unix/ftsystem.c
@@ -4,7 +4,7 @@
/* */
/* Unix-specific FreeType low-level system interface (body). */
/* */
-/* Copyright (C) 1996-2019 by */
+/* Copyright (C) 1996-2020 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
diff --git a/freetype/builds/unix/install.mk b/freetype/builds/unix/install.mk
index 2287dfc4..aa251876 100644
--- a/freetype/builds/unix/install.mk
+++ b/freetype/builds/unix/install.mk
@@ -3,7 +3,7 @@
#
-# Copyright (C) 1996-2019 by
+# Copyright (C) 1996-2020 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/freetype/builds/unix/unix-cc.in b/freetype/builds/unix/unix-cc.in
index ed51fde3..30d097b2 100644
--- a/freetype/builds/unix/unix-cc.in
+++ b/freetype/builds/unix/unix-cc.in
@@ -2,7 +2,7 @@
# FreeType 2 template for Unix-specific compiler definitions
#
-# Copyright (C) 1996-2019 by
+# Copyright (C) 1996-2020 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
@@ -76,10 +76,13 @@ T := -o$(space)
# Use the ANSIFLAGS variable to define the compiler flags used to enfore
# ANSI compliance.
#
-# We use our own FreeType configuration file.
+# We use our own FreeType configuration files overriding defaults.
#
CPPFLAGS := @CPPFLAGS@
-CFLAGS := -c @XX_CFLAGS@ @CFLAGS@ -DFT_CONFIG_CONFIG_H=""
+CFLAGS := -c @XX_CFLAGS@ @CFLAGS@ \
+ $DFT_CONFIG_CONFIG_H="" \
+ $DFT_CONFIG_MODULES_H="" \
+ $DFT_CONFIG_OPTIONS_H=""
# ANSIFLAGS: Put there the flags used to make your compiler ANSI-compliant.
#
@@ -87,8 +90,12 @@ ANSIFLAGS := @XX_ANSIFLAGS@
# C compiler to use -- we use libtool!
#
-CCraw := $(CC)
-CC := $(LIBTOOL) --mode=compile $(CCraw)
+# CC might be set on the command line; we store this value in `CCraw'.
+# Consequently, we use the `override' directive to ensure that the
+# libtool call is always prepended.
+#
+CCraw := $(CC)
+override CC := $(LIBTOOL) --mode=compile $(CCraw)
# Resource compiler to use on Cygwin/MinGW, usually windres.
#
diff --git a/freetype/builds/unix/unix-def.in b/freetype/builds/unix/unix-def.in
index e74844d2..5e04f1c6 100644
--- a/freetype/builds/unix/unix-def.in
+++ b/freetype/builds/unix/unix-def.in
@@ -3,7 +3,7 @@
#
-# Copyright (C) 1996-2019 by
+# Copyright (C) 1996-2020 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
@@ -24,7 +24,6 @@ SEP := /
# This is used for `make refdoc' and `make refdoc-venv'
#
PYTHON := @PYTHON@
-PIP := @PIP@
BIN := bin
# this is used for `make distclean' and `make install'
diff --git a/freetype/builds/unix/unix-dev.mk b/freetype/builds/unix/unix-dev.mk
index 3cb171a3..13525752 100644
--- a/freetype/builds/unix/unix-dev.mk
+++ b/freetype/builds/unix/unix-dev.mk
@@ -6,7 +6,7 @@
#
-# Copyright (C) 1996-2019 by
+# Copyright (C) 1996-2020 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/freetype/builds/unix/unix-lcc.mk b/freetype/builds/unix/unix-lcc.mk
index e632e9a3..a6579db9 100644
--- a/freetype/builds/unix/unix-lcc.mk
+++ b/freetype/builds/unix/unix-lcc.mk
@@ -6,7 +6,7 @@
#
-# Copyright (C) 1996-2019 by
+# Copyright (C) 1996-2020 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/freetype/builds/unix/unix.mk b/freetype/builds/unix/unix.mk
index 2d04eefc..e08727d9 100644
--- a/freetype/builds/unix/unix.mk
+++ b/freetype/builds/unix/unix.mk
@@ -3,7 +3,7 @@
#
-# Copyright (C) 1996-2019 by
+# Copyright (C) 1996-2020 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/freetype/builds/unix/unixddef.mk b/freetype/builds/unix/unixddef.mk
index 9aad35c6..b8e32176 100644
--- a/freetype/builds/unix/unixddef.mk
+++ b/freetype/builds/unix/unixddef.mk
@@ -4,7 +4,7 @@
#
-# Copyright (C) 1996-2019 by
+# Copyright (C) 1996-2020 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/freetype/builds/vms/ftconfig.h b/freetype/builds/vms/ftconfig.h
index 7825db0f..d9165e5f 100644
--- a/freetype/builds/vms/ftconfig.h
+++ b/freetype/builds/vms/ftconfig.h
@@ -4,7 +4,7 @@
*
* VMS-specific configuration file (specification only).
*
- * Copyright (C) 1996-2019 by
+ * Copyright (C) 1996-2020 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used,
diff --git a/freetype/builds/vms/ftsystem.c b/freetype/builds/vms/ftsystem.c
index af6fe461..f372f0cd 100644
--- a/freetype/builds/vms/ftsystem.c
+++ b/freetype/builds/vms/ftsystem.c
@@ -4,7 +4,7 @@
/* */
/* VMS-specific FreeType low-level system interface (body). */
/* */
-/* Copyright (C) 1996-2019 by */
+/* Copyright (C) 1996-2020 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
diff --git a/freetype/builds/wince/ftdebug.c b/freetype/builds/wince/ftdebug.c
index d0ca999c..cd3c6cfd 100644
--- a/freetype/builds/wince/ftdebug.c
+++ b/freetype/builds/wince/ftdebug.c
@@ -4,7 +4,7 @@
*
* Debugging and logging component for WinCE (body).
*
- * Copyright (C) 1996-2019 by
+ * Copyright (C) 1996-2020 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used,
diff --git a/freetype/builds/wince/vc2005-ce/freetype.vcproj b/freetype/builds/wince/vc2005-ce/freetype.vcproj
index de556aaf..efdb5870 100644
--- a/freetype/builds/wince/vc2005-ce/freetype.vcproj
+++ b/freetype/builds/wince/vc2005-ce/freetype.vcproj
@@ -21,7 +21,7 @@
-
+
@@ -41,7 +41,7 @@
-
+
@@ -61,7 +61,7 @@
-
+
@@ -81,7 +81,7 @@
-
+
@@ -101,7 +101,7 @@
-
+
@@ -121,7 +121,7 @@
-
+
@@ -141,7 +141,7 @@
-
+
@@ -161,7 +161,7 @@
-
+
@@ -181,7 +181,7 @@
-
+
@@ -201,7 +201,7 @@
-
+
@@ -221,7 +221,7 @@
-
+
@@ -241,7 +241,7 @@
-
+
@@ -261,7 +261,7 @@
-
+
@@ -281,7 +281,7 @@
-
+
@@ -301,7 +301,7 @@
-
+
@@ -321,7 +321,7 @@
-
+
@@ -341,7 +341,7 @@
-
+
@@ -361,7 +361,7 @@
-
+
@@ -381,7 +381,7 @@
-
+
@@ -401,7 +401,7 @@
-
+
@@ -421,7 +421,7 @@
-
+
@@ -441,7 +441,7 @@
-
+
@@ -461,7 +461,7 @@
-
+
@@ -481,7 +481,7 @@
-
+
@@ -501,7 +501,7 @@
-
+
@@ -521,7 +521,7 @@
-
+
@@ -541,7 +541,7 @@
-
+
@@ -561,7 +561,7 @@
-
+
@@ -581,7 +581,7 @@
-
+
@@ -601,7 +601,7 @@
-
+
@@ -621,7 +621,7 @@
-
+
@@ -641,7 +641,7 @@
-
+
@@ -661,7 +661,7 @@
-
+
@@ -681,7 +681,7 @@
-
+
@@ -701,7 +701,7 @@
-
+
@@ -721,7 +721,7 @@
-
+
@@ -741,7 +741,7 @@
-
+
@@ -758,7 +758,7 @@
-
+
@@ -868,6 +868,10 @@
+
+
+
+
diff --git a/freetype/builds/wince/vc2005-ce/index.html b/freetype/builds/wince/vc2005-ce/index.html
index 16a10625..ff57231e 100644
--- a/freetype/builds/wince/vc2005-ce/index.html
+++ b/freetype/builds/wince/vc2005-ce/index.html
@@ -21,14 +21,14 @@ the following targets:
PPC/SP WM6 (Windows Mobile 6)
-It compiles the following libraries from the FreeType 2.10.1 sources:
+It compiles the following libraries from the FreeType 2.10.2 sources:
Be sure to extract the files with the Windows (CR+LF) line endings. ZIP
diff --git a/freetype/builds/wince/vc2008-ce/freetype.vcproj b/freetype/builds/wince/vc2008-ce/freetype.vcproj
index f9479dae..d01c5b59 100644
--- a/freetype/builds/wince/vc2008-ce/freetype.vcproj
+++ b/freetype/builds/wince/vc2008-ce/freetype.vcproj
@@ -88,7 +88,7 @@
/>
+
+
+
+
diff --git a/freetype/builds/wince/vc2008-ce/index.html b/freetype/builds/wince/vc2008-ce/index.html
index 9d71b09d..43798217 100644
--- a/freetype/builds/wince/vc2008-ce/index.html
+++ b/freetype/builds/wince/vc2008-ce/index.html
@@ -21,14 +21,14 @@ the following targets:
PPC/SP WM6 (Windows Mobile 6)
-It compiles the following libraries from the FreeType 2.10.1 sources:
+It compiles the following libraries from the FreeType 2.10.2 sources:
Be sure to extract the files with the Windows (CR+LF) line endings. ZIP
diff --git a/freetype/builds/windows/detect.mk b/freetype/builds/windows/detect.mk
index 351e256d..303dc8b9 100644
--- a/freetype/builds/windows/detect.mk
+++ b/freetype/builds/windows/detect.mk
@@ -3,7 +3,7 @@
#
-# Copyright (C) 1996-2019 by
+# Copyright (C) 1996-2020 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/freetype/builds/windows/ftdebug.c b/freetype/builds/windows/ftdebug.c
index 7c47fb5f..ce464a17 100644
--- a/freetype/builds/windows/ftdebug.c
+++ b/freetype/builds/windows/ftdebug.c
@@ -4,7 +4,7 @@
*
* Debugging and logging component for Win32 (body).
*
- * Copyright (C) 1996-2019 by
+ * Copyright (C) 1996-2020 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used,
diff --git a/freetype/builds/windows/vc2010/index.html b/freetype/builds/windows/vc2010/index.html
index eed4dd33..1999a7fd 100644
--- a/freetype/builds/windows/vc2010/index.html
+++ b/freetype/builds/windows/vc2010/index.html
@@ -12,7 +12,7 @@
This directory contains solution and project files for
Visual C++ 2010 or newer, named freetype.sln,
and freetype.vcxproj. It compiles the following libraries
-from the FreeType 2.10.1 sources:
+from the FreeType 2.10.2 sources:
freetype.dll using 'Release' or 'Debug' configurations
This directory contains project files freetype.dsp for
Visual C++ 6.0, and freetype.vcproj for Visual C++ 2002
through 2008, which you might need to upgrade automatically.
-It compiles the following libraries from the FreeType 2.10.1 sources:
+It compiles the following libraries from the FreeType 2.10.2 sources:
freetype.dll using 'Release' or 'Debug' configurations
Be sure to extract the files with the Windows (CR+LF) line endings. ZIP
diff --git a/freetype/builds/windows/w32-bcc.mk b/freetype/builds/windows/w32-bcc.mk
index 39262ff0..c80710ea 100644
--- a/freetype/builds/windows/w32-bcc.mk
+++ b/freetype/builds/windows/w32-bcc.mk
@@ -3,7 +3,7 @@
#
-# Copyright (C) 1996-2019 by
+# Copyright (C) 1996-2020 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/freetype/builds/windows/w32-bccd.mk b/freetype/builds/windows/w32-bccd.mk
index 20e272fb..966bdb51 100644
--- a/freetype/builds/windows/w32-bccd.mk
+++ b/freetype/builds/windows/w32-bccd.mk
@@ -3,7 +3,7 @@
#
-# Copyright (C) 1996-2019 by
+# Copyright (C) 1996-2020 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/freetype/builds/windows/w32-dev.mk b/freetype/builds/windows/w32-dev.mk
index 30c5a8fd..b2af6679 100644
--- a/freetype/builds/windows/w32-dev.mk
+++ b/freetype/builds/windows/w32-dev.mk
@@ -5,7 +5,7 @@
#
-# Copyright (C) 1996-2019 by
+# Copyright (C) 1996-2020 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/freetype/builds/windows/w32-gcc.mk b/freetype/builds/windows/w32-gcc.mk
index 4a07bb03..f27e6b12 100644
--- a/freetype/builds/windows/w32-gcc.mk
+++ b/freetype/builds/windows/w32-gcc.mk
@@ -3,7 +3,7 @@
#
-# Copyright (C) 1996-2019 by
+# Copyright (C) 1996-2020 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/freetype/builds/windows/w32-icc.mk b/freetype/builds/windows/w32-icc.mk
index fb1fc1a0..2e696092 100644
--- a/freetype/builds/windows/w32-icc.mk
+++ b/freetype/builds/windows/w32-icc.mk
@@ -3,7 +3,7 @@
#
-# Copyright (C) 1996-2019 by
+# Copyright (C) 1996-2020 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/freetype/builds/windows/w32-intl.mk b/freetype/builds/windows/w32-intl.mk
index 252eae2f..88e62697 100644
--- a/freetype/builds/windows/w32-intl.mk
+++ b/freetype/builds/windows/w32-intl.mk
@@ -3,7 +3,7 @@
#
-# Copyright (C) 1996-2019 by
+# Copyright (C) 1996-2020 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/freetype/builds/windows/w32-lcc.mk b/freetype/builds/windows/w32-lcc.mk
index aa40e568..6cf64606 100644
--- a/freetype/builds/windows/w32-lcc.mk
+++ b/freetype/builds/windows/w32-lcc.mk
@@ -3,7 +3,7 @@
#
-# Copyright (C) 1996-2019 by
+# Copyright (C) 1996-2020 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/freetype/builds/windows/w32-mingw32.mk b/freetype/builds/windows/w32-mingw32.mk
index 3913dacc..f2eb0216 100644
--- a/freetype/builds/windows/w32-mingw32.mk
+++ b/freetype/builds/windows/w32-mingw32.mk
@@ -3,7 +3,7 @@
#
-# Copyright (C) 1996-2019 by
+# Copyright (C) 1996-2020 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/freetype/builds/windows/w32-vcc.mk b/freetype/builds/windows/w32-vcc.mk
index cc38a45a..e800d274 100644
--- a/freetype/builds/windows/w32-vcc.mk
+++ b/freetype/builds/windows/w32-vcc.mk
@@ -3,7 +3,7 @@
#
-# Copyright (C) 1996-2019 by
+# Copyright (C) 1996-2020 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/freetype/builds/windows/w32-wat.mk b/freetype/builds/windows/w32-wat.mk
index 842fbce7..a0de4bbb 100644
--- a/freetype/builds/windows/w32-wat.mk
+++ b/freetype/builds/windows/w32-wat.mk
@@ -3,7 +3,7 @@
#
-# Copyright (C) 1996-2019 by
+# Copyright (C) 1996-2020 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/freetype/builds/windows/win32-def.mk b/freetype/builds/windows/win32-def.mk
index 23ba80a9..f7598539 100644
--- a/freetype/builds/windows/win32-def.mk
+++ b/freetype/builds/windows/win32-def.mk
@@ -3,7 +3,7 @@
#
-# Copyright (C) 1996-2019 by
+# Copyright (C) 1996-2020 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/freetype/configure b/freetype/configure
index 9a64f69c..ac91a8e4 100755
--- a/freetype/configure
+++ b/freetype/configure
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2002-2019 by
+# Copyright (C) 2002-2020 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
@@ -94,10 +94,10 @@ inode_src=`ls -id $abs_ft2_dir | awk '{print $1}'`
inode_dst=`ls -id $abs_curr_dir | awk '{print $1}'`
if test $inode_src -ne $inode_dst; then
- if test ! -d reference; then
- mkdir reference
+ if test ! -d docs; then
+ mkdir docs
echo "Copying documentation assets"
- cp -R $abs_ft2_dir/docs/reference/markdown $abs_curr_dir/reference
+ cp -R $abs_ft2_dir/docs/markdown $abs_curr_dir/docs
fi
if test ! -r $abs_curr_dir/modules.cfg; then
echo "Copying \`modules.cfg'"
@@ -107,7 +107,7 @@ if test $inode_src -ne $inode_dst; then
echo "TOP_DIR := $abs_ft2_dir" > Makefile
echo "OBJ_DIR := $abs_curr_dir" >> Makefile
echo "OBJ_BUILD := \$(OBJ_DIR)" >> Makefile
- echo "DOC_DIR := \$(OBJ_DIR)/reference" >> Makefile
+ echo "DOC_DIR := \$(OBJ_DIR)/docs" >> Makefile
echo "FT_LIBTOOL_DIR := \$(OBJ_DIR)" >> Makefile
echo "ifndef FT2DEMOS" >> Makefile
echo " include \$(TOP_DIR)/Makefile" >> Makefile
diff --git a/freetype/devel/ft2build.h b/freetype/devel/ft2build.h
index 42fd39f4..0ab8ba0f 100644
--- a/freetype/devel/ft2build.h
+++ b/freetype/devel/ft2build.h
@@ -4,7 +4,7 @@
*
* FreeType 2 build and setup macros (development version).
*
- * Copyright (C) 1996-2019 by
+ * Copyright (C) 1996-2020 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used,
@@ -30,6 +30,7 @@
#ifndef FT2BUILD_H_
#define FT2BUILD_H_
+#define FT_CONFIG_MODULES_H
#define FT_CONFIG_OPTIONS_H
#include
diff --git a/freetype/devel/ftoption.h b/freetype/devel/ftoption.h
index 16cf4e12..c234de39 100644
--- a/freetype/devel/ftoption.h
+++ b/freetype/devel/ftoption.h
@@ -4,7 +4,7 @@
*
* User-selectable configuration macros (specification only).
*
- * Copyright (C) 1996-2019 by
+ * Copyright (C) 1996-2020 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used,
@@ -292,6 +292,22 @@ FT_BEGIN_HEADER
#define FT_CONFIG_OPTION_USE_HARFBUZZ
+ /**************************************************************************
+ *
+ * Brotli support.
+ *
+ * FreeType uses the Brotli library to provide support for decompressing
+ * WOFF2 streams.
+ *
+ * Define this macro if you want to enable this 'feature'.
+ *
+ * If you use a build system like cmake or the `configure` script,
+ * options set by those programs have precedence, overwriting the value
+ * here with the configured one.
+ */
+#define FT_CONFIG_OPTION_USE_BROTLI
+
+
/**************************************************************************
*
* Glyph Postscript Names handling
@@ -871,9 +887,11 @@ FT_BEGIN_HEADER
*
* Compile 'autofit' module with fallback Indic script support, covering
* some scripts that the 'latin' submodule of the 'autofit' module doesn't
- * (yet) handle.
+ * (yet) handle. Currently, this needs option `AF_CONFIG_OPTION_CJK`.
*/
+#ifdef AF_CONFIG_OPTION_CJK
#define AF_CONFIG_OPTION_INDIC
+#endif
/**************************************************************************
diff --git a/freetype/docs/CHANGES b/freetype/docs/CHANGES
index f36cb19b..b0f4304f 100644
--- a/freetype/docs/CHANGES
+++ b/freetype/docs/CHANGES
@@ -1,4 +1,41 @@
+CHANGES BETWEEN 2.10.1 and 2.10.2
+
+ I. IMPORTANT CHANGES
+
+ - Support of WOFF2 fonts. This code contribution was Nikhil
+ Ramakrishnan's GSoC 2019 project.
+
+
+ II. MISCELLANEOUS
+
+ - Function `FT_Get_Var_Axis_Flags' returned random data for Type 1
+ MM fonts.
+
+ - Type 1 fonts with non-integer metrics are now supported by the new
+ (CFF) engine introduced in FreeType 2.9.
+
+ - Drop support for Python 2 in Freetype's API reference generator
+ `docwriter' (Python >= 3.5 is required for targets `make refdoc'
+ and `make refdoc-venv').
+
+ - Auto-hinter support for Hanifi Rohingya.
+
+ - Document the `FT2_KEEP_ALIVE' debugging environment variable.
+
+ - The Visual C++ (and Visual C) project files for Windows builds no
+ longer generate libraries that contain the FreeType version in its
+ filenames. Instead, a resource file gets used to make the
+ libraries contain the corresponding information.
+
+ - The next release will remove Jam build support.
+
+ - The `ftbench' demo program has a new test for testing the
+ `FT_Glyph_Stroke' functionality.
+
+
+======================================================================
+
CHANGES BETWEEN 2.10.0 and 2.10.1
I. IMPORTANT BUG FIXES
@@ -5198,7 +5235,7 @@ Extensions support:
------------------------------------------------------------------------
-Copyright (C) 2000-2019 by
+Copyright (C) 2000-2020 by
David Turner, Robert Wilhelm, and Werner Lemberg.
This file is part of the FreeType project, and may only be used,
diff --git a/freetype/docs/CUSTOMIZE b/freetype/docs/CUSTOMIZE
index f3f9f8ed..0f92e700 100644
--- a/freetype/docs/CUSTOMIZE
+++ b/freetype/docs/CUSTOMIZE
@@ -139,7 +139,7 @@ IV. Overriding default configuration and module headers
----------------------------------------------------------------------
-Copyright (C) 2003-2019 by
+Copyright (C) 2003-2020 by
David Turner, Robert Wilhelm, and Werner Lemberg.
This file is part of the FreeType project, and may only be used,
diff --git a/freetype/docs/DEBUG b/freetype/docs/DEBUG
index 828f2943..a96b5e27 100644
--- a/freetype/docs/DEBUG
+++ b/freetype/docs/DEBUG
@@ -11,20 +11,20 @@ located in the file `ftoption.h'. The macros are:
FT_DEBUG_LEVEL_ERROR
- #define this macro if you want to compile the FT_ERROR macro calls
- to print error messages during program execution. This will not
- stop the program. Very useful to spot invalid fonts during
+ #define this macro if you want to compile the `FT_ERROR' macro
+ calls to print error messages during program execution. This does
+ not stop the program. Very useful to spot invalid fonts during
development and to code workarounds for them.
FT_DEBUG_LEVEL_TRACE
- #define this macro if you want to compile both macros FT_ERROR and
- FT_TRACE. This also includes the variants FT_TRACE0, FT_TRACE1,
- FT_TRACE2, ..., FT_TRACE7.
+ #define this macro if you want to compile both macros `FT_ERROR'
+ and `FT_TRACE'. This also includes the variants `FT_TRACE0',
+ `FT_TRACE1', `FT_TRACE2', ..., `FT_TRACE7'.
The trace macros are used to send debugging messages when an
appropriate `debug level' is configured at runtime through the
- FT2_DEBUG environment variable (more on this later).
+ `FT2_DEBUG' environment variable (more on this later).
FT_DEBUG_MEMORY
@@ -32,16 +32,16 @@ located in the file `ftoption.h'. The macros are:
small but effective debugging memory manager that tracks all
allocations and frees that are performed within the font engine.
- When the FT2_DEBUG_MEMORY environment variable is defined at
- runtime, a call to FT_Done_FreeType will dump memory statistics,
- including the list of leaked memory blocks with the source
- locations where these were allocated. It is always a very good
- idea to define this in development builds. This works with _any_
- program linked to FreeType, but requires a big deal of memory (the
- debugging memory manager never frees the blocks to the heap in
- order to detect double frees).
+ When the `FT2_DEBUG_MEMORY' environment variable is defined at
+ runtime, a call to `FT_Done_FreeType' dumps memory statistics,
+ including the list of leaked memory blocks and optionally with the
+ source locations where these were allocated. It is always a very
+ good idea to define this in development builds. This works with
+ _any_ program linked to FreeType, but requires a big deal of
+ memory (the debugging memory manager never frees the blocks to the
+ heap in order to detect double frees).
- When FT2_DEBUG_MEMORY isn't defined at runtime, the debugging
+ When `FT2_DEBUG_MEMORY' isn't defined at runtime, the debugging
memory manager is ignored, and performance is unaffected.
@@ -55,10 +55,10 @@ debugging its code:
1. FT_ERROR(( ... ))
This macro is used to send debug messages that indicate relatively
- serious errors (like broken font files), but will not stop the
+ serious errors (like broken font files) without stopping the
execution of the running program. Its code is compiled only when
- either FT_DEBUG_LEVEL_ERROR or FT_DEBUG_LEVEL_TRACE are defined in
- `ftoption.h'.
+ either `FT_DEBUG_LEVEL_ERROR' or `FT_DEBUG_LEVEL_TRACE' are
+ defined in `ftoption.h'.
Note that you have to use a printf-like signature, but with double
parentheses, like in
@@ -69,53 +69,53 @@ debugging its code:
2. FT_ASSERT( condition )
This macro is used to check strong assertions at runtime. If its
- condition isn't TRUE, the program will abort with a panic message.
- Its code is compiled when either FT_DEBUG_LEVEL_ERROR or
- FT_DEBUG_LEVEL_TRACE are defined. You don't need double
- parentheses here. For example
+ condition isn't TRUE, the program aborts with a panic message.
+ Its code is compiled when either `FT_DEBUG_LEVEL_ERROR' or
+ `FT_DEBUG_LEVEL_TRACE' are defined. You don't need double
+ parentheses here. Example:
FT_ASSERT( ptr != NULL );
3. FT_TRACE( level, (message...) )
- The FT_TRACE macro is used to send general-purpose debugging
+ The `FT_TRACE' macro is used to send general-purpose debugging
messages during program execution. This macro uses an *implicit*
- macro named FT_COMPONENT used to name the current FreeType
+ macro named `FT_COMPONENT', which names the current FreeType
component being run.
- The developer should always define FT_COMPONENT as appropriate,
+ The developer should always define `FT_COMPONENT' as appropriate,
for example as in
#undef FT_COMPONENT
#define FT_COMPONENT io
- The value of the FT_COMPONENT macro is one of the component
- names defined in the internal file `internal/fttrace.h'. If you
- modify FreeType source and insert new FT_COMPONENT macro, you must
- register it in `fttrace.h'. If you insert or remove many trace
- macros, you can check the undefined or the unused trace macro by
- `src/tools/chktrcmp.py'.
+ The value of the `FT_COMPONENT' macro is one of the component
+ names defined in the internal file `internal/fttrace.h'. If you
+ modify the FreeType source code and insert a new `FT_COMPONENT'
+ macro, you must register it in `fttrace.h'. If you insert or
+ remove many trace macros, you can test for undefined or unused
+ trace macros with the script `src/tools/chktrcmp.py'.
- Each such component is assigned a `debug level', ranging from 0 to
- 7, through the use of the FT2_DEBUG environment variable
- (described below) when a program linked with FreeType starts.
+ Each such component is assigned a `debug level', ranging from
+ value 0 to 7, through the use of the `FT2_DEBUG' environment
+ variable (described below) when a program linked with FreeType
+ starts.
- When FT_TRACE is called, its level is compared to the one of the
+ When `FT_TRACE' is called, its level is compared to the one of the
corresponding component. Messages with trace levels *higher* than
- the corresponding component level are filtered and never printed.
+ the corresponding component level are filtered out and never
+ printed. This means that trace messages with level 0 are always
+ printed, those with level 2 are only printed when the component
+ level is *at least* 2, etc.
- This means that trace messages with level 0 are always printed,
- those with level 2 are only printed when the component level is
- *at least* 2.
-
- The second parameter to FT_TRACE must contain parentheses and
- correspond to a printf-like call, as in
+ The second parameter to `FT_TRACE' must contain parentheses and
+ corresponds to a printf-like call, as in
FT_TRACE( 2, ( "your %s is not %s\n", "foo", "bar" ) )
- The shortcut macros FT_TRACE0, FT_TRACE1, FT_TRACE2, ...,
- FT_TRACE7 can be used with constant level indices, and are much
+ The shortcut macros `FT_TRACE0', `FT_TRACE1', `FT_TRACE2', ...,
+ `FT_TRACE7' can be used with constant level indices, and are much
cleaner to use, as in
FT_TRACE2(( "your %s is not %s\n", "foo", "bar" ));
@@ -131,7 +131,7 @@ behaviour of FreeType at runtime.
FT2_DEBUG
This variable is only used when FreeType is built with
- FT_DEBUG_LEVEL_TRACE defined. It contains a list of component
+ `FT_DEBUG_LEVEL_TRACE' defined. It contains a list of component
level definitions, following this format:
component1:level1 component2:level2 component3:level3 ...
@@ -140,57 +140,70 @@ behaviour of FreeType at runtime.
in `fttrace.h'. `levelX' is the corresponding level to use at
runtime.
- `any' is a special component name that will be interpreted as
- `any/all components'. For example, the following definitions
+ `any' is a special component name that is interpreted as `any/all
+ components'. For example, the following definitions
set FT2_DEBUG=any:2 memory:5 io:4 (on Windows)
export FT2_DEBUG="any:2 memory:5 io:4" (on Linux with bash)
both stipulate that all components should have level 2, except for
- the memory and io components which will be set to trace levels 5
+ the memory and io components, which are set to the trace levels 5
and 4, respectively.
FT2_DEBUG_MEMORY
This environment variable, when defined, tells FreeType to use a
- debugging memory manager that will track leaking memory blocks as
- well as other common errors like double frees. It is also capable
- of reporting _where_ the leaking blocks were allocated, which
+ debugging memory manager that tracks leaking memory blocks as well
+ as other common errors like double frees. It is also capable of
+ reporting _where_ the leaking blocks were allocated, which
considerably saves time when debugging new additions to the
library.
This code is only compiled when FreeType is built with the
- FT_DEBUG_MEMORY macro #defined in `ftoption.h' though, it will be
+ `FT_DEBUG_MEMORY' macro #defined in `ftoption.h' though, it is
ignored in other builds.
FT2_ALLOC_TOTAL_MAX
- This variable is ignored if FT2_DEBUG_MEMORY is not defined. It
+ This variable is ignored if `FT2_DEBUG_MEMORY' is not defined. It
allows you to specify a maximum heap size for all memory
allocations performed by FreeType. This is very useful to test
the robustness of the font engine and programs that use it in
tight memory conditions.
- If it is undefined, or if its value is not strictly positive, then
- no allocation bounds are checked at runtime.
+ If it is undefined, or if its value is not strictly positive, no
+ allocation bounds are checked at runtime.
FT2_ALLOC_COUNT_MAX
- This variable is ignored if FT2_DEBUG_MEMORY is not defined. It
+ This variable is ignored if `FT2_DEBUG_MEMORY' is not defined. It
allows you to specify a maximum number of memory allocations
performed by FreeType before returning the error
- FT_Err_Out_Of_Memory. This is useful for debugging and testing
+ `FT_Err_Out_Of_Memory'. This is useful for debugging and testing
the engine's robustness.
- If it is undefined, or if its value is not strictly positive, then
- no allocation bounds are checked at runtime.
+ If it is undefined, or if its value is not strictly positive, no
+ allocation bounds are checked at runtime.
+
+
+ FT2_KEEP_ALIVE
+
+ This variable is ignored if `FT2_DEBUG_MEMORY' is not defined.
+ `Keep alive' means that freed blocks aren't released to the heap.
+ This is useful to detect double-frees or weird heap corruption,
+ reporting the source code location of the original allocation and
+ deallocation in case of a problem. It uses large amounts of
+ memory, however.
+
+ If it is undefined, or if its value is not strictly positive,
+ freed blocks are released at runtime.
------------------------------------------------------------------------
-Copyright (C) 2002-2019 by
+Copyright (C) 2002-2020 by
David Turner, Robert Wilhelm, and Werner Lemberg.
This file is part of the FreeType project, and may only be used,
diff --git a/freetype/docs/DOCGUIDE b/freetype/docs/DOCGUIDE
index da76c88f..89617b42 100644
--- a/freetype/docs/DOCGUIDE
+++ b/freetype/docs/DOCGUIDE
@@ -285,7 +285,7 @@ is converted to
----------------------------------------------------------------------
-Copyright (C) 2018-2019 by
+Copyright (C) 2018-2020 by
Nikhil Ramakrishnan, David Turner, Robert Wilhelm, and Werner Lemberg.
This file is part of the FreeType project, and may only be used,
diff --git a/freetype/docs/INSTALL b/freetype/docs/INSTALL
index 61050252..814fc7bc 100644
--- a/freetype/docs/INSTALL
+++ b/freetype/docs/INSTALL
@@ -77,7 +77,7 @@ II. Custom builds of the library
----------------------------------------------------------------------
-Copyright (C) 2000-2019 by
+Copyright (C) 2000-2020 by
David Turner, Robert Wilhelm, and Werner Lemberg.
This file is part of the FreeType project, and may only be used,
diff --git a/freetype/docs/INSTALL.ANY b/freetype/docs/INSTALL.ANY
index 4d5fd8da..58cc22b8 100644
--- a/freetype/docs/INSTALL.ANY
+++ b/freetype/docs/INSTALL.ANY
@@ -141,7 +141,7 @@ II. Support for flat-directory compilation
----------------------------------------------------------------------
-Copyright (C) 2003-2019 by
+Copyright (C) 2003-2020 by
David Turner, Robert Wilhelm, and Werner Lemberg.
This file is part of the FreeType project, and may only be used,
diff --git a/freetype/docs/INSTALL.CROSS b/freetype/docs/INSTALL.CROSS
index 8f4cf6e4..85118056 100644
--- a/freetype/docs/INSTALL.CROSS
+++ b/freetype/docs/INSTALL.CROSS
@@ -163,7 +163,7 @@ procedure.
----------------------------------------------------------------------
-Copyright (C) 2006-2019 by
+Copyright (C) 2006-2020 by
suzuki toshiya, David Turner, Robert Wilhelm, and Werner Lemberg.
diff --git a/freetype/docs/INSTALL.GNU b/freetype/docs/INSTALL.GNU
index 6f37a0fd..8fdbb825 100644
--- a/freetype/docs/INSTALL.GNU
+++ b/freetype/docs/INSTALL.GNU
@@ -63,7 +63,7 @@ instructions in the file `INSTALL.UNIX' instead.
Otherwise, simply type 'make' again to build the library
or 'make refdoc' to build the API reference (the latter needs
- python).
+ Python >= 3.5).
=============================================================
@@ -148,7 +148,7 @@ instructions in the file `INSTALL.UNIX' instead.
----------------------------------------------------------------------
-Copyright (C) 2003-2019 by
+Copyright (C) 2003-2020 by
David Turner, Robert Wilhelm, and Werner Lemberg.
This file is part of the FreeType project, and may only be used,
diff --git a/freetype/docs/INSTALL.UNIX b/freetype/docs/INSTALL.UNIX
index 602744d3..f8d220ac 100644
--- a/freetype/docs/INSTALL.UNIX
+++ b/freetype/docs/INSTALL.UNIX
@@ -105,7 +105,7 @@ or MSys on Win32:
----------------------------------------------------------------------
-Copyright (C) 2003-2019 by
+Copyright (C) 2003-2020 by
David Turner, Robert Wilhelm, and Werner Lemberg.
This file is part of the FreeType project, and may only be used,
diff --git a/freetype/docs/INSTALL.VMS b/freetype/docs/INSTALL.VMS
index 54fa2f8d..e1817ec6 100644
--- a/freetype/docs/INSTALL.VMS
+++ b/freetype/docs/INSTALL.VMS
@@ -49,7 +49,7 @@ V7.2-1.
------------------------------------------------------------------------
-Copyright (C) 2000-2019 by
+Copyright (C) 2000-2020 by
David Turner, Robert Wilhelm, and Werner Lemberg.
This file is part of the FreeType project, and may only be used,
diff --git a/freetype/docs/reference/README b/freetype/docs/README
similarity index 66%
rename from freetype/docs/reference/README
rename to freetype/docs/README
index 3ffcfc08..d71fd379 100644
--- a/freetype/docs/reference/README
+++ b/freetype/docs/README
@@ -1,6 +1,6 @@
-After saying `make refdoc' or `make refdoc-venv' the `site/' directory
-contains the FreeType API reference. You need python and pip to make this
-target.
+After saying `make refdoc' or `make refdoc-venv' the `reference/' directory
+contains the FreeType API reference. You need Python >= 3.5 and pip to make
+this target.
There are two ways to generate the documentation:
@@ -13,7 +13,7 @@ There are two ways to generate the documentation:
2. Using `make refdoc-venv' (requires internet access):
- - Ensure `python', `pip' and python package `virtualenv' are available.
+ - Ensure `python', `pip' and Python package `virtualenv' are available.
- Make target with `make refdoc-venv'.
- This may or may not require internet access every time depending on
pip and system caching.
@@ -25,11 +25,11 @@ Some troubleshooting tips:
* Regularly run `pip install --upgrade docwriter' to check for updates which
may include bug fixes.
-* Ensure that `docwriter' is installed in the same python target that
-`make refdoc' uses (python3/python2/python).
+* `Docwriter' does not support Python 2. Ensure that Python >= 3.5 is
+installed and available as `python3'/`python'.
-* `pip' and `python' may point to different versions of Python. Check using
-`python --version' and `pip --version'.
+* Ensure that `docwriter' is installed in the same Python target that
+`make refdoc' uses (python3/python).
* If none of this works, send a mail to `freetype-devel@nongnu.org' or file
an issue at `https://github.com/freetype/docwriter/issues'.
diff --git a/freetype/docs/TODO b/freetype/docs/TODO
index 1efccc68..8b27e269 100644
--- a/freetype/docs/TODO
+++ b/freetype/docs/TODO
@@ -27,7 +27,7 @@ Other bugs have been registered at the savannah bugzilla of FreeType.
------------------------------------------------------------------------
-Copyright (C) 2001-2019 by
+Copyright (C) 2001-2020 by
David Turner, Robert Wilhelm, and Werner Lemberg.
This file is part of the FreeType project, and may only be used,
diff --git a/freetype/docs/VERSIONS.TXT b/freetype/docs/VERSIONS.TXT
index 5cdf3785..1cb5982c 100644
--- a/freetype/docs/VERSIONS.TXT
+++ b/freetype/docs/VERSIONS.TXT
@@ -1,36 +1,44 @@
-Due to our use of `libtool' to generate and install the FreeType 2
-libraries on Unix systems, as well as other historical events, it is
-generally very difficult to know precisely which release of the font
+Due to our use of `libtool' to generate and install the FreeType 2
+libraries on Unix systems, as well as other historical events, it is
+generally very difficult to know precisely which release of the font
engine is installed on a given system.
-This file tries to explain why and to document ways to properly detect
+This file tries to explain why and to document ways to properly detect
FreeType on Unix.
1. Version and Release numbers
------------------------------
-For each new public release of FreeType 2, there are generally *three*
+For each new public release of FreeType 2, there are generally *three*
distinct `version' numbers to consider:
- * The official FreeType 2 release number, like 2.3.1 or 2.4.10.
+ * The official FreeType 2 release number, like 2.7.0 or 2.10.2.
- * The libtool (and Unix) specific version number, like 13.0.7. This
- is what `freetype-config --version' returns.
+ * The libtool (and Unix) specific version number, like 23.2.17.
+ This is what
- * The platform-specific shared object number, used for example when
- the library is installed as `/usr/lib/libfreetype.so.6.7.1'.
+ pkg-config freetype2 --modversion
-The platform-specific number is, unsurprisingly, platform-specific and
-varies with the operating system you are using (several variants of
-Linux, FreeBSD, Solaris, etc.). You should thus _never_ use it, even
+ or
+
+ freetype-config --version
+
+ returns.
+
+ * The platform-specific shared object number, used for example when
+ the library is installed as `/usr/lib/libfreetype.so.6.17.2'.
+
+The platform-specific number is, unsurprisingly, platform-specific and
+varies with the operating system you are using (several variants of
+Linux, FreeBSD, Solaris, etc.). You should thus _never_ use it, even
for simple tests.
-The libtool-specific number does not equal the release number but is
+The libtool-specific number does not equal the release number but is
tied to it.
-The release number is available at *compile* time through the following
-macros defined in FT_FREETYPE_H:
+The release number is available at *compile* time through the
+following macros defined in FT_FREETYPE_H:
- FREETYPE_MAJOR: major release number
- FREETYPE_MINOR: minor release number
@@ -38,20 +46,21 @@ macros defined in FT_FREETYPE_H:
See below for a small autoconf fragment.
-The release number is also available at *runtime* through the
+The release number is also available at *runtime* through the
`FT_Library_Version' API.
2. History
----------
-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:
+The following table gives, for all releases since 2.5.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.10.2 23.2.17 6.17.2
2.10.1 23.1.17 6.17.1
2.10.0 23.0.17 6.17.0
2.9.1 22.1.16 6.16.1
@@ -72,58 +81,48 @@ on _most_ systems, but not all of them:
2.5.2 17.1.11 6.11.1
2.5.1 17.0.11 6.11.0
2.5.0 16.2.10 6.10.2
- 2.4.12 16.1.10 6.10.1
- 2.4.11 16.0.10 6.10.0
- 2.4.10 15.0.9 6.9.0
- 2.4.9 14.1.8 6.8.1
- 2.4.8 14.0.8 6.8.0
- 2.4.7 13.2.7 6.7.2
- 2.4.6 13.1.7 6.7.1
- 2.4.5 13.0.7 6.7.0
- 2.4.4 12.2.6 6.6.2
- 2.4.3 12.1.6 6.6.1
- 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
3. Autoconf Code Fragment
-------------------------
-Lars Clausen contributed the following autoconf fragment to detect which
-version of FreeType is installed on a system. This one tests for a
-version that is at least 2.0.9; you should change it to check against
+Lars Clausen contributed the following autoconf fragment to check
+which version of FreeType is installed on a system (now updated to use
+`pkg-config' instead of `freetype-config'). This one tests for a
+version that is at least 2.10.2; you should change it to check against
other release numbers.
- AC_MSG_CHECKING([whether FreeType version is 2.0.9 or higher])
+ AC_MSG_CHECKING([whether FreeType version is 2.10.2 or higher])
old_CPPFLAGS="$CPPFLAGS"
- CPPFLAGS=`freetype-config --cflags`
+ CPPFLAGS=`pkg-config freetype2 --cflags`
AC_TRY_CPP([
#include
#include FT_FREETYPE_H
-#if (FREETYPE_MAJOR*1000 + FREETYPE_MINOR)*1000 + FREETYPE_PATCH < 2000009
-#error FreeType version too low.
+
+#if FREETYPE_MAJOR*10000 + FREETYPE_MINOR*100 + FREETYPE_PATCH < 21002
+# error FreeType version too low.
#endif
+
],
[AC_MSG_RESULT(yes)
- FREETYPE_LIBS=`freetype-config --libs`
+ FREETYPE_LIBS=`pkg-config freetype2 --libs`
AC_SUBST(FREETYPE_LIBS)
AC_DEFINE(HAVE_FREETYPE,1,[Define if you have the FreeType2 library])
CPPFLAGS="$old_CPPFLAGS"],
- [AC_MSG_ERROR([Need FreeType library version 2.0.9 or higher])])
+ [AC_MSG_ERROR([Need FreeType library version 2.10.2 or higher])])
-------------------------------------------------------------------------
+----------------------------------------------------------------------
-Copyright (C) 2002-2019 by
+Copyright (C) 2002-2020 by
David Turner, Robert Wilhelm, and Werner Lemberg.
-This file is part of the FreeType project, and may only be used,
-modified, and distributed under the terms of the FreeType project
-license, LICENSE.TXT. By continuing to use, modify, or distribute this
-file you indicate that you have read the license and understand and
-accept it fully.
+This file is 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.
--- end of VERSIONS.TXT ---
diff --git a/freetype/docs/formats.txt b/freetype/docs/formats.txt
index 5ec5442c..e640fab2 100644
--- a/freetype/docs/formats.txt
+++ b/freetype/docs/formats.txt
@@ -191,7 +191,7 @@ which isn't supported yet please send a mail too.
------------------------------------------------------------------------
-Copyright (C) 2004-2019 by
+Copyright (C) 2004-2020 by
David Turner, Robert Wilhelm, and Werner Lemberg.
This file is part of the FreeType project, and may only be used,
diff --git a/freetype/docs/freetype-config.1 b/freetype/docs/freetype-config.1
index 96ff0f28..ae65e836 100644
--- a/freetype/docs/freetype-config.1
+++ b/freetype/docs/freetype-config.1
@@ -1,4 +1,4 @@
-.TH FREETYPE-CONFIG 1 "July 2019" "FreeType 2.10.1"
+.TH FREETYPE-CONFIG 1 "May 2020" "FreeType 2.10.2"
.
.
.SH NAME
diff --git a/freetype/docs/raster.txt b/freetype/docs/raster.txt
index 3aa38220..1bf4f67d 100644
--- a/freetype/docs/raster.txt
+++ b/freetype/docs/raster.txt
@@ -618,7 +618,7 @@ II. Rendering Technology
------------------------------------------------------------------------
-Copyright (C) 2003-2019 by
+Copyright (C) 2003-2020 by
David Turner, Robert Wilhelm, and Werner Lemberg.
This file is part of the FreeType project, and may only be used,
diff --git a/freetype/docs/reference/site/404.html b/freetype/docs/reference/404.html
similarity index 93%
rename from freetype/docs/reference/site/404.html
rename to freetype/docs/reference/404.html
index 4f0f50e9..94cf1f7c 100644
--- a/freetype/docs/reference/site/404.html
+++ b/freetype/docs/reference/404.html
@@ -10,7 +10,7 @@
-
+
@@ -36,17 +36,17 @@
-
+
- FreeType-2.10.1 API Reference
+ FreeType-2.10.2 API Reference
-
+
-
+
@@ -55,12 +55,12 @@
-
+
-
+
@@ -94,9 +94,9 @@