freetype: Update to upstream version 2.10.2

This commit is contained in:
Rémi Verschelde 2020-05-09 13:23:41 +02:00
parent b9f2e57d62
commit 9c1b20eab6
439 changed files with 3846 additions and 810 deletions

View file

@ -154,7 +154,7 @@ License: Expat and Bitstream Vera Fonts Copyright
Files: ./thirdparty/freetype/ Files: ./thirdparty/freetype/
Comment: The FreeType Project Comment: The FreeType Project
Copyright: 1996-2019, David Turner, Robert Wilhelm, and Werner Lemberg. Copyright: 1996-2020, David Turner, Robert Wilhelm, and Werner Lemberg.
License: FTL License: FTL
Files: ./thirdparty/glad/ Files: ./thirdparty/glad/

View file

@ -140,7 +140,7 @@ Use UI font variant if available, because it has tight vertical metrics and good
## freetype ## freetype
- Upstream: https://www.freetype.org - Upstream: https://www.freetype.org
- Version: 2.10.1 (2019) - Version: 2.10.2 (2020)
- License: FreeType License (BSD-like) - License: FreeType License (BSD-like)
Files extracted from upstream source: Files extracted from upstream source:

View file

@ -4,7 +4,7 @@
* *
* ANSI-specific configuration file (specification only). * ANSI-specific configuration file (specification only).
* *
* Copyright (C) 1996-2019 by * Copyright (C) 1996-2020 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,

View file

@ -4,7 +4,7 @@
* *
* Build macros of the FreeType 2 library. * Build macros of the FreeType 2 library.
* *
* Copyright (C) 1996-2019 by * Copyright (C) 1996-2020 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,

View file

