Update Freetype to 2.13.3
[ChangeLog][Third-Party Code] Updated bundled Freetype to version 2.13.3. Pick-to: 6.7 6.5 6.2 5.15 Task-number: QTBUG-128124 Change-Id: Ica2fd9ebfd53d6efde4614f09a7fea9f6857eeac Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io> (cherry picked from commit 7c7b34f76a78fb144600002c0aebe031e3dd42e9) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This commit is contained in:
parent
2e6b237b03
commit
9993c1d13e
10
src/3rdparty/freetype/README
vendored
10
src/3rdparty/freetype/README
vendored
@ -1,4 +1,4 @@
|
|||||||
FreeType 2.13.2
|
FreeType 2.13.3
|
||||||
===============
|
===============
|
||||||
|
|
||||||
Homepage: https://www.freetype.org
|
Homepage: https://www.freetype.org
|
||||||
@ -32,9 +32,9 @@ sites. Go to
|
|||||||
|
|
||||||
and download one of the following files.
|
and download one of the following files.
|
||||||
|
|
||||||
freetype-doc-2.13.2.tar.xz
|
freetype-doc-2.13.3.tar.xz
|
||||||
freetype-doc-2.13.2.tar.gz
|
freetype-doc-2.13.3.tar.gz
|
||||||
ftdoc2132.zip
|
ftdoc2133.zip
|
||||||
|
|
||||||
To view the documentation online, go to
|
To view the documentation online, go to
|
||||||
|
|
||||||
@ -94,7 +94,7 @@ Enjoy!
|
|||||||
|
|
||||||
----------------------------------------------------------------------
|
----------------------------------------------------------------------
|
||||||
|
|
||||||
Copyright (C) 2006-2023 by
|
Copyright (C) 2006-2024 by
|
||||||
David Turner, Robert Wilhelm, and Werner Lemberg.
|
David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
|
|
||||||
This file is part of the FreeType project, and may only be used,
|
This file is part of the FreeType project, and may only be used,
|
||||||
|
2
src/3rdparty/freetype/builds/unix/ftsystem.c
vendored
2
src/3rdparty/freetype/builds/unix/ftsystem.c
vendored
@ -4,7 +4,7 @@
|
|||||||
*
|
*
|
||||||
* Unix-specific FreeType low-level system interface (body).
|
* Unix-specific FreeType low-level system interface (body).
|
||||||
*
|
*
|
||||||
* Copyright (C) 1996-2023 by
|
* Copyright (C) 1996-2024 by
|
||||||
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
*
|
*
|
||||||
* This file is part of the FreeType project, and may only be used,
|
* This file is part of the FreeType project, and may only be used,
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
*
|
*
|
||||||
* Debugging and logging component for Win32 (body).
|
* Debugging and logging component for Win32 (body).
|
||||||
*
|
*
|
||||||
* Copyright (C) 1996-2023 by
|
* Copyright (C) 1996-2024 by
|
||||||
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
*
|
*
|
||||||
* This file is part of the FreeType project, and may only be used,
|
* This file is part of the FreeType project, and may only be used,
|
||||||
|
42
src/3rdparty/freetype/docs/CHANGES
vendored
42
src/3rdparty/freetype/docs/CHANGES
vendored
@ -1,3 +1,43 @@
|
|||||||
|
CHANGES BETWEEN 2.13.2 and 2.13.3 (2024-Aug-11)
|
||||||
|
|
||||||
|
I. IMPORTANT CHANGES
|
||||||
|
|
||||||
|
- Some fields in the `FT_Outline` structure have been changed
|
||||||
|
from signed to unsigned type, which better reflects the actual
|
||||||
|
usage. It is also an additional means to protect against
|
||||||
|
malformed input.
|
||||||
|
|
||||||
|
|
||||||
|
II. IMPORTANT BUG FIXES
|
||||||
|
|
||||||
|
- Rare double-free crashes in the cache subsystem have been fixed.
|
||||||
|
|
||||||
|
- Excessive stack allocation in the autohinter has been fixed.
|
||||||
|
|
||||||
|
|
||||||
|
III. MISCELLANEOUS
|
||||||
|
|
||||||
|
- The B/W rasterizer has received a major upkeep that results in
|
||||||
|
large performance improvements. The rendering speed has increased
|
||||||
|
and even doubled for very complex glyphs.
|
||||||
|
|
||||||
|
- If the new configuration option `TT_CONFIG_OPTION_GPOS_KERNING` is
|
||||||
|
defined, `FT_Get_Kerning` understands rudimentary GPOS kerning
|
||||||
|
(for TrueType fonts only). This is not enabled by default since
|
||||||
|
its usage is very limited, mainly for legacy applications that
|
||||||
|
have to support TrueType fonts automatically converted from 'kern'
|
||||||
|
tables to GPOS kerning. If you need proper (GPOS) kerning support
|
||||||
|
please use a higher-level library like HarfBuzz.
|
||||||
|
|
||||||
|
Code contributed by David Saltzman <davidbsaltzman@gmail.com>.
|
||||||
|
|
||||||
|
- The internal structures `PS_DesignMap` and `PS_Blend` related to
|
||||||
|
parsing of old Multiple Masters fonts have been removed from the
|
||||||
|
public header file `t1tables.h`.
|
||||||
|
|
||||||
|
|
||||||
|
======================================================================
|
||||||
|
|
||||||
CHANGES BETWEEN 2.13.1 and 2.13.2 (2023-Aug-25)
|
CHANGES BETWEEN 2.13.1 and 2.13.2 (2023-Aug-25)
|
||||||
|
|
||||||
I. MISCELLANEOUS
|
I. MISCELLANEOUS
|
||||||
@ -5668,7 +5708,7 @@ Extensions support:
|
|||||||
|
|
||||||
------------------------------------------------------------------------
|
------------------------------------------------------------------------
|
||||||
|
|
||||||
Copyright (C) 2000-2023 by
|
Copyright (C) 2000-2024 by
|
||||||
David Turner, Robert Wilhelm, and Werner Lemberg.
|
David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
|
|
||||||
This file is part of the FreeType project, and may only be used,
|
This file is part of the FreeType project, and may only be used,
|
||||||
|
2
src/3rdparty/freetype/docs/CUSTOMIZE
vendored
2
src/3rdparty/freetype/docs/CUSTOMIZE
vendored
@ -139,7 +139,7 @@ IV. Overriding default configuration and module headers
|
|||||||
|
|
||||||
----------------------------------------------------------------------
|
----------------------------------------------------------------------
|
||||||
|
|
||||||
Copyright (C) 2003-2023 by
|
Copyright (C) 2003-2024 by
|
||||||
David Turner, Robert Wilhelm, and Werner Lemberg.
|
David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
|
|
||||||
This file is part of the FreeType project, and may only be used,
|
This file is part of the FreeType project, and may only be used,
|
||||||
|
2
src/3rdparty/freetype/docs/DEBUG
vendored
2
src/3rdparty/freetype/docs/DEBUG
vendored
@ -297,7 +297,7 @@ to access them.
|
|||||||
|
|
||||||
------------------------------------------------------------------------
|
------------------------------------------------------------------------
|
||||||
|
|
||||||
Copyright (C) 2002-2023 by
|
Copyright (C) 2002-2024 by
|
||||||
David Turner, Robert Wilhelm, and Werner Lemberg.
|
David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
|
|
||||||
This file is part of the FreeType project, and may only be used,
|
This file is part of the FreeType project, and may only be used,
|
||||||
|
2
src/3rdparty/freetype/docs/TODO
vendored
2
src/3rdparty/freetype/docs/TODO
vendored
@ -27,7 +27,7 @@ Other bugs have been registered at the savannah bugzilla of FreeType.
|
|||||||
|
|
||||||
------------------------------------------------------------------------
|
------------------------------------------------------------------------
|
||||||
|
|
||||||
Copyright (C) 2001-2023 by
|
Copyright (C) 2001-2024 by
|
||||||
David Turner, Robert Wilhelm, and Werner Lemberg.
|
David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
|
|
||||||
This file is part of the FreeType project, and may only be used,
|
This file is part of the FreeType project, and may only be used,
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
*
|
*
|
||||||
* ANSI-specific configuration file (specification only).
|
* ANSI-specific configuration file (specification only).
|
||||||
*
|
*
|
||||||
* Copyright (C) 1996-2023 by
|
* Copyright (C) 1996-2024 by
|
||||||
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
*
|
*
|
||||||
* This file is part of the FreeType project, and may only be used,
|
* This file is part of the FreeType project, and may only be used,
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
*
|
*
|
||||||
* Build macros of the FreeType 2 library.
|
* Build macros of the FreeType 2 library.
|
||||||
*
|
*
|
||||||
* Copyright (C) 1996-2023 by
|
* Copyright (C) 1996-2024 by
|
||||||
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
*
|
*
|
||||||
* This file is part of the FreeType project, and may only be used,
|
* This file is part of the FreeType project, and may only be used,
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
*
|
*
|
||||||
* User-selectable configuration macros (specification only).
|
* User-selectable configuration macros (specification only).
|
||||||
*
|
*
|
||||||
* Copyright (C) 1996-2023 by
|
* Copyright (C) 1996-2024 by
|
||||||
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
*
|
*
|
||||||
* This file is part of the FreeType project, and may only be used,
|
* This file is part of the FreeType project, and may only be used,
|
||||||
@ -757,6 +757,22 @@ FT_BEGIN_HEADER
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
/**************************************************************************
|
||||||
|
*
|
||||||
|
* Option `TT_CONFIG_OPTION_GPOS_KERNING` enables a basic GPOS kerning
|
||||||
|
* implementation (for TrueType fonts only). With this defined, FreeType
|
||||||
|
* is able to get kerning pair data from the GPOS 'kern' feature as well as
|
||||||
|
* legacy 'kern' tables; without this defined, FreeType will only be able
|
||||||
|
* to use legacy 'kern' tables.
|
||||||
|
*
|
||||||
|
* Note that FreeType does not support more advanced GPOS layout features;
|
||||||
|
* even the 'kern' feature implemented here doesn't handle more
|
||||||
|
* sophisticated kerning variants. Use a higher-level library like
|
||||||
|
* HarfBuzz instead for that.
|
||||||
|
*/
|
||||||
|
/* #define TT_CONFIG_OPTION_GPOS_KERNING */
|
||||||
|
|
||||||
|
|
||||||
/*************************************************************************/
|
/*************************************************************************/
|
||||||
/*************************************************************************/
|
/*************************************************************************/
|
||||||
/**** ****/
|
/**** ****/
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
* ANSI-specific library and header configuration file (specification
|
* ANSI-specific library and header configuration file (specification
|
||||||
* only).
|
* only).
|
||||||
*
|
*
|
||||||
* Copyright (C) 2002-2023 by
|
* Copyright (C) 2002-2024 by
|
||||||
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
*
|
*
|
||||||
* This file is part of the FreeType project, and may only be used,
|
* This file is part of the FreeType project, and may only be used,
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
*
|
*
|
||||||
* FreeType integer types definitions.
|
* FreeType integer types definitions.
|
||||||
*
|
*
|
||||||
* Copyright (C) 1996-2023 by
|
* Copyright (C) 1996-2024 by
|
||||||
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
*
|
*
|
||||||
* This file is part of the FreeType project, and may only be used,
|
* This file is part of the FreeType project, and may only be used,
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
*
|
*
|
||||||
* Mac/OS X support configuration header.
|
* Mac/OS X support configuration header.
|
||||||
*
|
*
|
||||||
* Copyright (C) 1996-2023 by
|
* Copyright (C) 1996-2024 by
|
||||||
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
*
|
*
|
||||||
* This file is part of the FreeType project, and may only be used,
|
* This file is part of the FreeType project, and may only be used,
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
*
|
*
|
||||||
* Define a set of compiler macros used in public FreeType headers.
|
* Define a set of compiler macros used in public FreeType headers.
|
||||||
*
|
*
|
||||||
* Copyright (C) 2020-2023 by
|
* Copyright (C) 2020-2024 by
|
||||||
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
*
|
*
|
||||||
* This file is part of the FreeType project, and may only be used,
|
* This file is part of the FreeType project, and may only be used,
|
||||||
|
118
src/3rdparty/freetype/include/freetype/freetype.h
vendored
118
src/3rdparty/freetype/include/freetype/freetype.h
vendored
@ -4,7 +4,7 @@
|
|||||||
*
|
*
|
||||||
* FreeType high-level API and common types (specification only).
|
* FreeType high-level API and common types (specification only).
|
||||||
*
|
*
|
||||||
* Copyright (C) 1996-2023 by
|
* Copyright (C) 1996-2024 by
|
||||||
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
*
|
*
|
||||||
* This file is part of the FreeType project, and may only be used,
|
* This file is part of the FreeType project, and may only be used,
|
||||||
@ -1322,9 +1322,13 @@ FT_BEGIN_HEADER
|
|||||||
* FT_FACE_FLAG_KERNING ::
|
* FT_FACE_FLAG_KERNING ::
|
||||||
* The face contains kerning information. If set, the kerning distance
|
* The face contains kerning information. If set, the kerning distance
|
||||||
* can be retrieved using the function @FT_Get_Kerning. Otherwise the
|
* can be retrieved using the function @FT_Get_Kerning. Otherwise the
|
||||||
* function always returns the vector (0,0). Note that FreeType
|
* function always returns the vector (0,0).
|
||||||
* doesn't handle kerning data from the SFNT 'GPOS' table (as present
|
*
|
||||||
* in many OpenType fonts).
|
* Note that for TrueType fonts only, FreeType supports both the 'kern'
|
||||||
|
* table and the basic, pair-wise kerning feature from the 'GPOS' table
|
||||||
|
* (with `TT_CONFIG_OPTION_GPOS_KERNING` enabled), though FreeType does
|
||||||
|
* not support the more advanced GPOS layout features; use a library
|
||||||
|
* like HarfBuzz for those instead.
|
||||||
*
|
*
|
||||||
* FT_FACE_FLAG_FAST_GLYPHS ::
|
* FT_FACE_FLAG_FAST_GLYPHS ::
|
||||||
* THIS FLAG IS DEPRECATED. DO NOT USE OR TEST IT.
|
* THIS FLAG IS DEPRECATED. DO NOT USE OR TEST IT.
|
||||||
@ -3767,87 +3771,18 @@ FT_BEGIN_HEADER
|
|||||||
* pixels and use the @FT_PIXEL_MODE_LCD_V mode.
|
* pixels and use the @FT_PIXEL_MODE_LCD_V mode.
|
||||||
*
|
*
|
||||||
* FT_RENDER_MODE_SDF ::
|
* FT_RENDER_MODE_SDF ::
|
||||||
* This mode corresponds to 8-bit, single-channel signed distance field
|
* The positive (unsigned) 8-bit bitmap values can be converted to the
|
||||||
* (SDF) bitmaps. Each pixel in the SDF grid is the value from the
|
* single-channel signed distance field (SDF) by subtracting 128, with
|
||||||
* pixel's position to the nearest glyph's outline. The distances are
|
* the positive and negative results corresponding to the inside and
|
||||||
* calculated from the center of the pixel and are positive if they are
|
* the outside of a glyph contour, respectively. The distance units are
|
||||||
* filled by the outline (i.e., inside the outline) and negative
|
* arbitrarily determined by an adjustable @spread property.
|
||||||
* otherwise. Check the note below on how to convert the output values
|
|
||||||
* to usable data.
|
|
||||||
*
|
*
|
||||||
* @note:
|
* @note:
|
||||||
* The selected render mode only affects vector glyphs of a font.
|
* The selected render mode only affects scalable vector glyphs of a font.
|
||||||
* Embedded bitmaps often have a different pixel mode like
|
* Embedded bitmaps often have a different pixel mode like
|
||||||
* @FT_PIXEL_MODE_MONO. You can use @FT_Bitmap_Convert to transform them
|
* @FT_PIXEL_MODE_MONO. You can use @FT_Bitmap_Convert to transform them
|
||||||
* into 8-bit pixmaps.
|
* 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.
|
|
||||||
* }
|
|
||||||
*
|
|
||||||
* ```
|
|
||||||
*
|
|
||||||
* FreeType has two rasterizers for generating SDF, namely:
|
|
||||||
*
|
|
||||||
* 1. `sdf` for generating SDF directly from glyph's outline, and
|
|
||||||
*
|
|
||||||
* 2. `bsdf` for generating SDF from rasterized bitmaps.
|
|
||||||
*
|
|
||||||
* Depending on the glyph type (i.e., outline or bitmap), one of the two
|
|
||||||
* rasterizers is chosen at runtime and used for generating SDFs. To
|
|
||||||
* force the use of `bsdf` you should render the glyph with any of the
|
|
||||||
* FreeType's other rendering modes (e.g., `FT_RENDER_MODE_NORMAL`) and
|
|
||||||
* then re-render with `FT_RENDER_MODE_SDF`.
|
|
||||||
*
|
|
||||||
* There are some issues with stability and possible failures of the SDF
|
|
||||||
* renderers (specifically `sdf`).
|
|
||||||
*
|
|
||||||
* 1. The `sdf` rasterizer is sensitive to really small features (e.g.,
|
|
||||||
* sharp turns that are less than 1~pixel) and imperfections in the
|
|
||||||
* glyph's outline, causing artifacts in the final output.
|
|
||||||
*
|
|
||||||
* 2. The `sdf` rasterizer has limited support for handling intersecting
|
|
||||||
* contours and *cannot* handle self-intersecting contours whatsoever.
|
|
||||||
* Self-intersection happens when a single connected contour
|
|
||||||
* intersects itself at some point; having these in your font
|
|
||||||
* definitely poses a problem to the rasterizer and cause artifacts,
|
|
||||||
* too.
|
|
||||||
*
|
|
||||||
* 3. Generating SDF for really small glyphs may result in undesirable
|
|
||||||
* output; the pixel grid (which stores distance information) becomes
|
|
||||||
* too coarse.
|
|
||||||
*
|
|
||||||
* 4. Since the output buffer is normalized, precision at smaller spreads
|
|
||||||
* is greater than precision at larger spread values because the
|
|
||||||
* output range of [0..255] gets mapped to a smaller SDF range. A
|
|
||||||
* spread of~2 should be sufficient in most cases.
|
|
||||||
*
|
|
||||||
* Points (1) and (2) can be avoided by using the `bsdf` rasterizer,
|
|
||||||
* which is more stable than the `sdf` rasterizer in general.
|
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
typedef enum FT_Render_Mode_
|
typedef enum FT_Render_Mode_
|
||||||
{
|
{
|
||||||
@ -4058,9 +3993,26 @@ FT_BEGIN_HEADER
|
|||||||
* out of the scope of this API function -- they can be implemented
|
* out of the scope of this API function -- they can be implemented
|
||||||
* through format-specific interfaces.
|
* through format-specific interfaces.
|
||||||
*
|
*
|
||||||
* Kerning for OpenType fonts implemented in a 'GPOS' table is not
|
* Note that, for TrueType fonts only, this can extract data from both
|
||||||
* supported; use @FT_HAS_KERNING to find out whether a font has data
|
* the 'kern' table and the basic, pair-wise kerning feature from the
|
||||||
* that can be extracted with `FT_Get_Kerning`.
|
* GPOS table (with `TT_CONFIG_OPTION_GPOS_KERNING` enabled), though
|
||||||
|
* FreeType does not support the more advanced GPOS layout features; use
|
||||||
|
* a library like HarfBuzz for those instead. If a font has both a
|
||||||
|
* 'kern' table and kern features of a GPOS table, the 'kern' table will
|
||||||
|
* be used.
|
||||||
|
*
|
||||||
|
* Also note for right-to-left scripts, the functionality may differ for
|
||||||
|
* fonts with GPOS tables vs. 'kern' tables. For GPOS, right-to-left
|
||||||
|
* fonts typically use both a placement offset and an advance for pair
|
||||||
|
* positioning, which this API does not support, so it would output
|
||||||
|
* kerning values of zero; though if the right-to-left font used only
|
||||||
|
* advances in GPOS pair positioning, then this API could output kerning
|
||||||
|
* values for it, but it would use `left_glyph` to mean the first glyph
|
||||||
|
* for that case. Whereas 'kern' tables are always advance-only and
|
||||||
|
* always store the left glyph first.
|
||||||
|
*
|
||||||
|
* Use @FT_HAS_KERNING to find out whether a font has data that can be
|
||||||
|
* extracted with `FT_Get_Kerning`.
|
||||||
*/
|
*/
|
||||||
FT_EXPORT( FT_Error )
|
FT_EXPORT( FT_Error )
|
||||||
FT_Get_Kerning( FT_Face face,
|
FT_Get_Kerning( FT_Face face,
|
||||||
@ -5222,7 +5174,7 @@ FT_BEGIN_HEADER
|
|||||||
*/
|
*/
|
||||||
#define FREETYPE_MAJOR 2
|
#define FREETYPE_MAJOR 2
|
||||||
#define FREETYPE_MINOR 13
|
#define FREETYPE_MINOR 13
|
||||||
#define FREETYPE_PATCH 2
|
#define FREETYPE_PATCH 3
|
||||||
|
|
||||||
|
|
||||||
/**************************************************************************
|
/**************************************************************************
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
*
|
*
|
||||||
* Quick computation of advance widths (specification only).
|
* Quick computation of advance widths (specification only).
|
||||||
*
|
*
|
||||||
* Copyright (C) 2008-2023 by
|
* Copyright (C) 2008-2024 by
|
||||||
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
*
|
*
|
||||||
* This file is part of the FreeType project, and may only be used,
|
* This file is part of the FreeType project, and may only be used,
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
*
|
*
|
||||||
* FreeType exact bbox computation (specification).
|
* FreeType exact bbox computation (specification).
|
||||||
*
|
*
|
||||||
* Copyright (C) 1996-2023 by
|
* Copyright (C) 1996-2024 by
|
||||||
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
*
|
*
|
||||||
* This file is part of the FreeType project, and may only be used,
|
* This file is part of the FreeType project, and may only be used,
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
*
|
*
|
||||||
* FreeType API for accessing BDF-specific strings (specification).
|
* FreeType API for accessing BDF-specific strings (specification).
|
||||||
*
|
*
|
||||||
* Copyright (C) 2002-2023 by
|
* Copyright (C) 2002-2024 by
|
||||||
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
*
|
*
|
||||||
* This file is part of the FreeType project, and may only be used,
|
* This file is part of the FreeType project, and may only be used,
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
*
|
*
|
||||||
* FreeType utility functions for bitmaps (specification).
|
* FreeType utility functions for bitmaps (specification).
|
||||||
*
|
*
|
||||||
* Copyright (C) 2004-2023 by
|
* Copyright (C) 2004-2024 by
|
||||||
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
*
|
*
|
||||||
* This file is part of the FreeType project, and may only be used,
|
* This file is part of the FreeType project, and may only be used,
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
*
|
*
|
||||||
* Bzip2-compressed stream support.
|
* Bzip2-compressed stream support.
|
||||||
*
|
*
|
||||||
* Copyright (C) 2010-2023 by
|
* Copyright (C) 2010-2024 by
|
||||||
* Joel Klinghed.
|
* Joel Klinghed.
|
||||||
*
|
*
|
||||||
* This file is part of the FreeType project, and may only be used,
|
* This file is part of the FreeType project, and may only be used,
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
*
|
*
|
||||||
* FreeType Cache subsystem (specification).
|
* FreeType Cache subsystem (specification).
|
||||||
*
|
*
|
||||||
* Copyright (C) 1996-2023 by
|
* Copyright (C) 1996-2024 by
|
||||||
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
*
|
*
|
||||||
* This file is part of the FreeType project, and may only be used,
|
* This file is part of the FreeType project, and may only be used,
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
*
|
*
|
||||||
* FreeType API for accessing CID font information (specification).
|
* FreeType API for accessing CID font information (specification).
|
||||||
*
|
*
|
||||||
* Copyright (C) 2007-2023 by
|
* Copyright (C) 2007-2024 by
|
||||||
* Dereg Clegg and Michael Toftdal.
|
* Dereg Clegg and Michael Toftdal.
|
||||||
*
|
*
|
||||||
* This file is part of the FreeType project, and may only be used,
|
* This file is part of the FreeType project, and may only be used,
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
*
|
*
|
||||||
* FreeType's glyph color management (specification).
|
* FreeType's glyph color management (specification).
|
||||||
*
|
*
|
||||||
* Copyright (C) 2018-2023 by
|
* Copyright (C) 2018-2024 by
|
||||||
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
*
|
*
|
||||||
* This file is part of the FreeType project, and may only be used,
|
* This file is part of the FreeType project, and may only be used,
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
*
|
*
|
||||||
* FreeType API for controlling driver modules (specification only).
|
* FreeType API for controlling driver modules (specification only).
|
||||||
*
|
*
|
||||||
* Copyright (C) 2017-2023 by
|
* Copyright (C) 2017-2024 by
|
||||||
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
*
|
*
|
||||||
* This file is part of the FreeType project, and may only be used,
|
* This file is part of the FreeType project, and may only be used,
|
||||||
@ -817,6 +817,80 @@ FT_BEGIN_HEADER
|
|||||||
* 2.5
|
* 2.5
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
/**************************************************************************
|
||||||
|
*
|
||||||
|
* @property:
|
||||||
|
* spread
|
||||||
|
*
|
||||||
|
* @description:
|
||||||
|
* This property of the 'sdf' and 'bsdf' renderers defines how the signed
|
||||||
|
* distance field (SDF) is represented in the output bitmap. The output
|
||||||
|
* values are calculated as follows, '128 * ( SDF / spread + 1 )', with
|
||||||
|
* the result clamped to the 8-bit range [0..255]. Therefore, 'spread'
|
||||||
|
* is also the maximum euclidean distance from the edge after which the
|
||||||
|
* values are clamped. The spread is specified in pixels with the
|
||||||
|
* default value of 8. For accurate SDF texture mapping (interpolation),
|
||||||
|
* the spread should be large enough to accommodate the target grid unit.
|
||||||
|
*
|
||||||
|
* @example:
|
||||||
|
* The following example code demonstrates how to set the SDF spread
|
||||||
|
* (omitting the error handling).
|
||||||
|
*
|
||||||
|
* ```
|
||||||
|
* FT_Library library;
|
||||||
|
* FT_Int spread = 2;
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* FT_Init_FreeType( &library );
|
||||||
|
*
|
||||||
|
* FT_Property_Set( library, "sdf", "spread", &spread );
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* @note:
|
||||||
|
* FreeType has two rasterizers for generating SDF, namely:
|
||||||
|
*
|
||||||
|
* 1. `sdf` for generating SDF directly from glyph's outline, and
|
||||||
|
*
|
||||||
|
* 2. `bsdf` for generating SDF from rasterized bitmaps.
|
||||||
|
*
|
||||||
|
* Depending on the glyph type (i.e., outline or bitmap), one of the two
|
||||||
|
* rasterizers is chosen at runtime and used for generating SDFs. To
|
||||||
|
* force the use of `bsdf` you should render the glyph with any of the
|
||||||
|
* FreeType's other rendering modes (e.g., `FT_RENDER_MODE_NORMAL`) and
|
||||||
|
* then re-render with `FT_RENDER_MODE_SDF`.
|
||||||
|
*
|
||||||
|
* There are some issues with stability and possible failures of the SDF
|
||||||
|
* renderers (specifically `sdf`).
|
||||||
|
*
|
||||||
|
* 1. The `sdf` rasterizer is sensitive to really small features (e.g.,
|
||||||
|
* sharp turns that are less than 1~pixel) and imperfections in the
|
||||||
|
* glyph's outline, causing artifacts in the final output.
|
||||||
|
*
|
||||||
|
* 2. The `sdf` rasterizer has limited support for handling intersecting
|
||||||
|
* contours and *cannot* handle self-intersecting contours whatsoever.
|
||||||
|
* Self-intersection happens when a single connected contour
|
||||||
|
* intersects itself at some point; having these in your font
|
||||||
|
* definitely poses a problem to the rasterizer and cause artifacts,
|
||||||
|
* too.
|
||||||
|
*
|
||||||
|
* 3. Generating SDF for really small glyphs may result in undesirable
|
||||||
|
* output; the pixel grid (which stores distance information) becomes
|
||||||
|
* too coarse.
|
||||||
|
*
|
||||||
|
* 4. Since the output buffer is normalized, precision at smaller spreads
|
||||||
|
* is greater than precision at larger spread values because the
|
||||||
|
* output range of [0..255] gets mapped to a smaller SDF range. A
|
||||||
|
* spread of~2 should be sufficient in most cases.
|
||||||
|
*
|
||||||
|
* Points (1) and (2) can be avoided by using the `bsdf` rasterizer,
|
||||||
|
* which is more stable than the `sdf` rasterizer in general.
|
||||||
|
*
|
||||||
|
* @since:
|
||||||
|
* 2.11
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
/**************************************************************************
|
/**************************************************************************
|
||||||
*
|
*
|
||||||
* @property:
|
* @property:
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
*
|
*
|
||||||
* FreeType error codes (specification).
|
* FreeType error codes (specification).
|
||||||
*
|
*
|
||||||
* Copyright (C) 2002-2023 by
|
* Copyright (C) 2002-2024 by
|
||||||
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
*
|
*
|
||||||
* This file is part of the FreeType project, and may only be used,
|
* This file is part of the FreeType project, and may only be used,
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
*
|
*
|
||||||
* FreeType error code handling (specification).
|
* FreeType error code handling (specification).
|
||||||
*
|
*
|
||||||
* Copyright (C) 1996-2023 by
|
* Copyright (C) 1996-2024 by
|
||||||
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
*
|
*
|
||||||
* This file is part of the FreeType project, and may only be used,
|
* This file is part of the FreeType project, and may only be used,
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
*
|
*
|
||||||
* Support functions for font formats.
|
* Support functions for font formats.
|
||||||
*
|
*
|
||||||
* Copyright (C) 2002-2023 by
|
* Copyright (C) 2002-2024 by
|
||||||
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
*
|
*
|
||||||
* This file is part of the FreeType project, and may only be used,
|
* This file is part of the FreeType project, and may only be used,
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
*
|
*
|
||||||
* Access of TrueType's 'gasp' table (specification).
|
* Access of TrueType's 'gasp' table (specification).
|
||||||
*
|
*
|
||||||
* Copyright (C) 2007-2023 by
|
* Copyright (C) 2007-2024 by
|
||||||
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
*
|
*
|
||||||
* This file is part of the FreeType project, and may only be used,
|
* This file is part of the FreeType project, and may only be used,
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
*
|
*
|
||||||
* FreeType convenience functions to handle glyphs (specification).
|
* FreeType convenience functions to handle glyphs (specification).
|
||||||
*
|
*
|
||||||
* Copyright (C) 1996-2023 by
|
* Copyright (C) 1996-2024 by
|
||||||
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
*
|
*
|
||||||
* This file is part of the FreeType project, and may only be used,
|
* This file is part of the FreeType project, and may only be used,
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
*
|
*
|
||||||
* FreeType API for validating TrueTypeGX/AAT tables (specification).
|
* FreeType API for validating TrueTypeGX/AAT tables (specification).
|
||||||
*
|
*
|
||||||
* Copyright (C) 2004-2023 by
|
* Copyright (C) 2004-2024 by
|
||||||
* Masatake YAMATO, Redhat K.K,
|
* Masatake YAMATO, Redhat K.K,
|
||||||
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
*
|
*
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
*
|
*
|
||||||
* Gzip-compressed stream support.
|
* Gzip-compressed stream support.
|
||||||
*
|
*
|
||||||
* Copyright (C) 2002-2023 by
|
* Copyright (C) 2002-2024 by
|
||||||
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
*
|
*
|
||||||
* This file is part of the FreeType project, and may only be used,
|
* This file is part of the FreeType project, and may only be used,
|
||||||
|
29
src/3rdparty/freetype/include/freetype/ftimage.h
vendored
29
src/3rdparty/freetype/include/freetype/ftimage.h
vendored
@ -5,7 +5,7 @@
|
|||||||
* FreeType glyph image formats and default raster interface
|
* FreeType glyph image formats and default raster interface
|
||||||
* (specification).
|
* (specification).
|
||||||
*
|
*
|
||||||
* Copyright (C) 1996-2023 by
|
* Copyright (C) 1996-2024 by
|
||||||
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
*
|
*
|
||||||
* This file is part of the FreeType project, and may only be used,
|
* This file is part of the FreeType project, and may only be used,
|
||||||
@ -21,6 +21,11 @@
|
|||||||
* Note: A 'raster' is simply a scan-line converter, used to render
|
* Note: A 'raster' is simply a scan-line converter, used to render
|
||||||
* `FT_Outline`s into `FT_Bitmap`s.
|
* `FT_Outline`s into `FT_Bitmap`s.
|
||||||
*
|
*
|
||||||
|
* Note: This file can be used for `STANDALONE_` compilation of raster
|
||||||
|
* (B/W) and smooth (anti-aliased) renderers. Therefore, it must
|
||||||
|
* rely on standard variable types only instead of aliases in
|
||||||
|
* `fttypes.h`.
|
||||||
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
@ -318,7 +323,7 @@ FT_BEGIN_HEADER
|
|||||||
*
|
*
|
||||||
* If bit~2 is set, bits 5-7 contain the drop-out mode (as defined in
|
* If bit~2 is set, bits 5-7 contain the drop-out mode (as defined in
|
||||||
* the OpenType specification; the value is the same as the argument to
|
* the OpenType specification; the value is the same as the argument to
|
||||||
* the 'SCANMODE' instruction).
|
* the 'SCANTYPE' instruction).
|
||||||
*
|
*
|
||||||
* Bits 3 and~4 are reserved for internal purposes.
|
* Bits 3 and~4 are reserved for internal purposes.
|
||||||
*
|
*
|
||||||
@ -341,14 +346,14 @@ FT_BEGIN_HEADER
|
|||||||
*/
|
*/
|
||||||
typedef struct FT_Outline_
|
typedef struct FT_Outline_
|
||||||
{
|
{
|
||||||
short n_contours; /* number of contours in glyph */
|
unsigned short n_contours; /* number of contours in glyph */
|
||||||
short n_points; /* number of points in the glyph */
|
unsigned short n_points; /* number of points in the glyph */
|
||||||
|
|
||||||
FT_Vector* points; /* the outline's points */
|
FT_Vector* points; /* the outline's points */
|
||||||
char* tags; /* the points flags */
|
unsigned char* tags; /* the points flags */
|
||||||
short* contours; /* the contour end points */
|
unsigned short* contours; /* the contour end points */
|
||||||
|
|
||||||
int flags; /* outline masks */
|
int flags; /* outline masks */
|
||||||
|
|
||||||
} FT_Outline;
|
} FT_Outline;
|
||||||
|
|
||||||
@ -356,8 +361,8 @@ FT_BEGIN_HEADER
|
|||||||
|
|
||||||
/* Following limits must be consistent with */
|
/* Following limits must be consistent with */
|
||||||
/* FT_Outline.{n_contours,n_points} */
|
/* FT_Outline.{n_contours,n_points} */
|
||||||
#define FT_OUTLINE_CONTOURS_MAX SHRT_MAX
|
#define FT_OUTLINE_CONTOURS_MAX USHRT_MAX
|
||||||
#define FT_OUTLINE_POINTS_MAX SHRT_MAX
|
#define FT_OUTLINE_POINTS_MAX USHRT_MAX
|
||||||
|
|
||||||
|
|
||||||
/**************************************************************************
|
/**************************************************************************
|
||||||
@ -434,8 +439,8 @@ FT_BEGIN_HEADER
|
|||||||
* rasterizer; see the `tags` field in @FT_Outline.
|
* rasterizer; see the `tags` field in @FT_Outline.
|
||||||
*
|
*
|
||||||
* Please refer to the description of the 'SCANTYPE' instruction in the
|
* Please refer to the description of the 'SCANTYPE' instruction in the
|
||||||
* OpenType specification (in file `ttinst1.doc`) how simple drop-outs,
|
* [OpenType specification](https://learn.microsoft.com/en-us/typography/opentype/spec/tt_instructions#scantype)
|
||||||
* smart drop-outs, and stubs are defined.
|
* how simple drop-outs, smart drop-outs, and stubs are defined.
|
||||||
*/
|
*/
|
||||||
#define FT_OUTLINE_NONE 0x0
|
#define FT_OUTLINE_NONE 0x0
|
||||||
#define FT_OUTLINE_OWNER 0x1
|
#define FT_OUTLINE_OWNER 0x1
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
*
|
*
|
||||||
* FreeType incremental loading (specification).
|
* FreeType incremental loading (specification).
|
||||||
*
|
*
|
||||||
* Copyright (C) 2002-2023 by
|
* Copyright (C) 2002-2024 by
|
||||||
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
*
|
*
|
||||||
* This file is part of the FreeType project, and may only be used,
|
* This file is part of the FreeType project, and may only be used,
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
* FreeType API for color filtering of subpixel bitmap glyphs
|
* FreeType API for color filtering of subpixel bitmap glyphs
|
||||||
* (specification).
|
* (specification).
|
||||||
*
|
*
|
||||||
* Copyright (C) 2006-2023 by
|
* Copyright (C) 2006-2024 by
|
||||||
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
*
|
*
|
||||||
* This file is part of the FreeType project, and may only be used,
|
* This file is part of the FreeType project, and may only be used,
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
*
|
*
|
||||||
* Generic list support for FreeType (specification).
|
* Generic list support for FreeType (specification).
|
||||||
*
|
*
|
||||||
* Copyright (C) 1996-2023 by
|
* Copyright (C) 1996-2024 by
|
||||||
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
*
|
*
|
||||||
* This file is part of the FreeType project, and may only be used,
|
* This file is part of the FreeType project, and may only be used,
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
*
|
*
|
||||||
* Additional debugging APIs.
|
* Additional debugging APIs.
|
||||||
*
|
*
|
||||||
* Copyright (C) 2020-2023 by
|
* Copyright (C) 2020-2024 by
|
||||||
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
*
|
*
|
||||||
* This file is part of the FreeType project, and may only be used,
|
* This file is part of the FreeType project, and may only be used,
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
*
|
*
|
||||||
* LZW-compressed stream support.
|
* LZW-compressed stream support.
|
||||||
*
|
*
|
||||||
* Copyright (C) 2004-2023 by
|
* Copyright (C) 2004-2024 by
|
||||||
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
*
|
*
|
||||||
* This file is part of the FreeType project, and may only be used,
|
* This file is part of the FreeType project, and may only be used,
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
*
|
*
|
||||||
* Additional Mac-specific API.
|
* Additional Mac-specific API.
|
||||||
*
|
*
|
||||||
* Copyright (C) 1996-2023 by
|
* Copyright (C) 1996-2024 by
|
||||||
* Just van Rossum, David Turner, Robert Wilhelm, and Werner Lemberg.
|
* Just van Rossum, David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
*
|
*
|
||||||
* This file is part of the FreeType project, and may only be used,
|
* This file is part of the FreeType project, and may only be used,
|
||||||
|
33
src/3rdparty/freetype/include/freetype/ftmm.h
vendored
33
src/3rdparty/freetype/include/freetype/ftmm.h
vendored
@ -4,7 +4,7 @@
|
|||||||
*
|
*
|
||||||
* FreeType Multiple Master font interface (specification).
|
* FreeType Multiple Master font interface (specification).
|
||||||
*
|
*
|
||||||
* Copyright (C) 1996-2023 by
|
* Copyright (C) 1996-2024 by
|
||||||
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
*
|
*
|
||||||
* This file is part of the FreeType project, and may only be used,
|
* This file is part of the FreeType project, and may only be used,
|
||||||
@ -19,8 +19,13 @@
|
|||||||
#ifndef FTMM_H_
|
#ifndef FTMM_H_
|
||||||
#define FTMM_H_
|
#define FTMM_H_
|
||||||
|
|
||||||
|
#include <freetype/freetype.h>
|
||||||
|
|
||||||
#include <freetype/t1tables.h>
|
#ifdef FREETYPE_H
|
||||||
|
#error "freetype.h of FreeType 1 has been loaded!"
|
||||||
|
#error "Please fix the directory search order for header files"
|
||||||
|
#error "so that freetype.h of FreeType 2 is found first."
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
FT_BEGIN_HEADER
|
FT_BEGIN_HEADER
|
||||||
@ -53,6 +58,30 @@ FT_BEGIN_HEADER
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
/**************************************************************************
|
||||||
|
*
|
||||||
|
* @enum:
|
||||||
|
* T1_MAX_MM_XXX
|
||||||
|
*
|
||||||
|
* @description:
|
||||||
|
* Multiple Masters limits as defined in their specifications.
|
||||||
|
*
|
||||||
|
* @values:
|
||||||
|
* T1_MAX_MM_AXIS ::
|
||||||
|
* The maximum number of Multiple Masters axes.
|
||||||
|
*
|
||||||
|
* T1_MAX_MM_DESIGNS ::
|
||||||
|
* The maximum number of Multiple Masters designs.
|
||||||
|
*
|
||||||
|
* T1_MAX_MM_MAP_POINTS ::
|
||||||
|
* The maximum number of elements in a design map.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
#define T1_MAX_MM_AXIS 4
|
||||||
|
#define T1_MAX_MM_DESIGNS 16
|
||||||
|
#define T1_MAX_MM_MAP_POINTS 20
|
||||||
|
|
||||||
|
|
||||||
/**************************************************************************
|
/**************************************************************************
|
||||||
*
|
*
|
||||||
* @struct:
|
* @struct:
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
*
|
*
|
||||||
* FreeType modules public interface (specification).
|
* FreeType modules public interface (specification).
|
||||||
*
|
*
|
||||||
* Copyright (C) 1996-2023 by
|
* Copyright (C) 1996-2024 by
|
||||||
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
*
|
*
|
||||||
* This file is part of the FreeType project, and may only be used,
|
* This file is part of the FreeType project, and may only be used,
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
*
|
*
|
||||||
* FreeType module error offsets (specification).
|
* FreeType module error offsets (specification).
|
||||||
*
|
*
|
||||||
* Copyright (C) 2001-2023 by
|
* Copyright (C) 2001-2024 by
|
||||||
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
*
|
*
|
||||||
* This file is part of the FreeType project, and may only be used,
|
* This file is part of the FreeType project, and may only be used,
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
*
|
*
|
||||||
* FreeType API for validating OpenType tables (specification).
|
* FreeType API for validating OpenType tables (specification).
|
||||||
*
|
*
|
||||||
* Copyright (C) 2004-2023 by
|
* Copyright (C) 2004-2024 by
|
||||||
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
*
|
*
|
||||||
* This file is part of the FreeType project, and may only be used,
|
* This file is part of the FreeType project, and may only be used,
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
* Support for the FT_Outline type used to store glyph shapes of
|
* Support for the FT_Outline type used to store glyph shapes of
|
||||||
* most scalable font formats (specification).
|
* most scalable font formats (specification).
|
||||||
*
|
*
|
||||||
* Copyright (C) 1996-2023 by
|
* Copyright (C) 1996-2024 by
|
||||||
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
*
|
*
|
||||||
* This file is part of the FreeType project, and may only be used,
|
* This file is part of the FreeType project, and may only be used,
|
||||||
@ -112,7 +112,7 @@ FT_BEGIN_HEADER
|
|||||||
* Degenerate contours, segments, and Bezier arcs may be reported. In
|
* Degenerate contours, segments, and Bezier arcs may be reported. In
|
||||||
* most cases, it is best to filter these out before using the outline
|
* most cases, it is best to filter these out before using the outline
|
||||||
* for stroking or other path modification purposes (which may cause
|
* for stroking or other path modification purposes (which may cause
|
||||||
* degenerate segments to become non-degenrate and visible, like when
|
* degenerate segments to become non-degenerate and visible, like when
|
||||||
* stroke caps are used or the path is otherwise outset). Some glyph
|
* stroke caps are used or the path is otherwise outset). Some glyph
|
||||||
* outlines may contain deliberate degenerate single points for mark
|
* outlines may contain deliberate degenerate single points for mark
|
||||||
* attachement.
|
* attachement.
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
*
|
*
|
||||||
* FreeType API for possible FT_Parameter tags (specification only).
|
* FreeType API for possible FT_Parameter tags (specification only).
|
||||||
*
|
*
|
||||||
* Copyright (C) 2017-2023 by
|
* Copyright (C) 2017-2024 by
|
||||||
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
*
|
*
|
||||||
* This file is part of the FreeType project, and may only be used,
|
* This file is part of the FreeType project, and may only be used,
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
*
|
*
|
||||||
* FreeType API for accessing PFR-specific data (specification only).
|
* FreeType API for accessing PFR-specific data (specification only).
|
||||||
*
|
*
|
||||||
* Copyright (C) 2002-2023 by
|
* Copyright (C) 2002-2024 by
|
||||||
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
*
|
*
|
||||||
* This file is part of the FreeType project, and may only be used,
|
* This file is part of the FreeType project, and may only be used,
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
*
|
*
|
||||||
* FreeType renderer modules public interface (specification).
|
* FreeType renderer modules public interface (specification).
|
||||||
*
|
*
|
||||||
* Copyright (C) 1996-2023 by
|
* Copyright (C) 1996-2024 by
|
||||||
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
*
|
*
|
||||||
* This file is part of the FreeType project, and may only be used,
|
* This file is part of the FreeType project, and may only be used,
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
*
|
*
|
||||||
* FreeType size objects management (specification).
|
* FreeType size objects management (specification).
|
||||||
*
|
*
|
||||||
* Copyright (C) 1996-2023 by
|
* Copyright (C) 1996-2024 by
|
||||||
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
*
|
*
|
||||||
* This file is part of the FreeType project, and may only be used,
|
* This file is part of the FreeType project, and may only be used,
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
*
|
*
|
||||||
* This is _not_ used to retrieve glyph names!
|
* This is _not_ used to retrieve glyph names!
|
||||||
*
|
*
|
||||||
* Copyright (C) 1996-2023 by
|
* Copyright (C) 1996-2024 by
|
||||||
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
*
|
*
|
||||||
* This file is part of the FreeType project, and may only be used,
|
* This file is part of the FreeType project, and may only be used,
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
*
|
*
|
||||||
* FreeType path stroker (specification).
|
* FreeType path stroker (specification).
|
||||||
*
|
*
|
||||||
* Copyright (C) 2002-2023 by
|
* Copyright (C) 2002-2024 by
|
||||||
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
*
|
*
|
||||||
* This file is part of the FreeType project, and may only be used,
|
* This file is part of the FreeType project, and may only be used,
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
* FreeType synthesizing code for emboldening and slanting
|
* FreeType synthesizing code for emboldening and slanting
|
||||||
* (specification).
|
* (specification).
|
||||||
*
|
*
|
||||||
* Copyright (C) 2000-2023 by
|
* Copyright (C) 2000-2024 by
|
||||||
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
*
|
*
|
||||||
* This file is part of the FreeType project, and may only be used,
|
* This file is part of the FreeType project, and may only be used,
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
*
|
*
|
||||||
* FreeType low-level system interface definition (specification).
|
* FreeType low-level system interface definition (specification).
|
||||||
*
|
*
|
||||||
* Copyright (C) 1996-2023 by
|
* Copyright (C) 1996-2024 by
|
||||||
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
*
|
*
|
||||||
* This file is part of the FreeType project, and may only be used,
|
* This file is part of the FreeType project, and may only be used,
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
*
|
*
|
||||||
* FreeType trigonometric functions (specification).
|
* FreeType trigonometric functions (specification).
|
||||||
*
|
*
|
||||||
* Copyright (C) 2001-2023 by
|
* Copyright (C) 2001-2024 by
|
||||||
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
*
|
*
|
||||||
* This file is part of the FreeType project, and may only be used,
|
* This file is part of the FreeType project, and may only be used,
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
*
|
*
|
||||||
* FreeType simple types definitions (specification only).
|
* FreeType simple types definitions (specification only).
|
||||||
*
|
*
|
||||||
* Copyright (C) 1996-2023 by
|
* Copyright (C) 1996-2024 by
|
||||||
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
*
|
*
|
||||||
* This file is part of the FreeType project, and may only be used,
|
* This file is part of the FreeType project, and may only be used,
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
*
|
*
|
||||||
* FreeType API for accessing Windows fnt-specific data.
|
* FreeType API for accessing Windows fnt-specific data.
|
||||||
*
|
*
|
||||||
* Copyright (C) 2003-2023 by
|
* Copyright (C) 2003-2024 by
|
||||||
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
*
|
*
|
||||||
* This file is part of the FreeType project, and may only be used,
|
* This file is part of the FreeType project, and may only be used,
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
*
|
*
|
||||||
* High-level 'autohint' module-specific interface (specification).
|
* High-level 'autohint' module-specific interface (specification).
|
||||||
*
|
*
|
||||||
* Copyright (C) 1996-2023 by
|
* Copyright (C) 1996-2024 by
|
||||||
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
*
|
*
|
||||||
* This file is part of the FreeType project, and may only be used,
|
* This file is part of the FreeType project, and may only be used,
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
*
|
*
|
||||||
* Basic OpenType/CFF object type definitions (specification).
|
* Basic OpenType/CFF object type definitions (specification).
|
||||||
*
|
*
|
||||||
* Copyright (C) 2017-2023 by
|
* Copyright (C) 2017-2024 by
|
||||||
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
*
|
*
|
||||||
* This file is part of the FreeType project, and may only be used,
|
* This file is part of the FreeType project, and may only be used,
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
* Basic OpenType/CFF type definitions and interface (specification
|
* Basic OpenType/CFF type definitions and interface (specification
|
||||||
* only).
|
* only).
|
||||||
*
|
*
|
||||||
* Copyright (C) 1996-2023 by
|
* Copyright (C) 1996-2024 by
|
||||||
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
*
|
*
|
||||||
* This file is part of the FreeType project, and may only be used,
|
* This file is part of the FreeType project, and may only be used,
|
||||||
@ -248,10 +248,10 @@ FT_BEGIN_HEADER
|
|||||||
FT_Byte num_family_blues;
|
FT_Byte num_family_blues;
|
||||||
FT_Byte num_family_other_blues;
|
FT_Byte num_family_other_blues;
|
||||||
|
|
||||||
FT_Pos blue_values[14];
|
FT_Fixed blue_values[14];
|
||||||
FT_Pos other_blues[10];
|
FT_Fixed other_blues[10];
|
||||||
FT_Pos family_blues[14];
|
FT_Fixed family_blues[14];
|
||||||
FT_Pos family_other_blues[10];
|
FT_Fixed family_other_blues[10];
|
||||||
|
|
||||||
FT_Fixed blue_scale;
|
FT_Fixed blue_scale;
|
||||||
FT_Pos blue_shift;
|
FT_Pos blue_shift;
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
*
|
*
|
||||||
* Compiler-specific macro definitions used internally by FreeType.
|
* Compiler-specific macro definitions used internally by FreeType.
|
||||||
*
|
*
|
||||||
* Copyright (C) 2020-2023 by
|
* Copyright (C) 2020-2024 by
|
||||||
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
*
|
*
|
||||||
* This file is part of the FreeType project, and may only be used,
|
* This file is part of the FreeType project, and may only be used,
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
*
|
*
|
||||||
* Arithmetic computations (specification).
|
* Arithmetic computations (specification).
|
||||||
*
|
*
|
||||||
* Copyright (C) 1996-2023 by
|
* Copyright (C) 1996-2024 by
|
||||||
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
*
|
*
|
||||||
* This file is part of the FreeType project, and may only be used,
|
* This file is part of the FreeType project, and may only be used,
|
||||||
@ -415,7 +415,7 @@ FT_BEGIN_HEADER
|
|||||||
|
|
||||||
#define FT_MSB( x ) ( 31 - _CountLeadingZeros( x ) )
|
#define FT_MSB( x ) ( 31 - _CountLeadingZeros( x ) )
|
||||||
|
|
||||||
#elif defined( _M_ARM64 ) || defined( _M_ARM )
|
#elif defined( _M_ARM64 ) || defined( _M_ARM ) || defined( _M_ARM64EC )
|
||||||
|
|
||||||
#include <intrin.h>
|
#include <intrin.h>
|
||||||
#pragma intrinsic( _CountLeadingZeros )
|
#pragma intrinsic( _CountLeadingZeros )
|
||||||
@ -455,6 +455,12 @@ FT_BEGIN_HEADER
|
|||||||
|
|
||||||
#define FT_MSB( x ) FT_MSB_i386( x )
|
#define FT_MSB( x ) FT_MSB_i386( x )
|
||||||
|
|
||||||
|
#elif defined( __SunOS_5_11 )
|
||||||
|
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
|
#define FT_MSB( x ) ( fls( x ) - 1 )
|
||||||
|
|
||||||
#elif defined( __DECC ) || defined( __DECCXX )
|
#elif defined( __DECC ) || defined( __DECCXX )
|
||||||
|
|
||||||
#include <builtins.h>
|
#include <builtins.h>
|
||||||
@ -489,8 +495,6 @@ FT_BEGIN_HEADER
|
|||||||
FT_Fixed y );
|
FT_Fixed y );
|
||||||
|
|
||||||
|
|
||||||
#if 0
|
|
||||||
|
|
||||||
/**************************************************************************
|
/**************************************************************************
|
||||||
*
|
*
|
||||||
* @function:
|
* @function:
|
||||||
@ -507,12 +511,11 @@ FT_BEGIN_HEADER
|
|||||||
* The result of 'sqrt(x)'.
|
* The result of 'sqrt(x)'.
|
||||||
*
|
*
|
||||||
* @note:
|
* @note:
|
||||||
* This function is not very fast.
|
* This function is slow and should be avoided. Consider @FT_Hypot or
|
||||||
|
* @FT_Vector_NormLen instead.
|
||||||
*/
|
*/
|
||||||
FT_BASE( FT_Int32 )
|
FT_BASE( FT_UInt32 )
|
||||||
FT_SqrtFixed( FT_Int32 x );
|
FT_SqrtFixed( FT_UInt32 x );
|
||||||
|
|
||||||
#endif /* 0 */
|
|
||||||
|
|
||||||
|
|
||||||
#define INT_TO_F26DOT6( x ) ( (FT_Long)(x) * 64 ) /* << 6 */
|
#define INT_TO_F26DOT6( x ) ( (FT_Long)(x) * 64 ) /* << 6 */
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
*
|
*
|
||||||
* Debugging and logging component (specification).
|
* Debugging and logging component (specification).
|
||||||
*
|
*
|
||||||
* Copyright (C) 1996-2023 by
|
* Copyright (C) 1996-2024 by
|
||||||
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
*
|
*
|
||||||
* This file is part of the FreeType project, and may only be used,
|
* This file is part of the FreeType project, and may only be used,
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
*
|
*
|
||||||
* FreeType internal font driver interface (specification).
|
* FreeType internal font driver interface (specification).
|
||||||
*
|
*
|
||||||
* Copyright (C) 1996-2023 by
|
* Copyright (C) 1996-2024 by
|
||||||
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
*
|
*
|
||||||
* This file is part of the FreeType project, and may only be used,
|
* This file is part of the FreeType project, and may only be used,
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
*
|
*
|
||||||
* The FreeType glyph loader (specification).
|
* The FreeType glyph loader (specification).
|
||||||
*
|
*
|
||||||
* Copyright (C) 2002-2023 by
|
* Copyright (C) 2002-2024 by
|
||||||
* David Turner, Robert Wilhelm, and Werner Lemberg
|
* David Turner, Robert Wilhelm, and Werner Lemberg
|
||||||
*
|
*
|
||||||
* This file is part of the FreeType project, and may only be used,
|
* This file is part of the FreeType project, and may only be used,
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
*
|
*
|
||||||
* The FreeType memory management macros (specification).
|
* The FreeType memory management macros (specification).
|
||||||
*
|
*
|
||||||
* Copyright (C) 1996-2023 by
|
* Copyright (C) 1996-2024 by
|
||||||
* David Turner, Robert Wilhelm, and Werner Lemberg
|
* David Turner, Robert Wilhelm, and Werner Lemberg
|
||||||
*
|
*
|
||||||
* This file is part of the FreeType project, and may only be used,
|
* This file is part of the FreeType project, and may only be used,
|
||||||
@ -371,8 +371,11 @@ extern "C++"
|
|||||||
#define FT_STRDUP( dst, str ) \
|
#define FT_STRDUP( dst, str ) \
|
||||||
FT_MEM_SET_ERROR( FT_MEM_STRDUP( dst, str ) )
|
FT_MEM_SET_ERROR( FT_MEM_STRDUP( dst, str ) )
|
||||||
|
|
||||||
#define FT_MEM_DUP( dst, address, size ) \
|
#define FT_MEM_DUP( dst, address, size ) \
|
||||||
(dst) = ft_mem_dup( memory, (address), (FT_ULong)(size), &error )
|
FT_ASSIGNP_INNER( dst, ft_mem_dup( memory, \
|
||||||
|
(address), \
|
||||||
|
(FT_ULong)(size), \
|
||||||
|
&error ) )
|
||||||
|
|
||||||
#define FT_DUP( dst, address, size ) \
|
#define FT_DUP( dst, address, size ) \
|
||||||
FT_MEM_SET_ERROR( FT_MEM_DUP( dst, address, size ) )
|
FT_MEM_SET_ERROR( FT_MEM_DUP( dst, address, size ) )
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
* OpenType Variations type definitions for internal use
|
* OpenType Variations type definitions for internal use
|
||||||
* with the multi-masters service (specification).
|
* with the multi-masters service (specification).
|
||||||
*
|
*
|
||||||
* Copyright (C) 2022-2023 by
|
* Copyright (C) 2022-2024 by
|
||||||
* David Turner, Robert Wilhelm, Werner Lemberg, George Williams, and
|
* David Turner, Robert Wilhelm, Werner Lemberg, George Williams, and
|
||||||
* Dominik Röttsches.
|
* Dominik Röttsches.
|
||||||
*
|
*
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
*
|
*
|
||||||
* The FreeType private base classes (specification).
|
* The FreeType private base classes (specification).
|
||||||
*
|
*
|
||||||
* Copyright (C) 1996-2023 by
|
* Copyright (C) 1996-2024 by
|
||||||
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
*
|
*
|
||||||
* This file is part of the FreeType project, and may only be used,
|
* This file is part of the FreeType project, and may only be used,
|
||||||
@ -604,12 +604,6 @@ FT_BEGIN_HEADER
|
|||||||
#define FT_FACE_MEMORY( x ) FT_FACE( x )->memory
|
#define FT_FACE_MEMORY( x ) FT_FACE( x )->memory
|
||||||
#define FT_FACE_STREAM( x ) FT_FACE( x )->stream
|
#define FT_FACE_STREAM( x ) FT_FACE( x )->stream
|
||||||
|
|
||||||
#define FT_SIZE_FACE( x ) FT_SIZE( x )->face
|
|
||||||
#define FT_SLOT_FACE( x ) FT_SLOT( x )->face
|
|
||||||
|
|
||||||
#define FT_FACE_SLOT( x ) FT_FACE( x )->glyph
|
|
||||||
#define FT_FACE_SIZE( x ) FT_FACE( x )->size
|
|
||||||
|
|
||||||
|
|
||||||
/**************************************************************************
|
/**************************************************************************
|
||||||
*
|
*
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
*
|
*
|
||||||
* Get and set properties of PostScript drivers (specification).
|
* Get and set properties of PostScript drivers (specification).
|
||||||
*
|
*
|
||||||
* Copyright (C) 2017-2023 by
|
* Copyright (C) 2017-2024 by
|
||||||
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
*
|
*
|
||||||
* This file is part of the FreeType project, and may only be used,
|
* This file is part of the FreeType project, and may only be used,
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
*
|
*
|
||||||
* Embedded resource forks accessor (specification).
|
* Embedded resource forks accessor (specification).
|
||||||
*
|
*
|
||||||
* Copyright (C) 2004-2023 by
|
* Copyright (C) 2004-2024 by
|
||||||
* Masatake YAMATO and Redhat K.K.
|
* Masatake YAMATO and Redhat K.K.
|
||||||
*
|
*
|
||||||
* This file is part of the FreeType project, and may only be used,
|
* This file is part of the FreeType project, and may only be used,
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
*
|
*
|
||||||
* The FreeType services (specification only).
|
* The FreeType services (specification only).
|
||||||
*
|
*
|
||||||
* Copyright (C) 2003-2023 by
|
* Copyright (C) 2003-2024 by
|
||||||
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
*
|
*
|
||||||
* This file is part of the FreeType project, and may only be used,
|
* This file is part of the FreeType project, and may only be used,
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
*
|
*
|
||||||
* Stream handling (specification).
|
* Stream handling (specification).
|
||||||
*
|
*
|
||||||
* Copyright (C) 1996-2023 by
|
* Copyright (C) 1996-2024 by
|
||||||
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
*
|
*
|
||||||
* This file is part of the FreeType project, and may only be used,
|
* This file is part of the FreeType project, and may only be used,
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
*
|
*
|
||||||
* Tracing handling (specification only).
|
* Tracing handling (specification only).
|
||||||
*
|
*
|
||||||
* Copyright (C) 2002-2023 by
|
* Copyright (C) 2002-2024 by
|
||||||
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
*
|
*
|
||||||
* This file is part of the FreeType project, and may only be used,
|
* This file is part of the FreeType project, and may only be used,
|
||||||
@ -64,6 +64,7 @@ FT_TRACE_DEF( ttbdf ) /* TrueType embedded BDF (ttbdf.c) */
|
|||||||
FT_TRACE_DEF( ttcmap ) /* charmap handler (ttcmap.c) */
|
FT_TRACE_DEF( ttcmap ) /* charmap handler (ttcmap.c) */
|
||||||
FT_TRACE_DEF( ttcolr ) /* glyph layer table (ttcolr.c) */
|
FT_TRACE_DEF( ttcolr ) /* glyph layer table (ttcolr.c) */
|
||||||
FT_TRACE_DEF( ttcpal ) /* color palette table (ttcpal.c) */
|
FT_TRACE_DEF( ttcpal ) /* color palette table (ttcpal.c) */
|
||||||
|
FT_TRACE_DEF( ttgpos ) /* GPOS handler (ttgpos.c) */
|
||||||
FT_TRACE_DEF( ttsvg ) /* OpenType SVG table (ttsvg.c) */
|
FT_TRACE_DEF( ttsvg ) /* OpenType SVG table (ttsvg.c) */
|
||||||
FT_TRACE_DEF( ttkern ) /* kerning handler (ttkern.c) */
|
FT_TRACE_DEF( ttkern ) /* kerning handler (ttkern.c) */
|
||||||
FT_TRACE_DEF( ttload ) /* basic TrueType tables (ttload.c) */
|
FT_TRACE_DEF( ttload ) /* basic TrueType tables (ttload.c) */
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
*
|
*
|
||||||
* FreeType validation support (specification).
|
* FreeType validation support (specification).
|
||||||
*
|
*
|
||||||
* Copyright (C) 2004-2023 by
|
* Copyright (C) 2004-2024 by
|
||||||
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
*
|
*
|
||||||
* This file is part of the FreeType project, and may only be used,
|
* This file is part of the FreeType project, and may only be used,
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
* Auxiliary functions and data structures related to PostScript fonts
|
* Auxiliary functions and data structures related to PostScript fonts
|
||||||
* (specification).
|
* (specification).
|
||||||
*
|
*
|
||||||
* Copyright (C) 1996-2023 by
|
* Copyright (C) 1996-2024 by
|
||||||
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
*
|
*
|
||||||
* This file is part of the FreeType project, and may only be used,
|
* This file is part of the FreeType project, and may only be used,
|
||||||
@ -225,6 +225,7 @@ FT_BEGIN_HEADER
|
|||||||
|
|
||||||
typedef enum T1_FieldLocation_
|
typedef enum T1_FieldLocation_
|
||||||
{
|
{
|
||||||
|
T1_FIELD_LOCATION_NONE = 0,
|
||||||
T1_FIELD_LOCATION_CID_INFO,
|
T1_FIELD_LOCATION_CID_INFO,
|
||||||
T1_FIELD_LOCATION_FONT_DICT,
|
T1_FIELD_LOCATION_FONT_DICT,
|
||||||
T1_FIELD_LOCATION_FONT_EXTRA,
|
T1_FIELD_LOCATION_FONT_EXTRA,
|
||||||
@ -249,6 +250,7 @@ FT_BEGIN_HEADER
|
|||||||
/* structure type used to model object fields */
|
/* structure type used to model object fields */
|
||||||
typedef struct T1_FieldRec_
|
typedef struct T1_FieldRec_
|
||||||
{
|
{
|
||||||
|
FT_UInt len; /* field identifier length */
|
||||||
const char* ident; /* field identifier */
|
const char* ident; /* field identifier */
|
||||||
T1_FieldLocation location;
|
T1_FieldLocation location;
|
||||||
T1_FieldType type; /* type of field */
|
T1_FieldType type; /* type of field */
|
||||||
@ -273,8 +275,9 @@ FT_BEGIN_HEADER
|
|||||||
|
|
||||||
#define T1_NEW_SIMPLE_FIELD( _ident, _type, _fname, _dict ) \
|
#define T1_NEW_SIMPLE_FIELD( _ident, _type, _fname, _dict ) \
|
||||||
{ \
|
{ \
|
||||||
|
sizeof ( _ident ) - 1, \
|
||||||
_ident, T1CODE, _type, \
|
_ident, T1CODE, _type, \
|
||||||
0, \
|
NULL, \
|
||||||
FT_FIELD_OFFSET( _fname ), \
|
FT_FIELD_OFFSET( _fname ), \
|
||||||
FT_FIELD_SIZE( _fname ), \
|
FT_FIELD_SIZE( _fname ), \
|
||||||
0, 0, \
|
0, 0, \
|
||||||
@ -283,6 +286,7 @@ FT_BEGIN_HEADER
|
|||||||
|
|
||||||
#define T1_NEW_CALLBACK_FIELD( _ident, _reader, _dict ) \
|
#define T1_NEW_CALLBACK_FIELD( _ident, _reader, _dict ) \
|
||||||
{ \
|
{ \
|
||||||
|
sizeof ( _ident ) - 1, \
|
||||||
_ident, T1CODE, T1_FIELD_TYPE_CALLBACK, \
|
_ident, T1CODE, T1_FIELD_TYPE_CALLBACK, \
|
||||||
(T1_Field_ParseFunc)_reader, \
|
(T1_Field_ParseFunc)_reader, \
|
||||||
0, 0, \
|
0, 0, \
|
||||||
@ -292,8 +296,9 @@ FT_BEGIN_HEADER
|
|||||||
|
|
||||||
#define T1_NEW_TABLE_FIELD( _ident, _type, _fname, _max, _dict ) \
|
#define T1_NEW_TABLE_FIELD( _ident, _type, _fname, _max, _dict ) \
|
||||||
{ \
|
{ \
|
||||||
|
sizeof ( _ident ) - 1, \
|
||||||
_ident, T1CODE, _type, \
|
_ident, T1CODE, _type, \
|
||||||
0, \
|
NULL, \
|
||||||
FT_FIELD_OFFSET( _fname ), \
|
FT_FIELD_OFFSET( _fname ), \
|
||||||
FT_FIELD_SIZE_DELTA( _fname ), \
|
FT_FIELD_SIZE_DELTA( _fname ), \
|
||||||
_max, \
|
_max, \
|
||||||
@ -303,8 +308,9 @@ FT_BEGIN_HEADER
|
|||||||
|
|
||||||
#define T1_NEW_TABLE_FIELD2( _ident, _type, _fname, _max, _dict ) \
|
#define T1_NEW_TABLE_FIELD2( _ident, _type, _fname, _max, _dict ) \
|
||||||
{ \
|
{ \
|
||||||
|
sizeof ( _ident ) - 1, \
|
||||||
_ident, T1CODE, _type, \
|
_ident, T1CODE, _type, \
|
||||||
0, \
|
NULL, \
|
||||||
FT_FIELD_OFFSET( _fname ), \
|
FT_FIELD_OFFSET( _fname ), \
|
||||||
FT_FIELD_SIZE_DELTA( _fname ), \
|
FT_FIELD_SIZE_DELTA( _fname ), \
|
||||||
_max, 0, \
|
_max, 0, \
|
||||||
@ -354,6 +360,13 @@ FT_BEGIN_HEADER
|
|||||||
#define T1_FIELD_CALLBACK( _ident, _name, _dict ) \
|
#define T1_FIELD_CALLBACK( _ident, _name, _dict ) \
|
||||||
T1_NEW_CALLBACK_FIELD( _ident, _name, _dict )
|
T1_NEW_CALLBACK_FIELD( _ident, _name, _dict )
|
||||||
|
|
||||||
|
#define T1_FIELD_ZERO \
|
||||||
|
{ \
|
||||||
|
0, \
|
||||||
|
NULL, T1_FIELD_LOCATION_NONE, T1_FIELD_TYPE_NONE, \
|
||||||
|
NULL, 0, 0, 0, 0, 0 \
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/*************************************************************************/
|
/*************************************************************************/
|
||||||
/*************************************************************************/
|
/*************************************************************************/
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
* recorders (specification only). These are used to support native
|
* recorders (specification only). These are used to support native
|
||||||
* T1/T2 hints in the 'type1', 'cid', and 'cff' font drivers.
|
* T1/T2 hints in the 'type1', 'cid', and 'cff' font drivers.
|
||||||
*
|
*
|
||||||
* Copyright (C) 2001-2023 by
|
* Copyright (C) 2001-2024 by
|
||||||
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
*
|
*
|
||||||
* This file is part of the FreeType project, and may only be used,
|
* This file is part of the FreeType project, and may only be used,
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
*
|
*
|
||||||
* The FreeType BDF services (specification).
|
* The FreeType BDF services (specification).
|
||||||
*
|
*
|
||||||
* Copyright (C) 2003-2023 by
|
* Copyright (C) 2003-2024 by
|
||||||
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
*
|
*
|
||||||
* This file is part of the FreeType project, and may only be used,
|
* This file is part of the FreeType project, and may only be used,
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
*
|
*
|
||||||
* The FreeType CFF tables loader service (specification).
|
* The FreeType CFF tables loader service (specification).
|
||||||
*
|
*
|
||||||
* Copyright (C) 2017-2023 by
|
* Copyright (C) 2017-2024 by
|
||||||
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
*
|
*
|
||||||
* This file is part of the FreeType project, and may only be used,
|
* This file is part of the FreeType project, and may only be used,
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
*
|
*
|
||||||
* The FreeType CID font services (specification).
|
* The FreeType CID font services (specification).
|
||||||
*
|
*
|
||||||
* Copyright (C) 2007-2023 by
|
* Copyright (C) 2007-2024 by
|
||||||
* Derek Clegg and Michael Toftdal.
|
* Derek Clegg and Michael Toftdal.
|
||||||
*
|
*
|
||||||
* This file is part of the FreeType project, and may only be used,
|
* This file is part of the FreeType project, and may only be used,
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
*
|
*
|
||||||
* The FreeType font format service (specification only).
|
* The FreeType font format service (specification only).
|
||||||
*
|
*
|
||||||
* Copyright (C) 2003-2023 by
|
* Copyright (C) 2003-2024 by
|
||||||
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
*
|
*
|
||||||
* This file is part of the FreeType project, and may only be used,
|
* This file is part of the FreeType project, and may only be used,
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
*
|
*
|
||||||
* The FreeType glyph dictionary services (specification).
|
* The FreeType glyph dictionary services (specification).
|
||||||
*
|
*
|
||||||
* Copyright (C) 2003-2023 by
|
* Copyright (C) 2003-2024 by
|
||||||
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
*
|
*
|
||||||
* This file is part of the FreeType project, and may only be used,
|
* This file is part of the FreeType project, and may only be used,
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
*
|
*
|
||||||
* FreeType API for validating TrueTypeGX/AAT tables (specification).
|
* FreeType API for validating TrueTypeGX/AAT tables (specification).
|
||||||
*
|
*
|
||||||
* Copyright (C) 2004-2023 by
|
* Copyright (C) 2004-2024 by
|
||||||
* Masatake YAMATO, Red Hat K.K.,
|
* Masatake YAMATO, Red Hat K.K.,
|
||||||
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
*
|
*
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
*
|
*
|
||||||
* The FreeType Kerning service (specification).
|
* The FreeType Kerning service (specification).
|
||||||
*
|
*
|
||||||
* Copyright (C) 2006-2023 by
|
* Copyright (C) 2006-2024 by
|
||||||
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
*
|
*
|
||||||
* This file is part of the FreeType project, and may only be used,
|
* This file is part of the FreeType project, and may only be used,
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
*
|
*
|
||||||
* The FreeType services for metrics variations (specification).
|
* The FreeType services for metrics variations (specification).
|
||||||
*
|
*
|
||||||
* Copyright (C) 2016-2023 by
|
* Copyright (C) 2016-2024 by
|
||||||
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
*
|
*
|
||||||
* This file is part of the FreeType project, and may only be used,
|
* This file is part of the FreeType project, and may only be used,
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
*
|
*
|
||||||
* The FreeType Multiple Masters and GX var services (specification).
|
* The FreeType Multiple Masters and GX var services (specification).
|
||||||
*
|
*
|
||||||
* Copyright (C) 2003-2023 by
|
* Copyright (C) 2003-2024 by
|
||||||
* David Turner, Robert Wilhelm, Werner Lemberg, and Dominik Röttsches.
|
* David Turner, Robert Wilhelm, Werner Lemberg, and Dominik Röttsches.
|
||||||
*
|
*
|
||||||
* This file is part of the FreeType project, and may only be used,
|
* This file is part of the FreeType project, and may only be used,
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
*
|
*
|
||||||
* The FreeType OpenType validation service (specification).
|
* The FreeType OpenType validation service (specification).
|
||||||
*
|
*
|
||||||
* Copyright (C) 2004-2023 by
|
* Copyright (C) 2004-2024 by
|
||||||
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
*
|
*
|
||||||
* This file is part of the FreeType project, and may only be used,
|
* This file is part of the FreeType project, and may only be used,
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
*
|
*
|
||||||
* Internal PFR service functions (specification).
|
* Internal PFR service functions (specification).
|
||||||
*
|
*
|
||||||
* Copyright (C) 2003-2023 by
|
* Copyright (C) 2003-2024 by
|
||||||
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
*
|
*
|
||||||
* This file is part of the FreeType project, and may only be used,
|
* This file is part of the FreeType project, and may only be used,
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
*
|
*
|
||||||
* The FreeType PostScript name services (specification).
|
* The FreeType PostScript name services (specification).
|
||||||
*
|
*
|
||||||
* Copyright (C) 2003-2023 by
|
* Copyright (C) 2003-2024 by
|
||||||
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
*
|
*
|
||||||
* This file is part of the FreeType project, and may only be used,
|
* This file is part of the FreeType project, and may only be used,
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
*
|
*
|
||||||
* The FreeType property service (specification).
|
* The FreeType property service (specification).
|
||||||
*
|
*
|
||||||
* Copyright (C) 2012-2023 by
|
* Copyright (C) 2012-2024 by
|
||||||
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
*
|
*
|
||||||
* This file is part of the FreeType project, and may only be used,
|
* This file is part of the FreeType project, and may only be used,
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
*
|
*
|
||||||
* The FreeType PostScript charmap service (specification).
|
* The FreeType PostScript charmap service (specification).
|
||||||
*
|
*
|
||||||
* Copyright (C) 2003-2023 by
|
* Copyright (C) 2003-2024 by
|
||||||
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
*
|
*
|
||||||
* This file is part of the FreeType project, and may only be used,
|
* This file is part of the FreeType project, and may only be used,
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
*
|
*
|
||||||
* The FreeType PostScript info service (specification).
|
* The FreeType PostScript info service (specification).
|
||||||
*
|
*
|
||||||
* Copyright (C) 2003-2023 by
|
* Copyright (C) 2003-2024 by
|
||||||
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
*
|
*
|
||||||
* This file is part of the FreeType project, and may only be used,
|
* This file is part of the FreeType project, and may only be used,
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
*
|
*
|
||||||
* The FreeType SFNT table loading service (specification).
|
* The FreeType SFNT table loading service (specification).
|
||||||
*
|
*
|
||||||
* Copyright (C) 2003-2023 by
|
* Copyright (C) 2003-2024 by
|
||||||
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
*
|
*
|
||||||
* This file is part of the FreeType project, and may only be used,
|
* This file is part of the FreeType project, and may only be used,
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
*
|
*
|
||||||
* The FreeType TrueType/sfnt cmap extra information service.
|
* The FreeType TrueType/sfnt cmap extra information service.
|
||||||
*
|
*
|
||||||
* Copyright (C) 2003-2023 by
|
* Copyright (C) 2003-2024 by
|
||||||
* Masatake YAMATO, Redhat K.K.,
|
* Masatake YAMATO, Redhat K.K.,
|
||||||
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
*
|
*
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
*
|
*
|
||||||
* The FreeType TrueType engine query service (specification).
|
* The FreeType TrueType engine query service (specification).
|
||||||
*
|
*
|
||||||
* Copyright (C) 2006-2023 by
|
* Copyright (C) 2006-2024 by
|
||||||
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
*
|
*
|
||||||
* This file is part of the FreeType project, and may only be used,
|
* This file is part of the FreeType project, and may only be used,
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
*
|
*
|
||||||
* The FreeType TrueType glyph service.
|
* The FreeType TrueType glyph service.
|
||||||
*
|
*
|
||||||
* Copyright (C) 2007-2023 by
|
* Copyright (C) 2007-2024 by
|
||||||
* David Turner.
|
* David Turner.
|
||||||
*
|
*
|
||||||
* This file is part of the FreeType project, and may only be used,
|
* This file is part of the FreeType project, and may only be used,
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
*
|
*
|
||||||
* The FreeType Windows FNT/FONT service (specification).
|
* The FreeType Windows FNT/FONT service (specification).
|
||||||
*
|
*
|
||||||
* Copyright (C) 2003-2023 by
|
* Copyright (C) 2003-2024 by
|
||||||
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
*
|
*
|
||||||
* This file is part of the FreeType project, and may only be used,
|
* This file is part of the FreeType project, and may only be used,
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
*
|
*
|
||||||
* High-level 'sfnt' driver interface (specification).
|
* High-level 'sfnt' driver interface (specification).
|
||||||
*
|
*
|
||||||
* Copyright (C) 1996-2023 by
|
* Copyright (C) 1996-2024 by
|
||||||
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
*
|
*
|
||||||
* This file is part of the FreeType project, and may only be used,
|
* This file is part of the FreeType project, and may only be used,
|
||||||
@ -924,6 +924,7 @@ FT_BEGIN_HEADER
|
|||||||
/* this field was called `load_kerning' up to version 2.1.10 */
|
/* 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_gpos;
|
||||||
TT_Load_Table_Func load_gasp;
|
TT_Load_Table_Func load_gasp;
|
||||||
TT_Load_Table_Func load_pclt;
|
TT_Load_Table_Func load_pclt;
|
||||||
|
|
||||||
@ -944,6 +945,8 @@ FT_BEGIN_HEADER
|
|||||||
|
|
||||||
/* new elements introduced after version 2.1.10 */
|
/* new elements introduced after version 2.1.10 */
|
||||||
|
|
||||||
|
TT_Face_GetKerningFunc get_gpos_kerning;
|
||||||
|
|
||||||
/* load the font directory, i.e., the offset table and */
|
/* load the font directory, i.e., the offset table and */
|
||||||
/* the table directory */
|
/* the table directory */
|
||||||
TT_Load_Table_Func load_font_dir;
|
TT_Load_Table_Func load_font_dir;
|
||||||
@ -1002,6 +1005,7 @@ FT_BEGIN_HEADER
|
|||||||
load_name_, \
|
load_name_, \
|
||||||
free_name_, \
|
free_name_, \
|
||||||
load_kern_, \
|
load_kern_, \
|
||||||
|
load_gpos_, \
|
||||||
load_gasp_, \
|
load_gasp_, \
|
||||||
load_pclt_, \
|
load_pclt_, \
|
||||||
load_bhed_, \
|
load_bhed_, \
|
||||||
@ -1009,6 +1013,7 @@ FT_BEGIN_HEADER
|
|||||||
get_psname_, \
|
get_psname_, \
|
||||||
free_psnames_, \
|
free_psnames_, \
|
||||||
get_kerning_, \
|
get_kerning_, \
|
||||||
|
get_gpos_kerning_, \
|
||||||
load_font_dir_, \
|
load_font_dir_, \
|
||||||
load_hmtx_, \
|
load_hmtx_, \
|
||||||
load_eblc_, \
|
load_eblc_, \
|
||||||
@ -1050,6 +1055,7 @@ FT_BEGIN_HEADER
|
|||||||
load_name_, \
|
load_name_, \
|
||||||
free_name_, \
|
free_name_, \
|
||||||
load_kern_, \
|
load_kern_, \
|
||||||
|
load_gpos_, \
|
||||||
load_gasp_, \
|
load_gasp_, \
|
||||||
load_pclt_, \
|
load_pclt_, \
|
||||||
load_bhed_, \
|
load_bhed_, \
|
||||||
@ -1057,6 +1063,7 @@ FT_BEGIN_HEADER
|
|||||||
get_psname_, \
|
get_psname_, \
|
||||||
free_psnames_, \
|
free_psnames_, \
|
||||||
get_kerning_, \
|
get_kerning_, \
|
||||||
|
get_gpos_kerning_, \
|
||||||
load_font_dir_, \
|
load_font_dir_, \
|
||||||
load_hmtx_, \
|
load_hmtx_, \
|
||||||
load_eblc_, \
|
load_eblc_, \
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
*
|
*
|
||||||
* Interface of ot-svg module (specification only).
|
* Interface of ot-svg module (specification only).
|
||||||
*
|
*
|
||||||
* Copyright (C) 2022-2023 by
|
* Copyright (C) 2022-2024 by
|
||||||
* David Turner, Robert Wilhelm, Werner Lemberg, and Moazin Khatti.
|
* David Turner, Robert Wilhelm, Werner Lemberg, and Moazin Khatti.
|
||||||
*
|
*
|
||||||
* This file is part of the FreeType project, and may only be used,
|
* This file is part of the FreeType project, and may only be used,
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
* Basic Type1/Type2 type definitions and interface (specification
|
* Basic Type1/Type2 type definitions and interface (specification
|
||||||
* only).
|
* only).
|
||||||
*
|
*
|
||||||
* Copyright (C) 1996-2023 by
|
* Copyright (C) 1996-2024 by
|
||||||
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
*
|
*
|
||||||
* This file is part of the FreeType project, and may only be used,
|
* This file is part of the FreeType project, and may only be used,
|
||||||
@ -21,7 +21,7 @@
|
|||||||
#define T1TYPES_H_
|
#define T1TYPES_H_
|
||||||
|
|
||||||
|
|
||||||
#include <freetype/t1tables.h>
|
#include <freetype/ftmm.h>
|
||||||
#include <freetype/internal/pshints.h>
|
#include <freetype/internal/pshints.h>
|
||||||
#include <freetype/internal/ftserv.h>
|
#include <freetype/internal/ftserv.h>
|
||||||
#include <freetype/internal/fthash.h>
|
#include <freetype/internal/fthash.h>
|
||||||
@ -137,6 +137,54 @@ FT_BEGIN_HEADER
|
|||||||
} CID_SubrsRec, *CID_Subrs;
|
} CID_SubrsRec, *CID_Subrs;
|
||||||
|
|
||||||
|
|
||||||
|
/* this structure is used to store the BlendDesignMap entry for an axis */
|
||||||
|
typedef struct PS_DesignMap_
|
||||||
|
{
|
||||||
|
FT_Byte num_points;
|
||||||
|
FT_Long* design_points;
|
||||||
|
FT_Fixed* blend_points;
|
||||||
|
|
||||||
|
} PS_DesignMapRec, *PS_DesignMap;
|
||||||
|
|
||||||
|
/* backward compatible definition */
|
||||||
|
typedef PS_DesignMapRec T1_DesignMap;
|
||||||
|
|
||||||
|
|
||||||
|
typedef struct PS_BlendRec_
|
||||||
|
{
|
||||||
|
FT_UInt num_designs;
|
||||||
|
FT_UInt num_axis;
|
||||||
|
|
||||||
|
FT_String* axis_names[T1_MAX_MM_AXIS];
|
||||||
|
FT_Fixed* design_pos[T1_MAX_MM_DESIGNS];
|
||||||
|
PS_DesignMapRec design_map[T1_MAX_MM_AXIS];
|
||||||
|
|
||||||
|
FT_Fixed* weight_vector;
|
||||||
|
FT_Fixed* default_weight_vector;
|
||||||
|
|
||||||
|
PS_FontInfo font_infos[T1_MAX_MM_DESIGNS + 1];
|
||||||
|
PS_Private privates [T1_MAX_MM_DESIGNS + 1];
|
||||||
|
|
||||||
|
FT_ULong blend_bitflags;
|
||||||
|
|
||||||
|
FT_BBox* bboxes [T1_MAX_MM_DESIGNS + 1];
|
||||||
|
|
||||||
|
/* since 2.3.0 */
|
||||||
|
|
||||||
|
/* undocumented, optional: the default design instance; */
|
||||||
|
/* corresponds to default_weight_vector -- */
|
||||||
|
/* num_default_design_vector == 0 means it is not present */
|
||||||
|
/* in the font and associated metrics files */
|
||||||
|
FT_UInt default_design_vector[T1_MAX_MM_DESIGNS];
|
||||||
|
FT_UInt num_default_design_vector;
|
||||||
|
|
||||||
|
} PS_BlendRec, *PS_Blend;
|
||||||
|
|
||||||
|
|
||||||
|
/* backward compatible definition */
|
||||||
|
typedef PS_BlendRec T1_Blend;
|
||||||
|
|
||||||
|
|
||||||
/*************************************************************************/
|
/*************************************************************************/
|
||||||
/*************************************************************************/
|
/*************************************************************************/
|
||||||
/*************************************************************************/
|
/*************************************************************************/
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
* Basic SFNT/TrueType type definitions and interface (specification
|
* Basic SFNT/TrueType type definitions and interface (specification
|
||||||
* only).
|
* only).
|
||||||
*
|
*
|
||||||
* Copyright (C) 1996-2023 by
|
* Copyright (C) 1996-2024 by
|
||||||
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
*
|
*
|
||||||
* This file is part of the FreeType project, and may only be used,
|
* This file is part of the FreeType project, and may only be used,
|
||||||
@ -24,6 +24,7 @@
|
|||||||
#include <freetype/tttables.h>
|
#include <freetype/tttables.h>
|
||||||
#include <freetype/internal/ftobjs.h>
|
#include <freetype/internal/ftobjs.h>
|
||||||
#include <freetype/ftcolor.h>
|
#include <freetype/ftcolor.h>
|
||||||
|
#include "freetype/fttypes.h"
|
||||||
|
|
||||||
#ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT
|
#ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT
|
||||||
#include <freetype/ftmm.h>
|
#include <freetype/ftmm.h>
|
||||||
@ -1581,6 +1582,11 @@ FT_BEGIN_HEADER
|
|||||||
FT_UInt32 kern_avail_bits;
|
FT_UInt32 kern_avail_bits;
|
||||||
FT_UInt32 kern_order_bits;
|
FT_UInt32 kern_order_bits;
|
||||||
|
|
||||||
|
#ifdef TT_CONFIG_OPTION_GPOS_KERNING
|
||||||
|
FT_Byte* gpos_table;
|
||||||
|
FT_Bool gpos_kerning_available;
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef TT_CONFIG_OPTION_BDF
|
#ifdef TT_CONFIG_OPTION_BDF
|
||||||
TT_BDFRec bdf;
|
TT_BDFRec bdf;
|
||||||
#endif /* TT_CONFIG_OPTION_BDF */
|
#endif /* TT_CONFIG_OPTION_BDF */
|
||||||
@ -1649,9 +1655,9 @@ FT_BEGIN_HEADER
|
|||||||
{
|
{
|
||||||
FT_Memory memory;
|
FT_Memory memory;
|
||||||
FT_UShort max_points;
|
FT_UShort max_points;
|
||||||
FT_Short max_contours;
|
FT_UShort max_contours;
|
||||||
FT_UShort n_points; /* number of points in zone */
|
FT_UShort n_points; /* number of points in zone */
|
||||||
FT_Short n_contours; /* number of contours */
|
FT_UShort n_contours; /* number of contours */
|
||||||
|
|
||||||
FT_Vector* org; /* original point coordinates */
|
FT_Vector* org; /* original point coordinates */
|
||||||
FT_Vector* cur; /* current point coordinates */
|
FT_Vector* cur; /* current point coordinates */
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
* Basic WOFF/WOFF2 type definitions and interface (specification
|
* Basic WOFF/WOFF2 type definitions and interface (specification
|
||||||
* only).
|
* only).
|
||||||
*
|
*
|
||||||
* Copyright (C) 1996-2023 by
|
* Copyright (C) 1996-2024 by
|
||||||
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
*
|
*
|
||||||
* This file is part of the FreeType project, and may only be used,
|
* This file is part of the FreeType project, and may only be used,
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
*
|
*
|
||||||
* Interface for OT-SVG support related things (specification).
|
* Interface for OT-SVG support related things (specification).
|
||||||
*
|
*
|
||||||
* Copyright (C) 2022-2023 by
|
* Copyright (C) 2022-2024 by
|
||||||
* David Turner, Robert Wilhelm, Werner Lemberg, and Moazin Khatti.
|
* David Turner, Robert Wilhelm, Werner Lemberg, and Moazin Khatti.
|
||||||
*
|
*
|
||||||
* This file is part of the FreeType project, and may only be used,
|
* This file is part of the FreeType project, and may only be used,
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
* Basic Type 1/Type 2 tables definitions and interface (specification
|
* Basic Type 1/Type 2 tables definitions and interface (specification
|
||||||
* only).
|
* only).
|
||||||
*
|
*
|
||||||
* Copyright (C) 1996-2023 by
|
* Copyright (C) 1996-2024 by
|
||||||
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
*
|
*
|
||||||
* This file is part of the FreeType project, and may only be used,
|
* This file is part of the FreeType project, and may only be used,
|
||||||
@ -269,64 +269,6 @@ FT_BEGIN_HEADER
|
|||||||
/* */
|
/* */
|
||||||
|
|
||||||
|
|
||||||
/* maximum number of Multiple Masters designs, as defined in the spec */
|
|
||||||
#define T1_MAX_MM_DESIGNS 16
|
|
||||||
|
|
||||||
/* maximum number of Multiple Masters axes, as defined in the spec */
|
|
||||||
#define T1_MAX_MM_AXIS 4
|
|
||||||
|
|
||||||
/* maximum number of elements in a design map */
|
|
||||||
#define T1_MAX_MM_MAP_POINTS 20
|
|
||||||
|
|
||||||
|
|
||||||
/* this structure is used to store the BlendDesignMap entry for an axis */
|
|
||||||
typedef struct PS_DesignMap_
|
|
||||||
{
|
|
||||||
FT_Byte num_points;
|
|
||||||
FT_Long* design_points;
|
|
||||||
FT_Fixed* blend_points;
|
|
||||||
|
|
||||||
} PS_DesignMapRec, *PS_DesignMap;
|
|
||||||
|
|
||||||
/* backward compatible definition */
|
|
||||||
typedef PS_DesignMapRec T1_DesignMap;
|
|
||||||
|
|
||||||
|
|
||||||
typedef struct PS_BlendRec_
|
|
||||||
{
|
|
||||||
FT_UInt num_designs;
|
|
||||||
FT_UInt num_axis;
|
|
||||||
|
|
||||||
FT_String* axis_names[T1_MAX_MM_AXIS];
|
|
||||||
FT_Fixed* design_pos[T1_MAX_MM_DESIGNS];
|
|
||||||
PS_DesignMapRec design_map[T1_MAX_MM_AXIS];
|
|
||||||
|
|
||||||
FT_Fixed* weight_vector;
|
|
||||||
FT_Fixed* default_weight_vector;
|
|
||||||
|
|
||||||
PS_FontInfo font_infos[T1_MAX_MM_DESIGNS + 1];
|
|
||||||
PS_Private privates [T1_MAX_MM_DESIGNS + 1];
|
|
||||||
|
|
||||||
FT_ULong blend_bitflags;
|
|
||||||
|
|
||||||
FT_BBox* bboxes [T1_MAX_MM_DESIGNS + 1];
|
|
||||||
|
|
||||||
/* since 2.3.0 */
|
|
||||||
|
|
||||||
/* undocumented, optional: the default design instance; */
|
|
||||||
/* corresponds to default_weight_vector -- */
|
|
||||||
/* num_default_design_vector == 0 means it is not present */
|
|
||||||
/* in the font and associated metrics files */
|
|
||||||
FT_UInt default_design_vector[T1_MAX_MM_DESIGNS];
|
|
||||||
FT_UInt num_default_design_vector;
|
|
||||||
|
|
||||||
} PS_BlendRec, *PS_Blend;
|
|
||||||
|
|
||||||
|
|
||||||
/* backward compatible definition */
|
|
||||||
typedef PS_BlendRec T1_Blend;
|
|
||||||
|
|
||||||
|
|
||||||
/**************************************************************************
|
/**************************************************************************
|
||||||
*
|
*
|
||||||
* @struct:
|
* @struct:
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user