summaryrefslogtreecommitdiff
path: root/Build/source/libs/freetype2/freetype-src/include/freetype
diff options
context:
space:
mode:
authorAkira Kakuto <kakuto@fuk.kindai.ac.jp>2021-08-29 06:19:44 +0000
committerAkira Kakuto <kakuto@fuk.kindai.ac.jp>2021-08-29 06:19:44 +0000
commit0de5be92a3a0fe27e8521fc4de67e19b1057842e (patch)
treee93a390fe965486cca19498840cb8d7904252fec /Build/source/libs/freetype2/freetype-src/include/freetype
parent27ce96eea3f1190bd744448cfa149e8d767af95a (diff)
revert freetype to 2.10.4
git-svn-id: svn://tug.org/texlive/trunk@60360 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/libs/freetype2/freetype-src/include/freetype')
-rw-r--r--Build/source/libs/freetype2/freetype-src/include/freetype/config/ftconfig.h2
-rw-r--r--Build/source/libs/freetype2/freetype-src/include/freetype/config/ftheader.h2
-rw-r--r--Build/source/libs/freetype2/freetype-src/include/freetype/config/ftmodule.h6
-rw-r--r--Build/source/libs/freetype2/freetype-src/include/freetype/config/ftoption.h55
-rw-r--r--Build/source/libs/freetype2/freetype-src/include/freetype/config/ftstdlib.h2
-rw-r--r--Build/source/libs/freetype2/freetype-src/include/freetype/config/integer-types.h2
-rw-r--r--Build/source/libs/freetype2/freetype-src/include/freetype/config/mac-support.h2
-rw-r--r--Build/source/libs/freetype2/freetype-src/include/freetype/config/public-macros.h2
-rw-r--r--Build/source/libs/freetype2/freetype-src/include/freetype/freetype.h302
-rw-r--r--Build/source/libs/freetype2/freetype-src/include/freetype/ftadvanc.h2
-rw-r--r--Build/source/libs/freetype2/freetype-src/include/freetype/ftbbox.h2
-rw-r--r--Build/source/libs/freetype2/freetype-src/include/freetype/ftbdf.h2
-rw-r--r--Build/source/libs/freetype2/freetype-src/include/freetype/ftbitmap.h2
-rw-r--r--Build/source/libs/freetype2/freetype-src/include/freetype/ftbzip2.h2
-rw-r--r--Build/source/libs/freetype2/freetype-src/include/freetype/ftcache.h6
-rw-r--r--Build/source/libs/freetype2/freetype-src/include/freetype/ftchapters.h2
-rw-r--r--Build/source/libs/freetype2/freetype-src/include/freetype/ftcid.h2
-rw-r--r--Build/source/libs/freetype2/freetype-src/include/freetype/ftcolor.h1298
-rw-r--r--Build/source/libs/freetype2/freetype-src/include/freetype/ftdriver.h74
-rw-r--r--Build/source/libs/freetype2/freetype-src/include/freetype/fterrdef.h2
-rw-r--r--Build/source/libs/freetype2/freetype-src/include/freetype/fterrors.h4
-rw-r--r--Build/source/libs/freetype2/freetype-src/include/freetype/ftfntfmt.h2
-rw-r--r--Build/source/libs/freetype2/freetype-src/include/freetype/ftgasp.h2
-rw-r--r--Build/source/libs/freetype2/freetype-src/include/freetype/ftglyph.h2
-rw-r--r--Build/source/libs/freetype2/freetype-src/include/freetype/ftgxval.h2
-rw-r--r--Build/source/libs/freetype2/freetype-src/include/freetype/ftgzip.h2
-rw-r--r--Build/source/libs/freetype2/freetype-src/include/freetype/ftimage.h97
-rw-r--r--Build/source/libs/freetype2/freetype-src/include/freetype/ftincrem.h17
-rw-r--r--Build/source/libs/freetype2/freetype-src/include/freetype/ftlcdfil.h19
-rw-r--r--Build/source/libs/freetype2/freetype-src/include/freetype/ftlist.h2
-rw-r--r--Build/source/libs/freetype2/freetype-src/include/freetype/ftlogging.h184
-rw-r--r--Build/source/libs/freetype2/freetype-src/include/freetype/ftlzw.h2
-rw-r--r--Build/source/libs/freetype2/freetype-src/include/freetype/ftmac.h2
-rw-r--r--Build/source/libs/freetype2/freetype-src/include/freetype/ftmm.h2
-rw-r--r--Build/source/libs/freetype2/freetype-src/include/freetype/ftmodapi.h34
-rw-r--r--Build/source/libs/freetype2/freetype-src/include/freetype/ftmoderr.h3
-rw-r--r--Build/source/libs/freetype2/freetype-src/include/freetype/ftotval.h2
-rw-r--r--Build/source/libs/freetype2/freetype-src/include/freetype/ftoutln.h2
-rw-r--r--Build/source/libs/freetype2/freetype-src/include/freetype/ftparams.h2
-rw-r--r--Build/source/libs/freetype2/freetype-src/include/freetype/ftpfr.h2
-rw-r--r--Build/source/libs/freetype2/freetype-src/include/freetype/ftrender.h2
-rw-r--r--Build/source/libs/freetype2/freetype-src/include/freetype/ftsizes.h2
-rw-r--r--Build/source/libs/freetype2/freetype-src/include/freetype/ftsnames.h2
-rw-r--r--Build/source/libs/freetype2/freetype-src/include/freetype/ftstroke.h2
-rw-r--r--Build/source/libs/freetype2/freetype-src/include/freetype/ftsynth.h2
-rw-r--r--Build/source/libs/freetype2/freetype-src/include/freetype/ftsystem.h2
-rw-r--r--Build/source/libs/freetype2/freetype-src/include/freetype/fttrigon.h2
-rw-r--r--Build/source/libs/freetype2/freetype-src/include/freetype/fttypes.h2
-rw-r--r--Build/source/libs/freetype2/freetype-src/include/freetype/ftwinfnt.h2
-rw-r--r--Build/source/libs/freetype2/freetype-src/include/freetype/internal/autohint.h2
-rw-r--r--Build/source/libs/freetype2/freetype-src/include/freetype/internal/cffotypes.h2
-rw-r--r--Build/source/libs/freetype2/freetype-src/include/freetype/internal/cfftypes.h2
-rw-r--r--Build/source/libs/freetype2/freetype-src/include/freetype/internal/compiler-macros.h152
-rw-r--r--Build/source/libs/freetype2/freetype-src/include/freetype/internal/ftcalc.h2
-rw-r--r--Build/source/libs/freetype2/freetype-src/include/freetype/internal/ftdebug.h170
-rw-r--r--Build/source/libs/freetype2/freetype-src/include/freetype/internal/ftdrv.h2
-rw-r--r--Build/source/libs/freetype2/freetype-src/include/freetype/internal/ftgloadr.h2
-rw-r--r--Build/source/libs/freetype2/freetype-src/include/freetype/internal/ftmemory.h2
-rw-r--r--Build/source/libs/freetype2/freetype-src/include/freetype/internal/ftobjs.h2
-rw-r--r--Build/source/libs/freetype2/freetype-src/include/freetype/internal/ftpsprop.h2
-rw-r--r--Build/source/libs/freetype2/freetype-src/include/freetype/internal/ftrfork.h2
-rw-r--r--Build/source/libs/freetype2/freetype-src/include/freetype/internal/ftserv.h2
-rw-r--r--Build/source/libs/freetype2/freetype-src/include/freetype/internal/ftstream.h2
-rw-r--r--Build/source/libs/freetype2/freetype-src/include/freetype/internal/fttrace.h22
-rw-r--r--Build/source/libs/freetype2/freetype-src/include/freetype/internal/ftvalid.h2
-rw-r--r--Build/source/libs/freetype2/freetype-src/include/freetype/internal/psaux.h2
-rw-r--r--Build/source/libs/freetype2/freetype-src/include/freetype/internal/pshints.h2
-rw-r--r--Build/source/libs/freetype2/freetype-src/include/freetype/internal/services/svbdf.h2
-rw-r--r--Build/source/libs/freetype2/freetype-src/include/freetype/internal/services/svcfftl.h2
-rw-r--r--Build/source/libs/freetype2/freetype-src/include/freetype/internal/services/svcid.h2
-rw-r--r--Build/source/libs/freetype2/freetype-src/include/freetype/internal/services/svfntfmt.h2
-rw-r--r--Build/source/libs/freetype2/freetype-src/include/freetype/internal/services/svgldict.h2
-rw-r--r--Build/source/libs/freetype2/freetype-src/include/freetype/internal/services/svgxval.h2
-rw-r--r--Build/source/libs/freetype2/freetype-src/include/freetype/internal/services/svkern.h2
-rw-r--r--Build/source/libs/freetype2/freetype-src/include/freetype/internal/services/svmetric.h2
-rw-r--r--Build/source/libs/freetype2/freetype-src/include/freetype/internal/services/svmm.h2
-rw-r--r--Build/source/libs/freetype2/freetype-src/include/freetype/internal/services/svotval.h2
-rw-r--r--Build/source/libs/freetype2/freetype-src/include/freetype/internal/services/svpfr.h2
-rw-r--r--Build/source/libs/freetype2/freetype-src/include/freetype/internal/services/svpostnm.h2
-rw-r--r--Build/source/libs/freetype2/freetype-src/include/freetype/internal/services/svprop.h2
-rw-r--r--Build/source/libs/freetype2/freetype-src/include/freetype/internal/services/svpscmap.h2
-rw-r--r--Build/source/libs/freetype2/freetype-src/include/freetype/internal/services/svpsinfo.h2
-rw-r--r--Build/source/libs/freetype2/freetype-src/include/freetype/internal/services/svsfnt.h2
-rw-r--r--Build/source/libs/freetype2/freetype-src/include/freetype/internal/services/svttcmap.h2
-rw-r--r--Build/source/libs/freetype2/freetype-src/include/freetype/internal/services/svtteng.h2
-rw-r--r--Build/source/libs/freetype2/freetype-src/include/freetype/internal/services/svttglyf.h2
-rw-r--r--Build/source/libs/freetype2/freetype-src/include/freetype/internal/services/svwinfnt.h2
-rw-r--r--Build/source/libs/freetype2/freetype-src/include/freetype/internal/sfnt.h212
-rw-r--r--Build/source/libs/freetype2/freetype-src/include/freetype/internal/t1types.h2
-rw-r--r--Build/source/libs/freetype2/freetype-src/include/freetype/internal/tttypes.h2
-rw-r--r--Build/source/libs/freetype2/freetype-src/include/freetype/internal/wofftypes.h2
-rw-r--r--Build/source/libs/freetype2/freetype-src/include/freetype/t1tables.h2
-rw-r--r--Build/source/libs/freetype2/freetype-src/include/freetype/ttnameid.h2
-rw-r--r--Build/source/libs/freetype2/freetype-src/include/freetype/tttables.h2
-rw-r--r--Build/source/libs/freetype2/freetype-src/include/freetype/tttags.h2
95 files changed, 506 insertions, 2305 deletions
diff --git a/Build/source/libs/freetype2/freetype-src/include/freetype/config/ftconfig.h b/Build/source/libs/freetype2/freetype-src/include/freetype/config/ftconfig.h
index 65effcbe63e..b464e0b7895 100644
--- a/Build/source/libs/freetype2/freetype-src/include/freetype/config/ftconfig.h
+++ b/Build/source/libs/freetype2/freetype-src/include/freetype/config/ftconfig.h
@@ -4,7 +4,7 @@
*
* ANSI-specific configuration file (specification only).
*
- * Copyright (C) 1996-2021 by
+ * Copyright (C) 1996-2020 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used,
diff --git a/Build/source/libs/freetype2/freetype-src/include/freetype/config/ftheader.h b/Build/source/libs/freetype2/freetype-src/include/freetype/config/ftheader.h
index e46d314e334..28b5cc60cfa 100644
--- a/Build/source/libs/freetype2/freetype-src/include/freetype/config/ftheader.h
+++ b/Build/source/libs/freetype2/freetype-src/include/freetype/config/ftheader.h
@@ -4,7 +4,7 @@
*
* Build macros of the FreeType 2 library.
*
- * Copyright (C) 1996-2021 by
+ * Copyright (C) 1996-2020 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used,
diff --git a/Build/source/libs/freetype2/freetype-src/include/freetype/config/ftmodule.h b/Build/source/libs/freetype2/freetype-src/include/freetype/config/ftmodule.h
index d4ba3f784d1..b5c4b1ee583 100644
--- a/Build/source/libs/freetype2/freetype-src/include/freetype/config/ftmodule.h
+++ b/Build/source/libs/freetype2/freetype-src/include/freetype/config/ftmodule.h
@@ -19,14 +19,12 @@ FT_USE_MODULE( FT_Driver_ClassRec, pfr_driver_class )
FT_USE_MODULE( FT_Driver_ClassRec, t42_driver_class )
FT_USE_MODULE( FT_Driver_ClassRec, winfnt_driver_class )
FT_USE_MODULE( FT_Driver_ClassRec, pcf_driver_class )
-FT_USE_MODULE( FT_Driver_ClassRec, bdf_driver_class )
FT_USE_MODULE( FT_Module_Class, psaux_module_class )
FT_USE_MODULE( FT_Module_Class, psnames_module_class )
FT_USE_MODULE( FT_Module_Class, pshinter_module_class )
+FT_USE_MODULE( FT_Renderer_Class, ft_raster1_renderer_class )
FT_USE_MODULE( FT_Module_Class, sfnt_module_class )
FT_USE_MODULE( FT_Renderer_Class, ft_smooth_renderer_class )
-FT_USE_MODULE( FT_Renderer_Class, ft_raster1_renderer_class )
-FT_USE_MODULE( FT_Renderer_Class, ft_sdf_renderer_class )
-FT_USE_MODULE( FT_Renderer_Class, ft_bitmap_sdf_renderer_class )
+FT_USE_MODULE( FT_Driver_ClassRec, bdf_driver_class )
/* EOF */
diff --git a/Build/source/libs/freetype2/freetype-src/include/freetype/config/ftoption.h b/Build/source/libs/freetype2/freetype-src/include/freetype/config/ftoption.h
index 4227fd376e4..097f19b8a5b 100644
--- a/Build/source/libs/freetype2/freetype-src/include/freetype/config/ftoption.h
+++ b/Build/source/libs/freetype2/freetype-src/include/freetype/config/ftoption.h
@@ -4,7 +4,7 @@
*
* User-selectable configuration macros (specification only).
*
- * Copyright (C) 1996-2021 by
+ * Copyright (C) 1996-2020 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used,
@@ -105,7 +105,8 @@ FT_BEGIN_HEADER
*
* ```
* FREETYPE_PROPERTIES=truetype:interpreter-version=35 \
- * cff:no-stem-darkening=1
+ * cff:no-stem-darkening=1 \
+ * autofitter:warping=1
* ```
*
*/
@@ -432,23 +433,6 @@ FT_BEGIN_HEADER
/**************************************************************************
*
- * Logging
- *
- * Compiling FreeType in debug or trace mode makes FreeType write error
- * and trace log messages to `stderr`. Enabling this macro
- * automatically forces the `FT_DEBUG_LEVEL_ERROR` and
- * `FT_DEBUG_LEVEL_TRACE` macros and allows FreeType to write error and
- * trace log messages to a file instead of `stderr`. For writing logs
- * to a file, FreeType uses an the external `dlg` library (the source
- * code is in `src/dlg`).
- *
- * This option needs a C99 compiler.
- */
-/* #define FT_DEBUG_LOGGING */
-
-
- /**************************************************************************
- *
* Autofitter debugging
*
* If `FT_DEBUG_AUTOFIT` is defined, FreeType provides some means to
@@ -910,6 +894,24 @@ FT_BEGIN_HEADER
/**************************************************************************
*
+ * Compile 'autofit' module with warp hinting. The idea of the warping
+ * code is to slightly scale and shift a glyph within a single dimension so
+ * that as much of its segments are aligned (more or less) on the grid. To
+ * find out the optimal scaling and shifting value, various parameter
+ * combinations are tried and scored.
+ *
+ * You can switch warping on and off with the `warping` property of the
+ * auto-hinter (see file `ftdriver.h` for more information; by default it
+ * is switched off).
+ *
+ * This experimental option is not active if the rendering mode is
+ * `FT_RENDER_MODE_LIGHT`.
+ */
+#define AF_CONFIG_OPTION_USE_WARPER
+
+
+ /**************************************************************************
+ *
* Use TrueType-like size metrics for 'light' auto-hinting.
*
* It is strongly recommended to avoid this option, which exists only to
@@ -960,21 +962,6 @@ FT_BEGIN_HEADER
/*
- * The TT_SUPPORT_COLRV1 macro is defined to indicate to clients that this
- * version of FreeType has support for 'COLR' v1 API. This definition is
- * useful to FreeType clients that want to build in support for 'COLR' v1
- * depending on a tip-of-tree checkout before it is officially released in
- * FreeType, and while the feature cannot yet be tested against using
- * version macros. Don't change this macro. This may be removed once the
- * feature is in a FreeType release version and version macros can be used
- * to test for availability.
- */
-#ifdef TT_CONFIG_OPTION_COLOR_LAYERS
-#define TT_SUPPORT_COLRV1
-#endif
-
-
- /*
* Check CFF darkening parameters. The checks are the same as in function
* `cff_property_set` in file `cffdrivr.c`.
*/
diff --git a/Build/source/libs/freetype2/freetype-src/include/freetype/config/ftstdlib.h b/Build/source/libs/freetype2/freetype-src/include/freetype/config/ftstdlib.h
index fea21ffa4df..d6091f8b3d6 100644
--- a/Build/source/libs/freetype2/freetype-src/include/freetype/config/ftstdlib.h
+++ b/Build/source/libs/freetype2/freetype-src/include/freetype/config/ftstdlib.h
@@ -5,7 +5,7 @@
* ANSI-specific library and header configuration file (specification
* only).
*
- * Copyright (C) 2002-2021 by
+ * Copyright (C) 2002-2020 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used,
diff --git a/Build/source/libs/freetype2/freetype-src/include/freetype/config/integer-types.h b/Build/source/libs/freetype2/freetype-src/include/freetype/config/integer-types.h
index 4bb3eedab40..a0ca0c95e21 100644
--- a/Build/source/libs/freetype2/freetype-src/include/freetype/config/integer-types.h
+++ b/Build/source/libs/freetype2/freetype-src/include/freetype/config/integer-types.h
@@ -4,7 +4,7 @@
*
* FreeType integer types definitions.
*
- * Copyright (C) 1996-2021 by
+ * Copyright (C) 1996-2020 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used,
diff --git a/Build/source/libs/freetype2/freetype-src/include/freetype/config/mac-support.h b/Build/source/libs/freetype2/freetype-src/include/freetype/config/mac-support.h
index ef58d8b3f03..94867088e9d 100644
--- a/Build/source/libs/freetype2/freetype-src/include/freetype/config/mac-support.h
+++ b/Build/source/libs/freetype2/freetype-src/include/freetype/config/mac-support.h
@@ -4,7 +4,7 @@
*
* Mac/OS X support configuration header.
*
- * Copyright (C) 1996-2021 by
+ * Copyright (C) 1996-2020 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used,
diff --git a/Build/source/libs/freetype2/freetype-src/include/freetype/config/public-macros.h b/Build/source/libs/freetype2/freetype-src/include/freetype/config/public-macros.h
index 51fbc9c2f52..6aa673e807c 100644
--- a/Build/source/libs/freetype2/freetype-src/include/freetype/config/public-macros.h
+++ b/Build/source/libs/freetype2/freetype-src/include/freetype/config/public-macros.h
@@ -4,7 +4,7 @@
*
* Define a set of compiler macros used in public FreeType headers.
*
- * Copyright (C) 2020-2021 by
+ * Copyright (C) 2020 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used,
diff --git a/Build/source/libs/freetype2/freetype-src/include/freetype/freetype.h b/Build/source/libs/freetype2/freetype-src/include/freetype/freetype.h
index 77fede35c0e..be191f5aa0e 100644
--- a/Build/source/libs/freetype2/freetype-src/include/freetype/freetype.h
+++ b/Build/source/libs/freetype2/freetype-src/include/freetype/freetype.h
@@ -4,7 +4,7 @@
*
* FreeType high-level API and common types (specification only).
*
- * Copyright (C) 1996-2021 by
+ * Copyright (C) 1996-2020 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used,
@@ -33,34 +33,6 @@ FT_BEGIN_HEADER
/**************************************************************************
*
* @section:
- * preamble
- *
- * @title:
- * Preamble
- *
- * @abstract:
- * What FreeType is and isn't
- *
- * @description:
- * FreeType is a library that provides access to glyphs in font files. It
- * scales the glyph images and their metrics to a requested size, and it
- * rasterizes the glyph images to produce pixel or subpixel alpha coverage
- * bitmaps.
- *
- * Note that FreeType is _not_ a text layout engine. You have to use
- * higher-level libraries like HarfBuzz, Pango, or ICU for that.
- *
- * Note also that FreeType does _not_ perform alpha blending or
- * compositing the resulting bitmaps or pixmaps by itself. Use your
- * favourite graphics library (for example, Cairo or Skia) to further
- * process FreeType's output.
- *
- */
-
-
- /**************************************************************************
- *
- * @section:
* header_inclusion
*
* @title:
@@ -204,7 +176,6 @@ FT_BEGIN_HEADER
* FT_Size_RequestRec
* FT_Size_Request
* FT_Set_Transform
- * FT_Get_Transform
* FT_Load_Glyph
* FT_Get_Char_Index
* FT_Get_First_Char
@@ -2113,7 +2084,8 @@ FT_BEGIN_HEADER
* Extra parameters passed to the font driver when opening a new face.
*
* @note:
- * The stream type is determined by the contents of `flags`:
+ * The stream type is determined by the contents of `flags` that are
+ * tested in the following order by @FT_Open_Face:
*
* If the @FT_OPEN_MEMORY bit is set, assume that this is a memory file
* of `memory_size` bytes, located at `memory_address`. The data are not
@@ -2126,9 +2098,6 @@ FT_BEGIN_HEADER
* Otherwise, if the @FT_OPEN_PATHNAME bit is set, assume that this is a
* normal file and use `pathname` to open it.
*
- * If none of the above bits are set or if multiple are set at the same
- * time, the flags are invalid and @FT_Open_Face fails.
- *
* If the @FT_OPEN_DRIVER bit is set, @FT_Open_Face only tries to open
* the file with the driver whose handler is in `driver`.
*
@@ -2301,10 +2270,6 @@ FT_BEGIN_HEADER
* See the discussion of reference counters in the description of
* @FT_Reference_Face.
*
- * If `FT_OPEN_STREAM` is set in `args->flags`, the stream in
- * `args->stream` is automatically closed before this function returns
- * any error (including `FT_Err_Invalid_Argument`).
- *
* @example:
* To loop over all faces, use code similar to the following snippet
* (omitting the error handling).
@@ -2463,7 +2428,6 @@ FT_BEGIN_HEADER
*
* @since:
* 2.4.2
- *
*/
FT_EXPORT( FT_Error )
FT_Reference_Face( FT_Face face );
@@ -2910,7 +2874,7 @@ FT_BEGIN_HEADER
*
* If the font is 'tricky' (see @FT_FACE_FLAG_TRICKY for more), using
* `FT_LOAD_NO_SCALE` usually yields meaningless outlines because the
- * subglyphs must be scaled and positioned with hinting instructions.
+ * subglyphs must be scaled and positioned with hinting instructions.
* This can be solved by loading the font without `FT_LOAD_NO_SCALE`
* and setting the character size to `font->units_per_EM`.
*
@@ -3208,12 +3172,11 @@ FT_BEGIN_HEADER
* A pointer to the transformation's 2x2 matrix. Use `NULL` for the
* identity matrix.
* delta ::
- * A pointer to the translation vector. Use `NULL` for the null
- * vector.
+ * A pointer to the translation vector. Use `NULL` for the null vector.
*
* @note:
* This function is provided as a convenience, but keep in mind that
- * @FT_Matrix coefficients are only 16.16 fixed-point values, which can
+ * @FT_Matrix coefficients are only 16.16 fixed point values, which can
* limit the accuracy of the results. Using floating-point computations
* to perform the transform directly in client code instead will always
* yield better numbers.
@@ -3234,39 +3197,6 @@ FT_BEGIN_HEADER
/**************************************************************************
*
- * @function:
- * FT_Get_Transform
- *
- * @description:
- * Return the transformation that is applied to glyph images when they
- * are loaded into a glyph slot through @FT_Load_Glyph. See
- * @FT_Set_Transform for more details.
- *
- * @input:
- * face ::
- * A handle to the source face object.
- *
- * @output:
- * matrix ::
- * A pointer to a transformation's 2x2 matrix. Set this to NULL if you
- * are not interested in the value.
- *
- * delta ::
- * A pointer a translation vector. Set this to NULL if you are not
- * interested in the value.
- *
- * @since:
- * 2.11
- *
- */
- FT_EXPORT( void )
- FT_Get_Transform( FT_Face face,
- FT_Matrix* matrix,
- FT_Vector* delta );
-
-
- /**************************************************************************
- *
* @enum:
* FT_Render_Mode
*
@@ -3283,10 +3213,6 @@ FT_BEGIN_HEADER
* correction to correctly render non-monochrome glyph bitmaps onto a
* surface; see @FT_Render_Glyph.
*
- * The @FT_RENDER_MODE_SDF is a special render mode that uses up to 256
- * distance values, indicating the signed distance from the grid position
- * to the nearest outline.
- *
* @values:
* FT_RENDER_MODE_NORMAL ::
* Default render mode; it corresponds to 8-bit anti-aliased bitmaps.
@@ -3312,49 +3238,11 @@ FT_BEGIN_HEADER
* bitmaps that are 3~times the height of the original glyph outline in
* pixels and use the @FT_PIXEL_MODE_LCD_V mode.
*
- * FT_RENDER_MODE_SDF ::
- * This mode corresponds to 8-bit, single-channel signed distance field
- * (SDF) bitmaps. Each pixel in the SDF grid is the value from the
- * pixel's position to the nearest glyph's outline. The distances are
- * calculated from the center of the pixel and are positive if they are
- * filled by the outline (i.e., inside the outline) and negative
- * otherwise. Check the note below on how to convert the output values
- * to usable data.
- *
* @note:
* The selected render mode only affects vector glyphs of a font.
* Embedded bitmaps often have a different pixel mode like
* @FT_PIXEL_MODE_MONO. You can use @FT_Bitmap_Convert to transform them
* into 8-bit pixmaps.
- *
- * For @FT_RENDER_MODE_SDF the output bitmap buffer contains normalized
- * distances that are packed into unsigned 8-bit values. To get pixel
- * values in floating point representation use the following pseudo-C
- * code for the conversion.
- *
- * ```
- * // Load glyph and render using FT_RENDER_MODE_SDF,
- * // then use the output buffer as follows.
- *
- * ...
- * FT_Byte buffer = glyph->bitmap->buffer;
- *
- *
- * for pixel in buffer
- * {
- * // `sd` is the signed distance and `spread` is the current spread;
- * // the default spread is 2 and can be changed.
- *
- * float sd = (float)pixel - 128.0f;
- *
- *
- * // Convert to pixel values.
- * sd = ( sd / 128.0f ) * spread;
- *
- * // Store `sd` in a buffer or use as required.
- * }
- *
- * ```
*/
typedef enum FT_Render_Mode_
{
@@ -3363,7 +3251,6 @@ FT_BEGIN_HEADER
FT_RENDER_MODE_MONO,
FT_RENDER_MODE_LCD,
FT_RENDER_MODE_LCD_V,
- FT_RENDER_MODE_SDF,
FT_RENDER_MODE_MAX
@@ -3451,8 +3338,7 @@ FT_BEGIN_HEADER
*
* which is known as the OVER operator.
*
- * To correctly composite an anti-aliased pixel of a glyph onto a
- * surface,
+ * To correctly composite an antialiased pixel of a glyph onto a surface,
*
* 1. take the foreground and background colors (e.g., in sRGB space)
* and apply gamma to get them in a linear space,
@@ -4132,6 +4018,168 @@ FT_BEGIN_HEADER
/**************************************************************************
*
* @section:
+ * layer_management
+ *
+ * @title:
+ * Glyph Layer Management
+ *
+ * @abstract:
+ * Retrieving and manipulating OpenType's 'COLR' table data.
+ *
+ * @description:
+ * The functions described here allow access of colored glyph layer data
+ * in OpenType's 'COLR' tables.
+ */
+
+
+ /**************************************************************************
+ *
+ * @struct:
+ * FT_LayerIterator
+ *
+ * @description:
+ * This iterator object is needed for @FT_Get_Color_Glyph_Layer.
+ *
+ * @fields:
+ * num_layers ::
+ * The number of glyph layers for the requested glyph index. Will be
+ * set by @FT_Get_Color_Glyph_Layer.
+ *
+ * layer ::
+ * The current layer. Will be set by @FT_Get_Color_Glyph_Layer.
+ *
+ * p ::
+ * An opaque pointer into 'COLR' table data. The caller must set this
+ * to `NULL` before the first call of @FT_Get_Color_Glyph_Layer.
+ */
+ typedef struct FT_LayerIterator_
+ {
+ FT_UInt num_layers;
+ FT_UInt layer;
+ FT_Byte* p;
+
+ } FT_LayerIterator;
+
+
+ /**************************************************************************
+ *
+ * @function:
+ * FT_Get_Color_Glyph_Layer
+ *
+ * @description:
+ * This is an interface to the 'COLR' table in OpenType fonts to
+ * iteratively retrieve the colored glyph layers associated with the
+ * current glyph slot.
+ *
+ * https://docs.microsoft.com/en-us/typography/opentype/spec/colr
+ *
+ * The glyph layer data for a given glyph index, if present, provides an
+ * alternative, multi-color glyph representation: Instead of rendering
+ * the outline or bitmap with the given glyph index, glyphs with the
+ * indices and colors returned by this function are rendered layer by
+ * layer.
+ *
+ * The returned elements are ordered in the z~direction from bottom to
+ * top; the 'n'th element should be rendered with the associated palette
+ * color and blended on top of the already rendered layers (elements 0,
+ * 1, ..., n-1).
+ *
+ * @input:
+ * face ::
+ * A handle to the parent face object.
+ *
+ * base_glyph ::
+ * The glyph index the colored glyph layers are associated with.
+ *
+ * @inout:
+ * iterator ::
+ * An @FT_LayerIterator object. For the first call you should set
+ * `iterator->p` to `NULL`. For all following calls, simply use the
+ * same object again.
+ *
+ * @output:
+ * aglyph_index ::
+ * The glyph index of the current layer.
+ *
+ * acolor_index ::
+ * The color index into the font face's color palette of the current
+ * layer. The value 0xFFFF is special; it doesn't reference a palette
+ * entry but indicates that the text foreground color should be used
+ * instead (to be set up by the application outside of FreeType).
+ *
+ * The color palette can be retrieved with @FT_Palette_Select.
+ *
+ * @return:
+ * Value~1 if everything is OK. If there are no more layers (or if there
+ * are no layers at all), value~0 gets returned. In case of an error,
+ * value~0 is returned also.
+ *
+ * @note:
+ * This function is necessary if you want to handle glyph layers by
+ * yourself. In particular, functions that operate with @FT_GlyphRec
+ * objects (like @FT_Get_Glyph or @FT_Glyph_To_Bitmap) don't have access
+ * to this information.
+ *
+ * Note that @FT_Render_Glyph is able to handle colored glyph layers
+ * automatically if the @FT_LOAD_COLOR flag is passed to a previous call
+ * to @FT_Load_Glyph. [This is an experimental feature.]
+ *
+ * @example:
+ * ```
+ * FT_Color* palette;
+ * FT_LayerIterator iterator;
+ *
+ * FT_Bool have_layers;
+ * FT_UInt layer_glyph_index;
+ * FT_UInt layer_color_index;
+ *
+ *
+ * error = FT_Palette_Select( face, palette_index, &palette );
+ * if ( error )
+ * palette = NULL;
+ *
+ * iterator.p = NULL;
+ * have_layers = FT_Get_Color_Glyph_Layer( face,
+ * glyph_index,
+ * &layer_glyph_index,
+ * &layer_color_index,
+ * &iterator );
+ *
+ * if ( palette && have_layers )
+ * {
+ * do
+ * {
+ * FT_Color layer_color;
+ *
+ *
+ * if ( layer_color_index == 0xFFFF )
+ * layer_color = text_foreground_color;
+ * else
+ * layer_color = palette[layer_color_index];
+ *
+ * // Load and render glyph `layer_glyph_index', then
+ * // blend resulting pixmap (using color `layer_color')
+ * // with previously created pixmaps.
+ *
+ * } while ( FT_Get_Color_Glyph_Layer( face,
+ * glyph_index,
+ * &layer_glyph_index,
+ * &layer_color_index,
+ * &iterator ) );
+ * }
+ * ```
+ */
+ FT_EXPORT( FT_Bool )
+ FT_Get_Color_Glyph_Layer( FT_Face face,
+ FT_UInt base_glyph,
+ FT_UInt *aglyph_index,
+ FT_UInt *acolor_index,
+ FT_LayerIterator* iterator );
+
+
+ /**************************************************************************
+ *
+ * @section:
* base_interface
*
*/
@@ -4219,7 +4267,6 @@ FT_BEGIN_HEADER
*
* @since:
* 2.3.8
- *
*/
FT_EXPORT( FT_UShort )
FT_Get_FSType_Flags( FT_Face face );
@@ -4313,7 +4360,6 @@ FT_BEGIN_HEADER
*
* @since:
* 2.3.6
- *
*/
FT_EXPORT( FT_UInt )
FT_Face_GetCharVariantIndex( FT_Face face,
@@ -4350,7 +4396,6 @@ FT_BEGIN_HEADER
*
* @since:
* 2.3.6
- *
*/
FT_EXPORT( FT_Int )
FT_Face_GetCharVariantIsDefault( FT_Face face,
@@ -4382,7 +4427,6 @@ FT_BEGIN_HEADER
*
* @since:
* 2.3.6
- *
*/
FT_EXPORT( FT_UInt32* )
FT_Face_GetVariantSelectors( FT_Face face );
@@ -4416,7 +4460,6 @@ FT_BEGIN_HEADER
*
* @since:
* 2.3.6
- *
*/
FT_EXPORT( FT_UInt32* )
FT_Face_GetVariantsOfChar( FT_Face face,
@@ -4451,7 +4494,6 @@ FT_BEGIN_HEADER
*
* @since:
* 2.3.6
- *
*/
FT_EXPORT( FT_UInt32* )
FT_Face_GetCharsOfVariant( FT_Face face,
@@ -4724,8 +4766,8 @@ FT_BEGIN_HEADER
*
*/
#define FREETYPE_MAJOR 2
-#define FREETYPE_MINOR 11
-#define FREETYPE_PATCH 0
+#define FREETYPE_MINOR 10
+#define FREETYPE_PATCH 4
/**************************************************************************
@@ -4787,7 +4829,6 @@ FT_BEGIN_HEADER
*
* @since:
* 2.3.5
- *
*/
FT_EXPORT( FT_Bool )
FT_Face_CheckTrueTypePatents( FT_Face face );
@@ -4816,7 +4857,6 @@ FT_BEGIN_HEADER
*
* @since:
* 2.3.5
- *
*/
FT_EXPORT( FT_Bool )
FT_Face_SetUnpatentedHinting( FT_Face face,
diff --git a/Build/source/libs/freetype2/freetype-src/include/freetype/ftadvanc.h b/Build/source/libs/freetype2/freetype-src/include/freetype/ftadvanc.h
index 3a13bd3de45..f166bc6f999 100644
--- a/Build/source/libs/freetype2/freetype-src/include/freetype/ftadvanc.h
+++ b/Build/source/libs/freetype2/freetype-src/include/freetype/ftadvanc.h
@@ -4,7 +4,7 @@
*
* Quick computation of advance widths (specification only).
*
- * Copyright (C) 2008-2021 by
+ * Copyright (C) 2008-2020 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used,
diff --git a/Build/source/libs/freetype2/freetype-src/include/freetype/ftbbox.h b/Build/source/libs/freetype2/freetype-src/include/freetype/ftbbox.h
index 713aedb15fc..fda1ad94a5f 100644
--- a/Build/source/libs/freetype2/freetype-src/include/freetype/ftbbox.h
+++ b/Build/source/libs/freetype2/freetype-src/include/freetype/ftbbox.h
@@ -4,7 +4,7 @@
*
* FreeType exact bbox computation (specification).
*
- * Copyright (C) 1996-2021 by
+ * Copyright (C) 1996-2020 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used,
diff --git a/Build/source/libs/freetype2/freetype-src/include/freetype/ftbdf.h b/Build/source/libs/freetype2/freetype-src/include/freetype/ftbdf.h
index c4285064059..2e1daeeaaf9 100644
--- a/Build/source/libs/freetype2/freetype-src/include/freetype/ftbdf.h
+++ b/Build/source/libs/freetype2/freetype-src/include/freetype/ftbdf.h
@@ -4,7 +4,7 @@
*
* FreeType API for accessing BDF-specific strings (specification).
*
- * Copyright (C) 2002-2021 by
+ * Copyright (C) 2002-2020 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used,
diff --git a/Build/source/libs/freetype2/freetype-src/include/freetype/ftbitmap.h b/Build/source/libs/freetype2/freetype-src/include/freetype/ftbitmap.h
index 11c45b0ed22..282c22e1cf9 100644
--- a/Build/source/libs/freetype2/freetype-src/include/freetype/ftbitmap.h
+++ b/Build/source/libs/freetype2/freetype-src/include/freetype/ftbitmap.h
@@ -4,7 +4,7 @@
*
* FreeType utility functions for bitmaps (specification).
*
- * Copyright (C) 2004-2021 by
+ * Copyright (C) 2004-2020 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used,
diff --git a/Build/source/libs/freetype2/freetype-src/include/freetype/ftbzip2.h b/Build/source/libs/freetype2/freetype-src/include/freetype/ftbzip2.h
index afd2a82afbb..eb6a5a55d19 100644
--- a/Build/source/libs/freetype2/freetype-src/include/freetype/ftbzip2.h
+++ b/Build/source/libs/freetype2/freetype-src/include/freetype/ftbzip2.h
@@ -4,7 +4,7 @@
*
* Bzip2-compressed stream support.
*
- * Copyright (C) 2010-2021 by
+ * Copyright (C) 2010-2020 by
* Joel Klinghed.
*
* This file is part of the FreeType project, and may only be used,
diff --git a/Build/source/libs/freetype2/freetype-src/include/freetype/ftcache.h b/Build/source/libs/freetype2/freetype-src/include/freetype/ftcache.h
index 70399a328a8..60472752054 100644
--- a/Build/source/libs/freetype2/freetype-src/include/freetype/ftcache.h
+++ b/Build/source/libs/freetype2/freetype-src/include/freetype/ftcache.h
@@ -4,7 +4,7 @@
*
* FreeType Cache subsystem (specification).
*
- * Copyright (C) 1996-2021 by
+ * Copyright (C) 1996-2020 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used,
@@ -86,8 +86,8 @@ FT_BEGIN_HEADER
* later use @FTC_CMapCache_Lookup to perform the equivalent of
* @FT_Get_Char_Index, only much faster.
*
- * If you want to use the @FT_Glyph caching, call @FTC_ImageCache_New,
- * then later use @FTC_ImageCache_Lookup to retrieve the corresponding
+ * If you want to use the @FT_Glyph caching, call @FTC_ImageCache, then
+ * later use @FTC_ImageCache_Lookup to retrieve the corresponding
* @FT_Glyph objects from the cache.
*
* If you need lots of small bitmaps, it is much more memory efficient to
diff --git a/Build/source/libs/freetype2/freetype-src/include/freetype/ftchapters.h b/Build/source/libs/freetype2/freetype-src/include/freetype/ftchapters.h
index 4f32cc88c80..2ee26973e46 100644
--- a/Build/source/libs/freetype2/freetype-src/include/freetype/ftchapters.h
+++ b/Build/source/libs/freetype2/freetype-src/include/freetype/ftchapters.h
@@ -15,7 +15,6 @@
* General Remarks
*
* @sections:
- * preamble
* header_inclusion
* user_allocation
*
@@ -124,7 +123,6 @@
* gzip
* lzw
* bzip2
- * debugging_apis
*
*/
diff --git a/Build/source/libs/freetype2/freetype-src/include/freetype/ftcid.h b/Build/source/libs/freetype2/freetype-src/include/freetype/ftcid.h
index 9a415bd98b5..a29fb333068 100644
--- a/Build/source/libs/freetype2/freetype-src/include/freetype/ftcid.h
+++ b/Build/source/libs/freetype2/freetype-src/include/freetype/ftcid.h
@@ -4,7 +4,7 @@
*
* FreeType API for accessing CID font information (specification).
*
- * Copyright (C) 2007-2021 by
+ * Copyright (C) 2007-2020 by
* Dereg Clegg and Michael Toftdal.
*
* This file is part of the FreeType project, and may only be used,
diff --git a/Build/source/libs/freetype2/freetype-src/include/freetype/ftcolor.h b/Build/source/libs/freetype2/freetype-src/include/freetype/ftcolor.h
index 59e6f15e360..ecc6485e5a0 100644
--- a/Build/source/libs/freetype2/freetype-src/include/freetype/ftcolor.h
+++ b/Build/source/libs/freetype2/freetype-src/include/freetype/ftcolor.h
@@ -4,7 +4,7 @@
*
* FreeType's glyph color management (specification).
*
- * Copyright (C) 2018-2021 by
+ * Copyright (C) 2018-2020 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used,
@@ -302,1302 +302,6 @@ FT_BEGIN_HEADER
FT_Palette_Set_Foreground_Color( FT_Face face,
FT_Color foreground_color );
-
- /**************************************************************************
- *
- * @section:
- * layer_management
- *
- * @title:
- * Glyph Layer Management
- *
- * @abstract:
- * Retrieving and manipulating OpenType's 'COLR' table data.
- *
- * @description:
- * The functions described here allow access of colored glyph layer data
- * in OpenType's 'COLR' tables.
- */
-
-
- /**************************************************************************
- *
- * @struct:
- * FT_LayerIterator
- *
- * @description:
- * This iterator object is needed for @FT_Get_Color_Glyph_Layer.
- *
- * @fields:
- * num_layers ::
- * The number of glyph layers for the requested glyph index. Will be
- * set by @FT_Get_Color_Glyph_Layer.
- *
- * layer ::
- * The current layer. Will be set by @FT_Get_Color_Glyph_Layer.
- *
- * p ::
- * An opaque pointer into 'COLR' table data. The caller must set this
- * to `NULL` before the first call of @FT_Get_Color_Glyph_Layer.
- */
- typedef struct FT_LayerIterator_
- {
- FT_UInt num_layers;
- FT_UInt layer;
- FT_Byte* p;
-
- } FT_LayerIterator;
-
-
- /**************************************************************************
- *
- * @function:
- * FT_Get_Color_Glyph_Layer
- *
- * @description:
- * This is an interface to the 'COLR' table in OpenType fonts to
- * iteratively retrieve the colored glyph layers associated with the
- * current glyph slot.
- *
- * https://docs.microsoft.com/en-us/typography/opentype/spec/colr
- *
- * The glyph layer data for a given glyph index, if present, provides an
- * alternative, multi-color glyph representation: Instead of rendering
- * the outline or bitmap with the given glyph index, glyphs with the
- * indices and colors returned by this function are rendered layer by
- * layer.
- *
- * The returned elements are ordered in the z~direction from bottom to
- * top; the 'n'th element should be rendered with the associated palette
- * color and blended on top of the already rendered layers (elements 0,
- * 1, ..., n-1).
- *
- * @input:
- * face ::
- * A handle to the parent face object.
- *
- * base_glyph ::
- * The glyph index the colored glyph layers are associated with.
- *
- * @inout:
- * iterator ::
- * An @FT_LayerIterator object. For the first call you should set
- * `iterator->p` to `NULL`. For all following calls, simply use the
- * same object again.
- *
- * @output:
- * aglyph_index ::
- * The glyph index of the current layer.
- *
- * acolor_index ::
- * The color index into the font face's color palette of the current
- * layer. The value 0xFFFF is special; it doesn't reference a palette
- * entry but indicates that the text foreground color should be used
- * instead (to be set up by the application outside of FreeType).
- *
- * The color palette can be retrieved with @FT_Palette_Select.
- *
- * @return:
- * Value~1 if everything is OK. If there are no more layers (or if there
- * are no layers at all), value~0 gets returned. In case of an error,
- * value~0 is returned also.
- *
- * @note:
- * This function is necessary if you want to handle glyph layers by
- * yourself. In particular, functions that operate with @FT_GlyphRec
- * objects (like @FT_Get_Glyph or @FT_Glyph_To_Bitmap) don't have access
- * to this information.
- *
- * Note that @FT_Render_Glyph is able to handle colored glyph layers
- * automatically if the @FT_LOAD_COLOR flag is passed to a previous call
- * to @FT_Load_Glyph. [This is an experimental feature.]
- *
- * @example:
- * ```
- * FT_Color* palette;
- * FT_LayerIterator iterator;
- *
- * FT_Bool have_layers;
- * FT_UInt layer_glyph_index;
- * FT_UInt layer_color_index;
- *
- *
- * error = FT_Palette_Select( face, palette_index, &palette );
- * if ( error )
- * palette = NULL;
- *
- * iterator.p = NULL;
- * have_layers = FT_Get_Color_Glyph_Layer( face,
- * glyph_index,
- * &layer_glyph_index,
- * &layer_color_index,
- * &iterator );
- *
- * if ( palette && have_layers )
- * {
- * do
- * {
- * FT_Color layer_color;
- *
- *
- * if ( layer_color_index == 0xFFFF )
- * layer_color = text_foreground_color;
- * else
- * layer_color = palette[layer_color_index];
- *
- * // Load and render glyph `layer_glyph_index', then
- * // blend resulting pixmap (using color `layer_color')
- * // with previously created pixmaps.
- *
- * } while ( FT_Get_Color_Glyph_Layer( face,
- * glyph_index,
- * &layer_glyph_index,
- * &layer_color_index,
- * &iterator ) );
- * }
- * ```
- */
- FT_EXPORT( FT_Bool )
- FT_Get_Color_Glyph_Layer( FT_Face face,
- FT_UInt base_glyph,
- FT_UInt *aglyph_index,
- FT_UInt *acolor_index,
- FT_LayerIterator* iterator );
-
-
- /**************************************************************************
- *
- * @enum:
- * FT_PaintFormat
- *
- * @description:
- * Enumeration describing the different paint format types of the v1
- * extensions to the 'COLR' table, see
- * 'https://github.com/googlefonts/colr-gradients-spec'.
- *
- * The enumeration values losely correspond with the format numbers of
- * the specification: FreeType always returns a fully specified 'Paint'
- * structure for the 'Transform', 'Translate', 'Scale', 'Rotate', and
- * 'Skew' table types even though the specification has different formats
- * depending on whether or not a center is specified, whether the scale
- * is uniform in x and y~direction or not, etc. Also, only non-variable
- * format identifiers are listed in this enumeration; as soon as support
- * for variable 'COLR' v1 fonts is implemented, interpolation is
- * performed dependent on axis coordinates, which are configured on the
- * @FT_Face through @FT_Set_Var_Design_Coordinates. This implies that
- * always static, readily interpolated values are returned in the 'Paint'
- * structures.
- *
- * @since:
- * 2.11 -- **currently experimental only!** There might be changes
- * without retaining backward compatibility of both the API and ABI.
- *
- */
- typedef enum FT_PaintFormat_
- {
- FT_COLR_PAINTFORMAT_COLR_LAYERS = 1,
- FT_COLR_PAINTFORMAT_SOLID = 2,
- FT_COLR_PAINTFORMAT_LINEAR_GRADIENT = 4,
- FT_COLR_PAINTFORMAT_RADIAL_GRADIENT = 6,
- FT_COLR_PAINTFORMAT_SWEEP_GRADIENT = 8,
- FT_COLR_PAINTFORMAT_GLYPH = 10,
- FT_COLR_PAINTFORMAT_COLR_GLYPH = 11,
- FT_COLR_PAINTFORMAT_TRANSFORM = 12,
- FT_COLR_PAINTFORMAT_TRANSLATE = 14,
- FT_COLR_PAINTFORMAT_SCALE = 16,
- FT_COLR_PAINTFORMAT_ROTATE = 24,
- FT_COLR_PAINTFORMAT_SKEW = 28,
- FT_COLR_PAINTFORMAT_COMPOSITE = 32,
- FT_COLR_PAINT_FORMAT_MAX = 33,
- FT_COLR_PAINTFORMAT_UNSUPPORTED = 255
-
- } FT_PaintFormat;
-
-
- /**************************************************************************
- *
- * @struct:
- * FT_ColorStopIterator
- *
- * @description:
- * This iterator object is needed for @FT_Get_Colorline_Stops. It keeps
- * state while iterating over the stops of an @FT_ColorLine,
- * representing the `ColorLine` struct of the v1 extensions to 'COLR',
- * see 'https://github.com/googlefonts/colr-gradients-spec'.
- *
- * @fields:
- * num_color_stops ::
- * The number of color stops for the requested glyph index. Set by
- * @FT_Get_Colorline_Stops.
- *
- * current_color_stop ::
- * The current color stop. Set by @FT_Get_Colorline_Stops.
- *
- * p ::
- * An opaque pointer into 'COLR' table data. The caller must set this
- * to `NULL` before the first call of @FT_Get_Colorline_Stops.
- *
- * @since:
- * 2.11 -- **currently experimental only!** There might be changes
- * without retaining backward compatibility of both the API and ABI.
- *
- */
- typedef struct FT_ColorStopIterator_
- {
- FT_UInt num_color_stops;
- FT_UInt current_color_stop;
-
- FT_Byte* p;
-
- } FT_ColorStopIterator;
-
-
- /**************************************************************************
- *
- * @struct:
- * FT_ColorIndex
- *
- * @description:
- * A structure representing a `ColorIndex` value of the 'COLR' v1
- * extensions, see 'https://github.com/googlefonts/colr-gradients-spec'.
- *
- * @fields:
- * palette_index ::
- * The palette index into a 'CPAL' palette.
- *
- * alpha ::
- * Alpha transparency value multiplied with the value from 'CPAL'.
- *
- * @since:
- * 2.11 -- **currently experimental only!** There might be changes
- * without retaining backward compatibility of both the API and ABI.
- *
- */
- typedef struct FT_ColorIndex_
- {
- FT_UInt16 palette_index;
- FT_F2Dot14 alpha;
-
- } FT_ColorIndex;
-
-
- /**************************************************************************
- *
- * @struct:
- * FT_ColorStop
- *
- * @description:
- * A structure representing a `ColorStop` value of the 'COLR' v1
- * extensions, see 'https://github.com/googlefonts/colr-gradients-spec'.
- *
- * @fields:
- * stop_offset ::
- * The stop offset between 0 and 1 along the gradient.
- *
- * color ::
- * The color information for this stop, see @FT_ColorIndex.
- *
- * @since:
- * 2.11 -- **currently experimental only!** There might be changes
- * without retaining backward compatibility of both the API and ABI.
- *
- */
- typedef struct FT_ColorStop_
- {
- FT_F2Dot14 stop_offset;
- FT_ColorIndex color;
-
- } FT_ColorStop;
-
-
- /**************************************************************************
- *
- * @enum:
- * FT_PaintExtend
- *
- * @description:
- * An enumeration representing the 'Extend' mode of the 'COLR' v1
- * extensions, see 'https://github.com/googlefonts/colr-gradients-spec'.
- * It describes how the gradient fill continues at the other boundaries.
- *
- * @since:
- * 2.11 -- **currently experimental only!** There might be changes
- * without retaining backward compatibility of both the API and ABI.
- *
- */
- typedef enum FT_PaintExtend_
- {
- FT_COLR_PAINT_EXTEND_PAD = 0,
- FT_COLR_PAINT_EXTEND_REPEAT = 1,
- FT_COLR_PAINT_EXTEND_REFLECT = 2
-
- } FT_PaintExtend;
-
-
- /**************************************************************************
- *
- * @struct:
- * FT_ColorLine
- *
- * @description:
- * A structure representing a `ColorLine` value of the 'COLR' v1
- * extensions, see 'https://github.com/googlefonts/colr-gradients-spec'.
- * It describes a list of color stops along the defined gradient.
- *
- * @fields:
- * extend ::
- * The extend mode at the outer boundaries, see @FT_PaintExtend.
- *
- * color_stop_iterator ::
- * The @FT_ColorStopIterator used to enumerate and retrieve the
- * actual @FT_ColorStop's.
- *
- * @since:
- * 2.11 -- **currently experimental only!** There might be changes
- * without retaining backward compatibility of both the API and ABI.
- *
- */
- typedef struct FT_ColorLine_
- {
- FT_PaintExtend extend;
- FT_ColorStopIterator color_stop_iterator;
-
- } FT_ColorLine;
-
-
- /**************************************************************************
- *
- * @struct:
- * FT_Affine23
- *
- * @description:
- * A structure used to store a 2x3 matrix. Coefficients are in
- * 16.16 fixed-point format. The computation performed is
- *
- * ```
- * x' = x*xx + y*xy + dx
- * y' = x*yx + y*yy + dy
- * ```
- *
- * @fields:
- * xx ::
- * Matrix coefficient.
- *
- * xy ::
- * Matrix coefficient.
- *
- * dx ::
- * x translation.
- *
- * yx ::
- * Matrix coefficient.
- *
- * yy ::
- * Matrix coefficient.
- *
- * dy ::
- * y translation.
- *
- * @since:
- * 2.11 -- **currently experimental only!** There might be changes
- * without retaining backward compatibility of both the API and ABI.
- *
- */
- typedef struct FT_Affine_23_
- {
- FT_Fixed xx, xy, dx;
- FT_Fixed yx, yy, dy;
-
- } FT_Affine23;
-
-
- /**************************************************************************
- *
- * @enum:
- * FT_Composite_Mode
- *
- * @description:
- * An enumeration listing the 'COLR' v1 composite modes used in
- * @FT_PaintComposite. For more details on each paint mode, see
- * 'https://www.w3.org/TR/compositing-1/#porterduffcompositingoperators'.
- *
- * @since:
- * 2.11 -- **currently experimental only!** There might be changes
- * without retaining backward compatibility of both the API and ABI.
- *
- */
- typedef enum FT_Composite_Mode_
- {
- FT_COLR_COMPOSITE_CLEAR = 0,
- FT_COLR_COMPOSITE_SRC = 1,
- FT_COLR_COMPOSITE_DEST = 2,
- FT_COLR_COMPOSITE_SRC_OVER = 3,
- FT_COLR_COMPOSITE_DEST_OVER = 4,
- FT_COLR_COMPOSITE_SRC_IN = 5,
- FT_COLR_COMPOSITE_DEST_IN = 6,
- FT_COLR_COMPOSITE_SRC_OUT = 7,
- FT_COLR_COMPOSITE_DEST_OUT = 8,
- FT_COLR_COMPOSITE_SRC_ATOP = 9,
- FT_COLR_COMPOSITE_DEST_ATOP = 10,
- FT_COLR_COMPOSITE_XOR = 11,
- FT_COLR_COMPOSITE_SCREEN = 12,
- FT_COLR_COMPOSITE_OVERLAY = 13,
- FT_COLR_COMPOSITE_DARKEN = 14,
- FT_COLR_COMPOSITE_LIGHTEN = 15,
- FT_COLR_COMPOSITE_COLOR_DODGE = 16,
- FT_COLR_COMPOSITE_COLOR_BURN = 17,
- FT_COLR_COMPOSITE_HARD_LIGHT = 18,
- FT_COLR_COMPOSITE_SOFT_LIGHT = 19,
- FT_COLR_COMPOSITE_DIFFERENCE = 20,
- FT_COLR_COMPOSITE_EXCLUSION = 21,
- FT_COLR_COMPOSITE_MULTIPLY = 22,
- FT_COLR_COMPOSITE_HSL_HUE = 23,
- FT_COLR_COMPOSITE_HSL_SATURATION = 24,
- FT_COLR_COMPOSITE_HSL_COLOR = 25,
- FT_COLR_COMPOSITE_HSL_LUMINOSITY = 26,
- FT_COLR_COMPOSITE_MAX = 27
-
- } FT_Composite_Mode;
-
-
- /**************************************************************************
- *
- * @struct:
- * FT_OpaquePaint
- *
- * @description:
- * A structure representing an offset to a `Paint` value stored in any
- * of the paint tables of a 'COLR' v1 font. Compare Offset<24> there.
- * When 'COLR' v1 paint tables represented by FreeType objects such as
- * @FT_PaintColrLayers, @FT_PaintComposite, or @FT_PaintTransform
- * reference downstream nested paint tables, we do not immediately
- * retrieve them but encapsulate their location in this type. Use
- * @FT_Get_Paint to retrieve the actual @FT_COLR_Paint object that
- * describes the details of the respective paint table.
- *
- * @fields:
- * p ::
- * An internal offset to a Paint table, needs to be set to NULL before
- * passing this struct as an argument to @FT_Get_Paint.
- *
- * insert_root_transform ::
- * An internal boolean to track whether an initial root transform is
- * to be provided. Do not set this value.
- *
- * @since:
- * 2.11 -- **currently experimental only!** There might be changes
- * without retaining backward compatibility of both the API and ABI.
- *
- */
- typedef struct FT_Opaque_Paint_
- {
- FT_Byte* p;
- FT_Bool insert_root_transform;
- } FT_OpaquePaint;
-
-
- /**************************************************************************
- *
- * @struct:
- * FT_PaintColrLayers
- *
- * @description:
- * A structure representing a `PaintColrLayers` table of a 'COLR' v1
- * font. This table describes a set of layers that are to be composited
- * with composite mode `FT_COLR_COMPOSITE_SRC_OVER`. The return value
- * of this function is an @FT_LayerIterator initialized so that it can
- * be used with @FT_Get_Paint_Layers to retrieve the @FT_OpaquePaint
- * objects as references to each layer.
- *
- * @fields:
- * layer_iterator ::
- * The layer iterator that describes the layers of this paint.
- *
- * @since:
- * 2.11 -- **currently experimental only!** There might be changes
- * without retaining backward compatibility of both the API and ABI.
- *
- */
- typedef struct FT_PaintColrLayers_
- {
- FT_LayerIterator layer_iterator;
-
- } FT_PaintColrLayers;
-
-
- /**************************************************************************
- *
- * @struct:
- * FT_PaintSolid
- *
- * @description:
- * A structure representing a `PaintSolid` value of the 'COLR' v1
- * extensions, see 'https://github.com/googlefonts/colr-gradients-spec'.
- * Using a `PaintSolid` value means that the glyph layer filled with
- * this paint is solid-colored and does not contain a gradient.
- *
- * @fields:
- * color ::
- * The color information for this solid paint, see @FT_ColorIndex.
- *
- * @since:
- * 2.11 -- **currently experimental only!** There might be changes
- * without retaining backward compatibility of both the API and ABI.
- *
- */
- typedef struct FT_PaintSolid_
- {
- FT_ColorIndex color;
-
- } FT_PaintSolid;
-
-
- /**************************************************************************
- *
- * @struct:
- * FT_PaintLinearGradient
- *
- * @description:
- * A structure representing a `PaintLinearGradient` value of the 'COLR'
- * v1 extensions, see
- * 'https://github.com/googlefonts/colr-gradients-spec'. The glyph
- * layer filled with this paint is drawn filled with a linear gradient.
- *
- * @fields:
- * colorline ::
- * The @FT_ColorLine information for this paint, i.e., the list of
- * color stops along the gradient.
- *
- * p0 ::
- * The starting point of the gradient definition (in font units).
- *
- * p1 ::
- * The end point of the gradient definition (in font units).
- *
- * p2 ::
- * Optional point~p2 to rotate the gradient (in font units).
- * Otherwise equal to~p0.
- *
- * @since:
- * 2.11 -- **currently experimental only!** There might be changes
- * without retaining backward compatibility of both the API and ABI.
- *
- */
- typedef struct FT_PaintLinearGradient_
- {
- FT_ColorLine colorline;
-
- /* TODO: Potentially expose those as x0, y0 etc. */
- FT_Vector p0;
- FT_Vector p1;
- FT_Vector p2;
-
- } FT_PaintLinearGradient;
-
-
- /**************************************************************************
- *
- * @struct:
- * FT_PaintRadialGradient
- *
- * @description:
- * A structure representing a `PaintRadialGradient` value of the 'COLR'
- * v1 extensions, see
- * 'https://github.com/googlefonts/colr-gradients-spec'. The glyph
- * layer filled with this paint is drawn filled filled with a radial
- * gradient.
- *
- * @fields:
- * colorline ::
- * The @FT_ColorLine information for this paint, i.e., the list of
- * color stops along the gradient.
- *
- * c0 ::
- * The center of the starting point of the radial gradient (in font
- * units).
- *
- * r0 ::
- * The radius of the starting circle of the radial gradient (in font
- * units).
- *
- * c1 ::
- * The center of the end point of the radial gradient (in font units).
- *
- * r1 ::
- * The radius of the end circle of the radial gradient (in font
- * units).
- *
- * @since:
- * 2.11 -- **currently experimental only!** There might be changes
- * without retaining backward compatibility of both the API and ABI.
- *
- */
- typedef struct FT_PaintRadialGradient_
- {
- FT_ColorLine colorline;
-
- FT_Vector c0;
- FT_UShort r0;
- FT_Vector c1;
- FT_UShort r1;
-
- } FT_PaintRadialGradient;
-
-
- /**************************************************************************
- *
- * @struct:
- * FT_PaintSweepGradient
- *
- * @description:
- * A structure representing a `PaintSweepGradient` value of the 'COLR'
- * v1 extensions, see
- * 'https://github.com/googlefonts/colr-gradients-spec'. The glyph
- * layer filled with this paint is drawn filled with a sweep gradient
- * from `start_angle` to `end_angle`.
- *
- * @fields:
- * colorline ::
- * The @FT_ColorLine information for this paint, i.e., the list of
- * color stops along the gradient.
- *
- * center ::
- * The center of the sweep gradient (in font units).
- *
- * start_angle ::
- * The start angle of the sweep gradient, in 16.16 fixed point format
- * specifying degrees. Values are given counter-clockwise, starting
- * from the (positive) y~axis.
- *
- * end_angle ::
- * The end angle of the sweep gradient, in 16.16 fixed point format
- * specifying degrees. Values are given counter-clockwise, starting
- * from the (positive) y~axis.
- *
- * @since:
- * 2.11 -- **currently experimental only!** There might be changes
- * without retaining backward compatibility of both the API and ABI.
- *
- */
- typedef struct FT_PaintSweepGradient_
- {
- FT_ColorLine colorline;
-
- FT_Vector center;
- FT_Fixed start_angle;
- FT_Fixed end_angle;
-
- } FT_PaintSweepGradient;
-
-
- /**************************************************************************
- *
- * @struct:
- * FT_PaintGlyph
- *
- * @description:
- * A structure representing a 'COLR' v1 `PaintGlyph` paint table.
- *
- * @fields:
- * paint ::
- * An opaque paint object pointing to a `Paint` table that serves as
- * the fill for the glyph ID.
- *
- * glyphID ::
- * The glyph ID from the 'glyf' table, which serves as the contour
- * information that is filled with paint.
- *
- * @since:
- * 2.11 -- **currently experimental only!** There might be changes
- * without retaining backward compatibility of both the API and ABI.
- *
- */
- typedef struct FT_PaintGlyph_
- {
- FT_OpaquePaint paint;
- FT_UInt glyphID;
-
- } FT_PaintGlyph;
-
-
- /**************************************************************************
- *
- * @struct:
- * FT_PaintColrGlyph
- *
- * @description:
- * A structure representing a 'COLR' v1 `PaintColorGlyph` paint table.
- *
- * @fields:
- * glyphID ::
- * The glyph ID from the `BaseGlyphV1List` table that is drawn for
- * this paint.
- *
- * @since:
- * 2.11 -- **currently experimental only!** There might be changes
- * without retaining backward compatibility of both the API and ABI.
- *
- */
- typedef struct FT_PaintColrGlyph_
- {
- FT_UInt glyphID;
-
- } FT_PaintColrGlyph;
-
-
- /**************************************************************************
- *
- * @struct:
- * FT_PaintTransform
- *
- * @description:
- * A structure representing a 'COLR' v1 `PaintTransform` paint table.
- *
- * @fields:
- * paint ::
- * An opaque paint that is subject to being transformed.
- *
- * affine ::
- * A 2x3 transformation matrix in @FT_Affine23 format.
- *
- * @since:
- * 2.11 -- **currently experimental only!** There might be changes
- * without retaining backward compatibility of both the API and ABI.
- *
- */
- typedef struct FT_PaintTransform_
- {
- FT_OpaquePaint paint;
- FT_Affine23 affine;
-
- } FT_PaintTransform;
-
-
- /**************************************************************************
- *
- * @struct:
- * FT_PaintTranslate
- *
- * @description:
- * A structure representing a 'COLR' v1 `PaintTranslate` paint table.
- * Used for translating downstream paints by a given x and y~delta.
- *
- * @fields:
- * paint ::
- * An @FT_OpaquePaint object referencing the paint that is to be
- * rotated.
- *
- * dx ::
- * Translation in x~direction (in font units).
- *
- * dy ::
- * Translation in y~direction (in font units).
- *
- * @since:
- * 2.11 -- **currently experimental only!** There might be changes
- * without retaining backward compatibility of both the API and ABI.
- *
- */
- typedef struct FT_PaintTranslate_
- {
- FT_OpaquePaint paint;
-
- FT_Fixed dx;
- FT_Fixed dy;
-
- } FT_PaintTranslate;
-
-
- /**************************************************************************
- *
- * @struct:
- * FT_PaintScale
- *
- * @description:
- * A structure representing all of the 'COLR' v1 'PaintScale*' paint
- * tables. Used for scaling downstream paints by a given x and y~scale,
- * with a given center. This structure is used for all 'PaintScale*'
- * types that are part of specification; fields of this structure are
- * filled accordingly. If there is a center, the center values are set,
- * otherwise they are set to the zero coordinate. If the source font
- * file has 'PaintScaleUniform*' set, the scale values are set
- * accordingly to the same value.
- *
- * @fields:
- * paint ::
- * An @FT_OpaquePaint object referencing the paint that is to be
- * scaled.
- *
- * scale_x ::
- * Scale factor in x~direction.
- *
- * scale_y ::
- * Scale factor in y~direction.
- *
- * center_x ::
- * x~coordinate of center point to scale from.
- *
- * center_y ::
- * y~coordinate of center point to scale from.
- *
- * @since:
- * 2.11 -- **currently experimental only!** There might be changes
- * without retaining backward-compatibility of both the API and ABI.
- *
- */
- typedef struct FT_PaintScale_
- {
- FT_OpaquePaint paint;
-
- FT_Fixed scale_x;
- FT_Fixed scale_y;
-
- FT_Fixed center_x;
- FT_Fixed center_y;
-
- } FT_PaintScale;
-
-
- /**************************************************************************
- *
- * @struct:
- * FT_PaintRotate
- *
- * @description:
- * A structure representing a 'COLR' v1 `PaintRotate` paint table. Used
- * for rotating downstream paints with a given center and angle.
- *
- * @fields:
- * paint ::
- * An @FT_OpaquePaint object referencing the paint that is to be
- * rotated.
- *
- * angle ::
- * The rotation angle that is to be applied.
- *
- * center_x ::
- * The x~coordinate of the pivot point of the rotation (in font
- * units).
- *
- * center_y ::
- * The y~coordinate of the pivot point of the rotation (in font
- * units).
- *
- * @since:
- * 2.11 -- **currently experimental only!** There might be changes
- * without retaining backward compatibility of both the API and ABI.
- *
- */
-
- typedef struct FT_PaintRotate_
- {
- FT_OpaquePaint paint;
-
- FT_Fixed angle;
-
- FT_Fixed center_x;
- FT_Fixed center_y;
-
- } FT_PaintRotate;
-
-
- /**************************************************************************
- *
- * @struct:
- * FT_PaintSkew
- *
- * @description:
- * A structure representing a 'COLR' v1 `PaintSkew` paint table. Used
- * for skewing or shearing downstream paints by a given center and
- * angle.
- *
- * @fields:
- * paint ::
- * An @FT_OpaquePaint object referencing the paint that is to be
- * skewed.
- *
- * x_skew_angle ::
- * The skewing angle in x~direction.
- *
- * y_skew_angle ::
- * The skewing angle in y~direction.
- *
- * center_x ::
- * The x~coordinate of the pivot point of the skew (in font units).
- *
- * center_y ::
- * The y~coordinate of the pivot point of the skew (in font units).
- *
- * @since:
- * 2.11 -- **currently experimental only!** There might be changes
- * without retaining backward compatibility of both the API and ABI.
- *
- */
- typedef struct FT_PaintSkew_
- {
- FT_OpaquePaint paint;
-
- FT_Fixed x_skew_angle;
- FT_Fixed y_skew_angle;
-
- FT_Fixed center_x;
- FT_Fixed center_y;
-
- } FT_PaintSkew;
-
-
- /**************************************************************************
- *
- * @struct:
- * FT_PaintComposite
- *
- * @description:
- * A structure representing a 'COLR'v1 `PaintComposite` paint table.
- * Used for compositing two paints in a 'COLR' v1 directed acycling
- * graph.
- *
- * @fields:
- * source_paint ::
- * An @FT_OpaquePaint object referencing the source that is to be
- * composited.
- *
- * composite_mode ::
- * An @FT_Composite_Mode enum value determining the composition
- * operation.
- *
- * backdrop_paint ::
- * An @FT_OpaquePaint object referencing the backdrop paint that
- * `source_paint` is composited onto.
- *
- * @since:
- * 2.11 -- **currently experimental only!** There might be changes
- * without retaining backward compatibility of both the API and ABI.
- *
- */
- typedef struct FT_PaintComposite_
- {
- FT_OpaquePaint source_paint;
- FT_Composite_Mode composite_mode;
- FT_OpaquePaint backdrop_paint;
-
- } FT_PaintComposite;
-
-
- /**************************************************************************
- *
- * @union:
- * FT_COLR_Paint
- *
- * @description:
- * A union object representing format and details of a paint table of a
- * 'COLR' v1 font, see
- * 'https://github.com/googlefonts/colr-gradients-spec'. Use
- * @FT_Get_Paint to retrieve a @FT_COLR_Paint for an @FT_OpaquePaint
- * object.
- *
- * @fields:
- * format ::
- * The gradient format for this Paint structure.
- *
- * u ::
- * Union of all paint table types:
- *
- * * @FT_PaintColrLayers
- * * @FT_PaintGlyph
- * * @FT_PaintSolid
- * * @FT_PaintLinearGradient
- * * @FT_PaintRadialGradient
- * * @FT_PaintSweepGradient
- * * @FT_PaintTransform
- * * @FT_PaintTranslate
- * * @FT_PaintRotate
- * * @FT_PaintSkew
- * * @FT_PaintComposite
- * * @FT_PaintColrGlyph
- *
- * @since:
- * 2.11 -- **currently experimental only!** There might be changes
- * without retaining backward compatibility of both the API and ABI.
- *
- */
- typedef struct FT_COLR_Paint_
- {
- FT_PaintFormat format;
-
- union
- {
- FT_PaintColrLayers colr_layers;
- FT_PaintGlyph glyph;
- FT_PaintSolid solid;
- FT_PaintLinearGradient linear_gradient;
- FT_PaintRadialGradient radial_gradient;
- FT_PaintSweepGradient sweep_gradient;
- FT_PaintTransform transform;
- FT_PaintTranslate translate;
- FT_PaintScale scale;
- FT_PaintRotate rotate;
- FT_PaintSkew skew;
- FT_PaintComposite composite;
- FT_PaintColrGlyph colr_glyph;
-
- } u;
-
- } FT_COLR_Paint;
-
-
- /**************************************************************************
- *
- * @enum:
- * FT_Color_Root_Transform
- *
- * @description:
- * An enumeration to specify whether @FT_Get_Color_Glyph_Paint is to
- * return a root transform to configure the client's graphics context
- * matrix.
- *
- * @values:
- * FT_COLOR_INCLUDE_ROOT_TRANSFORM ::
- * Do include the root transform as the initial @FT_COLR_Paint object.
- *
- * FT_COLOR_NO_ROOT_TRANSFORM ::
- * Do not output an initial root transform.
- *
- * @since:
- * 2.11 -- **currently experimental only!** There might be changes
- * without retaining backward compatibility of both the API and ABI.
- *
- */
- typedef enum FT_Color_Root_Transform_
- {
- FT_COLOR_INCLUDE_ROOT_TRANSFORM,
- FT_COLOR_NO_ROOT_TRANSFORM,
-
- FT_COLOR_ROOT_TRANSFORM_MAX
-
- } FT_Color_Root_Transform;
-
-
- /**************************************************************************
- *
- * @function:
- * FT_Get_Color_Glyph_Paint
- *
- * @description:
- * This is the starting point and interface to color gradient
- * information in a 'COLR' v1 table in OpenType fonts to recursively
- * retrieve the paint tables for the directed acyclic graph of a colored
- * glyph, given a glyph ID.
- *
- * https://github.com/googlefonts/colr-gradients-spec
- *
- * In a 'COLR' v1 font, each color glyph defines a directed acyclic
- * graph of nested paint tables, such as `PaintGlyph`, `PaintSolid`,
- * `PaintLinearGradient`, `PaintRadialGradient`, and so on. Using this
- * function and specifying a glyph ID, one retrieves the root paint
- * table for this glyph ID.
- *
- * This function allows control whether an initial root transform is
- * returned to configure scaling, transform, and translation correctly
- * on the client's graphics context. The initial root transform is
- * computed and returned according to the values configured for @FT_Size
- * and @FT_Set_Transform on the @FT_Face object, see below for details
- * of the `root_transform` parameter. This has implications for a
- * client 'COLR' v1 implementation: When this function returns an
- * initially computed root transform, at the time of executing the
- * @FT_PaintGlyph operation, the contours should be retrieved using
- * @FT_Load_Glyph at unscaled, untransformed size. This is because the
- * root transform applied to the graphics context will take care of
- * correct scaling.
- *
- * Alternatively, to allow hinting of contours, at the time of executing
- * @FT_Load_Glyph, the current graphics context transformation matrix
- * can be decomposed into a scaling matrix and a remainder, and
- * @FT_Load_Glyph can be used to retrieve the contours at scaled size.
- * Care must then be taken to blit or clip to the graphics context with
- * taking this remainder transformation into account.
- *
- * @input:
- * face ::
- * A handle to the parent face object.
- *
- * base_glyph ::
- * The glyph index for which to retrieve the root paint table.
- *
- * root_transform ::
- * Specifies whether an initially computed root is returned by the
- * @FT_PaintTransform operation to account for the activated size
- * (see @FT_Activate_Size) and the configured transform and translate
- * (see @FT_Set_Transform).
- *
- * This root transform is returned before nodes of the glyph graph of
- * the font are returned. Subsequent @FT_COLR_Paint structures
- * contain unscaled and untransformed values. The inserted root
- * transform enables the client application to apply an initial
- * transform to its graphics context. When executing subsequent
- * FT_COLR_Paint operations, values from @FT_COLR_Paint operations
- * will ultimately be correctly scaled because of the root transform
- * applied to the graphics context. Use
- * @FT_COLOR_INCLUDE_ROOT_TRANSFORM to include the root transform, use
- * @FT_COLOR_NO_ROOT_TRANSFORM to not include it. The latter may be
- * useful when traversing the 'COLR' v1 glyph graph and reaching a
- * @FT_PaintColrGlyph. When recursing into @FT_PaintColrGlyph and
- * painting that inline, no additional root transform is needed as it
- * has already been applied to the graphics context at the beginning
- * of drawing this glyph.
- *
- * @output:
- * paint ::
- * The @FT_OpaquePaint object that references the actual paint table.
- *
- * The respective actual @FT_COLR_Paint object is retrieved via
- * @FT_Get_Paint.
- *
- * @return:
- * Value~1 if everything is OK. If no color glyph is found, or the root
- * paint could not be retrieved, value~0 gets returned. In case of an
- * error, value~0 is returned also.
- *
- * @since:
- * 2.11 -- **currently experimental only!** There might be changes
- * without retaining backward compatibility of both the API and ABI.
- *
- */
- FT_EXPORT( FT_Bool )
- FT_Get_Color_Glyph_Paint( FT_Face face,
- FT_UInt base_glyph,
- FT_Color_Root_Transform root_transform,
- FT_OpaquePaint* paint );
-
-
- /**************************************************************************
- *
- * @function:
- * FT_Get_Paint_Layers
- *
- * @description:
- * Access the layers of a `PaintColrLayers` table.
- *
- * If the root paint of a color glyph, or a nested paint of a 'COLR'
- * glyph is a `PaintColrLayers` table, this function retrieves the
- * layers of the `PaintColrLayers` table.
- *
- * The @FT_PaintColrLayers object contains an @FT_LayerIterator, which
- * is used here to iterate over the layers. Each layer is returned as
- * an @FT_OpaquePaint object, which then can be used with @FT_Get_Paint
- * to retrieve the actual paint object.
- *
- * @input:
- * face ::
- * A handle to the parent face object.
- *
- * @inout:
- * iterator ::
- * The @FT_LayerIterator from an @FT_PaintColrLayers object, for which
- * the layers are to be retrieved. The internal state of the iterator
- * is incremented after one call to this function for retrieving one
- * layer.
- *
- * @output:
- * paint ::
- * The @FT_OpaquePaint object that references the actual paint table.
- * The respective actual @FT_COLR_Paint object is retrieved via
- * @FT_Get_Paint.
- *
- * @return:
- * Value~1 if everything is OK. Value~0 gets returned when the paint
- * object can not be retrieved or any other error occurs.
- *
- * @since:
- * 2.11 -- **currently experimental only!** There might be changes
- * without retaining backward compatibility of both the API and ABI.
- *
- */
- FT_EXPORT( FT_Bool )
- FT_Get_Paint_Layers( FT_Face face,
- FT_LayerIterator* iterator,
- FT_OpaquePaint* paint );
-
-
- /**************************************************************************
- *
- * @function:
- * FT_Get_Colorline_Stops
- *
- * @description:
- * This is an interface to color gradient information in a 'COLR' v1
- * table in OpenType fonts to iteratively retrieve the gradient and
- * solid fill information for colored glyph layers for a specified glyph
- * ID.
- *
- * https://github.com/googlefonts/colr-gradients-spec
- *
- * @input:
- * face ::
- * A handle to the parent face object.
- *
- * @inout:
- * iterator ::
- * The retrieved @FT_ColorStopIterator, configured on an @FT_ColorLine,
- * which in turn got retrieved via paint information in
- * @FT_PaintLinearGradient or @FT_PaintRadialGradient.
- *
- * @output:
- * color_stop ::
- * Color index and alpha value for the retrieved color stop.
- *
- * @return:
- * Value~1 if everything is OK. If there are no more color stops,
- * value~0 gets returned. In case of an error, value~0 is returned
- * also.
- *
- * @since:
- * 2.11 -- **currently experimental only!** There might be changes
- * without retaining backward compatibility of both the API and ABI.
- *
- */
- FT_EXPORT( FT_Bool )
- FT_Get_Colorline_Stops( FT_Face face,
- FT_ColorStop* color_stop,
- FT_ColorStopIterator* iterator );
-
-
- /**************************************************************************
- *
- * @function:
- * FT_Get_Paint
- *
- * @description:
- * Access the details of a paint using an @FT_OpaquePaint opaque paint
- * object, which internally stores the offset to the respective `Paint`
- * object in the 'COLR' table.
- *
- * @input:
- * face ::
- * A handle to the parent face object.
- *
- * opaque_paint ::
- * The opaque paint object for which the underlying @FT_COLR_Paint
- * data is to be retrieved.
- *
- * @output:
- * paint ::
- * The specific @FT_COLR_Paint object containing information coming
- * from one of the font's `Paint*` tables.
- *
- * @return:
- * Value~1 if everything is OK. Value~0 if no details can be found for
- * this paint or any other error occured.
- *
- * @since:
- * 2.11 -- **currently experimental only!** There might be changes
- * without retaining backward compatibility of both the API and ABI.
- *
- */
- FT_EXPORT( FT_Bool )
- FT_Get_Paint( FT_Face face,
- FT_OpaquePaint opaque_paint,
- FT_COLR_Paint* paint );
-
/* */
diff --git a/Build/source/libs/freetype2/freetype-src/include/freetype/ftdriver.h b/Build/source/libs/freetype2/freetype-src/include/freetype/ftdriver.h
index 49366390563..804ec34a395 100644
--- a/Build/source/libs/freetype2/freetype-src/include/freetype/ftdriver.h
+++ b/Build/source/libs/freetype2/freetype-src/include/freetype/ftdriver.h
@@ -4,7 +4,7 @@
*
* FreeType API for controlling driver modules (specification only).
*
- * Copyright (C) 2017-2021 by
+ * Copyright (C) 2017-2020 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used,
@@ -53,10 +53,10 @@ FT_BEGIN_HEADER
* reasons.
*
* Available properties are @increase-x-height, @no-stem-darkening
- * (experimental), @darkening-parameters (experimental),
- * @glyph-to-script-map (experimental), @fallback-script (experimental),
- * and @default-script (experimental), as documented in the @properties
- * section.
+ * (experimental), @darkening-parameters (experimental), @warping
+ * (experimental), @glyph-to-script-map (experimental), @fallback-script
+ * (experimental), and @default-script (experimental), as documented in
+ * the @properties section.
*
*/
@@ -84,15 +84,15 @@ FT_BEGIN_HEADER
* @properties section.
*
*
- * **Hinting and anti-aliasing principles of the new engine**
+ * **Hinting and antialiasing principles of the new engine**
*
* The rasterizer is positioning horizontal features (e.g., ascender
* height & x-height, or crossbars) on the pixel grid and minimizing the
- * amount of anti-aliasing applied to them, while placing vertical
+ * amount of antialiasing applied to them, while placing vertical
* features (vertical stems) on the pixel grid without hinting, thus
* representing the stem position and weight accurately. Sometimes the
* vertical stems may be only partially black. In this context,
- * 'anti-aliasing' means that stems are not positioned exactly on pixel
+ * 'antialiasing' means that stems are not positioned exactly on pixel
* borders, causing a fuzzy appearance.
*
* There are two principles behind this approach.
@@ -108,7 +108,7 @@ FT_BEGIN_HEADER
* sizes are comparable to kerning values and thus would be noticeable
* (and distracting) while reading if hinting were applied.
*
- * One of the reasons to not hint horizontally is anti-aliasing for LCD
+ * One of the reasons to not hint horizontally is antialiasing for LCD
* screens: The pixel geometry of modern displays supplies three vertical
* subpixels as the eye moves horizontally across each visible pixel. On
* devices where we can be certain this characteristic is present a
@@ -116,7 +116,7 @@ FT_BEGIN_HEADER
* weight. In Western writing systems this turns out to be the more
* critical direction anyway; the weights and spacing of vertical stems
* (see above) are central to Armenian, Cyrillic, Greek, and Latin type
- * designs. Even when the rasterizer uses greyscale anti-aliasing instead
+ * designs. Even when the rasterizer uses greyscale antialiasing instead
* of color (a necessary compromise when one doesn't know the screen
* characteristics), the unhinted vertical features preserve the design's
* weight and spacing much better than aliased type would.
@@ -362,8 +362,12 @@ FT_BEGIN_HEADER
* The same holds for the Type~1 and CID modules if compiled with
* `T1_CONFIG_OPTION_OLD_ENGINE`.
*
- * For the 'cff' module, the default engine is 'adobe'. For both the
- * 'type1' and 't1cid' modules, the default engine is 'adobe', too.
+ * For the 'cff' module, the default engine is 'freetype' if
+ * `CFF_CONFIG_OPTION_OLD_ENGINE` is defined, and 'adobe' otherwise.
+ *
+ * For both the 'type1' and 't1cid' modules, the default engine is
+ * 'freetype' if `T1_CONFIG_OPTION_OLD_ENGINE` is defined, and 'adobe'
+ * otherwise.
*
* @note:
* This property can be used with @FT_Property_Get also.
@@ -1162,18 +1166,48 @@ FT_BEGIN_HEADER
* warping
*
* @description:
- * **Obsolete**
+ * **Experimental only**
*
- * This property was always experimental and probably never worked
- * correctly. It was entirely removed from the FreeType~2 sources. This
- * entry is only here for historical reference.
+ * If FreeType gets compiled with option `AF_CONFIG_OPTION_USE_WARPER` to
+ * activate the warp hinting code in the auto-hinter, this property
+ * switches warping on and off.
*
- * Warping only worked in 'normal' auto-hinting mode replacing it. The
- * idea of the code was to slightly scale and shift a glyph along the
+ * Warping only works in 'normal' auto-hinting mode replacing it. The
+ * idea of the code is to slightly scale and shift a glyph along the
* non-hinted dimension (which is usually the horizontal axis) so that as
- * much of its segments were aligned (more or less) to the grid. To find
+ * much of its segments are aligned (more or less) to the grid. To find
* out a glyph's optimal scaling and shifting value, various parameter
- * combinations were tried and scored.
+ * combinations are tried and scored.
+ *
+ * By default, warping is off.
+ *
+ * @note:
+ * This property can be used with @FT_Property_Get also.
+ *
+ * This property can be set via the `FREETYPE_PROPERTIES` environment
+ * variable (using values 1 and 0 for 'on' and 'off', respectively).
+ *
+ * The warping code can also change advance widths. Have a look at the
+ * `lsb_delta` and `rsb_delta` fields in the @FT_GlyphSlotRec structure
+ * for details on improving inter-glyph distances while rendering.
+ *
+ * Since warping is a global property of the auto-hinter it is best to
+ * change its value before rendering any face. Otherwise, you should
+ * reload all faces that get auto-hinted in 'normal' hinting mode.
+ *
+ * @example:
+ * This example shows how to switch on warping (omitting the error
+ * handling).
+ *
+ * ```
+ * FT_Library library;
+ * FT_Bool warping = 1;
+ *
+ *
+ * FT_Init_FreeType( &library );
+ *
+ * FT_Property_Set( library, "autofitter", "warping", &warping );
+ * ```
*
* @since:
* 2.6
diff --git a/Build/source/libs/freetype2/freetype-src/include/freetype/fterrdef.h b/Build/source/libs/freetype2/freetype-src/include/freetype/fterrdef.h
index 6e9c4ccb976..895d2d4dc86 100644
--- a/Build/source/libs/freetype2/freetype-src/include/freetype/fterrdef.h
+++ b/Build/source/libs/freetype2/freetype-src/include/freetype/fterrdef.h
@@ -4,7 +4,7 @@
*
* FreeType error codes (specification).
*
- * Copyright (C) 2002-2021 by
+ * Copyright (C) 2002-2020 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used,
diff --git a/Build/source/libs/freetype2/freetype-src/include/freetype/fterrors.h b/Build/source/libs/freetype2/freetype-src/include/freetype/fterrors.h
index 151941dde0e..60a637c77c6 100644
--- a/Build/source/libs/freetype2/freetype-src/include/freetype/fterrors.h
+++ b/Build/source/libs/freetype2/freetype-src/include/freetype/fterrors.h
@@ -4,7 +4,7 @@
*
* FreeType error code handling (specification).
*
- * Copyright (C) 1996-2021 by
+ * Copyright (C) 1996-2020 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used,
@@ -281,8 +281,6 @@ FT_BEGIN_HEADER
FT_EXPORT( const char* )
FT_Error_String( FT_Error error_code );
- /* */
-
FT_END_HEADER
diff --git a/Build/source/libs/freetype2/freetype-src/include/freetype/ftfntfmt.h b/Build/source/libs/freetype2/freetype-src/include/freetype/ftfntfmt.h
index 8e68a4a3acc..f803349cd74 100644
--- a/Build/source/libs/freetype2/freetype-src/include/freetype/ftfntfmt.h
+++ b/Build/source/libs/freetype2/freetype-src/include/freetype/ftfntfmt.h
@@ -4,7 +4,7 @@
*
* Support functions for font formats.
*
- * Copyright (C) 2002-2021 by
+ * Copyright (C) 2002-2020 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used,
diff --git a/Build/source/libs/freetype2/freetype-src/include/freetype/ftgasp.h b/Build/source/libs/freetype2/freetype-src/include/freetype/ftgasp.h
index 76c45eb3b19..6b76882c746 100644
--- a/Build/source/libs/freetype2/freetype-src/include/freetype/ftgasp.h
+++ b/Build/source/libs/freetype2/freetype-src/include/freetype/ftgasp.h
@@ -4,7 +4,7 @@
*
* Access of TrueType's 'gasp' table (specification).
*
- * Copyright (C) 2007-2021 by
+ * Copyright (C) 2007-2020 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used,
diff --git a/Build/source/libs/freetype2/freetype-src/include/freetype/ftglyph.h b/Build/source/libs/freetype2/freetype-src/include/freetype/ftglyph.h
index 479267bb68b..704619e3d09 100644
--- a/Build/source/libs/freetype2/freetype-src/include/freetype/ftglyph.h
+++ b/Build/source/libs/freetype2/freetype-src/include/freetype/ftglyph.h
@@ -4,7 +4,7 @@
*
* FreeType convenience functions to handle glyphs (specification).
*
- * Copyright (C) 1996-2021 by
+ * Copyright (C) 1996-2020 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used,
diff --git a/Build/source/libs/freetype2/freetype-src/include/freetype/ftgxval.h b/Build/source/libs/freetype2/freetype-src/include/freetype/ftgxval.h
index 21bbbde2ae1..354460a9a71 100644
--- a/Build/source/libs/freetype2/freetype-src/include/freetype/ftgxval.h
+++ b/Build/source/libs/freetype2/freetype-src/include/freetype/ftgxval.h
@@ -4,7 +4,7 @@
*
* FreeType API for validating TrueTypeGX/AAT tables (specification).
*
- * Copyright (C) 2004-2021 by
+ * Copyright (C) 2004-2020 by
* Masatake YAMATO, Redhat K.K,
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
diff --git a/Build/source/libs/freetype2/freetype-src/include/freetype/ftgzip.h b/Build/source/libs/freetype2/freetype-src/include/freetype/ftgzip.h
index ba82baba64c..ec5939a191c 100644
--- a/Build/source/libs/freetype2/freetype-src/include/freetype/ftgzip.h
+++ b/Build/source/libs/freetype2/freetype-src/include/freetype/ftgzip.h
@@ -4,7 +4,7 @@
*
* Gzip-compressed stream support.
*
- * Copyright (C) 2002-2021 by
+ * Copyright (C) 2002-2020 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used,
diff --git a/Build/source/libs/freetype2/freetype-src/include/freetype/ftimage.h b/Build/source/libs/freetype2/freetype-src/include/freetype/ftimage.h
index 66a8b89aa5a..74911620d2a 100644
--- a/Build/source/libs/freetype2/freetype-src/include/freetype/ftimage.h
+++ b/Build/source/libs/freetype2/freetype-src/include/freetype/ftimage.h
@@ -5,7 +5,7 @@
* FreeType glyph image formats and default raster interface
* (specification).
*
- * Copyright (C) 1996-2021 by
+ * Copyright (C) 1996-2020 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used,
@@ -201,11 +201,6 @@ FT_BEGIN_HEADER
#define ft_pixel_mode_pal2 FT_PIXEL_MODE_GRAY2
#define ft_pixel_mode_pal4 FT_PIXEL_MODE_GRAY4
- /* */
-
- /* For debugging, the @FT_Pixel_Mode enumeration must stay in sync */
- /* with the `pixel_modes` array in file `ftobjs.c`. */
-
/**************************************************************************
*
@@ -777,6 +772,17 @@ FT_BEGIN_HEADER
/*************************************************************************/
+ /**************************************************************************
+ *
+ * A raster is a scan converter, in charge of rendering an outline into a
+ * bitmap. This section contains the public API for rasters.
+ *
+ * Note that in FreeType 2, all rasters are now encapsulated within
+ * specific modules called 'renderers'. See `ftrender.h` for more details
+ * on renderers.
+ *
+ */
+
/**************************************************************************
*
@@ -790,35 +796,16 @@ FT_BEGIN_HEADER
* How vectorial outlines are converted into bitmaps and pixmaps.
*
* @description:
- * A raster or a rasterizer is a scan converter in charge of producing a
- * pixel coverage bitmap that can be used as an alpha channel when
- * compositing a glyph with a background. FreeType comes with two
- * rasterizers: bilevel `raster1` and anti-aliased `smooth` are two
- * separate modules. They are usually called from the high-level
- * @FT_Load_Glyph or @FT_Render_Glyph functions and produce the entire
- * coverage bitmap at once, while staying largely invisible to users.
- *
- * Instead of working with complete coverage bitmaps, it is also possible
- * to intercept consecutive pixel runs on the same scanline with the same
- * coverage, called _spans_, and process them individually. Only the
- * `smooth` rasterizer permits this when calling @FT_Outline_Render with
- * @FT_Raster_Params as described below.
- *
- * Working with either complete bitmaps or spans it is important to think
- * of them as colorless coverage objects suitable as alpha channels to
- * blend arbitrary colors with a background. For best results, it is
- * recommended to use gamma correction, too.
- *
- * This section also describes the public API needed to set up alternative
- * @FT_Renderer modules.
+ * This section contains technical definitions.
*
* @order:
+ * FT_Raster
* FT_Span
* FT_SpanFunc
+ *
* FT_Raster_Params
* FT_RASTER_FLAG_XXX
*
- * FT_Raster
* FT_Raster_NewFunc
* FT_Raster_DoneFunc
* FT_Raster_ResetFunc
@@ -831,12 +818,24 @@ FT_BEGIN_HEADER
/**************************************************************************
*
+ * @type:
+ * FT_Raster
+ *
+ * @description:
+ * An opaque handle (pointer) to a raster object. Each object can be
+ * used independently to convert an outline into a bitmap or pixmap.
+ */
+ typedef struct FT_RasterRec_* FT_Raster;
+
+
+ /**************************************************************************
+ *
* @struct:
* FT_Span
*
* @description:
- * A structure to model a single span of consecutive pixels when
- * rendering an anti-aliased bitmap.
+ * A structure used to model a single span of gray pixels when rendering
+ * an anti-aliased bitmap.
*
* @fields:
* x ::
@@ -853,8 +852,8 @@ FT_BEGIN_HEADER
* This structure is used by the span drawing callback type named
* @FT_SpanFunc that takes the y~coordinate of the span as a parameter.
*
- * The anti-aliased rasterizer produces coverage values from 0 to 255,
- * this is, from completely transparent to completely opaque.
+ * The coverage value is always between 0 and 255. If you want less gray
+ * values, the callback function has to reduce them.
*/
typedef struct FT_Span_
{
@@ -872,8 +871,8 @@ FT_BEGIN_HEADER
*
* @description:
* A function used as a call-back by the anti-aliased renderer in order
- * to let client applications draw themselves the pixel spans on each
- * scan line.
+ * to let client applications draw themselves the gray pixel spans on
+ * each scan line.
*
* @input:
* y ::
@@ -889,12 +888,11 @@ FT_BEGIN_HEADER
* User-supplied data that is passed to the callback.
*
* @note:
- * This callback allows client applications to directly render the spans
- * of the anti-aliased bitmap to any kind of surfaces.
+ * This callback allows client applications to directly render the gray
+ * spans of the anti-aliased bitmap to any kind of surfaces.
*
* This can be used to write anti-aliased outlines directly to a given
- * background bitmap using alpha compositing. It can also be used for
- * oversampling and averaging.
+ * background bitmap, and even perform translucency.
*/
typedef void
(*FT_SpanFunc)( int y,
@@ -964,17 +962,11 @@ FT_BEGIN_HEADER
* will be clipped to a box specified in the `clip_box` field of the
* @FT_Raster_Params structure. Otherwise, the `clip_box` is
* effectively set to the bounding box and all spans are generated.
- *
- * FT_RASTER_FLAG_SDF ::
- * This flag is set to indicate that a signed distance field glyph
- * image should be generated. This is only used while rendering with
- * the @FT_RENDER_MODE_SDF render mode.
*/
#define FT_RASTER_FLAG_DEFAULT 0x0
#define FT_RASTER_FLAG_AA 0x1
#define FT_RASTER_FLAG_DIRECT 0x2
#define FT_RASTER_FLAG_CLIP 0x4
-#define FT_RASTER_FLAG_SDF 0x8
/* these constants are deprecated; use the corresponding */
/* `FT_RASTER_FLAG_XXX` values instead */
@@ -1057,23 +1049,6 @@ FT_BEGIN_HEADER
/**************************************************************************
*
- * @type:
- * FT_Raster
- *
- * @description:
- * An opaque handle (pointer) to a raster object. Each object can be
- * used independently to convert an outline into a bitmap or pixmap.
- *
- * @note:
- * In FreeType 2, all rasters are now encapsulated within specific
- * @FT_Renderer modules and only used in their context.
- *
- */
- typedef struct FT_RasterRec_* FT_Raster;
-
-
- /**************************************************************************
- *
* @functype:
* FT_Raster_NewFunc
*
diff --git a/Build/source/libs/freetype2/freetype-src/include/freetype/ftincrem.h b/Build/source/libs/freetype2/freetype-src/include/freetype/ftincrem.h
index 229b947bd8b..f67655eda02 100644
--- a/Build/source/libs/freetype2/freetype-src/include/freetype/ftincrem.h
+++ b/Build/source/libs/freetype2/freetype-src/include/freetype/ftincrem.h
@@ -4,7 +4,7 @@
*
* FreeType incremental loading (specification).
*
- * Copyright (C) 2002-2021 by
+ * Copyright (C) 2002-2020 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used,
@@ -213,14 +213,9 @@ FT_BEGIN_HEADER
*
* @description:
* A function used to retrieve the basic metrics of a given glyph index
- * before accessing its data. This allows for handling font types such
- * as PCL~XL Format~1, Class~2 downloaded TrueType fonts, where the glyph
- * metrics (`hmtx` and `vmtx` tables) are permitted to be omitted from
- * the font, and the relevant metrics included in the header of the glyph
- * outline data. Importantly, this is not intended to allow custom glyph
- * metrics (for example, Postscript Metrics dictionaries), because that
- * conflicts with the requirements of outline hinting. Such custom
- * metrics must be handled separately, by the calling application.
+ * before accessing its data. This is necessary because, in certain
+ * formats like TrueType, the metrics are stored in a different place
+ * from the glyph images proper.
*
* @input:
* incremental ::
@@ -240,7 +235,7 @@ FT_BEGIN_HEADER
*
* @output:
* ametrics ::
- * The glyph metrics in font units.
+ * The replacement glyph metrics in font units.
*
*/
typedef FT_Error
@@ -269,7 +264,7 @@ FT_BEGIN_HEADER
*
* get_glyph_metrics ::
* The function to get glyph metrics. May be null if the font does not
- * require it.
+ * provide overriding glyph metrics.
*
*/
typedef struct FT_Incremental_FuncsRec_
diff --git a/Build/source/libs/freetype2/freetype-src/include/freetype/ftlcdfil.h b/Build/source/libs/freetype2/freetype-src/include/freetype/ftlcdfil.h
index 107a174da33..c6995f2ff7d 100644
--- a/Build/source/libs/freetype2/freetype-src/include/freetype/ftlcdfil.h
+++ b/Build/source/libs/freetype2/freetype-src/include/freetype/ftlcdfil.h
@@ -5,7 +5,7 @@
* FreeType API for color filtering of subpixel bitmap glyphs
* (specification).
*
- * Copyright (C) 2006-2021 by
+ * Copyright (C) 2006-2020 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used,
@@ -55,12 +55,13 @@ FT_BEGIN_HEADER
* ClearType-style LCD rendering exploits the color-striped structure of
* LCD pixels, increasing the available resolution in the direction of
* the stripe (usually horizontal RGB) by a factor of~3. Using the
- * subpixel coverages unfiltered can create severe color fringes
+ * subpixels coverages unfiltered can create severe color fringes
* especially when rendering thin features. Indeed, to produce
* black-on-white text, the nearby color subpixels must be dimmed
- * evenly. Therefore, an equalizing 5-tap FIR filter should be applied
- * to subpixel coverages regardless of pixel boundaries and should have
- * these properties:
+ * equally.
+ *
+ * A good 5-tap FIR filter should be applied to subpixel coverages
+ * regardless of pixel boundaries and should have these properties:
*
* 1. It should be symmetrical, like {~a, b, c, b, a~}, to avoid
* any shifts in appearance.
@@ -83,7 +84,7 @@ FT_BEGIN_HEADER
* Harmony LCD rendering is suitable to panels with any regular subpixel
* structure, not just monitors with 3 color striped subpixels, as long
* as the color subpixels have fixed positions relative to the pixel
- * center. In this case, each color channel can be rendered separately
+ * center. In this case, each color channel is then rendered separately
* after shifting the outline opposite to the subpixel shift so that the
* coverage maps are aligned. This method is immune to color fringes
* because the shifts do not change integral coverage.
@@ -100,9 +101,9 @@ FT_BEGIN_HEADER
* clockwise. Harmony with default LCD geometry is equivalent to
* ClearType with light filter.
*
- * As a result of ClearType filtering or Harmony shifts, the resulting
- * dimensions of LCD bitmaps can be slightly wider or taller than the
- * dimensions the original outline with regard to the pixel grid.
+ * As a result of ClearType filtering or Harmony rendering, the
+ * dimensions of LCD bitmaps can be either wider or taller than the
+ * dimensions of the corresponding outline with regard to the pixel grid.
* For example, for @FT_RENDER_MODE_LCD, the filter adds 2~subpixels to
* the left, and 2~subpixels to the right. The bitmap offset values are
* adjusted accordingly, so clients shouldn't need to modify their layout
diff --git a/Build/source/libs/freetype2/freetype-src/include/freetype/ftlist.h b/Build/source/libs/freetype2/freetype-src/include/freetype/ftlist.h
index 55f015977aa..4588922706d 100644
--- a/Build/source/libs/freetype2/freetype-src/include/freetype/ftlist.h
+++ b/Build/source/libs/freetype2/freetype-src/include/freetype/ftlist.h
@@ -4,7 +4,7 @@
*
* Generic list support for FreeType (specification).
*
- * Copyright (C) 1996-2021 by
+ * Copyright (C) 1996-2020 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used,
diff --git a/Build/source/libs/freetype2/freetype-src/include/freetype/ftlogging.h b/Build/source/libs/freetype2/freetype-src/include/freetype/ftlogging.h
deleted file mode 100644
index a558b85fafb..00000000000
--- a/Build/source/libs/freetype2/freetype-src/include/freetype/ftlogging.h
+++ /dev/null
@@ -1,184 +0,0 @@
-/****************************************************************************
- *
- * ftlogging.h
- *
- * Additional debugging APIs.
- *
- * Copyright (C) 2020-2021 by
- * David Turner, Robert Wilhelm, and Werner Lemberg.
- *
- * This file is part of the FreeType project, and may only be used,
- * modified, and distributed under the terms of the FreeType project
- * license, LICENSE.TXT. By continuing to use, modify, or distribute
- * this file you indicate that you have read the license and
- * understand and accept it fully.
- *
- */
-
-
-#ifndef FTLOGGING_H_
-#define FTLOGGING_H_
-
-
-#include <ft2build.h>
-#include FT_CONFIG_CONFIG_H
-
-
-FT_BEGIN_HEADER
-
-
- /**************************************************************************
- *
- * @section:
- * debugging_apis
- *
- * @title:
- * External Debugging APIs
- *
- * @abstract:
- * Public APIs to control the `FT_DEBUG_LOGGING` macro.
- *
- * @description:
- * This section contains the declarations of public functions that
- * enables fine control of what the `FT_DEBUG_LOGGING` macro outputs.
- *
- */
-
-
- /**************************************************************************
- *
- * @function:
- * FT_Trace_Set_Level
- *
- * @description:
- * Change the levels of tracing components of FreeType at run time.
- *
- * @input:
- * tracing_level ::
- * New tracing value.
- *
- * @example:
- * The following call makes FreeType trace everything but the 'memory'
- * component.
- *
- * ```
- * FT_Trace_Set_Level( "any:7 memory:0 );
- * ```
- *
- * @note:
- * This function does nothing if compilation option `FT_DEBUG_LOGGING`
- * isn't set.
- *
- * @since:
- * 2.11
- *
- */
- FT_EXPORT( void )
- FT_Trace_Set_Level( const char* tracing_level );
-
-
- /**************************************************************************
- *
- * @function:
- * FT_Trace_Set_Default_Level
- *
- * @description:
- * Reset tracing value of FreeType's components to the default value
- * (i.e., to the value of the `FT2_DEBUG` environment value or to NULL
- * if `FT2_DEBUG` is not set).
- *
- * @note:
- * This function does nothing if compilation option `FT_DEBUG_LOGGING`
- * isn't set.
- *
- * @since:
- * 2.11
- *
- */
- FT_EXPORT( void )
- FT_Trace_Set_Default_Level( void );
-
-
- /**************************************************************************
- *
- * @functype:
- * FT_Custom_Log_Handler
- *
- * @description:
- * A function typedef that is used to handle the logging of tracing and
- * debug messages on a file system.
- *
- * @input:
- * ft_component ::
- * The name of `FT_COMPONENT` from which the current debug or error
- * message is produced.
- *
- * fmt ::
- * Actual debug or tracing message.
- *
- * args::
- * Arguments of debug or tracing messages.
- *
- * @since:
- * 2.11
- *
- */
- typedef void
- (*FT_Custom_Log_Handler)( const char* ft_component,
- const char* fmt,
- va_list args );
-
-
- /**************************************************************************
- *
- * @function:
- * FT_Set_Log_Handler
- *
- * @description:
- * A function to set a custom log handler.
- *
- * @input:
- * handler ::
- * New logging function.
- *
- * @note:
- * This function does nothing if compilation option `FT_DEBUG_LOGGING`
- * isn't set.
- *
- * @since:
- * 2.11
- *
- */
- FT_EXPORT( void )
- FT_Set_Log_Handler( FT_Custom_Log_Handler handler );
-
-
- /**************************************************************************
- *
- * @function:
- * FT_Set_Default_Log_Handler
- *
- * @description:
- * A function to undo the effect of @FT_Set_Log_Handler, resetting the
- * log handler to FreeType's built-in version.
- *
- * @note:
- * This function does nothing if compilation option `FT_DEBUG_LOGGING`
- * isn't set.
- *
- * @since:
- * 2.11
- *
- */
- FT_EXPORT( void )
- FT_Set_Default_Log_Handler( void );
-
- /* */
-
-
-FT_END_HEADER
-
-#endif /* FTLOGGING_H_ */
-
-
-/* END */
diff --git a/Build/source/libs/freetype2/freetype-src/include/freetype/ftlzw.h b/Build/source/libs/freetype2/freetype-src/include/freetype/ftlzw.h
index fce1c9c4bb1..ae46ad6021d 100644
--- a/Build/source/libs/freetype2/freetype-src/include/freetype/ftlzw.h
+++ b/Build/source/libs/freetype2/freetype-src/include/freetype/ftlzw.h
@@ -4,7 +4,7 @@
*
* LZW-compressed stream support.
*
- * Copyright (C) 2004-2021 by
+ * Copyright (C) 2004-2020 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used,
diff --git a/Build/source/libs/freetype2/freetype-src/include/freetype/ftmac.h b/Build/source/libs/freetype2/freetype-src/include/freetype/ftmac.h
index 607af9b5895..c9de9818452 100644
--- a/Build/source/libs/freetype2/freetype-src/include/freetype/ftmac.h
+++ b/Build/source/libs/freetype2/freetype-src/include/freetype/ftmac.h
@@ -4,7 +4,7 @@
*
* Additional Mac-specific API.
*
- * Copyright (C) 1996-2021 by
+ * Copyright (C) 1996-2020 by
* Just van Rossum, David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used,
diff --git a/Build/source/libs/freetype2/freetype-src/include/freetype/ftmm.h b/Build/source/libs/freetype2/freetype-src/include/freetype/ftmm.h
index 32579e997f7..d8781a8296b 100644
--- a/Build/source/libs/freetype2/freetype-src/include/freetype/ftmm.h
+++ b/Build/source/libs/freetype2/freetype-src/include/freetype/ftmm.h
@@ -4,7 +4,7 @@
*
* FreeType Multiple Master font interface (specification).
*
- * Copyright (C) 1996-2021 by
+ * Copyright (C) 1996-2020 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used,
diff --git a/Build/source/libs/freetype2/freetype-src/include/freetype/ftmodapi.h b/Build/source/libs/freetype2/freetype-src/include/freetype/ftmodapi.h
index cb1542373fc..3f7ae82bab2 100644
--- a/Build/source/libs/freetype2/freetype-src/include/freetype/ftmodapi.h
+++ b/Build/source/libs/freetype2/freetype-src/include/freetype/ftmodapi.h
@@ -4,7 +4,7 @@
*
* FreeType modules public interface (specification).
*
- * Copyright (C) 1996-2021 by
+ * Copyright (C) 1996-2020 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used,
@@ -45,12 +45,10 @@ FT_BEGIN_HEADER
*
* @description:
* The definitions below are used to manage modules within FreeType.
- * Internal and external modules can be added, upgraded, and removed at
- * runtime. For example, an alternative renderer or proprietary font
- * driver can be registered and prioritized. Additionally, some module
- * properties can also be controlled.
+ * Modules can be added, upgraded, and removed at runtime. Additionally,
+ * some module properties can be controlled also.
*
- * Here is a list of existing values of the `module_name` field in the
+ * Here is a list of possible values of the `module_name` field in the
* @FT_Module_Class structure.
*
* ```
@@ -88,7 +86,6 @@ FT_BEGIN_HEADER
* FT_Remove_Module
* FT_Add_Default_Modules
*
- * FT_FACE_DRIVER_NAME
* FT_Property_Set
* FT_Property_Get
* FT_Set_Default_Properties
@@ -333,26 +330,6 @@ FT_BEGIN_HEADER
/**************************************************************************
*
- * @macro:
- * FT_FACE_DRIVER_NAME
- *
- * @description:
- * A macro that retrieves the name of a font driver from a face object.
- *
- * @note:
- * The font driver name is a valid `module_name` for @FT_Property_Set
- * and @FT_Property_Get. This is not the same as @FT_Get_Font_Format.
- *
- * @since:
- * 2.11
- *
- */
-#define FT_FACE_DRIVER_NAME( face ) \
- ( ( *(FT_Module_Class**)( ( face )->driver ) )->module_name )
-
-
- /**************************************************************************
- *
* @function:
* FT_Property_Set
*
@@ -508,7 +485,8 @@ FT_BEGIN_HEADER
*
* ```
* FREETYPE_PROPERTIES=truetype:interpreter-version=35 \
- * cff:no-stem-darkening=0
+ * cff:no-stem-darkening=0 \
+ * autofitter:warping=1
* ```
*
* @inout:
diff --git a/Build/source/libs/freetype2/freetype-src/include/freetype/ftmoderr.h b/Build/source/libs/freetype2/freetype-src/include/freetype/ftmoderr.h
index b417cd5ab70..f05fc53aa3f 100644
--- a/Build/source/libs/freetype2/freetype-src/include/freetype/ftmoderr.h
+++ b/Build/source/libs/freetype2/freetype-src/include/freetype/ftmoderr.h
@@ -4,7 +4,7 @@
*
* FreeType module error offsets (specification).
*
- * Copyright (C) 2001-2021 by
+ * Copyright (C) 2001-2020 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used,
@@ -171,7 +171,6 @@
FT_MODERRDEF( Type42, 0x1400, "Type 42 module" )
FT_MODERRDEF( Winfonts, 0x1500, "Windows FON/FNT module" )
FT_MODERRDEF( GXvalid, 0x1600, "GX validation module" )
- FT_MODERRDEF( Sdf, 0x1700, "Signed distance field raster module" )
#ifdef FT_MODERR_END_LIST
diff --git a/Build/source/libs/freetype2/freetype-src/include/freetype/ftotval.h b/Build/source/libs/freetype2/freetype-src/include/freetype/ftotval.h
index 00f97278594..9c00ad30b9d 100644
--- a/Build/source/libs/freetype2/freetype-src/include/freetype/ftotval.h
+++ b/Build/source/libs/freetype2/freetype-src/include/freetype/ftotval.h
@@ -4,7 +4,7 @@
*
* FreeType API for validating OpenType tables (specification).
*
- * Copyright (C) 2004-2021 by
+ * Copyright (C) 2004-2020 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used,
diff --git a/Build/source/libs/freetype2/freetype-src/include/freetype/ftoutln.h b/Build/source/libs/freetype2/freetype-src/include/freetype/ftoutln.h
index 6bb5f809a9a..84e9b144c15 100644
--- a/Build/source/libs/freetype2/freetype-src/include/freetype/ftoutln.h
+++ b/Build/source/libs/freetype2/freetype-src/include/freetype/ftoutln.h
@@ -5,7 +5,7 @@
* Support for the FT_Outline type used to store glyph shapes of
* most scalable font formats (specification).
*
- * Copyright (C) 1996-2021 by
+ * Copyright (C) 1996-2020 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used,
diff --git a/Build/source/libs/freetype2/freetype-src/include/freetype/ftparams.h b/Build/source/libs/freetype2/freetype-src/include/freetype/ftparams.h
index 04a3f441269..55ea2a38708 100644
--- a/Build/source/libs/freetype2/freetype-src/include/freetype/ftparams.h
+++ b/Build/source/libs/freetype2/freetype-src/include/freetype/ftparams.h
@@ -4,7 +4,7 @@
*
* FreeType API for possible FT_Parameter tags (specification only).
*
- * Copyright (C) 2017-2021 by
+ * Copyright (C) 2017-2020 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used,
diff --git a/Build/source/libs/freetype2/freetype-src/include/freetype/ftpfr.h b/Build/source/libs/freetype2/freetype-src/include/freetype/ftpfr.h
index fbdb14c2022..9a5383f918d 100644
--- a/Build/source/libs/freetype2/freetype-src/include/freetype/ftpfr.h
+++ b/Build/source/libs/freetype2/freetype-src/include/freetype/ftpfr.h
@@ -4,7 +4,7 @@
*
* FreeType API for accessing PFR-specific data (specification only).
*
- * Copyright (C) 2002-2021 by
+ * Copyright (C) 2002-2020 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used,
diff --git a/Build/source/libs/freetype2/freetype-src/include/freetype/ftrender.h b/Build/source/libs/freetype2/freetype-src/include/freetype/ftrender.h
index 48d489d4968..8007951b371 100644
--- a/Build/source/libs/freetype2/freetype-src/include/freetype/ftrender.h
+++ b/Build/source/libs/freetype2/freetype-src/include/freetype/ftrender.h
@@ -4,7 +4,7 @@
*
* FreeType renderer modules public interface (specification).
*
- * Copyright (C) 1996-2021 by
+ * Copyright (C) 1996-2020 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used,
diff --git a/Build/source/libs/freetype2/freetype-src/include/freetype/ftsizes.h b/Build/source/libs/freetype2/freetype-src/include/freetype/ftsizes.h
index 22366393b86..a8682a30fb8 100644
--- a/Build/source/libs/freetype2/freetype-src/include/freetype/ftsizes.h
+++ b/Build/source/libs/freetype2/freetype-src/include/freetype/ftsizes.h
@@ -4,7 +4,7 @@
*
* FreeType size objects management (specification).
*
- * Copyright (C) 1996-2021 by
+ * Copyright (C) 1996-2020 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used,
diff --git a/Build/source/libs/freetype2/freetype-src/include/freetype/ftsnames.h b/Build/source/libs/freetype2/freetype-src/include/freetype/ftsnames.h
index c7f6581cb3a..729e6ab0699 100644
--- a/Build/source/libs/freetype2/freetype-src/include/freetype/ftsnames.h
+++ b/Build/source/libs/freetype2/freetype-src/include/freetype/ftsnames.h
@@ -7,7 +7,7 @@
*
* This is _not_ used to retrieve glyph names!
*
- * Copyright (C) 1996-2021 by
+ * Copyright (C) 1996-2020 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used,
diff --git a/Build/source/libs/freetype2/freetype-src/include/freetype/ftstroke.h b/Build/source/libs/freetype2/freetype-src/include/freetype/ftstroke.h
index 88b2a8a4ed7..a759c94ddec 100644
--- a/Build/source/libs/freetype2/freetype-src/include/freetype/ftstroke.h
+++ b/Build/source/libs/freetype2/freetype-src/include/freetype/ftstroke.h
@@ -4,7 +4,7 @@
*
* FreeType path stroker (specification).
*
- * Copyright (C) 2002-2021 by
+ * Copyright (C) 2002-2020 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used,
diff --git a/Build/source/libs/freetype2/freetype-src/include/freetype/ftsynth.h b/Build/source/libs/freetype2/freetype-src/include/freetype/ftsynth.h
index 861dcb5ac5e..bdb4c5753e6 100644
--- a/Build/source/libs/freetype2/freetype-src/include/freetype/ftsynth.h
+++ b/Build/source/libs/freetype2/freetype-src/include/freetype/ftsynth.h
@@ -5,7 +5,7 @@
* FreeType synthesizing code for emboldening and slanting
* (specification).
*
- * Copyright (C) 2000-2021 by
+ * Copyright (C) 2000-2020 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used,
diff --git a/Build/source/libs/freetype2/freetype-src/include/freetype/ftsystem.h b/Build/source/libs/freetype2/freetype-src/include/freetype/ftsystem.h
index e5abb85a858..22aead71400 100644
--- a/Build/source/libs/freetype2/freetype-src/include/freetype/ftsystem.h
+++ b/Build/source/libs/freetype2/freetype-src/include/freetype/ftsystem.h
@@ -4,7 +4,7 @@
*
* FreeType low-level system interface definition (specification).
*
- * Copyright (C) 1996-2021 by
+ * Copyright (C) 1996-2020 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used,
diff --git a/Build/source/libs/freetype2/freetype-src/include/freetype/fttrigon.h b/Build/source/libs/freetype2/freetype-src/include/freetype/fttrigon.h
index dbe7b0d3881..2ce6b324c98 100644
--- a/Build/source/libs/freetype2/freetype-src/include/freetype/fttrigon.h
+++ b/Build/source/libs/freetype2/freetype-src/include/freetype/fttrigon.h
@@ -4,7 +4,7 @@
*
* FreeType trigonometric functions (specification).
*
- * Copyright (C) 2001-2021 by
+ * Copyright (C) 2001-2020 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used,
diff --git a/Build/source/libs/freetype2/freetype-src/include/freetype/fttypes.h b/Build/source/libs/freetype2/freetype-src/include/freetype/fttypes.h
index d5ca1c4f4f5..aaeb9e87851 100644
--- a/Build/source/libs/freetype2/freetype-src/include/freetype/fttypes.h
+++ b/Build/source/libs/freetype2/freetype-src/include/freetype/fttypes.h
@@ -4,7 +4,7 @@
*
* FreeType simple types definitions (specification only).
*
- * Copyright (C) 1996-2021 by
+ * Copyright (C) 1996-2020 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used,
diff --git a/Build/source/libs/freetype2/freetype-src/include/freetype/ftwinfnt.h b/Build/source/libs/freetype2/freetype-src/include/freetype/ftwinfnt.h
index b1ef3b68768..786528c6ecb 100644
--- a/Build/source/libs/freetype2/freetype-src/include/freetype/ftwinfnt.h
+++ b/Build/source/libs/freetype2/freetype-src/include/freetype/ftwinfnt.h
@@ -4,7 +4,7 @@
*
* FreeType API for accessing Windows fnt-specific data.
*
- * Copyright (C) 2003-2021 by
+ * Copyright (C) 2003-2020 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used,
diff --git a/Build/source/libs/freetype2/freetype-src/include/freetype/internal/autohint.h b/Build/source/libs/freetype2/freetype-src/include/freetype/internal/autohint.h
index 01585f5edf0..2a472e20b97 100644
--- a/Build/source/libs/freetype2/freetype-src/include/freetype/internal/autohint.h
+++ b/Build/source/libs/freetype2/freetype-src/include/freetype/internal/autohint.h
@@ -4,7 +4,7 @@
*
* High-level 'autohint' module-specific interface (specification).
*
- * Copyright (C) 1996-2021 by
+ * Copyright (C) 1996-2020 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used,
diff --git a/Build/source/libs/freetype2/freetype-src/include/freetype/internal/cffotypes.h b/Build/source/libs/freetype2/freetype-src/include/freetype/internal/cffotypes.h
index a91dd556ca2..a316fd1f302 100644
--- a/Build/source/libs/freetype2/freetype-src/include/freetype/internal/cffotypes.h
+++ b/Build/source/libs/freetype2/freetype-src/include/freetype/internal/cffotypes.h
@@ -4,7 +4,7 @@
*
* Basic OpenType/CFF object type definitions (specification).
*
- * Copyright (C) 2017-2021 by
+ * Copyright (C) 2017-2020 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used,
diff --git a/Build/source/libs/freetype2/freetype-src/include/freetype/internal/cfftypes.h b/Build/source/libs/freetype2/freetype-src/include/freetype/internal/cfftypes.h
index 99e8d413680..f21167b1e51 100644
--- a/Build/source/libs/freetype2/freetype-src/include/freetype/internal/cfftypes.h
+++ b/Build/source/libs/freetype2/freetype-src/include/freetype/internal/cfftypes.h
@@ -5,7 +5,7 @@
* Basic OpenType/CFF type definitions and interface (specification
* only).
*
- * Copyright (C) 1996-2021 by
+ * Copyright (C) 1996-2020 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used,
diff --git a/Build/source/libs/freetype2/freetype-src/include/freetype/internal/compiler-macros.h b/Build/source/libs/freetype2/freetype-src/include/freetype/internal/compiler-macros.h
index d8b61b3dc9f..97c18d3a214 100644
--- a/Build/source/libs/freetype2/freetype-src/include/freetype/internal/compiler-macros.h
+++ b/Build/source/libs/freetype2/freetype-src/include/freetype/internal/compiler-macros.h
@@ -4,7 +4,7 @@
*
* Compiler-specific macro definitions used internally by FreeType.
*
- * Copyright (C) 2020-2021 by
+ * Copyright (C) 2020 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used,
@@ -71,18 +71,12 @@ FT_BEGIN_HEADER
*/
#define FT_DUMMY_STMNT FT_BEGIN_STMNT FT_END_STMNT
-#ifdef __UINTPTR_TYPE__
- /*
- * GCC and Clang both provide a `__UINTPTR_TYPE__` that can be used to
- * avoid a dependency on `stdint.h`.
- */
-# define FT_UINT_TO_POINTER( x ) (void *)(__UINTPTR_TYPE__)(x)
-#elif defined( _WIN64 )
+#ifdef _WIN64
/* only 64bit Windows uses the LLP64 data model, i.e., */
/* 32-bit integers, 64-bit pointers. */
-# define FT_UINT_TO_POINTER( x ) (void *)(unsigned __int64)(x)
+#define FT_UINT_TO_POINTER( x ) (void *)(unsigned __int64)(x)
#else
-# define FT_UINT_TO_POINTER( x ) (void *)(unsigned long)(x)
+#define FT_UINT_TO_POINTER( x ) (void *)(unsigned long)(x)
#endif
/*
@@ -222,91 +216,79 @@ FT_BEGIN_HEADER
#define FT_EXPORT_VAR( x ) FT_FUNCTION_DECLARATION( x )
#endif
- /*
- * When compiling FreeType as a DLL or DSO with hidden visibility,
- * some systems/compilers need a special attribute in front OR after
- * the return type of function declarations.
- *
- * Two macros are used within the FreeType source code to define
- * exported library functions: `FT_EXPORT` and `FT_EXPORT_DEF`.
- *
- * - `FT_EXPORT( return_type )`
- *
- * is used in a function declaration, as in
- *
- * ```
- * FT_EXPORT( FT_Error )
- * FT_Init_FreeType( FT_Library* alibrary );
- * ```
- *
- * - `FT_EXPORT_DEF( return_type )`
- *
- * is used in a function definition, as in
- *
- * ```
- * FT_EXPORT_DEF( FT_Error )
- * FT_Init_FreeType( FT_Library* alibrary )
- * {
- * ... some code ...
- * return FT_Err_Ok;
- * }
- * ```
- *
- * You can provide your own implementation of `FT_EXPORT` and
- * `FT_EXPORT_DEF` here if you want.
- *
- * To export a variable, use `FT_EXPORT_VAR`.
- */
+ /* When compiling FreeType as a DLL or DSO with hidden visibility, */
+ /* some systems/compilers need a special attribute in front OR after */
+ /* the return type of function declarations. */
+ /* */
+ /* Two macros are used within the FreeType source code to define */
+ /* exported library functions: `FT_EXPORT` and `FT_EXPORT_DEF`. */
+ /* */
+ /* - `FT_EXPORT( return_type )` */
+ /* */
+ /* is used in a function declaration, as in */
+ /* */
+ /* ``` */
+ /* FT_EXPORT( FT_Error ) */
+ /* FT_Init_FreeType( FT_Library* alibrary ); */
+ /* ``` */
+ /* */
+ /* - `FT_EXPORT_DEF( return_type )` */
+ /* */
+ /* is used in a function definition, as in */
+ /* */
+ /* ``` */
+ /* FT_EXPORT_DEF( FT_Error ) */
+ /* FT_Init_FreeType( FT_Library* alibrary ) */
+ /* { */
+ /* ... some code ... */
+ /* return FT_Err_Ok; */
+ /* } */
+ /* ``` */
+ /* */
+ /* You can provide your own implementation of `FT_EXPORT` and */
+ /* `FT_EXPORT_DEF` here if you want. */
+ /* */
+ /* To export a variable, use `FT_EXPORT_VAR`. */
+ /* */
/* See `freetype/config/compiler_macros.h` for the `FT_EXPORT` definition */
#define FT_EXPORT_DEF( x ) FT_FUNCTION_DEFINITION( x )
- /*
- * The following macros are needed to compile the library with a
- * C++ compiler and with 16bit compilers.
- */
-
- /*
- * This is special. Within C++, you must specify `extern "C"` for
- * functions which are used via function pointers, and you also
- * must do that for structures which contain function pointers to
- * assure C linkage -- it's not possible to have (local) anonymous
- * functions which are accessed by (global) function pointers.
- *
- *
- * FT_CALLBACK_DEF is used to _define_ a callback function,
- * located in the same source code file as the structure that uses
- * it. FT_COMPARE_DEF, in addition, ensures the `cdecl` calling
- * convention on x86, required by the C library function `qsort`.
- *
- * FT_BASE_CALLBACK and FT_BASE_CALLBACK_DEF are used to declare
- * and define a callback function, respectively, in a similar way
- * as FT_BASE and FT_BASE_DEF work.
- *
- * FT_CALLBACK_TABLE is used to _declare_ a constant variable that
- * contains pointers to callback functions.
- *
- * FT_CALLBACK_TABLE_DEF is used to _define_ a constant variable
- * that contains pointers to callback functions.
- *
- *
- * Some 16bit compilers have to redefine these macros to insert
- * the infamous `_cdecl` or `__fastcall` declarations.
- */
+ /* The following macros are needed to compile the library with a */
+ /* C++ compiler and with 16bit compilers. */
+ /* */
+
+ /* This is special. Within C++, you must specify `extern "C"` for */
+ /* functions which are used via function pointers, and you also */
+ /* must do that for structures which contain function pointers to */
+ /* assure C linkage -- it's not possible to have (local) anonymous */
+ /* functions which are accessed by (global) function pointers. */
+ /* */
+ /* */
+ /* FT_CALLBACK_DEF is used to _define_ a callback function, */
+ /* located in the same source code file as the structure that uses */
+ /* it. */
+ /* */
+ /* FT_BASE_CALLBACK and FT_BASE_CALLBACK_DEF are used to declare */
+ /* and define a callback function, respectively, in a similar way */
+ /* as FT_BASE and FT_BASE_DEF work. */
+ /* */
+ /* FT_CALLBACK_TABLE is used to _declare_ a constant variable that */
+ /* contains pointers to callback functions. */
+ /* */
+ /* FT_CALLBACK_TABLE_DEF is used to _define_ a constant variable */
+ /* that contains pointers to callback functions. */
+ /* */
+ /* */
+ /* Some 16bit compilers have to redefine these macros to insert */
+ /* the infamous `_cdecl` or `__fastcall` declarations. */
+ /* */
#ifdef __cplusplus
#define FT_CALLBACK_DEF( x ) extern "C" x
#else
#define FT_CALLBACK_DEF( x ) static x
#endif
-#if defined( __i386__ )
-#define FT_COMPARE_DEF( x ) FT_CALLBACK_DEF( x ) __attribute__(( cdecl ))
-#elif defined( _M_IX86 )
-#define FT_COMPARE_DEF( x ) FT_CALLBACK_DEF( x ) __cdecl
-#else
-#define FT_COMPARE_DEF( x ) FT_CALLBACK_DEF( x )
-#endif
-
#define FT_BASE_CALLBACK( x ) FT_FUNCTION_DECLARATION( x )
#define FT_BASE_CALLBACK_DEF( x ) FT_FUNCTION_DEFINITION( x )
diff --git a/Build/source/libs/freetype2/freetype-src/include/freetype/internal/ftcalc.h b/Build/source/libs/freetype2/freetype-src/include/freetype/internal/ftcalc.h
index 15025e871a8..c65307472f9 100644
--- a/Build/source/libs/freetype2/freetype-src/include/freetype/internal/ftcalc.h
+++ b/Build/source/libs/freetype2/freetype-src/include/freetype/internal/ftcalc.h
@@ -4,7 +4,7 @@
*
* Arithmetic computations (specification).
*
- * Copyright (C) 1996-2021 by
+ * Copyright (C) 1996-2020 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used,
diff --git a/Build/source/libs/freetype2/freetype-src/include/freetype/internal/ftdebug.h b/Build/source/libs/freetype2/freetype-src/include/freetype/internal/ftdebug.h
index b9787a7098a..df5357ad550 100644
--- a/Build/source/libs/freetype2/freetype-src/include/freetype/internal/ftdebug.h
+++ b/Build/source/libs/freetype2/freetype-src/include/freetype/internal/ftdebug.h
@@ -4,7 +4,7 @@
*
* Debugging and logging component (specification).
*
- * Copyright (C) 1996-2021 by
+ * Copyright (C) 1996-2020 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used,
@@ -31,23 +31,9 @@
#include "compiler-macros.h"
-#ifdef FT_DEBUG_LOGGING
-#include <dlg/output.h>
-#include <dlg/dlg.h>
-
-#include <freetype/ftlogging.h>
-#endif /* FT_DEBUG_LOGGING */
-
FT_BEGIN_HEADER
- /* force the definition of FT_DEBUG_LEVEL_TRACE if FT_DEBUG_LOGGING is */
- /* already defined. */
- /* */
-#ifdef FT_DEBUG_LOGGING
-#undef FT_DEBUG_LEVEL_TRACE
-#define FT_DEBUG_LEVEL_TRACE
-#endif
/* force the definition of FT_DEBUG_LEVEL_ERROR if FT_DEBUG_LEVEL_TRACE */
/* is already defined; this simplifies the following #ifdefs */
@@ -96,67 +82,21 @@ FT_BEGIN_HEADER
* Each component must define the macro FT_COMPONENT to a valid FT_Trace
* value before using any TRACE macro.
*
- * To get consistent logging output, there should be no newline character
- * (i.e., '\n') or a single trailing one in the message string of
- * `FT_TRACEx` and `FT_ERROR`.
- */
-
-
- /*************************************************************************
- *
- * If FT_DEBUG_LOGGING is enabled, tracing messages are sent to dlg's API.
- * If FT_DEBUG_LOGGING is disabled, tracing messages are sent to
- * `FT_Message` (defined in ftdebug.c).
*/
-#ifdef FT_DEBUG_LOGGING
-
- /* we need two macros to convert the names of `FT_COMPONENT` to a string */
-#define FT_LOGGING_TAG( x ) FT_LOGGING_TAG_( x )
-#define FT_LOGGING_TAG_( x ) #x
- /* we need two macros to convert the component and the trace level */
- /* to a string that combines them */
-#define FT_LOGGING_TAGX( x, y ) FT_LOGGING_TAGX_( x, y )
-#define FT_LOGGING_TAGX_( x, y ) #x ":" #y
+#ifdef FT_DEBUG_LEVEL_TRACE
+ /* we need two macros here to make cpp expand `FT_COMPONENT' */
+#define FT_TRACE_COMP( x ) FT_TRACE_COMP_( x )
+#define FT_TRACE_COMP_( x ) trace_ ## x
-#define FT_LOG( level, varformat ) \
- do \
- { \
- const char* dlg_tag = FT_LOGGING_TAGX( FT_COMPONENT, level ); \
- \
- \
- ft_add_tag( dlg_tag ); \
- if ( ft_trace_levels[FT_TRACE_COMP( FT_COMPONENT )] >= level ) \
- { \
- if ( custom_output_handler != NULL ) \
- FT_Logging_Callback varformat; \
- else \
- dlg_trace varformat; \
- } \
- ft_remove_tag( dlg_tag ); \
- } while( 0 )
-
-#else /* !FT_DEBUG_LOGGING */
-
-#define FT_LOG( level, varformat ) \
+#define FT_TRACE( level, varformat ) \
do \
{ \
if ( ft_trace_levels[FT_TRACE_COMP( FT_COMPONENT )] >= level ) \
FT_Message varformat; \
} while ( 0 )
-#endif /* !FT_DEBUG_LOGGING */
-
-
-#ifdef FT_DEBUG_LEVEL_TRACE
-
- /* we need two macros here to make cpp expand `FT_COMPONENT' */
-#define FT_TRACE_COMP( x ) FT_TRACE_COMP_( x )
-#define FT_TRACE_COMP_( x ) trace_ ## x
-
-#define FT_TRACE( level, varformat ) FT_LOG( level, varformat )
-
#else /* !FT_DEBUG_LEVEL_TRACE */
#define FT_TRACE( level, varformat ) do { } while ( 0 ) /* nothing */
@@ -264,32 +204,7 @@ FT_BEGIN_HEADER
#ifdef FT_DEBUG_LEVEL_ERROR
- /**************************************************************************
- *
- * If FT_DEBUG_LOGGING is enabled, error messages are sent to dlg's API.
- * If FT_DEBUG_LOGGING is disabled, error messages are sent to `FT_Message`
- * (defined in ftdebug.c).
- *
- */
-#ifdef FT_DEBUG_LOGGING
-
-#define FT_ERROR( varformat ) \
- do \
- { \
- const char* dlg_tag = FT_LOGGING_TAG( FT_COMPONENT ); \
- \
- \
- ft_add_tag( dlg_tag ); \
- dlg_trace varformat; \
- ft_remove_tag( dlg_tag ); \
- } while ( 0 )
-
-#else /* !FT_DEBUG_LOGGING */
-
-#define FT_ERROR( varformat ) FT_Message varformat
-
-#endif /* !FT_DEBUG_LOGGING */
-
+#define FT_ERROR( varformat ) FT_Message varformat
#else /* !FT_DEBUG_LEVEL_ERROR */
@@ -362,77 +277,6 @@ FT_BEGIN_HEADER
FT_BASE( void )
ft_debug_init( void );
-
-#ifdef FT_DEBUG_LOGGING
-
- /**************************************************************************
- *
- * 'dlg' uses output handlers to control how and where log messages are
- * printed. Therefore we need to define a default output handler for
- * FreeType.
- */
- FT_BASE( void )
- ft_log_handler( const struct dlg_origin* origin,
- const char* string,
- void* data );
-
-
- /**************************************************************************
- *
- * 1. `ft_default_log_handler` stores the function pointer that is used
- * internally by FreeType to print logs to a file.
- *
- * 2. `custom_output_handler` stores the function pointer to the callback
- * function provided by the user.
- *
- * It is defined in `ftdebug.c`.
- */
- extern dlg_handler ft_default_log_handler;
- extern FT_Custom_Log_Handler custom_output_handler;
-
-
- /**************************************************************************
- *
- * If FT_DEBUG_LOGGING macro is enabled, FreeType needs to initialize and
- * un-initialize `FILE*`.
- *
- * These functions are defined in `ftdebug.c`.
- */
- FT_BASE( void )
- ft_logging_init( void );
-
- FT_BASE( void )
- ft_logging_deinit( void );
-
-
- /**************************************************************************
- *
- * For printing the name of `FT_COMPONENT` along with the actual log we
- * need to add a tag with the name of `FT_COMPONENT`.
- *
- * These functions are defined in `ftdebug.c`.
- */
- FT_BASE( void )
- ft_add_tag( const char* tag );
-
- FT_BASE( void )
- ft_remove_tag( const char* tag );
-
-
- /**************************************************************************
- *
- * A function to print log data using a custom callback logging function
- * (which is set using `FT_Set_Log_Handler`).
- *
- * This function is defined in `ftdebug.c`.
- */
- FT_BASE( void )
- FT_Logging_Callback( const char* fmt,
- ... );
-
-#endif /* FT_DEBUG_LOGGING */
-
-
FT_END_HEADER
#endif /* FTDEBUG_H_ */
diff --git a/Build/source/libs/freetype2/freetype-src/include/freetype/internal/ftdrv.h b/Build/source/libs/freetype2/freetype-src/include/freetype/internal/ftdrv.h
index 0db323d5abd..7f22710eae3 100644
--- a/Build/source/libs/freetype2/freetype-src/include/freetype/internal/ftdrv.h
+++ b/Build/source/libs/freetype2/freetype-src/include/freetype/internal/ftdrv.h
@@ -4,7 +4,7 @@
*
* FreeType internal font driver interface (specification).
*
- * Copyright (C) 1996-2021 by
+ * Copyright (C) 1996-2020 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used,
diff --git a/Build/source/libs/freetype2/freetype-src/include/freetype/internal/ftgloadr.h b/Build/source/libs/freetype2/freetype-src/include/freetype/internal/ftgloadr.h
index 76ed57331a5..27b8659f7c3 100644
--- a/Build/source/libs/freetype2/freetype-src/include/freetype/internal/ftgloadr.h
+++ b/Build/source/libs/freetype2/freetype-src/include/freetype/internal/ftgloadr.h
@@ -4,7 +4,7 @@
*
* The FreeType glyph loader (specification).
*
- * Copyright (C) 2002-2021 by
+ * Copyright (C) 2002-2020 by
* David Turner, Robert Wilhelm, and Werner Lemberg
*
* This file is part of the FreeType project, and may only be used,
diff --git a/Build/source/libs/freetype2/freetype-src/include/freetype/internal/ftmemory.h b/Build/source/libs/freetype2/freetype-src/include/freetype/internal/ftmemory.h
index 3b9812839dc..ddb18b05123 100644
--- a/Build/source/libs/freetype2/freetype-src/include/freetype/internal/ftmemory.h
+++ b/Build/source/libs/freetype2/freetype-src/include/freetype/internal/ftmemory.h
@@ -4,7 +4,7 @@
*
* The FreeType memory management macros (specification).
*
- * Copyright (C) 1996-2021 by
+ * Copyright (C) 1996-2020 by
* David Turner, Robert Wilhelm, and Werner Lemberg
*
* This file is part of the FreeType project, and may only be used,
diff --git a/Build/source/libs/freetype2/freetype-src/include/freetype/internal/ftobjs.h b/Build/source/libs/freetype2/freetype-src/include/freetype/internal/ftobjs.h
index 808eae8791d..25db2c494fe 100644
--- a/Build/source/libs/freetype2/freetype-src/include/freetype/internal/ftobjs.h
+++ b/Build/source/libs/freetype2/freetype-src/include/freetype/internal/ftobjs.h
@@ -4,7 +4,7 @@
*
* The FreeType private base classes (specification).
*
- * Copyright (C) 1996-2021 by
+ * Copyright (C) 1996-2020 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used,
diff --git a/Build/source/libs/freetype2/freetype-src/include/freetype/internal/ftpsprop.h b/Build/source/libs/freetype2/freetype-src/include/freetype/internal/ftpsprop.h
index d94d0d7e4bc..81ec29151c0 100644
--- a/Build/source/libs/freetype2/freetype-src/include/freetype/internal/ftpsprop.h
+++ b/Build/source/libs/freetype2/freetype-src/include/freetype/internal/ftpsprop.h
@@ -4,7 +4,7 @@
*
* Get and set properties of PostScript drivers (specification).
*
- * Copyright (C) 2017-2021 by
+ * Copyright (C) 2017-2020 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used,
diff --git a/Build/source/libs/freetype2/freetype-src/include/freetype/internal/ftrfork.h b/Build/source/libs/freetype2/freetype-src/include/freetype/internal/ftrfork.h
index 1c56d6ceb7e..1b7b25acbec 100644
--- a/Build/source/libs/freetype2/freetype-src/include/freetype/internal/ftrfork.h
+++ b/Build/source/libs/freetype2/freetype-src/include/freetype/internal/ftrfork.h
@@ -4,7 +4,7 @@
*
* Embedded resource forks accessor (specification).
*
- * Copyright (C) 2004-2021 by
+ * Copyright (C) 2004-2020 by
* Masatake YAMATO and Redhat K.K.
*
* This file is part of the FreeType project, and may only be used,
diff --git a/Build/source/libs/freetype2/freetype-src/include/freetype/internal/ftserv.h b/Build/source/libs/freetype2/freetype-src/include/freetype/internal/ftserv.h
index fa82c31fcd3..6e1a9472da0 100644
--- a/Build/source/libs/freetype2/freetype-src/include/freetype/internal/ftserv.h
+++ b/Build/source/libs/freetype2/freetype-src/include/freetype/internal/ftserv.h
@@ -4,7 +4,7 @@
*
* The FreeType services (specification only).
*
- * Copyright (C) 2003-2021 by
+ * Copyright (C) 2003-2020 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used,
diff --git a/Build/source/libs/freetype2/freetype-src/include/freetype/internal/ftstream.h b/Build/source/libs/freetype2/freetype-src/include/freetype/internal/ftstream.h
index bae1eb2e998..e7d922260f5 100644
--- a/Build/source/libs/freetype2/freetype-src/include/freetype/internal/ftstream.h
+++ b/Build/source/libs/freetype2/freetype-src/include/freetype/internal/ftstream.h
@@ -4,7 +4,7 @@
*
* Stream handling (specification).
*
- * Copyright (C) 1996-2021 by
+ * Copyright (C) 1996-2020 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used,
diff --git a/Build/source/libs/freetype2/freetype-src/include/freetype/internal/fttrace.h b/Build/source/libs/freetype2/freetype-src/include/freetype/internal/fttrace.h
index 3307556bff0..58bd77413cd 100644
--- a/Build/source/libs/freetype2/freetype-src/include/freetype/internal/fttrace.h
+++ b/Build/source/libs/freetype2/freetype-src/include/freetype/internal/fttrace.h
@@ -4,7 +4,7 @@
*
* Tracing handling (specification only).
*
- * Copyright (C) 2002-2021 by
+ * Copyright (C) 2002-2020 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used,
@@ -18,11 +18,6 @@
/* definitions of trace levels for FreeType 2 */
- /* the maximum string length (if the argument to `FT_TRACE_DEF` */
- /* gets used as a string) plus one charachter for ':' plus */
- /* another one for the trace level */
-#define FT_MAX_TRACE_LEVEL_LENGTH (9 + 1 + 1)
-
/* the first level must always be `trace_any' */
FT_TRACE_DEF( any )
@@ -43,14 +38,12 @@ FT_TRACE_DEF( checksum ) /* bitmap checksum (ftobjs.c) */
FT_TRACE_DEF( mm ) /* MM interface (ftmm.c) */
FT_TRACE_DEF( psprops ) /* PS driver properties (ftpsprop.c) */
FT_TRACE_DEF( raccess ) /* resource fork accessor (ftrfork.c) */
-FT_TRACE_DEF( synth ) /* bold/slant synthesizer (ftsynth.c) */
-
- /* rasterizers */
FT_TRACE_DEF( raster ) /* monochrome rasterizer (ftraster.c) */
FT_TRACE_DEF( smooth ) /* anti-aliasing raster (ftgrays.c) */
+FT_TRACE_DEF( synth ) /* bold/slant synthesizer (ftsynth.c) */
- /* cache sub-system */
-FT_TRACE_DEF( cache ) /* cache sub-system (ftcache.c, etc.) */
+ /* Cache sub-system */
+FT_TRACE_DEF( cache ) /* cache sub-system (ftcache.c, etc.) */
/* SFNT driver components */
FT_TRACE_DEF( sfdriver ) /* SFNT font driver (sfdriver.c) */
@@ -84,7 +77,6 @@ FT_TRACE_DEF( t1objs )
FT_TRACE_DEF( t1parse )
/* PostScript helper module `psaux' */
-FT_TRACE_DEF( afmparse )
FT_TRACE_DEF( cffdecode )
FT_TRACE_DEF( psconv )
FT_TRACE_DEF( psobjs )
@@ -159,10 +151,8 @@ FT_TRACE_DEF( afglobal )
FT_TRACE_DEF( afhints )
FT_TRACE_DEF( afmodule )
FT_TRACE_DEF( aflatin )
+FT_TRACE_DEF( aflatin2 )
FT_TRACE_DEF( afshaper )
-
- /* SDF components */
-FT_TRACE_DEF( sdf ) /* signed distance raster for outlines (ftsdf.c) */
-FT_TRACE_DEF( bsdf ) /* signed distance raster for bitmaps (ftbsdf.c) */
+FT_TRACE_DEF( afwarp )
/* END */
diff --git a/Build/source/libs/freetype2/freetype-src/include/freetype/internal/ftvalid.h b/Build/source/libs/freetype2/freetype-src/include/freetype/internal/ftvalid.h
index 7bdfa62f329..a5bc6c9b526 100644
--- a/Build/source/libs/freetype2/freetype-src/include/freetype/internal/ftvalid.h
+++ b/Build/source/libs/freetype2/freetype-src/include/freetype/internal/ftvalid.h
@@ -4,7 +4,7 @@
*
* FreeType validation support (specification).
*
- * Copyright (C) 2004-2021 by
+ * Copyright (C) 2004-2020 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used,
diff --git a/Build/source/libs/freetype2/freetype-src/include/freetype/internal/psaux.h b/Build/source/libs/freetype2/freetype-src/include/freetype/internal/psaux.h
index 6c6399aa16e..8e0a262fd51 100644
--- a/Build/source/libs/freetype2/freetype-src/include/freetype/internal/psaux.h
+++ b/Build/source/libs/freetype2/freetype-src/include/freetype/internal/psaux.h
@@ -5,7 +5,7 @@
* Auxiliary functions and data structures related to PostScript fonts
* (specification).
*
- * Copyright (C) 1996-2021 by
+ * Copyright (C) 1996-2020 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used,
diff --git a/Build/source/libs/freetype2/freetype-src/include/freetype/internal/pshints.h b/Build/source/libs/freetype2/freetype-src/include/freetype/internal/pshints.h
index 9dbb0776b0c..663e9d34887 100644
--- a/Build/source/libs/freetype2/freetype-src/include/freetype/internal/pshints.h
+++ b/Build/source/libs/freetype2/freetype-src/include/freetype/internal/pshints.h
@@ -6,7 +6,7 @@
* recorders (specification only). These are used to support native
* T1/T2 hints in the 'type1', 'cid', and 'cff' font drivers.
*
- * Copyright (C) 2001-2021 by
+ * Copyright (C) 2001-2020 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used,
diff --git a/Build/source/libs/freetype2/freetype-src/include/freetype/internal/services/svbdf.h b/Build/source/libs/freetype2/freetype-src/include/freetype/internal/services/svbdf.h
index 879aa613836..81f5a06b62b 100644
--- a/Build/source/libs/freetype2/freetype-src/include/freetype/internal/services/svbdf.h
+++ b/Build/source/libs/freetype2/freetype-src/include/freetype/internal/services/svbdf.h
@@ -4,7 +4,7 @@
*
* The FreeType BDF services (specification).
*
- * Copyright (C) 2003-2021 by
+ * Copyright (C) 2003-2020 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used,
diff --git a/Build/source/libs/freetype2/freetype-src/include/freetype/internal/services/svcfftl.h b/Build/source/libs/freetype2/freetype-src/include/freetype/internal/services/svcfftl.h
index f6424e424dc..1d2dbb6a8ee 100644
--- a/Build/source/libs/freetype2/freetype-src/include/freetype/internal/services/svcfftl.h
+++ b/Build/source/libs/freetype2/freetype-src/include/freetype/internal/services/svcfftl.h
@@ -4,7 +4,7 @@
*
* The FreeType CFF tables loader service (specification).
*
- * Copyright (C) 2017-2021 by
+ * Copyright (C) 2017-2020 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used,
diff --git a/Build/source/libs/freetype2/freetype-src/include/freetype/internal/services/svcid.h b/Build/source/libs/freetype2/freetype-src/include/freetype/internal/services/svcid.h
index 7ef5afd0b73..bd49f3270a8 100644
--- a/Build/source/libs/freetype2/freetype-src/include/freetype/internal/services/svcid.h
+++ b/Build/source/libs/freetype2/freetype-src/include/freetype/internal/services/svcid.h
@@ -4,7 +4,7 @@
*
* The FreeType CID font services (specification).
*
- * Copyright (C) 2007-2021 by
+ * Copyright (C) 2007-2020 by
* Derek Clegg and Michael Toftdal.
*
* This file is part of the FreeType project, and may only be used,
diff --git a/Build/source/libs/freetype2/freetype-src/include/freetype/internal/services/svfntfmt.h b/Build/source/libs/freetype2/freetype-src/include/freetype/internal/services/svfntfmt.h
index cc87fc122d3..6114d638af0 100644
--- a/Build/source/libs/freetype2/freetype-src/include/freetype/internal/services/svfntfmt.h
+++ b/Build/source/libs/freetype2/freetype-src/include/freetype/internal/services/svfntfmt.h
@@ -4,7 +4,7 @@
*
* The FreeType font format service (specification only).
*
- * Copyright (C) 2003-2021 by
+ * Copyright (C) 2003-2020 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used,
diff --git a/Build/source/libs/freetype2/freetype-src/include/freetype/internal/services/svgldict.h b/Build/source/libs/freetype2/freetype-src/include/freetype/internal/services/svgldict.h
index 4256f14a049..f9443e40d61 100644
--- a/Build/source/libs/freetype2/freetype-src/include/freetype/internal/services/svgldict.h
+++ b/Build/source/libs/freetype2/freetype-src/include/freetype/internal/services/svgldict.h
@@ -4,7 +4,7 @@
*
* The FreeType glyph dictionary services (specification).
*
- * Copyright (C) 2003-2021 by
+ * Copyright (C) 2003-2020 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used,
diff --git a/Build/source/libs/freetype2/freetype-src/include/freetype/internal/services/svgxval.h b/Build/source/libs/freetype2/freetype-src/include/freetype/internal/services/svgxval.h
index f36d55602a6..83c2f26ceed 100644
--- a/Build/source/libs/freetype2/freetype-src/include/freetype/internal/services/svgxval.h
+++ b/Build/source/libs/freetype2/freetype-src/include/freetype/internal/services/svgxval.h
@@ -4,7 +4,7 @@
*
* FreeType API for validating TrueTypeGX/AAT tables (specification).
*
- * Copyright (C) 2004-2021 by
+ * Copyright (C) 2004-2020 by
* Masatake YAMATO, Red Hat K.K.,
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
diff --git a/Build/source/libs/freetype2/freetype-src/include/freetype/internal/services/svkern.h b/Build/source/libs/freetype2/freetype-src/include/freetype/internal/services/svkern.h
index 99dc2d97a3c..13cfb327226 100644
--- a/Build/source/libs/freetype2/freetype-src/include/freetype/internal/services/svkern.h
+++ b/Build/source/libs/freetype2/freetype-src/include/freetype/internal/services/svkern.h
@@ -4,7 +4,7 @@
*
* The FreeType Kerning service (specification).
*
- * Copyright (C) 2006-2021 by
+ * Copyright (C) 2006-2020 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used,
diff --git a/Build/source/libs/freetype2/freetype-src/include/freetype/internal/services/svmetric.h b/Build/source/libs/freetype2/freetype-src/include/freetype/internal/services/svmetric.h
index b9c95a7c9c8..2b30edaabec 100644
--- a/Build/source/libs/freetype2/freetype-src/include/freetype/internal/services/svmetric.h
+++ b/Build/source/libs/freetype2/freetype-src/include/freetype/internal/services/svmetric.h
@@ -4,7 +4,7 @@
*
* The FreeType services for metrics variations (specification).
*
- * Copyright (C) 2016-2021 by
+ * Copyright (C) 2016-2020 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used,
diff --git a/Build/source/libs/freetype2/freetype-src/include/freetype/internal/services/svmm.h b/Build/source/libs/freetype2/freetype-src/include/freetype/internal/services/svmm.h
index 8eac3a3fe3b..5a807636a63 100644
--- a/Build/source/libs/freetype2/freetype-src/include/freetype/internal/services/svmm.h
+++ b/Build/source/libs/freetype2/freetype-src/include/freetype/internal/services/svmm.h
@@ -4,7 +4,7 @@
*
* The FreeType Multiple Masters and GX var services (specification).
*
- * Copyright (C) 2003-2021 by
+ * Copyright (C) 2003-2020 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used,
diff --git a/Build/source/libs/freetype2/freetype-src/include/freetype/internal/services/svotval.h b/Build/source/libs/freetype2/freetype-src/include/freetype/internal/services/svotval.h
index 7afb49e824a..763fb2efbed 100644
--- a/Build/source/libs/freetype2/freetype-src/include/freetype/internal/services/svotval.h
+++ b/Build/source/libs/freetype2/freetype-src/include/freetype/internal/services/svotval.h
@@ -4,7 +4,7 @@
*
* The FreeType OpenType validation service (specification).
*
- * Copyright (C) 2004-2021 by
+ * Copyright (C) 2004-2020 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used,
diff --git a/Build/source/libs/freetype2/freetype-src/include/freetype/internal/services/svpfr.h b/Build/source/libs/freetype2/freetype-src/include/freetype/internal/services/svpfr.h
index 98442bf83d5..bdeba0785c7 100644
--- a/Build/source/libs/freetype2/freetype-src/include/freetype/internal/services/svpfr.h
+++ b/Build/source/libs/freetype2/freetype-src/include/freetype/internal/services/svpfr.h
@@ -4,7 +4,7 @@
*
* Internal PFR service functions (specification).
*
- * Copyright (C) 2003-2021 by
+ * Copyright (C) 2003-2020 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used,
diff --git a/Build/source/libs/freetype2/freetype-src/include/freetype/internal/services/svpostnm.h b/Build/source/libs/freetype2/freetype-src/include/freetype/internal/services/svpostnm.h
index 5a25c5a58a3..8ef62c5f92a 100644
--- a/Build/source/libs/freetype2/freetype-src/include/freetype/internal/services/svpostnm.h
+++ b/Build/source/libs/freetype2/freetype-src/include/freetype/internal/services/svpostnm.h
@@ -4,7 +4,7 @@
*
* The FreeType PostScript name services (specification).
*
- * Copyright (C) 2003-2021 by
+ * Copyright (C) 2003-2020 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used,
diff --git a/Build/source/libs/freetype2/freetype-src/include/freetype/internal/services/svprop.h b/Build/source/libs/freetype2/freetype-src/include/freetype/internal/services/svprop.h
index 9b71000c527..8f755436a11 100644
--- a/Build/source/libs/freetype2/freetype-src/include/freetype/internal/services/svprop.h
+++ b/Build/source/libs/freetype2/freetype-src/include/freetype/internal/services/svprop.h
@@ -4,7 +4,7 @@
*
* The FreeType property service (specification).
*
- * Copyright (C) 2012-2021 by
+ * Copyright (C) 2012-2020 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used,
diff --git a/Build/source/libs/freetype2/freetype-src/include/freetype/internal/services/svpscmap.h b/Build/source/libs/freetype2/freetype-src/include/freetype/internal/services/svpscmap.h
index 346f5e2a7c0..b4dcd807590 100644
--- a/Build/source/libs/freetype2/freetype-src/include/freetype/internal/services/svpscmap.h
+++ b/Build/source/libs/freetype2/freetype-src/include/freetype/internal/services/svpscmap.h
@@ -4,7 +4,7 @@
*
* The FreeType PostScript charmap service (specification).
*
- * Copyright (C) 2003-2021 by
+ * Copyright (C) 2003-2020 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used,
diff --git a/Build/source/libs/freetype2/freetype-src/include/freetype/internal/services/svpsinfo.h b/Build/source/libs/freetype2/freetype-src/include/freetype/internal/services/svpsinfo.h
index 49aa4d565d7..1e7276ff434 100644
--- a/Build/source/libs/freetype2/freetype-src/include/freetype/internal/services/svpsinfo.h
+++ b/Build/source/libs/freetype2/freetype-src/include/freetype/internal/services/svpsinfo.h
@@ -4,7 +4,7 @@
*
* The FreeType PostScript info service (specification).
*
- * Copyright (C) 2003-2021 by
+ * Copyright (C) 2003-2020 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used,
diff --git a/Build/source/libs/freetype2/freetype-src/include/freetype/internal/services/svsfnt.h b/Build/source/libs/freetype2/freetype-src/include/freetype/internal/services/svsfnt.h
index 4306cbc1b7a..39c8b5e19d7 100644
--- a/Build/source/libs/freetype2/freetype-src/include/freetype/internal/services/svsfnt.h
+++ b/Build/source/libs/freetype2/freetype-src/include/freetype/internal/services/svsfnt.h
@@ -4,7 +4,7 @@
*
* The FreeType SFNT table loading service (specification).
*
- * Copyright (C) 2003-2021 by
+ * Copyright (C) 2003-2020 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used,
diff --git a/Build/source/libs/freetype2/freetype-src/include/freetype/internal/services/svttcmap.h b/Build/source/libs/freetype2/freetype-src/include/freetype/internal/services/svttcmap.h
index 775b6bcf203..c18bb2336f8 100644
--- a/Build/source/libs/freetype2/freetype-src/include/freetype/internal/services/svttcmap.h
+++ b/Build/source/libs/freetype2/freetype-src/include/freetype/internal/services/svttcmap.h
@@ -4,7 +4,7 @@
*
* The FreeType TrueType/sfnt cmap extra information service.
*
- * Copyright (C) 2003-2021 by
+ * Copyright (C) 2003-2020 by
* Masatake YAMATO, Redhat K.K.,
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
diff --git a/Build/source/libs/freetype2/freetype-src/include/freetype/internal/services/svtteng.h b/Build/source/libs/freetype2/freetype-src/include/freetype/internal/services/svtteng.h
index 964934284df..7a17e4a755b 100644
--- a/Build/source/libs/freetype2/freetype-src/include/freetype/internal/services/svtteng.h
+++ b/Build/source/libs/freetype2/freetype-src/include/freetype/internal/services/svtteng.h
@@ -4,7 +4,7 @@
*
* The FreeType TrueType engine query service (specification).
*
- * Copyright (C) 2006-2021 by
+ * Copyright (C) 2006-2020 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used,
diff --git a/Build/source/libs/freetype2/freetype-src/include/freetype/internal/services/svttglyf.h b/Build/source/libs/freetype2/freetype-src/include/freetype/internal/services/svttglyf.h
index 4268467b757..90a81dd40e8 100644
--- a/Build/source/libs/freetype2/freetype-src/include/freetype/internal/services/svttglyf.h
+++ b/Build/source/libs/freetype2/freetype-src/include/freetype/internal/services/svttglyf.h
@@ -4,7 +4,7 @@
*
* The FreeType TrueType glyph service.
*
- * Copyright (C) 2007-2021 by
+ * Copyright (C) 2007-2020 by
* David Turner.
*
* This file is part of the FreeType project, and may only be used,
diff --git a/Build/source/libs/freetype2/freetype-src/include/freetype/internal/services/svwinfnt.h b/Build/source/libs/freetype2/freetype-src/include/freetype/internal/services/svwinfnt.h
index aa70aa44db2..8c915f52572 100644
--- a/Build/source/libs/freetype2/freetype-src/include/freetype/internal/services/svwinfnt.h
+++ b/Build/source/libs/freetype2/freetype-src/include/freetype/internal/services/svwinfnt.h
@@ -4,7 +4,7 @@
*
* The FreeType Windows FNT/FONT service (specification).
*
- * Copyright (C) 2003-2021 by
+ * Copyright (C) 2003-2020 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used,
diff --git a/Build/source/libs/freetype2/freetype-src/include/freetype/internal/sfnt.h b/Build/source/libs/freetype2/freetype-src/include/freetype/internal/sfnt.h
index 438ec897e73..b4c12dbb26d 100644
--- a/Build/source/libs/freetype2/freetype-src/include/freetype/internal/sfnt.h
+++ b/Build/source/libs/freetype2/freetype-src/include/freetype/internal/sfnt.h
@@ -4,7 +4,7 @@
*
* High-level 'sfnt' driver interface (specification).
*
- * Copyright (C) 1996-2021 by
+ * Copyright (C) 1996-2020 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used,
@@ -527,132 +527,6 @@ FT_BEGIN_HEADER
/**************************************************************************
*
* @functype:
- * TT_Get_Color_Glyph_Paint_Func
- *
- * @description:
- * Find the root @FT_OpaquePaint object for a given glyph ID.
- *
- * @input:
- * face ::
- * The target face object.
- *
- * base_glyph ::
- * The glyph index the colored glyph layers are associated with.
- *
- * @output:
- * paint ::
- * The root @FT_OpaquePaint object.
- *
- * @return:
- * Value~1 if everything is OK. If no color glyph is found, or the root
- * paint could not be retrieved, value~0 gets returned. In case of an
- * error, value~0 is returned also.
- */
- typedef FT_Bool
- ( *TT_Get_Color_Glyph_Paint_Func )( TT_Face face,
- FT_UInt base_glyph,
- FT_Color_Root_Transform root_transform,
- FT_OpaquePaint *paint );
-
-
- /**************************************************************************
- *
- * @functype:
- * TT_Get_Paint_Layers_Func
- *
- * @description:
- * Access the layers of a `PaintColrLayers` table.
- *
- * @input:
- * face ::
- * The target face object.
- *
- * @inout:
- * iterator ::
- * The @FT_LayerIterator from an @FT_PaintColrLayers object, for which
- * the layers are to be retrieved. The internal state of the iterator
- * is incremented after one call to this function for retrieving one
- * layer.
- *
- * @output:
- * paint ::
- * The root @FT_OpaquePaint object referencing the actual paint table.
- *
- * @return:
- * Value~1 if everything is OK. Value~0 gets returned when the paint
- * object can not be retrieved or any other error occurs.
- */
- typedef FT_Bool
- ( *TT_Get_Paint_Layers_Func )( TT_Face face,
- FT_LayerIterator* iterator,
- FT_OpaquePaint *paint );
-
-
- /**************************************************************************
- *
- * @functype:
- * TT_Get_Colorline_Stops_Func
- *
- * @description:
- * Get the gradient and solid fill information for a given glyph.
- *
- * @input:
- * face ::
- * The target face object.
- *
- * @inout:
- * iterator ::
- * An @FT_ColorStopIterator object. For the first call you should set
- * `iterator->p` to `NULL`. For all following calls, simply use the
- * same object again.
- *
- * @output:
- * color_stop ::
- * Color index and alpha value for the retrieved color stop.
- *
- * @return:
- * Value~1 if everything is OK. If there are no more color stops,
- * value~0 gets returned. In case of an error, value~0 is returned
- * also.
- */
- typedef FT_Bool
- ( *TT_Get_Colorline_Stops_Func )( TT_Face face,
- FT_ColorStop *color_stop,
- FT_ColorStopIterator* iterator );
-
-
- /**************************************************************************
- *
- * @functype:
- * TT_Get_Paint_Func
- *
- * @description:
- * Get the paint details for a given @FT_OpaquePaint object.
- *
- * @input:
- * face ::
- * The target face object.
- *
- * opaque_paint ::
- * The @FT_OpaquePaint object.
- *
- * @output:
- * paint ::
- * An @FT_COLR_Paint object holding the details on `opaque_paint`.
- *
- * @return:
- * Value~1 if everything is OK. Value~0 if no details can be found for
- * this paint or any other error occured.
- */
- typedef FT_Bool
- ( *TT_Get_Paint_Func )( TT_Face face,
- FT_OpaquePaint opaque_paint,
- FT_COLR_Paint *paint );
-
-
- /**************************************************************************
- *
- * @functype:
* TT_Blend_Colr_Func
*
* @description:
@@ -835,77 +709,73 @@ FT_BEGIN_HEADER
*/
typedef struct SFNT_Interface_
{
- TT_Loader_GotoTableFunc goto_table;
+ TT_Loader_GotoTableFunc goto_table;
- TT_Init_Face_Func init_face;
- TT_Load_Face_Func load_face;
- TT_Done_Face_Func done_face;
- FT_Module_Requester get_interface;
+ TT_Init_Face_Func init_face;
+ TT_Load_Face_Func load_face;
+ TT_Done_Face_Func done_face;
+ FT_Module_Requester get_interface;
- TT_Load_Any_Func load_any;
+ TT_Load_Any_Func load_any;
/* these functions are called by `load_face' but they can also */
/* be called from external modules, if there is a need to do so */
- TT_Load_Table_Func load_head;
- TT_Load_Metrics_Func load_hhea;
- TT_Load_Table_Func load_cmap;
- TT_Load_Table_Func load_maxp;
- TT_Load_Table_Func load_os2;
- TT_Load_Table_Func load_post;
+ TT_Load_Table_Func load_head;
+ TT_Load_Metrics_Func load_hhea;
+ TT_Load_Table_Func load_cmap;
+ TT_Load_Table_Func load_maxp;
+ TT_Load_Table_Func load_os2;
+ TT_Load_Table_Func load_post;
- TT_Load_Table_Func load_name;
- TT_Free_Table_Func free_name;
+ TT_Load_Table_Func load_name;
+ TT_Free_Table_Func free_name;
/* this field was called `load_kerning' up to version 2.1.10 */
- TT_Load_Table_Func load_kern;
+ TT_Load_Table_Func load_kern;
- TT_Load_Table_Func load_gasp;
- TT_Load_Table_Func load_pclt;
+ TT_Load_Table_Func load_gasp;
+ TT_Load_Table_Func load_pclt;
/* see `ttload.h'; this field was called `load_bitmap_header' up to */
/* version 2.1.10 */
- TT_Load_Table_Func load_bhed;
+ TT_Load_Table_Func load_bhed;
- TT_Load_SBit_Image_Func load_sbit_image;
+ TT_Load_SBit_Image_Func load_sbit_image;
/* see `ttpost.h' */
- TT_Get_PS_Name_Func get_psname;
- TT_Free_Table_Func free_psnames;
+ TT_Get_PS_Name_Func get_psname;
+ TT_Free_Table_Func free_psnames;
/* starting here, the structure differs from version 2.1.7 */
/* this field was introduced in version 2.1.8, named `get_psname' */
- TT_Face_GetKerningFunc get_kerning;
+ TT_Face_GetKerningFunc get_kerning;
/* new elements introduced after version 2.1.10 */
/* load the font directory, i.e., the offset table and */
/* the table directory */
- TT_Load_Table_Func load_font_dir;
- TT_Load_Metrics_Func load_hmtx;
+ TT_Load_Table_Func load_font_dir;
+ TT_Load_Metrics_Func load_hmtx;
- TT_Load_Table_Func load_eblc;
- TT_Free_Table_Func free_eblc;
+ TT_Load_Table_Func load_eblc;
+ TT_Free_Table_Func free_eblc;
TT_Set_SBit_Strike_Func set_sbit_strike;
TT_Load_Strike_Metrics_Func load_strike_metrics;
- TT_Load_Table_Func load_cpal;
- TT_Load_Table_Func load_colr;
- TT_Free_Table_Func free_cpal;
- TT_Free_Table_Func free_colr;
- TT_Set_Palette_Func set_palette;
- TT_Get_Colr_Layer_Func get_colr_layer;
- TT_Get_Color_Glyph_Paint_Func get_colr_glyph_paint;
- TT_Get_Paint_Layers_Func get_paint_layers;
- TT_Get_Colorline_Stops_Func get_colorline_stops;
- TT_Get_Paint_Func get_paint;
- TT_Blend_Colr_Func colr_blend;
+ TT_Load_Table_Func load_cpal;
+ TT_Load_Table_Func load_colr;
+ TT_Free_Table_Func free_cpal;
+ TT_Free_Table_Func free_colr;
+ TT_Set_Palette_Func set_palette;
+ TT_Get_Colr_Layer_Func get_colr_layer;
+ TT_Blend_Colr_Func colr_blend;
- TT_Get_Metrics_Func get_metrics;
+ TT_Get_Metrics_Func get_metrics;
- TT_Get_Name_Func get_name;
- TT_Get_Name_ID_Func get_name_id;
+ TT_Get_Name_Func get_name;
+ TT_Get_Name_ID_Func get_name_id;
} SFNT_Interface;
@@ -950,10 +820,6 @@ FT_BEGIN_HEADER
free_colr_, \
set_palette_, \
get_colr_layer_, \
- get_colr_glyph_paint_, \
- get_paint_layers_, \
- get_colorline_stops_, \
- get_paint_, \
colr_blend_, \
get_metrics_, \
get_name_, \
@@ -994,10 +860,6 @@ FT_BEGIN_HEADER
free_colr_, \
set_palette_, \
get_colr_layer_, \
- get_colr_glyph_paint_, \
- get_paint_layers_, \
- get_colorline_stops_, \
- get_paint_, \
colr_blend_, \
get_metrics_, \
get_name_, \
diff --git a/Build/source/libs/freetype2/freetype-src/include/freetype/internal/t1types.h b/Build/source/libs/freetype2/freetype-src/include/freetype/internal/t1types.h
index 023c5d08a25..6a0fe5e97d9 100644
--- a/Build/source/libs/freetype2/freetype-src/include/freetype/internal/t1types.h
+++ b/Build/source/libs/freetype2/freetype-src/include/freetype/internal/t1types.h
@@ -5,7 +5,7 @@
* Basic Type1/Type2 type definitions and interface (specification
* only).
*
- * Copyright (C) 1996-2021 by
+ * Copyright (C) 1996-2020 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used,
diff --git a/Build/source/libs/freetype2/freetype-src/include/freetype/internal/tttypes.h b/Build/source/libs/freetype2/freetype-src/include/freetype/internal/tttypes.h
index 0601e525460..c36342c93a0 100644
--- a/Build/source/libs/freetype2/freetype-src/include/freetype/internal/tttypes.h
+++ b/Build/source/libs/freetype2/freetype-src/include/freetype/internal/tttypes.h
@@ -5,7 +5,7 @@
* Basic SFNT/TrueType type definitions and interface (specification
* only).
*
- * Copyright (C) 1996-2021 by
+ * Copyright (C) 1996-2020 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used,
diff --git a/Build/source/libs/freetype2/freetype-src/include/freetype/internal/wofftypes.h b/Build/source/libs/freetype2/freetype-src/include/freetype/internal/wofftypes.h
index 367fdb733c5..1874a138a07 100644
--- a/Build/source/libs/freetype2/freetype-src/include/freetype/internal/wofftypes.h
+++ b/Build/source/libs/freetype2/freetype-src/include/freetype/internal/wofftypes.h
@@ -5,7 +5,7 @@
* Basic WOFF/WOFF2 type definitions and interface (specification
* only).
*
- * Copyright (C) 1996-2021 by
+ * Copyright (C) 1996-2020 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used,
diff --git a/Build/source/libs/freetype2/freetype-src/include/freetype/t1tables.h b/Build/source/libs/freetype2/freetype-src/include/freetype/t1tables.h
index 546ec1c0095..426e14024e6 100644
--- a/Build/source/libs/freetype2/freetype-src/include/freetype/t1tables.h
+++ b/Build/source/libs/freetype2/freetype-src/include/freetype/t1tables.h
@@ -5,7 +5,7 @@
* Basic Type 1/Type 2 tables definitions and interface (specification
* only).
*
- * Copyright (C) 1996-2021 by
+ * Copyright (C) 1996-2020 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used,
diff --git a/Build/source/libs/freetype2/freetype-src/include/freetype/ttnameid.h b/Build/source/libs/freetype2/freetype-src/include/freetype/ttnameid.h
index 72f9f76a7a0..2b2ed4c6138 100644
--- a/Build/source/libs/freetype2/freetype-src/include/freetype/ttnameid.h
+++ b/Build/source/libs/freetype2/freetype-src/include/freetype/ttnameid.h
@@ -4,7 +4,7 @@
*
* TrueType name ID definitions (specification only).
*
- * Copyright (C) 1996-2021 by
+ * Copyright (C) 1996-2020 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used,
diff --git a/Build/source/libs/freetype2/freetype-src/include/freetype/tttables.h b/Build/source/libs/freetype2/freetype-src/include/freetype/tttables.h
index c33d99059d9..c8fa35ef8ec 100644
--- a/Build/source/libs/freetype2/freetype-src/include/freetype/tttables.h
+++ b/Build/source/libs/freetype2/freetype-src/include/freetype/tttables.h
@@ -5,7 +5,7 @@
* Basic SFNT/TrueType tables definitions and interface
* (specification only).
*
- * Copyright (C) 1996-2021 by
+ * Copyright (C) 1996-2020 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used,
diff --git a/Build/source/libs/freetype2/freetype-src/include/freetype/tttags.h b/Build/source/libs/freetype2/freetype-src/include/freetype/tttags.h
index 47ccc6ddf46..3c9fbd59d71 100644
--- a/Build/source/libs/freetype2/freetype-src/include/freetype/tttags.h
+++ b/Build/source/libs/freetype2/freetype-src/include/freetype/tttags.h
@@ -4,7 +4,7 @@
*
* Tags for TrueType and OpenType tables (specification only).
*
- * Copyright (C) 1996-2021 by
+ * Copyright (C) 1996-2020 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used,