@ -4,7 +4,7 @@
* *
* User-selectable configuration macros (specification only). * User-selectable configuration macros (specification only).
* *
* Copyright (C) 1996-2019 by * Copyright (C) 1996-2020 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,
@ -292,6 +292,22 @@ FT_BEGIN_HEADER
/* #define FT_CONFIG_OPTION_USE_HARFBUZZ */ /* #define FT_CONFIG_OPTION_USE_HARFBUZZ */
/**************************************************************************
*
* Brotli support.
*
* FreeType uses the Brotli library to provide support for decompressing
* WOFF2 streams.
*
* Define this macro if you want to enable this 'feature'.
*
* If you use a build system like cmake or the `configure` script,
* options set by those programs have precedence, overwriting the value
* here with the configured one.
*/
/* #define FT_CONFIG_OPTION_USE_BROTLI */
/************************************************************************** /**************************************************************************
* *
* Glyph Postscript Names handling * Glyph Postscript Names handling
@ -871,9 +887,11 @@ FT_BEGIN_HEADER
* *
* Compile 'autofit' module with fallback Indic script support, covering * Compile 'autofit' module with fallback Indic script support, covering
* some scripts that the 'latin' submodule of the 'autofit' module doesn't * some scripts that the 'latin' submodule of the 'autofit' module doesn't
* (yet) handle. * (yet) handle. Currently, this needs option `AF_CONFIG_OPTION_CJK`.
*/ */
#ifdef AF_CONFIG_OPTION_CJK
#define AF_CONFIG_OPTION_INDIC #define AF_CONFIG_OPTION_INDIC
#endif
/************************************************************************** /**************************************************************************

View file

@ -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-2019 by * Copyright (C) 2002-2020 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,

View file

@ -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-2019 by * Copyright (C) 1996-2020 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,
@ -1239,7 +1239,7 @@ FT_BEGIN_HEADER
* *
*/ */
#define FT_HAS_HORIZONTAL( face ) \ #define FT_HAS_HORIZONTAL( face ) \
( (face)->face_flags & FT_FACE_FLAG_HORIZONTAL ) ( !!( (face)->face_flags & FT_FACE_FLAG_HORIZONTAL ) )
/************************************************************************** /**************************************************************************
@ -1253,7 +1253,7 @@ FT_BEGIN_HEADER
* *
*/ */
#define FT_HAS_VERTICAL( face ) \ #define FT_HAS_VERTICAL( face ) \
( (face)->face_flags & FT_FACE_FLAG_VERTICAL ) ( !!( (face)->face_flags & FT_FACE_FLAG_VERTICAL ) )
/************************************************************************** /**************************************************************************
@ -1267,7 +1267,7 @@ FT_BEGIN_HEADER
* *
*/ */
#define FT_HAS_KERNING( face ) \ #define FT_HAS_KERNING( face ) \
( (face)->face_flags & FT_FACE_FLAG_KERNING ) ( !!( (face)->face_flags & FT_FACE_FLAG_KERNING ) )
/************************************************************************** /**************************************************************************
@ -1282,7 +1282,7 @@ FT_BEGIN_HEADER
* *
*/ */
#define FT_IS_SCALABLE( face ) \ #define FT_IS_SCALABLE( face ) \
( (face)->face_flags & FT_FACE_FLAG_SCALABLE ) ( !!( (face)->face_flags & FT_FACE_FLAG_SCALABLE ) )
/************************************************************************** /**************************************************************************
@ -1301,7 +1301,7 @@ FT_BEGIN_HEADER
* *
*/ */
#define FT_IS_SFNT( face ) \ #define FT_IS_SFNT( face ) \
( (face)->face_flags & FT_FACE_FLAG_SFNT ) ( !!( (face)->face_flags & FT_FACE_FLAG_SFNT ) )
/************************************************************************** /**************************************************************************
@ -1316,7 +1316,7 @@ FT_BEGIN_HEADER
* *
*/ */
#define FT_IS_FIXED_WIDTH( face ) \ #define FT_IS_FIXED_WIDTH( face ) \
( (face)->face_flags & FT_FACE_FLAG_FIXED_WIDTH ) ( !!( (face)->face_flags & FT_FACE_FLAG_FIXED_WIDTH ) )
/************************************************************************** /**************************************************************************
@ -1331,7 +1331,7 @@ FT_BEGIN_HEADER
* *
*/ */
#define FT_HAS_FIXED_SIZES( face ) \ #define FT_HAS_FIXED_SIZES( face ) \
( (face)->face_flags & FT_FACE_FLAG_FIXED_SIZES ) ( !!( (face)->face_flags & FT_FACE_FLAG_FIXED_SIZES ) )
/************************************************************************** /**************************************************************************
@ -1357,7 +1357,7 @@ FT_BEGIN_HEADER
* *
*/ */
#define FT_HAS_GLYPH_NAMES( face ) \ #define FT_HAS_GLYPH_NAMES( face ) \
( (face)->face_flags & FT_FACE_FLAG_GLYPH_NAMES ) ( !!( (face)->face_flags & FT_FACE_FLAG_GLYPH_NAMES ) )
/************************************************************************** /**************************************************************************
@ -1372,7 +1372,7 @@ FT_BEGIN_HEADER
* *
*/ */
#define FT_HAS_MULTIPLE_MASTERS( face ) \ #define FT_HAS_MULTIPLE_MASTERS( face ) \
( (face)->face_flags & FT_FACE_FLAG_MULTIPLE_MASTERS ) ( !!( (face)->face_flags & FT_FACE_FLAG_MULTIPLE_MASTERS ) )
/************************************************************************** /**************************************************************************
@ -1394,7 +1394,7 @@ FT_BEGIN_HEADER
* *
*/ */
#define FT_IS_NAMED_INSTANCE( face ) \ #define FT_IS_NAMED_INSTANCE( face ) \
( (face)->face_index & 0x7FFF0000L ) ( !!( (face)->face_index & 0x7FFF0000L ) )
/************************************************************************** /**************************************************************************
@ -1412,7 +1412,7 @@ FT_BEGIN_HEADER
* *
*/ */
#define FT_IS_VARIATION( face ) \ #define FT_IS_VARIATION( face ) \
( (face)->face_flags & FT_FACE_FLAG_VARIATION ) ( !!( (face)->face_flags & FT_FACE_FLAG_VARIATION ) )
/************************************************************************** /**************************************************************************
@ -1429,7 +1429,7 @@ FT_BEGIN_HEADER
* *
*/ */
#define FT_IS_CID_KEYED( face ) \ #define FT_IS_CID_KEYED( face ) \
( (face)->face_flags & FT_FACE_FLAG_CID_KEYED ) ( !!( (face)->face_flags & FT_FACE_FLAG_CID_KEYED ) )
/************************************************************************** /**************************************************************************
@ -1443,7 +1443,7 @@ FT_BEGIN_HEADER
* *
*/ */
#define FT_IS_TRICKY( face ) \ #define FT_IS_TRICKY( face ) \
( (face)->face_flags & FT_FACE_FLAG_TRICKY ) ( !!( (face)->face_flags & FT_FACE_FLAG_TRICKY ) )
/************************************************************************** /**************************************************************************
@ -1460,7 +1460,7 @@ FT_BEGIN_HEADER
* *
*/ */
#define FT_HAS_COLOR( face ) \ #define FT_HAS_COLOR( face ) \
( (face)->face_flags & FT_FACE_FLAG_COLOR ) ( !!( (face)->face_flags & FT_FACE_FLAG_COLOR ) )
/************************************************************************** /**************************************************************************
@ -2078,7 +2078,8 @@ FT_BEGIN_HEADER
* The size in bytes of the file in memory. * The size in bytes of the file in memory.
* *
* pathname :: * pathname ::
* A pointer to an 8-bit file pathname. * A pointer to an 8-bit file pathname. The pointer is not owned by
* FreeType.
* *
* stream :: * stream ::
* A handle to a source stream object. * A handle to a source stream object.
@ -4781,7 +4782,7 @@ FT_BEGIN_HEADER
*/ */
#define FREETYPE_MAJOR 2 #define FREETYPE_MAJOR 2
#define FREETYPE_MINOR 10 #define FREETYPE_MINOR 10
#define FREETYPE_PATCH 1 #define FREETYPE_PATCH 2
/************************************************************************** /**************************************************************************

View file

@ -4,7 +4,7 @@
* *
* Quick computation of advance widths (specification only). * Quick computation of advance widths (specification only).
* *
* Copyright (C) 2008-2019 by * Copyright (C) 2008-2020 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,

View file

@ -4,7 +4,7 @@
* *
* FreeType exact bbox computation (specification). * FreeType exact bbox computation (specification).
* *
* Copyright (C) 1996-2019 by * Copyright (C) 1996-2020 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,

View file

@ -4,7 +4,7 @@
* *
* FreeType API for accessing BDF-specific strings (specification). * FreeType API for accessing BDF-specific strings (specification).
* *
* Copyright (C) 2002-2019 by * Copyright (C) 2002-2020 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,

View file

@ -4,7 +4,7 @@
* *
* FreeType utility functions for bitmaps (specification). * FreeType utility functions for bitmaps (specification).
* *
* Copyright (C) 2004-2019 by * Copyright (C) 2004-2020 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,

View file

@ -4,7 +4,7 @@
* *
* Bzip2-compressed stream support. * Bzip2-compressed stream support.
* *
* Copyright (C) 2010-2019 by * Copyright (C) 2010-2020 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,

View file

@ -4,7 +4,7 @@
* *
* FreeType Cache subsystem (specification). * FreeType Cache subsystem (specification).
* *
* Copyright (C) 1996-2019 by * Copyright (C) 1996-2020 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,

View file

@ -4,7 +4,7 @@
* *
* FreeType API for accessing CID font information (specification). * FreeType API for accessing CID font information (specification).
* *
* Copyright (C) 2007-2019 by * Copyright (C) 2007-2020 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,

View file

@ -4,7 +4,7 @@
* *
* FreeType's glyph color management (specification). * FreeType's glyph color management (specification).
* *
* Copyright (C) 2018-2019 by * Copyright (C) 2018-2020 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,
@ -125,9 +125,9 @@ FT_BEGIN_HEADER
* The number of palettes. * The number of palettes.
* *
* palette_name_ids :: * palette_name_ids ::
* A read-only array of palette name IDs with `num_palettes` elements, * An optional read-only array of palette name IDs with `num_palettes`
* corresponding to entries like 'dark' or 'light' in the font's 'name' * elements, corresponding to entries like 'dark' or 'light' in the
* table. * font's 'name' table.
* *
* An empty name ID in the 'CPAL' table gets represented as value * An empty name ID in the 'CPAL' table gets represented as value
* 0xFFFF. * 0xFFFF.
@ -135,8 +135,8 @@ FT_BEGIN_HEADER
* `NULL` if the font's 'CPAL' table doesn't contain appropriate data. * `NULL` if the font's 'CPAL' table doesn't contain appropriate data.
* *
* palette_flags :: * palette_flags ::
* A read-only array of palette flags with `num_palettes` elements. * An optional read-only array of palette flags with `num_palettes`
* Possible values are an ORed combination of * elements. Possible values are an ORed combination of
* @FT_PALETTE_FOR_LIGHT_BACKGROUND and * @FT_PALETTE_FOR_LIGHT_BACKGROUND and
* @FT_PALETTE_FOR_DARK_BACKGROUND. * @FT_PALETTE_FOR_DARK_BACKGROUND.
* *
@ -147,7 +147,7 @@ FT_BEGIN_HEADER
* same size. * same size.
* *
* palette_entry_name_ids :: * palette_entry_name_ids ::
* A read-only array of palette entry name IDs with * An optional read-only array of palette entry name IDs with
* `num_palette_entries`. In each palette, entries with the same index * `num_palette_entries`. In each palette, entries with the same index
* have the same function. For example, index~0 might correspond to * have the same function. For example, index~0 might correspond to
* string 'outline' in the font's 'name' table to indicate that this * string 'outline' in the font's 'name' table to indicate that this
@ -163,6 +163,9 @@ FT_BEGIN_HEADER
* Use function @FT_Get_Sfnt_Name to map name IDs and entry name IDs to * Use function @FT_Get_Sfnt_Name to map name IDs and entry name IDs to
* name strings. * name strings.
* *
* Use function @FT_Palette_Select to get the colors associated with a
* palette entry.
*
* @since: * @since:
* 2.10 * 2.10
*/ */

View file

@ -4,7 +4,7 @@
* *
* FreeType API for controlling driver modules (specification only). * FreeType API for controlling driver modules (specification only).
* *
* Copyright (C) 2017-2019 by * Copyright (C) 2017-2020 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,

View file

@ -4,7 +4,7 @@
* *
* FreeType error codes (specification). * FreeType error codes (specification).
* *
* Copyright (C) 2002-2019 by * Copyright (C) 2002-2020 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,

View file

@ -4,7 +4,7 @@
* *
* FreeType error code handling (specification). * FreeType error code handling (specification).
* *
* Copyright (C) 1996-2019 by * Copyright (C) 1996-2020 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,

View file

@ -4,7 +4,7 @@
* *
* Support functions for font formats. * Support functions for font formats.
* *
* Copyright (C) 2002-2019 by * Copyright (C) 2002-2020 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,

