From 3fed8e215415fdfc865acc39c39dbc4666b60e74 Mon Sep 17 00:00:00 2001 From: Akira Kakuto Date: Sat, 24 Jun 2023 23:23:54 +0000 Subject: freetype 2.13.1 git-svn-id: svn://tug.org/texlive/trunk@67463 c570f23f-e606-0410-a88d-b1316a301751 --- Build/source/libs/README | 2 +- Build/source/libs/freetype2/ChangeLog | 5 + Build/source/libs/freetype2/TLpatches/ChangeLog | 7 + Build/source/libs/freetype2/TLpatches/TL-Changes | 2 +- .../source/libs/freetype2/TLpatches/patch-02-grep | 36 - .../freetype2/TLpatches/patch-05-windows-static | 16 - Build/source/libs/freetype2/configure | 20 +- .../libs/freetype2/freetype-src/CMakeLists.txt | 2 +- Build/source/libs/freetype2/freetype-src/ChangeLog | 1338 +++++ Build/source/libs/freetype2/freetype-src/README | 8 +- .../libs/freetype2/freetype-src/builds/mac/README | 8 - .../freetype-src/builds/meson/parse_modules_cfg.py | 6 +- .../freetype-src/builds/unix/config.guess | 6 +- .../freetype2/freetype-src/builds/unix/config.sub | 8 +- .../freetype2/freetype-src/builds/unix/configure | 20 +- .../freetype-src/builds/unix/configure.ac | 4 +- .../freetype-src/builds/unix/configure.raw | 2 +- .../freetype-src/builds/vms/LIBS.OPT_IA64 | Bin 82 -> 0 bytes .../freetype-src/builds/vms/_LINK.OPT_IA64 | Bin 14464 -> 0 bytes .../freetype-src/builds/vms/apinames_vms.bash | 2 + .../freetype2/freetype-src/builds/vms/vmslib.dat | 28 - .../freetype-src/builds/wince/vc2005-ce/index.html | 2 +- .../freetype-src/builds/wince/vc2008-ce/index.html | 2 +- .../builds/windows/vc2010/freetype.vcxproj | 16 +- .../freetype-src/builds/windows/vc2010/index.html | 2 +- .../freetype-src/builds/windows/visualc/index.html | 2 +- .../builds/windows/visualce/index.html | 2 +- Build/source/libs/freetype2/freetype-src/configure | 13 +- .../libs/freetype2/freetype-src/devel/ftoption.h | 47 +- .../libs/freetype2/freetype-src/docs/CHANGES | 50 +- .../source/libs/freetype2/freetype-src/docs/DEBUG | 6 +- .../libs/freetype2/freetype-src/docs/INSTALL.VMS | 49 +- .../source/libs/freetype2/freetype-src/docs/README | 2 - .../libs/freetype2/freetype-src/docs/VERSIONS.TXT | 1 + .../libs/freetype2/freetype-src/docs/formats.txt | 12 +- .../freetype2/freetype-src/docs/freetype-config.1 | 2 +- .../freetype2/freetype-src/docs/reference/404.html | 166 +- .../docs/reference/ft2-auto_hinter.html | 166 +- .../docs/reference/ft2-base_interface.html | 5387 -------------------- .../docs/reference/ft2-basic_types.html | 205 +- .../freetype-src/docs/reference/ft2-bdf_fonts.html | 170 +- .../docs/reference/ft2-bitmap_handling.html | 180 +- .../freetype-src/docs/reference/ft2-bzip2.html | 168 +- .../docs/reference/ft2-cache_subsystem.html | 256 +- .../docs/reference/ft2-cff_driver.html | 168 +- .../docs/reference/ft2-character_mapping.html | 1937 +++++++ .../freetype-src/docs/reference/ft2-cid_fonts.html | 174 +- .../docs/reference/ft2-color_management.html | 182 +- .../docs/reference/ft2-computations.html | 166 +- .../docs/reference/ft2-debugging_apis.html | 168 +- .../docs/reference/ft2-error_code_values.html | 166 +- .../docs/reference/ft2-error_enumerations.html | 170 +- .../docs/reference/ft2-face_creation.html | 2355 +++++++++ .../docs/reference/ft2-font_formats.html | 170 +- .../docs/reference/ft2-font_testing_macros.html | 1823 +++++++ .../docs/reference/ft2-gasp_table.html | 168 +- .../docs/reference/ft2-glyph_management.html | 196 +- .../docs/reference/ft2-glyph_retrieval.html | 2238 ++++++++ .../docs/reference/ft2-glyph_stroker.html | 168 +- .../docs/reference/ft2-glyph_variants.html | 196 +- .../docs/reference/ft2-gx_validation.html | 174 +- .../freetype-src/docs/reference/ft2-gzip.html | 168 +- .../docs/reference/ft2-header_file_macros.html | 180 +- .../docs/reference/ft2-header_inclusion.html | 166 +- .../docs/reference/ft2-incremental.html | 174 +- .../freetype-src/docs/reference/ft2-index.html | 546 +- .../docs/reference/ft2-information_retrieval.html | 1703 +++++++ .../docs/reference/ft2-layer_management.html | 202 +- .../docs/reference/ft2-lcd_rendering.html | 184 +- .../docs/reference/ft2-library_setup.html | 1546 ++++++ .../docs/reference/ft2-list_processing.html | 166 +- .../freetype-src/docs/reference/ft2-lzw.html | 168 +- .../docs/reference/ft2-mac_specific.html | 198 +- .../docs/reference/ft2-module_management.html | 206 +- .../docs/reference/ft2-multiple_masters.html | 261 +- .../docs/reference/ft2-ot_svg_driver.html | 166 +- .../docs/reference/ft2-ot_validation.html | 170 +- .../docs/reference/ft2-other_api_data.html | 1553 ++++++ .../docs/reference/ft2-outline_processing.html | 182 +- .../docs/reference/ft2-parameter_tags.html | 184 +- .../docs/reference/ft2-pcf_driver.html | 166 +- .../freetype-src/docs/reference/ft2-pfr_fonts.html | 176 +- .../freetype-src/docs/reference/ft2-preamble.html | 166 +- .../docs/reference/ft2-properties.html | 190 +- .../docs/reference/ft2-quick_advance.html | 190 +- .../freetype-src/docs/reference/ft2-raster.html | 172 +- .../docs/reference/ft2-sfnt_names.html | 176 +- .../docs/reference/ft2-sizes_management.html | 194 +- .../docs/reference/ft2-sizing_and_scaling.html | 2003 ++++++++ .../freetype-src/docs/reference/ft2-svg_fonts.html | 178 +- .../docs/reference/ft2-system_interface.html | 174 +- .../docs/reference/ft2-t1_cid_driver.html | 166 +- .../docs/reference/ft2-truetype_engine.html | 168 +- .../docs/reference/ft2-truetype_tables.html | 198 +- .../freetype-src/docs/reference/ft2-tt_driver.html | 166 +- .../docs/reference/ft2-type1_tables.html | 178 +- .../docs/reference/ft2-user_allocation.html | 170 +- .../freetype-src/docs/reference/ft2-version.html | 1426 ------ .../docs/reference/ft2-winfnt_fonts.html | 168 +- .../freetype-src/docs/reference/index.html | 203 +- .../docs/reference/search/search_index.json | 2 +- .../freetype-src/docs/reference/sitemap.xml | 275 - .../freetype-src/docs/reference/sitemap.xml.gz | Bin 228 -> 127 bytes .../libs/freetype2/freetype-src/docs/release | 44 +- .../libs/freetype2/freetype-src/include/dlg/dlg.h | 190 +- .../include/freetype/config/ftoption.h | 47 +- .../include/freetype/config/ftstdlib.h | 14 +- .../freetype-src/include/freetype/freetype.h | 563 +- .../freetype-src/include/freetype/ftcache.h | 88 +- .../freetype-src/include/freetype/ftchapters.h | 23 +- .../freetype-src/include/freetype/ftdriver.h | 11 +- .../freetype-src/include/freetype/ftimage.h | 10 +- .../freetype-src/include/freetype/ftlogging.h | 2 +- .../freetype2/freetype-src/include/freetype/ftmm.h | 57 +- .../freetype-src/include/freetype/ftoutln.h | 2 +- .../freetype-src/include/freetype/ftrender.h | 2 +- .../freetype-src/include/freetype/ftsynth.h | 12 + .../freetype-src/include/freetype/ftsystem.h | 16 +- .../include/freetype/internal/compiler-macros.h | 7 +- .../freetype-src/include/freetype/internal/ftdrv.h | 1 + .../include/freetype/internal/ftmmtypes.h | 20 +- .../include/freetype/internal/services/svmetric.h | 10 +- .../include/freetype/internal/services/svmm.h | 109 +- .../include/freetype/internal/services/svpscmap.h | 2 +- .../include/freetype/internal/t1types.h | 26 +- .../include/freetype/internal/tttypes.h | 122 +- .../freetype2/freetype-src/src/autofit/afblue.dat | 2 +- .../freetype2/freetype-src/src/autofit/afcjk.c | 56 +- .../freetype2/freetype-src/src/autofit/afcjk.h | 20 +- .../freetype2/freetype-src/src/autofit/afglobal.c | 5 +- .../freetype2/freetype-src/src/autofit/afglobal.h | 2 +- .../freetype2/freetype-src/src/autofit/afhints.c | 58 +- .../freetype2/freetype-src/src/autofit/afindic.c | 32 +- .../freetype2/freetype-src/src/autofit/aflatin.c | 49 +- .../freetype2/freetype-src/src/autofit/aflatin.h | 4 +- .../freetype2/freetype-src/src/autofit/afloader.c | 6 +- .../freetype2/freetype-src/src/autofit/afmodule.c | 37 +- .../freetype2/freetype-src/src/autofit/afshaper.c | 6 +- .../freetype2/freetype-src/src/autofit/ft-hb.c | 2 +- .../libs/freetype2/freetype-src/src/base/ftbbox.c | 42 +- .../libs/freetype2/freetype-src/src/base/ftcalc.c | 4 +- .../freetype2/freetype-src/src/base/ftdbgmem.c | 2 +- .../libs/freetype2/freetype-src/src/base/ftmac.c | 2 +- .../libs/freetype2/freetype-src/src/base/ftmm.c | 146 +- .../libs/freetype2/freetype-src/src/base/ftobjs.c | 23 +- .../libs/freetype2/freetype-src/src/base/ftoutln.c | 52 +- .../freetype2/freetype-src/src/base/ftstroke.c | 21 +- .../libs/freetype2/freetype-src/src/base/ftsynth.c | 20 +- .../freetype2/freetype-src/src/base/ftsystem.c | 9 +- .../libs/freetype2/freetype-src/src/base/ftver.rc | 4 +- .../libs/freetype2/freetype-src/src/bdf/bdf.h | 4 - .../libs/freetype2/freetype-src/src/bdf/bdfdrivr.c | 116 +- .../libs/freetype2/freetype-src/src/bdf/bdflib.c | 67 +- .../freetype2/freetype-src/src/bzip2/ftbzip2.c | 19 +- .../freetype2/freetype-src/src/cache/ftcbasic.c | 8 +- .../freetype2/freetype-src/src/cache/ftccache.c | 125 +- .../freetype2/freetype-src/src/cache/ftccache.h | 17 +- .../freetype2/freetype-src/src/cache/ftcglyph.c | 46 +- .../freetype2/freetype-src/src/cache/ftcglyph.h | 15 +- .../freetype2/freetype-src/src/cache/ftcmanag.c | 42 +- .../libs/freetype2/freetype-src/src/cache/ftcmru.c | 28 +- .../freetype2/freetype-src/src/cache/ftcsbits.c | 17 +- .../freetype2/freetype-src/src/cache/ftcsbits.h | 11 - .../libs/freetype2/freetype-src/src/cff/cffcmap.c | 107 +- .../libs/freetype2/freetype-src/src/cff/cffdrivr.c | 443 +- .../libs/freetype2/freetype-src/src/cff/cffgload.c | 6 +- .../libs/freetype2/freetype-src/src/cff/cffload.c | 31 +- .../libs/freetype2/freetype-src/src/cff/cffload.h | 4 +- .../libs/freetype2/freetype-src/src/cff/cffobjs.c | 24 +- .../libs/freetype2/freetype-src/src/cff/cffparse.c | 228 +- .../libs/freetype2/freetype-src/src/cff/cffparse.h | 9 - .../libs/freetype2/freetype-src/src/cid/cidgload.c | 141 +- .../libs/freetype2/freetype-src/src/cid/cidgload.h | 8 + .../libs/freetype2/freetype-src/src/cid/cidload.c | 51 +- .../libs/freetype2/freetype-src/src/cid/cidobjs.c | 14 +- .../libs/freetype2/freetype-src/src/cid/cidparse.c | 16 +- .../libs/freetype2/freetype-src/src/cid/cidriver.c | 97 +- .../libs/freetype2/freetype-src/src/dlg/dlgwrap.c | 2 +- .../freetype2/freetype-src/src/gxvalid/gxvfgen.c | 3 +- .../freetype-src/src/gzip/README.freetype | 2 +- .../libs/freetype2/freetype-src/src/gzip/ftgzip.c | 11 +- .../libs/freetype2/freetype-src/src/gzip/infback.c | 644 --- .../libs/freetype2/freetype-src/src/gzip/rules.mk | 1 - .../libs/freetype2/freetype-src/src/pcf/pcfdrivr.c | 122 +- .../libs/freetype2/freetype-src/src/pfr/pfrcmap.c | 48 +- .../libs/freetype2/freetype-src/src/pfr/pfrdrivr.c | 26 +- .../libs/freetype2/freetype-src/src/pfr/pfrgload.c | 3 +- .../libs/freetype2/freetype-src/src/pfr/pfrload.c | 60 +- .../libs/freetype2/freetype-src/src/pfr/pfrobjs.c | 6 +- .../freetype2/freetype-src/src/psaux/afmparse.c | 2 +- .../libs/freetype2/freetype-src/src/psaux/t1cmap.c | 141 +- .../freetype2/freetype-src/src/pshinter/pshalgo.c | 2 +- .../freetype2/freetype-src/src/pshinter/pshmod.c | 9 +- .../freetype2/freetype-src/src/pshinter/pshrec.c | 63 +- .../freetype2/freetype-src/src/psnames/psmodule.c | 42 +- .../freetype2/freetype-src/src/raster/ftraster.c | 44 +- .../freetype2/freetype-src/src/raster/ftrend1.c | 21 +- .../libs/freetype2/freetype-src/src/sdf/ftbsdf.c | 7 +- .../libs/freetype2/freetype-src/src/sdf/ftsdf.c | 21 +- .../freetype2/freetype-src/src/sdf/ftsdfrend.c | 35 +- .../libs/freetype2/freetype-src/src/sfnt/pngshim.c | 7 +- .../freetype2/freetype-src/src/sfnt/sfdriver.c | 143 +- .../libs/freetype2/freetype-src/src/sfnt/sfobjs.c | 30 +- .../libs/freetype2/freetype-src/src/sfnt/sfwoff.c | 2 +- .../libs/freetype2/freetype-src/src/sfnt/sfwoff2.c | 2 +- .../libs/freetype2/freetype-src/src/sfnt/ttbdf.c | 13 +- .../libs/freetype2/freetype-src/src/sfnt/ttbdf.h | 2 +- .../libs/freetype2/freetype-src/src/sfnt/ttcmap.c | 547 +- .../libs/freetype2/freetype-src/src/sfnt/ttcolr.c | 6 +- .../libs/freetype2/freetype-src/src/sfnt/ttcpal.c | 2 +- .../libs/freetype2/freetype-src/src/sfnt/ttload.c | 7 + .../libs/freetype2/freetype-src/src/sfnt/ttmtx.c | 2 +- .../libs/freetype2/freetype-src/src/sfnt/ttpost.c | 284 +- .../libs/freetype2/freetype-src/src/sfnt/ttsbit.c | 2 +- .../libs/freetype2/freetype-src/src/sfnt/ttsvg.c | 2 +- .../freetype2/freetype-src/src/sfnt/woff2tags.c | 2 +- .../freetype2/freetype-src/src/smooth/ftgrays.c | 49 +- .../freetype2/freetype-src/src/smooth/ftsmooth.c | 22 +- .../libs/freetype2/freetype-src/src/svg/ftsvg.c | 45 +- .../freetype2/freetype-src/src/tools/apinames.c | 44 +- .../freetype-src/src/tools/ftrandom/ftrandom.c | 2 +- .../freetype-src/src/tools/vms_shorten_symbol.c | 250 + .../freetype2/freetype-src/src/truetype/ttdriver.c | 158 +- .../freetype2/freetype-src/src/truetype/ttgload.c | 270 +- .../freetype2/freetype-src/src/truetype/ttgxvar.c | 518 +- .../freetype2/freetype-src/src/truetype/ttgxvar.h | 40 +- .../freetype2/freetype-src/src/truetype/ttinterp.c | 145 +- .../freetype2/freetype-src/src/truetype/ttinterp.h | 10 +- .../freetype2/freetype-src/src/truetype/ttobjs.c | 85 +- .../freetype2/freetype-src/src/truetype/ttobjs.h | 6 +- .../freetype2/freetype-src/src/truetype/ttpload.c | 37 +- .../freetype2/freetype-src/src/truetype/ttpload.h | 6 +- .../freetype2/freetype-src/src/truetype/ttsubpix.c | 2 +- .../libs/freetype2/freetype-src/src/type1/t1afm.c | 4 +- .../freetype2/freetype-src/src/type1/t1driver.c | 93 +- .../libs/freetype2/freetype-src/src/type1/t1load.c | 256 +- .../libs/freetype2/freetype-src/src/type1/t1load.h | 22 +- .../libs/freetype2/freetype-src/src/type1/t1objs.c | 8 +- .../freetype2/freetype-src/src/type42/t42drivr.c | 43 +- .../freetype2/freetype-src/src/type42/t42parse.c | 92 +- .../freetype2/freetype-src/src/winfonts/winfnt.c | 40 +- .../freetype2/freetype-src/subprojects/libpng.wrap | 9 +- .../freetype2/freetype-src/subprojects/zlib.wrap | 9 +- .../libs/freetype2/freetype-src/vms_make.com | 677 ++- Build/source/libs/freetype2/version.ac | 2 +- 245 files changed, 29200 insertions(+), 13861 deletions(-) delete mode 100644 Build/source/libs/freetype2/TLpatches/patch-02-grep delete mode 100644 Build/source/libs/freetype2/TLpatches/patch-05-windows-static delete mode 100644 Build/source/libs/freetype2/freetype-src/builds/vms/LIBS.OPT_IA64 delete mode 100644 Build/source/libs/freetype2/freetype-src/builds/vms/_LINK.OPT_IA64 create mode 100644 Build/source/libs/freetype2/freetype-src/builds/vms/apinames_vms.bash delete mode 100644 Build/source/libs/freetype2/freetype-src/builds/vms/vmslib.dat delete mode 100644 Build/source/libs/freetype2/freetype-src/docs/reference/ft2-base_interface.html create mode 100644 Build/source/libs/freetype2/freetype-src/docs/reference/ft2-character_mapping.html create mode 100644 Build/source/libs/freetype2/freetype-src/docs/reference/ft2-face_creation.html create mode 100644 Build/source/libs/freetype2/freetype-src/docs/reference/ft2-font_testing_macros.html create mode 100644 Build/source/libs/freetype2/freetype-src/docs/reference/ft2-glyph_retrieval.html create mode 100644 Build/source/libs/freetype2/freetype-src/docs/reference/ft2-information_retrieval.html create mode 100644 Build/source/libs/freetype2/freetype-src/docs/reference/ft2-library_setup.html create mode 100644 Build/source/libs/freetype2/freetype-src/docs/reference/ft2-other_api_data.html create mode 100644 Build/source/libs/freetype2/freetype-src/docs/reference/ft2-sizing_and_scaling.html delete mode 100644 Build/source/libs/freetype2/freetype-src/docs/reference/ft2-version.html delete mode 100644 Build/source/libs/freetype2/freetype-src/src/gzip/infback.c create mode 100644 Build/source/libs/freetype2/freetype-src/src/tools/vms_shorten_symbol.c (limited to 'Build/source/libs') diff --git a/Build/source/libs/README b/Build/source/libs/README index 505555cb64e..40ab740d995 100644 --- a/Build/source/libs/README +++ b/Build/source/libs/README @@ -12,7 +12,7 @@ See also comments in ../texk/README. cairo 1.16.0 - checked 20oct18 http://cairographics.org/releases/ -freetype2 2.13.0 - checked 11feb23 +freetype2 2.13.1 - checked 25jun23 http://download.savannah.gnu.org/releases/freetype/ gd 2.3.3 - checked 13sep21 diff --git a/Build/source/libs/freetype2/ChangeLog b/Build/source/libs/freetype2/ChangeLog index 9cddc8443f1..d1d81b64e65 100644 --- a/Build/source/libs/freetype2/ChangeLog +++ b/Build/source/libs/freetype2/ChangeLog @@ -1,3 +1,8 @@ +2023-06-25 Akira Kakuto + + Import freetype-2.13.1. + * version.ac: Adjusted. + 2023-02-24 Karl Berry * freetype-src/configure: test for grep -E, don't assume it. diff --git a/Build/source/libs/freetype2/TLpatches/ChangeLog b/Build/source/libs/freetype2/TLpatches/ChangeLog index 26e7bdef444..8af763bdf24 100644 --- a/Build/source/libs/freetype2/TLpatches/ChangeLog +++ b/Build/source/libs/freetype2/TLpatches/ChangeLog @@ -1,3 +1,10 @@ +2023-06-25 Akira Kakuto + + Import freetype-2.13.1 source tree from: + http://download.savannah.gnu.org/releases/freetype. + * patch-02-grep: remove. + * patch-05-windows-static: remove. + 2023-02-11 Akira Kakuto Import freetype-2.13.0 source tree from: diff --git a/Build/source/libs/freetype2/TLpatches/TL-Changes b/Build/source/libs/freetype2/TLpatches/TL-Changes index 85f14c65eb9..df5897c6b85 100644 --- a/Build/source/libs/freetype2/TLpatches/TL-Changes +++ b/Build/source/libs/freetype2/TLpatches/TL-Changes @@ -1,2 +1,2 @@ -Changes applied to the freetype-2.13.0/ tree as obtained from: +Changes applied to the freetype-2.13.1/ tree as obtained from: http://download.savannah.gnu.org/releases/freetype/. diff --git a/Build/source/libs/freetype2/TLpatches/patch-02-grep b/Build/source/libs/freetype2/TLpatches/patch-02-grep deleted file mode 100644 index 4a545b28af6..00000000000 --- a/Build/source/libs/freetype2/TLpatches/patch-02-grep +++ /dev/null @@ -1,36 +0,0 @@ -grep -E is not supported by system grep on Solaris 5.10. -But egrep is no longer universally supported either; GNU grep 3.8 -intentionally broke it. So test. - ---- configure (revision 66134) -+++ configure (working copy) -@@ -15,10 +15,19 @@ - - rm -f config.mk builds/unix/unix-def.mk builds/unix/unix-cc.mk - -+if test -z "$EGREP"; then -+ if echo a | grep -E '(a|b)' >/dev/null 2>&1; then -+ EGREP="grep -E" -+ else -+ # if grep -E doesn't work, assume egrep does. -+ EGREP=egrep -+ fi -+fi -+ - # respect GNUMAKE environment variable for backward compatibility - if test "x$GNUMAKE" = x; then - if test "x$MAKE" = x; then -- if test "x`make -v 2>/dev/null | grep -E 'GNU|makepp'`" = x; then -+ if test "x`make -v 2>/dev/null | $EGREP 'GNU|makepp'`" = x; then - MAKE=gmake - else - MAKE=make -@@ -28,7 +37,7 @@ - MAKE=$GNUMAKE - fi - --if test "x`$MAKE -v 2>/dev/null | grep -E 'GNU|makepp'`" = x; then -+if test "x`$MAKE -v 2>/dev/null | $EGREP 'GNU|makepp'`" = x; then - echo "GNU make (>= 3.81) or makepp (>= 2.0) is required to build FreeType2." >&2 - echo "Please try" >&2 - echo >&2 diff --git a/Build/source/libs/freetype2/TLpatches/patch-05-windows-static b/Build/source/libs/freetype2/TLpatches/patch-05-windows-static deleted file mode 100644 index 65d19606287..00000000000 --- a/Build/source/libs/freetype2/TLpatches/patch-05-windows-static +++ /dev/null @@ -1,16 +0,0 @@ -diff -ur freetype-2.13.0/src/gzip/ftgzip.c freetype-src/src/gzip/ftgzip.c ---- freetype-2.13.0/src/gzip/ftgzip.c Sat Feb 04 23:00:05 2023 -+++ freetype-src/src/gzip/ftgzip.c Sat Feb 11 08:39:27 2023 -@@ -75,6 +75,12 @@ - #define ZEXTERN static - #endif - -+/* In TeX Live, we use the same linking as above for Windows */ -+#if defined( _WIN32 ) -+#define ZEXPORT -+#define ZEXTERN static -+#endif -+ - #define HAVE_MEMCPY 1 - #define Z_SOLO 1 - #define Z_FREETYPE 1 diff --git a/Build/source/libs/freetype2/configure b/Build/source/libs/freetype2/configure index 43ca5eee85d..22d59442d79 100755 --- a/Build/source/libs/freetype2/configure +++ b/Build/source/libs/freetype2/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.71 for FreeType (TeX Live) 2.13.0. +# Generated by GNU Autoconf 2.71 for FreeType (TeX Live) 2.13.1. # # Report bugs to . # @@ -610,8 +610,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='FreeType (TeX Live)' PACKAGE_TARNAME='freetype--tex-live-' -PACKAGE_VERSION='2.13.0' -PACKAGE_STRING='FreeType (TeX Live) 2.13.0' +PACKAGE_VERSION='2.13.1' +PACKAGE_STRING='FreeType (TeX Live) 2.13.1' PACKAGE_BUGREPORT='tex-k@tug.org' PACKAGE_URL='' @@ -1278,7 +1278,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 (TeX Live) 2.13.0 to adapt to many kinds of systems. +\`configure' configures FreeType (TeX Live) 2.13.1 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1346,7 +1346,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of FreeType (TeX Live) 2.13.0:";; + short | recursive ) echo "Configuration of FreeType (TeX Live) 2.13.1:";; esac cat <<\_ACEOF @@ -1443,7 +1443,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -FreeType (TeX Live) configure 2.13.0 +FreeType (TeX Live) configure 2.13.1 generated by GNU Autoconf 2.71 Copyright (C) 2021 Free Software Foundation, Inc. @@ -1566,7 +1566,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 (TeX Live) $as_me 2.13.0, which was +It was created by FreeType (TeX Live) $as_me 2.13.1, which was generated by GNU Autoconf 2.71. Invocation command line was $ $0$ac_configure_args_raw @@ -4100,7 +4100,7 @@ fi # Define the identity of the package. PACKAGE='freetype--tex-live-' - VERSION='2.13.0' + VERSION='2.13.1' printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h @@ -5834,7 +5834,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 (TeX Live) $as_me 2.13.0, which was +This file was extended by FreeType (TeX Live) $as_me 2.13.1, which was generated by GNU Autoconf 2.71. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -5893,7 +5893,7 @@ ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config='$ac_cs_config_escaped' ac_cs_version="\\ -FreeType (TeX Live) config.status 2.13.0 +FreeType (TeX Live) config.status 2.13.1 configured by $0, generated by GNU Autoconf 2.71, with options \\"\$ac_cs_config\\" diff --git a/Build/source/libs/freetype2/freetype-src/CMakeLists.txt b/Build/source/libs/freetype2/freetype-src/CMakeLists.txt index 554b580e9cf..d31ab175d17 100644 --- a/Build/source/libs/freetype2/freetype-src/CMakeLists.txt +++ b/Build/source/libs/freetype2/freetype-src/CMakeLists.txt @@ -164,7 +164,7 @@ project(freetype C) set(VERSION_MAJOR "2") set(VERSION_MINOR "13") -set(VERSION_PATCH "0") +set(VERSION_PATCH "1") # Generate LIBRARY_VERSION and LIBRARY_SOVERSION. set(LIBTOOL_REGEX "version_info='([0-9]+):([0-9]+):([0-9]+)'") diff --git a/Build/source/libs/freetype2/freetype-src/ChangeLog b/Build/source/libs/freetype2/freetype-src/ChangeLog index 16faf18b675..3fa83e819de 100644 --- a/Build/source/libs/freetype2/freetype-src/ChangeLog +++ b/Build/source/libs/freetype2/freetype-src/ChangeLog @@ -1,3 +1,1341 @@ +2023-06-24 Werner Lemberg + + * Version 2.13.1 released. + ========================== + + Tag sources with `VER-2-13-1'. + + * docs/VERSION.TXT: Add entry for version 2.13.1. + * docs/CHANGES: Updated. + * docs/release, docs/README, builds/macs/README: Updated. + + * README, 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.13.0/2.13/1/, s/2130/2131/. + + * include/freetype/freetype.h (FREETYPE_PATCH): Set to 1. + + * builds/unix/configure.raw (version_info): Set to 26:0:20. + * CMakeLists.txt (VERSION_PATCH): Set to 1. + + * subprojects/libpng.wrap, subprojects/zlib.wrap, subprojects/dlg: Updated. + +2023-06-09 suzuki toshiya + + Comment fixes. + +2023-06-09 Werner Lemberg + + [sdf] Correct handling of empty glyphs. + + This is a refinement of commit 7b3ebb9. + + * src/sdf/ftsdfrend.c (ft_sdf_render): Goto 'Exit' instead of directly + returning. + (fd_bsdf_render): Ditto, also taking care of setting `FT_GLYPH_OWN_BITMAP` + correctly. + +2023-06-05 Ben Wagner + + Mark FT_Renderer_Class::raster_class as pointer to const + + The `FT_DEFINE_RASTER_FUNCS` macro declares a `const FT_Raster_Funcs`. + The address of the definition is taken and assigned to + `FT_Renderer_Class::raster_class` which is currently `FT_Raster_Funcs*`. + Until recently the `const` was cast away and with the removal of the + cast there are now warnings about dropping this `const`. Instead of + adding back the casts, make `FT_Renderer_Class::raster_class` a pointer + to const, as is done with pointers in other interfaces. + + * include/freetype/ftrender.h (FT_Renderer_Class_): mark `raster_class` + as const. + +2023-06-03 Ben Wagner + + Fix some `FT_Fixed` vs. `FT_Long` confusion. + + `FT_Fixed` and `FT_Long` are both typedef'ed to be `signed long`. However, + `FT_Fixed` implies that the lower 16 bits are being used to express + fractional values and so these two types should not be confused. + + * include/freetype/internal/services/svmm.h (FT_Set_MM_Blend_Func): Use + `FT_Fixed` for `coords`. Users are passing `FT_Fixed` and implementations + are taking `FT_Fixed`. + (FT_Get_MM_Blend_Func): Ditto. + + * src/autofit/afcjk.c (af_cjk_metrics_check_digits): Use `FT_Long` for + `advance` and `old_advance`. `advance`'s address is passed as `FT_Long*` to + `af_shaper_get_elem`, which writes the advance in em units (not fixed). The + exact value is not important here as it is only compared to check whether it + has changed. + + * src/autofit/aflatin.c (af_latin_metrics_check_digits): Ditto. + +2023-06-03 Ben Wagner + + */*: Remove many function pointer casts. + + In C it is undefined behavior to call a function through a function pointer + of a different type. This is now detected by the Control Flow Integrity + Sanitizer. All known issues have already been fixed. Prevent any + accidental re-introduction by removing function pointer casts when defining + services. The services will call the service functions through the function + pointers on the service. As a result the functions must have the same type + so there should be no need to cast. Removing the casts allows compilers to + warn about assignment to an incompatible function pointer type. + +2023-06-03 Werner Lemberg + + Minor formatting. + +2023-05-23 Werner Lemberg + + Replace `sprintf` with `snprintf`. + + Fixes #1233. + + * include/freetype/config/ftstdlib.h (ft_sprintf): Replace with... + (ft_snprintf): This new macro. + + * src/autofit/afhints.c (af_print_idx): Add argument to pass the buffer + size. + (af_glyph_hints_dump_points, af_glyph_hints_dump_segments, + af_glyph_hints_dump_edges): Updated. + + * src/bdf/bdflib.c (BUFSIZE): New macro. + (bdf_parse_properties_, bdf_parse_start_): Use `ft_snprintf`. + + * src/tools/ftrandom/ftrandom.c (do_test): Use `snprintf`. + +2023-05-23 Werner Lemberg + + docs/DEBUG: Formatting. + +2023-05-20 suzuki toshiya + + [doc] Type1 GX (sfnt-wrapped Type1) is not supported. + + * docs/formats.txt: Clarify the reference of Type1 GX, + and state that this format is not supported. This + is because the content `TYP1' table is not exactly same + with the Type1 font format specification; no eexec + encryption is used. For detail and concrete examples, + see the analysis on: + + https://gitlab.freedesktop.org/freetype/freetype/-/issues/1231 + +2023-05-19 Craig White + + Add missing end quote of a string in the example code of FT_Trace_Set_Level + +2023-05-19 Seigo Nonaka + + [truetype] Reduce heap allocation of `deltaSet` variation data. + + `deltaSet` is an array of packed integers that can be 32 bits, 16 bits, or + 8 bits. Before this change, these values were unpacked to 32-bit integers. + However, this can cause big heap allocations, e.g., around 500 KByte for + 'NotoSansCJK'. To reduce this amount, store the packed integers and unpack + them just before passing to the calculation. At calculation time, due to + the variable length of region indices, temporary heap allocations are + necessary. This heap allocation is not negligible and visible in `ftbench` + results. So, use stack-allocated arrays for short array calculations. + + Fixes #1230. + + * include/freetype/internal/ftmmtypes.h (GX_ItemVarDataRec): New fields + `wordDeltaCount` and `longWords`. + + * src/truetype/ttgxvar.c (tt_var_load_item_variation_store): Load packed + data. + (tt_var_get_item_delta): Unpack data before applying. + +2023-05-17 Jouk Jansen + + vms_make.com: Create shared executable for x86 version of OpenVMS. + +2023-05-15 Werner Lemberg + + Add new load flag `FT_LOAD_NO_SVG`. + + Modern color fonts often contain both an 'SVG' and 'COLR' table. FreeType + always preferred 'SVG' over 'COLR' (this was a design decision), however, + this might not be the right choice for the user. The new flags makes + FreeType ignore the 'SVG' table while loading a glyph. + + Fixes #1229. + + * include/freetype/freetype.h (FT_LOAD_NO_SVG): New macro. + + * src/base/ftobjs.c (FT_Load_Glyph), src/cff/cffgload.c (cff_slot_load), + src/truetype/ttgload.c (TT_Load_Glyph): Use it. + +2023-05-13 Werner Lemberg + + .mailmap: Updated. + +2023-05-13 Alexei Podtelezhnikov + + [cache] Merge functions. + + * src/cache/ftccache.c (FTC_Cache_Init): Merge into... + (ftc_cache_done): ... this function, with unnecessary checks removed. + +2023-05-13 Alexei Podtelezhnikov + + [cache] Minor casting and cosmetic updates. + + * src/cache/ftcglyph.c (ftc_gcache_{init,done}): Remove casting. + (FTC_GCache_Lookup): Cosmetic variable renaming. + * src/cache/ftcsbits.c (ftc_snode_compare): Formatting. + +2023-05-12 Werner Lemberg + + * include/freetype/ftcache.h: Typo, punctuation. + +2023-05-12 Alexei Podtelezhnikov + + * include/freetype/ftcache.h: Formatted and updated. + +2023-05-12 suzuki toshiya + + * include/freetype/internal/t1types.h: Fix the indentation. + +2023-05-11 Alexei Podtelezhnikov + + [cache] Revise the dynamic hash table accounting. + + Instead of counting entries relative to the middle of the hash table, + this switches to the absolute counter with the full index range mask. + As a result, some calculations become a bit simpler. The cache resizing + logic stays largely the same. + + * src/cache/ftccache.h (FTC_NODE_TOP_FOR_HASH): Revised with new counter. + * src/cache/ftccache.c (ftc_get_top_node_for_hash): Ditto. + (ftc_cache_resize): Simplify reallocations and stop their zeroing. + (ftc_cache_init): Stop over-allocating but keep zeroing initially. + (FTC_Cache_Clear, FTC_Cache_RemoveFaceID): Updated accordingly. + +2023-05-11 suzuki toshiya + + [t1cid] Set FT_FACE_FLAG_CID_KEYED. + + * cidobjs.c (cid_face_init): Set FT_FACE_FLAG_CID_KEYED. + + * cidriver.c (cid_get_is_cid): Comment about the case that + is_cid cannot guarantee the glyph collection specification. + +2023-05-09 Jouk Jansen + + * src/smooth/ftgrays.c (FT_SSE2): Don't define for VMS. + +2023-05-08 Werner Lemberg + + * src/cff/cffdrivr.c (cff_glyph_load): Fix guard for `size`. + + This was forgotten to change in commit 2b54eba36b (in May 2004). + + Reported as + + https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=58739 + +2023-05-08 Werner Lemberg + + Minor compiler warning fixes. + + * src/autofit/afcjk.c (af_cjk_get_standard_widths), src/autofit/aflatin.c + (af_latin_get_standard_widths): Use `FT_CALLBACK_DEF`. + + * src/cff/cffparse.c (cff_parser_run): Initialize and fix allocation of `q`. + +2023-05-08 Werner Lemberg + + * src/psaux/t1cmap.c: Signature fixes. + +2023-05-08 Werner Lemberg + + * src/bzip2/ftbzip2.c: Signature fixes. + +2023-05-08 Werner Lemberg + + [cache] Signature fixes. + + * src/cache/ftcglyph.c, src/cache/ftcglyph.h (FTC_GNode_Compare): Remove + redundant function. It is equivalent to `ftc_gnode_compare` and becomes + completely meaningless with fixed signatures. + Update all callers. + + * src/cache/ftcsbits.c, src/cache/ftcsbits.h (FTC_SNode_Compare): Remove + redundant function. It is equivalent to `ftc_snode_compare` and becomes + completely meaningless with fixed signatures. + Update all callers. + +2023-05-07 Werner Lemberg + + [sdf] Signature fixes. + +2023-05-07 Werner Lemberg + + * src/svg/ftsvg.c: Signature fixes. + +2023-05-07 Werner Lemberg + + [raster] Signature fixes. + +2023-05-07 Werner Lemberg + + [smooth] Signature fixes. + +2023-05-07 Werner Lemberg + + [pshinter] Signature fixes. + + * src/pshinter/pshrec.c (t1_hints_close, t1_hints_apply): New wrapper + functions. + (t1_hints_funcs_init): Use them. + (t2_hints_close, t2_hints_apply): New wrapper functions. + (t2_hints_funcs_init): Use them. + +2023-05-07 Werner Lemberg + + [autofit] Signature fixes. + +2023-05-07 Werner Lemberg + + * src/sfnt/ttcmap: Signature fixes. + +2023-05-07 Werner Lemberg + + * src/pcf/pcfdrivr.c: Signature fix. + +2023-05-07 Werner Lemberg + + * src/winfonts/winfnt.c: Signature fixes. + +2023-05-07 Werner Lemberg + + * src/type42/t42parse.c: Signature fixes. + +2023-05-07 Werner Lemberg + + [pfr] Signature fixes. + +2023-05-07 Werner Lemberg + + * src/cid/cidload.c: Signature fixes. + +2023-05-07 Werner Lemberg + + * src/cff/cffcmap.c: Signature fixes. + +2023-05-07 Werner Lemberg + + * src/type1/t1load.c: Signature fixes. + +2023-05-07 Werner Lemberg + + [truetype] Signature fixes. + +2023-05-07 Werner Lemberg + + [base] Signature fixes. + +2023-05-07 Werner Lemberg + + * src/type42/t42drivr.c: Clean up interface. + + Ensure that all driver functions use the signature of the service or driver. + This avoids pointer mismatches, which are technically undefined behaviour. + Recent compilers are more picky in catching them as part of Control Flow + Integrity tests. + +2023-05-07 Werner Lemberg + + * src/type1/*: Clean up interface. + + Ensure that all driver functions use the signature of the service or driver. + This avoids pointer mismatches, which are technically undefined behaviour. + Recent compilers are more picky in catching them as part of Control Flow + Integrity tests. + +2023-05-07 Werner Lemberg + + * src/truetype/*: Clean up interface. + + Ensure that all driver functions use the signature of the service or driver. + This avoids pointer mismatches, which are technically undefined behaviour. + Recent compilers are more picky in catching them as part of Control Flow + Integrity tests. + +2023-05-07 Werner Lemberg + + * src/sfnt/sfdriver.c, src/sfnt/ttbdf.c: Clean up interface. + + Ensure that all driver functions use the signature of the service or driver. + This avoids pointer mismatches, which are technically undefined behaviour. + Recent compilers are more picky in catching them as part of Control Flow + Integrity tests. + + * src/sfnt/sfdriver.c (sfnt_load_table): New wrapper function. + (sfnt_service_sfnt_table): Use it. + +2023-05-07 Werner Lemberg + + * src/psnames/psmodule.c: Use `FT_CALLBACK_DEF`. + +2023-05-07 Werner Lemberg + + * src/pfr/pfrdrivr.c: face -> pfrface, pfrface -> face. + +2023-05-07 Werner Lemberg + + * src/pcf/pcfdrivr.c: Clean up interface. + + Ensure that all driver functions use the signature of the service or driver. + This avoids pointer mismatches, which are technically undefined behaviour. + Recent compilers are more picky in catching them as part of Control Flow + Integrity tests. + +2023-05-07 Werner Lemberg + + * src/cid/cidriver.c: Clean up interface. + + Ensure that all driver functions use the signature of the service or driver. + This avoids pointer mismatches, which are technically undefined behaviour. + Recent compilers are more picky in catching them as part of Control Flow + Integrity tests. + +2023-05-07 Werner Lemberg + + * src/bdf/bdfdrivr.c: Clean up interface. + + Ensure that all driver functions use the signature of the service or driver. + This avoids pointer mismatches, which are technically undefined behaviour. + Recent compilers are more picky in catching them as part of Control Flow + Integrity tests. + +2023-05-07 Werner Lemberg + + * src/cff/*: Clean up interface. + + Ensure that all driver functions use the signature of the service or driver. + This avoids pointer mismatches, which are technically undefined behaviour. + Recent compilers are more picky in catching them as part of Control Flow + Integrity tests. + +2023-05-06 Werner Lemberg + + [truetype] Fix style name handling for variation fonts. + + * include/freetype/internal/tttypes.h (TT_FaceRec): New field + `non_var_style_name`. + + * src/sfnt/sfobjs.c (sfnt_load_face): Initialize `non_var_style_name`. + (sfnt_done_face): Free `non_var_style_name`. + + * src/truetype/ttgxvar.c (TT_Set_Named_Instance): Restore non-VF style name + if switching back to non-VF mode. + +2023-05-06 Werner Lemberg + + [truetype] Fix PostScript name handling for variation fonts. + + A variation font's PostScript name of a named instance is usually different + from the PostScript name of an unnamed instance. However, if a change + between a named instance and an unnamed instance with exactly the same + design axis values happened, it was possible that the PostScript name wasn't + correctly updated. + + This commit reorganizes the code to handle this issue within the top-level + API functions, using a new service to trigger recomputation of the + PostScript name. + + * include/freetype/internal/services/svmm.h (FT_Construct_PS_Name_Func): New + typedef. + (FT_Service_MultiMasters): New field `construct_ps_name`. + (FT_DEFINE_SERVICE_MULTIMASTERSREC): Updated. + + * src/base/ftmm.c (FT_Set_Var_Design_Coordinates, + FT_Set_MM_Blend_Coordinates, FT_Set_Var_Blend_Coordinates): Call + `mm->construct_ps_name` to handle `postscript_name`. + (FT_Set_Named_Instance): Call `mm->construct_ps_name` to handle + `postscript_name`. + Use shortcut. + * src/cff/cffdrivr.c (cff_construct_ps_name): New function. + (cff_service_multi_masters): Updated. + + * src/truetype/ttgxvar.c (tt_set_mm_blend): Don't handle `postscript_name`. + (TT_Set_MM_Blend): Simplify. + (TT_Set_Named_Instance): Return -1 if axis values haven't changed. + Don't set `face_index`. + (tt_construct_ps_name): New function. + + * src/truetype/ttgxvar.h: Updated. + + * src/truetype/ttdriver.c (tt_service_gx_multi_masters): Updated. + + * src/type1/t1driver.c (t1_service_multi_masters): Updated. + + * src/type1/t1load.c (T1_Set_MM_Blend): Simplify. + +2023-05-06 Werner Lemberg + + * include/freetype/internal/services/svmm.h: Minor changes. + +2023-05-06 Werner Lemberg + + [truetype] Fix deactivation of variation font handling. + + According to the documentation, the functions `FT_Set_Named_Instance`, + `FT_Set_MM_Design_Coordinates`, `FT_Set_Var_Design_Coordinates`, and + `FT_Set_Var_Blend_Coordinates` can unset the `FT_FACE_FLAG_VARIATION` flag. + (The same is true for `FT_Set_MM_WeightVector` but this information was + accidentally omitted from the documentation.) + + However, if a call of these functions didn't change the axis values this + could fail because internal shortcuts exited too early. + + This commit reorganizes the code to handle `FT_FACE_FLAG_VARIATION` in the + top-level API functions, also taking care of the issue at hand. + + * src/base/ftmm.c (FT_Set_MM_Design_Coordinates, FT_Set_MM_WeightVector, + FT_Set_Var_Design_Coordinates, FT_Set_MM_Blend_Coordinates, + FT_Set_Var_Blend_Coordinates): Handle `FT_FACE_FLAG_VARIATION`. + + * src/truetype/ttgxvar.c (TT_Set_MM_Blend, TT_Set_Var_Design, + TT_Set_Named_Instance) Don't handle `FT_FACE_FLAG_VARIATION`. + + * src/type1/t1load.c (T1_Set_MM_Blend, T1_Set_MM_WeightVector, + T1_Set_MM_Design): Ditto. + + * src/cff/cffobjs.c (cff_face_init): Use `FT_Set_Named_Instance` instead of + low-level functions. + + * src/truetype/ttobjs.c (tt_face_init): Ditto. + +2023-05-06 Werner Lemberg + + s/set_instance/set_named_instance/ + + * include/freetype/internal/services/svmm.h (FT_Set_Instance_Func): Renamed + to... + (FT_Set_Named_Instance_Func): ...this. + (FT_Service_MultiMasters): Rename `set_instance` to `set_named_instance`. + (FT_DEFINE_SERVICE_MULTIMASTERSREC): Updated. + + * src/base/ftmm.c (FT_Set_Named_Instance): Updated. + + * src/cff/cffdrivr.c (cff_set_instance): Renamed to... + (cff_set_named_instance): ...this. + (cff_service_multi_masters): Updated. + * src/cff/cffobjs.c (cff_face_init): Updated. + + * src/truetype/ttdriver.c (tt_service_gx_multi_masters): Updated. + + * src/type1/t1driver.c (t1_service_multi_masters): Updated. + +2023-05-06 Werner Lemberg + + New Variation Font function `FT_Get_Default_Named_Instance`. + + * include/freetype/ftmm.h, src/base/ftmm.c (FT_Get_Default_Named_Instance): + New function. + + * include/freetype/internal/services/svmm.h + (FT_Get_Default_Named_Instance_Func): New typedef. + (FT_Service_MultiMasters): New field `get_default_named_instance`. + (FT_DEFINE_SERVICE_MULTIMASTERSREC): Updated. + + * include/freetype/internal/tttypes.h (TT_Face): New field + `var_default_named_instance`. + + * src/sfnt/sfobjc.s (sfnt_init_face): Initialize + `var_default_named_instance`. + + * src/cff/cffdrivr.c (cff_get_default_named_instance): New function. + (cff_service_multi_masters): Updated. + + * src/truetype/ttgxvar.c (TT_Get_MM_Var): Initialize + `var_default_named_instance`. + (TT_Get_Default_Named_Instance): New function. + * src/truetype/ttgxvar.h: Updated. + * src/truetype/ttdriver.c (tt_service_gx_multi_masters): Updated. + + * src/type1/t1driver.c (t1_service_multi_masters): Updated. + + * docs/CHANGES: Updated. + +2023-05-06 Werner Lemberg + + [cid] Improve tracing messages; formatting. + +2023-05-04 Alexei Podtelezhnikov + + * src/cache/ftccache.c (ftc_node_hash_unlink): Minor. + +2023-05-04 Alexei Podtelezhnikov + + * src/cache/ftcmru.c (FTC_MruList_RemoveSelection): Purge backwards. + +2023-05-04 Alexei Podtelezhnikov + + [cache] Revise list cleansing. + + * src/cache/ftcmru.c (FTC_MruList_RemoveSelection): Use one loop to + do it. + * src/cache/ftcmanag.c (FTC_Manager_Compress, FTC_Manager_FlushN): + Streamline loops. + +2023-05-03 suzuki toshiya + + [t1cid] Improve cid_get_cid_from_glyph_index(). + + Update cid_get_cid_from_glyph_index() to + return an error and CID=0 in the case that + the specified glyph index points to an invalid + entry. + + cidgload.h (cid_compute_fd_and_offsets): + Declare new helper function to set the + fd_select and 2 offsets to access the glyph + description data. + + cidgload.c (cid_compute_fd_and_offsets): + Move the part loading fd_select and 2 offsets + from cid_load_glyph() to here. If the loaded + parameters are broken, return the Invalid_Offset + error. This function does not load the glyph + data, only fills these parameters. + + (cid_load_glyph): Use new helper function in above. + + cidriver.c (cid_get_cid_from_glyph_index): + Check whether the requested glyph index points + to a valid entry, by calling cid_compute_fd_and_offsets(). + If it is valid, fill the cid by the glyph + index (=CID). If it is invalid, return an + error and fill the cid by 0. + +2023-04-30 Werner Lemberg + + API documentation: Re-organize chapters and sections + + * Split the very long 'Base Interface' section into smaller sections. + * Split the 'Core API' chapter into two chapters. + * Remove single enumeration values from `@order` fields since they have no + effect. + +2023-04-29 Alexei Podtelezhnikov + + * src/sfnt/pngshim.c (Load_SBit_Png): Remove FALL_THROUGH warning. + +2023-04-28 Werner Lemberg + + * src/sfnt/ttload.c (tt_face_load_font_dir): Add another guard. + + Reject 'OTTO' fonts with no valid tables. + +2023-04-28 Werner Lemberg + + * src/cff/cffdrivr/c (cff_get_ps_name): Avoid unnecessary crash. + + The situation can happen if `FT_New_Face` (or one of its siblings) is called + with a negative index to get the number of contained faces, followed + immediately by a call to `FT_Get_Postscript_Name`. While this is not a valid + use of the FreeType library there is no need for a crash. + + Fixes #1219. + +2023-04-28 Werner Lemberg + + * src/cff/cffdrivr.c (cff_ps_get_font_info): Reject 'CFF2' format. + +2023-04-28 Werner Lemberg + + * src/cid/cidgload.c (cid_load_glyph): Fix compiler warnings. + +2023-04-28 Werner Lemberg + + Minor documentation updates. + +2023-04-27 Werner Lemberg + + * src/ttgxvar.c: Minor changes. + + (TT_Get_MM_Var): Improve tracing messages. + (tt_set_mm_blend): Minor speed-up. + +2023-04-27 Werner Lemberg + + s/this is,/that is,/ + +2023-04-27 Alexei Podtelezhnikov + + [bdf] Clean up the atom property parsing. + + * src/bdflib.c (bdf_is_atom_): Refactor code with fewer checks. + (bdf_list_join_): Return NULL. + (bdf_add_comment_): Use const argument. + (bdf_get_property): Ditto, ditto, make the function static. + * src/bdf.h (bdf_get_property): Remove prototype. + +2023-04-25 Werner Lemberg + + Improve/add source comments and documentation. + +2023-04-25 Werner Lemberg + + [sfnt] Fix handling of PS names for Variation Fonts. + + * src/sfnt/sfdriver.c (get_win_string, get_apple_string): Continue + construction of string if an invalid character is encountered. + + Fixes #1218. + +2023-04-24 suzuki toshiya + + [t1cid] Change the trace messages of the charstrings retrieval errors. + + The t1cid driver catches 3 types of errors in + the charstrings retrieval; + A) The invalid FD number, there are 2 subtypes; + A-1) FD number is the maximum number fitting to FDBytes. + A-2) FD number is greater than num_dicts. + B) Declared length is overrunning. + C) Declared length is invalid (its end is before its head). + + Considering that some widely distributed fonts + (e.g., "CJKV" book by O'Reilly) have A-1 errors + in the unimplemented glyphs, the trace level for + A-1 is calmed to level 1. + + The errors A-2, B, and C would be irregular; + their trace levels are kept at level 0, but + the updated trace messages include the CID number. + +2023-04-24 suzuki toshiya + + [truetype] Fix `make multi'. + + * src/truetype/ttgxvar.c: Include freetype/internal/services/svmetric.h + for the FT_Service_MetricsVariations type definition. + +2023-04-19 Ben Wagner + + [services] FT_Size_Reset_Func to return FT_Error + + The `MetricsVariations` `FT_Size_Reset_Func` is currently defined to + return `void`, but the implementations return `FT_Error`. Even though + the pointers passed will be the same at runtime, calling a function + through a pointer of a different type from the original function pointer + type is undefined behavior. This may be caught at runtime by Control + Flow Integrity with something like clang's `cfi-icall`. + + Issue: https://crbug.com/1433651 + + * include/freetype/internal/services/svmetric.h (FT_Size_Reset_Func): + return `FT_Error` instead of `void`. + +2023-04-17 Ben Wagner + + [truetype] tt_size_reset_height to take FT_Size + + The `MetricsVariations` `FT_Size_Reset_Func` is defined to take an + `FT_Size`. Because `tt_size_reset_height` is to be used as such a + function, it must also take an `FT_Size` instead of a `TT_Size`. Even + though the pointers passed will be the same at runtime, calling a + function through a pointer of a different type from the original + function pointer type is undefined behavior. This may be caught at + runtime by Control Flow Integrity with something like clang's + `cfi-icall`. + + Issue: https://crbug.com/1433651 + + * src/truetype/ttobjs.h (tt_size_reset_height): take `FT_Size` + + * src/truetype/ttobjs.c (tt_size_reset_height): take `FT_Size` and + update documentation + +2023-04-13 Werner Lemberg + + * src/truetype/ttinterp.c: Remove outdated comments. + +2023-04-11 Ben Wagner + + [sfnt, truetype] Add `size_reset` to `MetricsVariations`. + + This is a generalization of commit + + ``` + commit e6699596af5c5d6f0ae0ea06e19df87dce088df8 + Author: Werner Lemberg + Date: Thu Feb 2 11:38:04 2017 +0100 + + [truetype] Fix MVAR post-action handling. + ``` + + It is also possible for plain `CFF ` style fonts to contain an `fvar` and + `MVAR` table and use `cff_metrics_adjust`. `tt_size_reset` should only be + called with `TT_Size` and never with `CFF_Size`. + + Allow the "metrics-variations" service to specify the correct function (if + any) to reset `FT_Size`s after adjusting metrics. + + * src/truetype/ttobjs.c (tt_size_reset): Split off some functionality + into... + (tt_size_reset_height): ... this new function. + + * src/truetype/ttdriver.c (tt_service_metrics_variations): Add + `size_reset`. + (tt_size_select, tt_size_request): Updated. + + * src/truetype/ttobjs.h: Updated. + + * include/freetype/internal/services/svmetric.h (MetricsVariations): Add + `size_reset`. + (FT_DEFINE_SERVICE_METRICSVARIATIONSREC): Updated. + + * include/freetype/internal/tttypes.h (TT_FaceRec_): Rename `var` to + `tt_var` and add `face_var`. + + * src/cff/cffdrivr.c (cff_service_metrics_variations): Add `size_reset`. + (cff_hadvance_adjust, cff_metrics_adjust): Updated. + + * src/cff/cffobjs.c (cff_face_init): Use `face_var`. + + * src/sfnt/sfobjs.c (sfnt_init_face): Initialize `face_var`. + + * src/sfnt/ttmtx.c (tt_face_get_metrics): Use `tt_var`. + + * src/truetype/ttgxvar.c (tt_size_reset_iterator): Renamed to... + (ft_size_reset_iterator): ... this new function. + Call `size_reset`. + (tt_apply_mvar): Pass `size_reset` to `ft_size_reset_iterator`. + + Fixes #1211 + +2023-04-10 Alexei Podtelezhnikov + + * src/cff/cffcmap.c (cff_cmap_encoding_char_next): Abbreviate. + +2023-04-10 Alexei Podtelezhnikov + + Align `char_next` return types. + + This is mostly cosmetic because FT_UInt and FT_UInt32 are likely identical. + + * src/sfnt/ttcmap.c, src/cff/cffcmap.c, src/psaux/t1cmap.c, + src/psnames/psmodule.c, include/freetype/internal/service/svpcsmap.h, + src/pfr/pfrcmap.c, src/winfonts/winfnt.c (*_char_next): return FT_UInt. + +2023-04-09 Alexei Podtelezhnikov + + [sfnt] Clean up CMAP{4,12,13} handling. + + This moves the charcode overflow checks upstream and turns some + while-loops into the do-while ones to avoid the uninitialized warnings. + This should slightly reduce the number of checks and jumps. + + * src/sfnt/ttcmap.c (tt_cmap{4,12,13}_next, + tt_cmap{4.12.13}_char_map_linear): Remove the charcode overflow check. + (tt_cmap{4,12,13}_char_map_binary): Ditto and use do-while. + (tt_cmap{12,13}_char_next): Add the overflow check. + +2023-04-03 Alexei Podtelezhnikov + + * src/sfnt/ttpost.c (load_format_25): Do not abort frame reading. + +2023-04-03 Alexei Podtelezhnikov + + * src/sfnt/ttpost.c (load_format_*): Streamline frame reading. + +2023-04-02 Alexei Podtelezhnikov + + * src/sfnt/ttpost.c: Formatting and comments. + +2023-04-02 Alexei Podtelezhnikov + + [sfnt] Consolidate POST version 2.0 and 2.5 (pt 2). + + * src/sfnt/ttpost.c (load_format_20, load_format_25): Update arguments + and move shared calls and checks upstream to... + (load_post_names): ... this function. + (tt_face_free_ps_names, tt_face_get_ps_name): Updated. + +2023-04-02 Alexei Podtelezhnikov + + [sfnt] Consolidate POST version 2.0 and 2.5 (pt 1). + + The deprecated POST version 2.5 can be handled using the data + structures of version 2.0. The goal is to reduce the footprint. + + * include/freetype/internal/tttypes.h (TT_Post_Names): Absorb and... + (TT_Post_20, TT_Post_25): ... remove these structures. + src/sfnt/ttpost.c (load_post_names, tt_face_get_ps_name, + tt_face_free_ps_names, load_format_20): Updated accordingly. + (load_format_25): ditto and convert offsets to glyph indices. + +2023-04-01 Alexei Podtelezhnikov + + [sfnt] Miscellaneous POST clean-ups. + + * src/sfnt/ttpost.c (load_format_20): Decrease casts. + (load_format_25): Check the table length and impose a theoretical + glyph number limit usable with 8-bit offset. Decrease casts. + (load_post_names): Pass the mapping data length without 2 bytes. + +2023-03-30 Alexei Podtelezhnikov + + * src/sfnt/ttpost.c (load_format_20): Simplify comutations. + +2023-03-29 Alexei Podtelezhnikov + + [sfnt] Streamline POST format 2.0 handing (cont'd). + + * src/sfnt/ttpost.c (load_format_20): Co-allocate the string data and + their pointers, which makes it easier to handle and free them. + (tt_face_free_ps_names): Updated. + * include/freetype/internal/tttypes.h (TT_Post_20): Update type. + +2023-03-20 Alexei Podtelezhnikov + + [cff] Simplify `t2_strings` management in the old engine. + + * src/cff/cffparse.c (cff_parser_run): Allocate the charstring buffers + and the list nodes together so that they can be freed at once. + (finalize_t2_strings): Removed as no longer needed. + (cff_parser_done): Updated. + +2023-03-19 Alexei Podtelezhnikov + + [cff] Rework the stream limit checks. + + The old stream limit checks, before 6986ddac1ece, were good but + pointless for the crafted t2_strings. Checking limits there is + not necessary as they are created to hold all data. By using two + conditions, we can detect the actual crossing of the stream boundary + as appropriate for the stream pointer only. The t2_strings parsing + will not be triggering these checks. + + * src/cff/cffparse.c (cff_parser_within_limits): Removed. + (cff_parse_real, cff_parse_integer): Redesign the stream limit check. + (cff_parse_num, do fixed, cff_parse_fixed_dynamic): Update callers. + +2023-03-18 Alexei Podtelezhnikov + + * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Use for-loop. + + Even though we never call `TT_Load_Simple_Glyph` with zero contours, + out of abundance of precaution, let's handle this case properly. + +2023-03-18 Alexei Podtelezhnikov + + [truetype] Clean up zeroing and local variables. + + * src/truetype/ttgload.c (TT_Process_Simple_Glyph): Avoid zeroing. + (load_truetype_glyph): Avoid zeroing and clean local variables. + +2023-03-16 Werner Lemberg + + * include/freetype/ftsystem.h (FT_Stream_IoFunc): Improve documentation. + + Fixes #1208. + +2023-03-16 Alexei Podtelezhnikov + + * src/base/ftsynth.c (FT_GlyphSlot_AdjustWeight): New API. + +2023-03-16 Alexei Podtelezhnikov + + [truetype] Clean up glyph loading. + + * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Clean space checking. + (TT_Hint_Glyph): Don't copy the outline structure. + (TT_Process_Simple_Glyph): Cosmetic update. + +2023-03-15 Alexei Podtelezhnikov + + * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Clean up. + +2023-03-13 Werner Lemberg + + builds/vms/apinames_vms.bash: Fix `unzip` artifact + + The problem occured when unpacking a zip file created on OpenVMS on Linux. + While OpenVMS knows many different file formats, Unix only knows stream-LF + and binary. In principle `zip` on Linux should have translated the file to + stream-LF but failed to do so. That caused the file to incorrectly contain + only one line with control-characters. + +2023-03-11 Alexei Podtelezhnikov + + [truetype] Fix recent fallout in memory management. + + * src/truetype/ttgload.c (TT_Process_Composite_Glyph, + TT_Load_Simple_Glyph): Clean up old instructions regardless of + new ones, postpone setting `control_len` and `control_data` until... + (TT_Load_Glyph): ... the exit from this function. + +2023-03-10 Jouk Jansen + + Update VMS installation support. + +2023-03-10 Alexei Podtelezhnikov + + * src/truetype/ttgload.c (TT_Hint_Glyph): Mostly cosmetic update. + + The number of instructions is now taken from the executed context. + Technically, this means that `control_len` and `control_data` + values are no longer _used_ internally but only expose them. + +2023-03-08 Werner Lemberg + + apinames.c: Add comment. + +2023-03-07 Werner Lemberg + + [gzip] File `infback.c` is not needed. + + * src/gzip/infback.c: Remove. + * src/gzip/rules.mk (GZIP_DRV_SRCS): Updated. + +2023-03-07 Werner Lemberg + + [apinames] Fix VMS handling of overly long function names. + + Based on ideas from Jouk Jansen . + + * src/tools/vms_shorten_symbol.c: New file, taken from + + https://sourceforge.net/p/vms-ports/vmsshortsym/ci/default/tree/vms_shorten_symbol.c + + with some minor edits to allow compilation with C++ and being included in + another source code file. + + * src/tools/apinames.c: Include `vms_shorten_symbol.c`. + (PROGRAM_VERSION): Set to '0.5'. + (names_dump) [OUTPUT_VMS_OPT]: Call `vms_shorten_symbol` to get unique function + identifiers not longer than 31 characters. + +2023-03-07 Werner Lemberg + + * src/tools/apinames.c (panic): Accept variable number of arguments. + +2023-03-07 Alexei Podtelezhnikov + + * src/truetype/ttgload.c (TT_Process_Composite_Glyph): Fix leak too. + +2023-03-07 Alexei Podtelezhnikov + + * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Triage memory leak. + + This leak has been introduced in the previous commit and immediately + detected: + https://chromium-review.googlesource.com/c/chromium/src/+/4313202 + +2023-03-06 Alexei Podtelezhnikov + + [truetype] Simplify memory management. + + Instead of using `Update_Max`, switch to regular FreeType memory + allocation macros, stop pre-allocating the glyph instruction arrays. + + * src/truetype/ttgload.c (TT_Load_Simple_Glyph, + TT_Process_Composite_Glyph): Switch to regular memory allocation. + * src/truetype/ttinterp.c (Update_Max): Removed. + (TT_Load_Context): Reallocate stack and free old instructions. + (Modify_CVT_Check, Ins_WS): Switch to regular memory allocation. + * src/truetype/ttinterp.h (Update_Max): Removed. + +2023-03-06 David PROVENT + + Added information about the zlib version update in the changelog + +2023-03-06 Alexei Podtelezhnikov + + Fix a couple of MSVC warnings. + + * src/base/ftcalc.c (FT_MulAddFix): Add cast. + * src/sfnt/ttcolr.c (tt_face_get_colorline_stops, read_paint): Ditto. + +2023-03-05 Alexei Podtelezhnikov + + * builds/windows/vc2010/freetype.vcxproj: Suppress C4267 on _WIN64. + + This usually comes from `strlen` returning 64-bit `size_t`, which + we often assign to 32-bit `FT_ULong` on Windows-64 (LLP64). + +2023-03-05 Alexei Podtelezhnikov + + * src/cff/cffparse.c (cff_parser_run): Thinko. + +2023-03-05 Alexei Podtelezhnikov + + [cff] Clean up CharString number encoding. + + * src/cff/cffparser.c (cff_parser_run): Work with signed numbers. + +2023-03-05 Alexei Podtelezhnikov + + * src/cff/cffparse.c (cff_parser_run): Fix variable type. + +2023-03-04 Alexei Podtelezhnikov + + [cff] Clean up memory management in the old engine. + + * src/cff/cffparse.c (finalize_t2_strings): Fix NULL-dereferencing + in the out-of-memory situation, use `FT_FREE`. + (cff_parser_run): Use FreeType memory allocation macros and avoid + uninitialized pointers. + +2023-03-04 Alexei Podtelezhnikov + + * src/cff/cffobjs.c (cff_size_init): Synonymous change. + +2023-03-04 Alexei Podtelezhnikov + + * src/sfnt/sfobjs.c (sfnt_load_face): Shorten de-referencing. + +2023-03-04 Alexei Podtelezhnikov + + [pfr] Shorten de-referencing. + + * src/pfr/pfrobjs.c (pfr_face_done, pfr_face_init): Use closer `memory`. + * src/pfr/pfrgload.c (pfr_glyph_load_compound): Remove `loader`. + +2023-03-03 Alexei Podtelezhnikov + + * src/cff/cffobjs.c (cff_size_get_globals_funcs): Shorten de-referencing. + +2023-03-03 Alexei Podtelezhnikov + + [cff,cid,type1] Shorten de-referencing. + + * src/cff/cffobjs.c (cff_clot_init): Use immediate library reference. + * src/cid/cidobjs.c (cid_slot_init): Ditto. + * src/type1/t1objs.c (T1_GlyphSlot_Init): Ditto. + +2023-03-02 Alexei Podtelezhnikov + + * configure: Use `sed` instead of `grep`. + + This is more portable and consistent with `autogen.sh`. + +2023-03-02 Ben Wagner + + Avoid strtol on non-null-terminated data. + + Technically, `strtol` can only be used with C strings terminated with + `\0`. CID data is not generally null-terminated and often does not + contain a `\0` if it is hex-encoded. AddressSanitizer with `ASAN_OPTIONS` + containing `strict_string_checks=1` verifies this by using an adversarial + `strtol` that always reads to the terminating `\0`. + + To avoid undefined behavior from `strtol` in `cid_parser_new`, use the + parser to parse the tokens instead of attempting to parse them ad-hoc. + This will internally use `PS_Conv_Strtol` to parse the integer, which + respects the parser's limits and directly implements the PostScript + parsing rules for integers. + + * src/cid/cidparse.c (cid_parser_new): Use the parser to parse the + tokens. + + Fixes: https://bugs.chromium.org/p/chromium/issues/detail?id=1420329 + +2023-03-02 Alexei Podtelezhnikov + + * src/cff/cffload.c (cff_subfont_load): Synonymous update. + +2023-03-01 ubawurinna + + * src/gzip/README.freetype: Update version. + +2023-03-01 ubawurinna + + [gzip] Fix static linking. + + Without this patch, static linking with MS Visual Studio causes linking + errors. + + * src/gzip/ftgzip.c: Set `ZEXPORT` to nothing and `ZEXTERN` to static for + all compilers. + +2023-03-01 Werner Lemberg + + * include/freetype/internal/compiler-macros.h (FALL_THROUGH): Update. + + This follows + + https://lists.gnu.org/archive/html/bug-gnulib/2023-02/msg00200.html + +2023-02-28 Alexei Podtelezhnikov + + [truetype] Treat 38 as 40 without Infinality. + + * include/freetype/ftdriver.h (TT_INTERPRETER_VERSION_38): Reinstate. + * src/truetype/ttdriver.c (tt_property_set): Fallback from 38 to 40. + +2023-02-26 Werner Lemberg + + * include/freetype/internal/compiler-macros.h (FALL_THROUGH): Update. + + This follows + + https://lists.gnu.org/archive/html/bug-gnulib/2023-02/msg00159.html + +2023-02-26 Werner Lemberg + + * src/*: Replace leading underscores with trailing ones in dummy variables. + + This is to avoid clang warnings. + +2023-02-26 Karl Berry + + * configure: Don't hardcode `grep -E`. + + TeXLive still supports Solaris 5.10, where the system's `grep` doesn't + accept the `-E` option. We thus introduce an `EGREP` variable that is set + to either `grep -E` or `-egrep`. + +2023-02-26 Alexei Podtelezhnikov + + * src/cff/cffload.c (cff_encoding_load): Optimize array zeroing. + + This is unnecessary for predefined standard and expert encodings. + Even for custom encodings the arrays might be already zeroed when + CFF_FontRec is created but we keep it just in case. + +2023-02-25 Alexei Podtelezhnikov + + * src/type1/t1load.c (T1_Get_MM_Var): Optimize array zeroing. + +2023-02-25 Tamir Duberstein + + * src/base/ftsystem.c (ft_ansi_stream_io): Avoid undefined behaviour. + Also short-circuit on `offset` to avoid checking `count` a second time when + `ft_ansi_stream_io` is used for reading. + + Per ISO/IEC 9899: + + If an argument to a function has an invalid value (such as a value outside + the domain of the function, or a pointer outside the address space of the + program, or a null pointer, or apointer to non-modifiable storage when the + corresponding parameter is not const-qualified) or a type (after + promotion) not expected by a function with variable number of arguments, + the behavior is undefined. If a function argument is described as being + an array, the pointer actually passed to the function shall have a value + such that all address computations and accesses to objects (that would be + valid if the pointer did point to the first element of such an array) are + in fact valid. + + Per IEEE Std 1003.1: + + size_t fread(void *restrict ptr, size_t size, size_t nitems, + FILE *restrict stream); + + The `fread` function shall read into the array pointed to by `ptr` up to + `nitems` elements whose size is specified by `size` in bytes, from the + stream pointed to by `stream`. + + Since the first argument to `fread` is described as being an array, its + behavior is undefined when that argument is a null pointer. + + Per the documentation on `ft_ansi_stream_io`: + + If `count' is zero (this is, the function is used for seeking), a non-zero + return value indicates an error. + + Thus the intent is clear, and the call to `fread` can be skipped, avoiding + undefined behaviour. + +2023-02-21 Alexei Podtelezhnikov + + [raster] Clean up contour indexing. + + * src/raster/ftraster.c (Decompose_Curve, Convert_Glyph): Use consistent + index types (Int) and compact iterations. + +2023-02-21 Alexei Podtelezhnikov + + [autofit] Clean up contour indexing. + + * src/autofit/aflatin.c (af_latin_metrics_init_blues): Refactor. + * src/autofit/afcjk.c (af_cjk_metrics_init_blues): Ditto. + +2023-02-21 Alexei Podtelezhnikov + + * src/base/ftoutln.c (FT_Outline_Check): Fix C4701 warning. + +2023-02-21 Alexei Podtelezhnikov + + * src/sdf/ftsdf.c (get_min_distance_cubic): Fix C4701, typos. + +2023-02-20 Alexei Podtelezhnikov + + * src/base/ftstroke.c (FT_Stroker_ParseOutline): Clean up contour indexing. + +2023-02-20 Alexei Podtelezhnikov + + [base] Clean up contour indexing. + + * src/base/ftoutln.c (FT_Outline_Reverse, FT_Outline_EmboldenXY, + FT_Outline_Get_Orientation): Set the first and last indexes together. + (FT_Outline_Decompose): Ditto and check them more stringently. + * src/smooth/ftgrays.c (FT_Outline_Decompose)[STANDALONE_]: Ditto. + +2023-02-20 Alexei Podtelezhnikov + + * src/base/ftoutln.c (FT_Outline_Check): Update error code, clean up. + +2023-02-17 Alexei Podtelezhnikov + + [truetype] Hide Infinality. + + Remove Infinality as an option before its complete extraction. + + * include/freetype/ftoption.h: Remove the Infinality option. + * devel/ftoption.h: Ditto. + * include/freetype/ftdriver.h (TT_INTERPRETER_VERSION_38): Is 40 now. + +2023-02-17 Alex Ringlein + + * src/base/ftoutln.c (FT_Outline_Reverse): Anchor first contour points. + + A cubic contour has to always start from an on-point. Therefore, we + should not swap the first with the last point, which might be off, and + obtain an invalid contour. This does not matter for conic contours. + If anything, it also saves one swap there. Fixes #1207. + +2023-02-16 Werner Lemberg + + Documentation improvement for `FT_Bitmap`. + + Fixes #1205. + +2023-02-10 Alexei Podtelezhnikov + + [type1/MM] Round design coordinates. + + The design coordinates for MM fonts were not rounded. For example, + `FT_Get_Var_Design_Coordinates` returned values with fractional part. + + * src/type1/t1load.c (mm_axis_unmap): Refactor with rounding. + + * include/freetype/ftmm.h (FT_Var_Axis, FT_Set_Var_Design_Coordinates, + FT_Get_Var_Design_Coordinates): Reword documentation. + +2023-02-09 Jan Alexander Steffens (heftig) + + * builds/meson/parse_modules_cfg.py: Handle `gxvalid` and `otvalid`. + + These need a name mapping similar to what was done for other modules, + or linking will fail. + +2023-02-09 Werner Lemberg + + * build/toplevel.mk (do_dist): Fix typo. + 2023-02-09 Werner Lemberg * Version 2.13 released. diff --git a/Build/source/libs/freetype2/freetype-src/README b/Build/source/libs/freetype2/freetype-src/README index 327b94d8e55..eb48e7e1848 100644 --- a/Build/source/libs/freetype2/freetype-src/README +++ b/Build/source/libs/freetype2/freetype-src/README @@ -1,4 +1,4 @@ -FreeType 2.13.0 +FreeType 2.13.1 =============== Homepage: https://www.freetype.org @@ -32,9 +32,9 @@ sites. Go to and download one of the following files. - freetype-doc-2.13.0.tar.xz - freetype-doc-2.13.0.tar.gz - ftdoc2130.zip + freetype-doc-2.13.1.tar.xz + freetype-doc-2.13.1.tar.gz + ftdoc2131.zip To view the documentation online, go to diff --git a/Build/source/libs/freetype2/freetype-src/builds/mac/README b/Build/source/libs/freetype2/freetype-src/builds/mac/README index 092487a8424..06e3d51da86 100644 --- a/Build/source/libs/freetype2/freetype-src/builds/mac/README +++ b/Build/source/libs/freetype2/freetype-src/builds/mac/README @@ -200,14 +200,6 @@ environment by Metrowerks. GCC for MPW and Symantec behaviours are not tested at all. Building ftdemos for classic MacOS and working test is required. - 4-3. Porting Jam onto MPW - ------------------------- - - FreeType uses Jam (and FT-Jam) for unified cross- - platform building tool. At present, Jam is not ported - to MPW. To update classic MacOS support easily, - building by Jam is expected on MPW. - APPENDIX I ---------- diff --git a/Build/source/libs/freetype2/freetype-src/builds/meson/parse_modules_cfg.py b/Build/source/libs/freetype2/freetype-src/builds/meson/parse_modules_cfg.py index 6030bb2098d..d48129fe72e 100644 --- a/Build/source/libs/freetype2/freetype-src/builds/meson/parse_modules_cfg.py +++ b/Build/source/libs/freetype2/freetype-src/builds/meson/parse_modules_cfg.py @@ -97,8 +97,12 @@ def generate_ftmodule(lists): for module in lists["AUX_MODULES"]: if module in ("psaux", "psnames", "otvalid", "gxvalid"): + name = { + "gxvalid": "gxv", + "otvalid": "otv", + }.get(module, module) result += ( - "FT_USE_MODULE( FT_Module_Class, %s_module_class )\n" % module + "FT_USE_MODULE( FT_Module_Class, %s_module_class )\n" % name ) result += "/* EOF */\n" diff --git a/Build/source/libs/freetype2/freetype-src/builds/unix/config.guess b/Build/source/libs/freetype2/freetype-src/builds/unix/config.guess index 980b0208381..69188da73d7 100755 --- a/Build/source/libs/freetype2/freetype-src/builds/unix/config.guess +++ b/Build/source/libs/freetype2/freetype-src/builds/unix/config.guess @@ -1,10 +1,10 @@ #! /bin/sh # Attempt to guess a canonical system name. -# Copyright 1992-2022 Free Software Foundation, Inc. +# Copyright 1992-2023 Free Software Foundation, Inc. # shellcheck disable=SC2006,SC2268 # see below for rationale -timestamp='2022-09-17' +timestamp='2023-01-01' # 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 @@ -60,7 +60,7 @@ version="\ GNU config.guess ($timestamp) Originally written by Per Bothner. -Copyright 1992-2022 Free Software Foundation, Inc. +Copyright 1992-2023 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." diff --git a/Build/source/libs/freetype2/freetype-src/builds/unix/config.sub b/Build/source/libs/freetype2/freetype-src/builds/unix/config.sub index baf1512b3c0..de4259e4047 100755 --- a/Build/source/libs/freetype2/freetype-src/builds/unix/config.sub +++ b/Build/source/libs/freetype2/freetype-src/builds/unix/config.sub @@ -1,10 +1,10 @@ #! /bin/sh # Configuration validation subroutine script. -# Copyright 1992-2022 Free Software Foundation, Inc. +# Copyright 1992-2023 Free Software Foundation, Inc. # shellcheck disable=SC2006,SC2268 # see below for rationale -timestamp='2022-09-17' +timestamp='2023-01-21' # 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 @@ -76,7 +76,7 @@ Report bugs and patches to ." version="\ GNU config.sub ($timestamp) -Copyright 1992-2022 Free Software Foundation, Inc. +Copyright 1992-2023 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." @@ -1075,7 +1075,7 @@ case $cpu-$vendor in pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) cpu=i586 ;; - pentiumpro-* | p6-* | 6x86-* | athlon-* | athalon_*-*) + pentiumpro-* | p6-* | 6x86-* | athlon-* | athlon_*-*) cpu=i686 ;; pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) diff --git a/Build/source/libs/freetype2/freetype-src/builds/unix/configure b/Build/source/libs/freetype2/freetype-src/builds/unix/configure index 99499ceebe1..ee82443f43e 100755 --- a/Build/source/libs/freetype2/freetype-src/builds/unix/configure +++ b/Build/source/libs/freetype2/freetype-src/builds/unix/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.71 for FreeType 2.13. +# Generated by GNU Autoconf 2.71 for FreeType 2.13.1. # # Report bugs to . # @@ -621,8 +621,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='FreeType' PACKAGE_TARNAME='freetype' -PACKAGE_VERSION='2.13' -PACKAGE_STRING='FreeType 2.13' +PACKAGE_VERSION='2.13.1' +PACKAGE_STRING='FreeType 2.13.1' PACKAGE_BUGREPORT='freetype@nongnu.org' PACKAGE_URL='' @@ -1395,7 +1395,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.13 to adapt to many kinds of systems. +\`configure' configures FreeType 2.13.1 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1462,7 +1462,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of FreeType 2.13:";; + short | recursive ) echo "Configuration of FreeType 2.13.1:";; esac cat <<\_ACEOF @@ -1623,7 +1623,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -FreeType configure 2.13 +FreeType configure 2.13.1 generated by GNU Autoconf 2.71 Copyright (C) 2021 Free Software Foundation, Inc. @@ -1974,7 +1974,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.13, which was +It was created by FreeType $as_me 2.13.1, which was generated by GNU Autoconf 2.71. Invocation command line was $ $0$ac_configure_args_raw @@ -2736,7 +2736,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu # Don't forget to update `docs/VERSIONS.TXT'! -version_info='25:0:19' +version_info='26:0:20' ft_version=`echo $version_info | tr : .` @@ -17036,7 +17036,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.13, which was +This file was extended by FreeType $as_me 2.13.1, which was generated by GNU Autoconf 2.71. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -17104,7 +17104,7 @@ ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config='$ac_cs_config_escaped' ac_cs_version="\\ -FreeType config.status 2.13 +FreeType config.status 2.13.1 configured by $0, generated by GNU Autoconf 2.71, with options \\"\$ac_cs_config\\" diff --git a/Build/source/libs/freetype2/freetype-src/builds/unix/configure.ac b/Build/source/libs/freetype2/freetype-src/builds/unix/configure.ac index a98865a432d..9709b6a49a2 100644 --- a/Build/source/libs/freetype2/freetype-src/builds/unix/configure.ac +++ b/Build/source/libs/freetype2/freetype-src/builds/unix/configure.ac @@ -11,13 +11,13 @@ # indicate that you have read the license and understand and accept it # fully. -AC_INIT([FreeType], [2.13], [freetype@nongnu.org], [freetype]) +AC_INIT([FreeType], [2.13.1], [freetype@nongnu.org], [freetype]) AC_CONFIG_SRCDIR([ftconfig.h.in]) # Don't forget to update `docs/VERSIONS.TXT'! -version_info='25:0:19' +version_info='26:0:20' AC_SUBST([version_info]) ft_version=`echo $version_info | tr : .` AC_SUBST([ft_version]) diff --git a/Build/source/libs/freetype2/freetype-src/builds/unix/configure.raw b/Build/source/libs/freetype2/freetype-src/builds/unix/configure.raw index 8e982835e9f..2c152022f02 100644 --- a/Build/source/libs/freetype2/freetype-src/builds/unix/configure.raw +++ b/Build/source/libs/freetype2/freetype-src/builds/unix/configure.raw @@ -17,7 +17,7 @@ AC_CONFIG_SRCDIR([ftconfig.h.in]) # Don't forget to update `docs/VERSIONS.TXT'! -version_info='25:0:19' +version_info='26:0:20' AC_SUBST([version_info]) ft_version=`echo $version_info | tr : .` AC_SUBST([ft_version]) diff --git a/Build/source/libs/freetype2/freetype-src/builds/vms/LIBS.OPT_IA64 b/Build/source/libs/freetype2/freetype-src/builds/vms/LIBS.OPT_IA64 deleted file mode 100644 index 6768c7662d4..00000000000 Binary files a/Build/source/libs/freetype2/freetype-src/builds/vms/LIBS.OPT_IA64 and /dev/null differ diff --git a/Build/source/libs/freetype2/freetype-src/builds/vms/_LINK.OPT_IA64 b/Build/source/libs/freetype2/freetype-src/builds/vms/_LINK.OPT_IA64 deleted file mode 100644 index b8cbd1bc781..00000000000 Binary files a/Build/source/libs/freetype2/freetype-src/builds/vms/_LINK.OPT_IA64 and /dev/null differ diff --git a/Build/source/libs/freetype2/freetype-src/builds/vms/apinames_vms.bash b/Build/source/libs/freetype2/freetype-src/builds/vms/apinames_vms.bash new file mode 100644 index 00000000000..e9b1b727b41 --- /dev/null +++ b/Build/source/libs/freetype2/freetype-src/builds/vms/apinames_vms.bash @@ -0,0 +1,2 @@ +src/tools/apinames -wV include/freetype/*.h > freetype_vms0.opt +mv freetype_vms0.opt freetype_vms.opt diff --git a/Build/source/libs/freetype2/freetype-src/builds/vms/vmslib.dat b/Build/source/libs/freetype2/freetype-src/builds/vms/vmslib.dat deleted file mode 100644 index 4c817da441d..00000000000 --- a/Build/source/libs/freetype2/freetype-src/builds/vms/vmslib.dat +++ /dev/null @@ -1,28 +0,0 @@ -! -! This is a simple driver file with information used by make.com to -! check if external libraries (like t1lib and freetype) are available on -! the system. -! -! Layout of the file: -! -! - Lines starting with ! are treated as comments -! - Elements in a data line are separated by # signs -! - The elements need to be listed in the following order -! 1.) Name of the Library -! 2.) Location where the object library can be found -! 3.) Location where the include files for the library can be found -! 4.) Include file used to verify library location -! 5.) CPP define to pass to the build to indicate availability of -! the library -! -! Example: The following lines show how definitions -! might look like. They are site specific and the locations of the -! library and include files need almost certainly to be changed. -! -! Location: All of the libaries can be found at the following addresses -! -! ZLIB: http://www.decus.de:8080/www/vms/sw/zlib.htmlx -! -BZ2LIB # sys$library:libbz2.olb # decc$user_include: # bzlib.h # FT_CONFIG_OPTION_SYSTEM_ZLIB -PNGLIB # sys$library:libpng.olb # sys$library: # png.h # FT_CONFIG_OPTION_SYSTEM_ZLIB -ZLIB # sys$library:libz.olb # sys$library: # zlib.h # FT_CONFIG_OPTION_SYSTEM_ZLIB diff --git a/Build/source/libs/freetype2/freetype-src/builds/wince/vc2005-ce/index.html b/Build/source/libs/freetype2/freetype-src/builds/wince/vc2005-ce/index.html index 0a8b3c660f2..cef32c12e0a 100644 --- a/Build/source/libs/freetype2/freetype-src/builds/wince/vc2005-ce/index.html +++ b/Build/source/libs/freetype2/freetype-src/builds/wince/vc2005-ce/index.html @@ -21,7 +21,7 @@ the following targets:
  • PPC/SP WM6 (Windows Mobile 6)
  • -It compiles the following libraries from the FreeType 2.13.0 sources:

    +It compiles the following libraries from the FreeType 2.13.1 sources:

      diff --git a/Build/source/libs/freetype2/freetype-src/builds/wince/vc2008-ce/index.html b/Build/source/libs/freetype2/freetype-src/builds/wince/vc2008-ce/index.html
      index 747370aa94f..1d36f602177 100644
      --- a/Build/source/libs/freetype2/freetype-src/builds/wince/vc2008-ce/index.html
      +++ b/Build/source/libs/freetype2/freetype-src/builds/wince/vc2008-ce/index.html
      @@ -21,7 +21,7 @@ the following targets:
         
    • PPC/SP WM6 (Windows Mobile 6)
    -It compiles the following libraries from the FreeType 2.13.0 sources:

    +It compiles the following libraries from the FreeType 2.13.1 sources:

      diff --git a/Build/source/libs/freetype2/freetype-src/builds/windows/vc2010/freetype.vcxproj b/Build/source/libs/freetype2/freetype-src/builds/windows/vc2010/freetype.vcxproj
      index 4c9e2b497cf..671d124502f 100644
      --- a/Build/source/libs/freetype2/freetype-src/builds/windows/vc2010/freetype.vcxproj
      +++ b/Build/source/libs/freetype2/freetype-src/builds/windows/vc2010/freetype.vcxproj
      @@ -168,7 +168,7 @@
             Level4
             ProgramDatabase
             Default
      -      4001
      +      4001;4267
             true
             $(OutDir)$(TargetName).pdb
             Disabled
      @@ -195,7 +195,7 @@
             Level4
             ProgramDatabase
             Default
      -      4001
      +      4001;4267
             true
             $(OutDir)$(TargetName).pdb
             Disabled
      @@ -248,7 +248,7 @@
             Level4
             ProgramDatabase
             Default
      -      4001
      +      4001;4267
             true
             $(OutDir)$(TargetName).pdb
             Disabled
      @@ -274,7 +274,7 @@
             Level4
             ProgramDatabase
             Default
      -      4001
      +      4001;4267
             true
             $(OutDir)$(TargetName).pdb
             Disabled
      @@ -328,7 +328,7 @@
             true
             Level4
             Default
      -      4001
      +      4001;4267
             true
             NotSet
             true
      @@ -356,7 +356,7 @@
             true
             Level4
             Default
      -      4001
      +      4001;4267
             true
             true
           
      @@ -409,7 +409,7 @@
             true
             Level4
             Default
      -      4001
      +      4001;4267
             true
             NotSet
             true
      @@ -435,7 +435,7 @@
             true
             Level4
             Default
      -      4001
      +      4001;4267
             true
             true
           
      diff --git a/Build/source/libs/freetype2/freetype-src/builds/windows/vc2010/index.html b/Build/source/libs/freetype2/freetype-src/builds/windows/vc2010/index.html
      index c03be775e7f..95e27e628ca 100644
      --- a/Build/source/libs/freetype2/freetype-src/builds/windows/vc2010/index.html
      +++ b/Build/source/libs/freetype2/freetype-src/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.13.0 sources:

      +from the FreeType 2.13.1 sources:

      • freetype.dll using 'Release' or 'Debug' configurations
      • diff --git a/Build/source/libs/freetype2/freetype-src/builds/windows/visualc/index.html b/Build/source/libs/freetype2/freetype-src/builds/windows/visualc/index.html index 6a70b34b136..de957a61a6d 100644 --- a/Build/source/libs/freetype2/freetype-src/builds/windows/visualc/index.html +++ b/Build/source/libs/freetype2/freetype-src/builds/windows/visualc/index.html @@ -12,7 +12,7 @@

        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.13.0 sources:

        +It compiles the following libraries from the FreeType 2.13.1 sources:

        • freetype.dll using 'Release' or 'Debug' configurations
        • diff --git a/Build/source/libs/freetype2/freetype-src/builds/windows/visualce/index.html b/Build/source/libs/freetype2/freetype-src/builds/windows/visualce/index.html index cebab29a0f0..706924a74ec 100644 --- a/Build/source/libs/freetype2/freetype-src/builds/windows/visualce/index.html +++ b/Build/source/libs/freetype2/freetype-src/builds/windows/visualce/index.html @@ -21,7 +21,7 @@ the following targets:
        • PPC/SP WM6 (Windows Mobile 6)
        -It compiles the following libraries from the FreeType 2.13.0 sources:

        +It compiles the following libraries from the FreeType 2.13.1 sources:

          diff --git a/Build/source/libs/freetype2/freetype-src/configure b/Build/source/libs/freetype2/freetype-src/configure
          index ebb351dc7f3..d4315bd9719 100755
          --- a/Build/source/libs/freetype2/freetype-src/configure
          +++ b/Build/source/libs/freetype2/freetype-src/configure
          @@ -15,19 +15,10 @@
           
           rm -f config.mk builds/unix/unix-def.mk builds/unix/unix-cc.mk
           
          -if test -z "$EGREP"; then
          -  if echo a | grep -E '(a|b)' >/dev/null 2>&1; then 
          -    EGREP="grep -E"
          -  else
          -    # if grep -E doesn't work, assume egrep does.
          -    EGREP=egrep
          -  fi
          -fi   
          -
           # respect GNUMAKE environment variable for backward compatibility
           if test "x$GNUMAKE" = x; then
             if test "x$MAKE" = x; then
          -    if test "x`make -v 2>/dev/null | $EGREP 'GNU|makepp'`" = x; then
          +    if test "x`make -v 2>/dev/null | sed -n -e '/GNU/p' -e '/makepp/p'`" = x; then
                 MAKE=gmake
               else
                 MAKE=make
          @@ -37,7 +28,7 @@ else
             MAKE=$GNUMAKE
           fi
           
          -if test "x`$MAKE -v 2>/dev/null | $EGREP 'GNU|makepp'`" = x; then
          +if test "x`$MAKE -v 2>/dev/null | sed -n -e '/GNU/p' -e '/makepp/p'`" = x; then
             echo "GNU make (>= 3.81) or makepp (>= 2.0) is required to build FreeType2." >&2
             echo "Please try" >&2
             echo >&2
          diff --git a/Build/source/libs/freetype2/freetype-src/devel/ftoption.h b/Build/source/libs/freetype2/freetype-src/devel/ftoption.h
          index 1ae9b1aed0a..da56abc5a74 100644
          --- a/Build/source/libs/freetype2/freetype-src/devel/ftoption.h
          +++ b/Build/source/libs/freetype2/freetype-src/devel/ftoption.h
          @@ -661,36 +661,12 @@ FT_BEGIN_HEADER
              * not) instructions in a certain way so that all TrueType fonts look like
              * they do in a Windows ClearType (DirectWrite) environment.  See [1] for a
              * technical overview on what this means.  See `ttinterp.h` for more
          -   * details on the LEAN option.
          +   * details on this option.
              *
          -   * There are three possible values.
          -   *
          -   * Value 1:
          -   *   This value is associated with the 'Infinality' moniker, contributed by
          -   *   an individual nicknamed Infinality with the goal of making TrueType
          -   *   fonts render better than on Windows.  A high amount of configurability
          -   *   and flexibility, down to rules for single glyphs in fonts, but also
          -   *   very slow.  Its experimental and slow nature and the original
          -   *   developer losing interest meant that this option was never enabled in
          -   *   default builds.
          -   *
          -   *   The corresponding interpreter version is v38.
          -   *
          -   * Value 2:
          -   *   The new default mode for the TrueType driver.  The Infinality code
          -   *   base was stripped to the bare minimum and all configurability removed
          -   *   in the name of speed and simplicity.  The configurability was mainly
          -   *   aimed at legacy fonts like 'Arial', 'Times New Roman', or 'Courier'.
          -   *   Legacy fonts are fonts that modify vertical stems to achieve clean
          -   *   black-and-white bitmaps.  The new mode focuses on applying a minimal
          -   *   set of rules to all fonts indiscriminately so that modern and web
          -   *   fonts render well while legacy fonts render okay.
          -   *
          -   *   The corresponding interpreter version is v40.
          -   *
          -   * Value 3:
          -   *   Compile both, making both v38 and v40 available (the latter is the
          -   *   default).
          +   * The new default mode focuses on applying a minimal set of rules to all
          +   * fonts indiscriminately so that modern and web fonts render well while
          +   * legacy fonts render okay.  The corresponding interpreter version is v40.
          +   * The so-called Infinality mode (v38) is no longer available in FreeType.
              *
              * By undefining these, you get rendering behavior like on Windows without
              * ClearType, i.e., Windows XP without ClearType enabled and Win9x
          @@ -705,9 +681,7 @@ FT_BEGIN_HEADER
              * [1]
              * https://www.microsoft.com/typography/cleartype/truetypecleartype.aspx
              */
          -/* #define TT_CONFIG_OPTION_SUBPIXEL_HINTING  1     */
          -/* #define TT_CONFIG_OPTION_SUBPIXEL_HINTING  2     */
          -#define TT_CONFIG_OPTION_SUBPIXEL_HINTING     ( 1 | 2 )
          +#define TT_CONFIG_OPTION_SUBPIXEL_HINTING
           
           
             /**************************************************************************
          @@ -977,21 +951,14 @@ FT_BEGIN_HEADER
           
           
             /*
          -   * The next three macros are defined if native TrueType hinting is
          +   * The next two macros are defined if native TrueType hinting is
              * requested by the definitions above.  Don't change this.
              */
           #ifdef TT_CONFIG_OPTION_BYTECODE_INTERPRETER
           #define  TT_USE_BYTECODE_INTERPRETER
          -
           #ifdef TT_CONFIG_OPTION_SUBPIXEL_HINTING
          -#if TT_CONFIG_OPTION_SUBPIXEL_HINTING & 1
          -#define  TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY
          -#endif
          -
          -#if TT_CONFIG_OPTION_SUBPIXEL_HINTING & 2
           #define  TT_SUPPORT_SUBPIXEL_HINTING_MINIMAL
           #endif
          -#endif
           #endif
           
           
          diff --git a/Build/source/libs/freetype2/freetype-src/docs/CHANGES b/Build/source/libs/freetype2/freetype-src/docs/CHANGES
          index 3c6a8774b12..b6ad1ce5df8 100644
          --- a/Build/source/libs/freetype2/freetype-src/docs/CHANGES
          +++ b/Build/source/libs/freetype2/freetype-src/docs/CHANGES
          @@ -1,3 +1,43 @@
          +CHANGES BETWEEN 2.13.0 and 2.13.1 (2023-Jun-24)
          +
          +  I. MISCELLANEOUS
          +
          +  - New function  `FT_Get_Default_Named_Instance` to get the  index of
          +    the default named instance of an OpenType Variation Font.
          +
          +  - A new load flag `FT_LOAD_NO_SVG` to make FreeType ignore glyphs in
          +    an 'SVG ' table.
          +
          +  - New  function  `FT_GlyphSlot_AdjustWeight`  to  adjust  the  glyph
          +    weight either  horizontally or  vertically.  This  is part  of the
          +    `ftsynth.h` header file, which is  still considered to be in alpha
          +    stage.
          +
          +  - TrueType interpreter  version 38 (also known  as 'Infinality') has
          +    been deactivated; the value  of `TT_INTERPRETER_VERSION_38` is now
          +    the same as `TT_INTERPRETER_VERSION_40`.
          +
          +  - Updated OpenVMS support.
          +
          +  - The  base  API  documentation  has  been  modularized  for  easier
          +    handling.
          +
          +  - Switching named instances on and  off in Variation Fonts was buggy
          +    if the design coordinates didn't change.
          +
          +  - `ftbench`  has a  new  command-line option  `-a`  to apply  design
          +    coordinates.
          +
          +  - `ftview` can now flip SVG rendering on and off using the 'Z' key.
          +
          +  - In  `ftmulti` it  is  now possible  to toggle  the  fill rule  and
          +    overlap flag  used for  rendering glyphs using  the 'F3'  and 'F4'
          +    keys,  respectively.   Toggling  the anti-aliased  mode  has  been
          +    changed to the 'TAB' key.
          +
          +
          +======================================================================
          +
           CHANGES BETWEEN 2.12.1 and 2.13.0 (2023-Feb-09)
           
             I. IMPORTANT CHANGES
          @@ -12,7 +52,7 @@ CHANGES BETWEEN 2.12.1 and 2.13.0 (2023-Feb-09)
                 https://learn.microsoft.com/en-us/typography/opentype/spec/colr
           
           
          -  III. MISCELLANEOUS
          +  II. MISCELLANEOUS
           
             - For  OpenType  Variable Fonts,  `avar`  table  format 2.0  is  now
               supported.  The code was contributed by Behdad Esfahbod.
          @@ -75,6 +115,10 @@ CHANGES BETWEEN 2.12.1 and 2.13.0 (2023-Feb-09)
               af_debug_hints_
               ```
           
          +  - The internal  zlib library was  updated to version  1.2.13.  Note,
          +    however, that  FreeType is *not* affected  by CVE-2022-37434 since
          +    it doesn't use the `inflateGetHeader` function.
          +
           
           ======================================================================
           
          @@ -2420,7 +2464,7 @@ CHANGES BETWEEN 2.3.8 and 2.3.7
                 is provided for x86 and ARM.  See FT_CONFIG_OPTION_INLINE_MULFIX
                 and FT_CONFIG_OPTION_NO_ASSEMBLER (in ftoption.h) for more.
           
          -    - The handling of `tricky' fonts  (this is, fonts which don't work
          +    - The handling of `tricky' fonts  (that is, fonts which don't work
                 with the  autohinter, needing the font  format's hinting engine)
                 has been generalized and changed slightly:
           
          @@ -2877,7 +2921,7 @@ CHANGES BETWEEN 2.2 and 2.1.10
           
             II. IMPORTANT CHANGES
           
          -    - Version 2.2 no longer exposes its internals, this is, the header
          +    - Version 2.2 no longer exposes its internals, that is, the header
                 files  located in  the `include/freetype/internal'  directory of
                 the source package are not  copied anymore by the `make install'
                 command.  Consequently, a number of rogue clients which directly
          diff --git a/Build/source/libs/freetype2/freetype-src/docs/DEBUG b/Build/source/libs/freetype2/freetype-src/docs/DEBUG
          index 4a5ac3a40c6..7398df69b12 100644
          --- a/Build/source/libs/freetype2/freetype-src/docs/DEBUG
          +++ b/Build/source/libs/freetype2/freetype-src/docs/DEBUG
          @@ -270,12 +270,12 @@ to access them.
               `FT2_DEBUG' environment  variable.  Use this function  to override
               the value with `level'.  Use value `NULL' to disable tracing.
           
          -  FT_Trace_Set_Default_Level():
          +  FT_Trace_Set_Default_Level( void )
           
               Reset the tracing levels to the default value, i.e., the value of
               the `FT2_DEBUG' environment variable or no tracing if not set.
           
          -  FT_Set_Log_Handler( ft_custom_log_handler  handler ):
          +  FT_Set_Log_Handler( ft_custom_log_handler  handler )
           
               Use `handler' as a custom handler for formatting tracing and error
               messages.  The  `ft_custom_log_handler' typedef has  the following
          @@ -290,7 +290,7 @@ to access them.
              first argument  of `FT_TRACE' or  `FT_ERROR', and `args'  holds the
              remaining arguments.
           
          -  FT_Set_Default_Log_Handler():
          +  FT_Set_Default_Log_Handler( void )
           
               Reset the log handler to the default version.
           
          diff --git a/Build/source/libs/freetype2/freetype-src/docs/INSTALL.VMS b/Build/source/libs/freetype2/freetype-src/docs/INSTALL.VMS
          index 4ed4016a2c7..4f8c3ac33d5 100644
          --- a/Build/source/libs/freetype2/freetype-src/docs/INSTALL.VMS
          +++ b/Build/source/libs/freetype2/freetype-src/docs/INSTALL.VMS
          @@ -1,23 +1,23 @@
          -How to build the FreeType 2 library on VMS
          ------------------------------------------
          +How to build the FreeType library on VMS
          +----------------------------------------
           
          -It is actually very straightforward to install the FreeType 2 library.
          -Just  execute vms_make.com from  the toplevel  directory to  build the
          +It is actually  very straightforward to install  the FreeType library.
          +Just execute `vms_make.com  from` the toplevel directory  to build the
           library.  This procedure currently accepts the following options:
           
          -DEBUG
          +* `DEBUG`
             Build the library with debug information and without optimization.
           
          -lopts=
          -  Options to pass to the link command e.g. lopts=/traceback
          +* `lopts=`
          +  Options to pass to the link command, e.g., `lopts=/traceback`.
           
          -ccopt=
          -  Options to pass to the C compiler e.g. ccopt=/float=ieee
          +* `ccopt=`
          +  Options to pass to the C compiler, e.g., `ccopt=/float=ieee`.
           
           In case you did download the demos, place them in a separate directory
          -sharing the same top level  as the directory of FreeType 2  and follow
          -the same instructions as above for  the demos from  there.  The  build
          -process relies on this  to figure out  the location  of the FreeType 2
          +sharing the same top level as the directory of FreeType and follow the
          +same  instructions as  above  for  the demos  from  there.  The  build
          +process relies  on this  to figure  out the  location of  the FreeType
           include files.
           
           
          @@ -28,24 +28,31 @@ The library is available in the directory
           
             [.LIB]
           
          -To  compile applications  using  FreeType  2 you  have  to define  the
          -logical FREETYPE pointing to the directory
          +To compile applications using FreeType  you have to define the logical
          +`FREETYPE` pointing to the directory
           
             [.INCLUDE.FREETYPE]
           
          -i.e., if  the directory in which  this INSTALL.VMS file  is located is
          -$disk:[freetype] then define the logical with
          +i.e., if the directory in which  this `INSTALL.VMS` file is located is
          +`$disk:[freetype.docs]`, then define the logical with
           
             define freetype $disk:[freetype.include.freetype]
           
          -This version has  been tested with Compaq C  V6.2-006 on OpenVMS Alpha
          -V7.2-1.
          +See  http://nchrem.tnw.tudelft.nl/openvms/software2.html#Freetype  for
          +the packages FreeType depends on.
           
          +The latest versions were tested using
          +  - VSI C V7.4-002 and DECWindows V1.7-F on OpenVMS Alpha V8.4-2L1
          +  - VSI C V7.4-001 and DECWindows V1.7-E on OpenVMS IA64 V8.4-2L3
           
          -  Any problems can be reported to
           
          -    Jouk Jansen  or
          -    Martin P.J. Zinser 
          +Any problems can be reported to
          +
          +  Jouk Jansen  or
          +
          +Orginal version of the build procedures was created by
          +
          +  Martin P.J. Zinser 
           
           ------------------------------------------------------------------------
           
          diff --git a/Build/source/libs/freetype2/freetype-src/docs/README b/Build/source/libs/freetype2/freetype-src/docs/README
          index d71fd379c75..c2b5af86501 100644
          --- a/Build/source/libs/freetype2/freetype-src/docs/README
          +++ b/Build/source/libs/freetype2/freetype-src/docs/README
          @@ -18,8 +18,6 @@ There are two ways to generate the documentation:
               - This may or may not require internet access every time depending on
               pip and system caching.
           
          -This also works with Jam: Just type `jam refdoc' in the main directory.
          -
           Some troubleshooting tips:
           
           * Regularly run `pip install --upgrade docwriter' to check for updates which
          diff --git a/Build/source/libs/freetype2/freetype-src/docs/VERSIONS.TXT b/Build/source/libs/freetype2/freetype-src/docs/VERSIONS.TXT
          index 92f6a8ccd8a..eb71fd05129 100644
          --- a/Build/source/libs/freetype2/freetype-src/docs/VERSIONS.TXT
          +++ b/Build/source/libs/freetype2/freetype-src/docs/VERSIONS.TXT
          @@ -60,6 +60,7 @@ found on _most_ systems, but not all of them:
           
               release     libtool     so
             -------------------------------
          +     2.13.1     26.0.20   6.20.0
                2.13.0     25.0.19   6.19.0
                2.12.1     24.3.18   6.18.3
                2.12.0     24.2.18   6.18.2
          diff --git a/Build/source/libs/freetype2/freetype-src/docs/formats.txt b/Build/source/libs/freetype2/freetype-src/docs/formats.txt
          index 7a4bae09b04..882d62d231d 100644
          --- a/Build/source/libs/freetype2/freetype-src/docs/formats.txt
          +++ b/Build/source/libs/freetype2/freetype-src/docs/formats.txt
          @@ -57,7 +57,7 @@ Notes
             (`*') in the table below.
           
             FreeType can  be configured to  support Mac  files (on older  Mac OS
          -  versions, a `file' is stored as a data and a resource fork, this is,
          +  versions, a `file' is stored as a data and a resource fork, that is,
             within two  separate data chunks).  If  a file can't be  opened as a
             font, FreeType then checks whether it  is a resource fork, trying to
             extract  the contained  font data  from  either a  `POST' or  `sfnt'
          @@ -77,8 +77,8 @@ which isn't supported yet please send a mail too.
             ---     BDF     ---     ---        bdf      5005.BDF_Spec.pdf, X11
           
           
          -  SFNT    PS      TYPE_1  ---        type1    Type 1 GX Font Format
          -                                              (for the Mac) [3]
          +  SFNT    PS      TYPE_1  ---        type1    Type 1 GX Font Format [7]
          +                                              (for the Mac; not supported)
             SFNT    PS      TYPE_1  CID        cid      5180.sfnt.pdf (for the Mac) [3]
             SFNT    PS      CFF     ---        cff      OT spec, 5176.CFF.pdf
                                                         (`OTTO' format)
          @@ -198,6 +198,12 @@ which isn't supported yet please send a mail too.
           [6] Supported  font  formats  are   TrueType  and  OpenType  fonts  as
               defined in the OpenType specification 1.6 and newer.
           
          +[7] `The Type 1 GX Font Format' (dated 1995-09-27)  was distributed in
          +    Apple Developer CD-ROM in those days.  The content of `TYP1' table
          +    is a PostScript Type 1 font without the eexec encryption.  Current
          +    versions of FreeType don't not support this format,  but FontForge
          +    can load it.
          +
           ------------------------------------------------------------------------
           
           Copyright (C) 2004-2023 by
          diff --git a/Build/source/libs/freetype2/freetype-src/docs/freetype-config.1 b/Build/source/libs/freetype2/freetype-src/docs/freetype-config.1
          index 64594315f2e..cc6f3006de0 100644
          --- a/Build/source/libs/freetype2/freetype-src/docs/freetype-config.1
          +++ b/Build/source/libs/freetype2/freetype-src/docs/freetype-config.1
          @@ -1,4 +1,4 @@
          -.TH FREETYPE-CONFIG 1 "February 2023" "FreeType 2.13.0"
          +.TH FREETYPE-CONFIG 1 "June 2023" "FreeType 2.13.1"
           .
           .
           .SH NAME
          diff --git a/Build/source/libs/freetype2/freetype-src/docs/reference/404.html b/Build/source/libs/freetype2/freetype-src/docs/reference/404.html
          index bdeba1eea61..939c41b461d 100644
          --- a/Build/source/libs/freetype2/freetype-src/docs/reference/404.html
          +++ b/Build/source/libs/freetype2/freetype-src/docs/reference/404.html
          @@ -6,7 +6,7 @@
                 
                 
                 
          -        
          +        
                 
                 
                 
          @@ -14,11 +14,11 @@
                 
                 
                 
          -      
          +      
               
               
                 
          -        FreeType-2.13.0 API Reference
          +        FreeType-2.13.1 API Reference
                 
               
               
          @@ -77,7 +77,7 @@