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')
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:
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
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 @@