View file

@ -4,7 +4,7 @@
* *
* Access of TrueType's 'gasp' table (specification). * Access of TrueType's 'gasp' table (specification).
* *
* Copyright (C) 2007-2019 by * Copyright (C) 2007-2020 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,

View file

@ -4,7 +4,7 @@
* *
* FreeType convenience functions to handle glyphs (specification). * FreeType convenience functions to handle glyphs (specification).
* *
* Copyright (C) 1996-2019 by * Copyright (C) 1996-2020 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,

View file

@ -4,7 +4,7 @@
* *
* FreeType API for validating TrueTypeGX/AAT tables (specification). * FreeType API for validating TrueTypeGX/AAT tables (specification).
* *
* Copyright (C) 2004-2019 by * Copyright (C) 2004-2020 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.
* *

View file

@ -4,7 +4,7 @@
* *
* Gzip-compressed stream support. * Gzip-compressed stream support.
* *
* Copyright (C) 2002-2019 by * Copyright (C) 2002-2020 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,

View file

@ -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-2019 by * Copyright (C) 1996-2020 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,

View file

@ -4,7 +4,7 @@
* *
* FreeType incremental loading (specification). * FreeType incremental loading (specification).
* *
* Copyright (C) 2002-2019 by * Copyright (C) 2002-2020 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,

View file

@ -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-2019 by * Copyright (C) 2006-2020 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,

View file

@ -4,7 +4,7 @@
* *
* Generic list support for FreeType (specification). * Generic list support for FreeType (specification).
* *
* Copyright (C) 1996-2019 by * Copyright (C) 1996-2020 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,

View file

@ -4,7 +4,7 @@
* *
* LZW-compressed stream support. * LZW-compressed stream support.
* *
* Copyright (C) 2004-2019 by * Copyright (C) 2004-2020 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,

View file

@ -4,7 +4,7 @@
* *
* Additional Mac-specific API. * Additional Mac-specific API.
* *
* Copyright (C) 1996-2019 by * Copyright (C) 1996-2020 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,

View file

@ -4,7 +4,7 @@
* *
* FreeType Multiple Master font interface (specification). * FreeType Multiple Master font interface (specification).
* *
* Copyright (C) 1996-2019 by * Copyright (C) 1996-2020 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,

View file

@ -4,7 +4,7 @@
* *
* FreeType modules public interface (specification). * FreeType modules public interface (specification).
* *
* Copyright (C) 1996-2019 by * Copyright (C) 1996-2020 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,

View file

@ -4,7 +4,7 @@
* *
* FreeType module error offsets (specification). * FreeType module error offsets (specification).
* *
* Copyright (C) 2001-2019 by * Copyright (C) 2001-2020 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,

View file

@ -4,7 +4,7 @@
* *
* FreeType API for validating OpenType tables (specification). * FreeType API for validating OpenType tables (specification).
* *
* Copyright (C) 2004-2019 by * Copyright (C) 2004-2020 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,

View file

@ -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-2019 by * Copyright (C) 1996-2020 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,

View file

@ -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-2019 by * Copyright (C) 2017-2020 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,

View file

@ -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-2019 by * Copyright (C) 2002-2020 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,

View file

@ -4,7 +4,7 @@
* *
* FreeType renderer modules public interface (specification). * FreeType renderer modules public interface (specification).
* *
* Copyright (C) 1996-2019 by * Copyright (C) 1996-2020 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,

View file

@ -4,7 +4,7 @@
* *
* FreeType size objects management (specification). * FreeType size objects management (specification).
* *
* Copyright (C) 1996-2019 by * Copyright (C) 1996-2020 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,

View file

@ -7,7 +7,7 @@
* *
* This is _not_ used to retrieve glyph names! * This is _not_ used to retrieve glyph names!
* *
* Copyright (C) 1996-2019 by * Copyright (C) 1996-2020 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,

View file

@ -4,7 +4,7 @@
* *
* FreeType path stroker (specification). * FreeType path stroker (specification).
* *
* Copyright (C) 2002-2019 by * Copyright (C) 2002-2020 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,
@ -114,22 +114,19 @@ FT_BEGIN_HEADER
* FT_STROKER_LINEJOIN_MITER_FIXED :: * FT_STROKER_LINEJOIN_MITER_FIXED ::
* Used to render mitered line joins, with fixed bevels if the miter * Used to render mitered line joins, with fixed bevels if the miter
* limit is exceeded. The outer edges of the strokes for the two * limit is exceeded. The outer edges of the strokes for the two
* segments are extended until they meet at an angle. If the segments * segments are extended until they meet at an angle. A bevel join
* meet at too sharp an angle (such that the miter would extend from * (see above) is used if the segments meet at too sharp an angle and
* the intersection of the segments a distance greater than the product * the outer edges meet beyond a distance corresponding to the meter
* of the miter limit value and the border radius), then a bevel join * limit. This prevents long spikes being created.
* (see above) is used instead. This prevents long spikes being * `FT_STROKER_LINEJOIN_MITER_FIXED` generates a miter line join as
* created. `FT_STROKER_LINEJOIN_MITER_FIXED` generates a miter line * used in PostScript and PDF.
* join as used in PostScript and PDF.
* *
* FT_STROKER_LINEJOIN_MITER_VARIABLE :: * FT_STROKER_LINEJOIN_MITER_VARIABLE ::
* FT_STROKER_LINEJOIN_MITER :: * FT_STROKER_LINEJOIN_MITER ::
* Used to render mitered line joins, with variable bevels if the miter * Used to render mitered line joins, with variable bevels if the miter
* limit is exceeded. The intersection of the strokes is clipped at a * limit is exceeded. The intersection of the strokes is clipped
* line perpendicular to the bisector of the angle between the strokes, * perpendicularly to the bisector, at a distance corresponding to
* at the distance from the intersection of the segments equal to the * the miter limit. This prevents long spikes being created.
* product of the miter limit value and the border radius. This
* prevents long spikes being created.
* `FT_STROKER_LINEJOIN_MITER_VARIABLE` generates a mitered line join * `FT_STROKER_LINEJOIN_MITER_VARIABLE` generates a mitered line join
* as used in XPS. `FT_STROKER_LINEJOIN_MITER` is an alias for * as used in XPS. `FT_STROKER_LINEJOIN_MITER` is an alias for
* `FT_STROKER_LINEJOIN_MITER_VARIABLE`, retained for backward * `FT_STROKER_LINEJOIN_MITER_VARIABLE`, retained for backward
@ -296,12 +293,17 @@ FT_BEGIN_HEADER
* The line join style. * The line join style.
* *
* miter_limit :: * miter_limit ::
* The miter limit for the `FT_STROKER_LINEJOIN_MITER_FIXED` and * The maximum reciprocal sine of half-angle at the miter join,
* `FT_STROKER_LINEJOIN_MITER_VARIABLE` line join styles, expressed as * expressed as 16.16 fixed point value.
* 16.16 fixed-point value.
* *
* @note: * @note:
* The radius is expressed in the same units as the outline coordinates. * The `radius` is expressed in the same units as the outline
* coordinates.
*
* The `miter_limit` multiplied by the `radius` gives the maximum size
* of a miter spike, at which it is clipped for
* @FT_STROKER_LINEJOIN_MITER_VARIABLE or replaced with a bevel join for
* @FT_STROKER_LINEJOIN_MITER_FIXED.
* *
* This function calls @FT_Stroker_Rewind automatically. * This function calls @FT_Stroker_Rewind automatically.
*/ */

View file

@ -5,7 +5,7 @@
* FreeType synthesizing code for emboldening and slanting * FreeType synthesizing code for emboldening and slanting
* (specification). * (specification).
* *
* Copyright (C) 2000-2019 by * Copyright (C) 2000-2020 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,

View file

@ -4,7 +4,7 @@
* *
* FreeType low-level system interface definition (specification). * FreeType low-level system interface definition (specification).
* *
* Copyright (C) 1996-2019 by * Copyright (C) 1996-2020 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,

View file

@ -4,7 +4,7 @@
* *
* FreeType trigonometric functions (specification). * FreeType trigonometric functions (specification).
* *
* Copyright (C) 2001-2019 by * Copyright (C) 2001-2020 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,

View file

@ -4,7 +4,7 @@
* *
* FreeType simple types definitions (specification only). * FreeType simple types definitions (specification only).
* *
* Copyright (C) 1996-2019 by * Copyright (C) 1996-2020 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,

View file

@ -4,7 +4,7 @@
* *
* FreeType API for accessing Windows fnt-specific data. * FreeType API for accessing Windows fnt-specific data.
* *
* Copyright (C) 2003-2019 by * Copyright (C) 2003-2020 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,

View file

@ -4,7 +4,7 @@
* *
* High-level 'autohint' module-specific interface (specification). * High-level 'autohint' module-specific interface (specification).
* *
* Copyright (C) 1996-2019 by * Copyright (C) 1996-2020 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,

View file

@ -4,7 +4,7 @@
* *
* Basic OpenType/CFF object type definitions (specification). * Basic OpenType/CFF object type definitions (specification).
* *
* Copyright (C) 2017-2019 by * Copyright (C) 2017-2020 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,

View file

@ -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-2019 by * Copyright (C) 1996-2020 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,

View file

@ -4,7 +4,7 @@
* *
* Arithmetic computations (specification). * Arithmetic computations (specification).
* *
* Copyright (C) 1996-2019 by * Copyright (C) 1996-2020 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,

View file

@ -4,7 +4,7 @@
* *
* Debugging and logging component (specification). * Debugging and logging component (specification).
* *
* Copyright (C) 1996-2019 by * Copyright (C) 1996-2020 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,

View file

@ -4,7 +4,7 @@
* *
* FreeType internal font driver interface (specification). * FreeType internal font driver interface (specification).
* *
* Copyright (C) 1996-2019 by * Copyright (C) 1996-2020 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,

View file

@ -4,7 +4,7 @@
* *
* The FreeType glyph loader (specification). * The FreeType glyph loader (specification).
* *
* Copyright (C) 2002-2019 by * Copyright (C) 2002-2020 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,

View file

@ -4,7 +4,7 @@
* *
* The FreeType memory management macros (specification). * The FreeType memory management macros (specification).
* *
* Copyright (C) 1996-2019 by * Copyright (C) 1996-2020 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,
@ -57,6 +57,14 @@ FT_BEGIN_HEADER
/*************************************************************************/ /*************************************************************************/
/* The calculation `NULL + n' is undefined in C. Even if the resulting */
/* pointer doesn't get dereferenced, this causes warnings with */
/* sanitizers. */
/* */
/* We thus provide a macro that should be used if `base' can be NULL. */
#define FT_OFFSET( base, count ) ( (base) ? (base) + (count) : NULL )
/* /*
* C++ refuses to handle statements like p = (void*)anything, with `p' a * C++ refuses to handle statements like p = (void*)anything, with `p' a
* typed pointer. Since we don't have a `typeof' operator in standard C++, * typed pointer. Since we don't have a `typeof' operator in standard C++,
@ -153,10 +161,10 @@ extern "C++"
(FT_Long)(size), \ (FT_Long)(size), \
&error ) ) &error ) )
#define FT_MEM_FREE( ptr ) \ #define FT_MEM_FREE( ptr ) \
FT_BEGIN_STMNT \ FT_BEGIN_STMNT \
ft_mem_free( memory, (ptr) ); \ FT_DEBUG_INNER( ft_mem_free( memory, (ptr) ) ); \
(ptr) = NULL; \ (ptr) = NULL; \
FT_END_STMNT FT_END_STMNT
#define FT_MEM_NEW( ptr ) \ #define FT_MEM_NEW( ptr ) \

View file

@ -4,7 +4,7 @@
* *
* The FreeType private base classes (specification). * The FreeType private base classes (specification).
* *
* Copyright (C) 1996-2019 by * Copyright (C) 1996-2020 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,

View file

@ -4,7 +4,7 @@
* *
* Get and set properties of PostScript drivers (specification). * Get and set properties of PostScript drivers (specification).
* *
* Copyright (C) 2017-2019 by * Copyright (C) 2017-2020 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,

View file

@ -4,7 +4,7 @@
* *
* Embedded resource forks accessor (specification). * Embedded resource forks accessor (specification).
* *
* Copyright (C) 2004-2019 by * Copyright (C) 2004-2020 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,

View file

@ -4,7 +4,7 @@
* *
* The FreeType services (specification only). * The FreeType services (specification only).
* *
* Copyright (C) 2003-2019 by * Copyright (C) 2003-2020 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,

View file

@ -4,7 +4,7 @@
* *
* Stream handling (specification). * Stream handling (specification).
* *
* Copyright (C) 1996-2019 by * Copyright (C) 1996-2020 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,

View file

@ -4,7 +4,7 @@
* *
* Tracing handling (specification only). * Tracing handling (specification only).
* *
* Copyright (C) 2002-2019 by * Copyright (C) 2002-2020 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,
@ -49,6 +49,7 @@ FT_TRACE_DEF( cache ) /* cache sub-system (ftcache.c, etc.) */
FT_TRACE_DEF( sfdriver ) /* SFNT font driver (sfdriver.c) */ FT_TRACE_DEF( sfdriver ) /* SFNT font driver (sfdriver.c) */
FT_TRACE_DEF( sfobjs ) /* SFNT object handler (sfobjs.c) */ FT_TRACE_DEF( sfobjs ) /* SFNT object handler (sfobjs.c) */
FT_TRACE_DEF( sfwoff ) /* WOFF format handler (sfwoff.c) */ FT_TRACE_DEF( sfwoff ) /* WOFF format handler (sfwoff.c) */
FT_TRACE_DEF( sfwoff2 ) /* WOFF2 format handler (sfwoff2.c) */
FT_TRACE_DEF( ttbdf ) /* TrueType embedded BDF (ttbdf.c) */ 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) */

View file

@ -4,7 +4,7 @@
* *
* FreeType validation support (specification). * FreeType validation support (specification).
* *
* Copyright (C) 2004-2019 by * Copyright (C) 2004-2020 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,

View file

@ -4,7 +4,7 @@
* *
* Internal header files (specification only). * Internal header files (specification only).
* *
* Copyright (C) 1996-2019 by * Copyright (C) 1996-2020 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,

View file

@ -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-2019 by * Copyright (C) 1996-2020 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,

View file

@ -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-2019 by * Copyright (C) 2001-2020 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,

View file

@ -4,7 +4,7 @@
* *
* The FreeType BDF services (specification). * The FreeType BDF services (specification).
* *
* Copyright (C) 2003-2019 by * Copyright (C) 2003-2020 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,

View file

@ -4,7 +4,7 @@
* *
* The FreeType CFF tables loader service (specification). * The FreeType CFF tables loader service (specification).
* *
* Copyright (C) 2017-2019 by * Copyright (C) 2017-2020 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,

View file

@ -4,7 +4,7 @@
* *
* The FreeType CID font services (specification). * The FreeType CID font services (specification).
* *
* Copyright (C) 2007-2019 by * Copyright (C) 2007-2020 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,

View file

@ -4,7 +4,7 @@
* *
* The FreeType font format service (specification only). * The FreeType font format service (specification only).
* *
* Copyright (C) 2003-2019 by * Copyright (C) 2003-2020 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,

View file

@ -4,7 +4,7 @@
* *
* The FreeType glyph dictionary services (specification). * The FreeType glyph dictionary services (specification).
* *
* Copyright (C) 2003-2019 by * Copyright (C) 2003-2020 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,

View file

@ -4,7 +4,7 @@
* *
* FreeType API for validating TrueTypeGX/AAT tables (specification). * FreeType API for validating TrueTypeGX/AAT tables (specification).
* *
* Copyright (C) 2004-2019 by * Copyright (C) 2004-2020 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.
* *

View file

@ -4,7 +4,7 @@
* *
* The FreeType Kerning service (specification). * The FreeType Kerning service (specification).
* *
* Copyright (C) 2006-2019 by * Copyright (C) 2006-2020 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,

View file

@ -4,7 +4,7 @@
* *
* The FreeType services for metrics variations (specification). * The FreeType services for metrics variations (specification).
* *
* Copyright (C) 2016-2019 by * Copyright (C) 2016-2020 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,

View file

@ -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-2019 by * Copyright (C) 2003-2020 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,

View file

@ -4,7 +4,7 @@
* *
* The FreeType OpenType validation service (specification). * The FreeType OpenType validation service (specification).
* *
* Copyright (C) 2004-2019 by * Copyright (C) 2004-2020 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,

View file

@ -4,7 +4,7 @@
* *
* Internal PFR service functions (specification). * Internal PFR service functions (specification).
* *
* Copyright (C) 2003-2019 by * Copyright (C) 2003-2020 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,

View file

@ -4,7 +4,7 @@
* *
* The FreeType PostScript name services (specification). * The FreeType PostScript name services (specification).
* *
* Copyright (C) 2003-2019 by * Copyright (C) 2003-2020 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,

View file

@ -4,7 +4,7 @@
* *
* The FreeType property service (specification). * The FreeType property service (specification).
* *
* Copyright (C) 2012-2019 by * Copyright (C) 2012-2020 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,

View file

@ -4,7 +4,7 @@
* *
* The FreeType PostScript charmap service (specification). * The FreeType PostScript charmap service (specification).
* *
* Copyright (C) 2003-2019 by * Copyright (C) 2003-2020 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,

View file

@ -4,7 +4,7 @@
* *
* The FreeType PostScript info service (specification). * The FreeType PostScript info service (specification).
* *
* Copyright (C) 2003-2019 by * Copyright (C) 2003-2020 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,

View file

@ -4,7 +4,7 @@
* *
* The FreeType SFNT table loading service (specification). * The FreeType SFNT table loading service (specification).
* *
* Copyright (C) 2003-2019 by * Copyright (C) 2003-2020 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,

View file

@ -4,7 +4,7 @@
* *
* The FreeType TrueType/sfnt cmap extra information service. * The FreeType TrueType/sfnt cmap extra information service.
* *
* Copyright (C) 2003-2019 by * Copyright (C) 2003-2020 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.
* *

View file

@ -4,7 +4,7 @@
* *
* The FreeType TrueType engine query service (specification). * The FreeType TrueType engine query service (specification).
* *
* Copyright (C) 2006-2019 by * Copyright (C) 2006-2020 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,

View file

@ -4,7 +4,7 @@
* *
* The FreeType TrueType glyph service. * The FreeType TrueType glyph service.
* *
* Copyright (C) 2007-2019 by * Copyright (C) 2007-2020 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,

View file

@ -4,7 +4,7 @@
* *
* The FreeType Windows FNT/FONT service (specification). * The FreeType Windows FNT/FONT service (specification).
* *
* Copyright (C) 2003-2019 by * Copyright (C) 2003-2020 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,

View file

@ -4,7 +4,7 @@
* *
* High-level 'sfnt' driver interface (specification). * High-level 'sfnt' driver interface (specification).
* *
* Copyright (C) 1996-2019 by * Copyright (C) 1996-2020 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,

View file

@ -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-2019 by * Copyright (C) 1996-2020 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,

View file

@ -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-2019 by * Copyright (C) 1996-2020 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,

View file

@ -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-2019 by * Copyright (C) 1996-2020 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,
@ -104,6 +104,207 @@ FT_BEGIN_HEADER
} WOFF_TableRec, *WOFF_Table; } WOFF_TableRec, *WOFF_Table;
/**************************************************************************
*
* @struct:
* WOFF2_TtcFontRec
*
* @description:
* Metadata for a TTC font entry in WOFF2.
*
* @fields:
* flavor ::
* TTC font flavor.
*
* num_tables ::
* Number of tables in TTC, indicating number of elements in
* `table_indices`.
*
* table_indices ::
* Array of table indices for each TTC font.
*/
typedef struct WOFF2_TtcFontRec_
{
FT_ULong flavor;
FT_UShort num_tables;
FT_UShort* table_indices;
} WOFF2_TtcFontRec, *WOFF2_TtcFont;
/**************************************************************************
*
* @struct:
* WOFF2_HeaderRec
*
* @description:
* WOFF2 file format header.
*
* @fields:
* See
*
* https://www.w3.org/TR/WOFF2/#woff20Header
*
* @note:
* We don't care about the fields `reserved`, `majorVersion` and
* `minorVersion`, so they are not included. The `totalSfntSize` field
* does not necessarily represent the actual size of the uncompressed
* SFNT font stream, so that is used as a reference value instead.
*/
typedef struct WOFF2_HeaderRec_
{
FT_ULong signature;
FT_ULong flavor;
FT_ULong length;
FT_UShort num_tables;
FT_ULong totalSfntSize;
FT_ULong totalCompressedSize;
FT_ULong metaOffset;
FT_ULong metaLength;
FT_ULong metaOrigLength;
FT_ULong privOffset;
FT_ULong privLength;
FT_ULong uncompressed_size; /* uncompressed brotli stream size */
FT_ULong compressed_offset; /* compressed stream offset */
FT_ULong header_version; /* version of original TTC Header */
FT_UShort num_fonts; /* number of fonts in TTC */
FT_ULong actual_sfnt_size; /* actual size of sfnt stream */
WOFF2_TtcFont ttc_fonts; /* metadata for fonts in a TTC */
} WOFF2_HeaderRec, *WOFF2_Header;
/**************************************************************************
*
* @struct:
* WOFF2_TableRec
*
* @description:
* This structure describes a given table of a WOFF2 font.
*
* @fields:
* See
*
* https://www.w3.org/TR/WOFF2/#table_dir_format
*/
typedef struct WOFF2_TableRec_
{
FT_Byte FlagByte; /* table type and flags */
FT_ULong Tag; /* table file offset */
FT_ULong dst_length; /* uncompressed table length */
FT_ULong TransformLength; /* transformed length */
FT_ULong flags; /* calculated flags */
FT_ULong src_offset; /* compressed table offset */
FT_ULong src_length; /* compressed table length */
FT_ULong dst_offset; /* uncompressed table offset */
} WOFF2_TableRec, *WOFF2_Table;
/**************************************************************************
*
* @struct:
* WOFF2_InfoRec
*
* @description:
* Metadata for WOFF2 font that may be required for reconstruction of
* sfnt tables.
*
* @fields:
* header_checksum ::
* Checksum of SFNT offset table.
*
* num_glyphs ::
* Number of glyphs in the font.
*
* num_hmetrics ::
* `numberOfHMetrics` field in the 'hhea' table.
*
* x_mins ::
* `xMin` values of glyph bounding box.
*
* glyf_table ::
* A pointer to the `glyf' table record.
*
* loca_table ::
* A pointer to the `loca' table record.
*
* head_table ::
* A pointer to the `head' table record.
*/
typedef struct WOFF2_InfoRec_
{
FT_ULong header_checksum;
FT_UShort num_glyphs;
FT_UShort num_hmetrics;
FT_Short* x_mins;
WOFF2_Table glyf_table;
WOFF2_Table loca_table;
WOFF2_Table head_table;
} WOFF2_InfoRec, *WOFF2_Info;
/**************************************************************************
*
* @struct:
* WOFF2_SubstreamRec
*
* @description:
* This structure stores information about a substream in the transformed
* 'glyf' table in a WOFF2 stream.
*
* @fields:
* start ::
* Beginning of the substream relative to uncompressed table stream.
*
* offset ::
* Offset of the substream relative to uncompressed table stream.
*
* size ::
* Size of the substream.
*/
typedef struct WOFF2_SubstreamRec_
{
FT_ULong start;
FT_ULong offset;
FT_ULong size;
} WOFF2_SubstreamRec, *WOFF2_Substream;
/**************************************************************************
*
* @struct:
* WOFF2_PointRec
*
* @description:
* This structure stores information about a point in the transformed
* 'glyf' table in a WOFF2 stream.
*
* @fields:
* x ::
* x-coordinate of point.
*
* y ::
* y-coordinate of point.
*
* on_curve ::
* Set if point is on-curve.
*/
typedef struct WOFF2_PointRec_
{
FT_Int x;
FT_Int y;
FT_Bool on_curve;
} WOFF2_PointRec, *WOFF2_Point;
FT_END_HEADER FT_END_HEADER
#endif /* WOFFTYPES_H_ */ #endif /* WOFFTYPES_H_ */

View file

@ -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-2019 by * Copyright (C) 1996-2020 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,

View file

@ -4,7 +4,7 @@
* *
* TrueType name ID definitions (specification only). * TrueType name ID definitions (specification only).
* *
* Copyright (C) 1996-2019 by * Copyright (C) 1996-2020 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,

View file

@ -5,7 +5,7 @@
* Basic SFNT/TrueType tables definitions and interface * Basic SFNT/TrueType tables definitions and interface
* (specification only). * (specification only).
* *
* Copyright (C) 1996-2019 by * Copyright (C) 1996-2020 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,

View file

@ -4,7 +4,7 @@
* *
* Tags for TrueType and OpenType tables (specification only). * Tags for TrueType and OpenType tables (specification only).
* *
* Copyright (C) 1996-2019 by * Copyright (C) 1996-2020 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,
@ -107,6 +107,7 @@ FT_BEGIN_HEADER
#define TTAG_vmtx FT_MAKE_TAG( 'v', 'm', 't', 'x' ) #define TTAG_vmtx FT_MAKE_TAG( 'v', 'm', 't', 'x' )
#define TTAG_VVAR FT_MAKE_TAG( 'V', 'V', 'A', 'R' ) #define TTAG_VVAR FT_MAKE_TAG( 'V', 'V', 'A', 'R' )
#define TTAG_wOFF FT_MAKE_TAG( 'w', 'O', 'F', 'F' ) #define TTAG_wOFF FT_MAKE_TAG( 'w', 'O', 'F', 'F' )
#define TTAG_wOF2 FT_MAKE_TAG( 'w', 'O', 'F', '2' )
/* used by "Keyboard.dfont" on legacy Mac OS X */ /* used by "Keyboard.dfont" on legacy Mac OS X */
#define TTAG_0xA5kbd FT_MAKE_TAG( 0xA5, 'k', 'b', 'd' ) #define TTAG_0xA5kbd FT_MAKE_TAG( 0xA5, 'k', 'b', 'd' )

View file

@ -4,7 +4,7 @@
* *
* FreeType 2 build and setup macros. * FreeType 2 build and setup macros.
* *
* Copyright (C) 1996-2019 by * Copyright (C) 1996-2020 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,

View file

@ -5,7 +5,7 @@
* Routines used to compute vector angles with limited accuracy * Routines used to compute vector angles with limited accuracy
* and very high speed. It also contains sorting routines (body). * and very high speed. It also contains sorting routines (body).
* *
* Copyright (C) 2003-2019 by * Copyright (C) 2003-2020 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,

View file

@ -7,7 +7,7 @@
* *
* Auto-fitter data for blue strings (body). * Auto-fitter data for blue strings (body).
* *
* Copyright (C) 2013-2019 by * Copyright (C) 2013-2020 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,
@ -340,6 +340,12 @@
'\0', '\0',
'\xF0', '\x90', '\x92', '\x80', ' ', '\xF0', '\x90', '\x92', '\x82', ' ', '\xF0', '\x90', '\x92', '\x86', ' ', '\xF0', '\x90', '\x92', '\x88', ' ', '\xF0', '\x90', '\x92', '\x8A', ' ', '\xF0', '\x90', '\x92', '\x92', ' ', '\xF0', '\x90', '\x92', '\xA0', ' ', '\xF0', '\x90', '\x92', '\xA9', /* 𐒀 𐒂 𐒆 𐒈 𐒊 𐒒 𐒠 𐒩 */ '\xF0', '\x90', '\x92', '\x80', ' ', '\xF0', '\x90', '\x92', '\x82', ' ', '\xF0', '\x90', '\x92', '\x86', ' ', '\xF0', '\x90', '\x92', '\x88', ' ', '\xF0', '\x90', '\x92', '\x8A', ' ', '\xF0', '\x90', '\x92', '\x92', ' ', '\xF0', '\x90', '\x92', '\xA0', ' ', '\xF0', '\x90', '\x92', '\xA9', /* 𐒀 𐒂 𐒆 𐒈 𐒊 𐒒 𐒠 𐒩 */
'\0', '\0',
'\xF0', '\x90', '\xB4', '\x83', ' ', '\xF0', '\x90', '\xB4', '\x80', ' ', '\xF0', '\x90', '\xB4', '\x86', ' ', '\xF0', '\x90', '\xB4', '\x96', ' ', '\xF0', '\x90', '\xB4', '\x95', /* 𐴃 𐴀 𐴆 𐴖 𐴕 */
'\0',
'\xF0', '\x90', '\xB4', '\x94', ' ', '\xF0', '\x90', '\xB4', '\x96', ' ', '\xF0', '\x90', '\xB4', '\x95', ' ', '\xF0', '\x90', '\xB4', '\x91', ' ', '\xF0', '\x90', '\xB4', '\x90', /* 𐴔 𐴖 𐴕 𐴑 𐴐 */
'\0',
'\xD9', '\x80', /* ـ */
'\0',
'\xEA', '\xA2', '\x9C', ' ', '\xEA', '\xA2', '\x9E', ' ', '\xEA', '\xA2', '\xB3', ' ', '\xEA', '\xA2', '\x82', ' ', '\xEA', '\xA2', '\x96', ' ', '\xEA', '\xA2', '\x92', ' ', '\xEA', '\xA2', '\x9D', ' ', '\xEA', '\xA2', '\x9B', /* ꢜ ꢞ ꢳ ꢂ ꢖ ꢒ ꢝ ꢛ */ '\xEA', '\xA2', '\x9C', ' ', '\xEA', '\xA2', '\x9E', ' ', '\xEA', '\xA2', '\xB3', ' ', '\xEA', '\xA2', '\x82', ' ', '\xEA', '\xA2', '\x96', ' ', '\xEA', '\xA2', '\x92', ' ', '\xEA', '\xA2', '\x9D', ' ', '\xEA', '\xA2', '\x9B', /* ꢜ ꢞ ꢳ ꢂ ꢖ ꢒ ꢝ ꢛ */
'\0', '\0',
'\xEA', '\xA2', '\x82', ' ', '\xEA', '\xA2', '\xA8', ' ', '\xEA', '\xA2', '\xBA', ' ', '\xEA', '\xA2', '\xA4', ' ', '\xEA', '\xA2', '\x8E', /* ꢂ ꢨ ꢺ ꢤ ꢎ */ '\xEA', '\xA2', '\x82', ' ', '\xEA', '\xA2', '\xA8', ' ', '\xEA', '\xA2', '\xBA', ' ', '\xEA', '\xA2', '\xA4', ' ', '\xEA', '\xA2', '\x8E', /* ꢂ ꢨ ꢺ ꢤ ꢎ */
@ -687,6 +693,10 @@
{ AF_BLUE_STRING_OSMANYA_TOP, AF_BLUE_PROPERTY_LATIN_TOP }, { AF_BLUE_STRING_OSMANYA_TOP, AF_BLUE_PROPERTY_LATIN_TOP },
{ AF_BLUE_STRING_OSMANYA_BOTTOM, 0 }, { AF_BLUE_STRING_OSMANYA_BOTTOM, 0 },
{ AF_BLUE_STRING_MAX, 0 }, { AF_BLUE_STRING_MAX, 0 },
{ AF_BLUE_STRING_ROHINGYA_TOP, AF_BLUE_PROPERTY_LATIN_TOP },
{ AF_BLUE_STRING_ROHINGYA_BOTTOM, 0 },
{ AF_BLUE_STRING_ROHINGYA_JOIN, AF_BLUE_PROPERTY_LATIN_NEUTRAL },
{ AF_BLUE_STRING_MAX, 0 },
{ AF_BLUE_STRING_SAURASHTRA_TOP, AF_BLUE_PROPERTY_LATIN_TOP }, { AF_BLUE_STRING_SAURASHTRA_TOP, AF_BLUE_PROPERTY_LATIN_TOP },
{ AF_BLUE_STRING_SAURASHTRA_BOTTOM, 0 }, { AF_BLUE_STRING_SAURASHTRA_BOTTOM, 0 },
{ AF_BLUE_STRING_MAX, 0 }, { AF_BLUE_STRING_MAX, 0 },

View file

@ -4,7 +4,7 @@
* *
* Auto-fitter data for blue strings (body). * Auto-fitter data for blue strings (body).
* *
* Copyright (C) 2013-2019 by * Copyright (C) 2013-2020 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,

View file

@ -2,7 +2,7 @@
// //
// Auto-fitter data for blue strings. // Auto-fitter data for blue strings.
// //
// Copyright (C) 2013-2019 by // Copyright (C) 2013-2020 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,
@ -443,6 +443,13 @@ AF_BLUE_STRING_ENUM AF_BLUE_STRINGS_ARRAY AF_BLUE_STRING_MAX_LEN:
AF_BLUE_STRING_OSMANYA_BOTTOM AF_BLUE_STRING_OSMANYA_BOTTOM
"𐒀 𐒂 𐒆 𐒈 𐒊 𐒒 𐒠 𐒩" "𐒀 𐒂 𐒆 𐒈 𐒊 𐒒 𐒠 𐒩"
AF_BLUE_STRING_ROHINGYA_TOP
"𐴃 𐴀 𐴆 𐴖 𐴕"
AF_BLUE_STRING_ROHINGYA_BOTTOM
"𐴔 𐴖 𐴕 𐴑 𐴐"
AF_BLUE_STRING_ROHINGYA_JOIN
"ـ"
AF_BLUE_STRING_SAURASHTRA_TOP AF_BLUE_STRING_SAURASHTRA_TOP
"ꢜ ꢞ ꢳ ꢂ ꢖ ꢒ ꢝ ꢛ" "ꢜ ꢞ ꢳ ꢂ ꢖ ꢒ ꢝ ꢛ"
AF_BLUE_STRING_SAURASHTRA_BOTTOM AF_BLUE_STRING_SAURASHTRA_BOTTOM
@ -1002,6 +1009,12 @@ AF_BLUE_STRINGSET_ENUM AF_BLUE_STRINGSETS_ARRAY AF_BLUE_STRINGSET_MAX_LEN:
{ AF_BLUE_STRING_OSMANYA_BOTTOM, 0 } { AF_BLUE_STRING_OSMANYA_BOTTOM, 0 }
{ AF_BLUE_STRING_MAX, 0 } { AF_BLUE_STRING_MAX, 0 }
AF_BLUE_STRINGSET_ROHG
{ AF_BLUE_STRING_ROHINGYA_TOP, AF_BLUE_PROPERTY_LATIN_TOP }
{ AF_BLUE_STRING_ROHINGYA_BOTTOM, 0 }
{ AF_BLUE_STRING_ROHINGYA_JOIN, AF_BLUE_PROPERTY_LATIN_NEUTRAL }
{ AF_BLUE_STRING_MAX, 0 }
AF_BLUE_STRINGSET_SAUR AF_BLUE_STRINGSET_SAUR
{ AF_BLUE_STRING_SAURASHTRA_TOP, AF_BLUE_PROPERTY_LATIN_TOP } { AF_BLUE_STRING_SAURASHTRA_TOP, AF_BLUE_PROPERTY_LATIN_TOP }
{ AF_BLUE_STRING_SAURASHTRA_BOTTOM, 0 } { AF_BLUE_STRING_SAURASHTRA_BOTTOM, 0 }

View file

@ -7,7 +7,7 @@
* *
* Auto-fitter data for blue strings (specification). * Auto-fitter data for blue strings (specification).
* *
* Copyright (C) 2013-2019 by * Copyright (C) 2013-2020 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,
@ -234,36 +234,39 @@ FT_BEGIN_HEADER
AF_BLUE_STRING_OSAGE_SMALL_DESCENDER = 4095, AF_BLUE_STRING_OSAGE_SMALL_DESCENDER = 4095,
AF_BLUE_STRING_OSMANYA_TOP = 4110, AF_BLUE_STRING_OSMANYA_TOP = 4110,
AF_BLUE_STRING_OSMANYA_BOTTOM = 4150, AF_BLUE_STRING_OSMANYA_BOTTOM = 4150,
AF_BLUE_STRING_SAURASHTRA_TOP = 4190, AF_BLUE_STRING_ROHINGYA_TOP = 4190,
AF_BLUE_STRING_SAURASHTRA_BOTTOM = 4222, AF_BLUE_STRING_ROHINGYA_BOTTOM = 4215,
AF_BLUE_STRING_SHAVIAN_TOP = 4242, AF_BLUE_STRING_ROHINGYA_JOIN = 4240,
AF_BLUE_STRING_SHAVIAN_BOTTOM = 4252, AF_BLUE_STRING_SAURASHTRA_TOP = 4243,
AF_BLUE_STRING_SHAVIAN_DESCENDER = 4277, AF_BLUE_STRING_SAURASHTRA_BOTTOM = 4275,
AF_BLUE_STRING_SHAVIAN_SMALL_TOP = 4287, AF_BLUE_STRING_SHAVIAN_TOP = 4295,
AF_BLUE_STRING_SHAVIAN_SMALL_BOTTOM = 4322, AF_BLUE_STRING_SHAVIAN_BOTTOM = 4305,
AF_BLUE_STRING_SINHALA_TOP = 4337, AF_BLUE_STRING_SHAVIAN_DESCENDER = 4330,
AF_BLUE_STRING_SINHALA_BOTTOM = 4369, AF_BLUE_STRING_SHAVIAN_SMALL_TOP = 4340,
AF_BLUE_STRING_SINHALA_DESCENDER = 4401, AF_BLUE_STRING_SHAVIAN_SMALL_BOTTOM = 4375,
AF_BLUE_STRING_SUNDANESE_TOP = 4445, AF_BLUE_STRING_SINHALA_TOP = 4390,
AF_BLUE_STRING_SUNDANESE_BOTTOM = 4469, AF_BLUE_STRING_SINHALA_BOTTOM = 4422,
AF_BLUE_STRING_SUNDANESE_DESCENDER = 4501, AF_BLUE_STRING_SINHALA_DESCENDER = 4454,
AF_BLUE_STRING_TAI_VIET_TOP = 4509, AF_BLUE_STRING_SUNDANESE_TOP = 4498,
AF_BLUE_STRING_TAI_VIET_BOTTOM = 4529, AF_BLUE_STRING_SUNDANESE_BOTTOM = 4522,
AF_BLUE_STRING_TAMIL_TOP = 4541, AF_BLUE_STRING_SUNDANESE_DESCENDER = 4554,
AF_BLUE_STRING_TAMIL_BOTTOM = 4573, AF_BLUE_STRING_TAI_VIET_TOP = 4562,
AF_BLUE_STRING_TELUGU_TOP = 4605, AF_BLUE_STRING_TAI_VIET_BOTTOM = 4582,
AF_BLUE_STRING_TELUGU_BOTTOM = 4633, AF_BLUE_STRING_TAMIL_TOP = 4594,
AF_BLUE_STRING_THAI_TOP = 4661, AF_BLUE_STRING_TAMIL_BOTTOM = 4626,
AF_BLUE_STRING_THAI_BOTTOM = 4685, AF_BLUE_STRING_TELUGU_TOP = 4658,
AF_BLUE_STRING_THAI_ASCENDER = 4713, AF_BLUE_STRING_TELUGU_BOTTOM = 4686,
AF_BLUE_STRING_THAI_LARGE_ASCENDER = 4725, AF_BLUE_STRING_THAI_TOP = 4714,
AF_BLUE_STRING_THAI_DESCENDER = 4737, AF_BLUE_STRING_THAI_BOTTOM = 4738,
AF_BLUE_STRING_THAI_LARGE_DESCENDER = 4753, AF_BLUE_STRING_THAI_ASCENDER = 4766,
AF_BLUE_STRING_THAI_DIGIT_TOP = 4761, AF_BLUE_STRING_THAI_LARGE_ASCENDER = 4778,
AF_BLUE_STRING_TIFINAGH = 4773, AF_BLUE_STRING_THAI_DESCENDER = 4790,
AF_BLUE_STRING_VAI_TOP = 4805, AF_BLUE_STRING_THAI_LARGE_DESCENDER = 4806,
AF_BLUE_STRING_VAI_BOTTOM = 4837, AF_BLUE_STRING_THAI_DIGIT_TOP = 4814,
af_blue_1_1 = 4868, AF_BLUE_STRING_TIFINAGH = 4826,
AF_BLUE_STRING_VAI_TOP = 4858,
AF_BLUE_STRING_VAI_BOTTOM = 4890,
af_blue_1_1 = 4921,
#ifdef AF_CONFIG_OPTION_CJK #ifdef AF_CONFIG_OPTION_CJK
AF_BLUE_STRING_CJK_TOP = af_blue_1_1 + 1, AF_BLUE_STRING_CJK_TOP = af_blue_1_1 + 1,
AF_BLUE_STRING_CJK_BOTTOM = af_blue_1_1 + 203, AF_BLUE_STRING_CJK_BOTTOM = af_blue_1_1 + 203,
@ -365,17 +368,18 @@ FT_BEGIN_HEADER
AF_BLUE_STRINGSET_ORKH = 196, AF_BLUE_STRINGSET_ORKH = 196,
AF_BLUE_STRINGSET_OSGE = 199, AF_BLUE_STRINGSET_OSGE = 199,
AF_BLUE_STRINGSET_OSMA = 207, AF_BLUE_STRINGSET_OSMA = 207,
AF_BLUE_STRINGSET_SAUR = 210, AF_BLUE_STRINGSET_ROHG = 210,
AF_BLUE_STRINGSET_SHAW = 213, AF_BLUE_STRINGSET_SAUR = 214,
AF_BLUE_STRINGSET_SINH = 219, AF_BLUE_STRINGSET_SHAW = 217,
AF_BLUE_STRINGSET_SUND = 223, AF_BLUE_STRINGSET_SINH = 223,
AF_BLUE_STRINGSET_TAML = 227, AF_BLUE_STRINGSET_SUND = 227,
AF_BLUE_STRINGSET_TAVT = 230, AF_BLUE_STRINGSET_TAML = 231,
AF_BLUE_STRINGSET_TELU = 233, AF_BLUE_STRINGSET_TAVT = 234,
AF_BLUE_STRINGSET_TFNG = 236, AF_BLUE_STRINGSET_TELU = 237,
AF_BLUE_STRINGSET_THAI = 239, AF_BLUE_STRINGSET_TFNG = 240,
AF_BLUE_STRINGSET_VAII = 247, AF_BLUE_STRINGSET_THAI = 243,
af_blue_2_1 = 250, AF_BLUE_STRINGSET_VAII = 251,
af_blue_2_1 = 254,
#ifdef AF_CONFIG_OPTION_CJK #ifdef AF_CONFIG_OPTION_CJK
AF_BLUE_STRINGSET_HANI = af_blue_2_1 + 0, AF_BLUE_STRINGSET_HANI = af_blue_2_1 + 0,
af_blue_2_1_1 = af_blue_2_1 + 2, af_blue_2_1_1 = af_blue_2_1 + 2,

View file

@ -4,7 +4,7 @@
* *
* Auto-fitter data for blue strings (specification). * Auto-fitter data for blue strings (specification).
* *
* Copyright (C) 2013-2019 by * Copyright (C) 2013-2020 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,

View file

@ -4,7 +4,7 @@
* *
* Auto-fitter hinting routines for CJK writing system (body). * Auto-fitter hinting routines for CJK writing system (body).
* *
* Copyright (C) 2006-2019 by * Copyright (C) 2006-2020 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,
@ -806,7 +806,7 @@
{ {
AF_AxisHints axis = &hints->axis[dim]; AF_AxisHints axis = &hints->axis[dim];
AF_Segment segments = axis->segments; AF_Segment segments = axis->segments;
AF_Segment segment_limit = segments + axis->num_segments; AF_Segment segment_limit = FT_OFFSET( segments, axis->num_segments );
FT_Error error; FT_Error error;
AF_Segment seg; AF_Segment seg;

View file

@ -4,7 +4,7 @@
* *
* Auto-fitter hinting routines for CJK writing system (specification). * Auto-fitter hinting routines for CJK writing system (specification).
* *
* Copyright (C) 2006-2019 by * Copyright (C) 2006-2020 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,

Some files were not shown because too many files have changed in this diff Show more