Merge pull request #9349 from volzhs/freetype-2.8
Update freetype to 2.8
This commit is contained in:
commit
41bbf106e6
|
@ -34,10 +34,13 @@ if (env['builtin_freetype'] != 'no'):
|
|||
"src/base/fttype1.c",
|
||||
"src/base/ftwinfnt.c",
|
||||
"src/bdf/bdf.c",
|
||||
"src/bzip2/ftbzip2.c",
|
||||
"src/cache/ftcache.c",
|
||||
"src/cff/cff.c",
|
||||
"src/cid/type1cid.c",
|
||||
"src/gxvalid/gxvalid.c",
|
||||
"src/gzip/ftgzip.c",
|
||||
"src/lzw/ftlzw.c",
|
||||
"src/otvalid/otvalid.c",
|
||||
"src/pcf/pcf.c",
|
||||
"src/pfr/pfr.c",
|
||||
|
@ -77,6 +80,9 @@ if (env['builtin_freetype'] != 'no'):
|
|||
break
|
||||
if not inserted:
|
||||
env.Append(LIBS=[lib])
|
||||
env.Append(CCFLAGS=['-DFT2_BUILD_LIBRARY'])
|
||||
if (env['target'] != 'release'):
|
||||
env.Append(CCFLAGS=['-DZLIB_DEBUG'])
|
||||
|
||||
# Godot source files
|
||||
env.add_source_files(env.modules_sources, "*.cpp")
|
||||
|
|
|
@ -59,7 +59,7 @@ TODO.
|
|||
## freetype
|
||||
|
||||
- Upstream: https://www.freetype.org
|
||||
- Version: 2.6.5
|
||||
- Version: 2.8
|
||||
- License: FreeType License (BSD-like)
|
||||
|
||||
Files extracted from upstream source:
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
/* */
|
||||
/* ANSI-specific configuration file (specification only). */
|
||||
/* */
|
||||
/* Copyright 1996-2016 by */
|
||||
/* Copyright 1996-2017 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
|
@ -143,6 +143,14 @@ FT_BEGIN_HEADER
|
|||
#endif
|
||||
|
||||
|
||||
/* Fix compiler warning with sgi compiler */
|
||||
#if defined( __sgi ) && !defined( __GNUC__ )
|
||||
#if defined( _COMPILER_VERSION ) && ( _COMPILER_VERSION >= 730 )
|
||||
#pragma set woff 3505
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* <Section> */
|
||||
|
@ -325,6 +333,15 @@ FT_BEGIN_HEADER
|
|||
#endif
|
||||
|
||||
|
||||
#ifdef _WIN64
|
||||
/* only 64bit Windows uses the LLP64 data model, i.e., */
|
||||
/* 32bit integers, 64bit pointers */
|
||||
#define FT_UINT_TO_POINTER( x ) (void*)(unsigned __int64)(x)
|
||||
#else
|
||||
#define FT_UINT_TO_POINTER( x ) (void*)(unsigned long)(x)
|
||||
#endif
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* miscellaneous */
|
||||
|
@ -338,10 +355,11 @@ FT_BEGIN_HEADER
|
|||
|
||||
|
||||
/* typeof condition taken from gnulib's `intprops.h' header file */
|
||||
#if ( __GNUC__ >= 2 || \
|
||||
defined( __IBM__TYPEOF__ ) || \
|
||||
( __SUNPRO_C >= 0x5110 && !__STDC__ ) )
|
||||
#define FT_TYPEOF( type ) (__typeof__ (type))
|
||||
#if ( ( defined( __GNUC__ ) && __GNUC__ >= 2 ) || \
|
||||
( defined( __IBMC__ ) && __IBMC__ >= 1210 && \
|
||||
defined( __IBM__TYPEOF__ ) ) || \
|
||||
( defined( __SUNPRO_C ) && __SUNPRO_C >= 0x5110 && !__STDC__ ) )
|
||||
#define FT_TYPEOF( type ) ( __typeof__ ( type ) )
|
||||
#else
|
||||
#define FT_TYPEOF( type ) /* empty */
|
||||
#endif
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
/* */
|
||||
/* Build macros of the FreeType 2 library. */
|
||||
/* */
|
||||
/* Copyright 1996-2016 by */
|
||||
/* Copyright 1996-2017 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
|
@ -354,6 +354,19 @@
|
|||
#define FT_TRUETYPE_DRIVER_H <freetype/ftttdrv.h>
|
||||
|
||||
|
||||
/*************************************************************************
|
||||
*
|
||||
* @macro:
|
||||
* FT_PCF_DRIVER_H
|
||||
*
|
||||
* @description:
|
||||
* A macro used in #include statements to name the file containing
|
||||
* structures and macros related to the PCF driver module.
|
||||
*
|
||||
*/
|
||||
#define FT_PCF_DRIVER_H <freetype/ftpcfdrv.h>
|
||||
|
||||
|
||||
/*************************************************************************
|
||||
*
|
||||
* @macro:
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
/* */
|
||||
/* User-selectable configuration macros (specification only). */
|
||||
/* */
|
||||
/* Copyright 1996-2016 by */
|
||||
/* Copyright 1996-2017 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
|
@ -75,6 +75,36 @@ FT_BEGIN_HEADER
|
|||
/*************************************************************************/
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* If you enable this configuration option, FreeType recognizes an */
|
||||
/* environment variable called `FREETYPE_PROPERTIES', which can be used */
|
||||
/* to control the various font drivers and modules. The controllable */
|
||||
/* properties are listed in the section `Controlling FreeType Modules' */
|
||||
/* in the reference's table of contents; currently there are properties */
|
||||
/* for the auto-hinter (file `ftautoh.h'), CFF (file `ftcffdrv.h'), */
|
||||
/* TrueType (file `ftttdrv.h'), and PCF (file `ftpcfdrv.h'). */
|
||||
/* */
|
||||
/* `FREETYPE_PROPERTIES' has the following syntax form (broken here into */
|
||||
/* multiple lines for better readability). */
|
||||
/* */
|
||||
/* <optional whitespace> */
|
||||
/* <module-name1> ':' */
|
||||
/* <property-name1> '=' <property-value1> */
|
||||
/* <whitespace> */
|
||||
/* <module-name2> ':' */
|
||||
/* <property-name2> '=' <property-value2> */
|
||||
/* ... */
|
||||
/* */
|
||||
/* Example: */
|
||||
/* */
|
||||
/* FREETYPE_PROPERTIES=truetype:interpreter-version=35 \ */
|
||||
/* cff:no-stem-darkening=1 \ */
|
||||
/* autofitter:warping=1 */
|
||||
/* */
|
||||
#define FT_CONFIG_OPTION_ENVIRONMENT_PROPERTIES
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* Uncomment the line below if you want to activate sub-pixel rendering */
|
||||
|
@ -148,7 +178,7 @@ FT_BEGIN_HEADER
|
|||
/* */
|
||||
/* Define this macro if you want to enable this `feature'. */
|
||||
/* */
|
||||
/* #define FT_CONFIG_OPTION_USE_LZW */ // -GODOT-
|
||||
#define FT_CONFIG_OPTION_USE_LZW
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
|
@ -163,7 +193,7 @@ FT_BEGIN_HEADER
|
|||
/* Define this macro if you want to enable this `feature'. See also */
|
||||
/* the macro FT_CONFIG_OPTION_SYSTEM_ZLIB below. */
|
||||
/* */
|
||||
/* #define FT_CONFIG_OPTION_USE_ZLIB */ // -GODOT-
|
||||
#define FT_CONFIG_OPTION_USE_ZLIB
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
|
@ -492,7 +522,21 @@ FT_BEGIN_HEADER
|
|||
/* code will be used. */
|
||||
/* */
|
||||
/* Setting this macro is needed for systems that prohibit address */
|
||||
/* fixups, such as BREW. */
|
||||
/* fixups, such as BREW. [Note that standard compilers like gcc or */
|
||||
/* clang handle PIC generation automatically; you don't have to set */
|
||||
/* FT_CONFIG_OPTION_PIC, which is only necessary for very special */
|
||||
/* compilers.] */
|
||||
/* */
|
||||
/* Note that FT_CONFIG_OPTION_PIC support is not available for all */
|
||||
/* modules (see `modules.cfg' for a complete list). For building with */
|
||||
/* FT_CONFIG_OPTION_PIC support, do the following. */
|
||||
/* */
|
||||
/* 0. Clone the repository. */
|
||||
/* 1. Define FT_CONFIG_OPTION_PIC. */
|
||||
/* 2. Remove all subdirectories in `src' that don't have */
|
||||
/* FT_CONFIG_OPTION_PIC support. */
|
||||
/* 3. Comment out the corresponding modules in `modules.cfg'. */
|
||||
/* 4. Compile. */
|
||||
/* */
|
||||
/* #define FT_CONFIG_OPTION_PIC */
|
||||
|
||||
|
@ -596,17 +640,21 @@ FT_BEGIN_HEADER
|
|||
/* [1] for a technical overview on what this means. See `ttinterp.h' */
|
||||
/* for more details on the LEAN option. */
|
||||
/* */
|
||||
/* There are three options. */
|
||||
/* There are three possible values. */
|
||||
/* */
|
||||
/* 1. This option is associated with the `Infinality' moniker. */
|
||||
/* Contributed by an individual nicknamed Infinality with the goal of */
|
||||
/* Value 1: */
|
||||
/* This value is associated with the `Infinality' moniker, */
|
||||
/* contributed by an individual nicknamed Infinality with the goal of */
|
||||
/* making TrueType fonts render better than on Windows. A high */
|
||||
/* amount of configurability and flexibility, down to rules for */
|
||||
/* single glyphs in fonts, but also very slow. Its experimental and */
|
||||
/* slow nature and the original developer losing interest meant that */
|
||||
/* this option was never enabled in default builds. */
|
||||
/* */
|
||||
/* 2. The new default mode for the TrueType driver. The Infinality code */
|
||||
/* The corresponding interpreter version is v38. */
|
||||
/* */
|
||||
/* Value 2: */
|
||||
/* The new default mode for the TrueType driver. The Infinality code */
|
||||
/* base was stripped to the bare minimum and all configurability */
|
||||
/* removed in the name of speed and simplicity. The configurability */
|
||||
/* was mainly aimed at legacy fonts like Arial, Times New Roman, or */
|
||||
|
@ -616,14 +664,19 @@ FT_BEGIN_HEADER
|
|||
/* that modern and web fonts render well while legacy fonts render */
|
||||
/* okay. */
|
||||
/* */
|
||||
/* 3. Compile both. */
|
||||
/* The corresponding interpreter version is v40. */
|
||||
/* */
|
||||
/* Value 3: */
|
||||
/* Compile both, making both v38 and v40 available (the latter is the */
|
||||
/* default). */
|
||||
/* */
|
||||
/* By undefining these, you get rendering behavior like on Windows */
|
||||
/* without ClearType, i.e., Windows XP without ClearType enabled and */
|
||||
/* Win9x (interpreter version v35). Or not, depending on how much */
|
||||
/* hinting blood and testing tears the font designer put into a given */
|
||||
/* font. If you define one or both subpixel hinting options, you can */
|
||||
/* switch between between v35 and the ones you define. */
|
||||
/* switch between between v35 and the ones you define (using */
|
||||
/* `FT_Property_Set'). */
|
||||
/* */
|
||||
/* This option requires TT_CONFIG_OPTION_BYTECODE_INTERPRETER to be */
|
||||
/* defined. */
|
||||
|
@ -631,7 +684,7 @@ FT_BEGIN_HEADER
|
|||
/* [1] http://www.microsoft.com/typography/cleartype/truetypecleartype.aspx */
|
||||
/* */
|
||||
/* #define TT_CONFIG_OPTION_SUBPIXEL_HINTING 1 */
|
||||
/* #define TT_CONFIG_OPTION_SUBPIXEL_HINTING 2 */
|
||||
#define TT_CONFIG_OPTION_SUBPIXEL_HINTING 2
|
||||
/* #define TT_CONFIG_OPTION_SUBPIXEL_HINTING ( 1 | 2 ) */
|
||||
|
||||
|
||||
|
@ -788,6 +841,33 @@ FT_BEGIN_HEADER
|
|||
/* #define CFF_CONFIG_OPTION_OLD_ENGINE */
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/*************************************************************************/
|
||||
/**** ****/
|
||||
/**** P C F D R I V E R C O N F I G U R A T I O N ****/
|
||||
/**** ****/
|
||||
/*************************************************************************/
|
||||
/*************************************************************************/
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* There are many PCF fonts just called `Fixed' which look completely */
|
||||
/* different, and which have nothing to do with each other. When */
|
||||
/* selecting `Fixed' in KDE or Gnome one gets results that appear rather */
|
||||
/* random, the style changes often if one changes the size and one */
|
||||
/* cannot select some fonts at all. This option makes the PCF module */
|
||||
/* prepend the foundry name (plus a space) to the family name. */
|
||||
/* */
|
||||
/* We also check whether we have `wide' characters; all put together, we */
|
||||
/* get family names like `Sony Fixed' or `Misc Fixed Wide'. */
|
||||
/* */
|
||||
/* If this option is activated, it can be controlled with the */
|
||||
/* `no-long-family-names' property of the pcf driver module. */
|
||||
/* */
|
||||
/* #define PCF_CONFIG_OPTION_LONG_FAMILY_NAMES */
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/*************************************************************************/
|
||||
/**** ****/
|
||||
|
@ -806,7 +886,9 @@ FT_BEGIN_HEADER
|
|||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* Compile autofit module with Indic script support. */
|
||||
/* Compile autofit module with fallback Indic script support, covering */
|
||||
/* some scripts that the `latin' submodule of the autofit module doesn't */
|
||||
/* (yet) handle. */
|
||||
/* */
|
||||
#define AF_CONFIG_OPTION_INDIC
|
||||
|
||||
|
@ -825,6 +907,26 @@ FT_BEGIN_HEADER
|
|||
/* */
|
||||
#define AF_CONFIG_OPTION_USE_WARPER
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* Use TrueType-like size metrics for `light' auto-hinting. */
|
||||
/* */
|
||||
/* It is strongly recommended to avoid this option, which exists only to */
|
||||
/* help some legacy applications retain its appearance and behaviour */
|
||||
/* with respect to auto-hinted TrueType fonts. */
|
||||
/* */
|
||||
/* The very reason this option exists at all are GNU/Linux distributions */
|
||||
/* like Fedora that did not un-patch the following change (which was */
|
||||
/* present in FreeType between versions 2.4.6 and 2.7.1, inclusive). */
|
||||
/* */
|
||||
/* 2011-07-16 Steven Chu <steven.f.chu@gmail.com> */
|
||||
/* */
|
||||
/* [truetype] Fix metrics on size request for scalable fonts. */
|
||||
/* */
|
||||
/* This problematic commit is now reverted (more or less). */
|
||||
/* */
|
||||
/* #define AF_CONFIG_OPTION_TT_SIZE_METRICS */
|
||||
|
||||
/* */
|
||||
|
||||
|
||||
|
@ -842,6 +944,7 @@ FT_BEGIN_HEADER
|
|||
#ifdef TT_CONFIG_OPTION_BYTECODE_INTERPRETER
|
||||
#define TT_USE_BYTECODE_INTERPRETER
|
||||
|
||||
#ifdef TT_CONFIG_OPTION_SUBPIXEL_HINTING
|
||||
#if TT_CONFIG_OPTION_SUBPIXEL_HINTING & 1
|
||||
#define TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY
|
||||
#endif
|
||||
|
@ -849,6 +952,7 @@ FT_BEGIN_HEADER
|
|||
#if TT_CONFIG_OPTION_SUBPIXEL_HINTING & 2
|
||||
#define TT_SUPPORT_SUBPIXEL_HINTING_MINIMAL
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
/* ANSI-specific library and header configuration file (specification */
|
||||
/* only). */
|
||||
/* */
|
||||
/* Copyright 2002-2016 by */
|
||||
/* Copyright 2002-2017 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
|
@ -142,7 +142,8 @@
|
|||
/**********************************************************************/
|
||||
|
||||
|
||||
#define ft_atol atol
|
||||
#define ft_strtol strtol
|
||||
#define ft_getenv getenv
|
||||
|
||||
|
||||
/**********************************************************************/
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -4,7 +4,7 @@
|
|||
/* */
|
||||
/* Quick computation of advance widths (specification only). */
|
||||
/* */
|
||||
/* Copyright 2008-2016 by */
|
||||
/* Copyright 2008-2017 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
/* */
|
||||
/* FreeType API for controlling the auto-hinter (specification only). */
|
||||
/* */
|
||||
/* Copyright 2012-2016 by */
|
||||
/* Copyright 2012-2017 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
|
@ -428,6 +428,9 @@ FT_BEGIN_HEADER
|
|||
* @note:
|
||||
* This property can be used with @FT_Property_Get also.
|
||||
*
|
||||
* This property can be set via the `FREETYPE_PROPERTIES' environment
|
||||
* variable (using values 1 and 0 for `on' and `off', respectively).
|
||||
*
|
||||
* The warping code can also change advance widths. Have a look at the
|
||||
* `lsb_delta' and `rsb_delta' fields in the @FT_GlyphSlotRec structure
|
||||
* for details on improving inter-glyph distances while rendering.
|
||||
|
@ -445,7 +448,7 @@ FT_BEGIN_HEADER
|
|||
* no-stem-darkening[autofit]
|
||||
*
|
||||
* @description:
|
||||
* *Experimental* *only,* *requires* *linear* *alpha* *blending* *and*
|
||||
* *Experimental* *only*, *requires* *linear* *alpha* *blending* *and*
|
||||
* *gamma* *correction*
|
||||
*
|
||||
* Stem darkening emboldens glyphs at smaller sizes to make them more
|
||||
|
@ -473,9 +476,34 @@ FT_BEGIN_HEADER
|
|||
* The smaller the size (especially 9ppem and down), the higher the loss
|
||||
* of emboldening versus the CFF driver.
|
||||
*
|
||||
* This property can be set via the `FREETYPE_PROPERTIES' environment
|
||||
* variable similar to the CFF driver. It can also be set per face
|
||||
* using @FT_Face_Properties with @FT_PARAM_TAG_STEM_DARKENING.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
/**************************************************************************
|
||||
*
|
||||
* @constant:
|
||||
* FT_PARAM_TAG_STEM_DARKENING
|
||||
*
|
||||
* @description:
|
||||
* An @FT_Parameter tag to be used with @FT_Face_Properties. The
|
||||
* corresponding Boolean argument specifies whether to apply stem
|
||||
* darkening, overriding the global default values or the values set up
|
||||
* with @FT_Property_Set (see @no-stem-darkening[autofit] and
|
||||
* @no-stem-darkening[cff]).
|
||||
*
|
||||
* This is a passive setting that only takes effect if the font driver
|
||||
* or autohinter honors it, which the CFF driver always does, but the
|
||||
* autohinter only in `light' hinting mode (as of version 2.7.0).
|
||||
*
|
||||
*/
|
||||
#define FT_PARAM_TAG_STEM_DARKENING \
|
||||
FT_MAKE_TAG( 'd', 'a', 'r', 'k' )
|
||||
|
||||
|
||||
/**************************************************************************
|
||||
*
|
||||
* @property:
|
||||
|
@ -489,6 +517,8 @@ FT_BEGIN_HEADER
|
|||
* CFF_CONFIG_OPTION_DARKENING_PARAMETER_* #defines for consistency.
|
||||
* Note the differences described in @no-stem-darkening[autofit].
|
||||
*
|
||||
* This property can be set via the `FREETYPE_PROPERTIES' environment
|
||||
* variable similar to the CFF driver.
|
||||
*/
|
||||
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
/* */
|
||||
/* FreeType exact bbox computation (specification). */
|
||||
/* */
|
||||
/* Copyright 1996-2016 by */
|
||||
/* Copyright 1996-2017 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* 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). */
|
||||
/* */
|
||||
/* Copyright 2002-2016 by */
|
||||
/* Copyright 2002-2017 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
/* */
|
||||
/* FreeType utility functions for bitmaps (specification). */
|
||||
/* */
|
||||
/* Copyright 2004-2016 by */
|
||||
/* Copyright 2004-2017 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
/* */
|
||||
/* Bzip2-compressed stream support. */
|
||||
/* */
|
||||
/* Copyright 2010-2016 by */
|
||||
/* Copyright 2010-2017 by */
|
||||
/* Joel Klinghed. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
/* */
|
||||
/* FreeType Cache subsystem (specification). */
|
||||
/* */
|
||||
/* Copyright 1996-2016 by */
|
||||
/* Copyright 1996-2017 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
/* */
|
||||
/* FreeType API for controlling the CFF driver (specification only). */
|
||||
/* */
|
||||
/* Copyright 2013-2016 by */
|
||||
/* Copyright 2013-2017 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
|
@ -113,6 +113,7 @@ FT_BEGIN_HEADER
|
|||
* hinting-engine[cff]
|
||||
* no-stem-darkening[cff]
|
||||
* darkening-parameters[cff]
|
||||
* random-seed
|
||||
*
|
||||
*/
|
||||
|
||||
|
@ -148,6 +149,8 @@ FT_BEGIN_HEADER
|
|||
* @note:
|
||||
* This property can be used with @FT_Property_Get also.
|
||||
*
|
||||
* This property can be set via the `FREETYPE_PROPERTIES' environment
|
||||
* variable (using values `adobe' or `freetype').
|
||||
*/
|
||||
|
||||
|
||||
|
@ -199,6 +202,11 @@ FT_BEGIN_HEADER
|
|||
* @note:
|
||||
* This property can be used with @FT_Property_Get also.
|
||||
*
|
||||
* This property can be set via the `FREETYPE_PROPERTIES' environment
|
||||
* variable (using values 1 and 0 for `on' and `off', respectively).
|
||||
* It can also be set per face using @FT_Face_Properties with
|
||||
* @FT_PARAM_TAG_STEM_DARKENING.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
|
@ -248,8 +256,59 @@ FT_BEGIN_HEADER
|
|||
* @note:
|
||||
* This property can be used with @FT_Property_Get also.
|
||||
*
|
||||
* This property can be set via the `FREETYPE_PROPERTIES' environment
|
||||
* variable, using eight comma-separated integers without spaces. Here
|
||||
* the above example, using `\' to break the line for readability.
|
||||
*
|
||||
* {
|
||||
* FREETYPE_PROPERTIES=\
|
||||
* cff:darkening-parameters=500,300,1000,200,1500,100,2000,0
|
||||
* }
|
||||
*/
|
||||
|
||||
|
||||
/**************************************************************************
|
||||
*
|
||||
* @property:
|
||||
* random-seed
|
||||
*
|
||||
* @description:
|
||||
* By default, the seed value for the CFF `random' operator is set to a
|
||||
* random value. However, mainly for debugging purposes, it is often
|
||||
* necessary to use a known value as a seed so that the pseudo-random
|
||||
* number sequences generated by `random' are repeatable.
|
||||
*
|
||||
* The `random-seed' property does that. Its argument is a signed 32bit
|
||||
* integer; if the value is zero or negative, the seed given by the
|
||||
* `intitialRandomSeed' private DICT operator in a CFF file gets used
|
||||
* (or a default value if there is no such operator). If the value is
|
||||
* positive, use it instead of `initialRandomSeed', which is
|
||||
* consequently ignored.
|
||||
*
|
||||
* @note:
|
||||
* This property can be set via the `FREETYPE_PROPERTIES' environment
|
||||
* variable. It can also be set per face using @FT_Face_Properties with
|
||||
* @FT_PARAM_TAG_RANDOM_SEED.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
/**************************************************************************
|
||||
*
|
||||
* @constant:
|
||||
* FT_PARAM_TAG_RANDOM_SEED
|
||||
*
|
||||
* @description:
|
||||
* An @FT_Parameter tag to be used with @FT_Face_Properties. The
|
||||
* corresponding 32bit signed integer argument overrides the CFF
|
||||
* module's random seed value with a face-specific one; see
|
||||
* @random-seed.
|
||||
*
|
||||
*/
|
||||
#define FT_PARAM_TAG_RANDOM_SEED \
|
||||
FT_MAKE_TAG( 's', 'e', 'e', 'd' )
|
||||
|
||||
|
||||
/* */
|
||||
|
||||
|
||||
|
|
|
@ -77,6 +77,7 @@
|
|||
/* auto_hinter */
|
||||
/* cff_driver */
|
||||
/* tt_driver */
|
||||
/* pcf_driver */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
/* */
|
||||
/* FreeType API for accessing CID font information (specification). */
|
||||
/* */
|
||||
/* Copyright 2007-2016 by */
|
||||
/* Copyright 2007-2017 by */
|
||||
/* Dereg Clegg and Michael Toftdal. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
/* */
|
||||
/* FreeType error codes (specification). */
|
||||
/* */
|
||||
/* Copyright 2002-2016 by */
|
||||
/* Copyright 2002-2017 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
|
@ -231,6 +231,8 @@
|
|||
"invalid PostScript (post) table format" )
|
||||
FT_ERRORDEF_( Invalid_Post_Table, 0x9B,
|
||||
"invalid PostScript (post) table" )
|
||||
FT_ERRORDEF_( DEF_In_Glyf_Bytecode, 0x9C,
|
||||
"found FDEF or IDEF opcode in glyf bytecode" )
|
||||
|
||||
/* CFF, CID, and Type 1 errors */
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
/* */
|
||||
/* FreeType error code handling (specification). */
|
||||
/* */
|
||||
/* Copyright 1996-2016 by */
|
||||
/* Copyright 1996-2017 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
|
@ -106,7 +106,7 @@
|
|||
/* */
|
||||
/* #undefine __FTERRORS_H__ */
|
||||
/* */
|
||||
/* work for backwards compatibility. */
|
||||
/* work for backward compatibility. */
|
||||
/* */
|
||||
#if !( defined( FTERRORS_H_ ) && defined ( __FTERRORS_H__ ) )
|
||||
#define FTERRORS_H_
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
/* */
|
||||
/* Support functions for font formats. */
|
||||
/* */
|
||||
/* Copyright 2002-2016 by */
|
||||
/* Copyright 2002-2017 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
/* */
|
||||
/* Access of TrueType's `gasp' table (specification). */
|
||||
/* */
|
||||
/* Copyright 2007-2016 by */
|
||||
/* Copyright 2007-2017 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
|
@ -92,8 +92,8 @@
|
|||
#define FT_GASP_NO_TABLE -1
|
||||
#define FT_GASP_DO_GRIDFIT 0x01
|
||||
#define FT_GASP_DO_GRAY 0x02
|
||||
#define FT_GASP_SYMMETRIC_GRIDFIT 0x04
|
||||
#define FT_GASP_SYMMETRIC_SMOOTHING 0x08
|
||||
#define FT_GASP_SYMMETRIC_GRIDFIT 0x10
|
||||
|
||||
|
||||
/*************************************************************************
|
||||
|
@ -102,17 +102,25 @@
|
|||
* FT_Get_Gasp
|
||||
*
|
||||
* @description:
|
||||
* Read the `gasp' table from a TrueType or OpenType font file and
|
||||
* return the entry corresponding to a given character pixel size.
|
||||
* For a TrueType or OpenType font file, return the rasterizer behaviour
|
||||
* flags from the font's `gasp' table corresponding to a given
|
||||
* character pixel size.
|
||||
*
|
||||
* @input:
|
||||
* face :: The source face handle.
|
||||
*
|
||||
* ppem :: The vertical character pixel size.
|
||||
*
|
||||
* @return:
|
||||
* Bit flags (see @FT_GASP_XXX), or @FT_GASP_NO_TABLE if there is no
|
||||
* `gasp' table in the face.
|
||||
*
|
||||
* @note:
|
||||
* If you want to use the MM functionality of OpenType variation fonts
|
||||
* (i.e., using @FT_Set_Var_Design_Coordinates and friends), call this
|
||||
* function *after* setting an instance since the return values can
|
||||
* change.
|
||||
*
|
||||
* @since:
|
||||
* 2.3.0
|
||||
*/
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
/* */
|
||||
/* FreeType convenience functions to handle glyphs (specification). */
|
||||
/* */
|
||||
/* Copyright 1996-2016 by */
|
||||
/* Copyright 1996-2017 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
|
@ -453,7 +453,7 @@ FT_BEGIN_HEADER
|
|||
/* */
|
||||
/* */
|
||||
/* // load glyph */
|
||||
/* error = FT_Load_Char( face, glyph_index, FT_LOAD_DEFAUT ); */
|
||||
/* error = FT_Load_Char( face, glyph_index, FT_LOAD_DEFAULT ); */
|
||||
/* */
|
||||
/* // extract glyph image */
|
||||
/* error = FT_Get_Glyph( face->glyph, &glyph ); */
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
/* */
|
||||
/* FreeType API for validating TrueTypeGX/AAT tables (specification). */
|
||||
/* */
|
||||
/* Copyright 2004-2016 by */
|
||||
/* Copyright 2004-2017 by */
|
||||
/* Masatake YAMATO, Redhat K.K, */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
/* */
|
||||
/* Gzip-compressed stream support. */
|
||||
/* */
|
||||
/* Copyright 2002-2016 by */
|
||||
/* Copyright 2002-2017 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
/* FreeType glyph image formats and default raster interface */
|
||||
/* (specification). */
|
||||
/* */
|
||||
/* Copyright 1996-2016 by */
|
||||
/* Copyright 1996-2017 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
|
@ -619,7 +619,7 @@ FT_BEGIN_HEADER
|
|||
/* */
|
||||
/* { */
|
||||
/* x' = (x << shift) - delta */
|
||||
/* y' = (x << shift) - delta */
|
||||
/* y' = (y << shift) - delta */
|
||||
/* } */
|
||||
/* */
|
||||
/* Set the values of `shift' and `delta' to~0 to get the original */
|
||||
|
@ -860,16 +860,6 @@ FT_BEGIN_HEADER
|
|||
/* This can be used to write anti-aliased outlines directly to a */
|
||||
/* given background bitmap, and even perform translucency. */
|
||||
/* */
|
||||
/* Note that the `count' field cannot be greater than a fixed value */
|
||||
/* defined by the `FT_MAX_GRAY_SPANS' configuration macro in */
|
||||
/* `ftoption.h'. By default, this value is set to~32, which means */
|
||||
/* that if there are more than 32~spans on a given scanline, the */
|
||||
/* callback is called several times with the same `y' parameter in */
|
||||
/* order to draw all callbacks. */
|
||||
/* */
|
||||
/* Otherwise, the callback is only called once per scan-line, and */
|
||||
/* only for those scanlines that do have `gray' pixels on them. */
|
||||
/* */
|
||||
typedef void
|
||||
(*FT_SpanFunc)( int y,
|
||||
int count,
|
||||
|
@ -1190,6 +1180,7 @@ FT_BEGIN_HEADER
|
|||
typedef struct FT_Raster_Funcs_
|
||||
{
|
||||
FT_Glyph_Format glyph_format;
|
||||
|
||||
FT_Raster_NewFunc raster_new;
|
||||
FT_Raster_ResetFunc raster_reset;
|
||||
FT_Raster_SetModeFunc raster_set_mode;
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
/* */
|
||||
/* FreeType incremental loading (specification). */
|
||||
/* */
|
||||
/* Copyright 2002-2016 by */
|
||||
/* Copyright 2002-2017 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* 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 */
|
||||
/* (specification). */
|
||||
/* */
|
||||
/* Copyright 2006-2016 by */
|
||||
/* Copyright 2006-2017 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
|
@ -268,6 +268,9 @@ FT_BEGIN_HEADER
|
|||
* defined in your build of the library, which should correspond to all
|
||||
* default builds of FreeType.
|
||||
*
|
||||
* LCD filter weights can also be set per face using @FT_Face_Properties
|
||||
* with @FT_PARAM_TAG_LCD_FILTER_WEIGHTS.
|
||||
*
|
||||
* @since:
|
||||
* 2.4.0
|
||||
*/
|
||||
|
@ -275,6 +278,38 @@ FT_BEGIN_HEADER
|
|||
FT_Library_SetLcdFilterWeights( FT_Library library,
|
||||
unsigned char *weights );
|
||||
|
||||
|
||||
/**************************************************************************
|
||||
*
|
||||
* @constant:
|
||||
* FT_PARAM_TAG_LCD_FILTER_WEIGHTS
|
||||
*
|
||||
* @description:
|
||||
* An @FT_Parameter tag to be used with @FT_Face_Properties. The
|
||||
* corresponding argument specifies the five LCD filter weights for a
|
||||
* given face (if using @FT_LOAD_TARGET_LCD, for example), overriding
|
||||
* the global default values or the values set up with
|
||||
* @FT_Library_SetLcdFilterWeights.
|
||||
*
|
||||
*/
|
||||
#define FT_PARAM_TAG_LCD_FILTER_WEIGHTS \
|
||||
FT_MAKE_TAG( 'l', 'c', 'd', 'f' )
|
||||
|
||||
|
||||
/*
|
||||
* @type:
|
||||
* FT_LcdFiveTapFilter
|
||||
*
|
||||
* @description:
|
||||
* A typedef for passing the five LCD filter weights to
|
||||
* @FT_Face_Properties within an @FT_Parameter structure.
|
||||
*
|
||||
*/
|
||||
#define FT_LCD_FILTER_FIVE_TAPS 5
|
||||
|
||||
typedef FT_Byte FT_LcdFiveTapFilter[FT_LCD_FILTER_FIVE_TAPS];
|
||||
|
||||
|
||||
/* */
|
||||
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
/* */
|
||||
/* Generic list support for FreeType (specification). */
|
||||
/* */
|
||||
/* Copyright 1996-2016 by */
|
||||
/* Copyright 1996-2017 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
/* */
|
||||
/* LZW-compressed stream support. */
|
||||
/* */
|
||||
/* Copyright 2004-2016 by */
|
||||
/* Copyright 2004-2017 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
/* */
|
||||
/* Additional Mac-specific API. */
|
||||
/* */
|
||||
/* Copyright 1996-2016 by */
|
||||
/* Copyright 1996-2017 by */
|
||||
/* Just van Rossum, David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
/* */
|
||||
/* FreeType Multiple Master font interface (specification). */
|
||||
/* */
|
||||
/* Copyright 1996-2016 by */
|
||||
/* Copyright 1996-2017 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
|
@ -43,11 +43,10 @@ FT_BEGIN_HEADER
|
|||
/* Master fonts, i.e., the selection of specific design instances by */
|
||||
/* setting design axis coordinates. */
|
||||
/* */
|
||||
/* George Williams has extended this interface to make it work with */
|
||||
/* both Type~1 Multiple Masters fonts and GX distortable (var) */
|
||||
/* fonts. Some of these routines only work with MM fonts, others */
|
||||
/* will work with both types. They are similar enough that a */
|
||||
/* consistent interface makes sense. */
|
||||
/* Besides Adobe MM fonts, the interface supports Apple's TrueType GX */
|
||||
/* and OpenType variation fonts. Some of the routines only work with */
|
||||
/* Adobe MM fonts, others will work with all three types. They are */
|
||||
/* similar enough that a consistent interface makes sense. */
|
||||
/* */
|
||||
/*************************************************************************/
|
||||
|
||||
|
@ -58,10 +57,11 @@ FT_BEGIN_HEADER
|
|||
/* FT_MM_Axis */
|
||||
/* */
|
||||
/* <Description> */
|
||||
/* A simple structure used to model a given axis in design space for */
|
||||
/* Multiple Masters fonts. */
|
||||
/* A structure to model a given axis in design space for Multiple */
|
||||
/* Masters fonts. */
|
||||
/* */
|
||||
/* This structure can't be used for GX var fonts. */
|
||||
/* This structure can't be used for TrueType GX or OpenType variation */
|
||||
/* fonts. */
|
||||
/* */
|
||||
/* <Fields> */
|
||||
/* name :: The axis's name. */
|
||||
|
@ -85,10 +85,11 @@ FT_BEGIN_HEADER
|
|||
/* FT_Multi_Master */
|
||||
/* */
|
||||
/* <Description> */
|
||||
/* A structure used to model the axes and space of a Multiple Masters */
|
||||
/* A structure to model the axes and space of a Multiple Masters */
|
||||
/* font. */
|
||||
/* */
|
||||
/* This structure can't be used for GX var fonts. */
|
||||
/* This structure can't be used for TrueType GX or OpenType variation */
|
||||
/* fonts. */
|
||||
/* */
|
||||
/* <Fields> */
|
||||
/* num_axis :: Number of axes. Cannot exceed~4. */
|
||||
|
@ -115,27 +116,35 @@ FT_BEGIN_HEADER
|
|||
/* FT_Var_Axis */
|
||||
/* */
|
||||
/* <Description> */
|
||||
/* A simple structure used to model a given axis in design space for */
|
||||
/* Multiple Masters and GX var fonts. */
|
||||
/* A structure to model a given axis in design space for Multiple */
|
||||
/* Masters, TrueType GX, and OpenType variation fonts. */
|
||||
/* */
|
||||
/* <Fields> */
|
||||
/* name :: The axis's name. */
|
||||
/* Not always meaningful for GX. */
|
||||
/* Not always meaningful for TrueType GX or OpenType */
|
||||
/* variation fonts. */
|
||||
/* */
|
||||
/* minimum :: The axis's minimum design coordinate. */
|
||||
/* */
|
||||
/* def :: The axis's default design coordinate. */
|
||||
/* FreeType computes meaningful default values for MM; it */
|
||||
/* is then an integer value, not in 16.16 format. */
|
||||
/* FreeType computes meaningful default values for Adobe */
|
||||
/* MM fonts. */
|
||||
/* */
|
||||
/* maximum :: The axis's maximum design coordinate. */
|
||||
/* */
|
||||
/* tag :: The axis's tag (the GX equivalent to `name'). */
|
||||
/* FreeType provides default values for MM if possible. */
|
||||
/* tag :: The axis's tag (the equivalent to `name' for TrueType */
|
||||
/* GX and OpenType variation fonts). FreeType provides */
|
||||
/* default values for Adobe MM fonts if possible. */
|
||||
/* */
|
||||
/* strid :: The entry in `name' table (another GX version of */
|
||||
/* `name'). */
|
||||
/* Not meaningful for MM. */
|
||||
/* strid :: The axis name entry in the font's `name' table. This */
|
||||
/* is another (and often better) version of the `name' */
|
||||
/* field for TrueType GX or OpenType variation fonts. Not */
|
||||
/* meaningful for Adobe MM fonts. */
|
||||
/* */
|
||||
/* <Note> */
|
||||
/* The fields `minimum', `def', and `maximum' are 16.16 fractional */
|
||||
/* values for TrueType GX and OpenType variation fonts. For Adobe MM */
|
||||
/* fonts, the values are integers. */
|
||||
/* */
|
||||
typedef struct FT_Var_Axis_
|
||||
{
|
||||
|
@ -157,20 +166,25 @@ FT_BEGIN_HEADER
|
|||
/* FT_Var_Named_Style */
|
||||
/* */
|
||||
/* <Description> */
|
||||
/* A simple structure used to model a named style in a GX var font. */
|
||||
/* A structure to model a named instance in a TrueType GX or OpenType */
|
||||
/* variation font. */
|
||||
/* */
|
||||
/* This structure can't be used for MM fonts. */
|
||||
/* This structure can't be used for Adobe MM fonts. */
|
||||
/* */
|
||||
/* <Fields> */
|
||||
/* coords :: The design coordinates for this style. */
|
||||
/* coords :: The design coordinates for this instance. */
|
||||
/* This is an array with one entry for each axis. */
|
||||
/* */
|
||||
/* strid :: The entry in `name' table identifying this style. */
|
||||
/* strid :: The entry in `name' table identifying this instance. */
|
||||
/* */
|
||||
/* psid :: The entry in `name' table identifying a PostScript name */
|
||||
/* for this instance. */
|
||||
/* */
|
||||
typedef struct FT_Var_Named_Style_
|
||||
{
|
||||
FT_Fixed* coords;
|
||||
FT_UInt strid;
|
||||
FT_UInt psid; /* since 2.7.1 */
|
||||
|
||||
} FT_Var_Named_Style;
|
||||
|
||||
|
@ -181,35 +195,43 @@ FT_BEGIN_HEADER
|
|||
/* FT_MM_Var */
|
||||
/* */
|
||||
/* <Description> */
|
||||
/* A structure used to model the axes and space of a Multiple Masters */
|
||||
/* or GX var distortable font. */
|
||||
/* A structure to model the axes and space of a Adobe MM, TrueType */
|
||||
/* GX, or OpenType variation font. */
|
||||
/* */
|
||||
/* Some fields are specific to one format and not to the other. */
|
||||
/* Some fields are specific to one format and not to the others. */
|
||||
/* */
|
||||
/* <Fields> */
|
||||
/* num_axis :: The number of axes. The maximum value is~4 for */
|
||||
/* MM; no limit in GX. */
|
||||
/* Adobe MM fonts; no limit in TrueType GX or */
|
||||
/* OpenType variation fonts. */
|
||||
/* */
|
||||
/* num_designs :: The number of designs; should be normally */
|
||||
/* 2^num_axis for MM fonts. Not meaningful for GX */
|
||||
/* 2^num_axis for Adobe MM fonts. Not meaningful */
|
||||
/* for TrueType GX or OpenType variation fonts */
|
||||
/* (where every glyph could have a different */
|
||||
/* number of designs). */
|
||||
/* */
|
||||
/* num_namedstyles :: The number of named styles; only meaningful for */
|
||||
/* GX that allows certain design coordinates to */
|
||||
/* have a string ID (in the `name' table) */
|
||||
/* associated with them. The font can tell the */
|
||||
/* user that, for example, Weight=1.5 is `Bold'. */
|
||||
/* num_namedstyles :: The number of named styles; a `named style' is */
|
||||
/* a tuple of design coordinates that has a string */
|
||||
/* ID (in the `name' table) associated with it. */
|
||||
/* The font can tell the user that, for example, */
|
||||
/* [Weight=1.5,Width=1.1] is `Bold'. Another name */
|
||||
/* for `named style' is `named instance'. */
|
||||
/* */
|
||||
/* For Adobe Multiple Masters fonts, this value is */
|
||||
/* always zero because the format does not support */
|
||||
/* named styles. */
|
||||
/* */
|
||||
/* axis :: An axis descriptor table. */
|
||||
/* GX fonts contain slightly more data than MM. */
|
||||
/* TrueType GX and OpenType variation fonts */
|
||||
/* contain slightly more data than Adobe MM fonts. */
|
||||
/* Memory management of this pointer is done */
|
||||
/* internally by FreeType. */
|
||||
/* */
|
||||
/* namedstyle :: A named style table. */
|
||||
/* Only meaningful with GX. */
|
||||
/* Memory management of this pointer is done */
|
||||
/* internally by FreeType. */
|
||||
/* namedstyle :: A named style (instance) table. */
|
||||
/* Only meaningful for TrueType GX and OpenType */
|
||||
/* variation fonts. Memory management of this */
|
||||
/* pointer is done internally by FreeType. */
|
||||
/* */
|
||||
typedef struct FT_MM_Var_
|
||||
{
|
||||
|
@ -228,9 +250,10 @@ FT_BEGIN_HEADER
|
|||
/* FT_Get_Multi_Master */
|
||||
/* */
|
||||
/* <Description> */
|
||||
/* Retrieve the Multiple Master descriptor of a given font. */
|
||||
/* Retrieve a variation descriptor of a given Adobe MM font. */
|
||||
/* */
|
||||
/* This function can't be used with GX fonts. */
|
||||
/* This function can't be used with TrueType GX or OpenType variation */
|
||||
/* fonts. */
|
||||
/* */
|
||||
/* <Input> */
|
||||
/* face :: A handle to the source face. */
|
||||
|
@ -252,13 +275,15 @@ FT_BEGIN_HEADER
|
|||
/* FT_Get_MM_Var */
|
||||
/* */
|
||||
/* <Description> */
|
||||
/* Retrieve the Multiple Master/GX var descriptor of a given font. */
|
||||
/* Retrieve a variation descriptor for a given font. */
|
||||
/* */
|
||||
/* This function works with all supported variation formats. */
|
||||
/* */
|
||||
/* <Input> */
|
||||
/* face :: A handle to the source face. */
|
||||
/* */
|
||||
/* <Output> */
|
||||
/* amaster :: The Multiple Masters/GX var descriptor. */
|
||||
/* amaster :: The variation descriptor. */
|
||||
/* Allocates a data structure, which the user must */
|
||||
/* deallocate with `free' after use. */
|
||||
/* */
|
||||
|
@ -276,10 +301,11 @@ FT_BEGIN_HEADER
|
|||
/* FT_Set_MM_Design_Coordinates */
|
||||
/* */
|
||||
/* <Description> */
|
||||
/* For Multiple Masters fonts, choose an interpolated font design */
|
||||
/* through design coordinates. */
|
||||
/* For Adobe MM fonts, choose an interpolated font design through */
|
||||
/* design coordinates. */
|
||||
/* */
|
||||
/* This function can't be used with GX fonts. */
|
||||
/* This function can't be used with TrueType GX or OpenType variation */
|
||||
/* fonts. */
|
||||
/* */
|
||||
/* <InOut> */
|
||||
/* face :: A handle to the source face. */
|
||||
|
@ -307,8 +333,9 @@ FT_BEGIN_HEADER
|
|||
/* FT_Set_Var_Design_Coordinates */
|
||||
/* */
|
||||
/* <Description> */
|
||||
/* For Multiple Master or GX Var fonts, choose an interpolated font */
|
||||
/* design through design coordinates. */
|
||||
/* Choose an interpolated font design through design coordinates. */
|
||||
/* */
|
||||
/* This function works with all supported variation formats. */
|
||||
/* */
|
||||
/* <InOut> */
|
||||
/* face :: A handle to the source face. */
|
||||
|
@ -330,14 +357,46 @@ FT_BEGIN_HEADER
|
|||
FT_Fixed* coords );
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* <Function> */
|
||||
/* FT_Get_Var_Design_Coordinates */
|
||||
/* */
|
||||
/* <Description> */
|
||||
/* Get the design coordinates of the currently selected interpolated */
|
||||
/* font. */
|
||||
/* */
|
||||
/* This function works with all supported variation formats. */
|
||||
/* */
|
||||
/* <Input> */
|
||||
/* face :: A handle to the source face. */
|
||||
/* */
|
||||
/* num_coords :: The number of design coordinates to retrieve. If it */
|
||||
/* is larger than the number of axes, set the excess */
|
||||
/* values to~0. */
|
||||
/* */
|
||||
/* <Output> */
|
||||
/* coords :: The design coordinates array. */
|
||||
/* */
|
||||
/* <Return> */
|
||||
/* FreeType error code. 0~means success. */
|
||||
/* */
|
||||
FT_EXPORT( FT_Error )
|
||||
FT_Get_Var_Design_Coordinates( FT_Face face,
|
||||
FT_UInt num_coords,
|
||||
FT_Fixed* coords );
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* <Function> */
|
||||
/* FT_Set_MM_Blend_Coordinates */
|
||||
/* */
|
||||
/* <Description> */
|
||||
/* For Multiple Masters and GX var fonts, choose an interpolated font */
|
||||
/* design through normalized blend coordinates. */
|
||||
/* Choose an interpolated font design through normalized blend */
|
||||
/* coordinates. */
|
||||
/* */
|
||||
/* This function works with all supported variation formats. */
|
||||
/* */
|
||||
/* <InOut> */
|
||||
/* face :: A handle to the source face. */
|
||||
|
@ -349,7 +408,9 @@ FT_BEGIN_HEADER
|
|||
/* use default values for the remaining axes. */
|
||||
/* */
|
||||
/* coords :: The design coordinates array (each element must be */
|
||||
/* between 0 and 1.0). */
|
||||
/* between 0 and 1.0 for Adobe MM fonts, and between */
|
||||
/* -1.0 and 1.0 for TrueType GX and OpenType variation */
|
||||
/* fonts). */
|
||||
/* */
|
||||
/* <Return> */
|
||||
/* FreeType error code. 0~means success. */
|
||||
|
@ -360,6 +421,37 @@ FT_BEGIN_HEADER
|
|||
FT_Fixed* coords );
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* <Function> */
|
||||
/* FT_Get_MM_Blend_Coordinates */
|
||||
/* */
|
||||
/* <Description> */
|
||||
/* Get the normalized blend coordinates of the currently selected */
|
||||
/* interpolated font. */
|
||||
/* */
|
||||
/* This function works with all supported variation formats. */
|
||||
/* */
|
||||
/* <Input> */
|
||||
/* face :: A handle to the source face. */
|
||||
/* */
|
||||
/* num_coords :: The number of normalized blend coordinates to */
|
||||
/* retrieve. If it is larger than the number of axes, */
|
||||
/* set the excess values to~0.5 for Adobe MM fonts, and */
|
||||
/* to~0 for TrueType GX and OpenType variation fonts. */
|
||||
/* */
|
||||
/* <Output> */
|
||||
/* coords :: The normalized blend coordinates array. */
|
||||
/* */
|
||||
/* <Return> */
|
||||
/* FreeType error code. 0~means success. */
|
||||
/* */
|
||||
FT_EXPORT( FT_Error )
|
||||
FT_Get_MM_Blend_Coordinates( FT_Face face,
|
||||
FT_UInt num_coords,
|
||||
FT_Fixed* coords );
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* <Function> */
|
||||
|
@ -373,6 +465,20 @@ FT_BEGIN_HEADER
|
|||
FT_UInt num_coords,
|
||||
FT_Fixed* coords );
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* <Function> */
|
||||
/* FT_Get_Var_Blend_Coordinates */
|
||||
/* */
|
||||
/* <Description> */
|
||||
/* This is another name of @FT_Get_MM_Blend_Coordinates. */
|
||||
/* */
|
||||
FT_EXPORT( FT_Error )
|
||||
FT_Get_Var_Blend_Coordinates( FT_Face face,
|
||||
FT_UInt num_coords,
|
||||
FT_Fixed* coords );
|
||||
|
||||
/* */
|
||||
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
/* */
|
||||
/* FreeType modules public interface (specification). */
|
||||
/* */
|
||||
/* Copyright 1996-2016 by */
|
||||
/* Copyright 1996-2017 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
|
@ -89,6 +89,7 @@ FT_BEGIN_HEADER
|
|||
/* */
|
||||
/* FT_Property_Set */
|
||||
/* FT_Property_Get */
|
||||
/* FT_Set_Default_Properties */
|
||||
/* */
|
||||
/* FT_New_Library */
|
||||
/* FT_Done_Library */
|
||||
|
@ -437,6 +438,47 @@ FT_BEGIN_HEADER
|
|||
void* value );
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* <Function> */
|
||||
/* FT_Set_Default_Properties */
|
||||
/* */
|
||||
/* <Description> */
|
||||
/* If compilation option FT_CONFIG_OPTION_ENVIRONMENT_PROPERTIES is */
|
||||
/* set, this function reads the `FREETYPE_PROPERTIES' environment */
|
||||
/* variable to control driver properties. See sections @auto_hinter, */
|
||||
/* @cff_driver, @pcf_driver, and @tt_driver for more. */
|
||||
/* */
|
||||
/* If the compilation option is not set, this function does nothing. */
|
||||
/* */
|
||||
/* `FREETYPE_PROPERTIES' has the following syntax form (broken here */
|
||||
/* into multiple lines for better readability). */
|
||||
/* */
|
||||
/* { */
|
||||
/* <optional whitespace> */
|
||||
/* <module-name1> ':' */
|
||||
/* <property-name1> '=' <property-value1> */
|
||||
/* <whitespace> */
|
||||
/* <module-name2> ':' */
|
||||
/* <property-name2> '=' <property-value2> */
|
||||
/* ... */
|
||||
/* } */
|
||||
/* */
|
||||
/* Example: */
|
||||
/* */
|
||||
/* { */
|
||||
/* FREETYPE_PROPERTIES=truetype:interpreter-version=35 \ */
|
||||
/* cff:no-stem-darkening=1 \ */
|
||||
/* autofitter:warping=1 */
|
||||
/* } */
|
||||
/* */
|
||||
/* <InOut> */
|
||||
/* library :: A handle to a new library object. */
|
||||
/* */
|
||||
FT_EXPORT( void )
|
||||
FT_Set_Default_Properties( FT_Library library );
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* <Function> */
|
||||
|
@ -477,8 +519,9 @@ FT_BEGIN_HEADER
|
|||
/* valid for the life of the @FT_Library object. */
|
||||
/* */
|
||||
/* Normally, you would call this function (followed by a call to */
|
||||
/* @FT_Add_Default_Modules or a series of calls to @FT_Add_Module) */
|
||||
/* instead of @FT_Init_FreeType to initialize the FreeType library. */
|
||||
/* @FT_Add_Default_Modules or a series of calls to @FT_Add_Module, */
|
||||
/* and a call to @FT_Set_Default_Properties) instead of */
|
||||
/* @FT_Init_FreeType to initialize the FreeType library. */
|
||||
/* */
|
||||
/* Don't use @FT_Done_FreeType but @FT_Done_Library to destroy a */
|
||||
/* library instance. */
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
/* */
|
||||
/* FreeType module error offsets (specification). */
|
||||
/* */
|
||||
/* Copyright 2001-2016 by */
|
||||
/* Copyright 2001-2017 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
/* */
|
||||
/* FreeType API for validating OpenType tables (specification). */
|
||||
/* */
|
||||
/* Copyright 2004-2016 by */
|
||||
/* Copyright 2004-2017 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* 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 */
|
||||
/* most scalable font formats (specification). */
|
||||
/* */
|
||||
/* Copyright 1996-2016 by */
|
||||
/* Copyright 1996-2017 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
|
@ -115,6 +115,10 @@ FT_BEGIN_HEADER
|
|||
/* outline for stroking purposes (otherwise it would result in a */
|
||||
/* visible dot when round caps are used). */
|
||||
/* */
|
||||
/* Similarly, the function returns success for an empty outline also */
|
||||
/* (doing nothing, this is, not calling any emitter); if necessary, */
|
||||
/* you should filter this out, too. */
|
||||
/* */
|
||||
FT_EXPORT( FT_Error )
|
||||
FT_Outline_Decompose( FT_Outline* outline,
|
||||
const FT_Outline_Funcs* func_interface,
|
||||
|
@ -213,6 +217,10 @@ FT_BEGIN_HEADER
|
|||
/* <Return> */
|
||||
/* FreeType error code. 0~means success. */
|
||||
/* */
|
||||
/* <Note> */
|
||||
/* An empty outline, or an outline with a single point only is also */
|
||||
/* valid. */
|
||||
/* */
|
||||
FT_EXPORT( FT_Error )
|
||||
FT_Outline_Check( FT_Outline* outline );
|
||||
|
||||
|
|
|
@ -0,0 +1,105 @@
|
|||
/***************************************************************************/
|
||||
/* */
|
||||
/* ftpcfdrv.h */
|
||||
/* */
|
||||
/* FreeType API for controlling the PCF driver (specification only). */
|
||||
/* */
|
||||
/* Copyright 2017 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
/* modified, and distributed under the terms of the FreeType project */
|
||||
/* license, LICENSE.TXT. By continuing to use, modify, or distribute */
|
||||
/* this file you indicate that you have read the license and */
|
||||
/* understand and accept it fully. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
|
||||
|
||||
#ifndef FTPCFDRV_H_
|
||||
#define FTPCFDRV_H_
|
||||
|
||||
#include <ft2build.h>
|
||||
#include FT_FREETYPE_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
|
||||
|
||||
|
||||
/**************************************************************************
|
||||
*
|
||||
* @section:
|
||||
* pcf_driver
|
||||
*
|
||||
* @title:
|
||||
* The PCF driver
|
||||
*
|
||||
* @abstract:
|
||||
* Controlling the PCF driver module.
|
||||
*
|
||||
* @description:
|
||||
* While FreeType's PCF driver doesn't expose API functions by itself,
|
||||
* it is possible to control its behaviour with @FT_Property_Set and
|
||||
* @FT_Property_Get. Right now, there is a single property
|
||||
* `no-long-family-names' available if FreeType is compiled with
|
||||
* PCF_CONFIG_OPTION_LONG_FAMILY_NAMES.
|
||||
*
|
||||
* The PCF driver's module name is `pcf'.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
/**************************************************************************
|
||||
*
|
||||
* @property:
|
||||
* no-long-family-names
|
||||
*
|
||||
* @description:
|
||||
* If PCF_CONFIG_OPTION_LONG_FAMILY_NAMES is active while compiling
|
||||
* FreeType, the PCF driver constructs long family names.
|
||||
*
|
||||
* There are many PCF fonts just called `Fixed' which look completely
|
||||
* different, and which have nothing to do with each other. When
|
||||
* selecting `Fixed' in KDE or Gnome one gets results that appear rather
|
||||
* random, the style changes often if one changes the size and one
|
||||
* cannot select some fonts at all. The improve this situation, the PCF
|
||||
* module prepends the foundry name (plus a space) to the family name.
|
||||
* It also checks whether there are `wide' characters; all put together,
|
||||
* family names like `Sony Fixed' or `Misc Fixed Wide' are constructed.
|
||||
*
|
||||
* If `no-long-family-names' is set, this feature gets switched off.
|
||||
*
|
||||
* {
|
||||
* FT_Library library;
|
||||
* FT_Bool no_long_family_names = TRUE;
|
||||
*
|
||||
*
|
||||
* FT_Init_FreeType( &library );
|
||||
*
|
||||
* FT_Property_Set( library, "pcf",
|
||||
* "no-long-family-names",
|
||||
* &no_long_family_names );
|
||||
* }
|
||||
*
|
||||
* @note:
|
||||
* This property can be used with @FT_Property_Get also.
|
||||
*
|
||||
* This property can be set via the `FREETYPE_PROPERTIES' environment
|
||||
* variable (using values 1 and 0 for `on' and `off', respectively).
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
FT_END_HEADER
|
||||
|
||||
|
||||
#endif /* FTPCFDRV_H_ */
|
||||
|
||||
|
||||
/* END */
|
|
@ -4,7 +4,7 @@
|
|||
/* */
|
||||
/* FreeType API for accessing PFR-specific data (specification only). */
|
||||
/* */
|
||||
/* Copyright 2002-2016 by */
|
||||
/* Copyright 2002-2017 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
/* */
|
||||
/* FreeType renderer modules public interface (specification). */
|
||||
/* */
|
||||
/* Copyright 1996-2016 by */
|
||||
/* Copyright 1996-2017 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
|
@ -75,6 +75,7 @@ FT_BEGIN_HEADER
|
|||
{
|
||||
FT_Long glyph_size;
|
||||
FT_Glyph_Format glyph_format;
|
||||
|
||||
FT_Glyph_InitFunc glyph_init;
|
||||
FT_Glyph_DoneFunc glyph_done;
|
||||
FT_Glyph_CopyFunc glyph_copy;
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
/* */
|
||||
/* FreeType size objects management (specification). */
|
||||
/* */
|
||||
/* Copyright 1996-2016 by */
|
||||
/* Copyright 1996-2017 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
|
|
|
@ -2,12 +2,12 @@
|
|||
/* */
|
||||
/* ftsnames.h */
|
||||
/* */
|
||||
/* Simple interface to access SFNT name tables (which are used */
|
||||
/* Simple interface to access SFNT `name' tables (which are used */
|
||||
/* to hold font names, copyright info, notices, etc.) (specification). */
|
||||
/* */
|
||||
/* This is _not_ used to retrieve glyph names! */
|
||||
/* */
|
||||
/* Copyright 1996-2016 by */
|
||||
/* Copyright 1996-2017 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
|
@ -49,7 +49,7 @@ FT_BEGIN_HEADER
|
|||
/* */
|
||||
/* <Description> */
|
||||
/* The TrueType and OpenType specifications allow the inclusion of */
|
||||
/* a special `names table' in font files. This table contains */
|
||||
/* a special names table (`name') in font files. This table contains */
|
||||
/* textual (and internationalized) information regarding the font, */
|
||||
/* like family name, copyright, version, etc. */
|
||||
/* */
|
||||
|
@ -70,30 +70,37 @@ FT_BEGIN_HEADER
|
|||
/* */
|
||||
/* <Fields> */
|
||||
/* platform_id :: The platform ID for `string'. */
|
||||
/* See @TT_PLATFORM_XXX for possible values. */
|
||||
/* */
|
||||
/* encoding_id :: The encoding ID for `string'. */
|
||||
/* See @TT_APPLE_ID_XXX, @TT_MAC_ID_XXX, */
|
||||
/* @TT_ISO_ID_XXX, @TT_MS_ID_XXX, and @TT_ADOBE_ID_XXX */
|
||||
/* for possible values. */
|
||||
/* */
|
||||
/* language_id :: The language ID for `string'. */
|
||||
/* See @TT_MAC_LANGID_XXX and @TT_MS_LANGID_XXX for */
|
||||
/* possible values. */
|
||||
/* */
|
||||
/* Registered OpenType values for `language_id' are */
|
||||
/* always smaller than 0x8000; values equal or larger */
|
||||
/* than 0x8000 usually indicate a language tag string */
|
||||
/* (introduced in OpenType version 1.6). Use function */
|
||||
/* @FT_Get_Sfnt_LangTag with `language_id' as its */
|
||||
/* argument to retrieve the associated language tag. */
|
||||
/* */
|
||||
/* name_id :: An identifier for `string'. */
|
||||
/* See @TT_NAME_ID_XXX for possible values. */
|
||||
/* */
|
||||
/* string :: The `name' string. Note that its format differs */
|
||||
/* depending on the (platform,encoding) pair. It can */
|
||||
/* be a Pascal String, a UTF-16 one, etc. */
|
||||
/* */
|
||||
/* Generally speaking, the string is not */
|
||||
/* zero-terminated. Please refer to the TrueType */
|
||||
/* specification for details. */
|
||||
/* depending on the (platform,encoding) pair, being */
|
||||
/* either a string of bytes (without a terminating */
|
||||
/* NULL byte) or containing UTF-16BE entities. */
|
||||
/* */
|
||||
/* string_len :: The length of `string' in bytes. */
|
||||
/* */
|
||||
/* <Note> */
|
||||
/* Possible values for `platform_id', `encoding_id', `language_id', */
|
||||
/* and `name_id' are given in the file `ttnameid.h'. For details */
|
||||
/* please refer to the TrueType or OpenType specification. */
|
||||
/* */
|
||||
/* See also @TT_PLATFORM_XXX, @TT_APPLE_ID_XXX, @TT_MAC_ID_XXX, */
|
||||
/* @TT_ISO_ID_XXX, and @TT_MS_ID_XXX. */
|
||||
/* Please refer to the TrueType or OpenType specification for more */
|
||||
/* details. */
|
||||
/* */
|
||||
typedef struct FT_SfntName_
|
||||
{
|
||||
|
@ -103,7 +110,7 @@ FT_BEGIN_HEADER
|
|||
FT_UShort name_id;
|
||||
|
||||
FT_Byte* string; /* this string is *not* null-terminated! */
|
||||
FT_UInt string_len; /* in bytes */
|
||||
FT_UInt string_len; /* in bytes */
|
||||
|
||||
} FT_SfntName;
|
||||
|
||||
|
@ -147,47 +154,127 @@ FT_BEGIN_HEADER
|
|||
/* */
|
||||
/* <Note> */
|
||||
/* The `string' array returned in the `aname' structure is not */
|
||||
/* null-terminated. The application should deallocate it if it is no */
|
||||
/* longer in use. */
|
||||
/* null-terminated. Note that you don't have to deallocate `string' */
|
||||
/* by yourself; FreeType takes care of it if you call @FT_Done_Face. */
|
||||
/* */
|
||||
/* Use @FT_Get_Sfnt_Name_Count to get the total number of available */
|
||||
/* `name' table entries, then do a loop until you get the right */
|
||||
/* platform, encoding, and name ID. */
|
||||
/* */
|
||||
/* `name' table format~1 entries can use language tags also, see */
|
||||
/* @FT_Get_Sfnt_LangTag. */
|
||||
/* */
|
||||
FT_EXPORT( FT_Error )
|
||||
FT_Get_Sfnt_Name( FT_Face face,
|
||||
FT_UInt idx,
|
||||
FT_SfntName *aname );
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
*
|
||||
* @constant:
|
||||
* FT_PARAM_TAG_IGNORE_PREFERRED_FAMILY
|
||||
*
|
||||
* @description:
|
||||
* A constant used as the tag of @FT_Parameter structures to make
|
||||
* FT_Open_Face() ignore preferred family subfamily names in `name'
|
||||
* table since OpenType version 1.4. For backwards compatibility with
|
||||
* legacy systems that have a 4-face-per-family restriction.
|
||||
*
|
||||
*/
|
||||
#define FT_PARAM_TAG_IGNORE_PREFERRED_FAMILY FT_MAKE_TAG( 'i', 'g', 'p', 'f' )
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* <Struct> */
|
||||
/* FT_SfntLangTag */
|
||||
/* */
|
||||
/* <Description> */
|
||||
/* A structure to model a language tag entry from an SFNT `name' */
|
||||
/* table. */
|
||||
/* */
|
||||
/* <Fields> */
|
||||
/* string :: The language tag string, encoded in UTF-16BE */
|
||||
/* (without trailing NULL bytes). */
|
||||
/* */
|
||||
/* string_len :: The length of `string' in *bytes*. */
|
||||
/* */
|
||||
/* <Note> */
|
||||
/* Please refer to the TrueType or OpenType specification for more */
|
||||
/* details. */
|
||||
/* */
|
||||
typedef struct FT_SfntLangTag_
|
||||
{
|
||||
FT_Byte* string; /* this string is *not* null-terminated! */
|
||||
FT_UInt string_len; /* in bytes */
|
||||
|
||||
} FT_SfntLangTag;
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* <Function> */
|
||||
/* FT_Get_Sfnt_LangTag */
|
||||
/* */
|
||||
/* <Description> */
|
||||
/* Retrieve the language tag associated with a language ID of an SFNT */
|
||||
/* `name' table entry. */
|
||||
/* */
|
||||
/* <Input> */
|
||||
/* face :: A handle to the source face. */
|
||||
/* */
|
||||
/* langID :: The language ID, as returned by @FT_Get_Sfnt_Name. */
|
||||
/* This is always a value larger than 0x8000. */
|
||||
/* */
|
||||
/* <Output> */
|
||||
/* alangTag :: The language tag associated with the `name' table */
|
||||
/* entry's language ID. */
|
||||
/* */
|
||||
/* <Return> */
|
||||
/* FreeType error code. 0~means success. */
|
||||
/* */
|
||||
/* <Note> */
|
||||
/* The `string' array returned in the `alangTag' structure is not */
|
||||
/* null-terminated. Note that you don't have to deallocate `string' */
|
||||
/* by yourself; FreeType takes care of it if you call @FT_Done_Face. */
|
||||
/* */
|
||||
/* Only `name' table format~1 supports language tags. For format~0 */
|
||||
/* tables, this function always returns FT_Err_Invalid_Table. For */
|
||||
/* invalid format~1 language ID values, FT_Err_Invalid_Argument is */
|
||||
/* returned. */
|
||||
/* */
|
||||
FT_EXPORT( FT_Error )
|
||||
FT_Get_Sfnt_LangTag( FT_Face face,
|
||||
FT_UInt langID,
|
||||
FT_SfntLangTag *alangTag );
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
*
|
||||
* @constant:
|
||||
* FT_PARAM_TAG_IGNORE_PREFERRED_SUBFAMILY
|
||||
* FT_PARAM_TAG_IGNORE_TYPOGRAPHIC_FAMILY
|
||||
*
|
||||
* @description:
|
||||
* A constant used as the tag of @FT_Parameter structures to make
|
||||
* FT_Open_Face() ignore preferred subfamily names in `name' table since
|
||||
* OpenType version 1.4. For backwards compatibility with legacy
|
||||
* systems that have a 4-face-per-family restriction.
|
||||
* A tag for @FT_Parameter to make @FT_Open_Face ignore typographic
|
||||
* family names in the `name' table (introduced in OpenType version
|
||||
* 1.4). Use this for backward compatibility with legacy systems that
|
||||
* have a four-faces-per-family restriction.
|
||||
*
|
||||
*/
|
||||
#define FT_PARAM_TAG_IGNORE_PREFERRED_SUBFAMILY FT_MAKE_TAG( 'i', 'g', 'p', 's' )
|
||||
#define FT_PARAM_TAG_IGNORE_TYPOGRAPHIC_FAMILY \
|
||||
FT_MAKE_TAG( 'i', 'g', 'p', 'f' )
|
||||
|
||||
|
||||
/* this constant is deprecated */
|
||||
#define FT_PARAM_TAG_IGNORE_PREFERRED_FAMILY \
|
||||
FT_PARAM_TAG_IGNORE_TYPOGRAPHIC_FAMILY
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
*
|
||||
* @constant:
|
||||
* FT_PARAM_TAG_IGNORE_TYPOGRAPHIC_SUBFAMILY
|
||||
*
|
||||
* @description:
|
||||
* A tag for @FT_Parameter to make @FT_Open_Face ignore typographic
|
||||
* subfamily names in the `name' table (introduced in OpenType version
|
||||
* 1.4). Use this for backward compatibility with legacy systems that
|
||||
* have a four-faces-per-family restriction.
|
||||
*
|
||||
*/
|
||||
#define FT_PARAM_TAG_IGNORE_TYPOGRAPHIC_SUBFAMILY \
|
||||
FT_MAKE_TAG( 'i', 'g', 'p', 's' )
|
||||
|
||||
|
||||
/* this constant is deprecated */
|
||||
#define FT_PARAM_TAG_IGNORE_PREFERRED_SUBFAMILY \
|
||||
FT_PARAM_TAG_IGNORE_TYPOGRAPHIC_SUBFAMILY
|
||||
|
||||
/* */
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
/* */
|
||||
/* FreeType path stroker (specification). */
|
||||
/* */
|
||||
/* Copyright 2002-2016 by */
|
||||
/* Copyright 2002-2017 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
|
@ -136,7 +136,7 @@ FT_BEGIN_HEADER
|
|||
* FT_STROKER_LINEJOIN_MITER_VARIABLE generates a mitered line
|
||||
* join as used in XPS. FT_STROKER_LINEJOIN_MITER is an alias
|
||||
* for FT_STROKER_LINEJOIN_MITER_VARIABLE, retained for
|
||||
* backwards compatibility.
|
||||
* backward compatibility.
|
||||
*/
|
||||
typedef enum FT_Stroker_LineJoin_
|
||||
{
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
/* FreeType synthesizing code for emboldening and slanting */
|
||||
/* (specification). */
|
||||
/* */
|
||||
/* Copyright 2000-2016 by */
|
||||
/* Copyright 2000-2017 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
/* */
|
||||
/* FreeType low-level system interface definition (specification). */
|
||||
/* */
|
||||
/* Copyright 1996-2016 by */
|
||||
/* Copyright 1996-2017 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
/* */
|
||||
/* FreeType trigonometric functions (specification). */
|
||||
/* */
|
||||
/* Copyright 2001-2016 by */
|
||||
/* Copyright 2001-2017 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
/* FreeType API for controlling the TrueType driver */
|
||||
/* (specification only). */
|
||||
/* */
|
||||
/* Copyright 2013-2016 by */
|
||||
/* Copyright 2013-2017 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
|
@ -110,7 +110,7 @@ FT_BEGIN_HEADER
|
|||
* TrueType interpreter fully allows the advance width to be adjusted in
|
||||
* this mode, just the DWrite client will ignore those changes.
|
||||
*
|
||||
* _ClearType_ _Backwards_ _Compatibility_
|
||||
* _ClearType_ _Backward_ _Compatibility_
|
||||
*
|
||||
* This is a set of exceptions made in the TrueType interpreter to
|
||||
* minimize hinting techniques that were problematic with the extra
|
||||
|
@ -118,9 +118,9 @@ FT_BEGIN_HEADER
|
|||
* http://www.beatstamm.com/typography/RTRCh4.htm#Sec1 and
|
||||
* http://www.microsoft.com/typography/cleartype/truetypecleartype.aspx.
|
||||
* This technique is not to be confused with ClearType compatible
|
||||
* widths. ClearType backwards compatibility has no direct impact on
|
||||
* widths. ClearType backward compatibility has no direct impact on
|
||||
* changing advance widths, but there might be an indirect impact on
|
||||
* disabling some deltas. This could be worked around in backwards
|
||||
* disabling some deltas. This could be worked around in backward
|
||||
* compatibility mode.
|
||||
*
|
||||
* _Native_ _ClearType_ _Mode_
|
||||
|
@ -138,7 +138,6 @@ FT_BEGIN_HEADER
|
|||
* interpreter-version
|
||||
*
|
||||
* @description:
|
||||
|
||||
* Currently, three versions are available, two representing the
|
||||
* bytecode interpreter with subpixel hinting support (old `Infinality'
|
||||
* code and new stripped-down and higher performance `minimal' code) and
|
||||
|
@ -181,6 +180,8 @@ FT_BEGIN_HEADER
|
|||
* @note:
|
||||
* This property can be used with @FT_Property_Get also.
|
||||
*
|
||||
* This property can be set via the `FREETYPE_PROPERTIES' environment
|
||||
* variable (using values `35', `38', or `40').
|
||||
*/
|
||||
|
||||
|
||||
|
@ -224,7 +225,7 @@ FT_BEGIN_HEADER
|
|||
* filtering.
|
||||
*
|
||||
* If FreeType has not been compiled with the configuration option
|
||||
* FT_CONFIG_OPTION_SUBPIXEL_HINTING, selecting version~38 or~40 causes
|
||||
* TT_CONFIG_OPTION_SUBPIXEL_HINTING, selecting version~38 or~40 causes
|
||||
* an `FT_Err_Unimplemented_Feature' error.
|
||||
*
|
||||
* Depending on the graphics framework, Microsoft uses different
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
/* */
|
||||
/* FreeType simple types definitions (specification only). */
|
||||
/* */
|
||||
/* Copyright 1996-2016 by */
|
||||
/* Copyright 1996-2017 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* 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. */
|
||||
/* */
|
||||
/* Copyright 2003-2016 by */
|
||||
/* Copyright 2003-2017 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
/* */
|
||||
/* High-level `autohint' module-specific interface (specification). */
|
||||
/* */
|
||||
/* Copyright 1996-2016 by */
|
||||
/* Copyright 1996-2017 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
/* */
|
||||
/* Arithmetic computations (specification). */
|
||||
/* */
|
||||
/* Copyright 1996-2016 by */
|
||||
/* Copyright 1996-2017 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
/* */
|
||||
/* Debugging and logging component (specification). */
|
||||
/* */
|
||||
/* Copyright 1996-2016 by */
|
||||
/* Copyright 1996-2017 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
/* */
|
||||
/* FreeType font driver interface (specification). */
|
||||
/* */
|
||||
/* Copyright 1996-2016 by */
|
||||
/* Copyright 1996-2017 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
|
@ -67,15 +67,6 @@ FT_BEGIN_HEADER
|
|||
FT_Int32 load_flags );
|
||||
|
||||
|
||||
typedef FT_UInt
|
||||
(*FT_CharMap_CharIndexFunc)( FT_CharMap charmap,
|
||||
FT_Long charcode );
|
||||
|
||||
typedef FT_Long
|
||||
(*FT_CharMap_CharNextFunc)( FT_CharMap charmap,
|
||||
FT_Long charcode );
|
||||
|
||||
|
||||
typedef FT_Error
|
||||
(*FT_Face_GetKerningFunc)( FT_Face face,
|
||||
FT_UInt left_glyph,
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
/* */
|
||||
/* The FreeType glyph loader (specification). */
|
||||
/* */
|
||||
/* Copyright 2002-2016 by */
|
||||
/* Copyright 2002-2017 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
/* */
|
||||
/* The FreeType memory management macros (specification). */
|
||||
/* */
|
||||
/* Copyright 1996-2016 by */
|
||||
/* Copyright 1996-2017 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
|
@ -108,10 +108,12 @@ extern "C++"
|
|||
|
||||
/*
|
||||
* The allocation functions return a pointer, and the error code
|
||||
* is written to through the `p_error' parameter. See below for
|
||||
* for documentation.
|
||||
* is written to through the `p_error' parameter.
|
||||
*/
|
||||
|
||||
/* The `q' variants of the functions below (`q' for `quick') don't fill */
|
||||
/* the allocated or reallocated memory with zero bytes. */
|
||||
|
||||
FT_BASE( FT_Pointer )
|
||||
ft_mem_alloc( FT_Memory memory,
|
||||
FT_Long size,
|
||||
|
@ -143,6 +145,9 @@ extern "C++"
|
|||
const void* P );
|
||||
|
||||
|
||||
/* The `Q' variants of the macros below (`Q' for `quick') don't fill */
|
||||
/* the allocated or reallocated memory with zero bytes. */
|
||||
|
||||
#define FT_MEM_ALLOC( ptr, size ) \
|
||||
FT_ASSIGNP_INNER( ptr, ft_mem_alloc( memory, \
|
||||
(FT_Long)(size), \
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
/* */
|
||||
/* The FreeType private base classes (specification). */
|
||||
/* */
|
||||
/* Copyright 1996-2016 by */
|
||||
/* Copyright 1996-2017 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
|
@ -193,6 +193,7 @@ FT_BEGIN_HEADER
|
|||
typedef struct FT_CMap_ClassRec_
|
||||
{
|
||||
FT_ULong size;
|
||||
|
||||
FT_CMap_InitFunc init;
|
||||
FT_CMap_DoneFunc done;
|
||||
FT_CMap_CharIndexFunc char_index;
|
||||
|
@ -341,6 +342,20 @@ FT_BEGIN_HEADER
|
|||
/* this data when first opened. This field exists only if */
|
||||
/* @FT_CONFIG_OPTION_INCREMENTAL is defined. */
|
||||
/* */
|
||||
/* no_stem_darkening :: */
|
||||
/* Overrides the module-level default, see @stem-darkening[cff], */
|
||||
/* for example. FALSE and TRUE toggle stem darkening on and off, */
|
||||
/* respectively, value~-1 means to use the module/driver default. */
|
||||
/* */
|
||||
/* random_seed :: */
|
||||
/* If positive, override the seed value for the CFF `random' */
|
||||
/* operator. Value~0 means to use the font's value. Value~-1 */
|
||||
/* means to use the CFF driver's default. */
|
||||
/* */
|
||||
/* lcd_weights :: */
|
||||
/* Overrides the library default with custom weights for the 5-tap */
|
||||
/* FIR filter. `{0, 0, 0, 0, 0}' means to use the library default. */
|
||||
/* */
|
||||
/* refcount :: */
|
||||
/* A counter initialized to~1 at the time an @FT_Face structure is */
|
||||
/* created. @FT_Reference_Face increments this counter, and */
|
||||
|
@ -349,9 +364,9 @@ FT_BEGIN_HEADER
|
|||
/* */
|
||||
typedef struct FT_Face_InternalRec_
|
||||
{
|
||||
FT_Matrix transform_matrix;
|
||||
FT_Vector transform_delta;
|
||||
FT_Int transform_flags;
|
||||
FT_Matrix transform_matrix;
|
||||
FT_Vector transform_delta;
|
||||
FT_Int transform_flags;
|
||||
|
||||
FT_ServiceCacheRec services;
|
||||
|
||||
|
@ -359,7 +374,13 @@ FT_BEGIN_HEADER
|
|||
FT_Incremental_InterfaceRec* incremental_interface;
|
||||
#endif
|
||||
|
||||
FT_Int refcount;
|
||||
FT_Char no_stem_darkening;
|
||||
FT_Int32 random_seed;
|
||||
#ifdef FT_CONFIG_OPTION_SUBPIXEL_RENDERING
|
||||
FT_LcdFiveTapFilter lcd_weights; /* preset or custom filter weights */
|
||||
#endif
|
||||
|
||||
FT_Int refcount;
|
||||
|
||||
} FT_Face_InternalRec;
|
||||
|
||||
|
@ -412,8 +433,6 @@ FT_BEGIN_HEADER
|
|||
} FT_GlyphSlot_InternalRec;
|
||||
|
||||
|
||||
#if 0
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* <Struct> */
|
||||
|
@ -421,18 +440,26 @@ FT_BEGIN_HEADER
|
|||
/* */
|
||||
/* <Description> */
|
||||
/* This structure contains the internal fields of each FT_Size */
|
||||
/* object. Currently, it's empty. */
|
||||
/* object. */
|
||||
/* */
|
||||
/* <Fields> */
|
||||
/* module_data :: Data specific to a driver module. */
|
||||
/* */
|
||||
/* autohint_mode :: The used auto-hinting mode. */
|
||||
/* */
|
||||
/* autohint_metrics :: Metrics used by the auto-hinter. */
|
||||
/* */
|
||||
/*************************************************************************/
|
||||
|
||||
typedef struct FT_Size_InternalRec_
|
||||
{
|
||||
/* empty */
|
||||
void* module_data;
|
||||
|
||||
FT_Render_Mode autohint_mode;
|
||||
FT_Size_Metrics autohint_metrics;
|
||||
|
||||
} FT_Size_InternalRec;
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/*************************************************************************/
|
||||
|
@ -530,7 +557,16 @@ FT_BEGIN_HEADER
|
|||
|
||||
FT_BASE( FT_Pointer )
|
||||
ft_module_get_service( FT_Module module,
|
||||
const char* service_id );
|
||||
const char* service_id,
|
||||
FT_Bool global );
|
||||
|
||||
#ifdef FT_CONFIG_OPTION_ENVIRONMENT_PROPERTIES
|
||||
FT_BASE( FT_Error )
|
||||
ft_property_string_set( FT_Library library,
|
||||
const FT_String* module_name,
|
||||
const FT_String* property_name,
|
||||
FT_String* value );
|
||||
#endif
|
||||
|
||||
/* */
|
||||
|
||||
|
@ -765,12 +801,19 @@ FT_BEGIN_HEADER
|
|||
|
||||
/* This hook is used by the TrueType debugger. It must be set to an */
|
||||
/* alternate truetype bytecode interpreter function. */
|
||||
#define FT_DEBUG_HOOK_TRUETYPE 0
|
||||
#define FT_DEBUG_HOOK_TRUETYPE 0
|
||||
|
||||
|
||||
typedef void (*FT_Bitmap_LcdFilterFunc)( FT_Bitmap* bitmap,
|
||||
FT_Render_Mode render_mode,
|
||||
FT_Library library );
|
||||
FT_Byte* weights );
|
||||
|
||||
|
||||
/* This is the default LCD filter, an in-place, 5-tap FIR filter. */
|
||||
FT_BASE( void )
|
||||
ft_lcd_filter_fir( FT_Bitmap* bitmap,
|
||||
FT_Render_Mode mode,
|
||||
FT_LcdFiveTapFilter weights );
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
|
@ -811,14 +854,17 @@ FT_BEGIN_HEADER
|
|||
/* handle to the current renderer for the */
|
||||
/* FT_GLYPH_FORMAT_OUTLINE format. */
|
||||
/* */
|
||||
/* auto_hinter :: XXX */
|
||||
/* auto_hinter :: The auto-hinter module interface. */
|
||||
/* */
|
||||
/* raster_pool :: The raster object's render pool. This can */
|
||||
/* ideally be changed dynamically at run-time. */
|
||||
/* */
|
||||
/* raster_pool_size :: The size of the render pool in bytes. */
|
||||
/* */
|
||||
/* debug_hooks :: XXX */
|
||||
/* debug_hooks :: An array of four function pointers that allow */
|
||||
/* debuggers to hook into a font format's */
|
||||
/* interpreter. Currently, only the TrueType */
|
||||
/* bytecode debugger uses this. */
|
||||
/* */
|
||||
/* lcd_filter :: If subpixel rendering is activated, the */
|
||||
/* selected LCD filter mode. */
|
||||
|
@ -866,7 +912,7 @@ FT_BEGIN_HEADER
|
|||
#ifdef FT_CONFIG_OPTION_SUBPIXEL_RENDERING
|
||||
FT_LcdFilter lcd_filter;
|
||||
FT_Int lcd_extra; /* number of extra pixels */
|
||||
FT_Byte lcd_weights[7]; /* filter weights, if any */
|
||||
FT_LcdFiveTapFilter lcd_weights; /* filter weights, if any */
|
||||
FT_Bitmap_LcdFilterFunc lcd_filter_func; /* filtering callback */
|
||||
#endif
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
/* */
|
||||
/* The FreeType position independent code services (declaration). */
|
||||
/* */
|
||||
/* Copyright 2009-2016 by */
|
||||
/* Copyright 2009-2017 by */
|
||||
/* Oran Agra and Mickey Gabel. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
/* */
|
||||
/* Embedded resource forks accessor (specification). */
|
||||
/* */
|
||||
/* Copyright 2004-2016 by */
|
||||
/* Copyright 2004-2017 by */
|
||||
/* Masatake YAMATO and Redhat K.K. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
|
@ -43,11 +43,12 @@ FT_BEGIN_HEADER
|
|||
|
||||
typedef struct FT_RFork_Ref_
|
||||
{
|
||||
FT_UShort res_id;
|
||||
FT_Long offset;
|
||||
FT_Short res_id;
|
||||
FT_Long offset;
|
||||
|
||||
} FT_RFork_Ref;
|
||||
|
||||
|
||||
#ifdef FT_CONFIG_OPTION_GUESSING_EMBEDDED_RFORK
|
||||
typedef FT_Error
|
||||
(*ft_raccess_guess_func)( FT_Library library,
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
/* */
|
||||
/* The FreeType services (specification only). */
|
||||
/* */
|
||||
/* Copyright 2003-2016 by */
|
||||
/* Copyright 2003-2017 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
|
@ -109,27 +109,27 @@ FT_BEGIN_HEADER
|
|||
*/
|
||||
#ifdef __cplusplus
|
||||
|
||||
#define FT_FACE_FIND_GLOBAL_SERVICE( face, ptr, id ) \
|
||||
FT_BEGIN_STMNT \
|
||||
FT_Module module = FT_MODULE( FT_FACE( face )->driver ); \
|
||||
FT_Pointer _tmp_; \
|
||||
FT_Pointer* _pptr_ = (FT_Pointer*)&(ptr); \
|
||||
\
|
||||
\
|
||||
_tmp_ = ft_module_get_service( module, FT_SERVICE_ID_ ## id ); \
|
||||
*_pptr_ = _tmp_; \
|
||||
#define FT_FACE_FIND_GLOBAL_SERVICE( face, ptr, id ) \
|
||||
FT_BEGIN_STMNT \
|
||||
FT_Module module = FT_MODULE( FT_FACE( face )->driver ); \
|
||||
FT_Pointer _tmp_; \
|
||||
FT_Pointer* _pptr_ = (FT_Pointer*)&(ptr); \
|
||||
\
|
||||
\
|
||||
_tmp_ = ft_module_get_service( module, FT_SERVICE_ID_ ## id, 1 ); \
|
||||
*_pptr_ = _tmp_; \
|
||||
FT_END_STMNT
|
||||
|
||||
#else /* !C++ */
|
||||
|
||||
#define FT_FACE_FIND_GLOBAL_SERVICE( face, ptr, id ) \
|
||||
FT_BEGIN_STMNT \
|
||||
FT_Module module = FT_MODULE( FT_FACE( face )->driver ); \
|
||||
FT_Pointer _tmp_; \
|
||||
\
|
||||
\
|
||||
_tmp_ = ft_module_get_service( module, FT_SERVICE_ID_ ## id ); \
|
||||
ptr = _tmp_; \
|
||||
#define FT_FACE_FIND_GLOBAL_SERVICE( face, ptr, id ) \
|
||||
FT_BEGIN_STMNT \
|
||||
FT_Module module = FT_MODULE( FT_FACE( face )->driver ); \
|
||||
FT_Pointer _tmp_; \
|
||||
\
|
||||
\
|
||||
_tmp_ = ft_module_get_service( module, FT_SERVICE_ID_ ## id, 1 ); \
|
||||
ptr = _tmp_; \
|
||||
FT_END_STMNT
|
||||
|
||||
#endif /* !C++ */
|
||||
|
@ -167,6 +167,7 @@ FT_BEGIN_HEADER
|
|||
/* FT_DEFINE_SERVICEDESCREC5 */
|
||||
/* FT_DEFINE_SERVICEDESCREC6 */
|
||||
/* FT_DEFINE_SERVICEDESCREC7 */
|
||||
/* FT_DEFINE_SERVICEDESCREC8 */
|
||||
/* */
|
||||
/* <Description> */
|
||||
/* Used to initialize an array of FT_ServiceDescRec structures. */
|
||||
|
@ -283,6 +284,52 @@ FT_BEGIN_HEADER
|
|||
{ NULL, NULL } \
|
||||
};
|
||||
|
||||
#define FT_DEFINE_SERVICEDESCREC8( class_, \
|
||||
serv_id_1, serv_data_1, \
|
||||
serv_id_2, serv_data_2, \
|
||||
serv_id_3, serv_data_3, \
|
||||
serv_id_4, serv_data_4, \
|
||||
serv_id_5, serv_data_5, \
|
||||
serv_id_6, serv_data_6, \
|
||||
serv_id_7, serv_data_7, \
|
||||
serv_id_8, serv_data_8 ) \
|
||||
static const FT_ServiceDescRec class_[] = \
|
||||
{ \
|
||||
{ serv_id_1, serv_data_1 }, \
|
||||
{ serv_id_2, serv_data_2 }, \
|
||||
{ serv_id_3, serv_data_3 }, \
|
||||
{ serv_id_4, serv_data_4 }, \
|
||||
{ serv_id_5, serv_data_5 }, \
|
||||
{ serv_id_6, serv_data_6 }, \
|
||||
{ serv_id_7, serv_data_7 }, \
|
||||
{ serv_id_8, serv_data_8 }, \
|
||||
{ NULL, NULL } \
|
||||
};
|
||||
|
||||
#define FT_DEFINE_SERVICEDESCREC9( class_, \
|
||||
serv_id_1, serv_data_1, \
|
||||
serv_id_2, serv_data_2, \
|
||||
serv_id_3, serv_data_3, \
|
||||
serv_id_4, serv_data_4, \
|
||||
serv_id_5, serv_data_5, \
|
||||
serv_id_6, serv_data_6, \
|
||||
serv_id_7, serv_data_7, \
|
||||
serv_id_8, serv_data_8, \
|
||||
serv_id_9, serv_data_9 ) \
|
||||
static const FT_ServiceDescRec class_[] = \
|
||||
{ \
|
||||
{ serv_id_1, serv_data_1 }, \
|
||||
{ serv_id_2, serv_data_2 }, \
|
||||
{ serv_id_3, serv_data_3 }, \
|
||||
{ serv_id_4, serv_data_4 }, \
|
||||
{ serv_id_5, serv_data_5 }, \
|
||||
{ serv_id_6, serv_data_6 }, \
|
||||
{ serv_id_7, serv_data_7 }, \
|
||||
{ serv_id_8, serv_data_8 }, \
|
||||
{ serv_id_9, serv_data_9 }, \
|
||||
{ NULL, NULL } \
|
||||
};
|
||||
|
||||
#else /* FT_CONFIG_OPTION_PIC */
|
||||
|
||||
#define FT_DEFINE_SERVICEDESCREC1( class_, \
|
||||
|
@ -593,6 +640,121 @@ FT_BEGIN_HEADER
|
|||
return FT_Err_Ok; \
|
||||
}
|
||||
|
||||
#define FT_DEFINE_SERVICEDESCREC8( class_, \
|
||||
serv_id_1, serv_data_1, \
|
||||
serv_id_2, serv_data_2, \
|
||||
serv_id_3, serv_data_3, \
|
||||
serv_id_4, serv_data_4, \
|
||||
serv_id_5, serv_data_5, \
|
||||
serv_id_6, serv_data_6, \
|
||||
serv_id_7, serv_data_7, \
|
||||
serv_id_8, serv_data_8 ) \
|
||||
void \
|
||||
FT_Destroy_Class_ ## class_( FT_Library library, \
|
||||
FT_ServiceDescRec* clazz ) \
|
||||
{ \
|
||||
FT_Memory memory = library->memory; \
|
||||
\
|
||||
\
|
||||
if ( clazz ) \
|
||||
FT_FREE( clazz ); \
|
||||
} \
|
||||
\
|
||||
FT_Error \
|
||||
FT_Create_Class_ ## class_( FT_Library library, \
|
||||
FT_ServiceDescRec** output_class) \
|
||||
{ \
|
||||
FT_ServiceDescRec* clazz = NULL; \
|
||||
FT_Error error; \
|
||||
FT_Memory memory = library->memory; \
|
||||
\
|
||||
\
|
||||
if ( FT_ALLOC( clazz, sizeof ( *clazz ) * 9 ) ) \
|
||||
return error; \
|
||||
\
|
||||
clazz[0].serv_id = serv_id_1; \
|
||||
clazz[0].serv_data = serv_data_1; \
|
||||
clazz[1].serv_id = serv_id_2; \
|
||||
clazz[1].serv_data = serv_data_2; \
|
||||
clazz[2].serv_id = serv_id_3; \
|
||||
clazz[2].serv_data = serv_data_3; \
|
||||
clazz[3].serv_id = serv_id_4; \
|
||||
clazz[3].serv_data = serv_data_4; \
|
||||
clazz[4].serv_id = serv_id_5; \
|
||||
clazz[4].serv_data = serv_data_5; \
|
||||
clazz[5].serv_id = serv_id_6; \
|
||||
clazz[5].serv_data = serv_data_6; \
|
||||
clazz[6].serv_id = serv_id_7; \
|
||||
clazz[6].serv_data = serv_data_7; \
|
||||
clazz[7].serv_id = serv_id_8; \
|
||||
clazz[7].serv_data = serv_data_8; \
|
||||
clazz[8].serv_id = NULL; \
|
||||
clazz[8].serv_data = NULL; \
|
||||
\
|
||||
*output_class = clazz; \
|
||||
\
|
||||
return FT_Err_Ok; \
|
||||
}
|
||||
|
||||
#define FT_DEFINE_SERVICEDESCREC9( class_, \
|
||||
serv_id_1, serv_data_1, \
|
||||
serv_id_2, serv_data_2, \
|
||||
serv_id_3, serv_data_3, \
|
||||
serv_id_4, serv_data_4, \
|
||||
serv_id_5, serv_data_5, \
|
||||
serv_id_6, serv_data_6, \
|
||||
serv_id_7, serv_data_7, \
|
||||
serv_id_8, serv_data_8, \
|
||||
serv_id_9, serv_data_9 ) \
|
||||
void \
|
||||
FT_Destroy_Class_ ## class_( FT_Library library, \
|
||||
FT_ServiceDescRec* clazz ) \
|
||||
{ \
|
||||
FT_Memory memory = library->memory; \
|
||||
\
|
||||
\
|
||||
if ( clazz ) \
|
||||
FT_FREE( clazz ); \
|
||||
} \
|
||||
\
|
||||
FT_Error \
|
||||
FT_Create_Class_ ## class_( FT_Library library, \
|
||||
FT_ServiceDescRec** output_class) \
|
||||
{ \
|
||||
FT_ServiceDescRec* clazz = NULL; \
|
||||
FT_Error error; \
|
||||
FT_Memory memory = library->memory; \
|
||||
\
|
||||
\
|
||||
if ( FT_ALLOC( clazz, sizeof ( *clazz ) * 10 ) ) \
|
||||
return error; \
|
||||
\
|
||||
clazz[0].serv_id = serv_id_1; \
|
||||
clazz[0].serv_data = serv_data_1; \
|
||||
clazz[1].serv_id = serv_id_2; \
|
||||
clazz[1].serv_data = serv_data_2; \
|
||||
clazz[2].serv_id = serv_id_3; \
|
||||
clazz[2].serv_data = serv_data_3; \
|
||||
clazz[3].serv_id = serv_id_4; \
|
||||
clazz[3].serv_data = serv_data_4; \
|
||||
clazz[4].serv_id = serv_id_5; \
|
||||
clazz[4].serv_data = serv_data_5; \
|
||||
clazz[5].serv_id = serv_id_6; \
|
||||
clazz[5].serv_data = serv_data_6; \
|
||||
clazz[6].serv_id = serv_id_7; \
|
||||
clazz[6].serv_data = serv_data_7; \
|
||||
clazz[7].serv_id = serv_id_8; \
|
||||
clazz[7].serv_data = serv_data_8; \
|
||||
clazz[8].serv_id = serv_id_9; \
|
||||
clazz[8].serv_data = serv_data_9; \
|
||||
clazz[9].serv_id = NULL; \
|
||||
clazz[9].serv_data = NULL; \
|
||||
\
|
||||
*output_class = clazz; \
|
||||
\
|
||||
return FT_Err_Ok; \
|
||||
}
|
||||
|
||||
#endif /* FT_CONFIG_OPTION_PIC */
|
||||
|
||||
|
||||
|
@ -635,6 +797,7 @@ FT_BEGIN_HEADER
|
|||
{
|
||||
FT_Pointer service_POSTSCRIPT_FONT_NAME;
|
||||
FT_Pointer service_MULTI_MASTERS;
|
||||
FT_Pointer service_METRICS_VARIATIONS;
|
||||
FT_Pointer service_GLYPH_DICT;
|
||||
FT_Pointer service_PFR_METRICS;
|
||||
FT_Pointer service_WINFNT;
|
||||
|
@ -655,7 +818,7 @@ FT_BEGIN_HEADER
|
|||
* FT_FACE_LOOKUP_SERVICE
|
||||
*
|
||||
* @description:
|
||||
* This macro is used to lookup a service from a face's driver module
|
||||
* This macro is used to look up a service from a face's driver module
|
||||
* using its cache.
|
||||
*
|
||||
* @input:
|
||||
|
@ -739,6 +902,7 @@ FT_BEGIN_HEADER
|
|||
#define FT_SERVICE_GLYPH_DICT_H <freetype/internal/services/svgldict.h>
|
||||
#define FT_SERVICE_GX_VALIDATE_H <freetype/internal/services/svgxval.h>
|
||||
#define FT_SERVICE_KERNING_H <freetype/internal/services/svkern.h>
|
||||
#define FT_SERVICE_METRICS_VARIATIONS_H <freetype/internal/services/svmetric.h>
|
||||
#define FT_SERVICE_MULTIPLE_MASTERS_H <freetype/internal/services/svmm.h>
|
||||
#define FT_SERVICE_OPENTYPE_VALIDATE_H <freetype/internal/services/svotval.h>
|
||||
#define FT_SERVICE_PFR_H <freetype/internal/services/svpfr.h>
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
/* */
|
||||
/* Stream handling (specification). */
|
||||
/* */
|
||||
/* Copyright 1996-2016 by */
|
||||
/* Copyright 1996-2017 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
|
@ -502,7 +502,7 @@ FT_BEGIN_HEADER
|
|||
#define FT_STREAM_READ_AT( position, buffer, count ) \
|
||||
FT_SET_ERROR( FT_Stream_ReadAt( stream, \
|
||||
(FT_ULong)(position), \
|
||||
(FT_Byte*)buffer, \
|
||||
(FT_Byte*)(buffer), \
|
||||
(FT_ULong)(count) ) )
|
||||
|
||||
#define FT_STREAM_READ_FIELDS( fields, object ) \
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
/* */
|
||||
/* Tracing handling (specification only). */
|
||||
/* */
|
||||
/* Copyright 2002-2016 by */
|
||||
/* Copyright 2002-2017 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
/* */
|
||||
/* FreeType validation support (specification). */
|
||||
/* */
|
||||
/* Copyright 2004-2016 by */
|
||||
/* Copyright 2004-2017 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
/* */
|
||||
/* Internal header files (specification only). */
|
||||
/* */
|
||||
/* Copyright 1996-2016 by */
|
||||
/* Copyright 1996-2017 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* 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 */
|
||||
/* (specification). */
|
||||
/* */
|
||||
/* Copyright 1996-2016 by */
|
||||
/* Copyright 1996-2017 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
|
@ -817,7 +817,7 @@ FT_BEGIN_HEADER
|
|||
|
||||
} PSAux_ServiceRec, *PSAux_Service;
|
||||
|
||||
/* backwards-compatible type definition */
|
||||
/* backward compatible type definition */
|
||||
typedef PSAux_ServiceRec PSAux_Interface;
|
||||
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
/* recorders (specification only). These are used to support native */
|
||||
/* T1/T2 hints in the `type1', `cid', and `cff' font drivers. */
|
||||
/* */
|
||||
/* Copyright 2001-2016 by */
|
||||
/* Copyright 2001-2017 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
/* */
|
||||
/* The FreeType BDF services (specification). */
|
||||
/* */
|
||||
/* Copyright 2003-2016 by */
|
||||
/* Copyright 2003-2017 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
/* */
|
||||
/* The FreeType CID font services (specification). */
|
||||
/* */
|
||||
/* Copyright 2007-2016 by */
|
||||
/* Copyright 2007-2017 by */
|
||||
/* Derek Clegg and Michael Toftdal. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
/* */
|
||||
/* The FreeType font format service (specification only). */
|
||||
/* */
|
||||
/* Copyright 2003-2016 by */
|
||||
/* Copyright 2003-2017 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
/* */
|
||||
/* The FreeType glyph dictionary services (specification). */
|
||||
/* */
|
||||
/* Copyright 2003-2016 by */
|
||||
/* Copyright 2003-2017 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* 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). */
|
||||
/* */
|
||||
/* Copyright 2004-2016 by */
|
||||
/* Copyright 2004-2017 by */
|
||||
/* Masatake YAMATO, Red Hat K.K., */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
/* */
|
||||
/* The FreeType Kerning service (specification). */
|
||||
/* */
|
||||
/* Copyright 2006-2016 by */
|
||||
/* Copyright 2006-2017 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
|
|
|
@ -0,0 +1,153 @@
|
|||
/***************************************************************************/
|
||||
/* */
|
||||
/* svmetric.h */
|
||||
/* */
|
||||
/* The FreeType services for metrics variations (specification). */
|
||||
/* */
|
||||
/* Copyright 2016-2017 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
/* modified, and distributed under the terms of the FreeType project */
|
||||
/* license, LICENSE.TXT. By continuing to use, modify, or distribute */
|
||||
/* this file you indicate that you have read the license and */
|
||||
/* understand and accept it fully. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
|
||||
|
||||
#ifndef SVMETRIC_H_
|
||||
#define SVMETRIC_H_
|
||||
|
||||
#include FT_INTERNAL_SERVICE_H
|
||||
|
||||
|
||||
FT_BEGIN_HEADER
|
||||
|
||||
|
||||
/*
|
||||
* A service to manage the `HVAR, `MVAR', and `VVAR' OpenType tables.
|
||||
*
|
||||
*/
|
||||
|
||||
#define FT_SERVICE_ID_METRICS_VARIATIONS "metrics-variations"
|
||||
|
||||
|
||||
/* HVAR */
|
||||
|
||||
typedef FT_Error
|
||||
(*FT_HAdvance_Adjust_Func)( FT_Face face,
|
||||
FT_UInt gindex,
|
||||
FT_Int *avalue );
|
||||
|
||||
typedef FT_Error
|
||||
(*FT_LSB_Adjust_Func)( FT_Face face,
|
||||
FT_UInt gindex,
|
||||
FT_Int *avalue );
|
||||
|
||||
typedef FT_Error
|
||||
(*FT_RSB_Adjust_Func)( FT_Face face,
|
||||
FT_UInt gindex,
|
||||
FT_Int *avalue );
|
||||
|
||||
/* VVAR */
|
||||
|
||||
typedef FT_Error
|
||||
(*FT_VAdvance_Adjust_Func)( FT_Face face,
|
||||
FT_UInt gindex,
|
||||
FT_Int *avalue );
|
||||
|
||||
typedef FT_Error
|
||||
(*FT_TSB_Adjust_Func)( FT_Face face,
|
||||
FT_UInt gindex,
|
||||
FT_Int *avalue );
|
||||
|
||||
typedef FT_Error
|
||||
(*FT_BSB_Adjust_Func)( FT_Face face,
|
||||
FT_UInt gindex,
|
||||
FT_Int *avalue );
|
||||
|
||||
typedef FT_Error
|
||||
(*FT_VOrg_Adjust_Func)( FT_Face face,
|
||||
FT_UInt gindex,
|
||||
FT_Int *avalue );
|
||||
|
||||
/* MVAR */
|
||||
|
||||
typedef void
|
||||
(*FT_Metrics_Adjust_Func)( FT_Face face );
|
||||
|
||||
|
||||
FT_DEFINE_SERVICE( MetricsVariations )
|
||||
{
|
||||
FT_HAdvance_Adjust_Func hadvance_adjust;
|
||||
FT_LSB_Adjust_Func lsb_adjust;
|
||||
FT_RSB_Adjust_Func rsb_adjust;
|
||||
|
||||
FT_VAdvance_Adjust_Func vadvance_adjust;
|
||||
FT_TSB_Adjust_Func tsb_adjust;
|
||||
FT_BSB_Adjust_Func bsb_adjust;
|
||||
FT_VOrg_Adjust_Func vorg_adjust;
|
||||
|
||||
FT_Metrics_Adjust_Func metrics_adjust;
|
||||
};
|
||||
|
||||
|
||||
#ifndef FT_CONFIG_OPTION_PIC
|
||||
|
||||
#define FT_DEFINE_SERVICE_METRICSVARIATIONSREC( class_, \
|
||||
hadvance_adjust_, \
|
||||
lsb_adjust_, \
|
||||
rsb_adjust_, \
|
||||
vadvance_adjust_, \
|
||||
tsb_adjust_, \
|
||||
bsb_adjust_, \
|
||||
vorg_adjust_, \
|
||||
metrics_adjust_ ) \
|
||||
static const FT_Service_MetricsVariationsRec class_ = \
|
||||
{ \
|
||||
hadvance_adjust_, \
|
||||
lsb_adjust_, \
|
||||
rsb_adjust_, \
|
||||
vadvance_adjust_, \
|
||||
tsb_adjust_, \
|
||||
bsb_adjust_, \
|
||||
vorg_adjust_, \
|
||||
metrics_adjust_ \
|
||||
};
|
||||
|
||||
#else /* FT_CONFIG_OPTION_PIC */
|
||||
|
||||
#define FT_DEFINE_SERVICE_METRICSVARIATIONSREC( class_, \
|
||||
hadvance_adjust_, \
|
||||
lsb_adjust_, \
|
||||
rsb_adjust_, \
|
||||
vadvance_adjust_, \
|
||||
tsb_adjust_, \
|
||||
bsb_adjust_, \
|
||||
vorg_adjust_, \
|
||||
metrics_adjust_ ) \
|
||||
void \
|
||||
FT_Init_Class_ ## class_( FT_Service_MetricsVariationsRec* clazz ) \
|
||||
{ \
|
||||
clazz->hadvance_adjust = hadvance_adjust_; \
|
||||
clazz->lsb_adjust = lsb_adjust_; \
|
||||
clazz->rsb_adjust = rsb_adjust_; \
|
||||
clazz->vadvance_adjust = vadvance_adjust_; \
|
||||
clazz->tsb_adjust = tsb_adjust_; \
|
||||
clazz->bsb_adjust = bsb_adjust_; \
|
||||
clazz->vorg_adjust = vorg_adjust_; \
|
||||
clazz->metrics_adjust = metrics_adjust_; \
|
||||
}
|
||||
|
||||
#endif /* FT_CONFIG_OPTION_PIC */
|
||||
|
||||
/* */
|
||||
|
||||
|
||||
FT_END_HEADER
|
||||
|
||||
#endif /* SVMETRIC_H_ */
|
||||
|
||||
|
||||
/* END */
|
|
@ -4,7 +4,7 @@
|
|||
/* */
|
||||
/* The FreeType Multiple Masters and GX var services (specification). */
|
||||
/* */
|
||||
/* Copyright 2003-2016 by */
|
||||
/* Copyright 2003-2017 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
|
@ -58,46 +58,92 @@ FT_BEGIN_HEADER
|
|||
FT_UInt num_coords,
|
||||
FT_Long* coords );
|
||||
|
||||
typedef FT_Error
|
||||
(*FT_Get_Var_Design_Func)( FT_Face face,
|
||||
FT_UInt num_coords,
|
||||
FT_Fixed* coords );
|
||||
|
||||
typedef FT_Error
|
||||
(*FT_Get_MM_Blend_Func)( FT_Face face,
|
||||
FT_UInt num_coords,
|
||||
FT_Long* coords );
|
||||
|
||||
typedef FT_Error
|
||||
(*FT_Get_Var_Blend_Func)( FT_Face face,
|
||||
FT_UInt *num_coords,
|
||||
FT_Fixed* *coords,
|
||||
FT_Fixed* *normalizedcoords,
|
||||
FT_MM_Var* *mm_var );
|
||||
|
||||
typedef void
|
||||
(*FT_Done_Blend_Func)( FT_Face );
|
||||
|
||||
|
||||
FT_DEFINE_SERVICE( MultiMasters )
|
||||
{
|
||||
FT_Get_MM_Func get_mm;
|
||||
FT_Set_MM_Design_Func set_mm_design;
|
||||
FT_Set_MM_Blend_Func set_mm_blend;
|
||||
FT_Get_MM_Blend_Func get_mm_blend;
|
||||
FT_Get_MM_Var_Func get_mm_var;
|
||||
FT_Set_Var_Design_Func set_var_design;
|
||||
FT_Get_Var_Design_Func get_var_design;
|
||||
|
||||
/* for internal use; only needed for code sharing between modules */
|
||||
FT_Get_Var_Blend_Func get_var_blend;
|
||||
FT_Done_Blend_Func done_blend;
|
||||
};
|
||||
|
||||
|
||||
#ifndef FT_CONFIG_OPTION_PIC
|
||||
|
||||
#define FT_DEFINE_SERVICE_MULTIMASTERSREC( class_, \
|
||||
get_mm_, \
|
||||
set_mm_design_, \
|
||||
set_mm_blend_, \
|
||||
get_mm_var_, \
|
||||
set_var_design_ ) \
|
||||
static const FT_Service_MultiMastersRec class_ = \
|
||||
{ \
|
||||
get_mm_, set_mm_design_, set_mm_blend_, get_mm_var_, set_var_design_ \
|
||||
#define FT_DEFINE_SERVICE_MULTIMASTERSREC( class_, \
|
||||
get_mm_, \
|
||||
set_mm_design_, \
|
||||
set_mm_blend_, \
|
||||
get_mm_blend_, \
|
||||
get_mm_var_, \
|
||||
set_var_design_, \
|
||||
get_var_design_, \
|
||||
get_var_blend_, \
|
||||
done_blend_ ) \
|
||||
static const FT_Service_MultiMastersRec class_ = \
|
||||
{ \
|
||||
get_mm_, \
|
||||
set_mm_design_, \
|
||||
set_mm_blend_, \
|
||||
get_mm_blend_, \
|
||||
get_mm_var_, \
|
||||
set_var_design_, \
|
||||
get_var_design_, \
|
||||
get_var_blend_, \
|
||||
done_blend_ \
|
||||
};
|
||||
|
||||
#else /* FT_CONFIG_OPTION_PIC */
|
||||
|
||||
#define FT_DEFINE_SERVICE_MULTIMASTERSREC( class_, \
|
||||
get_mm_, \
|
||||
set_mm_design_, \
|
||||
set_mm_blend_, \
|
||||
get_mm_var_, \
|
||||
set_var_design_ ) \
|
||||
void \
|
||||
FT_Init_Class_ ## class_( FT_Service_MultiMastersRec* clazz ) \
|
||||
{ \
|
||||
clazz->get_mm = get_mm_; \
|
||||
clazz->set_mm_design = set_mm_design_; \
|
||||
clazz->set_mm_blend = set_mm_blend_; \
|
||||
clazz->get_mm_var = get_mm_var_; \
|
||||
clazz->set_var_design = set_var_design_; \
|
||||
#define FT_DEFINE_SERVICE_MULTIMASTERSREC( class_, \
|
||||
get_mm_, \
|
||||
set_mm_design_, \
|
||||
set_mm_blend_, \
|
||||
get_mm_blend_, \
|
||||
get_mm_var_, \
|
||||
set_var_design_, \
|
||||
get_var_design_, \
|
||||
get_var_blend_, \
|
||||
done_blend_ ) \
|
||||
void \
|
||||
FT_Init_Class_ ## class_( FT_Service_MultiMastersRec* clazz ) \
|
||||
{ \
|
||||
clazz->get_mm = get_mm_; \
|
||||
clazz->set_mm_design = set_mm_design_; \
|
||||
clazz->set_mm_blend = set_mm_blend_; \
|
||||
clazz->get_mm_blend = get_mm_blend_; \
|
||||
clazz->get_mm_var = get_mm_var_; \
|
||||
clazz->set_var_design = set_var_design_; \
|
||||
clazz->get_var_design = get_var_design_; \
|
||||
clazz->get_var_blend = get_var_blend_; \
|
||||
clazz->done_blend = done_blend_; \
|
||||
}
|
||||
|
||||
#endif /* FT_CONFIG_OPTION_PIC */
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
/* */
|
||||
/* The FreeType OpenType validation service (specification). */
|
||||
/* */
|
||||
/* Copyright 2004-2016 by */
|
||||
/* Copyright 2004-2017 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
/* */
|
||||
/* Internal PFR service functions (specification). */
|
||||
/* */
|
||||
/* Copyright 2003-2016 by */
|
||||
/* Copyright 2003-2017 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
/* */
|
||||
/* The FreeType PostScript name services (specification). */
|
||||
/* */
|
||||
/* Copyright 2003-2016 by */
|
||||
/* Copyright 2003-2017 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
/* */
|
||||
/* The FreeType property service (specification). */
|
||||
/* */
|
||||
/* Copyright 2012-2016 by */
|
||||
/* Copyright 2012-2017 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
|
@ -29,7 +29,8 @@ FT_BEGIN_HEADER
|
|||
typedef FT_Error
|
||||
(*FT_Properties_SetFunc)( FT_Module module,
|
||||
const char* property_name,
|
||||
const void* value );
|
||||
const void* value,
|
||||
FT_Bool value_is_string );
|
||||
|
||||
typedef FT_Error
|
||||
(*FT_Properties_GetFunc)( FT_Module module,
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
/* */
|
||||
/* The FreeType PostScript charmap service (specification). */
|
||||
/* */
|
||||
/* Copyright 2003-2016 by */
|
||||
/* Copyright 2003-2017 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
/* */
|
||||
/* The FreeType PostScript info service (specification). */
|
||||
/* */
|
||||
/* Copyright 2003-2016 by */
|
||||
/* Copyright 2003-2017 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
/* */
|
||||
/* The FreeType SFNT table loading service (specification). */
|
||||
/* */
|
||||
/* Copyright 2003-2016 by */
|
||||
/* Copyright 2003-2017 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* 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. */
|
||||
/* */
|
||||
/* Copyright 2003-2016 by */
|
||||
/* Copyright 2003-2017 by */
|
||||
/* Masatake YAMATO, Redhat K.K., */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
/* */
|
||||
/* The FreeType TrueType engine query service (specification). */
|
||||
/* */
|
||||
/* Copyright 2006-2016 by */
|
||||
/* Copyright 2006-2017 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
/* */
|
||||
/* The FreeType TrueType glyph service. */
|
||||
/* */
|
||||
/* Copyright 2007-2016 by */
|
||||
/* Copyright 2007-2017 by */
|
||||
/* David Turner. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
/* */
|
||||
/* The FreeType Windows FNT/FONT service (specification). */
|
||||
/* */
|
||||
/* Copyright 2003-2016 by */
|
||||
/* Copyright 2003-2017 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
/* */
|
||||
/* High-level `sfnt' driver interface (specification). */
|
||||
/* */
|
||||
/* Copyright 1996-2016 by */
|
||||
/* Copyright 1996-2017 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
|
@ -455,6 +455,37 @@ FT_BEGIN_HEADER
|
|||
FT_String** name );
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* <FuncType> */
|
||||
/* TT_Get_Name_ID_Func */
|
||||
/* */
|
||||
/* <Description> */
|
||||
/* Search whether an ENGLISH version for a given name ID is in the */
|
||||
/* `name' table. */
|
||||
/* */
|
||||
/* <Input> */
|
||||
/* face :: A handle to the source face object. */
|
||||
/* */
|
||||
/* nameid :: The name id of the name record to return. */
|
||||
/* */
|
||||
/* <Out> */
|
||||
/* win :: If non-negative, an index into the `name' table with */
|
||||
/* the corresponding (3,1) or (3,0) Windows entry. */
|
||||
/* */
|
||||
/* apple :: If non-negative, an index into the `name' table with */
|
||||
/* the corresponding (1,0) Apple entry. */
|
||||
/* */
|
||||
/* <Return> */
|
||||
/* 1 if there is either a win or apple entry (or both), 0 otheriwse. */
|
||||
/* */
|
||||
typedef FT_Bool
|
||||
(*TT_Get_Name_ID_Func)( TT_Face face,
|
||||
FT_UShort nameid,
|
||||
FT_Int *win,
|
||||
FT_Int *apple );
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* <FuncType> */
|
||||
|
@ -588,6 +619,7 @@ FT_BEGIN_HEADER
|
|||
TT_Get_Metrics_Func get_metrics;
|
||||
|
||||
TT_Get_Name_Func get_name;
|
||||
TT_Get_Name_ID_Func get_name_id;
|
||||
|
||||
} SFNT_Interface;
|
||||
|
||||
|
@ -628,7 +660,8 @@ FT_BEGIN_HEADER
|
|||
set_sbit_strike_, \
|
||||
load_strike_metrics_, \
|
||||
get_metrics_, \
|
||||
get_name_ ) \
|
||||
get_name_, \
|
||||
get_name_id_ ) \
|
||||
static const SFNT_Interface class_ = \
|
||||
{ \
|
||||
goto_table_, \
|
||||
|
@ -661,6 +694,7 @@ FT_BEGIN_HEADER
|
|||
load_strike_metrics_, \
|
||||
get_metrics_, \
|
||||
get_name_, \
|
||||
get_name_id_ \
|
||||
};
|
||||
|
||||
#else /* FT_CONFIG_OPTION_PIC */
|
||||
|
@ -699,7 +733,8 @@ FT_BEGIN_HEADER
|
|||
set_sbit_strike_, \
|
||||
load_strike_metrics_, \
|
||||
get_metrics_, \
|
||||
get_name_ ) \
|
||||
get_name_, \
|
||||
get_name_id_ ) \
|
||||
void \
|
||||
FT_Init_Class_ ## class_( FT_Library library, \
|
||||
SFNT_Interface* clazz ) \
|
||||
|
@ -736,6 +771,7 @@ FT_BEGIN_HEADER
|
|||
clazz->load_strike_metrics = load_strike_metrics_; \
|
||||
clazz->get_metrics = get_metrics_; \
|
||||
clazz->get_name = get_name_; \
|
||||
clazz->get_name_id = get_name_id_; \
|
||||
}
|
||||
|
||||
#endif /* FT_CONFIG_OPTION_PIC */
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
/* Basic Type1/Type2 type definitions and interface (specification */
|
||||
/* only). */
|
||||
/* */
|
||||
/* Copyright 1996-2016 by */
|
||||
/* Copyright 1996-2017 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
/* Basic SFNT/TrueType type definitions and interface (specification */
|
||||
/* only). */
|
||||
/* */
|
||||
/* Copyright 1996-2016 by */
|
||||
/* Copyright 1996-2017 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
|
@ -243,7 +243,7 @@ FT_BEGIN_HEADER
|
|||
/*************************************************************************/
|
||||
/* */
|
||||
/* <Struct> */
|
||||
/* TT_NameEntryRec */
|
||||
/* TT_NameRec */
|
||||
/* */
|
||||
/* <Description> */
|
||||
/* A structure modeling TrueType name records. Name records are used */
|
||||
|
@ -267,7 +267,7 @@ FT_BEGIN_HEADER
|
|||
/* string :: A pointer to the string's bytes. Note that these */
|
||||
/* are usually UTF-16 encoded characters. */
|
||||
/* */
|
||||
typedef struct TT_NameEntryRec_
|
||||
typedef struct TT_NameRec_
|
||||
{
|
||||
FT_UShort platformID;
|
||||
FT_UShort encodingID;
|
||||
|
@ -279,9 +279,39 @@ FT_BEGIN_HEADER
|
|||
/* this last field is not defined in the spec */
|
||||
/* but used by the FreeType engine */
|
||||
|
||||
FT_Byte* string;
|
||||
FT_Byte* string;
|
||||
|
||||
} TT_NameEntryRec, *TT_NameEntry;
|
||||
} TT_NameRec, *TT_Name;
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* <Struct> */
|
||||
/* TT_LangTagRec */
|
||||
/* */
|
||||
/* <Description> */
|
||||
/* A structure modeling language tag records in SFNT `name' tables, */
|
||||
/* introduced in OpenType version 1.6. */
|
||||
/* */
|
||||
/* <Fields> */
|
||||
/* stringLength :: The length of the string in bytes. */
|
||||
/* */
|
||||
/* stringOffset :: The offset to the string in the `name' table. */
|
||||
/* */
|
||||
/* string :: A pointer to the string's bytes. Note that these */
|
||||
/* are UTF-16BE encoded characters. */
|
||||
/* */
|
||||
typedef struct TT_LangTagRec_
|
||||
{
|
||||
FT_UShort stringLength;
|
||||
FT_ULong stringOffset;
|
||||
|
||||
/* this last field is not defined in the spec */
|
||||
/* but used by the FreeType engine */
|
||||
|
||||
FT_Byte* string;
|
||||
|
||||
} TT_LangTagRec, *TT_LangTag;
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
|
@ -293,24 +323,30 @@ FT_BEGIN_HEADER
|
|||
/* A structure modeling the TrueType name table. */
|
||||
/* */
|
||||
/* <Fields> */
|
||||
/* format :: The format of the name table. */
|
||||
/* format :: The format of the name table. */
|
||||
/* */
|
||||
/* numNameRecords :: The number of names in table. */
|
||||
/* numNameRecords :: The number of names in table. */
|
||||
/* */
|
||||
/* storageOffset :: The offset of the name table in the `name' */
|
||||
/* TrueType table. */
|
||||
/* storageOffset :: The offset of the name table in the `name' */
|
||||
/* TrueType table. */
|
||||
/* */
|
||||
/* names :: An array of name records. */
|
||||
/* names :: An array of name records. */
|
||||
/* */
|
||||
/* stream :: the file's input stream. */
|
||||
/* numLangTagRecords :: The number of language tags in table. */
|
||||
/* */
|
||||
/* langTags :: An array of language tag records. */
|
||||
/* */
|
||||
/* stream :: The file's input stream. */
|
||||
/* */
|
||||
typedef struct TT_NameTableRec_
|
||||
{
|
||||
FT_UShort format;
|
||||
FT_UInt numNameRecords;
|
||||
FT_UInt storageOffset;
|
||||
TT_NameEntryRec* names;
|
||||
FT_Stream stream;
|
||||
FT_UShort format;
|
||||
FT_UInt numNameRecords;
|
||||
FT_UInt storageOffset;
|
||||
TT_NameRec* names;
|
||||
FT_UInt numLangTagRecords;
|
||||
TT_LangTagRec* langTags;
|
||||
FT_Stream stream;
|
||||
|
||||
} TT_NameTableRec, *TT_NameTable;
|
||||
|
||||
|
@ -1060,6 +1096,34 @@ FT_BEGIN_HEADER
|
|||
} TT_SbitTableType;
|
||||
|
||||
|
||||
/* OpenType 1.8 brings new tables for variation font support; */
|
||||
/* to make the old MM and GX fonts still work we need to check */
|
||||
/* the presence (and validity) of the functionality provided */
|
||||
/* by those tables. The following flag macros are for the */
|
||||
/* field `variation_support'. */
|
||||
/* */
|
||||
/* Note that `fvar' gets checked immediately at font loading, */
|
||||
/* while the other features are only loaded if MM support is */
|
||||
/* actually requested. */
|
||||
|
||||
/* FVAR */
|
||||
#define TT_FACE_FLAG_VAR_FVAR ( 1 << 0 )
|
||||
|
||||
/* HVAR */
|
||||
#define TT_FACE_FLAG_VAR_HADVANCE ( 1 << 1 )
|
||||
#define TT_FACE_FLAG_VAR_LSB ( 1 << 2 )
|
||||
#define TT_FACE_FLAG_VAR_RSB ( 1 << 3 )
|
||||
|
||||
/* VVAR */
|
||||
#define TT_FACE_FLAG_VAR_VADVANCE ( 1 << 4 )
|
||||
#define TT_FACE_FLAG_VAR_TSB ( 1 << 5 )
|
||||
#define TT_FACE_FLAG_VAR_BSB ( 1 << 6 )
|
||||
#define TT_FACE_FLAG_VAR_VORG ( 1 << 7 )
|
||||
|
||||
/* MVAR */
|
||||
#define TT_FACE_FLAG_VAR_MVAR ( 1 << 8 )
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* TrueType Face Type */
|
||||
|
@ -1161,6 +1225,11 @@ FT_BEGIN_HEADER
|
|||
/* */
|
||||
/* psnames :: A pointer to the PostScript names service. */
|
||||
/* */
|
||||
/* mm :: A pointer to the Multiple Masters service. */
|
||||
/* */
|
||||
/* var :: A pointer to the Metrics Variations */
|
||||
/* service. */
|
||||
/* */
|
||||
/* hdmx :: The face's horizontal device metrics */
|
||||
/* (`hdmx' table). This table is optional in */
|
||||
/* TrueType/OpenType fonts. */
|
||||
|
@ -1182,18 +1251,6 @@ FT_BEGIN_HEADER
|
|||
/* file `ttconfig.h' for comments on the */
|
||||
/* TT_CONFIG_OPTION_POSTSCRIPT_NAMES option. */
|
||||
/* */
|
||||
/* num_locations :: The number of glyph locations in this */
|
||||
/* TrueType file. This should be */
|
||||
/* identical to the number of glyphs. */
|
||||
/* Ignored for Type 2 fonts. */
|
||||
/* */
|
||||
/* glyph_locations :: An array of longs. These are offsets to */
|
||||
/* glyph data within the `glyf' table. */
|
||||
/* Ignored for Type 2 font faces. */
|
||||
/* */
|
||||
/* glyf_len :: The length of the `glyf' table. Needed */
|
||||
/* for malformed `loca' tables. */
|
||||
/* */
|
||||
/* font_program_size :: Size in bytecodes of the face's font */
|
||||
/* program. 0 if none defined. Ignored for */
|
||||
/* Type 2 fonts. */
|
||||
|
@ -1219,20 +1276,22 @@ FT_BEGIN_HEADER
|
|||
/* units. Comes from the `cvt ' table. */
|
||||
/* Ignored for Type 2 fonts. */
|
||||
/* */
|
||||
/* num_kern_pairs :: The number of kerning pairs present in the */
|
||||
/* font file. The engine only loads the */
|
||||
/* first horizontal format 0 kern table it */
|
||||
/* finds in the font file. Ignored for */
|
||||
/* Type 2 fonts. */
|
||||
/* */
|
||||
/* kern_table_index :: The index of the kerning table in the font */
|
||||
/* kerning directory. Ignored for Type 2 */
|
||||
/* fonts. */
|
||||
/* */
|
||||
/* interpreter :: A pointer to the TrueType bytecode */
|
||||
/* interpreters field is also used to hook */
|
||||
/* the debugger in `ttdebug'. */
|
||||
/* */
|
||||
/* extra :: Reserved for third-party font drivers. */
|
||||
/* */
|
||||
/* postscript_name :: The PS name of the font. Used by the */
|
||||
/* postscript name service. */
|
||||
/* */
|
||||
/* glyf_len :: The length of the `glyf' table. Needed */
|
||||
/* for malformed `loca' tables. */
|
||||
/* */
|
||||
/* glyf_offset :: The file offset of the `glyf' table. */
|
||||
/* */
|
||||
/* is_cff2 :: Set if the font format is CFF2. */
|
||||
/* */
|
||||
/* doblend :: A boolean which is set if the font should */
|
||||
/* be blended (this is for GX var). */
|
||||
/* */
|
||||
|
@ -1240,10 +1299,98 @@ FT_BEGIN_HEADER
|
|||
/* variation tables (rather like Multiple */
|
||||
/* Master data). */
|
||||
/* */
|
||||
/* extra :: Reserved for third-party font drivers. */
|
||||
/* is_default_instance :: Set if the glyph outlines can be used */
|
||||
/* unmodified (i.e., without applying glyph */
|
||||
/* variation deltas). */
|
||||
/* */
|
||||
/* postscript_name :: The PS name of the font. Used by the */
|
||||
/* postscript name service. */
|
||||
/* variation_support :: Flags that indicate which OpenType */
|
||||
/* functionality related to font variation */
|
||||
/* support is present, valid, and usable. */
|
||||
/* For example, TT_FACE_FLAG_VAR_FVAR is only */
|
||||
/* set if we have at least one design axis. */
|
||||
/* */
|
||||
/* var_postscript_prefix :: */
|
||||
/* The PostScript name prefix needed for */
|
||||
/* constructing a variation font instance's */
|
||||
/* PS name . */
|
||||
/* */
|
||||
/* var_postscript_prefix_len :: */
|
||||
/* The length of the `var_postscript_prefix' */
|
||||
/* string. */
|
||||
/* */
|
||||
/* horz_metrics_size :: The size of the `hmtx' table. */
|
||||
/* */
|
||||
/* vert_metrics_size :: The size of the `vmtx' table. */
|
||||
/* */
|
||||
/* num_locations :: The number of glyph locations in this */
|
||||
/* TrueType file. This should be */
|
||||
/* identical to the number of glyphs. */
|
||||
/* Ignored for Type 2 fonts. */
|
||||
/* */
|
||||
/* glyph_locations :: An array of longs. These are offsets to */
|
||||
/* glyph data within the `glyf' table. */
|
||||
/* Ignored for Type 2 font faces. */
|
||||
/* */
|
||||
/* hdmx_table :: A pointer to the `hdmx' table. */
|
||||
/* */
|
||||
/* hdmx_table_size :: The size of the `hdmx' table. */
|
||||
/* */
|
||||
/* hdmx_record_count :: The number of hdmx records. */
|
||||
/* */
|
||||
/* hdmx_record_size :: The size of a single hdmx record. */
|
||||
/* */
|
||||
/* hdmx_record_sizes :: An array holding the ppem sizes available */
|
||||
/* in the `hdmx' table. */
|
||||
/* */
|
||||
/* sbit_table :: A pointer to the font's embedded bitmap */
|
||||
/* location table. */
|
||||
/* */
|
||||
/* sbit_table_size :: The size of `sbit_table'. */
|
||||
/* */
|
||||
/* sbit_table_type :: The sbit table type (CBLC, sbix, etc.). */
|
||||
/* */
|
||||
/* sbit_num_strikes :: The number of sbit strikes exposed by */
|
||||
/* FreeType's API, omitting invalid strikes. */
|
||||
/* */
|
||||
/* sbit_strike_map :: A mapping between the strike indices */
|
||||
/* exposed by the API and the indices used in */
|
||||
/* the font's sbit table. */
|
||||
/* */
|
||||
/* kern_table :: A pointer to the `kern' table. */
|
||||
/* */
|
||||
/* kern_table_size :: The size of the `kern' table. */
|
||||
/* */
|
||||
/* num_kern_tables :: The number of supported kern subtables */
|
||||
/* (up to 32; FreeType recognizes only */
|
||||
/* horizontal ones with format 0). */
|
||||
/* */
|
||||
/* kern_avail_bits :: The availability status of kern subtables; */
|
||||
/* if bit n is set, table n is available. */
|
||||
/* */
|
||||
/* kern_order_bits :: The sortedness status of kern subtables; */
|
||||
/* if bit n is set, table n is sorted. */
|
||||
/* */
|
||||
/* bdf :: Data related to an SFNT font's `bdf' */
|
||||
/* table; see `tttypes.h'. */
|
||||
/* */
|
||||
/* horz_metrics_offset :: The file offset of the `hmtx' table. */
|
||||
/* */
|
||||
/* vert_metrics_offset :: The file offset of the `vmtx' table. */
|
||||
/* */
|
||||
/* sph_found_func_flags :: Flags identifying special bytecode */
|
||||
/* functions (used by the v38 implementation */
|
||||
/* of the bytecode interpreter). */
|
||||
/* */
|
||||
/* sph_compatibility_mode :: */
|
||||
/* This flag is set if we are in ClearType */
|
||||
/* backward compatibility mode (used by the */
|
||||
/* v38 implementation of the bytecode */
|
||||
/* interpreter). */
|
||||
/* */
|
||||
/* ebdt_start :: The file offset of the sbit data table */
|
||||
/* (CBDT, bdat, etc.). */
|
||||
/* */
|
||||
/* ebdt_size :: The size of the sbit data table. */
|
||||
/* */
|
||||
typedef struct TT_FaceRec_
|
||||
{
|
||||
|
@ -1288,6 +1435,16 @@ FT_BEGIN_HEADER
|
|||
/* handle glyph names <-> unicode & Mac values */
|
||||
void* psnames;
|
||||
|
||||
#ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT
|
||||
/* a typeless pointer to the FT_Service_MultiMasters table used to */
|
||||
/* handle variation fonts */
|
||||
void* mm;
|
||||
|
||||
/* a typeless pointer to the FT_Service_MetricsVariationsRec table */
|
||||
/* used to handle the HVAR, VVAR, and MVAR OpenType tables */
|
||||
void* var;
|
||||
#endif
|
||||
|
||||
|
||||
/***********************************************************************/
|
||||
/* */
|
||||
|
@ -1311,7 +1468,7 @@ FT_BEGIN_HEADER
|
|||
|
||||
/***********************************************************************/
|
||||
/* */
|
||||
/* TrueType-specific fields (ignored by the OTF-Type2 driver) */
|
||||
/* TrueType-specific fields (ignored by the CFF driver) */
|
||||
/* */
|
||||
/***********************************************************************/
|
||||
|
||||
|
@ -1344,18 +1501,25 @@ FT_BEGIN_HEADER
|
|||
const char* postscript_name;
|
||||
|
||||
FT_ULong glyf_len;
|
||||
FT_ULong glyf_offset; /* since 2.7.1 */
|
||||
|
||||
FT_Bool is_cff2; /* since 2.7.1 */
|
||||
|
||||
#ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT
|
||||
FT_Bool doblend;
|
||||
GX_Blend blend;
|
||||
|
||||
FT_Bool is_default_instance; /* since 2.7.1 */
|
||||
FT_UInt32 variation_support; /* since 2.7.1 */
|
||||
|
||||
const char* var_postscript_prefix; /* since 2.7.2 */
|
||||
FT_UInt var_postscript_prefix_len; /* since 2.7.2 */
|
||||
|
||||
#endif
|
||||
|
||||
/* since version 2.2 */
|
||||
|
||||
FT_Byte* horz_metrics;
|
||||
FT_ULong horz_metrics_size;
|
||||
|
||||
FT_Byte* vert_metrics;
|
||||
FT_ULong vert_metrics_size;
|
||||
|
||||
FT_ULong num_locations; /* in broken TTF, gid > 0xFFFF */
|
||||
|
@ -1371,6 +1535,7 @@ FT_BEGIN_HEADER
|
|||
FT_ULong sbit_table_size;
|
||||
TT_SbitTableType sbit_table_type;
|
||||
FT_UInt sbit_num_strikes;
|
||||
FT_UInt* sbit_strike_map;
|
||||
|
||||
FT_Byte* kern_table;
|
||||
FT_ULong kern_table_size;
|
||||
|
@ -1393,6 +1558,12 @@ FT_BEGIN_HEADER
|
|||
FT_Bool sph_compatibility_mode;
|
||||
#endif /* TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY */
|
||||
|
||||
#ifdef TT_CONFIG_OPTION_EMBEDDED_BITMAPS
|
||||
/* since 2.7 */
|
||||
FT_ULong ebdt_start; /* either `CBDT', `EBDT', or `bdat' */
|
||||
FT_ULong ebdt_size;
|
||||
#endif
|
||||
|
||||
} TT_FaceRec;
|
||||
|
||||
|
||||
|
@ -1485,8 +1656,6 @@ FT_BEGIN_HEADER
|
|||
FT_Vector pp1;
|
||||
FT_Vector pp2;
|
||||
|
||||
FT_ULong glyf_offset;
|
||||
|
||||
/* the zone where we load our glyphs */
|
||||
TT_GlyphZoneRec base;
|
||||
TT_GlyphZoneRec zone;
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
/* Basic Type 1/Type 2 tables definitions and interface (specification */
|
||||
/* only). */
|
||||
/* */
|
||||
/* Copyright 1996-2016 by */
|
||||
/* Copyright 1996-2017 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
|
@ -291,7 +291,7 @@ FT_BEGIN_HEADER
|
|||
|
||||
} PS_DesignMapRec, *PS_DesignMap;
|
||||
|
||||
/* backwards-compatible definition */
|
||||
/* backward compatible definition */
|
||||
typedef PS_DesignMapRec T1_DesignMap;
|
||||
|
||||
|
||||
|
@ -326,7 +326,7 @@ FT_BEGIN_HEADER
|
|||
} PS_BlendRec, *PS_Blend;
|
||||
|
||||
|
||||
/* backwards-compatible definition */
|
||||
/* backward compatible definition */
|
||||
typedef PS_BlendRec T1_Blend;
|
||||
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
/* */
|
||||
/* TrueType name ID definitions (specification only). */
|
||||
/* */
|
||||
/* Copyright 1996-2016 by */
|
||||
/* Copyright 1996-2017 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
|
@ -36,7 +36,7 @@ FT_BEGIN_HEADER
|
|||
/*************************************************************************/
|
||||
/* */
|
||||
/* Possible values for the `platform' identifier code in the name */
|
||||
/* records of the TTF `name' table. */
|
||||
/* records of an SFNT `name' table. */
|
||||
/* */
|
||||
/*************************************************************************/
|
||||
|
||||
|
@ -119,14 +119,19 @@ FT_BEGIN_HEADER
|
|||
* TT_APPLE_ID_VARIANT_SELECTOR ::
|
||||
* From Adobe, not Apple. Not a normal cmap. Specifies variations
|
||||
* on a real cmap.
|
||||
*
|
||||
* TT_APPLE_ID_FULL_UNICODE ::
|
||||
* Used for fallback fonts that provide complete Unicode coverage with
|
||||
* a type~13 cmap.
|
||||
*/
|
||||
|
||||
#define TT_APPLE_ID_DEFAULT 0 /* Unicode 1.0 */
|
||||
#define TT_APPLE_ID_UNICODE_1_1 1 /* specify Hangul at U+34xx */
|
||||
#define TT_APPLE_ID_ISO_10646 2 /* deprecated */
|
||||
#define TT_APPLE_ID_UNICODE_2_0 3 /* or later */
|
||||
#define TT_APPLE_ID_DEFAULT 0 /* Unicode 1.0 */
|
||||
#define TT_APPLE_ID_UNICODE_1_1 1 /* specify Hangul at U+34xx */
|
||||
#define TT_APPLE_ID_ISO_10646 2 /* deprecated */
|
||||
#define TT_APPLE_ID_UNICODE_2_0 3 /* or later */
|
||||
#define TT_APPLE_ID_UNICODE_32 4 /* 2.0 or later, full repertoire */
|
||||
#define TT_APPLE_ID_VARIANT_SELECTOR 5 /* variation selector data */
|
||||
#define TT_APPLE_ID_VARIANT_SELECTOR 5 /* variation selector data */
|
||||
#define TT_APPLE_ID_FULL_UNICODE 6 /* used with type 13 cmaps */
|
||||
|
||||
|
||||
/***********************************************************************
|
||||
|
@ -137,42 +142,6 @@ FT_BEGIN_HEADER
|
|||
* @description:
|
||||
* A list of valid values for the `encoding_id' for
|
||||
* @TT_PLATFORM_MACINTOSH charmaps and name entries.
|
||||
*
|
||||
* @values:
|
||||
* TT_MAC_ID_ROMAN ::
|
||||
* TT_MAC_ID_JAPANESE ::
|
||||
* TT_MAC_ID_TRADITIONAL_CHINESE ::
|
||||
* TT_MAC_ID_KOREAN ::
|
||||
* TT_MAC_ID_ARABIC ::
|
||||
* TT_MAC_ID_HEBREW ::
|
||||
* TT_MAC_ID_GREEK ::
|
||||
* TT_MAC_ID_RUSSIAN ::
|
||||
* TT_MAC_ID_RSYMBOL ::
|
||||
* TT_MAC_ID_DEVANAGARI ::
|
||||
* TT_MAC_ID_GURMUKHI ::
|
||||
* TT_MAC_ID_GUJARATI ::
|
||||
* TT_MAC_ID_ORIYA ::
|
||||
* TT_MAC_ID_BENGALI ::
|
||||
* TT_MAC_ID_TAMIL ::
|
||||
* TT_MAC_ID_TELUGU ::
|
||||
* TT_MAC_ID_KANNADA ::
|
||||
* TT_MAC_ID_MALAYALAM ::
|
||||
* TT_MAC_ID_SINHALESE ::
|
||||
* TT_MAC_ID_BURMESE ::
|
||||
* TT_MAC_ID_KHMER ::
|
||||
* TT_MAC_ID_THAI ::
|
||||
* TT_MAC_ID_LAOTIAN ::
|
||||
* TT_MAC_ID_GEORGIAN ::
|
||||
* TT_MAC_ID_ARMENIAN ::
|
||||
* TT_MAC_ID_MALDIVIAN ::
|
||||
* TT_MAC_ID_SIMPLIFIED_CHINESE ::
|
||||
* TT_MAC_ID_TIBETAN ::
|
||||
* TT_MAC_ID_MONGOLIAN ::
|
||||
* TT_MAC_ID_GEEZ ::
|
||||
* TT_MAC_ID_SLAVIC ::
|
||||
* TT_MAC_ID_VIETNAMESE ::
|
||||
* TT_MAC_ID_SINDHI ::
|
||||
* TT_MAC_ID_UNINTERP ::
|
||||
*/
|
||||
|
||||
#define TT_MAC_ID_ROMAN 0
|
||||
|
@ -247,44 +216,47 @@ FT_BEGIN_HEADER
|
|||
*
|
||||
* @values:
|
||||
* TT_MS_ID_SYMBOL_CS ::
|
||||
* Corresponds to Microsoft symbol encoding. See
|
||||
* @FT_ENCODING_MS_SYMBOL.
|
||||
* Microsoft symbol encoding. See @FT_ENCODING_MS_SYMBOL.
|
||||
*
|
||||
* TT_MS_ID_UNICODE_CS ::
|
||||
* Corresponds to a Microsoft WGL4 charmap, matching Unicode. See
|
||||
* Microsoft WGL4 charmap, matching Unicode. See
|
||||
* @FT_ENCODING_UNICODE.
|
||||
*
|
||||
* TT_MS_ID_SJIS ::
|
||||
* Corresponds to SJIS Japanese encoding. See @FT_ENCODING_SJIS.
|
||||
* Shift JIS Japanese encoding. See @FT_ENCODING_SJIS.
|
||||
*
|
||||
* TT_MS_ID_GB2312 ::
|
||||
* Corresponds to Simplified Chinese as used in Mainland China. See
|
||||
* @FT_ENCODING_GB2312.
|
||||
* TT_MS_ID_PRC ::
|
||||
* Chinese encodings as used in the People's Republic of China (PRC).
|
||||
* This means the encodings GB~2312 and its supersets GBK and
|
||||
* GB~18030. See @FT_ENCODING_PRC.
|
||||
*
|
||||
* TT_MS_ID_BIG_5 ::
|
||||
* Corresponds to Traditional Chinese as used in Taiwan and Hong Kong.
|
||||
* See @FT_ENCODING_BIG5.
|
||||
* Traditional Chinese as used in Taiwan and Hong Kong. See
|
||||
* @FT_ENCODING_BIG5.
|
||||
*
|
||||
* TT_MS_ID_WANSUNG ::
|
||||
* Corresponds to Korean Wansung encoding. See @FT_ENCODING_WANSUNG.
|
||||
* Korean Extended Wansung encoding. See @FT_ENCODING_WANSUNG.
|
||||
*
|
||||
* TT_MS_ID_JOHAB ::
|
||||
* Corresponds to Johab encoding. See @FT_ENCODING_JOHAB.
|
||||
* Korean Johab encoding. See @FT_ENCODING_JOHAB.
|
||||
*
|
||||
* TT_MS_ID_UCS_4 ::
|
||||
* Corresponds to UCS-4 or UTF-32 charmaps. This has been added to
|
||||
* the OpenType specification version 1.4 (mid-2001.)
|
||||
* UCS-4 or UTF-32 charmaps. This has been added to the OpenType
|
||||
* specification version 1.4 (mid-2001).
|
||||
*/
|
||||
|
||||
#define TT_MS_ID_SYMBOL_CS 0
|
||||
#define TT_MS_ID_UNICODE_CS 1
|
||||
#define TT_MS_ID_SJIS 2
|
||||
#define TT_MS_ID_GB2312 3
|
||||
#define TT_MS_ID_PRC 3
|
||||
#define TT_MS_ID_BIG_5 4
|
||||
#define TT_MS_ID_WANSUNG 5
|
||||
#define TT_MS_ID_JOHAB 6
|
||||
#define TT_MS_ID_UCS_4 10
|
||||
|
||||
/* this value is deprecated */
|
||||
#define TT_MS_ID_GB2312 TT_MS_ID_PRC
|
||||
|
||||
|
||||
/***********************************************************************
|
||||
*
|
||||
|
@ -312,17 +284,22 @@ FT_BEGIN_HEADER
|
|||
#define TT_ADOBE_ID_LATIN_1 3
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* Possible values of the language identifier field in the name records */
|
||||
/* of the TTF `name' table if the `platform' identifier code is */
|
||||
/* TT_PLATFORM_MACINTOSH. These values are also used as return values */
|
||||
/* for function @FT_Get_CMap_Language_ID. */
|
||||
/* */
|
||||
/* The canonical source for the Apple assigned Language ID's is at */
|
||||
/* */
|
||||
/* https://developer.apple.com/fonts/TrueType-Reference-Manual/RM06/Chap6name.html */
|
||||
/* */
|
||||
/***********************************************************************
|
||||
*
|
||||
* @enum:
|
||||
* TT_MAC_LANGID_XXX
|
||||
*
|
||||
* @description:
|
||||
* Possible values of the language identifier field in the name records
|
||||
* of the SFNT `name' table if the `platform' identifier code is
|
||||
* @TT_PLATFORM_MACINTOSH. These values are also used as return values
|
||||
* for function @FT_Get_CMap_Language_ID.
|
||||
*
|
||||
* The canonical source for Apple's IDs is
|
||||
*
|
||||
* https://developer.apple.com/fonts/TrueType-Reference-Manual/RM06/Chap6name.html
|
||||
*/
|
||||
|
||||
#define TT_MAC_LANGID_ENGLISH 0
|
||||
#define TT_MAC_LANGID_FRENCH 1
|
||||
#define TT_MAC_LANGID_GERMAN 2
|
||||
|
@ -433,15 +410,6 @@ FT_BEGIN_HEADER
|
|||
#define TT_MAC_LANGID_JAVANESE 138
|
||||
#define TT_MAC_LANGID_SUNDANESE 139
|
||||
|
||||
|
||||
#if 0 /* these seem to be errors that have been dropped */
|
||||
|
||||
#define TT_MAC_LANGID_SCOTTISH_GAELIC 140
|
||||
#define TT_MAC_LANGID_IRISH_GAELIC 141
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
/* The following codes are new as of 2000-03-10 */
|
||||
#define TT_MAC_LANGID_GALICIAN 140
|
||||
#define TT_MAC_LANGID_AFRIKAANS 141
|
||||
|
@ -456,18 +424,30 @@ FT_BEGIN_HEADER
|
|||
#define TT_MAC_LANGID_AZERBAIJANI_ROMAN_SCRIPT 150
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* Possible values of the language identifier field in the name records */
|
||||
/* of the TTF `name' table if the `platform' identifier code is */
|
||||
/* TT_PLATFORM_MICROSOFT. */
|
||||
/* */
|
||||
/* The canonical source for the MS assigned LCIDs is */
|
||||
/* */
|
||||
/* http://www.microsoft.com/globaldev/reference/lcid-all.mspx */
|
||||
/* */
|
||||
/***********************************************************************
|
||||
*
|
||||
* @enum:
|
||||
* TT_MS_LANGID_XXX
|
||||
*
|
||||
* @description:
|
||||
* Possible values of the language identifier field in the name records
|
||||
* of the SFNT `name' table if the `platform' identifier code is
|
||||
* @TT_PLATFORM_MICROSOFT. These values are also used as return values
|
||||
* for function @FT_Get_CMap_Language_ID.
|
||||
*
|
||||
* The canonical source for Microsoft's IDs is
|
||||
*
|
||||
* http://www.microsoft.com/globaldev/reference/lcid-all.mspx ,
|
||||
*
|
||||
* however, we only provide macros for language identifiers present in
|
||||
* the OpenType specification: Microsoft has abandoned the concept of
|
||||
* LCIDs (language code identifiers), and format~1 of the `name' table
|
||||
* provides a better mechanism for languages not covered here.
|
||||
*
|
||||
* More legacy values not listed in the reference can be found in the
|
||||
* @FT_TRUETYPE_IDS_H header file.
|
||||
*/
|
||||
|
||||
#define TT_MS_LANGID_ARABIC_GENERAL 0x0001
|
||||
#define TT_MS_LANGID_ARABIC_SAUDI_ARABIA 0x0401
|
||||
#define TT_MS_LANGID_ARABIC_IRAQ 0x0801
|
||||
#define TT_MS_LANGID_ARABIC_EGYPT 0x0C01
|
||||
|
@ -485,39 +465,20 @@ FT_BEGIN_HEADER
|
|||
#define TT_MS_LANGID_ARABIC_BAHRAIN 0x3C01
|
||||
#define TT_MS_LANGID_ARABIC_QATAR 0x4001
|
||||
#define TT_MS_LANGID_BULGARIAN_BULGARIA 0x0402
|
||||
#define TT_MS_LANGID_CATALAN_SPAIN 0x0403
|
||||
#define TT_MS_LANGID_CHINESE_GENERAL 0x0004
|
||||
#define TT_MS_LANGID_CATALAN_CATALAN 0x0403
|
||||
#define TT_MS_LANGID_CHINESE_TAIWAN 0x0404
|
||||
#define TT_MS_LANGID_CHINESE_PRC 0x0804
|
||||
#define TT_MS_LANGID_CHINESE_HONG_KONG 0x0C04
|
||||
#define TT_MS_LANGID_CHINESE_SINGAPORE 0x1004
|
||||
|
||||
#if 1 /* this looks like the correct value */
|
||||
#define TT_MS_LANGID_CHINESE_MACAU 0x1404
|
||||
#else /* but beware, Microsoft may change its mind...
|
||||
the most recent Word reference has the following: */
|
||||
#define TT_MS_LANGID_CHINESE_MACAU TT_MS_LANGID_CHINESE_HONG_KONG
|
||||
#endif
|
||||
|
||||
#if 0 /* used only with .NET `cultures'; commented out */
|
||||
#define TT_MS_LANGID_CHINESE_TRADITIONAL 0x7C04
|
||||
#endif
|
||||
|
||||
#define TT_MS_LANGID_CHINESE_MACAO 0x1404
|
||||
#define TT_MS_LANGID_CZECH_CZECH_REPUBLIC 0x0405
|
||||
#define TT_MS_LANGID_DANISH_DENMARK 0x0406
|
||||
#define TT_MS_LANGID_GERMAN_GERMANY 0x0407
|
||||
#define TT_MS_LANGID_GERMAN_SWITZERLAND 0x0807
|
||||
#define TT_MS_LANGID_GERMAN_AUSTRIA 0x0C07
|
||||
#define TT_MS_LANGID_GERMAN_LUXEMBOURG 0x1007
|
||||
#define TT_MS_LANGID_GERMAN_LIECHTENSTEI 0x1407
|
||||
#define TT_MS_LANGID_GERMAN_LIECHTENSTEIN 0x1407
|
||||
#define TT_MS_LANGID_GREEK_GREECE 0x0408
|
||||
|
||||
/* don't ask what this one means... It is commented out currently. */
|
||||
#if 0
|
||||
#define TT_MS_LANGID_GREEK_GREECE2 0x2008
|
||||
#endif
|
||||
|
||||
#define TT_MS_LANGID_ENGLISH_GENERAL 0x0009
|
||||
#define TT_MS_LANGID_ENGLISH_UNITED_STATES 0x0409
|
||||
#define TT_MS_LANGID_ENGLISH_UNITED_KINGDOM 0x0809
|
||||
#define TT_MS_LANGID_ENGLISH_AUSTRALIA 0x0C09
|
||||
|
@ -531,14 +492,12 @@ FT_BEGIN_HEADER
|
|||
#define TT_MS_LANGID_ENGLISH_TRINIDAD 0x2C09
|
||||
#define TT_MS_LANGID_ENGLISH_ZIMBABWE 0x3009
|
||||
#define TT_MS_LANGID_ENGLISH_PHILIPPINES 0x3409
|
||||
#define TT_MS_LANGID_ENGLISH_INDONESIA 0x3809
|
||||
#define TT_MS_LANGID_ENGLISH_HONG_KONG 0x3C09
|
||||
#define TT_MS_LANGID_ENGLISH_INDIA 0x4009
|
||||
#define TT_MS_LANGID_ENGLISH_MALAYSIA 0x4409
|
||||
#define TT_MS_LANGID_ENGLISH_SINGAPORE 0x4809
|
||||
#define TT_MS_LANGID_SPANISH_SPAIN_TRADITIONAL_SORT 0x040A
|
||||
#define TT_MS_LANGID_SPANISH_MEXICO 0x080A
|
||||
#define TT_MS_LANGID_SPANISH_SPAIN_INTERNATIONAL_SORT 0x0C0A
|
||||
#define TT_MS_LANGID_SPANISH_SPAIN_MODERN_SORT 0x0C0A
|
||||
#define TT_MS_LANGID_SPANISH_GUATEMALA 0x100A
|
||||
#define TT_MS_LANGID_SPANISH_COSTA_RICA 0x140A
|
||||
#define TT_MS_LANGID_SPANISH_PANAMA 0x180A
|
||||
|
@ -557,9 +516,6 @@ FT_BEGIN_HEADER
|
|||
#define TT_MS_LANGID_SPANISH_NICARAGUA 0x4C0A
|
||||
#define TT_MS_LANGID_SPANISH_PUERTO_RICO 0x500A
|
||||
#define TT_MS_LANGID_SPANISH_UNITED_STATES 0x540A
|
||||
/* The following ID blatantly violate MS specs by using a */
|
||||
/* sublanguage > 0x1F. */
|
||||
#define TT_MS_LANGID_SPANISH_LATIN_AMERICA 0xE40AU
|
||||
#define TT_MS_LANGID_FINNISH_FINLAND 0x040B
|
||||
#define TT_MS_LANGID_FRENCH_FRANCE 0x040C
|
||||
#define TT_MS_LANGID_FRENCH_BELGIUM 0x080C
|
||||
|
@ -567,27 +523,13 @@ FT_BEGIN_HEADER
|
|||
#define TT_MS_LANGID_FRENCH_SWITZERLAND 0x100C
|
||||
#define TT_MS_LANGID_FRENCH_LUXEMBOURG 0x140C
|
||||
#define TT_MS_LANGID_FRENCH_MONACO 0x180C
|
||||
#define TT_MS_LANGID_FRENCH_WEST_INDIES 0x1C0C
|
||||
#define TT_MS_LANGID_FRENCH_REUNION 0x200C
|
||||
#define TT_MS_LANGID_FRENCH_CONGO 0x240C
|
||||
/* which was formerly: */
|
||||
#define TT_MS_LANGID_FRENCH_ZAIRE TT_MS_LANGID_FRENCH_CONGO
|
||||
#define TT_MS_LANGID_FRENCH_SENEGAL 0x280C
|
||||
#define TT_MS_LANGID_FRENCH_CAMEROON 0x2C0C
|
||||
#define TT_MS_LANGID_FRENCH_COTE_D_IVOIRE 0x300C
|
||||
#define TT_MS_LANGID_FRENCH_MALI 0x340C
|
||||
#define TT_MS_LANGID_FRENCH_MOROCCO 0x380C
|
||||
#define TT_MS_LANGID_FRENCH_HAITI 0x3C0C
|
||||
/* and another violation of the spec (see 0xE40AU) */
|
||||
#define TT_MS_LANGID_FRENCH_NORTH_AFRICA 0xE40CU
|
||||
#define TT_MS_LANGID_HEBREW_ISRAEL 0x040D
|
||||
#define TT_MS_LANGID_HUNGARIAN_HUNGARY 0x040E
|
||||
#define TT_MS_LANGID_ICELANDIC_ICELAND 0x040F
|
||||
#define TT_MS_LANGID_ITALIAN_ITALY 0x0410
|
||||
#define TT_MS_LANGID_ITALIAN_SWITZERLAND 0x0810
|
||||
#define TT_MS_LANGID_JAPANESE_JAPAN 0x0411
|
||||
#define TT_MS_LANGID_KOREAN_EXTENDED_WANSUNG_KOREA 0x0412
|
||||
#define TT_MS_LANGID_KOREAN_JOHAB_KOREA 0x0812
|
||||
#define TT_MS_LANGID_KOREAN_KOREA 0x0412
|
||||
#define TT_MS_LANGID_DUTCH_NETHERLANDS 0x0413
|
||||
#define TT_MS_LANGID_DUTCH_BELGIUM 0x0813
|
||||
#define TT_MS_LANGID_NORWEGIAN_NORWAY_BOKMAL 0x0414
|
||||
|
@ -595,26 +537,17 @@ FT_BEGIN_HEADER
|
|||
#define TT_MS_LANGID_POLISH_POLAND 0x0415
|
||||
#define TT_MS_LANGID_PORTUGUESE_BRAZIL 0x0416
|
||||
#define TT_MS_LANGID_PORTUGUESE_PORTUGAL 0x0816
|
||||
#define TT_MS_LANGID_RHAETO_ROMANIC_SWITZERLAND 0x0417
|
||||
#define TT_MS_LANGID_ROMANSH_SWITZERLAND 0x0417
|
||||
#define TT_MS_LANGID_ROMANIAN_ROMANIA 0x0418
|
||||
#define TT_MS_LANGID_MOLDAVIAN_MOLDAVIA 0x0818
|
||||
#define TT_MS_LANGID_RUSSIAN_RUSSIA 0x0419
|
||||
#define TT_MS_LANGID_RUSSIAN_MOLDAVIA 0x0819
|
||||
#define TT_MS_LANGID_CROATIAN_CROATIA 0x041A
|
||||
#define TT_MS_LANGID_SERBIAN_SERBIA_LATIN 0x081A
|
||||
#define TT_MS_LANGID_SERBIAN_SERBIA_CYRILLIC 0x0C1A
|
||||
|
||||
#if 0 /* this used to be this value, but it looks like we were wrong */
|
||||
#define TT_MS_LANGID_BOSNIAN_BOSNIA_HERZEGOVINA 0x101A
|
||||
#else /* current sources say */
|
||||
#define TT_MS_LANGID_CROATIAN_BOSNIA_HERZEGOVINA 0x101A
|
||||
#define TT_MS_LANGID_BOSNIAN_BOSNIA_HERZEGOVINA 0x141A
|
||||
/* and XPsp2 Platform SDK added (2004-07-26) */
|
||||
/* Names are shortened to be significant within 40 chars. */
|
||||
#define TT_MS_LANGID_SERBIAN_BOSNIA_HERZ_LATIN 0x181A
|
||||
#define TT_MS_LANGID_SERBIAN_BOSNIA_HERZ_CYRILLIC 0x181A
|
||||
#endif
|
||||
|
||||
#define TT_MS_LANGID_SERBIAN_BOSNIA_HERZ_CYRILLIC 0x1C1A
|
||||
#define TT_MS_LANGID_BOSNIAN_BOSNIA_HERZ_CYRILLIC 0x201A
|
||||
#define TT_MS_LANGID_SLOVAK_SLOVAKIA 0x041B
|
||||
#define TT_MS_LANGID_ALBANIAN_ALBANIA 0x041C
|
||||
#define TT_MS_LANGID_SWEDISH_SWEDEN 0x041D
|
||||
|
@ -622,36 +555,30 @@ FT_BEGIN_HEADER
|
|||
#define TT_MS_LANGID_THAI_THAILAND 0x041E
|
||||
#define TT_MS_LANGID_TURKISH_TURKEY 0x041F
|
||||
#define TT_MS_LANGID_URDU_PAKISTAN 0x0420
|
||||
#define TT_MS_LANGID_URDU_INDIA 0x0820
|
||||
#define TT_MS_LANGID_INDONESIAN_INDONESIA 0x0421
|
||||
#define TT_MS_LANGID_UKRAINIAN_UKRAINE 0x0422
|
||||
#define TT_MS_LANGID_BELARUSIAN_BELARUS 0x0423
|
||||
#define TT_MS_LANGID_SLOVENE_SLOVENIA 0x0424
|
||||
#define TT_MS_LANGID_SLOVENIAN_SLOVENIA 0x0424
|
||||
#define TT_MS_LANGID_ESTONIAN_ESTONIA 0x0425
|
||||
#define TT_MS_LANGID_LATVIAN_LATVIA 0x0426
|
||||
#define TT_MS_LANGID_LITHUANIAN_LITHUANIA 0x0427
|
||||
#define TT_MS_LANGID_CLASSIC_LITHUANIAN_LITHUANIA 0x0827
|
||||
#define TT_MS_LANGID_TAJIK_TAJIKISTAN 0x0428
|
||||
#define TT_MS_LANGID_FARSI_IRAN 0x0429
|
||||
#define TT_MS_LANGID_VIETNAMESE_VIET_NAM 0x042A
|
||||
#define TT_MS_LANGID_ARMENIAN_ARMENIA 0x042B
|
||||
#define TT_MS_LANGID_AZERI_AZERBAIJAN_LATIN 0x042C
|
||||
#define TT_MS_LANGID_AZERI_AZERBAIJAN_CYRILLIC 0x082C
|
||||
#define TT_MS_LANGID_BASQUE_SPAIN 0x042D
|
||||
#define TT_MS_LANGID_SORBIAN_GERMANY 0x042E
|
||||
#define TT_MS_LANGID_BASQUE_BASQUE 0x042D
|
||||
#define TT_MS_LANGID_UPPER_SORBIAN_GERMANY 0x042E
|
||||
#define TT_MS_LANGID_LOWER_SORBIAN_GERMANY 0x082E
|
||||
#define TT_MS_LANGID_MACEDONIAN_MACEDONIA 0x042F
|
||||
#define TT_MS_LANGID_SUTU_SOUTH_AFRICA 0x0430
|
||||
#define TT_MS_LANGID_TSONGA_SOUTH_AFRICA 0x0431
|
||||
#define TT_MS_LANGID_TSWANA_SOUTH_AFRICA 0x0432
|
||||
#define TT_MS_LANGID_VENDA_SOUTH_AFRICA 0x0433
|
||||
#define TT_MS_LANGID_XHOSA_SOUTH_AFRICA 0x0434
|
||||
#define TT_MS_LANGID_ZULU_SOUTH_AFRICA 0x0435
|
||||
#define TT_MS_LANGID_SETSWANA_SOUTH_AFRICA 0x0432
|
||||
#define TT_MS_LANGID_ISIXHOSA_SOUTH_AFRICA 0x0434
|
||||
#define TT_MS_LANGID_ISIZULU_SOUTH_AFRICA 0x0435
|
||||
#define TT_MS_LANGID_AFRIKAANS_SOUTH_AFRICA 0x0436
|
||||
#define TT_MS_LANGID_GEORGIAN_GEORGIA 0x0437
|
||||
#define TT_MS_LANGID_FAEROESE_FAEROE_ISLANDS 0x0438
|
||||
#define TT_MS_LANGID_HINDI_INDIA 0x0439
|
||||
#define TT_MS_LANGID_MALTESE_MALTA 0x043A
|
||||
/* Added by XPsp2 Platform SDK (2004-07-26) */
|
||||
#define TT_MS_LANGID_SAMI_NORTHERN_NORWAY 0x043B
|
||||
#define TT_MS_LANGID_SAMI_NORTHERN_SWEDEN 0x083B
|
||||
#define TT_MS_LANGID_SAMI_NORTHERN_FINLAND 0x0C3B
|
||||
|
@ -661,37 +588,21 @@ FT_BEGIN_HEADER
|
|||
#define TT_MS_LANGID_SAMI_SOUTHERN_SWEDEN 0x1C3B
|
||||
#define TT_MS_LANGID_SAMI_SKOLT_FINLAND 0x203B
|
||||
#define TT_MS_LANGID_SAMI_INARI_FINLAND 0x243B
|
||||
/* ... and we also keep our old identifier... */
|
||||
#define TT_MS_LANGID_SAAMI_LAPONIA 0x043B
|
||||
|
||||
#if 0 /* this seems to be a previous inversion */
|
||||
#define TT_MS_LANGID_IRISH_GAELIC_IRELAND 0x043C
|
||||
#define TT_MS_LANGID_SCOTTISH_GAELIC_UNITED_KINGDOM 0x083C
|
||||
#else
|
||||
#define TT_MS_LANGID_SCOTTISH_GAELIC_UNITED_KINGDOM 0x083C
|
||||
#define TT_MS_LANGID_IRISH_GAELIC_IRELAND 0x043C
|
||||
#endif
|
||||
|
||||
#define TT_MS_LANGID_YIDDISH_GERMANY 0x043D
|
||||
#define TT_MS_LANGID_IRISH_IRELAND 0x083C
|
||||
#define TT_MS_LANGID_MALAY_MALAYSIA 0x043E
|
||||
#define TT_MS_LANGID_MALAY_BRUNEI_DARUSSALAM 0x083E
|
||||
#define TT_MS_LANGID_KAZAK_KAZAKSTAN 0x043F
|
||||
#define TT_MS_LANGID_KIRGHIZ_KIRGHIZSTAN /* Cyrillic*/ 0x0440
|
||||
/* alias declared in Windows 2000 */
|
||||
#define TT_MS_LANGID_KIRGHIZ_KIRGHIZ_REPUBLIC \
|
||||
TT_MS_LANGID_KIRGHIZ_KIRGHIZSTAN
|
||||
|
||||
#define TT_MS_LANGID_SWAHILI_KENYA 0x0441
|
||||
#define TT_MS_LANGID_KAZAKH_KAZAKHSTAN 0x043F
|
||||
#define TT_MS_LANGID_KYRGYZ_KYRGYZSTAN /* Cyrillic*/ 0x0440
|
||||
#define TT_MS_LANGID_KISWAHILI_KENYA 0x0441
|
||||
#define TT_MS_LANGID_TURKMEN_TURKMENISTAN 0x0442
|
||||
#define TT_MS_LANGID_UZBEK_UZBEKISTAN_LATIN 0x0443
|
||||
#define TT_MS_LANGID_UZBEK_UZBEKISTAN_CYRILLIC 0x0843
|
||||
#define TT_MS_LANGID_TATAR_TATARSTAN 0x0444
|
||||
#define TT_MS_LANGID_TATAR_RUSSIA 0x0444
|
||||
#define TT_MS_LANGID_BENGALI_INDIA 0x0445
|
||||
#define TT_MS_LANGID_BENGALI_BANGLADESH 0x0845
|
||||
#define TT_MS_LANGID_PUNJABI_INDIA 0x0446
|
||||
#define TT_MS_LANGID_PUNJABI_ARABIC_PAKISTAN 0x0846
|
||||
#define TT_MS_LANGID_GUJARATI_INDIA 0x0447
|
||||
#define TT_MS_LANGID_ORIYA_INDIA 0x0448
|
||||
#define TT_MS_LANGID_ODIA_INDIA 0x0448
|
||||
#define TT_MS_LANGID_TAMIL_INDIA 0x0449
|
||||
#define TT_MS_LANGID_TELUGU_INDIA 0x044A
|
||||
#define TT_MS_LANGID_KANNADA_INDIA 0x044B
|
||||
|
@ -700,142 +611,241 @@ FT_BEGIN_HEADER
|
|||
#define TT_MS_LANGID_MARATHI_INDIA 0x044E
|
||||
#define TT_MS_LANGID_SANSKRIT_INDIA 0x044F
|
||||
#define TT_MS_LANGID_MONGOLIAN_MONGOLIA /* Cyrillic */ 0x0450
|
||||
#define TT_MS_LANGID_MONGOLIAN_MONGOLIA_MONGOLIAN 0x0850
|
||||
#define TT_MS_LANGID_TIBETAN_CHINA 0x0451
|
||||
/* Don't use the next constant! It has */
|
||||
/* (1) the wrong spelling (Dzonghka) */
|
||||
/* (2) Microsoft doesn't officially define it -- */
|
||||
/* at least it is not in the List of Local */
|
||||
/* ID Values. */
|
||||
/* (3) Dzongkha is not the same language as */
|
||||
/* Tibetan, so merging it is wrong anyway. */
|
||||
/* */
|
||||
/* TT_MS_LANGID_TIBETAN_BHUTAN is correct, BTW. */
|
||||
#define TT_MS_LANGID_DZONGHKA_BHUTAN 0x0851
|
||||
|
||||
#if 0
|
||||
/* the following used to be defined */
|
||||
#define TT_MS_LANGID_TIBETAN_BHUTAN 0x0451
|
||||
/* ... but it was changed; */
|
||||
#else
|
||||
/* So we will continue to #define it, but with the correct value */
|
||||
#define TT_MS_LANGID_TIBETAN_BHUTAN TT_MS_LANGID_DZONGHKA_BHUTAN
|
||||
#endif
|
||||
|
||||
#define TT_MS_LANGID_WELSH_WALES 0x0452
|
||||
#define TT_MS_LANGID_MONGOLIAN_PRC 0x0850
|
||||
#define TT_MS_LANGID_TIBETAN_PRC 0x0451
|
||||
#define TT_MS_LANGID_WELSH_UNITED_KINGDOM 0x0452
|
||||
#define TT_MS_LANGID_KHMER_CAMBODIA 0x0453
|
||||
#define TT_MS_LANGID_LAO_LAOS 0x0454
|
||||
#define TT_MS_LANGID_BURMESE_MYANMAR 0x0455
|
||||
#define TT_MS_LANGID_GALICIAN_SPAIN 0x0456
|
||||
#define TT_MS_LANGID_GALICIAN_GALICIAN 0x0456
|
||||
#define TT_MS_LANGID_KONKANI_INDIA 0x0457
|
||||
#define TT_MS_LANGID_MANIPURI_INDIA /* Bengali */ 0x0458
|
||||
#define TT_MS_LANGID_SINDHI_INDIA /* Arabic */ 0x0459
|
||||
#define TT_MS_LANGID_SINDHI_PAKISTAN 0x0859
|
||||
/* Missing a LCID for Sindhi in Devanagari script */
|
||||
#define TT_MS_LANGID_SYRIAC_SYRIA 0x045A
|
||||
#define TT_MS_LANGID_SINHALESE_SRI_LANKA 0x045B
|
||||
#define TT_MS_LANGID_CHEROKEE_UNITED_STATES 0x045C
|
||||
#define TT_MS_LANGID_SINHALA_SRI_LANKA 0x045B
|
||||
#define TT_MS_LANGID_INUKTITUT_CANADA 0x045D
|
||||
#define TT_MS_LANGID_INUKTITUT_CANADA_LATIN 0x085D
|
||||
#define TT_MS_LANGID_AMHARIC_ETHIOPIA 0x045E
|
||||
#define TT_MS_LANGID_TAMAZIGHT_MOROCCO /* Arabic */ 0x045F
|
||||
#define TT_MS_LANGID_TAMAZIGHT_MOROCCO_LATIN 0x085F
|
||||
/* Missing a LCID for Tifinagh script */
|
||||
#define TT_MS_LANGID_KASHMIRI_PAKISTAN /* Arabic */ 0x0460
|
||||
/* Spelled this way by XPsp2 Platform SDK (2004-07-26) */
|
||||
/* script is yet unclear... might be Arabic, Nagari or Sharada */
|
||||
#define TT_MS_LANGID_KASHMIRI_SASIA 0x0860
|
||||
/* ... and aliased (by MS) for compatibility reasons. */
|
||||
#define TT_MS_LANGID_KASHMIRI_INDIA TT_MS_LANGID_KASHMIRI_SASIA
|
||||
#define TT_MS_LANGID_TAMAZIGHT_ALGERIA 0x085F
|
||||
#define TT_MS_LANGID_NEPALI_NEPAL 0x0461
|
||||
#define TT_MS_LANGID_NEPALI_INDIA 0x0861
|
||||
#define TT_MS_LANGID_FRISIAN_NETHERLANDS 0x0462
|
||||
#define TT_MS_LANGID_PASHTO_AFGHANISTAN 0x0463
|
||||
#define TT_MS_LANGID_FILIPINO_PHILIPPINES 0x0464
|
||||
#define TT_MS_LANGID_DHIVEHI_MALDIVES 0x0465
|
||||
/* alias declared in Windows 2000 */
|
||||
#define TT_MS_LANGID_DIVEHI_MALDIVES TT_MS_LANGID_DHIVEHI_MALDIVES
|
||||
#define TT_MS_LANGID_EDO_NIGERIA 0x0466
|
||||
#define TT_MS_LANGID_FULFULDE_NIGERIA 0x0467
|
||||
#define TT_MS_LANGID_HAUSA_NIGERIA 0x0468
|
||||
#define TT_MS_LANGID_IBIBIO_NIGERIA 0x0469
|
||||
#define TT_MS_LANGID_YORUBA_NIGERIA 0x046A
|
||||
#define TT_MS_LANGID_QUECHUA_BOLIVIA 0x046B
|
||||
#define TT_MS_LANGID_QUECHUA_ECUADOR 0x086B
|
||||
#define TT_MS_LANGID_QUECHUA_PERU 0x0C6B
|
||||
#define TT_MS_LANGID_SEPEDI_SOUTH_AFRICA 0x046C
|
||||
/* Also spelled by XPsp2 Platform SDK (2004-07-26) */
|
||||
#define TT_MS_LANGID_SOTHO_SOUTHERN_SOUTH_AFRICA \
|
||||
TT_MS_LANGID_SEPEDI_SOUTH_AFRICA
|
||||
/* language codes 0x046D, 0x046E and 0x046F are (still) unknown. */
|
||||
#define TT_MS_LANGID_SESOTHO_SA_LEBOA_SOUTH_AFRICA 0x046C
|
||||
#define TT_MS_LANGID_BASHKIR_RUSSIA 0x046D
|
||||
#define TT_MS_LANGID_LUXEMBOURGISH_LUXEMBOURG 0x046E
|
||||
#define TT_MS_LANGID_GREENLANDIC_GREENLAND 0x046F
|
||||
#define TT_MS_LANGID_IGBO_NIGERIA 0x0470
|
||||
#define TT_MS_LANGID_YI_PRC 0x0478
|
||||
#define TT_MS_LANGID_MAPUDUNGUN_CHILE 0x047A
|
||||
#define TT_MS_LANGID_MOHAWK_MOHAWK 0x047C
|
||||
#define TT_MS_LANGID_BRETON_FRANCE 0x047E
|
||||
#define TT_MS_LANGID_UIGHUR_PRC 0x0480
|
||||
#define TT_MS_LANGID_MAORI_NEW_ZEALAND 0x0481
|
||||
#define TT_MS_LANGID_OCCITAN_FRANCE 0x0482
|
||||
#define TT_MS_LANGID_CORSICAN_FRANCE 0x0483
|
||||
#define TT_MS_LANGID_ALSATIAN_FRANCE 0x0484
|
||||
#define TT_MS_LANGID_YAKUT_RUSSIA 0x0485
|
||||
#define TT_MS_LANGID_KICHE_GUATEMALA 0x0486
|
||||
#define TT_MS_LANGID_KINYARWANDA_RWANDA 0x0487
|
||||
#define TT_MS_LANGID_WOLOF_SENEGAL 0x0488
|
||||
#define TT_MS_LANGID_DARI_AFGHANISTAN 0x048C
|
||||
|
||||
/* */
|
||||
|
||||
|
||||
/* legacy macro definitions not present in OpenType 1.8.1 */
|
||||
#define TT_MS_LANGID_ARABIC_GENERAL 0x0001
|
||||
#define TT_MS_LANGID_CATALAN_SPAIN \
|
||||
TT_MS_LANGID_CATALAN_CATALAN
|
||||
#define TT_MS_LANGID_CHINESE_GENERAL 0x0004
|
||||
#define TT_MS_LANGID_CHINESE_MACAU \
|
||||
TT_MS_LANGID_CHINESE_MACAO
|
||||
#define TT_MS_LANGID_GERMAN_LIECHTENSTEI \
|
||||
TT_MS_LANGID_GERMAN_LIECHTENSTEIN
|
||||
#define TT_MS_LANGID_ENGLISH_GENERAL 0x0009
|
||||
#define TT_MS_LANGID_ENGLISH_INDONESIA 0x3809
|
||||
#define TT_MS_LANGID_ENGLISH_HONG_KONG 0x3C09
|
||||
#define TT_MS_LANGID_SPANISH_SPAIN_INTERNATIONAL_SORT \
|
||||
TT_MS_LANGID_SPANISH_SPAIN_MODERN_SORT
|
||||
#define TT_MS_LANGID_SPANISH_LATIN_AMERICA 0xE40AU
|
||||
#define TT_MS_LANGID_FRENCH_WEST_INDIES 0x1C0C
|
||||
#define TT_MS_LANGID_FRENCH_REUNION 0x200C
|
||||
#define TT_MS_LANGID_FRENCH_CONGO 0x240C
|
||||
/* which was formerly: */
|
||||
#define TT_MS_LANGID_FRENCH_ZAIRE \
|
||||
TT_MS_LANGID_FRENCH_CONGO
|
||||
#define TT_MS_LANGID_FRENCH_SENEGAL 0x280C
|
||||
#define TT_MS_LANGID_FRENCH_CAMEROON 0x2C0C
|
||||
#define TT_MS_LANGID_FRENCH_COTE_D_IVOIRE 0x300C
|
||||
#define TT_MS_LANGID_FRENCH_MALI 0x340C
|
||||
#define TT_MS_LANGID_FRENCH_MOROCCO 0x380C
|
||||
#define TT_MS_LANGID_FRENCH_HAITI 0x3C0C
|
||||
#define TT_MS_LANGID_FRENCH_NORTH_AFRICA 0xE40CU
|
||||
#define TT_MS_LANGID_KOREAN_EXTENDED_WANSUNG_KOREA \
|
||||
TT_MS_LANGID_KOREAN_KOREA
|
||||
#define TT_MS_LANGID_KOREAN_JOHAB_KOREA 0x0812
|
||||
#define TT_MS_LANGID_RHAETO_ROMANIC_SWITZERLAND \
|
||||
TT_MS_LANGID_ROMANSH_SWITZERLAND
|
||||
#define TT_MS_LANGID_MOLDAVIAN_MOLDAVIA 0x0818
|
||||
#define TT_MS_LANGID_RUSSIAN_MOLDAVIA 0x0819
|
||||
#define TT_MS_LANGID_URDU_INDIA 0x0820
|
||||
#define TT_MS_LANGID_CLASSIC_LITHUANIAN_LITHUANIA 0x0827
|
||||
#define TT_MS_LANGID_SLOVENE_SLOVENIA \
|
||||
TT_MS_LANGID_SLOVENIAN_SLOVENIA
|
||||
#define TT_MS_LANGID_FARSI_IRAN 0x0429
|
||||
#define TT_MS_LANGID_BASQUE_SPAIN \
|
||||
TT_MS_LANGID_BASQUE_BASQUE
|
||||
#define TT_MS_LANGID_SORBIAN_GERMANY \
|
||||
TT_MS_LANGID_UPPER_SORBIAN_GERMANY
|
||||
#define TT_MS_LANGID_SUTU_SOUTH_AFRICA 0x0430
|
||||
#define TT_MS_LANGID_TSONGA_SOUTH_AFRICA 0x0431
|
||||
#define TT_MS_LANGID_TSWANA_SOUTH_AFRICA \
|
||||
TT_MS_LANGID_SETSWANA_SOUTH_AFRICA
|
||||
#define TT_MS_LANGID_VENDA_SOUTH_AFRICA 0x0433
|
||||
#define TT_MS_LANGID_XHOSA_SOUTH_AFRICA \
|
||||
TT_MS_LANGID_ISIXHOSA_SOUTH_AFRICA
|
||||
#define TT_MS_LANGID_ZULU_SOUTH_AFRICA \
|
||||
TT_MS_LANGID_ISIZULU_SOUTH_AFRICA
|
||||
#define TT_MS_LANGID_SAAMI_LAPONIA 0x043B
|
||||
/* the next two values are incorrectly inverted */
|
||||
#define TT_MS_LANGID_IRISH_GAELIC_IRELAND 0x043C
|
||||
#define TT_MS_LANGID_SCOTTISH_GAELIC_UNITED_KINGDOM 0x083C
|
||||
#define TT_MS_LANGID_YIDDISH_GERMANY 0x043D
|
||||
#define TT_MS_LANGID_KAZAK_KAZAKSTAN \
|
||||
TT_MS_LANGID_KAZAKH_KAZAKHSTAN
|
||||
#define TT_MS_LANGID_KIRGHIZ_KIRGHIZ_REPUBLIC \
|
||||
TT_MS_LANGID_KYRGYZ_KYRGYZSTAN
|
||||
#define TT_MS_LANGID_KIRGHIZ_KIRGHIZSTAN \
|
||||
TT_MS_LANGID_KYRGYZ_KYRGYZSTAN
|
||||
#define TT_MS_LANGID_SWAHILI_KENYA \
|
||||
TT_MS_LANGID_KISWAHILI_KENYA
|
||||
#define TT_MS_LANGID_TATAR_TATARSTAN \
|
||||
TT_MS_LANGID_TATAR_RUSSIA
|
||||
#define TT_MS_LANGID_PUNJABI_ARABIC_PAKISTAN 0x0846
|
||||
#define TT_MS_LANGID_ORIYA_INDIA \
|
||||
TT_MS_LANGID_ODIA_INDIA
|
||||
#define TT_MS_LANGID_MONGOLIAN_MONGOLIA_MONGOLIAN \
|
||||
TT_MS_LANGID_MONGOLIAN_PRC
|
||||
#define TT_MS_LANGID_TIBETAN_CHINA \
|
||||
TT_MS_LANGID_TIBETAN_PRC
|
||||
#define TT_MS_LANGID_DZONGHKA_BHUTAN 0x0851
|
||||
#define TT_MS_LANGID_TIBETAN_BHUTAN \
|
||||
TT_MS_LANGID_DZONGHKA_BHUTAN
|
||||
#define TT_MS_LANGID_WELSH_WALES \
|
||||
TT_MS_LANGID_WELSH_UNITED_KINGDOM
|
||||
#define TT_MS_LANGID_BURMESE_MYANMAR 0x0455
|
||||
#define TT_MS_LANGID_GALICIAN_SPAIN \
|
||||
TT_MS_LANGID_GALICIAN_GALICIAN
|
||||
#define TT_MS_LANGID_MANIPURI_INDIA /* Bengali */ 0x0458
|
||||
#define TT_MS_LANGID_SINDHI_INDIA /* Arabic */ 0x0459
|
||||
#define TT_MS_LANGID_SINDHI_PAKISTAN 0x0859
|
||||
#define TT_MS_LANGID_SINHALESE_SRI_LANKA \
|
||||
TT_MS_LANGID_SINHALA_SRI_LANKA
|
||||
#define TT_MS_LANGID_CHEROKEE_UNITED_STATES 0x045C
|
||||
#define TT_MS_LANGID_TAMAZIGHT_MOROCCO /* Arabic */ 0x045F
|
||||
#define TT_MS_LANGID_TAMAZIGHT_MOROCCO_LATIN \
|
||||
TT_MS_LANGID_TAMAZIGHT_ALGERIA
|
||||
#define TT_MS_LANGID_KASHMIRI_PAKISTAN /* Arabic */ 0x0460
|
||||
#define TT_MS_LANGID_KASHMIRI_SASIA 0x0860
|
||||
#define TT_MS_LANGID_KASHMIRI_INDIA \
|
||||
TT_MS_LANGID_KASHMIRI_SASIA
|
||||
#define TT_MS_LANGID_NEPALI_INDIA 0x0861
|
||||
#define TT_MS_LANGID_DIVEHI_MALDIVES \
|
||||
TT_MS_LANGID_DHIVEHI_MALDIVES
|
||||
#define TT_MS_LANGID_EDO_NIGERIA 0x0466
|
||||
#define TT_MS_LANGID_FULFULDE_NIGERIA 0x0467
|
||||
#define TT_MS_LANGID_IBIBIO_NIGERIA 0x0469
|
||||
#define TT_MS_LANGID_SEPEDI_SOUTH_AFRICA \
|
||||
TT_MS_LANGID_SESOTHO_SA_LEBOA_SOUTH_AFRICA
|
||||
#define TT_MS_LANGID_SOTHO_SOUTHERN_SOUTH_AFRICA \
|
||||
TT_MS_LANGID_SESOTHO_SA_LEBOA_SOUTH_AFRICA
|
||||
#define TT_MS_LANGID_KANURI_NIGERIA 0x0471
|
||||
#define TT_MS_LANGID_OROMO_ETHIOPIA 0x0472
|
||||
#define TT_MS_LANGID_TIGRIGNA_ETHIOPIA 0x0473
|
||||
#define TT_MS_LANGID_TIGRIGNA_ERYTHREA 0x0873
|
||||
/* also spelled in the `Passport SDK' list as: */
|
||||
#define TT_MS_LANGID_TIGRIGNA_ERYTREA TT_MS_LANGID_TIGRIGNA_ERYTHREA
|
||||
#define TT_MS_LANGID_TIGRIGNA_ERYTREA \
|
||||
TT_MS_LANGID_TIGRIGNA_ERYTHREA
|
||||
#define TT_MS_LANGID_GUARANI_PARAGUAY 0x0474
|
||||
#define TT_MS_LANGID_HAWAIIAN_UNITED_STATES 0x0475
|
||||
#define TT_MS_LANGID_LATIN 0x0476
|
||||
#define TT_MS_LANGID_SOMALI_SOMALIA 0x0477
|
||||
/* Note: Yi does not have a (proper) ISO 639-2 code, since it is mostly */
|
||||
/* not written (but OTOH the peculiar writing system is worth */
|
||||
/* studying). */
|
||||
#define TT_MS_LANGID_YI_CHINA 0x0478
|
||||
#define TT_MS_LANGID_YI_CHINA \
|
||||
TT_MS_LANGID_YI_PRC
|
||||
#define TT_MS_LANGID_PAPIAMENTU_NETHERLANDS_ANTILLES 0x0479
|
||||
/* language codes from 0x047A to 0x047F are (still) unknown. */
|
||||
#define TT_MS_LANGID_UIGHUR_CHINA 0x0480
|
||||
#define TT_MS_LANGID_MAORI_NEW_ZEALAND 0x0481
|
||||
|
||||
#if 0 /* not deemed useful for fonts */
|
||||
#define TT_MS_LANGID_HUMAN_INTERFACE_DEVICE 0x04FF
|
||||
#endif
|
||||
#define TT_MS_LANGID_UIGHUR_CHINA \
|
||||
TT_MS_LANGID_UIGHUR_PRC
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* Possible values of the `name' identifier field in the name records of */
|
||||
/* the TTF `name' table. These values are platform independent. */
|
||||
/* */
|
||||
#define TT_NAME_ID_COPYRIGHT 0
|
||||
#define TT_NAME_ID_FONT_FAMILY 1
|
||||
#define TT_NAME_ID_FONT_SUBFAMILY 2
|
||||
#define TT_NAME_ID_UNIQUE_ID 3
|
||||
#define TT_NAME_ID_FULL_NAME 4
|
||||
#define TT_NAME_ID_VERSION_STRING 5
|
||||
#define TT_NAME_ID_PS_NAME 6
|
||||
#define TT_NAME_ID_TRADEMARK 7
|
||||
/***********************************************************************
|
||||
*
|
||||
* @enum:
|
||||
* TT_NAME_ID_XXX
|
||||
*
|
||||
* @description:
|
||||
* Possible values of the `name' identifier field in the name records of
|
||||
* an SFNT `name' table. These values are platform independent.
|
||||
*/
|
||||
|
||||
#define TT_NAME_ID_COPYRIGHT 0
|
||||
#define TT_NAME_ID_FONT_FAMILY 1
|
||||
#define TT_NAME_ID_FONT_SUBFAMILY 2
|
||||
#define TT_NAME_ID_UNIQUE_ID 3
|
||||
#define TT_NAME_ID_FULL_NAME 4
|
||||
#define TT_NAME_ID_VERSION_STRING 5
|
||||
#define TT_NAME_ID_PS_NAME 6
|
||||
#define TT_NAME_ID_TRADEMARK 7
|
||||
|
||||
/* the following values are from the OpenType spec */
|
||||
#define TT_NAME_ID_MANUFACTURER 8
|
||||
#define TT_NAME_ID_DESIGNER 9
|
||||
#define TT_NAME_ID_DESCRIPTION 10
|
||||
#define TT_NAME_ID_VENDOR_URL 11
|
||||
#define TT_NAME_ID_DESIGNER_URL 12
|
||||
#define TT_NAME_ID_LICENSE 13
|
||||
#define TT_NAME_ID_LICENSE_URL 14
|
||||
#define TT_NAME_ID_MANUFACTURER 8
|
||||
#define TT_NAME_ID_DESIGNER 9
|
||||
#define TT_NAME_ID_DESCRIPTION 10
|
||||
#define TT_NAME_ID_VENDOR_URL 11
|
||||
#define TT_NAME_ID_DESIGNER_URL 12
|
||||
#define TT_NAME_ID_LICENSE 13
|
||||
#define TT_NAME_ID_LICENSE_URL 14
|
||||
/* number 15 is reserved */
|
||||
#define TT_NAME_ID_PREFERRED_FAMILY 16
|
||||
#define TT_NAME_ID_PREFERRED_SUBFAMILY 17
|
||||
#define TT_NAME_ID_MAC_FULL_NAME 18
|
||||
#define TT_NAME_ID_TYPOGRAPHIC_FAMILY 16
|
||||
#define TT_NAME_ID_TYPOGRAPHIC_SUBFAMILY 17
|
||||
#define TT_NAME_ID_MAC_FULL_NAME 18
|
||||
|
||||
/* The following code is new as of 2000-01-21 */
|
||||
#define TT_NAME_ID_SAMPLE_TEXT 19
|
||||
#define TT_NAME_ID_SAMPLE_TEXT 19
|
||||
|
||||
/* This is new in OpenType 1.3 */
|
||||
#define TT_NAME_ID_CID_FINDFONT_NAME 20
|
||||
#define TT_NAME_ID_CID_FINDFONT_NAME 20
|
||||
|
||||
/* This is new in OpenType 1.5 */
|
||||
#define TT_NAME_ID_WWS_FAMILY 21
|
||||
#define TT_NAME_ID_WWS_SUBFAMILY 22
|
||||
#define TT_NAME_ID_WWS_FAMILY 21
|
||||
#define TT_NAME_ID_WWS_SUBFAMILY 22
|
||||
|
||||
/* This is new in OpenType 1.7 */
|
||||
#define TT_NAME_ID_LIGHT_BACKGROUND 23
|
||||
#define TT_NAME_ID_DARK_BACKGROUND 24
|
||||
|
||||
/* This is new in OpenType 1.8 */
|
||||
#define TT_NAME_ID_VARIATIONS_PREFIX 25
|
||||
|
||||
/* these two values are deprecated */
|
||||
#define TT_NAME_ID_PREFERRED_FAMILY TT_NAME_ID_TYPOGRAPHIC_FAMILY
|
||||
#define TT_NAME_ID_PREFERRED_SUBFAMILY TT_NAME_ID_TYPOGRAPHIC_SUBFAMILY
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* Bit mask values for the Unicode Ranges from the TTF `OS2 ' table. */
|
||||
/* */
|
||||
/* Updated 08-Nov-2008. */
|
||||
/* */
|
||||
/***********************************************************************
|
||||
*
|
||||
* @enum:
|
||||
* TT_UCR_XXX
|
||||
*
|
||||
* @description:
|
||||
* Possible bit mask values for the `ulUnicodeRangeX' fields in an SFNT
|
||||
* `OS/2' table.
|
||||
*/
|
||||
|
||||
/* ulUnicodeRange1 */
|
||||
/* --------------- */
|
||||
|
||||
/* Bit 0 Basic Latin */
|
||||
#define TT_UCR_BASIC_LATIN (1L << 0) /* U+0020-U+007E */
|
||||
|
@ -857,7 +867,7 @@ FT_BEGIN_HEADER
|
|||
/* U+A700-U+A71F */
|
||||
/* Bit 6 Combining Diacritical Marks */
|
||||
/* Combining Diacritical Marks Supplement */
|
||||
#define TT_UCR_COMBINING_DIACRITICS (1L << 6) /* U+0300-U+036F */
|
||||
#define TT_UCR_COMBINING_DIACRITICAL_MARKS (1L << 6) /* U+0300-U+036F */
|
||||
/* U+1DC0-U+1DFF */
|
||||
/* Bit 7 Greek and Coptic */
|
||||
#define TT_UCR_GREEK (1L << 7) /* U+0370-U+03FF */
|
||||
|
@ -925,12 +935,17 @@ FT_BEGIN_HEADER
|
|||
/* Supplemental Punctuation */
|
||||
#define TT_UCR_GENERAL_PUNCTUATION (1L << 31) /* U+2000-U+206F */
|
||||
/* U+2E00-U+2E7F */
|
||||
|
||||
/* ulUnicodeRange2 */
|
||||
/* --------------- */
|
||||
|
||||
/* Bit 32 Superscripts And Subscripts */
|
||||
#define TT_UCR_SUPERSCRIPTS_SUBSCRIPTS (1L << 0) /* U+2070-U+209F */
|
||||
/* Bit 33 Currency Symbols */
|
||||
#define TT_UCR_CURRENCY_SYMBOLS (1L << 1) /* U+20A0-U+20CF */
|
||||
/* Bit 34 Combining Diacritical Marks For Symbols */
|
||||
#define TT_UCR_COMBINING_DIACRITICS_SYMB (1L << 2) /* U+20D0-U+20FF */
|
||||
#define TT_UCR_COMBINING_DIACRITICAL_MARKS_SYMB \
|
||||
(1L << 2) /* U+20D0-U+20FF */
|
||||
/* Bit 35 Letterlike Symbols */
|
||||
#define TT_UCR_LETTERLIKE_SYMBOLS (1L << 3) /* U+2100-U+214F */
|
||||
/* Bit 36 Number Forms */
|
||||
|
@ -996,13 +1011,13 @@ FT_BEGIN_HEADER
|
|||
/* Bit 57 High Surrogates */
|
||||
/* High Private Use Surrogates */
|
||||
/* Low Surrogates */
|
||||
/* */
|
||||
|
||||
/* According to OpenType specs v.1.3+, */
|
||||
/* setting bit 57 implies that there is */
|
||||
/* at least one codepoint beyond the */
|
||||
/* Basic Multilingual Plane that is */
|
||||
/* supported by this font. So it really */
|
||||
/* means >= U+10000 */
|
||||
/* means >= U+10000. */
|
||||
#define TT_UCR_SURROGATES (1L << 25) /* U+D800-U+DB7F */
|
||||
/* U+DB80-U+DBFF */
|
||||
/* U+DC00-U+DFFF */
|
||||
|
@ -1034,7 +1049,11 @@ FT_BEGIN_HEADER
|
|||
/* Bit 62 Alphabetic Presentation Forms */
|
||||
#define TT_UCR_ALPHABETIC_PRESENTATION_FORMS (1L << 30) /* U+FB00-U+FB4F */
|
||||
/* Bit 63 Arabic Presentation Forms-A */
|
||||
#define TT_UCR_ARABIC_PRESENTATIONS_A (1L << 31) /* U+FB50-U+FDFF */
|
||||
#define TT_UCR_ARABIC_PRESENTATION_FORMS_A (1L << 31) /* U+FB50-U+FDFF */
|
||||
|
||||
/* ulUnicodeRange3 */
|
||||
/* --------------- */
|
||||
|
||||
/* Bit 64 Combining Half Marks */
|
||||
#define TT_UCR_COMBINING_HALF_MARKS (1L << 0) /* U+FE20-U+FE2F */
|
||||
/* Bit 65 Vertical forms */
|
||||
|
@ -1044,7 +1063,7 @@ FT_BEGIN_HEADER
|
|||
/* Bit 66 Small Form Variants */
|
||||
#define TT_UCR_SMALL_FORM_VARIANTS (1L << 2) /* U+FE50-U+FE6F */
|
||||
/* Bit 67 Arabic Presentation Forms-B */
|
||||
#define TT_UCR_ARABIC_PRESENTATIONS_B (1L << 3) /* U+FE70-U+FEFE */
|
||||
#define TT_UCR_ARABIC_PRESENTATION_FORMS_B (1L << 3) /* U+FE70-U+FEFE */
|
||||
/* Bit 68 Halfwidth and Fullwidth Forms */
|
||||
#define TT_UCR_HALFWIDTH_FULLWIDTH_FORMS (1L << 4) /* U+FF00-U+FFEF */
|
||||
/* Bit 69 Specials */
|
||||
|
@ -1123,6 +1142,10 @@ FT_BEGIN_HEADER
|
|||
#define TT_UCR_TAI_LE (1L << 30) /* U+1950-U+197F */
|
||||
/* Bit 95 New Tai Lue */
|
||||
#define TT_UCR_NEW_TAI_LUE (1L << 31) /* U+1980-U+19DF */
|
||||
|
||||
/* ulUnicodeRange4 */
|
||||
/* --------------- */
|
||||
|
||||
/* Bit 96 Buginese */
|
||||
#define TT_UCR_BUGINESE (1L << 0) /* U+1A00-U+1A1F */
|
||||
/* Bit 97 Glagolitic */
|
||||
|
@ -1191,42 +1214,18 @@ FT_BEGIN_HEADER
|
|||
/*U+1F000-U+1F02F*/
|
||||
/* Bit 123-127 Reserved for process-internal usage */
|
||||
|
||||
/* */
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* Some compilers have a very limited length of identifiers. */
|
||||
/* */
|
||||
#if defined( __TURBOC__ ) && __TURBOC__ < 0x0410 || defined( __PACIFIC__ )
|
||||
#define HAVE_LIMIT_ON_IDENTS
|
||||
#endif
|
||||
/* for backward compatibility with older FreeType versions */
|
||||
#define TT_UCR_ARABIC_PRESENTATION_A \
|
||||
TT_UCR_ARABIC_PRESENTATION_FORMS_A
|
||||
#define TT_UCR_ARABIC_PRESENTATION_B \
|
||||
TT_UCR_ARABIC_PRESENTATION_FORMS_B
|
||||
|
||||
|
||||
#ifndef HAVE_LIMIT_ON_IDENTS
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* Here some alias #defines in order to be clearer. */
|
||||
/* */
|
||||
/* These are not always #defined to stay within the 31~character limit, */
|
||||
/* which some compilers have. */
|
||||
/* */
|
||||
/* Credits go to Dave Hoo <dhoo@flash.net> for pointing out that modern */
|
||||
/* Borland compilers (read: from BC++ 3.1 on) can increase this limit. */
|
||||
/* If you get a warning with such a compiler, use the -i40 switch. */
|
||||
/* */
|
||||
#define TT_UCR_ARABIC_PRESENTATION_FORMS_A \
|
||||
TT_UCR_ARABIC_PRESENTATIONS_A
|
||||
#define TT_UCR_ARABIC_PRESENTATION_FORMS_B \
|
||||
TT_UCR_ARABIC_PRESENTATIONS_B
|
||||
|
||||
#define TT_UCR_COMBINING_DIACRITICAL_MARKS \
|
||||
TT_UCR_COMBINING_DIACRITICS
|
||||
#define TT_UCR_COMBINING_DIACRITICAL_MARKS_SYMB \
|
||||
TT_UCR_COMBINING_DIACRITICS_SYMB
|
||||
|
||||
|
||||
#endif /* !HAVE_LIMIT_ON_IDENTS */
|
||||
#define TT_UCR_COMBINING_DIACRITICS \
|
||||
TT_UCR_COMBINING_DIACRITICAL_MARKS
|
||||
#define TT_UCR_COMBINING_DIACRITICS_SYMB \
|
||||
TT_UCR_COMBINING_DIACRITICAL_MARKS_SYMB
|
||||
|
||||
|
||||
FT_END_HEADER
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
/* Basic SFNT/TrueType tables definitions and interface */
|
||||
/* (specification only). */
|
||||
/* */
|
||||
/* Copyright 1996-2016 by */
|
||||
/* Copyright 1996-2017 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
|
@ -45,8 +45,9 @@ FT_BEGIN_HEADER
|
|||
/* TrueType specific table types and functions. */
|
||||
/* */
|
||||
/* <Description> */
|
||||
/* This section contains the definition of TrueType-specific tables */
|
||||
/* as well as some routines used to access and process them. */
|
||||
/* This section contains definitions of some basic tables specific to */
|
||||
/* TrueType and OpenType as well as some routines used to access and */
|
||||
/* process them. */
|
||||
/* */
|
||||
/* <Order> */
|
||||
/* TT_Header */
|
||||
|
@ -76,8 +77,8 @@ FT_BEGIN_HEADER
|
|||
/* TT_Header */
|
||||
/* */
|
||||
/* <Description> */
|
||||
/* A structure used to model a TrueType font header table. All */
|
||||
/* fields follow the TrueType specification. */
|
||||
/* A structure to model a TrueType font header table. All fields */
|
||||
/* follow the OpenType specification. */
|
||||
/* */
|
||||
typedef struct TT_Header_
|
||||
{
|
||||
|
@ -114,9 +115,9 @@ FT_BEGIN_HEADER
|
|||
/* TT_HoriHeader */
|
||||
/* */
|
||||
/* <Description> */
|
||||
/* A structure used to model a TrueType horizontal header, the `hhea' */
|
||||
/* A structure to model a TrueType horizontal header, the `hhea' */
|
||||
/* table, as well as the corresponding horizontal metrics table, */
|
||||
/* i.e., the `hmtx' table. */
|
||||
/* `hmtx'. */
|
||||
/* */
|
||||
/* <Fields> */
|
||||
/* Version :: The table version. */
|
||||
|
@ -131,7 +132,7 @@ FT_BEGIN_HEADER
|
|||
/* glyphs found in the font (maybe ASCII). */
|
||||
/* */
|
||||
/* You should use the `sTypoAscender' field */
|
||||
/* of the OS/2 table instead if you want */
|
||||
/* of the `OS/2' table instead if you want */
|
||||
/* the correct one. */
|
||||
/* */
|
||||
/* Descender :: The font's descender, i.e., the distance */
|
||||
|
@ -145,7 +146,7 @@ FT_BEGIN_HEADER
|
|||
/* glyphs found in the font (maybe ASCII). */
|
||||
/* */
|
||||
/* You should use the `sTypoDescender' */
|
||||
/* field of the OS/2 table instead if you */
|
||||
/* field of the `OS/2' table instead if you */
|
||||
/* want the correct one. */
|
||||
/* */
|
||||
/* Line_Gap :: The font's line gap, i.e., the distance */
|
||||
|
@ -175,6 +176,8 @@ FT_BEGIN_HEADER
|
|||
/* caret_Slope_Run :: The run coefficient of the cursor's */
|
||||
/* slope. */
|
||||
/* */
|
||||
/* caret_Offset :: The cursor's offset for slanted fonts. */
|
||||
/* */
|
||||
/* Reserved :: 8~reserved bytes. */
|
||||
/* */
|
||||
/* metric_Data_Format :: Always~0. */
|
||||
|
@ -188,13 +191,10 @@ FT_BEGIN_HEADER
|
|||
/* short_metrics :: A pointer into the `hmtx' table. */
|
||||
/* */
|
||||
/* <Note> */
|
||||
/* IMPORTANT: The TT_HoriHeader and TT_VertHeader structures should */
|
||||
/* be identical except for the names of their fields, */
|
||||
/* which are different. */
|
||||
/* */
|
||||
/* This ensures that a single function in the `ttload' */
|
||||
/* module is able to read both the horizontal and vertical */
|
||||
/* headers. */
|
||||
/* For an OpenType variation font, the values of the following fields */
|
||||
/* can change after a call to @FT_Set_Var_Design_Coordinates (and */
|
||||
/* friends) if the font contains an `MVAR' table: `caret_Slope_Rise', */
|
||||
/* `caret_Slope_Run', and `caret_Offset'. */
|
||||
/* */
|
||||
typedef struct TT_HoriHeader_
|
||||
{
|
||||
|
@ -217,9 +217,9 @@ FT_BEGIN_HEADER
|
|||
FT_Short metric_Data_Format;
|
||||
FT_UShort number_Of_HMetrics;
|
||||
|
||||
/* The following fields are not defined by the TrueType specification */
|
||||
/* The following fields are not defined by the OpenType specification */
|
||||
/* but they are used to connect the metrics header to the relevant */
|
||||
/* `HMTX' table. */
|
||||
/* `hmtx' table. */
|
||||
|
||||
void* long_metrics;
|
||||
void* short_metrics;
|
||||
|
@ -234,8 +234,8 @@ FT_BEGIN_HEADER
|
|||
/* */
|
||||
/* <Description> */
|
||||
/* A structure used to model a TrueType vertical header, the `vhea' */
|
||||
/* table, as well as the corresponding vertical metrics table, i.e., */
|
||||
/* the `vmtx' table. */
|
||||
/* table, as well as the corresponding vertical metrics table, */
|
||||
/* `vmtx'. */
|
||||
/* */
|
||||
/* <Fields> */
|
||||
/* Version :: The table version. */
|
||||
|
@ -251,8 +251,8 @@ FT_BEGIN_HEADER
|
|||
/* ASCII). */
|
||||
/* */
|
||||
/* You should use the `sTypoAscender' */
|
||||
/* field of the OS/2 table instead if you */
|
||||
/* want the correct one. */
|
||||
/* field of the `OS/2' table instead if */
|
||||
/* you want the correct one. */
|
||||
/* */
|
||||
/* Descender :: The font's descender, i.e., the */
|
||||
/* distance from the baseline to the */
|
||||
|
@ -266,8 +266,8 @@ FT_BEGIN_HEADER
|
|||
/* ASCII). */
|
||||
/* */
|
||||
/* You should use the `sTypoDescender' */
|
||||
/* field of the OS/2 table instead if you */
|
||||
/* want the correct one. */
|
||||
/* field of the `OS/2' table instead if */
|
||||
/* you want the correct one. */
|
||||
/* */
|
||||
/* Line_Gap :: The font's line gap, i.e., the distance */
|
||||
/* to add to the ascender and descender to */
|
||||
|
@ -297,30 +297,26 @@ FT_BEGIN_HEADER
|
|||
/* slope. */
|
||||
/* */
|
||||
/* caret_Offset :: The cursor's offset for slanted fonts. */
|
||||
/* This value is `reserved' in vmtx */
|
||||
/* version 1.0. */
|
||||
/* */
|
||||
/* Reserved :: 8~reserved bytes. */
|
||||
/* */
|
||||
/* metric_Data_Format :: Always~0. */
|
||||
/* */
|
||||
/* number_Of_HMetrics :: Number of VMetrics entries in the */
|
||||
/* number_Of_VMetrics :: Number of VMetrics entries in the */
|
||||
/* `vmtx' table -- this value can be */
|
||||
/* smaller than the total number of glyphs */
|
||||
/* in the font. */
|
||||
/* */
|
||||
/* long_metrics :: A pointer into the `vmtx' table. */
|
||||
/* long_metrics :: A pointer into the `vmtx' table. */
|
||||
/* */
|
||||
/* short_metrics :: A pointer into the `vmtx' table. */
|
||||
/* short_metrics :: A pointer into the `vmtx' table. */
|
||||
/* */
|
||||
/* <Note> */
|
||||
/* IMPORTANT: The TT_HoriHeader and TT_VertHeader structures should */
|
||||
/* be identical except for the names of their fields, */
|
||||
/* which are different. */
|
||||
/* */
|
||||
/* This ensures that a single function in the `ttload' */
|
||||
/* module is able to read both the horizontal and vertical */
|
||||
/* headers. */
|
||||
/* For an OpenType variation font, the values of the following fields */
|
||||
/* can change after a call to @FT_Set_Var_Design_Coordinates (and */
|
||||
/* friends) if the font contains an `MVAR' table: `Ascender', */
|
||||
/* `Descender', `Line_Gap', `caret_Slope_Rise', `caret_Slope_Run', */
|
||||
/* and `caret_Offset'. */
|
||||
/* */
|
||||
typedef struct TT_VertHeader_
|
||||
{
|
||||
|
@ -331,9 +327,9 @@ FT_BEGIN_HEADER
|
|||
|
||||
FT_UShort advance_Height_Max; /* advance height maximum */
|
||||
|
||||
FT_Short min_Top_Side_Bearing; /* minimum left-sb or top-sb */
|
||||
FT_Short min_Bottom_Side_Bearing; /* minimum right-sb or bottom-sb */
|
||||
FT_Short yMax_Extent; /* xmax or ymax extents */
|
||||
FT_Short min_Top_Side_Bearing; /* minimum top-sb */
|
||||
FT_Short min_Bottom_Side_Bearing; /* minimum bottom-sb */
|
||||
FT_Short yMax_Extent; /* ymax extents */
|
||||
FT_Short caret_Slope_Rise;
|
||||
FT_Short caret_Slope_Run;
|
||||
FT_Short caret_Offset;
|
||||
|
@ -343,9 +339,9 @@ FT_BEGIN_HEADER
|
|||
FT_Short metric_Data_Format;
|
||||
FT_UShort number_Of_VMetrics;
|
||||
|
||||
/* The following fields are not defined by the TrueType specification */
|
||||
/* but they're used to connect the metrics header to the relevant */
|
||||
/* `HMTX' or `VMTX' table. */
|
||||
/* The following fields are not defined by the OpenType specification */
|
||||
/* but they are used to connect the metrics header to the relevant */
|
||||
/* `vmtx' table. */
|
||||
|
||||
void* long_metrics;
|
||||
void* short_metrics;
|
||||
|
@ -359,12 +355,28 @@ FT_BEGIN_HEADER
|
|||
/* TT_OS2 */
|
||||
/* */
|
||||
/* <Description> */
|
||||
/* A structure used to model a TrueType OS/2 table. All fields */
|
||||
/* comply to the OpenType specification. */
|
||||
/* A structure to model a TrueType `OS/2' table. All fields comply */
|
||||
/* to the OpenType specification. */
|
||||
/* */
|
||||
/* Note that we now support old Mac fonts that do not include an OS/2 */
|
||||
/* table. In this case, the `version' field is always set to 0xFFFF. */
|
||||
/* Note that we now support old Mac fonts that do not include an */
|
||||
/* `OS/2' table. In this case, the `version' field is always set to */
|
||||
/* 0xFFFF. */
|
||||
/* */
|
||||
/* <Note> */
|
||||
/* For an OpenType variation font, the values of the following fields */
|
||||
/* can change after a call to @FT_Set_Var_Design_Coordinates (and */
|
||||
/* friends) if the font contains an `MVAR' table: `sCapHeight', */
|
||||
/* `sTypoAscender', `sTypoDescender', `sTypoLineGap', `sxHeight', */
|
||||
/* `usWinAscent', `usWinDescent', `yStrikeoutPosition', */
|
||||
/* `yStrikeoutSize', `ySubscriptXOffset', `ySubScriptXSize', */
|
||||
/* `ySubscriptYOffset', `ySubscriptYSize', `ySuperscriptXOffset', */
|
||||
/* `ySuperscriptXSize', `ySuperscriptYOffset', and */
|
||||
/* `ySuperscriptYSize'. */
|
||||
/* */
|
||||
/* Possible values for bits in the `ulUnicodeRangeX' fields are given */
|
||||
/* by the @TT_UCR_XXX macros. */
|
||||
/* */
|
||||
|
||||
typedef struct TT_OS2_
|
||||
{
|
||||
FT_UShort version; /* 0x0001 - more or 0xFFFF */
|
||||
|
@ -429,10 +441,16 @@ FT_BEGIN_HEADER
|
|||
/* TT_Postscript */
|
||||
/* */
|
||||
/* <Description> */
|
||||
/* A structure used to model a TrueType PostScript table. All fields */
|
||||
/* comply to the TrueType specification. This structure does not */
|
||||
/* reference the PostScript glyph names, which can be nevertheless */
|
||||
/* accessed with the `ttpost' module. */
|
||||
/* A structure to model a TrueType `post' table. All fields comply */
|
||||
/* to the OpenType specification. This structure does not reference */
|
||||
/* a font's PostScript glyph names; use @FT_Get_Glyph_Name to */
|
||||
/* retrieve them. */
|
||||
/* */
|
||||
/* <Note> */
|
||||
/* For an OpenType variation font, the values of the following fields */
|
||||
/* can change after a call to @FT_Set_Var_Design_Coordinates (and */
|
||||
/* friends) if the font contains an `MVAR' table: `underlinePosition' */
|
||||
/* and `underlineThickness'. */
|
||||
/* */
|
||||
typedef struct TT_Postscript_
|
||||
{
|
||||
|
@ -446,8 +464,8 @@ FT_BEGIN_HEADER
|
|||
FT_ULong minMemType1;
|
||||
FT_ULong maxMemType1;
|
||||
|
||||
/* Glyph names follow in the file, but we don't */
|
||||
/* load them by default. See the ttpost.c file. */
|
||||
/* Glyph names follow in the `post' table, but we don't */
|
||||
/* load them by default. */
|
||||
|
||||
} TT_Postscript;
|
||||
|
||||
|
@ -458,8 +476,8 @@ FT_BEGIN_HEADER
|
|||
/* TT_PCLT */
|
||||
/* */
|
||||
/* <Description> */
|
||||
/* A structure used to model a TrueType PCLT table. All fields */
|
||||
/* comply to the TrueType specification. */
|
||||
/* A structure to model a TrueType `PCLT' table. All fields comply */
|
||||
/* to the OpenType specification. */
|
||||
/* */
|
||||
typedef struct TT_PCLT_
|
||||
{
|
||||
|
@ -488,9 +506,9 @@ FT_BEGIN_HEADER
|
|||
/* TT_MaxProfile */
|
||||
/* */
|
||||
/* <Description> */
|
||||
/* The maximum profile is a table containing many max values, which */
|
||||
/* can be used to pre-allocate arrays. This ensures that no memory */
|
||||
/* allocation occurs during a glyph load. */
|
||||
/* The maximum profile (`maxp') table contains many max values, which */
|
||||
/* can be used to pre-allocate arrays for speeding up glyph loading */
|
||||
/* and hinting. */
|
||||
/* */
|
||||
/* <Fields> */
|
||||
/* version :: The version number. */
|
||||
|
@ -500,21 +518,19 @@ FT_BEGIN_HEADER
|
|||
/* */
|
||||
/* maxPoints :: The maximum number of points in a */
|
||||
/* non-composite TrueType glyph. See also */
|
||||
/* the structure element */
|
||||
/* `maxCompositePoints'. */
|
||||
/* */
|
||||
/* maxContours :: The maximum number of contours in a */
|
||||
/* non-composite TrueType glyph. See also */
|
||||
/* the structure element */
|
||||
/* `maxCompositeContours'. */
|
||||
/* */
|
||||
/* maxCompositePoints :: The maximum number of points in a */
|
||||
/* composite TrueType glyph. See also the */
|
||||
/* structure element `maxPoints'. */
|
||||
/* composite TrueType glyph. See also */
|
||||
/* `maxPoints'. */
|
||||
/* */
|
||||
/* maxCompositeContours :: The maximum number of contours in a */
|
||||
/* composite TrueType glyph. See also the */
|
||||
/* structure element `maxContours'. */
|
||||
/* composite TrueType glyph. See also */
|
||||
/* `maxContours'. */
|
||||
/* */
|
||||
/* maxZones :: The maximum number of zones used for */
|
||||
/* glyph hinting. */
|
||||
|
@ -575,8 +591,9 @@ FT_BEGIN_HEADER
|
|||
/* FT_Sfnt_Tag */
|
||||
/* */
|
||||
/* <Description> */
|
||||
/* An enumeration used to specify the index of an SFNT table. */
|
||||
/* Used in the @FT_Get_Sfnt_Table API function. */
|
||||
/* An enumeration to specify indices of SFNT tables loaded and parsed */
|
||||
/* by FreeType during initialization of an SFNT font. Used in the */
|
||||
/* @FT_Get_Sfnt_Table API function. */
|
||||
/* */
|
||||
/* <Values> */
|
||||
/* FT_SFNT_HEAD :: To access the font's @TT_Header structure. */
|
||||
|
@ -624,7 +641,7 @@ FT_BEGIN_HEADER
|
|||
/* FT_Get_Sfnt_Table */
|
||||
/* */
|
||||
/* <Description> */
|
||||
/* Return a pointer to a given SFNT table within a face. */
|
||||
/* Return a pointer to a given SFNT table stored within a face. */
|
||||
/* */
|
||||
/* <Input> */
|
||||
/* face :: A handle to the source. */
|
||||
|
@ -632,7 +649,7 @@ FT_BEGIN_HEADER
|
|||
/* tag :: The index of the SFNT table. */
|
||||
/* */
|
||||
/* <Return> */
|
||||
/* A type-less pointer to the table. This will be~0 in case of */
|
||||
/* A type-less pointer to the table. This will be NULL in case of */
|
||||
/* error, or if the corresponding table was not found *OR* loaded */
|
||||
/* from the file. */
|
||||
/* */
|
||||
|
@ -661,70 +678,70 @@ FT_BEGIN_HEADER
|
|||
FT_Sfnt_Tag tag );
|
||||
|
||||
|
||||
/**************************************************************************
|
||||
*
|
||||
* @function:
|
||||
* FT_Load_Sfnt_Table
|
||||
*
|
||||
* @description:
|
||||
* Load any font table into client memory.
|
||||
*
|
||||
* @input:
|
||||
* face ::
|
||||
* A handle to the source face.
|
||||
*
|
||||
* tag ::
|
||||
* The four-byte tag of the table to load. Use the value~0 if you want
|
||||
* to access the whole font file. Otherwise, you can use one of the
|
||||
* definitions found in the @FT_TRUETYPE_TAGS_H file, or forge a new
|
||||
* one with @FT_MAKE_TAG.
|
||||
*
|
||||
* offset ::
|
||||
* The starting offset in the table (or file if tag == 0).
|
||||
*
|
||||
* @output:
|
||||
* buffer ::
|
||||
* The target buffer address. The client must ensure that the memory
|
||||
* array is big enough to hold the data.
|
||||
*
|
||||
* @inout:
|
||||
* length ::
|
||||
* If the `length' parameter is NULL, then try to load the whole table.
|
||||
* Return an error code if it fails.
|
||||
*
|
||||
* Else, if `*length' is~0, exit immediately while returning the
|
||||
* table's (or file) full size in it.
|
||||
*
|
||||
* Else the number of bytes to read from the table or file, from the
|
||||
* starting offset.
|
||||
*
|
||||
* @return:
|
||||
* FreeType error code. 0~means success.
|
||||
*
|
||||
* @note:
|
||||
* If you need to determine the table's length you should first call this
|
||||
* function with `*length' set to~0, as in the following example:
|
||||
*
|
||||
* {
|
||||
* FT_ULong length = 0;
|
||||
*
|
||||
*
|
||||
* error = FT_Load_Sfnt_Table( face, tag, 0, NULL, &length );
|
||||
* if ( error ) { ... table does not exist ... }
|
||||
*
|
||||
* buffer = malloc( length );
|
||||
* if ( buffer == NULL ) { ... not enough memory ... }
|
||||
*
|
||||
* error = FT_Load_Sfnt_Table( face, tag, 0, buffer, &length );
|
||||
* if ( error ) { ... could not load table ... }
|
||||
* }
|
||||
*
|
||||
* Note that structures like @TT_Header or @TT_OS2 can't be used with
|
||||
* this function; they are limited to @FT_Get_Sfnt_Table. Reason is that
|
||||
* those structures depend on the processor architecture, with varying
|
||||
* size (e.g. 32bit vs. 64bit) or order (big endian vs. little endian).
|
||||
*
|
||||
*/
|
||||
/**************************************************************************
|
||||
*
|
||||
* @function:
|
||||
* FT_Load_Sfnt_Table
|
||||
*
|
||||
* @description:
|
||||
* Load any SFNT font table into client memory.
|
||||
*
|
||||
* @input:
|
||||
* face ::
|
||||
* A handle to the source face.
|
||||
*
|
||||
* tag ::
|
||||
* The four-byte tag of the table to load. Use value~0 if you want
|
||||
* to access the whole font file. Otherwise, you can use one of the
|
||||
* definitions found in the @FT_TRUETYPE_TAGS_H file, or forge a new
|
||||
* one with @FT_MAKE_TAG.
|
||||
*
|
||||
* offset ::
|
||||
* The starting offset in the table (or file if tag~==~0).
|
||||
*
|
||||
* @output:
|
||||
* buffer ::
|
||||
* The target buffer address. The client must ensure that the memory
|
||||
* array is big enough to hold the data.
|
||||
*
|
||||
* @inout:
|
||||
* length ::
|
||||
* If the `length' parameter is NULL, try to load the whole table.
|
||||
* Return an error code if it fails.
|
||||
*
|
||||
* Else, if `*length' is~0, exit immediately while returning the
|
||||
* table's (or file) full size in it.
|
||||
*
|
||||
* Else the number of bytes to read from the table or file, from the
|
||||
* starting offset.
|
||||
*
|
||||
* @return:
|
||||
* FreeType error code. 0~means success.
|
||||
*
|
||||
* @note:
|
||||
* If you need to determine the table's length you should first call this
|
||||
* function with `*length' set to~0, as in the following example:
|
||||
*
|
||||
* {
|
||||
* FT_ULong length = 0;
|
||||
*
|
||||
*
|
||||
* error = FT_Load_Sfnt_Table( face, tag, 0, NULL, &length );
|
||||
* if ( error ) { ... table does not exist ... }
|
||||
*
|
||||
* buffer = malloc( length );
|
||||
* if ( buffer == NULL ) { ... not enough memory ... }
|
||||
*
|
||||
* error = FT_Load_Sfnt_Table( face, tag, 0, buffer, &length );
|
||||
* if ( error ) { ... could not load table ... }
|
||||
* }
|
||||
*
|
||||
* Note that structures like @TT_Header or @TT_OS2 can't be used with
|
||||
* this function; they are limited to @FT_Get_Sfnt_Table. Reason is that
|
||||
* those structures depend on the processor architecture, with varying
|
||||
* size (e.g. 32bit vs. 64bit) or order (big endian vs. little endian).
|
||||
*
|
||||
*/
|
||||
FT_EXPORT( FT_Error )
|
||||
FT_Load_Sfnt_Table( FT_Face face,
|
||||
FT_ULong tag,
|
||||
|
@ -733,41 +750,41 @@ FT_BEGIN_HEADER
|
|||
FT_ULong* length );
|
||||
|
||||
|
||||
/**************************************************************************
|
||||
*
|
||||
* @function:
|
||||
* FT_Sfnt_Table_Info
|
||||
*
|
||||
* @description:
|
||||
* Return information on an SFNT table.
|
||||
*
|
||||
* @input:
|
||||
* face ::
|
||||
* A handle to the source face.
|
||||
*
|
||||
* table_index ::
|
||||
* The index of an SFNT table. The function returns
|
||||
* FT_Err_Table_Missing for an invalid value.
|
||||
*
|
||||
* @inout:
|
||||
* tag ::
|
||||
* The name tag of the SFNT table. If the value is NULL, `table_index'
|
||||
* is ignored, and `length' returns the number of SFNT tables in the
|
||||
* font.
|
||||
*
|
||||
* @output:
|
||||
* length ::
|
||||
* The length of the SFNT table (or the number of SFNT tables, depending
|
||||
* on `tag').
|
||||
*
|
||||
* @return:
|
||||
* FreeType error code. 0~means success.
|
||||
*
|
||||
* @note:
|
||||
* While parsing fonts, FreeType handles SFNT tables with length zero as
|
||||
* missing.
|
||||
*
|
||||
*/
|
||||
/**************************************************************************
|
||||
*
|
||||
* @function:
|
||||
* FT_Sfnt_Table_Info
|
||||
*
|
||||
* @description:
|
||||
* Return information on an SFNT table.
|
||||
*
|
||||
* @input:
|
||||
* face ::
|
||||
* A handle to the source face.
|
||||
*
|
||||
* table_index ::
|
||||
* The index of an SFNT table. The function returns
|
||||
* FT_Err_Table_Missing for an invalid value.
|
||||
*
|
||||
* @inout:
|
||||
* tag ::
|
||||
* The name tag of the SFNT table. If the value is NULL, `table_index'
|
||||
* is ignored, and `length' returns the number of SFNT tables in the
|
||||
* font.
|
||||
*
|
||||
* @output:
|
||||
* length ::
|
||||
* The length of the SFNT table (or the number of SFNT tables, depending
|
||||
* on `tag').
|
||||
*
|
||||
* @return:
|
||||
* FreeType error code. 0~means success.
|
||||
*
|
||||
* @note:
|
||||
* While parsing fonts, FreeType handles SFNT tables with length zero as
|
||||
* missing.
|
||||
*
|
||||
*/
|
||||
FT_EXPORT( FT_Error )
|
||||
FT_Sfnt_Table_Info( FT_Face face,
|
||||
FT_UInt table_index,
|
||||
|
@ -781,16 +798,16 @@ FT_BEGIN_HEADER
|
|||
/* FT_Get_CMap_Language_ID */
|
||||
/* */
|
||||
/* <Description> */
|
||||
/* Return TrueType/sfnt specific cmap language ID. Definitions of */
|
||||
/* language ID values are in `ttnameid.h'. */
|
||||
/* Return cmap language ID as specified in the OpenType standard. */
|
||||
/* Definitions of language ID values are in file @FT_TRUETYPE_IDS_H. */
|
||||
/* */
|
||||
/* <Input> */
|
||||
/* charmap :: */
|
||||
/* The target charmap. */
|
||||
/* */
|
||||
/* <Return> */
|
||||
/* The language ID of `charmap'. If `charmap' doesn't belong to a */
|
||||
/* TrueType/sfnt face, just return~0 as the default value. */
|
||||
/* The language ID of `charmap'. If `charmap' doesn't belong to an */
|
||||
/* SFNT face, just return~0 as the default value. */
|
||||
/* */
|
||||
/* For a format~14 cmap (to access Unicode IVS), the return value is */
|
||||
/* 0xFFFFFFFF. */
|
||||
|
@ -805,15 +822,15 @@ FT_BEGIN_HEADER
|
|||
/* FT_Get_CMap_Format */
|
||||
/* */
|
||||
/* <Description> */
|
||||
/* Return TrueType/sfnt specific cmap format. */
|
||||
/* Return the format of an SFNT `cmap' table. */
|
||||
/* */
|
||||
/* <Input> */
|
||||
/* charmap :: */
|
||||
/* The target charmap. */
|
||||
/* */
|
||||
/* <Return> */
|
||||
/* The format of `charmap'. If `charmap' doesn't belong to a */
|
||||
/* TrueType/sfnt face, return -1. */
|
||||
/* The format of `charmap'. If `charmap' doesn't belong to an SFNT */
|
||||
/* face, return -1. */
|
||||
/* */
|
||||
FT_EXPORT( FT_Long )
|
||||
FT_Get_CMap_Format( FT_CharMap charmap );
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
/* */
|
||||
/* Tags for TrueType and OpenType tables (specification only). */
|
||||
/* */
|
||||
/* Copyright 1996-2016 by */
|
||||
/* Copyright 1996-2017 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
|
@ -43,6 +43,7 @@ FT_BEGIN_HEADER
|
|||
#define TTAG_CBDT FT_MAKE_TAG( 'C', 'B', 'D', 'T' )
|
||||
#define TTAG_CBLC FT_MAKE_TAG( 'C', 'B', 'L', 'C' )
|
||||
#define TTAG_CFF FT_MAKE_TAG( 'C', 'F', 'F', ' ' )
|
||||
#define TTAG_CFF2 FT_MAKE_TAG( 'C', 'F', 'F', '2' )
|
||||
#define TTAG_CID FT_MAKE_TAG( 'C', 'I', 'D', ' ' )
|
||||
#define TTAG_cmap FT_MAKE_TAG( 'c', 'm', 'a', 'p' )
|
||||
#define TTAG_cvar FT_MAKE_TAG( 'c', 'v', 'a', 'r' )
|
||||
|
@ -61,6 +62,7 @@ FT_BEGIN_HEADER
|
|||
#define TTAG_GPOS FT_MAKE_TAG( 'G', 'P', 'O', 'S' )
|
||||
#define TTAG_GSUB FT_MAKE_TAG( 'G', 'S', 'U', 'B' )
|
||||
#define TTAG_gvar FT_MAKE_TAG( 'g', 'v', 'a', 'r' )
|
||||
#define TTAG_HVAR FT_MAKE_TAG( 'H', 'V', 'A', 'R' )
|
||||
#define TTAG_hdmx FT_MAKE_TAG( 'h', 'd', 'm', 'x' )
|
||||
#define TTAG_head FT_MAKE_TAG( 'h', 'e', 'a', 'd' )
|
||||
#define TTAG_hhea FT_MAKE_TAG( 'h', 'h', 'e', 'a' )
|
||||
|
@ -79,6 +81,7 @@ FT_BEGIN_HEADER
|
|||
#define TTAG_MMSD FT_MAKE_TAG( 'M', 'M', 'S', 'D' )
|
||||
#define TTAG_mort FT_MAKE_TAG( 'm', 'o', 'r', 't' )
|
||||
#define TTAG_morx FT_MAKE_TAG( 'm', 'o', 'r', 'x' )
|
||||
#define TTAG_MVAR FT_MAKE_TAG( 'M', 'V', 'A', 'R' )
|
||||
#define TTAG_name FT_MAKE_TAG( 'n', 'a', 'm', 'e' )
|
||||
#define TTAG_opbd FT_MAKE_TAG( 'o', 'p', 'b', 'd' )
|
||||
#define TTAG_OS2 FT_MAKE_TAG( 'O', 'S', '/', '2' )
|
||||
|
@ -100,6 +103,7 @@ FT_BEGIN_HEADER
|
|||
#define TTAG_VDMX FT_MAKE_TAG( 'V', 'D', 'M', 'X' )
|
||||
#define TTAG_vhea FT_MAKE_TAG( 'v', 'h', 'e', 'a' )
|
||||
#define TTAG_vmtx FT_MAKE_TAG( 'v', 'm', 't', 'x' )
|
||||
#define TTAG_VVAR FT_MAKE_TAG( 'V', 'V', 'A', 'R' )
|
||||
#define TTAG_wOFF FT_MAKE_TAG( 'w', 'O', 'F', 'F' )
|
||||
|
||||
|
||||
|
|
|
@ -3,9 +3,9 @@
|
|||
/* ttunpat.h */
|
||||
/* */
|
||||
/* Definitions for the unpatented TrueType hinting system. */
|
||||
/* Obsolete, retained for backwards compatibility. */
|
||||
/* Obsolete, retained for backward compatibility. */
|
||||
/* */
|
||||
/* Copyright 2003-2016 by */
|
||||
/* Copyright 2003-2017 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* Written by Graham Asher <graham.asher@btinternet.com> */
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
/* */
|
||||
/* FreeType 2 build and setup macros. */
|
||||
/* */
|
||||
/* Copyright 1996-2016 by */
|
||||
/* Copyright 1996-2017 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
|
@ -34,7 +34,6 @@
|
|||
#ifndef FT2BUILD_H_
|
||||
#define FT2BUILD_H_
|
||||
|
||||
#define FT2_BUILD_LIBRARY
|
||||
#include <freetype/config/ftheader.h>
|
||||
|
||||
#endif /* FT2BUILD_H_ */
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
/* Routines used to compute vector angles with limited accuracy */
|
||||
/* and very high speed. It also contains sorting routines (body). */
|
||||
/* */
|
||||
/* Copyright 2003-2016 by */
|
||||
/* Copyright 2003-2017 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
/* */
|
||||
/* Auto-fitter data for blue strings (body). */
|
||||
/* */
|
||||
/* Copyright 2013-2016 by */
|
||||
/* Copyright 2013-2017 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
|
@ -26,30 +26,76 @@
|
|||
af_blue_strings[] =
|
||||
{
|
||||
/* */
|
||||
'\xF0', '\x9E', '\xA4', '\x8C', ' ', '\xF0', '\x9E', '\xA4', '\x85', ' ', '\xF0', '\x9E', '\xA4', '\x88', ' ', '\xF0', '\x9E', '\xA4', '\x8F', ' ', '\xF0', '\x9E', '\xA4', '\x94', ' ', '\xF0', '\x9E', '\xA4', '\x9A', /* 𞤌 𞤅 𞤈 𞤏 𞤔 𞤚 */
|
||||
'\0',
|
||||
'\xF0', '\x9E', '\xA4', '\x82', ' ', '\xF0', '\x9E', '\xA4', '\x96', /* 𞤂 𞤖 */
|
||||
'\0',
|
||||
'\xF0', '\x9E', '\xA4', '\xAC', ' ', '\xF0', '\x9E', '\xA4', '\xAE', ' ', '\xF0', '\x9E', '\xA4', '\xBB', ' ', '\xF0', '\x9E', '\xA4', '\xBC', ' ', '\xF0', '\x9E', '\xA4', '\xBE', /* 𞤬 𞤮 𞤻 𞤼 𞤾 */
|
||||
'\0',
|
||||
'\xF0', '\x9E', '\xA4', '\xA4', ' ', '\xF0', '\x9E', '\xA4', '\xA8', ' ', '\xF0', '\x9E', '\xA4', '\xA9', ' ', '\xF0', '\x9E', '\xA4', '\xAD', ' ', '\xF0', '\x9E', '\xA4', '\xB4', ' ', '\xF0', '\x9E', '\xA4', '\xB8', ' ', '\xF0', '\x9E', '\xA4', '\xBA', ' ', '\xF0', '\x9E', '\xA5', '\x80', /* 𞤤 𞤨 𞤩 𞤭 𞤴 𞤸 𞤺 𞥀 */
|
||||
'\0',
|
||||
'\xD8', '\xA7', ' ', '\xD8', '\xA5', ' ', '\xD9', '\x84', ' ', '\xD9', '\x83', ' ', '\xD8', '\xB7', ' ', '\xD8', '\xB8', /* ا إ ل ك ط ظ */
|
||||
'\0',
|
||||
'\xD8', '\xAA', ' ', '\xD8', '\xAB', ' ', '\xD8', '\xB7', ' ', '\xD8', '\xB8', ' ', '\xD9', '\x83', /* ت ث ط ظ ك */
|
||||
'\0',
|
||||
'\xD9', '\x80', /* ـ */
|
||||
'\0',
|
||||
'\xD4', '\xB1', ' ', '\xD5', '\x84', ' ', '\xD5', '\x92', ' ', '\xD5', '\x93', ' ', '\xD4', '\xB2', ' ', '\xD4', '\xB3', ' ', '\xD4', '\xB4', ' ', '\xD5', '\x95', /* Ա Մ Ւ Փ Բ Գ Դ Օ */
|
||||
'\xD4', '\xB1', ' ', '\xD5', '\x84', ' ', '\xD5', '\x92', ' ', '\xD5', '\x8D', ' ', '\xD4', '\xB2', ' ', '\xD4', '\xB3', ' ', '\xD4', '\xB4', ' ', '\xD5', '\x95', /* Ա Մ Ւ Ս Բ Գ Դ Օ */
|
||||
'\0',
|
||||
'\xD5', '\x92', ' ', '\xD5', '\x88', ' ', '\xD5', '\x93', ' ', '\xD5', '\x83', ' ', '\xD5', '\x87', ' ', '\xD5', '\x8D', ' ', '\xD5', '\x8F', ' ', '\xD5', '\x95', /* Ւ Ո Փ Ճ Շ Ս Տ Օ */
|
||||
'\xD5', '\x92', ' ', '\xD5', '\x88', ' ', '\xD4', '\xB4', ' ', '\xD5', '\x83', ' ', '\xD5', '\x87', ' ', '\xD5', '\x8D', ' ', '\xD5', '\x8F', ' ', '\xD5', '\x95', /* Ւ Ո Դ Ճ Շ Ս Տ Օ */
|
||||
'\0',
|
||||
'\xD5', '\xA5', ' ', '\xD5', '\xA7', ' ', '\xD5', '\xAB', ' ', '\xD5', '\xB4', ' ', '\xD5', '\xBE', ' ', '\xD6', '\x83', ' ', '\xD6', '\x86', ' ', '\xD6', '\x83', /* ե է ի մ վ փ ֆ փ */
|
||||
'\xD5', '\xA5', ' ', '\xD5', '\xA7', ' ', '\xD5', '\xAB', ' ', '\xD5', '\xB4', ' ', '\xD5', '\xBE', ' ', '\xD6', '\x86', ' ', '\xD5', '\xB3', /* ե է ի մ վ ֆ ճ */
|
||||
'\0',
|
||||
'\xD5', '\xA1', ' ', '\xD5', '\xB5', ' ', '\xD6', '\x82', ' ', '\xD5', '\xBD', ' ', '\xD5', '\xA3', ' ', '\xD5', '\xBB', ' ', '\xD6', '\x80', ' ', '\xD6', '\x85', /* ա յ ւ ս գ ջ ր օ */
|
||||
'\xD5', '\xA1', ' ', '\xD5', '\xB5', ' ', '\xD6', '\x82', ' ', '\xD5', '\xBD', ' ', '\xD5', '\xA3', ' ', '\xD5', '\xB7', ' ', '\xD6', '\x80', ' ', '\xD6', '\x85', /* ա յ ւ ս գ շ ր օ */
|
||||
'\0',
|
||||
'\xD5', '\xB0', ' ', '\xD5', '\xB8', ' ', '\xD5', '\xB3', ' ', '\xD5', '\xA1', ' ', '\xD5', '\xA5', ' ', '\xD5', '\xAE', ' ', '\xD5', '\xBD', ' ', '\xD6', '\x85', /* հ ո ճ ա ե ծ ս օ */
|
||||
'\0',
|
||||
'\xD5', '\xA2', ' ', '\xD5', '\xA8', ' ', '\xD5', '\xAB', ' ', '\xD5', '\xAC', ' ', '\xD5', '\xB2', ' ', '\xD5', '\xBA', ' ', '\xD6', '\x83', ' ', '\xD6', '\x81', /* բ ը ի լ ղ պ փ ց */
|
||||
'\0',
|
||||
'\xF0', '\x90', '\xAC', '\x80', ' ', '\xF0', '\x90', '\xAC', '\x81', ' ', '\xF0', '\x90', '\xAC', '\x90', ' ', '\xF0', '\x90', '\xAC', '\x9B', /* 𐬀 𐬁 𐬐 𐬛 */
|
||||
'\0',
|
||||
'\xF0', '\x90', '\xAC', '\x80', ' ', '\xF0', '\x90', '\xAC', '\x81', /* 𐬀 𐬁 */
|
||||
'\0',
|
||||
'\xEA', '\x9A', '\xA7', ' ', '\xEA', '\x9A', '\xA8', ' ', '\xEA', '\x9B', '\x9B', ' ', '\xEA', '\x9B', '\x89', ' ', '\xEA', '\x9B', '\x81', ' ', '\xEA', '\x9B', '\x88', ' ', '\xEA', '\x9B', '\xAB', ' ', '\xEA', '\x9B', '\xAF', /* ꚧ ꚨ ꛛ ꛉ ꛁ ꛈ ꛫ ꛯ */
|
||||
'\0',
|
||||
'\xEA', '\x9A', '\xAD', ' ', '\xEA', '\x9A', '\xB3', ' ', '\xEA', '\x9A', '\xB6', ' ', '\xEA', '\x9B', '\xAC', ' ', '\xEA', '\x9A', '\xA2', ' ', '\xEA', '\x9A', '\xBD', ' ', '\xEA', '\x9B', '\xAF', ' ', '\xEA', '\x9B', '\xB2', /* ꚭ ꚳ ꚶ ꛬ ꚢ ꚽ ꛯ ꛲ */
|
||||
'\0',
|
||||
'\xE0', '\xA6', '\x85', ' ', '\xE0', '\xA6', '\xA1', ' ', '\xE0', '\xA6', '\xA4', ' ', '\xE0', '\xA6', '\xA8', ' ', '\xE0', '\xA6', '\xAC', ' ', '\xE0', '\xA6', '\xAD', ' ', '\xE0', '\xA6', '\xB2', ' ', '\xE0', '\xA6', '\x95', /* অ ড ত ন ব ভ ল ক */
|
||||
'\0',
|
||||
'\xE0', '\xA6', '\x87', ' ', '\xE0', '\xA6', '\x9F', ' ', '\xE0', '\xA6', '\xA0', ' ', '\xE0', '\xA6', '\xBF', ' ', '\xE0', '\xA7', '\x80', ' ', '\xE0', '\xA7', '\x88', ' ', '\xE0', '\xA7', '\x97', /* ই ট ঠ ি ী ৈ ৗ */
|
||||
'\0',
|
||||
'\xE0', '\xA6', '\x93', ' ', '\xE0', '\xA6', '\x8F', ' ', '\xE0', '\xA6', '\xA1', ' ', '\xE0', '\xA6', '\xA4', ' ', '\xE0', '\xA6', '\xA8', ' ', '\xE0', '\xA6', '\xAC', ' ', '\xE0', '\xA6', '\xB2', ' ', '\xE0', '\xA6', '\x95', /* ও এ ড ত ন ব ল ক */
|
||||
'\0',
|
||||
'\xE1', '\x9D', '\x90', ' ', '\xE1', '\x9D', '\x88', /* ᝐ ᝈ */
|
||||
'\0',
|
||||
'\xE1', '\x9D', '\x85', ' ', '\xE1', '\x9D', '\x8A', ' ', '\xE1', '\x9D', '\x8E', /* ᝅ ᝊ ᝎ */
|
||||
'\0',
|
||||
'\xE1', '\x9D', '\x82', ' ', '\xE1', '\x9D', '\x83', ' ', '\xE1', '\x9D', '\x89', ' ', '\xE1', '\x9D', '\x8C', /* ᝂ ᝃ ᝉ ᝌ */
|
||||
'\0',
|
||||
'\xE1', '\x9D', '\x80', ' ', '\xE1', '\x9D', '\x83', ' ', '\xE1', '\x9D', '\x86', ' ', '\xE1', '\x9D', '\x89', ' ', '\xE1', '\x9D', '\x8B', ' ', '\xE1', '\x9D', '\x8F', ' ', '\xE1', '\x9D', '\x91', /* ᝀ ᝃ ᝆ ᝉ ᝋ ᝏ ᝑ */
|
||||
'\0',
|
||||
'\xE1', '\x97', '\x9C', ' ', '\xE1', '\x96', '\xB4', ' ', '\xE1', '\x90', '\x81', ' ', '\xE1', '\x92', '\xA3', ' ', '\xE1', '\x91', '\xAB', ' ', '\xE1', '\x91', '\x8E', ' ', '\xE1', '\x94', '\x91', ' ', '\xE1', '\x97', '\xB0', /* ᗜ ᖴ ᐁ ᒣ ᑫ ᑎ ᔑ ᗰ */
|
||||
'\0',
|
||||
'\xE1', '\x97', '\xB6', ' ', '\xE1', '\x96', '\xB5', ' ', '\xE1', '\x92', '\xA7', ' ', '\xE1', '\x90', '\x83', ' ', '\xE1', '\x91', '\x8C', ' ', '\xE1', '\x92', '\x8D', ' ', '\xE1', '\x94', '\x91', ' ', '\xE1', '\x97', '\xA2', /* ᗶ ᖵ ᒧ ᐃ ᑌ ᒍ ᔑ ᗢ */
|
||||
'\0',
|
||||
'\xE1', '\x93', '\x93', ' ', '\xE1', '\x93', '\x95', ' ', '\xE1', '\x93', '\x80', ' ', '\xE1', '\x93', '\x82', ' ', '\xE1', '\x93', '\x84', ' ', '\xE1', '\x95', '\x84', ' ', '\xE1', '\x95', '\x86', ' ', '\xE1', '\x98', '\xA3', /* ᓓ ᓕ ᓀ ᓂ ᓄ ᕄ ᕆ ᘣ */
|
||||
'\0',
|
||||
'\xE1', '\x95', '\x83', ' ', '\xE1', '\x93', '\x82', ' ', '\xE1', '\x93', '\x80', ' ', '\xE1', '\x95', '\x82', ' ', '\xE1', '\x93', '\x97', ' ', '\xE1', '\x93', '\x9A', ' ', '\xE1', '\x95', '\x86', ' ', '\xE1', '\x98', '\xA3', /* ᕃ ᓂ ᓀ ᕂ ᓗ ᓚ ᕆ ᘣ */
|
||||
'\0',
|
||||
'\xE1', '\x90', '\xAA', ' ', '\xE1', '\x99', '\x86', ' ', '\xE1', '\xA3', '\x98', ' ', '\xE1', '\x90', '\xA2', ' ', '\xE1', '\x92', '\xBE', ' ', '\xE1', '\xA3', '\x97', ' ', '\xE1', '\x94', '\x86', /* ᐪ ᙆ ᣘ ᐢ ᒾ ᣗ ᔆ */
|
||||
'\0',
|
||||
'\xE1', '\x99', '\x86', ' ', '\xE1', '\x97', '\xAE', ' ', '\xE1', '\x92', '\xBB', ' ', '\xE1', '\x90', '\x9E', ' ', '\xE1', '\x94', '\x86', ' ', '\xE1', '\x92', '\xA1', ' ', '\xE1', '\x92', '\xA2', ' ', '\xE1', '\x93', '\x91', /* ᙆ ᗮ ᒻ ᐞ ᔆ ᒡ ᒢ ᓑ */
|
||||
'\0',
|
||||
'\xF0', '\x90', '\x8A', '\xA7', ' ', '\xF0', '\x90', '\x8A', '\xAB', ' ', '\xF0', '\x90', '\x8A', '\xAC', ' ', '\xF0', '\x90', '\x8A', '\xAD', ' ', '\xF0', '\x90', '\x8A', '\xB1', ' ', '\xF0', '\x90', '\x8A', '\xBA', ' ', '\xF0', '\x90', '\x8A', '\xBC', ' ', '\xF0', '\x90', '\x8A', '\xBF', /* 𐊧 𐊫 𐊬 𐊭 𐊱 𐊺 𐊼 𐊿 */
|
||||
'\0',
|
||||
'\xF0', '\x90', '\x8A', '\xA3', ' ', '\xF0', '\x90', '\x8A', '\xA7', ' ', '\xF0', '\x90', '\x8A', '\xB7', ' ', '\xF0', '\x90', '\x8B', '\x80', ' ', '\xF0', '\x90', '\x8A', '\xAB', ' ', '\xF0', '\x90', '\x8A', '\xB8', ' ', '\xF0', '\x90', '\x8B', '\x89', /* 𐊣 𐊧 𐊷 𐋀 𐊫 𐊸 𐋉 */
|
||||
'\0',
|
||||
'\xF0', '\x91', '\x84', '\x83', ' ', '\xF0', '\x91', '\x84', '\x85', ' ', '\xF0', '\x91', '\x84', '\x89', ' ', '\xF0', '\x91', '\x84', '\x99', ' ', '\xF0', '\x91', '\x84', '\x97', /* 𑄃 𑄅 𑄉 𑄙 𑄗 */
|
||||
'\0',
|
||||
'\xF0', '\x91', '\x84', '\x85', ' ', '\xF0', '\x91', '\x84', '\x9B', ' ', '\xF0', '\x91', '\x84', '\x9D', ' ', '\xF0', '\x91', '\x84', '\x97', ' ', '\xF0', '\x91', '\x84', '\x93', /* 𑄅 𑄛 𑄝 𑄗 𑄓 */
|
||||
'\0',
|
||||
'\xF0', '\x91', '\x84', '\x96', '\xF0', '\x91', '\x84', '\xB3', '\xF0', '\x91', '\x84', '\xA2', ' ', '\xF0', '\x91', '\x84', '\x98', '\xF0', '\x91', '\x84', '\xB3', '\xF0', '\x91', '\x84', '\xA2', ' ', '\xF0', '\x91', '\x84', '\x99', '\xF0', '\x91', '\x84', '\xB3', '\xF0', '\x91', '\x84', '\xA2', ' ', '\xF0', '\x91', '\x84', '\xA4', '\xF0', '\x91', '\x84', '\xB3', '\xF0', '\x91', '\x84', '\xA2', ' ', '\xF0', '\x91', '\x84', '\xA5', '\xF0', '\x91', '\x84', '\xB3', '\xF0', '\x91', '\x84', '\xA2', /* 𑄖𑄳𑄢 𑄘𑄳𑄢 𑄙𑄳𑄢 𑄤𑄳𑄢 𑄥𑄳𑄢 */
|
||||
'\0',
|
||||
'\xE1', '\x8F', '\x86', ' ', '\xE1', '\x8E', '\xBB', ' ', '\xE1', '\x8E', '\xAC', ' ', '\xE1', '\x8F', '\x83', ' ', '\xE1', '\x8E', '\xA4', ' ', '\xE1', '\x8F', '\xA3', ' ', '\xE1', '\x8E', '\xA6', ' ', '\xE1', '\x8F', '\x95', /* Ꮖ Ꮋ Ꭼ Ꮓ Ꭴ Ꮳ Ꭶ Ꮥ */
|
||||
'\0',
|
||||
'\xEA', '\xAE', '\x92', ' ', '\xEA', '\xAE', '\xA4', ' ', '\xEA', '\xAE', '\xB6', ' ', '\xEA', '\xAD', '\xB4', ' ', '\xEA', '\xAD', '\xBE', ' ', '\xEA', '\xAE', '\x97', ' ', '\xEA', '\xAE', '\x9D', ' ', '\xEA', '\xAE', '\xBF', /* ꮒ ꮤ ꮶ ꭴ ꭾ ꮗ ꮝ ꮿ */
|
||||
|
@ -58,6 +104,20 @@
|
|||
'\0',
|
||||
'\xE1', '\x8F', '\xB8', ' ', '\xEA', '\xAE', '\x90', ' ', '\xEA', '\xAD', '\xB9', ' ', '\xEA', '\xAD', '\xBB', /* ᏸ ꮐ ꭹ ꭻ */
|
||||
'\0',
|
||||
'\xE2', '\xB2', '\x8C', ' ', '\xE2', '\xB2', '\x8E', ' ', '\xE2', '\xB2', '\xA0', ' ', '\xE2', '\xB3', '\x9E', ' ', '\xE2', '\xB2', '\x9E', ' ', '\xE2', '\xB2', '\x90', ' ', '\xE2', '\xB2', '\xA4', ' ', '\xE2', '\xB3', '\x8A', /* Ⲍ Ⲏ Ⲡ Ⳟ Ⲟ Ⲑ Ⲥ Ⳋ */
|
||||
'\0',
|
||||
'\xE2', '\xB3', '\x90', ' ', '\xE2', '\xB3', '\x98', ' ', '\xE2', '\xB3', '\x9E', ' ', '\xE2', '\xB2', '\x8E', ' ', '\xE2', '\xB2', '\x9E', ' ', '\xE2', '\xB2', '\x90', ' ', '\xE2', '\xB3', '\x9C', ' ', '\xE2', '\xB2', '\xB0', /* Ⳑ Ⳙ Ⳟ Ⲏ Ⲟ Ⲑ Ⳝ Ⲱ */
|
||||
'\0',
|
||||
'\xE2', '\xB2', '\x8D', ' ', '\xE2', '\xB2', '\x8F', ' ', '\xE2', '\xB2', '\xA1', ' ', '\xE2', '\xB3', '\x9F', ' ', '\xE2', '\xB2', '\x9F', ' ', '\xE2', '\xB2', '\x91', ' ', '\xE2', '\xB2', '\xA5', ' ', '\xE2', '\xB3', '\x8B', /* ⲍ ⲏ ⲡ ⳟ ⲟ ⲑ ⲥ ⳋ */
|
||||
'\0',
|
||||
'\xE2', '\xB3', '\x91', ' ', '\xE2', '\xB3', '\x99', ' ', '\xE2', '\xB3', '\x9F', ' ', '\xE2', '\xB2', '\x8F', ' ', '\xE2', '\xB2', '\x9F', ' ', '\xE2', '\xB2', '\x91', ' ', '\xE2', '\xB3', '\x9D', ' ', '\xE2', '\xB3', '\x92', /* ⳑ ⳙ ⳟ ⲏ ⲟ ⲑ ⳝ Ⳓ */
|
||||
'\0',
|
||||
'\xF0', '\x90', '\xA0', '\x8D', ' ', '\xF0', '\x90', '\xA0', '\x99', ' ', '\xF0', '\x90', '\xA0', '\xB3', ' ', '\xF0', '\x90', '\xA0', '\xB1', ' ', '\xF0', '\x90', '\xA0', '\x85', ' ', '\xF0', '\x90', '\xA0', '\x93', ' ', '\xF0', '\x90', '\xA0', '\xA3', ' ', '\xF0', '\x90', '\xA0', '\xA6', /* 𐠍 𐠙 𐠳 𐠱 𐠅 𐠓 𐠣 𐠦 */
|
||||
'\0',
|
||||
'\xF0', '\x90', '\xA0', '\x83', ' ', '\xF0', '\x90', '\xA0', '\x8A', ' ', '\xF0', '\x90', '\xA0', '\x9B', ' ', '\xF0', '\x90', '\xA0', '\xA3', ' ', '\xF0', '\x90', '\xA0', '\xB3', ' ', '\xF0', '\x90', '\xA0', '\xB5', ' ', '\xF0', '\x90', '\xA0', '\x90', /* 𐠃 𐠊 𐠛 𐠣 𐠳 𐠵 𐠐 */
|
||||
'\0',
|
||||
'\xF0', '\x90', '\xA0', '\x88', ' ', '\xF0', '\x90', '\xA0', '\x8F', ' ', '\xF0', '\x90', '\xA0', '\x96', /* 𐠈 𐠏 𐠖 */
|
||||
'\0',
|
||||
'\xD0', '\x91', ' ', '\xD0', '\x92', ' ', '\xD0', '\x95', ' ', '\xD0', '\x9F', ' ', '\xD0', '\x97', ' ', '\xD0', '\x9E', ' ', '\xD0', '\xA1', ' ', '\xD0', '\xAD', /* Б В Е П З О С Э */
|
||||
'\0',
|
||||
'\xD0', '\x91', ' ', '\xD0', '\x92', ' ', '\xD0', '\x95', ' ', '\xD0', '\xA8', ' ', '\xD0', '\x97', ' ', '\xD0', '\x9E', ' ', '\xD0', '\xA1', ' ', '\xD0', '\xAD', /* Б В Е Ш З О С Э */
|
||||
|
@ -66,6 +126,14 @@
|
|||
'\0',
|
||||
'\xD1', '\x80', ' ', '\xD1', '\x83', ' ', '\xD1', '\x84', /* р у ф */
|
||||
'\0',
|
||||
'\xF0', '\x90', '\x90', '\x82', ' ', '\xF0', '\x90', '\x90', '\x84', ' ', '\xF0', '\x90', '\x90', '\x8B', ' ', '\xF0', '\x90', '\x90', '\x97', ' ', '\xF0', '\x90', '\x90', '\x91', /* 𐐂 𐐄 𐐋 𐐗 𐐑 */
|
||||
'\0',
|
||||
'\xF0', '\x90', '\x90', '\x80', ' ', '\xF0', '\x90', '\x90', '\x82', ' ', '\xF0', '\x90', '\x90', '\x84', ' ', '\xF0', '\x90', '\x90', '\x97', ' ', '\xF0', '\x90', '\x90', '\x9B', /* 𐐀 𐐂 𐐄 𐐗 𐐛 */
|
||||
'\0',
|
||||
'\xF0', '\x90', '\x90', '\xAA', ' ', '\xF0', '\x90', '\x90', '\xAC', ' ', '\xF0', '\x90', '\x90', '\xB3', ' ', '\xF0', '\x90', '\x90', '\xBF', ' ', '\xF0', '\x90', '\x90', '\xB9', /* 𐐪 𐐬 𐐳 𐐿 𐐹 */
|
||||
'\0',
|
||||
'\xF0', '\x90', '\x90', '\xA8', ' ', '\xF0', '\x90', '\x90', '\xAA', ' ', '\xF0', '\x90', '\x90', '\xAC', ' ', '\xF0', '\x90', '\x90', '\xBF', ' ', '\xF0', '\x90', '\x91', '\x83', /* 𐐨 𐐪 𐐬 𐐿 𐑃 */
|
||||
'\0',
|
||||
'\xE0', '\xA4', '\x95', ' ', '\xE0', '\xA4', '\xAE', ' ', '\xE0', '\xA4', '\x85', ' ', '\xE0', '\xA4', '\x86', ' ', '\xE0', '\xA4', '\xA5', ' ', '\xE0', '\xA4', '\xA7', ' ', '\xE0', '\xA4', '\xAD', ' ', '\xE0', '\xA4', '\xB6', /* क म अ आ थ ध भ श */
|
||||
'\0',
|
||||
'\xE0', '\xA4', '\x88', ' ', '\xE0', '\xA4', '\x90', ' ', '\xE0', '\xA4', '\x93', ' ', '\xE0', '\xA4', '\x94', ' ', '\xE0', '\xA4', '\xBF', ' ', '\xE0', '\xA5', '\x80', ' ', '\xE0', '\xA5', '\x8B', ' ', '\xE0', '\xA5', '\x8C', /* ई ऐ ओ औ ि ी ो ौ */
|
||||
|
@ -98,6 +166,18 @@
|
|||
'\0',
|
||||
'\xE2', '\xB4', '\x84', ' ', '\xE2', '\xB4', '\x85', ' ', '\xE2', '\xB4', '\x94', ' ', '\xE2', '\xB4', '\x95', ' ', '\xE2', '\xB4', '\x81', ' ', '\xE2', '\xB4', '\x82', ' ', '\xE2', '\xB4', '\x98', ' ', '\xE2', '\xB4', '\x9D', /* ⴄ ⴅ ⴔ ⴕ ⴁ ⴂ ⴘ ⴝ */
|
||||
'\0',
|
||||
'\xE2', '\xB0', '\x85', ' ', '\xE2', '\xB0', '\x94', ' ', '\xE2', '\xB0', '\xAA', ' ', '\xE2', '\xB0', '\x84', ' ', '\xE2', '\xB0', '\x82', ' ', '\xE2', '\xB0', '\x8A', ' ', '\xE2', '\xB0', '\xAB', ' ', '\xE2', '\xB0', '\x8B', /* Ⰵ Ⱄ Ⱚ Ⰴ Ⰲ Ⰺ Ⱛ Ⰻ */
|
||||
'\0',
|
||||
'\xE2', '\xB0', '\x85', ' ', '\xE2', '\xB0', '\x84', ' ', '\xE2', '\xB0', '\x82', ' ', '\xE2', '\xB0', '\xAA', ' ', '\xE2', '\xB0', '\x9E', ' ', '\xE2', '\xB0', '\xA1', ' ', '\xE2', '\xB0', '\x8A', ' ', '\xE2', '\xB0', '\x94', /* Ⰵ Ⰴ Ⰲ Ⱚ Ⱎ Ⱑ Ⰺ Ⱄ */
|
||||
'\0',
|
||||
'\xE2', '\xB0', '\xB5', ' ', '\xE2', '\xB1', '\x84', ' ', '\xE2', '\xB1', '\x9A', ' ', '\xE2', '\xB0', '\xB4', ' ', '\xE2', '\xB0', '\xB2', ' ', '\xE2', '\xB0', '\xBA', ' ', '\xE2', '\xB1', '\x9B', ' ', '\xE2', '\xB0', '\xBB', /* ⰵ ⱄ ⱚ ⰴ ⰲ ⰺ ⱛ ⰻ */
|
||||
'\0',
|
||||
'\xE2', '\xB0', '\xB5', ' ', '\xE2', '\xB0', '\xB4', ' ', '\xE2', '\xB0', '\xB2', ' ', '\xE2', '\xB1', '\x9A', ' ', '\xE2', '\xB1', '\x8E', ' ', '\xE2', '\xB1', '\x91', ' ', '\xE2', '\xB0', '\xBA', ' ', '\xE2', '\xB1', '\x84', /* ⰵ ⰴ ⰲ ⱚ ⱎ ⱑ ⰺ ⱄ */
|
||||
'\0',
|
||||
'\xF0', '\x90', '\x8C', '\xB2', ' ', '\xF0', '\x90', '\x8C', '\xB6', ' ', '\xF0', '\x90', '\x8D', '\x80', ' ', '\xF0', '\x90', '\x8D', '\x84', ' ', '\xF0', '\x90', '\x8C', '\xB4', ' ', '\xF0', '\x90', '\x8D', '\x83', ' ', '\xF0', '\x90', '\x8D', '\x88', ' ', '\xF0', '\x90', '\x8C', '\xBE', /* 𐌲 𐌶 𐍀 𐍄 𐌴 𐍃 𐍈 𐌾 */
|
||||
'\0',
|
||||
'\xF0', '\x90', '\x8C', '\xB6', ' ', '\xF0', '\x90', '\x8C', '\xB4', ' ', '\xF0', '\x90', '\x8D', '\x83', ' ', '\xF0', '\x90', '\x8D', '\x88', /* 𐌶 𐌴 𐍃 𐍈 */
|
||||
'\0',
|
||||
'\xCE', '\x93', ' ', '\xCE', '\x92', ' ', '\xCE', '\x95', ' ', '\xCE', '\x96', ' ', '\xCE', '\x98', ' ', '\xCE', '\x9F', ' ', '\xCE', '\xA9', /* Γ Β Ε Ζ Θ Ο Ω */
|
||||
'\0',
|
||||
'\xCE', '\x92', ' ', '\xCE', '\x94', ' ', '\xCE', '\x96', ' ', '\xCE', '\x9E', ' ', '\xCE', '\x98', ' ', '\xCE', '\x9F', /* Β Δ Ζ Ξ Θ Ο */
|
||||
|
@ -138,6 +218,16 @@
|
|||
'\0',
|
||||
'\xE0', '\xB2', '\x85', ' ', '\xE0', '\xB2', '\x89', ' ', '\xE0', '\xB2', '\x8E', ' ', '\xE0', '\xB2', '\xB2', ' ', '\xE0', '\xB3', '\xA6', ' ', '\xE0', '\xB3', '\xA8', ' ', '\xE0', '\xB3', '\xAC', ' ', '\xE0', '\xB3', '\xAD', /* ಅ ಉ ಎ ಲ ೦ ೨ ೬ ೭ */
|
||||
'\0',
|
||||
'\xEA', '\xA4', '\x85', ' ', '\xEA', '\xA4', '\x8F', ' ', '\xEA', '\xA4', '\x81', ' ', '\xEA', '\xA4', '\x8B', ' ', '\xEA', '\xA4', '\x80', ' ', '\xEA', '\xA4', '\x8D', /* ꤅ ꤏ ꤁ ꤋ ꤀ ꤍ */
|
||||
'\0',
|
||||
'\xEA', '\xA4', '\x88', ' ', '\xEA', '\xA4', '\x98', ' ', '\xEA', '\xA4', '\x80', ' ', '\xEA', '\xA4', '\x8D', ' ', '\xEA', '\xA4', '\xA2', /* ꤈ ꤘ ꤀ ꤍ ꤢ */
|
||||
'\0',
|
||||
'\xEA', '\xA4', '\x96', ' ', '\xEA', '\xA4', '\xA1', /* ꤖ ꤡ */
|
||||
'\0',
|
||||
'\xEA', '\xA4', '\x91', ' ', '\xEA', '\xA4', '\x9C', ' ', '\xEA', '\xA4', '\x9E', /* ꤑ ꤜ ꤞ */
|
||||
'\0',
|
||||
'\xEA', '\xA4', '\x91', '\xEA', '\xA4', '\xAC', ' ', '\xEA', '\xA4', '\x9C', '\xEA', '\xA4', '\xAD', ' ', '\xEA', '\xA4', '\x94', '\xEA', '\xA4', '\xAC', /* ꤑ꤬ ꤜ꤭ ꤔ꤬ */
|
||||
'\0',
|
||||
'\xE1', '\x9E', '\x81', ' ', '\xE1', '\x9E', '\x91', ' ', '\xE1', '\x9E', '\x93', ' ', '\xE1', '\x9E', '\xA7', ' ', '\xE1', '\x9E', '\xA9', ' ', '\xE1', '\x9E', '\xB6', /* ខ ទ ន ឧ ឩ ា */
|
||||
'\0',
|
||||
'\xE1', '\x9E', '\x80', '\xE1', '\x9F', '\x92', '\xE1', '\x9E', '\x80', ' ', '\xE1', '\x9E', '\x80', '\xE1', '\x9F', '\x92', '\xE1', '\x9E', '\x81', ' ', '\xE1', '\x9E', '\x80', '\xE1', '\x9F', '\x92', '\xE1', '\x9E', '\x82', ' ', '\xE1', '\x9E', '\x80', '\xE1', '\x9F', '\x92', '\xE1', '\x9E', '\x90', /* ក្ក ក្ខ ក្គ ក្ថ */
|
||||
|
@ -168,7 +258,9 @@
|
|||
'\0',
|
||||
'f', ' ', 'i', ' ', 'j', ' ', 'k', ' ', 'd', ' ', 'b', ' ', 'h', /* f i j k d b h */
|
||||
'\0',
|
||||
'x', ' ', 'z', ' ', 'r', ' ', 'o', ' ', 'e', ' ', 's', ' ', 'c', /* x z r o e s c */
|
||||
'u', ' ', 'v', ' ', 'x', ' ', 'z', ' ', 'o', ' ', 'e', ' ', 's', ' ', 'c', /* u v x z o e s c */
|
||||
'\0',
|
||||
'n', ' ', 'r', ' ', 'x', ' ', 'z', ' ', 'o', ' ', 'e', ' ', 's', ' ', 'c', /* n r x z o e s c */
|
||||
'\0',
|
||||
'p', ' ', 'q', ' ', 'g', ' ', 'j', ' ', 'y', /* p q g j y */
|
||||
'\0',
|
||||
|
@ -192,6 +284,10 @@
|
|||
'\0',
|
||||
'\xE1', '\xB5', '\x96', ' ', '\xCA', '\xB8', ' ', '\xE1', '\xB5', '\x8D', /* ᵖ ʸ ᵍ */
|
||||
'\0',
|
||||
'\xEA', '\x93', '\xA1', ' ', '\xEA', '\x93', '\xA7', ' ', '\xEA', '\x93', '\xB1', ' ', '\xEA', '\x93', '\xB6', ' ', '\xEA', '\x93', '\xA9', ' ', '\xEA', '\x93', '\x9A', ' ', '\xEA', '\x93', '\xB5', ' ', '\xEA', '\x93', '\xB3', /* ꓡ ꓧ ꓱ ꓶ ꓩ ꓚ ꓵ ꓳ */
|
||||
'\0',
|
||||
'\xEA', '\x93', '\x95', ' ', '\xEA', '\x93', '\x9C', ' ', '\xEA', '\x93', '\x9E', ' ', '\xEA', '\x93', '\xA1', ' ', '\xEA', '\x93', '\x9B', ' ', '\xEA', '\x93', '\xA2', ' ', '\xEA', '\x93', '\xB3', ' ', '\xEA', '\x93', '\xB4', /* ꓕ ꓜ ꓞ ꓡ ꓛ ꓢ ꓳ ꓴ */
|
||||
'\0',
|
||||
'\xE0', '\xB4', '\x92', ' ', '\xE0', '\xB4', '\x9F', ' ', '\xE0', '\xB4', '\xA0', ' ', '\xE0', '\xB4', '\xB1', ' ', '\xE0', '\xB4', '\x9A', ' ', '\xE0', '\xB4', '\xAA', ' ', '\xE0', '\xB4', '\x9A', '\xE0', '\xB5', '\x8D', '\xE0', '\xB4', '\x9A', ' ', '\xE0', '\xB4', '\xAA', '\xE0', '\xB5', '\x8D', '\xE0', '\xB4', '\xAA', /* ഒ ട ഠ റ ച പ ച്ച പ്പ */
|
||||
'\0',
|
||||
'\xE0', '\xB4', '\x9F', ' ', '\xE0', '\xB4', '\xA0', ' ', '\xE0', '\xB4', '\xA7', ' ', '\xE0', '\xB4', '\xB6', ' ', '\xE0', '\xB4', '\x98', ' ', '\xE0', '\xB4', '\x9A', ' ', '\xE0', '\xB4', '\xA5', ' ', '\xE0', '\xB4', '\xB2', /* ട ഠ ധ ശ ഘ ച ഥ ല */
|
||||
|
@ -204,12 +300,68 @@
|
|||
'\0',
|
||||
'\xE1', '\x80', '\x89', ' ', '\xE1', '\x80', '\x8A', ' ', '\xE1', '\x80', '\xA5', ' ', '\xE1', '\x80', '\xA9', ' ', '\xE1', '\x80', '\xA8', ' ', '\xE1', '\x81', '\x82', ' ', '\xE1', '\x81', '\x85', ' ', '\xE1', '\x81', '\x89', /* ဉ ည ဥ ဩ ဨ ၂ ၅ ၉ */
|
||||
'\0',
|
||||
'\xDF', '\x90', ' ', '\xDF', '\x89', ' ', '\xDF', '\x92', ' ', '\xDF', '\x9F', ' ', '\xDF', '\x96', ' ', '\xDF', '\x9C', ' ', '\xDF', '\xA0', ' ', '\xDF', '\xA5', /* ߐ ߉ ߒ ߟ ߖ ߜ ߠ ߥ */
|
||||
'\0',
|
||||
'\xDF', '\x80', ' ', '\xDF', '\x98', ' ', '\xDF', '\xA1', ' ', '\xDF', '\xA0', ' ', '\xDF', '\xA5', /* ߀ ߘ ߡ ߠ ߥ */
|
||||
'\0',
|
||||
'\xDF', '\x8F', ' ', '\xDF', '\x9B', ' ', '\xDF', '\x8B', /* ߏ ߛ ߋ */
|
||||
'\0',
|
||||
'\xDF', '\x8E', ' ', '\xDF', '\x8F', ' ', '\xDF', '\x9B', ' ', '\xDF', '\x8B', /* ߎ ߏ ߛ ߋ */
|
||||
'\0',
|
||||
'\xE1', '\xB1', '\x9B', ' ', '\xE1', '\xB1', '\x9C', ' ', '\xE1', '\xB1', '\x9D', ' ', '\xE1', '\xB1', '\xA1', ' ', '\xE1', '\xB1', '\xA2', ' ', '\xE1', '\xB1', '\xA5', /* ᱛ ᱜ ᱝ ᱡ ᱢ ᱥ */
|
||||
'\0',
|
||||
'\xF0', '\x90', '\xB0', '\x97', ' ', '\xF0', '\x90', '\xB0', '\x98', ' ', '\xF0', '\x90', '\xB0', '\xA7', /* 𐰗 𐰘 𐰧 */
|
||||
'\0',
|
||||
'\xF0', '\x90', '\xB0', '\x89', ' ', '\xF0', '\x90', '\xB0', '\x97', ' ', '\xF0', '\x90', '\xB0', '\xA6', ' ', '\xF0', '\x90', '\xB0', '\xA7', /* 𐰉 𐰗 𐰦 𐰧 */
|
||||
'\0',
|
||||
'\xF0', '\x90', '\x92', '\xBE', ' ', '\xF0', '\x90', '\x93', '\x8D', ' ', '\xF0', '\x90', '\x93', '\x92', ' ', '\xF0', '\x90', '\x93', '\x93', ' ', '\xF0', '\x90', '\x92', '\xBB', ' ', '\xF0', '\x90', '\x93', '\x82', ' ', '\xF0', '\x90', '\x92', '\xB5', ' ', '\xF0', '\x90', '\x93', '\x86', /* 𐒾 𐓍 𐓒 𐓓 𐒻 𐓂 𐒵 𐓆 */
|
||||
'\0',
|
||||
'\xF0', '\x90', '\x92', '\xB0', ' ', '\xF0', '\x90', '\x93', '\x8D', ' ', '\xF0', '\x90', '\x93', '\x82', ' ', '\xF0', '\x90', '\x92', '\xBF', ' ', '\xF0', '\x90', '\x93', '\x8E', ' ', '\xF0', '\x90', '\x92', '\xB9', /* 𐒰 𐓍 𐓂 𐒿 𐓎 𐒹 */
|
||||
'\0',
|
||||
'\xF0', '\x90', '\x92', '\xBC', ' ', '\xF0', '\x90', '\x92', '\xBD', ' ', '\xF0', '\x90', '\x92', '\xBE', /* 𐒼 𐒽 𐒾 */
|
||||
'\0',
|
||||
'\xF0', '\x90', '\x93', '\xB5', ' ', '\xF0', '\x90', '\x93', '\xB6', ' ', '\xF0', '\x90', '\x93', '\xBA', ' ', '\xF0', '\x90', '\x93', '\xBB', ' ', '\xF0', '\x90', '\x93', '\x9D', ' ', '\xF0', '\x90', '\x93', '\xA3', ' ', '\xF0', '\x90', '\x93', '\xAA', ' ', '\xF0', '\x90', '\x93', '\xAE', /* 𐓵 𐓶 𐓺 𐓻 𐓝 𐓣 𐓪 𐓮 */
|
||||
'\0',
|
||||
'\xF0', '\x90', '\x93', '\x98', ' ', '\xF0', '\x90', '\x93', '\x9A', ' ', '\xF0', '\x90', '\x93', '\xA3', ' ', '\xF0', '\x90', '\x93', '\xB5', ' ', '\xF0', '\x90', '\x93', '\xA1', ' ', '\xF0', '\x90', '\x93', '\xA7', ' ', '\xF0', '\x90', '\x93', '\xAA', ' ', '\xF0', '\x90', '\x93', '\xB6', /* 𐓘 𐓚 𐓣 𐓵 𐓡 𐓧 𐓪 𐓶 */
|
||||
'\0',
|
||||
'\xF0', '\x90', '\x93', '\xA4', ' ', '\xF0', '\x90', '\x93', '\xA6', ' ', '\xF0', '\x90', '\x93', '\xB8', ' ', '\xF0', '\x90', '\x93', '\xB9', ' ', '\xF0', '\x90', '\x93', '\x9B', /* 𐓤 𐓦 𐓸 𐓹 𐓛 */
|
||||
'\0',
|
||||
'\xF0', '\x90', '\x93', '\xA4', ' ', '\xF0', '\x90', '\x93', '\xA5', ' ', '\xF0', '\x90', '\x93', '\xA6', /* 𐓤 𐓥 𐓦 */
|
||||
'\0',
|
||||
'\xF0', '\x90', '\x92', '\x86', ' ', '\xF0', '\x90', '\x92', '\x89', ' ', '\xF0', '\x90', '\x92', '\x90', ' ', '\xF0', '\x90', '\x92', '\x92', ' ', '\xF0', '\x90', '\x92', '\x98', ' ', '\xF0', '\x90', '\x92', '\x9B', ' ', '\xF0', '\x90', '\x92', '\xA0', ' ', '\xF0', '\x90', '\x92', '\xA3', /* 𐒆 𐒉 𐒐 𐒒 𐒘 𐒛 𐒠 𐒣 */
|
||||
'\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', /* 𐒀 𐒂 𐒆 𐒈 𐒊 𐒒 𐒠 𐒩 */
|
||||
'\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', /* ꢜ ꢞ ꢳ ꢂ ꢖ ꢒ ꢝ ꢛ */
|
||||
'\0',
|
||||
'\xEA', '\xA2', '\x82', ' ', '\xEA', '\xA2', '\xA8', ' ', '\xEA', '\xA2', '\xBA', ' ', '\xEA', '\xA2', '\xA4', ' ', '\xEA', '\xA2', '\x8E', /* ꢂ ꢨ ꢺ ꢤ ꢎ */
|
||||
'\0',
|
||||
'\xF0', '\x90', '\x91', '\x95', ' ', '\xF0', '\x90', '\x91', '\x99', /* 𐑕 𐑙 */
|
||||
'\0',
|
||||
'\xF0', '\x90', '\x91', '\x94', ' ', '\xF0', '\x90', '\x91', '\x96', ' ', '\xF0', '\x90', '\x91', '\x97', ' ', '\xF0', '\x90', '\x91', '\xB9', ' ', '\xF0', '\x90', '\x91', '\xBB', /* 𐑔 𐑖 𐑗 𐑹 𐑻 */
|
||||
'\0',
|
||||
'\xF0', '\x90', '\x91', '\x9F', ' ', '\xF0', '\x90', '\x91', '\xA3', /* 𐑟 𐑣 */
|
||||
'\0',
|
||||
'\xF0', '\x90', '\x91', '\xB1', ' ', '\xF0', '\x90', '\x91', '\xB2', ' ', '\xF0', '\x90', '\x91', '\xB3', ' ', '\xF0', '\x90', '\x91', '\xB4', ' ', '\xF0', '\x90', '\x91', '\xB8', ' ', '\xF0', '\x90', '\x91', '\xBA', ' ', '\xF0', '\x90', '\x91', '\xBC', /* 𐑱 𐑲 𐑳 𐑴 𐑸 𐑺 𐑼 */
|
||||
'\0',
|
||||
'\xF0', '\x90', '\x91', '\xB4', ' ', '\xF0', '\x90', '\x91', '\xBB', ' ', '\xF0', '\x90', '\x91', '\xB9', /* 𐑴 𐑻 𐑹 */
|
||||
'\0',
|
||||
'\xE0', '\xB6', '\x89', ' ', '\xE0', '\xB6', '\x9A', ' ', '\xE0', '\xB6', '\x9D', ' ', '\xE0', '\xB6', '\xB3', ' ', '\xE0', '\xB6', '\xB4', ' ', '\xE0', '\xB6', '\xBA', ' ', '\xE0', '\xB6', '\xBD', ' ', '\xE0', '\xB7', '\x86', /* ඉ ක ඝ ඳ ප ය ල ෆ */
|
||||
'\0',
|
||||
'\xE0', '\xB6', '\x91', ' ', '\xE0', '\xB6', '\x94', ' ', '\xE0', '\xB6', '\x9D', ' ', '\xE0', '\xB6', '\xA2', ' ', '\xE0', '\xB6', '\xA7', ' ', '\xE0', '\xB6', '\xAE', ' ', '\xE0', '\xB6', '\xB0', ' ', '\xE0', '\xB6', '\xBB', /* එ ඔ ඝ ජ ට ථ ධ ර */
|
||||
'\0',
|
||||
'\xE0', '\xB6', '\xAF', ' ', '\xE0', '\xB6', '\xB3', ' ', '\xE0', '\xB6', '\x8B', ' ', '\xE0', '\xB6', '\xBD', ' ', '\xE0', '\xB6', '\xAD', '\xE0', '\xB7', '\x96', ' ', '\xE0', '\xB6', '\xAD', '\xE0', '\xB7', '\x94', ' ', '\xE0', '\xB6', '\xB6', '\xE0', '\xB7', '\x94', ' ', '\xE0', '\xB6', '\xAF', '\xE0', '\xB7', '\x94', /* ද ඳ උ ල තූ තු බු දු */
|
||||
'\0',
|
||||
'\xE1', '\xAE', '\x8B', ' ', '\xE1', '\xAE', '\x9E', ' ', '\xE1', '\xAE', '\xAE', ' ', '\xE1', '\xAE', '\xBD', ' ', '\xE1', '\xAE', '\xB0', ' ', '\xE1', '\xAE', '\x88', /* ᮋ ᮞ ᮮ ᮽ ᮰ ᮈ */
|
||||
'\0',
|
||||
'\xE1', '\xAE', '\x84', ' ', '\xE1', '\xAE', '\x94', ' ', '\xE1', '\xAE', '\x95', ' ', '\xE1', '\xAE', '\x97', ' ', '\xE1', '\xAE', '\xB0', ' ', '\xE1', '\xAE', '\x86', ' ', '\xE1', '\xAE', '\x88', ' ', '\xE1', '\xAE', '\x89', /* ᮄ ᮔ ᮕ ᮗ ᮰ ᮆ ᮈ ᮉ */
|
||||
'\0',
|
||||
'\xE1', '\xAE', '\xBC', ' ', '\xE1', '\xB3', '\x84', /* ᮼ ᳄ */
|
||||
'\0',
|
||||
'\xEA', '\xAA', '\x86', ' ', '\xEA', '\xAA', '\x94', ' ', '\xEA', '\xAA', '\x92', ' ', '\xEA', '\xAA', '\x96', ' ', '\xEA', '\xAA', '\xAB', /* ꪆ ꪔ ꪒ ꪖ ꪫ */
|
||||
'\0',
|
||||
'\xEA', '\xAA', '\x89', ' ', '\xEA', '\xAA', '\xAB', ' ', '\xEA', '\xAA', '\xAE', /* ꪉ ꪫ ꪮ */
|
||||
'\0',
|
||||
'\xE0', '\xAE', '\x89', ' ', '\xE0', '\xAE', '\x92', ' ', '\xE0', '\xAE', '\x93', ' ', '\xE0', '\xAE', '\xB1', ' ', '\xE0', '\xAE', '\x88', ' ', '\xE0', '\xAE', '\x95', ' ', '\xE0', '\xAE', '\x99', ' ', '\xE0', '\xAE', '\x9A', /* உ ஒ ஓ ற ஈ க ங ச */
|
||||
'\0',
|
||||
'\xE0', '\xAE', '\x95', ' ', '\xE0', '\xAE', '\x9A', ' ', '\xE0', '\xAE', '\xB2', ' ', '\xE0', '\xAE', '\xB6', ' ', '\xE0', '\xAE', '\x89', ' ', '\xE0', '\xAE', '\x99', ' ', '\xE0', '\xAE', '\x9F', ' ', '\xE0', '\xAE', '\xAA', /* க ச ல ஶ உ ங ட ப */
|
||||
|
@ -231,6 +383,12 @@
|
|||
'\xE0', '\xB8', '\x8D', ' ', '\xE0', '\xB8', '\x90', /* ญ ฐ */
|
||||
'\0',
|
||||
'\xE0', '\xB9', '\x90', ' ', '\xE0', '\xB9', '\x91', ' ', '\xE0', '\xB9', '\x93', /* ๐ ๑ ๓ */
|
||||
'\0',
|
||||
'\xE2', '\xB5', '\x94', ' ', '\xE2', '\xB5', '\x99', ' ', '\xE2', '\xB5', '\x9B', ' ', '\xE2', '\xB5', '\x9E', ' ', '\xE2', '\xB4', '\xB5', ' ', '\xE2', '\xB4', '\xBC', ' ', '\xE2', '\xB4', '\xB9', ' ', '\xE2', '\xB5', '\x8E', /* ⵔ ⵙ ⵛ ⵞ ⴵ ⴼ ⴹ ⵎ */
|
||||
'\0',
|
||||
'\xEA', '\x97', '\x8D', ' ', '\xEA', '\x98', '\x96', ' ', '\xEA', '\x98', '\x99', ' ', '\xEA', '\x98', '\x9C', ' ', '\xEA', '\x96', '\x9C', ' ', '\xEA', '\x96', '\x9D', ' ', '\xEA', '\x94', '\x85', ' ', '\xEA', '\x95', '\xA2', /* ꗍ ꘖ ꘙ ꘜ ꖜ ꖝ ꔅ ꕢ */
|
||||
'\0',
|
||||
'\xEA', '\x97', '\x8D', ' ', '\xEA', '\x98', '\x96', ' ', '\xEA', '\x98', '\x99', ' ', '\xEA', '\x97', '\x9E', ' ', '\xEA', '\x94', '\x85', ' ', '\xEA', '\x95', '\xA2', ' ', '\xEA', '\x96', '\x9C', ' ', '\xEA', '\x94', '\x86', /* ꗍ ꘖ ꘙ ꗞ ꔅ ꕢ ꖜ ꔆ */
|
||||
#ifdef AF_CONFIG_OPTION_CJK
|
||||
'\0',
|
||||
'\xE4', '\xBB', '\x96', ' ', '\xE4', '\xBB', '\xAC', ' ', '\xE4', '\xBD', '\xA0', ' ', '\xE4', '\xBE', '\x86', ' ', '\xE5', '\x80', '\x91', ' ', '\xE5', '\x88', '\xB0', ' ', '\xE5', '\x92', '\x8C', ' ', '\xE5', '\x9C', '\xB0', /* 他 们 你 來 們 到 和 地 */
|
||||
|
@ -281,6 +439,12 @@
|
|||
af_blue_stringsets[] =
|
||||
{
|
||||
/* */
|
||||
{ AF_BLUE_STRING_ADLAM_CAPITAL_TOP, AF_BLUE_PROPERTY_LATIN_TOP },
|
||||
{ AF_BLUE_STRING_ADLAM_CAPITAL_BOTTOM, 0 },
|
||||
{ AF_BLUE_STRING_ADLAM_SMALL_TOP, AF_BLUE_PROPERTY_LATIN_TOP |
|
||||
AF_BLUE_PROPERTY_LATIN_X_HEIGHT },
|
||||
{ AF_BLUE_STRING_ADLAM_SMALL_BOTTOM, 0 },
|
||||
{ AF_BLUE_STRING_MAX, 0 },
|
||||
{ AF_BLUE_STRING_ARABIC_TOP, AF_BLUE_PROPERTY_LATIN_TOP },
|
||||
{ AF_BLUE_STRING_ARABIC_BOTTOM, 0 },
|
||||
{ AF_BLUE_STRING_ARABIC_JOIN, AF_BLUE_PROPERTY_LATIN_NEUTRAL },
|
||||
|
@ -293,6 +457,12 @@
|
|||
{ AF_BLUE_STRING_ARMENIAN_SMALL_BOTTOM, 0 },
|
||||
{ AF_BLUE_STRING_ARMENIAN_SMALL_DESCENDER, 0 },
|
||||
{ AF_BLUE_STRING_MAX, 0 },
|
||||
{ AF_BLUE_STRING_AVESTAN_TOP, AF_BLUE_PROPERTY_LATIN_TOP },
|
||||
{ AF_BLUE_STRING_AVESTAN_BOTTOM, 0 },
|
||||
{ AF_BLUE_STRING_MAX, 0 },
|
||||
{ AF_BLUE_STRING_BAMUM_TOP, AF_BLUE_PROPERTY_LATIN_TOP },
|
||||
{ AF_BLUE_STRING_BAMUM_BOTTOM, 0 },
|
||||
{ AF_BLUE_STRING_MAX, 0 },
|
||||
{ AF_BLUE_STRING_BENGALI_TOP, AF_BLUE_PROPERTY_LATIN_TOP },
|
||||
{ AF_BLUE_STRING_BENGALI_HEAD, AF_BLUE_PROPERTY_LATIN_TOP },
|
||||
{ AF_BLUE_STRING_BENGALI_BASE, AF_BLUE_PROPERTY_LATIN_TOP |
|
||||
|
@ -300,6 +470,27 @@
|
|||
AF_BLUE_PROPERTY_LATIN_X_HEIGHT },
|
||||
{ AF_BLUE_STRING_BENGALI_BASE, 0 },
|
||||
{ AF_BLUE_STRING_MAX, 0 },
|
||||
{ AF_BLUE_STRING_BUHID_TOP, AF_BLUE_PROPERTY_LATIN_TOP },
|
||||
{ AF_BLUE_STRING_BUHID_LARGE, AF_BLUE_PROPERTY_LATIN_TOP },
|
||||
{ AF_BLUE_STRING_BUHID_SMALL, AF_BLUE_PROPERTY_LATIN_TOP |
|
||||
AF_BLUE_PROPERTY_LATIN_X_HEIGHT },
|
||||
{ AF_BLUE_STRING_BUHID_BOTTOM, 0 },
|
||||
{ AF_BLUE_STRING_MAX, 0 },
|
||||
{ AF_BLUE_STRING_CHAKMA_TOP, AF_BLUE_PROPERTY_LATIN_TOP },
|
||||
{ AF_BLUE_STRING_CHAKMA_BOTTOM, 0 },
|
||||
{ AF_BLUE_STRING_CHAKMA_DESCENDER, 0 },
|
||||
{ AF_BLUE_STRING_MAX, 0 },
|
||||
{ AF_BLUE_STRING_CANADIAN_SYLLABICS_TOP, AF_BLUE_PROPERTY_LATIN_TOP },
|
||||
{ AF_BLUE_STRING_CANADIAN_SYLLABICS_BOTTOM, 0 },
|
||||
{ AF_BLUE_STRING_CANADIAN_SYLLABICS_SMALL_TOP, AF_BLUE_PROPERTY_LATIN_TOP |
|
||||
AF_BLUE_PROPERTY_LATIN_X_HEIGHT },
|
||||
{ AF_BLUE_STRING_CANADIAN_SYLLABICS_SMALL_BOTTOM, 0 },
|
||||
{ AF_BLUE_STRING_CANADIAN_SYLLABICS_SUPS_TOP, AF_BLUE_PROPERTY_LATIN_TOP },
|
||||
{ AF_BLUE_STRING_CANADIAN_SYLLABICS_SUPS_BOTTOM, 0 },
|
||||
{ AF_BLUE_STRING_MAX, 0 },
|
||||
{ AF_BLUE_STRING_CARIAN_TOP, AF_BLUE_PROPERTY_LATIN_TOP },
|
||||
{ AF_BLUE_STRING_CARIAN_BOTTOM, 0 },
|
||||
{ AF_BLUE_STRING_MAX, 0 },
|
||||
{ AF_BLUE_STRING_CHEROKEE_CAPITAL, AF_BLUE_PROPERTY_LATIN_TOP },
|
||||
{ AF_BLUE_STRING_CHEROKEE_CAPITAL, 0 },
|
||||
{ AF_BLUE_STRING_CHEROKEE_SMALL_ASCENDER, AF_BLUE_PROPERTY_LATIN_TOP },
|
||||
|
@ -308,6 +499,17 @@
|
|||
{ AF_BLUE_STRING_CHEROKEE_SMALL, 0 },
|
||||
{ AF_BLUE_STRING_CHEROKEE_SMALL_DESCENDER, 0 },
|
||||
{ AF_BLUE_STRING_MAX, 0 },
|
||||
{ AF_BLUE_STRING_COPTIC_CAPITAL_TOP, AF_BLUE_PROPERTY_LATIN_TOP },
|
||||
{ AF_BLUE_STRING_COPTIC_CAPITAL_BOTTOM, 0 },
|
||||
{ AF_BLUE_STRING_COPTIC_SMALL_TOP, AF_BLUE_PROPERTY_LATIN_TOP |
|
||||
AF_BLUE_PROPERTY_LATIN_X_HEIGHT },
|
||||
{ AF_BLUE_STRING_COPTIC_SMALL_BOTTOM, 0 },
|
||||
{ AF_BLUE_STRING_MAX, 0 },
|
||||
{ AF_BLUE_STRING_CYPRIOT_TOP, AF_BLUE_PROPERTY_LATIN_TOP },
|
||||
{ AF_BLUE_STRING_CYPRIOT_BOTTOM, 0 },
|
||||
{ AF_BLUE_STRING_CYPRIOT_SMALL, AF_BLUE_PROPERTY_LATIN_TOP },
|
||||
{ AF_BLUE_STRING_CYPRIOT_SMALL, 0 },
|
||||
{ AF_BLUE_STRING_MAX, 0 },
|
||||
{ AF_BLUE_STRING_CYRILLIC_CAPITAL_TOP, AF_BLUE_PROPERTY_LATIN_TOP },
|
||||
{ AF_BLUE_STRING_CYRILLIC_CAPITAL_BOTTOM, 0 },
|
||||
{ AF_BLUE_STRING_CYRILLIC_SMALL, AF_BLUE_PROPERTY_LATIN_TOP |
|
||||
|
@ -323,6 +525,12 @@
|
|||
{ AF_BLUE_STRING_DEVANAGARI_BASE, 0 },
|
||||
{ AF_BLUE_STRING_DEVANAGARI_BOTTOM, 0 },
|
||||
{ AF_BLUE_STRING_MAX, 0 },
|
||||
{ AF_BLUE_STRING_DESERET_CAPITAL_TOP, AF_BLUE_PROPERTY_LATIN_TOP },
|
||||
{ AF_BLUE_STRING_DESERET_CAPITAL_BOTTOM, 0 },
|
||||
{ AF_BLUE_STRING_DESERET_SMALL_TOP, AF_BLUE_PROPERTY_LATIN_TOP |
|
||||
AF_BLUE_PROPERTY_LATIN_X_HEIGHT },
|
||||
{ AF_BLUE_STRING_DESERET_SMALL_BOTTOM, 0 },
|
||||
{ AF_BLUE_STRING_MAX, 0 },
|
||||
{ AF_BLUE_STRING_ETHIOPIC_TOP, AF_BLUE_PROPERTY_LATIN_TOP },
|
||||
{ AF_BLUE_STRING_ETHIOPIC_BOTTOM, 0 },
|
||||
{ AF_BLUE_STRING_MAX, 0 },
|
||||
|
@ -340,6 +548,15 @@
|
|||
{ AF_BLUE_STRING_GEORGIAN_NUSKHURI_ASCENDER, AF_BLUE_PROPERTY_LATIN_TOP },
|
||||
{ AF_BLUE_STRING_GEORGIAN_NUSKHURI_DESCENDER, 0 },
|
||||
{ AF_BLUE_STRING_MAX, 0 },
|
||||
{ AF_BLUE_STRING_GLAGOLITIC_CAPITAL_TOP, AF_BLUE_PROPERTY_LATIN_TOP },
|
||||
{ AF_BLUE_STRING_GLAGOLITIC_CAPITAL_BOTTOM, 0 },
|
||||
{ AF_BLUE_STRING_GLAGOLITIC_SMALL_TOP, AF_BLUE_PROPERTY_LATIN_TOP |
|
||||
AF_BLUE_PROPERTY_LATIN_X_HEIGHT },
|
||||
{ AF_BLUE_STRING_GLAGOLITIC_SMALL_BOTTOM, 0 },
|
||||
{ AF_BLUE_STRING_MAX, 0 },
|
||||
{ AF_BLUE_STRING_GOTHIC_TOP, AF_BLUE_PROPERTY_LATIN_TOP },
|
||||
{ AF_BLUE_STRING_GOTHIC_BOTTOM, 0 },
|
||||
{ AF_BLUE_STRING_MAX, 0 },
|
||||
{ AF_BLUE_STRING_GREEK_CAPITAL_TOP, AF_BLUE_PROPERTY_LATIN_TOP },
|
||||
{ AF_BLUE_STRING_GREEK_CAPITAL_BOTTOM, 0 },
|
||||
{ AF_BLUE_STRING_GREEK_SMALL_BETA_TOP, AF_BLUE_PROPERTY_LATIN_TOP },
|
||||
|
@ -368,6 +585,13 @@
|
|||
{ AF_BLUE_STRING_HEBREW_BOTTOM, 0 },
|
||||
{ AF_BLUE_STRING_HEBREW_DESCENDER, 0 },
|
||||
{ AF_BLUE_STRING_MAX, 0 },
|
||||
{ AF_BLUE_STRING_KAYAH_LI_TOP, AF_BLUE_PROPERTY_LATIN_TOP |
|
||||
AF_BLUE_PROPERTY_LATIN_X_HEIGHT },
|
||||
{ AF_BLUE_STRING_KAYAH_LI_BOTTOM, 0 },
|
||||
{ AF_BLUE_STRING_KAYAH_LI_ASCENDER, AF_BLUE_PROPERTY_LATIN_TOP },
|
||||
{ AF_BLUE_STRING_KAYAH_LI_DESCENDER, 0 },
|
||||
{ AF_BLUE_STRING_KAYAH_LI_LARGE_DESCENDER, 0 },
|
||||
{ AF_BLUE_STRING_MAX, 0 },
|
||||
{ AF_BLUE_STRING_KANNADA_TOP, AF_BLUE_PROPERTY_LATIN_TOP },
|
||||
{ AF_BLUE_STRING_KANNADA_BOTTOM, 0 },
|
||||
{ AF_BLUE_STRING_MAX, 0 },
|
||||
|
@ -392,9 +616,9 @@
|
|||
{ AF_BLUE_STRING_LATIN_CAPITAL_TOP, AF_BLUE_PROPERTY_LATIN_TOP },
|
||||
{ AF_BLUE_STRING_LATIN_CAPITAL_BOTTOM, 0 },
|
||||
{ AF_BLUE_STRING_LATIN_SMALL_F_TOP, AF_BLUE_PROPERTY_LATIN_TOP },
|
||||
{ AF_BLUE_STRING_LATIN_SMALL, AF_BLUE_PROPERTY_LATIN_TOP |
|
||||
{ AF_BLUE_STRING_LATIN_SMALL_TOP, AF_BLUE_PROPERTY_LATIN_TOP |
|
||||
AF_BLUE_PROPERTY_LATIN_X_HEIGHT },
|
||||
{ AF_BLUE_STRING_LATIN_SMALL, 0 },
|
||||
{ AF_BLUE_STRING_LATIN_SMALL_BOTTOM, 0 },
|
||||
{ AF_BLUE_STRING_LATIN_SMALL_DESCENDER, 0 },
|
||||
{ AF_BLUE_STRING_MAX, 0 },
|
||||
{ AF_BLUE_STRING_LATIN_SUBS_CAPITAL_TOP, AF_BLUE_PROPERTY_LATIN_TOP },
|
||||
|
@ -413,6 +637,9 @@
|
|||
{ AF_BLUE_STRING_LATIN_SUPS_SMALL, 0 },
|
||||
{ AF_BLUE_STRING_LATIN_SUPS_SMALL_DESCENDER, 0 },
|
||||
{ AF_BLUE_STRING_MAX, 0 },
|
||||
{ AF_BLUE_STRING_LISU_TOP, AF_BLUE_PROPERTY_LATIN_TOP },
|
||||
{ AF_BLUE_STRING_LISU_BOTTOM, 0 },
|
||||
{ AF_BLUE_STRING_MAX, 0 },
|
||||
{ AF_BLUE_STRING_MALAYALAM_TOP, AF_BLUE_PROPERTY_LATIN_TOP },
|
||||
{ AF_BLUE_STRING_MALAYALAM_BOTTOM, 0 },
|
||||
{ AF_BLUE_STRING_MAX, 0 },
|
||||
|
@ -422,14 +649,55 @@
|
|||
{ AF_BLUE_STRING_MYANMAR_ASCENDER, AF_BLUE_PROPERTY_LATIN_TOP },
|
||||
{ AF_BLUE_STRING_MYANMAR_DESCENDER, 0 },
|
||||
{ AF_BLUE_STRING_MAX, 0 },
|
||||
{ AF_BLUE_STRING_NKO_TOP, AF_BLUE_PROPERTY_LATIN_TOP },
|
||||
{ AF_BLUE_STRING_NKO_BOTTOM, 0 },
|
||||
{ AF_BLUE_STRING_NKO_SMALL_TOP, AF_BLUE_PROPERTY_LATIN_TOP |
|
||||
AF_BLUE_PROPERTY_LATIN_X_HEIGHT },
|
||||
{ AF_BLUE_STRING_NKO_SMALL_BOTTOM, 0 },
|
||||
{ AF_BLUE_STRING_MAX, 0 },
|
||||
{ AF_BLUE_STRING_MAX, 0 },
|
||||
{ AF_BLUE_STRING_OL_CHIKI, AF_BLUE_PROPERTY_LATIN_TOP },
|
||||
{ AF_BLUE_STRING_OL_CHIKI, 0 },
|
||||
{ AF_BLUE_STRING_MAX, 0 },
|
||||
{ AF_BLUE_STRING_OLD_TURKIC_TOP, AF_BLUE_PROPERTY_LATIN_TOP },
|
||||
{ AF_BLUE_STRING_OLD_TURKIC_BOTTOM, 0 },
|
||||
{ AF_BLUE_STRING_MAX, 0 },
|
||||
{ AF_BLUE_STRING_OSAGE_CAPITAL_TOP, AF_BLUE_PROPERTY_LATIN_TOP },
|
||||
{ AF_BLUE_STRING_OSAGE_CAPITAL_BOTTOM, 0 },
|
||||
{ AF_BLUE_STRING_OSAGE_CAPITAL_DESCENDER, 0 },
|
||||
{ AF_BLUE_STRING_OSAGE_SMALL_TOP, AF_BLUE_PROPERTY_LATIN_TOP |
|
||||
AF_BLUE_PROPERTY_LATIN_X_HEIGHT },
|
||||
{ AF_BLUE_STRING_OSAGE_SMALL_BOTTOM, 0 },
|
||||
{ AF_BLUE_STRING_OSAGE_SMALL_ASCENDER, AF_BLUE_PROPERTY_LATIN_TOP },
|
||||
{ AF_BLUE_STRING_OSAGE_SMALL_DESCENDER, 0 },
|
||||
{ AF_BLUE_STRING_MAX, 0 },
|
||||
{ AF_BLUE_STRING_OSMANYA_TOP, AF_BLUE_PROPERTY_LATIN_TOP },
|
||||
{ AF_BLUE_STRING_OSMANYA_BOTTOM, 0 },
|
||||
{ AF_BLUE_STRING_MAX, 0 },
|
||||
{ AF_BLUE_STRING_SAURASHTRA_TOP, AF_BLUE_PROPERTY_LATIN_TOP },
|
||||
{ AF_BLUE_STRING_SAURASHTRA_BOTTOM, 0 },
|
||||
{ AF_BLUE_STRING_MAX, 0 },
|
||||
{ AF_BLUE_STRING_SHAVIAN_TOP, AF_BLUE_PROPERTY_LATIN_TOP },
|
||||
{ AF_BLUE_STRING_SHAVIAN_BOTTOM, 0 },
|
||||
{ AF_BLUE_STRING_SHAVIAN_DESCENDER, 0 },
|
||||
{ AF_BLUE_STRING_SHAVIAN_SMALL_TOP, AF_BLUE_PROPERTY_LATIN_TOP |
|
||||
AF_BLUE_PROPERTY_LATIN_X_HEIGHT },
|
||||
{ AF_BLUE_STRING_SHAVIAN_SMALL_BOTTOM, 0 },
|
||||
{ AF_BLUE_STRING_MAX, 0 },
|
||||
{ AF_BLUE_STRING_SINHALA_TOP, AF_BLUE_PROPERTY_LATIN_TOP },
|
||||
{ AF_BLUE_STRING_SINHALA_BOTTOM, 0 },
|
||||
{ AF_BLUE_STRING_SINHALA_DESCENDER, 0 },
|
||||
{ AF_BLUE_STRING_MAX, 0 },
|
||||
{ AF_BLUE_STRING_SUNDANESE_TOP, AF_BLUE_PROPERTY_LATIN_TOP },
|
||||
{ AF_BLUE_STRING_SUNDANESE_BOTTOM, 0 },
|
||||
{ AF_BLUE_STRING_SUNDANESE_DESCENDER, 0 },
|
||||
{ AF_BLUE_STRING_MAX, 0 },
|
||||
{ AF_BLUE_STRING_TAMIL_TOP, AF_BLUE_PROPERTY_LATIN_TOP },
|
||||
{ AF_BLUE_STRING_TAMIL_BOTTOM, 0 },
|
||||
{ AF_BLUE_STRING_MAX, 0 },
|
||||
{ AF_BLUE_STRING_TAI_VIET_TOP, AF_BLUE_PROPERTY_LATIN_TOP },
|
||||
{ AF_BLUE_STRING_TAI_VIET_BOTTOM, 0 },
|
||||
{ AF_BLUE_STRING_MAX, 0 },
|
||||
{ AF_BLUE_STRING_TELUGU_TOP, AF_BLUE_PROPERTY_LATIN_TOP },
|
||||
{ AF_BLUE_STRING_TELUGU_BOTTOM, 0 },
|
||||
{ AF_BLUE_STRING_MAX, 0 },
|
||||
|
@ -442,6 +710,12 @@
|
|||
{ AF_BLUE_STRING_THAI_LARGE_DESCENDER, 0 },
|
||||
{ AF_BLUE_STRING_THAI_DIGIT_TOP, 0 },
|
||||
{ AF_BLUE_STRING_MAX, 0 },
|
||||
{ AF_BLUE_STRING_TIFINAGH, AF_BLUE_PROPERTY_LATIN_TOP },
|
||||
{ AF_BLUE_STRING_TIFINAGH, 0 },
|
||||
{ AF_BLUE_STRING_MAX, 0 },
|
||||
{ AF_BLUE_STRING_VAI_TOP, AF_BLUE_PROPERTY_LATIN_TOP },
|
||||
{ AF_BLUE_STRING_VAI_BOTTOM, 0 },
|
||||
{ AF_BLUE_STRING_MAX, 0 },
|
||||
#ifdef AF_CONFIG_OPTION_CJK
|
||||
{ AF_BLUE_STRING_CJK_TOP, AF_BLUE_PROPERTY_CJK_TOP },
|
||||
{ AF_BLUE_STRING_CJK_BOTTOM, 0 },
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
/* */
|
||||
/* Auto-fitter data for blue strings (body). */
|
||||
/* */
|
||||
/* Copyright 2013-2016 by */
|
||||
/* Copyright 2013-2017 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
//
|
||||
// Auto-fitter data for blue strings.
|
||||
//
|
||||
// Copyright 2013-2016 by
|
||||
// Copyright 2013-2017 by
|
||||
// David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
//
|
||||
// This file is part of the FreeType project, and may only be used,
|
||||
|
@ -74,6 +74,15 @@
|
|||
|
||||
AF_BLUE_STRING_ENUM AF_BLUE_STRINGS_ARRAY AF_BLUE_STRING_MAX_LEN:
|
||||
|
||||
AF_BLUE_STRING_ADLAM_CAPITAL_TOP
|
||||
"𞤌 𞤅 𞤈 𞤏 𞤔 𞤚"
|
||||
AF_BLUE_STRING_ADLAM_CAPITAL_BOTTOM
|
||||
"𞤂 𞤖"
|
||||
AF_BLUE_STRING_ADLAM_SMALL_TOP
|
||||
"𞤬 𞤮 𞤻 𞤼 𞤾"
|
||||
AF_BLUE_STRING_ADLAM_SMALL_BOTTOM
|
||||
"𞤤 𞤨 𞤩 𞤭 𞤴 𞤸 𞤺 𞥀"
|
||||
|
||||
AF_BLUE_STRING_ARABIC_TOP
|
||||
"ا إ ل ك ط ظ"
|
||||
AF_BLUE_STRING_ARABIC_BOTTOM
|
||||
|
@ -87,18 +96,28 @@ AF_BLUE_STRING_ENUM AF_BLUE_STRINGS_ARRAY AF_BLUE_STRING_MAX_LEN:
|
|||
"ـ"
|
||||
|
||||
AF_BLUE_STRING_ARMENIAN_CAPITAL_TOP
|
||||
"Ա Մ Ւ Փ Բ Գ Դ Օ"
|
||||
"Ա Մ Ւ Ս Բ Գ Դ Օ"
|
||||
AF_BLUE_STRING_ARMENIAN_CAPITAL_BOTTOM
|
||||
"Ւ Ո Փ Ճ Շ Ս Տ Օ"
|
||||
"Ւ Ո Դ Ճ Շ Ս Տ Օ"
|
||||
AF_BLUE_STRING_ARMENIAN_SMALL_ASCENDER
|
||||
"ե է ի մ վ փ ֆ փ"
|
||||
"ե է ի մ վ ֆ ճ"
|
||||
AF_BLUE_STRING_ARMENIAN_SMALL_TOP
|
||||
"ա յ ւ ս գ ջ ր օ"
|
||||
"ա յ ւ ս գ շ ր օ"
|
||||
AF_BLUE_STRING_ARMENIAN_SMALL_BOTTOM
|
||||
"հ ո ճ ա ե ծ ս օ"
|
||||
AF_BLUE_STRING_ARMENIAN_SMALL_DESCENDER
|
||||
"բ ը ի լ ղ պ փ ց"
|
||||
|
||||
AF_BLUE_STRING_AVESTAN_TOP
|
||||
"𐬀 𐬁 𐬐 𐬛"
|
||||
AF_BLUE_STRING_AVESTAN_BOTTOM
|
||||
"𐬀 𐬁"
|
||||
|
||||
AF_BLUE_STRING_BAMUM_TOP
|
||||
"ꚧ ꚨ ꛛ ꛉ ꛁ ꛈ ꛫ ꛯ"
|
||||
AF_BLUE_STRING_BAMUM_BOTTOM
|
||||
"ꚭ ꚳ ꚶ ꛬ ꚢ ꚽ ꛯ ꛲"
|
||||
|
||||
AF_BLUE_STRING_BENGALI_BASE
|
||||
"অ ড ত ন ব ভ ল ক"
|
||||
AF_BLUE_STRING_BENGALI_TOP
|
||||
|
@ -106,6 +125,40 @@ AF_BLUE_STRING_ENUM AF_BLUE_STRINGS_ARRAY AF_BLUE_STRING_MAX_LEN:
|
|||
AF_BLUE_STRING_BENGALI_HEAD
|
||||
"ও এ ড ত ন ব ল ক"
|
||||
|
||||
AF_BLUE_STRING_BUHID_TOP
|
||||
"ᝐ ᝈ"
|
||||
AF_BLUE_STRING_BUHID_LARGE
|
||||
"ᝅ ᝊ ᝎ"
|
||||
AF_BLUE_STRING_BUHID_SMALL
|
||||
"ᝂ ᝃ ᝉ ᝌ"
|
||||
AF_BLUE_STRING_BUHID_BOTTOM
|
||||
"ᝀ ᝃ ᝆ ᝉ ᝋ ᝏ ᝑ"
|
||||
|
||||
AF_BLUE_STRING_CANADIAN_SYLLABICS_TOP
|
||||
"ᗜ ᖴ ᐁ ᒣ ᑫ ᑎ ᔑ ᗰ"
|
||||
AF_BLUE_STRING_CANADIAN_SYLLABICS_BOTTOM
|
||||
"ᗶ ᖵ ᒧ ᐃ ᑌ ᒍ ᔑ ᗢ"
|
||||
AF_BLUE_STRING_CANADIAN_SYLLABICS_SMALL_TOP
|
||||
"ᓓ ᓕ ᓀ ᓂ ᓄ ᕄ ᕆ ᘣ"
|
||||
AF_BLUE_STRING_CANADIAN_SYLLABICS_SMALL_BOTTOM
|
||||
"ᕃ ᓂ ᓀ ᕂ ᓗ ᓚ ᕆ ᘣ"
|
||||
AF_BLUE_STRING_CANADIAN_SYLLABICS_SUPS_TOP
|
||||
"ᐪ ᙆ ᣘ ᐢ ᒾ ᣗ ᔆ"
|
||||
AF_BLUE_STRING_CANADIAN_SYLLABICS_SUPS_BOTTOM
|
||||
"ᙆ ᗮ ᒻ ᐞ ᔆ ᒡ ᒢ ᓑ"
|
||||
|
||||
AF_BLUE_STRING_CARIAN_TOP
|
||||
"𐊧 𐊫 𐊬 𐊭 𐊱 𐊺 𐊼 𐊿"
|
||||
AF_BLUE_STRING_CARIAN_BOTTOM
|
||||
"𐊣 𐊧 𐊷 𐋀 𐊫 𐊸 𐋉"
|
||||
|
||||
AF_BLUE_STRING_CHAKMA_TOP
|
||||
"𑄃 𑄅 𑄉 𑄙 𑄗"
|
||||
AF_BLUE_STRING_CHAKMA_BOTTOM
|
||||
"𑄅 𑄛 𑄝 𑄗 𑄓"
|
||||
AF_BLUE_STRING_CHAKMA_DESCENDER
|
||||
"𑄖𑄳𑄢 𑄘𑄳𑄢 𑄙𑄳𑄢 𑄤𑄳𑄢 𑄥𑄳𑄢"
|
||||
|
||||
AF_BLUE_STRING_CHEROKEE_CAPITAL
|
||||
"Ꮖ Ꮋ Ꭼ Ꮓ Ꭴ Ꮳ Ꭶ Ꮥ"
|
||||
AF_BLUE_STRING_CHEROKEE_SMALL_ASCENDER
|
||||
|
@ -115,6 +168,22 @@ AF_BLUE_STRING_ENUM AF_BLUE_STRINGS_ARRAY AF_BLUE_STRING_MAX_LEN:
|
|||
AF_BLUE_STRING_CHEROKEE_SMALL_DESCENDER
|
||||
"ᏸ ꮐ ꭹ ꭻ"
|
||||
|
||||
AF_BLUE_STRING_COPTIC_CAPITAL_TOP
|
||||
"Ⲍ Ⲏ Ⲡ Ⳟ Ⲟ Ⲑ Ⲥ Ⳋ"
|
||||
AF_BLUE_STRING_COPTIC_CAPITAL_BOTTOM
|
||||
"Ⳑ Ⳙ Ⳟ Ⲏ Ⲟ Ⲑ Ⳝ Ⲱ"
|
||||
AF_BLUE_STRING_COPTIC_SMALL_TOP
|
||||
"ⲍ ⲏ ⲡ ⳟ ⲟ ⲑ ⲥ ⳋ"
|
||||
AF_BLUE_STRING_COPTIC_SMALL_BOTTOM
|
||||
"ⳑ ⳙ ⳟ ⲏ ⲟ ⲑ ⳝ Ⳓ"
|
||||
|
||||
AF_BLUE_STRING_CYPRIOT_TOP
|
||||
"𐠍 𐠙 𐠳 𐠱 𐠅 𐠓 𐠣 𐠦"
|
||||
AF_BLUE_STRING_CYPRIOT_BOTTOM
|
||||
"𐠃 𐠊 𐠛 𐠣 𐠳 𐠵 𐠐"
|
||||
AF_BLUE_STRING_CYPRIOT_SMALL
|
||||
"𐠈 𐠏 𐠖"
|
||||
|
||||
AF_BLUE_STRING_CYRILLIC_CAPITAL_TOP
|
||||
"Б В Е П З О С Э"
|
||||
AF_BLUE_STRING_CYRILLIC_CAPITAL_BOTTOM
|
||||
|
@ -124,6 +193,15 @@ AF_BLUE_STRING_ENUM AF_BLUE_STRINGS_ARRAY AF_BLUE_STRING_MAX_LEN:
|
|||
AF_BLUE_STRING_CYRILLIC_SMALL_DESCENDER
|
||||
"р у ф"
|
||||
|
||||
AF_BLUE_STRING_DESERET_CAPITAL_TOP
|
||||
"𐐂 𐐄 𐐋 𐐗 𐐑"
|
||||
AF_BLUE_STRING_DESERET_CAPITAL_BOTTOM
|
||||
"𐐀 𐐂 𐐄 𐐗 𐐛"
|
||||
AF_BLUE_STRING_DESERET_SMALL_TOP
|
||||
"𐐪 𐐬 𐐳 𐐿 𐐹"
|
||||
AF_BLUE_STRING_DESERET_SMALL_BOTTOM
|
||||
"𐐨 𐐪 𐐬 𐐿 𐑃"
|
||||
|
||||
AF_BLUE_STRING_DEVANAGARI_BASE
|
||||
"क म अ आ थ ध भ श"
|
||||
AF_BLUE_STRING_DEVANAGARI_TOP
|
||||
|
@ -164,6 +242,20 @@ AF_BLUE_STRING_ENUM AF_BLUE_STRINGS_ARRAY AF_BLUE_STRING_MAX_LEN:
|
|||
AF_BLUE_STRING_GEORGIAN_NUSKHURI_DESCENDER
|
||||
"ⴄ ⴅ ⴔ ⴕ ⴁ ⴂ ⴘ ⴝ"
|
||||
|
||||
AF_BLUE_STRING_GLAGOLITIC_CAPITAL_TOP
|
||||
"Ⰵ Ⱄ Ⱚ Ⰴ Ⰲ Ⰺ Ⱛ Ⰻ"
|
||||
AF_BLUE_STRING_GLAGOLITIC_CAPITAL_BOTTOM
|
||||
"Ⰵ Ⰴ Ⰲ Ⱚ Ⱎ Ⱑ Ⰺ Ⱄ"
|
||||
AF_BLUE_STRING_GLAGOLITIC_SMALL_TOP
|
||||
"ⰵ ⱄ ⱚ ⰴ ⰲ ⰺ ⱛ ⰻ"
|
||||
AF_BLUE_STRING_GLAGOLITIC_SMALL_BOTTOM
|
||||
"ⰵ ⰴ ⰲ ⱚ ⱎ ⱑ ⰺ ⱄ"
|
||||
|
||||
AF_BLUE_STRING_GOTHIC_TOP
|
||||
"𐌲 𐌶 𐍀 𐍄 𐌴 𐍃 𐍈 𐌾"
|
||||
AF_BLUE_STRING_GOTHIC_BOTTOM
|
||||
"𐌶 𐌴 𐍃 𐍈"
|
||||
|
||||
AF_BLUE_STRING_GREEK_CAPITAL_TOP
|
||||
"Γ Β Ε Ζ Θ Ο Ω"
|
||||
AF_BLUE_STRING_GREEK_CAPITAL_BOTTOM
|
||||
|
@ -209,6 +301,17 @@ AF_BLUE_STRING_ENUM AF_BLUE_STRINGS_ARRAY AF_BLUE_STRING_MAX_LEN:
|
|||
AF_BLUE_STRING_KANNADA_BOTTOM
|
||||
"ಅ ಉ ಎ ಲ ೦ ೨ ೬ ೭"
|
||||
|
||||
AF_BLUE_STRING_KAYAH_LI_TOP
|
||||
"꤅ ꤏ ꤁ ꤋ ꤀ ꤍ"
|
||||
AF_BLUE_STRING_KAYAH_LI_BOTTOM
|
||||
"꤈ ꤘ ꤀ ꤍ ꤢ"
|
||||
AF_BLUE_STRING_KAYAH_LI_ASCENDER
|
||||
"ꤖ ꤡ"
|
||||
AF_BLUE_STRING_KAYAH_LI_DESCENDER
|
||||
"ꤑ ꤜ ꤞ"
|
||||
AF_BLUE_STRING_KAYAH_LI_LARGE_DESCENDER
|
||||
"ꤑ꤬ ꤜ꤭ ꤔ꤬"
|
||||
|
||||
AF_BLUE_STRING_KHMER_TOP
|
||||
"ខ ទ ន ឧ ឩ ា"
|
||||
AF_BLUE_STRING_KHMER_SUBSCRIPT_TOP
|
||||
|
@ -242,8 +345,10 @@ AF_BLUE_STRING_ENUM AF_BLUE_STRINGS_ARRAY AF_BLUE_STRING_MAX_LEN:
|
|||
"H E Z L O C U S"
|
||||
AF_BLUE_STRING_LATIN_SMALL_F_TOP
|
||||
"f i j k d b h"
|
||||
AF_BLUE_STRING_LATIN_SMALL
|
||||
"x z r o e s c"
|
||||
AF_BLUE_STRING_LATIN_SMALL_TOP
|
||||
"u v x z o e s c"
|
||||
AF_BLUE_STRING_LATIN_SMALL_BOTTOM
|
||||
"n r x z o e s c"
|
||||
AF_BLUE_STRING_LATIN_SMALL_DESCENDER
|
||||
"p q g j y"
|
||||
|
||||
|
@ -272,6 +377,11 @@ AF_BLUE_STRING_ENUM AF_BLUE_STRINGS_ARRAY AF_BLUE_STRING_MAX_LEN:
|
|||
AF_BLUE_STRING_LATIN_SUPS_SMALL_DESCENDER
|
||||
"ᵖ ʸ ᵍ"
|
||||
|
||||
AF_BLUE_STRING_LISU_TOP
|
||||
"ꓡ ꓧ ꓱ ꓶ ꓩ ꓚ ꓵ ꓳ"
|
||||
AF_BLUE_STRING_LISU_BOTTOM
|
||||
"ꓕ ꓜ ꓞ ꓡ ꓛ ꓢ ꓳ ꓴ"
|
||||
|
||||
AF_BLUE_STRING_MALAYALAM_TOP
|
||||
"ഒ ട ഠ റ ച പ ച്ച പ്പ"
|
||||
AF_BLUE_STRING_MALAYALAM_BOTTOM
|
||||
|
@ -286,6 +396,59 @@ AF_BLUE_STRING_ENUM AF_BLUE_STRINGS_ARRAY AF_BLUE_STRING_MAX_LEN:
|
|||
AF_BLUE_STRING_MYANMAR_DESCENDER
|
||||
"ဉ ည ဥ ဩ ဨ ၂ ၅ ၉"
|
||||
|
||||
AF_BLUE_STRING_NKO_TOP
|
||||
"ߐ ߉ ߒ ߟ ߖ ߜ ߠ ߥ"
|
||||
AF_BLUE_STRING_NKO_BOTTOM
|
||||
"߀ ߘ ߡ ߠ ߥ"
|
||||
AF_BLUE_STRING_NKO_SMALL_TOP
|
||||
"ߏ ߛ ߋ"
|
||||
AF_BLUE_STRING_NKO_SMALL_BOTTOM
|
||||
"ߎ ߏ ߛ ߋ"
|
||||
|
||||
AF_BLUE_STRING_OL_CHIKI
|
||||
"ᱛ ᱜ ᱝ ᱡ ᱢ ᱥ"
|
||||
|
||||
AF_BLUE_STRING_OLD_TURKIC_TOP
|
||||
"𐰗 𐰘 𐰧"
|
||||
AF_BLUE_STRING_OLD_TURKIC_BOTTOM
|
||||
"𐰉 𐰗 𐰦 𐰧"
|
||||
|
||||
AF_BLUE_STRING_OSAGE_CAPITAL_TOP
|
||||
"𐒾 𐓍 𐓒 𐓓 𐒻 𐓂 𐒵 𐓆"
|
||||
AF_BLUE_STRING_OSAGE_CAPITAL_BOTTOM
|
||||
"𐒰 𐓍 𐓂 𐒿 𐓎 𐒹"
|
||||
AF_BLUE_STRING_OSAGE_CAPITAL_DESCENDER
|
||||
"𐒼 𐒽 𐒾"
|
||||
AF_BLUE_STRING_OSAGE_SMALL_TOP
|
||||
"𐓵 𐓶 𐓺 𐓻 𐓝 𐓣 𐓪 𐓮"
|
||||
AF_BLUE_STRING_OSAGE_SMALL_BOTTOM
|
||||
"𐓘 𐓚 𐓣 𐓵 𐓡 𐓧 𐓪 𐓶"
|
||||
AF_BLUE_STRING_OSAGE_SMALL_ASCENDER
|
||||
"𐓤 𐓦 𐓸 𐓹 𐓛"
|
||||
AF_BLUE_STRING_OSAGE_SMALL_DESCENDER
|
||||
"𐓤 𐓥 𐓦"
|
||||
|
||||
AF_BLUE_STRING_OSMANYA_TOP
|
||||
"𐒆 𐒉 𐒐 𐒒 𐒘 𐒛 𐒠 𐒣"
|
||||
AF_BLUE_STRING_OSMANYA_BOTTOM
|
||||
"𐒀 𐒂 𐒆 𐒈 𐒊 𐒒 𐒠 𐒩"
|
||||
|
||||
AF_BLUE_STRING_SAURASHTRA_TOP
|
||||
"ꢜ ꢞ ꢳ ꢂ ꢖ ꢒ ꢝ ꢛ"
|
||||
AF_BLUE_STRING_SAURASHTRA_BOTTOM
|
||||
"ꢂ ꢨ ꢺ ꢤ ꢎ"
|
||||
|
||||
AF_BLUE_STRING_SHAVIAN_TOP
|
||||
"𐑕 𐑙"
|
||||
AF_BLUE_STRING_SHAVIAN_BOTTOM
|
||||
"𐑔 𐑖 𐑗 𐑹 𐑻"
|
||||
AF_BLUE_STRING_SHAVIAN_DESCENDER
|
||||
"𐑟 𐑣"
|
||||
AF_BLUE_STRING_SHAVIAN_SMALL_TOP
|
||||
"𐑱 𐑲 𐑳 𐑴 𐑸 𐑺 𐑼"
|
||||
AF_BLUE_STRING_SHAVIAN_SMALL_BOTTOM
|
||||
"𐑴 𐑻 𐑹"
|
||||
|
||||
AF_BLUE_STRING_SINHALA_TOP
|
||||
"ඉ ක ඝ ඳ ප ය ල ෆ"
|
||||
AF_BLUE_STRING_SINHALA_BOTTOM
|
||||
|
@ -293,6 +456,18 @@ AF_BLUE_STRING_ENUM AF_BLUE_STRINGS_ARRAY AF_BLUE_STRING_MAX_LEN:
|
|||
AF_BLUE_STRING_SINHALA_DESCENDER
|
||||
"ද ඳ උ ල තූ තු බු දු"
|
||||
|
||||
AF_BLUE_STRING_SUNDANESE_TOP
|
||||
"ᮋ ᮞ ᮮ ᮽ ᮰ ᮈ"
|
||||
AF_BLUE_STRING_SUNDANESE_BOTTOM
|
||||
"ᮄ ᮔ ᮕ ᮗ ᮰ ᮆ ᮈ ᮉ"
|
||||
AF_BLUE_STRING_SUNDANESE_DESCENDER
|
||||
"ᮼ ᳄"
|
||||
|
||||
AF_BLUE_STRING_TAI_VIET_TOP
|
||||
"ꪆ ꪔ ꪒ ꪖ ꪫ"
|
||||
AF_BLUE_STRING_TAI_VIET_BOTTOM
|
||||
"ꪉ ꪫ ꪮ"
|
||||
|
||||
AF_BLUE_STRING_TAMIL_TOP
|
||||
"உ ஒ ஓ ற ஈ க ங ச"
|
||||
AF_BLUE_STRING_TAMIL_BOTTOM
|
||||
|
@ -318,6 +493,14 @@ AF_BLUE_STRING_ENUM AF_BLUE_STRINGS_ARRAY AF_BLUE_STRING_MAX_LEN:
|
|||
AF_BLUE_STRING_THAI_DIGIT_TOP
|
||||
"๐ ๑ ๓"
|
||||
|
||||
AF_BLUE_STRING_TIFINAGH
|
||||
"ⵔ ⵙ ⵛ ⵞ ⴵ ⴼ ⴹ ⵎ"
|
||||
|
||||
AF_BLUE_STRING_VAI_TOP
|
||||
"ꗍ ꘖ ꘙ ꘜ ꖜ ꖝ ꔅ ꕢ"
|
||||
AF_BLUE_STRING_VAI_BOTTOM
|
||||
"ꗍ ꘖ ꘙ ꗞ ꔅ ꕢ ꖜ ꔆ"
|
||||
|
||||
|
||||
#ifdef AF_CONFIG_OPTION_CJK
|
||||
|
||||
|
@ -483,6 +666,14 @@ AF_BLUE_STRING_ENUM AF_BLUE_STRINGS_ARRAY AF_BLUE_STRING_MAX_LEN:
|
|||
|
||||
AF_BLUE_STRINGSET_ENUM AF_BLUE_STRINGSETS_ARRAY AF_BLUE_STRINGSET_MAX_LEN:
|
||||
|
||||
AF_BLUE_STRINGSET_ADLM
|
||||
{ AF_BLUE_STRING_ADLAM_CAPITAL_TOP, AF_BLUE_PROPERTY_LATIN_TOP }
|
||||
{ AF_BLUE_STRING_ADLAM_CAPITAL_BOTTOM, 0 }
|
||||
{ AF_BLUE_STRING_ADLAM_SMALL_TOP, AF_BLUE_PROPERTY_LATIN_TOP |
|
||||
AF_BLUE_PROPERTY_LATIN_X_HEIGHT }
|
||||
{ AF_BLUE_STRING_ADLAM_SMALL_BOTTOM, 0 }
|
||||
{ AF_BLUE_STRING_MAX, 0 }
|
||||
|
||||
AF_BLUE_STRINGSET_ARAB
|
||||
{ AF_BLUE_STRING_ARABIC_TOP, AF_BLUE_PROPERTY_LATIN_TOP }
|
||||
{ AF_BLUE_STRING_ARABIC_BOTTOM, 0 }
|
||||
|
@ -499,6 +690,16 @@ AF_BLUE_STRINGSET_ENUM AF_BLUE_STRINGSETS_ARRAY AF_BLUE_STRINGSET_MAX_LEN:
|
|||
{ AF_BLUE_STRING_ARMENIAN_SMALL_DESCENDER, 0 }
|
||||
{ AF_BLUE_STRING_MAX, 0 }
|
||||
|
||||
AF_BLUE_STRINGSET_AVST
|
||||
{ AF_BLUE_STRING_AVESTAN_TOP, AF_BLUE_PROPERTY_LATIN_TOP }
|
||||
{ AF_BLUE_STRING_AVESTAN_BOTTOM, 0 }
|
||||
{ AF_BLUE_STRING_MAX, 0 }
|
||||
|
||||
AF_BLUE_STRINGSET_BAMU
|
||||
{ AF_BLUE_STRING_BAMUM_TOP, AF_BLUE_PROPERTY_LATIN_TOP }
|
||||
{ AF_BLUE_STRING_BAMUM_BOTTOM, 0 }
|
||||
{ AF_BLUE_STRING_MAX, 0 }
|
||||
|
||||
AF_BLUE_STRINGSET_BENG
|
||||
{ AF_BLUE_STRING_BENGALI_TOP, AF_BLUE_PROPERTY_LATIN_TOP }
|
||||
{ AF_BLUE_STRING_BENGALI_HEAD, AF_BLUE_PROPERTY_LATIN_TOP }
|
||||
|
@ -508,6 +709,35 @@ AF_BLUE_STRINGSET_ENUM AF_BLUE_STRINGSETS_ARRAY AF_BLUE_STRINGSET_MAX_LEN:
|
|||
{ AF_BLUE_STRING_BENGALI_BASE, 0 }
|
||||
{ AF_BLUE_STRING_MAX, 0 }
|
||||
|
||||
AF_BLUE_STRINGSET_BUHD
|
||||
{ AF_BLUE_STRING_BUHID_TOP, AF_BLUE_PROPERTY_LATIN_TOP }
|
||||
{ AF_BLUE_STRING_BUHID_LARGE, AF_BLUE_PROPERTY_LATIN_TOP }
|
||||
{ AF_BLUE_STRING_BUHID_SMALL, AF_BLUE_PROPERTY_LATIN_TOP |
|
||||
AF_BLUE_PROPERTY_LATIN_X_HEIGHT }
|
||||
{ AF_BLUE_STRING_BUHID_BOTTOM, 0 }
|
||||
{ AF_BLUE_STRING_MAX, 0 }
|
||||
|
||||
AF_BLUE_STRINGSET_CAKM
|
||||
{ AF_BLUE_STRING_CHAKMA_TOP, AF_BLUE_PROPERTY_LATIN_TOP }
|
||||
{ AF_BLUE_STRING_CHAKMA_BOTTOM, 0 }
|
||||
{ AF_BLUE_STRING_CHAKMA_DESCENDER, 0 }
|
||||
{ AF_BLUE_STRING_MAX, 0 }
|
||||
|
||||
AF_BLUE_STRINGSET_CANS
|
||||
{ AF_BLUE_STRING_CANADIAN_SYLLABICS_TOP, AF_BLUE_PROPERTY_LATIN_TOP }
|
||||
{ AF_BLUE_STRING_CANADIAN_SYLLABICS_BOTTOM, 0 }
|
||||
{ AF_BLUE_STRING_CANADIAN_SYLLABICS_SMALL_TOP, AF_BLUE_PROPERTY_LATIN_TOP |
|
||||
AF_BLUE_PROPERTY_LATIN_X_HEIGHT }
|
||||
{ AF_BLUE_STRING_CANADIAN_SYLLABICS_SMALL_BOTTOM, 0 }
|
||||
{ AF_BLUE_STRING_CANADIAN_SYLLABICS_SUPS_TOP, AF_BLUE_PROPERTY_LATIN_TOP }
|
||||
{ AF_BLUE_STRING_CANADIAN_SYLLABICS_SUPS_BOTTOM, 0 }
|
||||
{ AF_BLUE_STRING_MAX, 0 }
|
||||
|
||||
AF_BLUE_STRINGSET_CARI
|
||||
{ AF_BLUE_STRING_CARIAN_TOP, AF_BLUE_PROPERTY_LATIN_TOP }
|
||||
{ AF_BLUE_STRING_CARIAN_BOTTOM, 0 }
|
||||
{ AF_BLUE_STRING_MAX, 0 }
|
||||
|
||||
AF_BLUE_STRINGSET_CHER
|
||||
{ AF_BLUE_STRING_CHEROKEE_CAPITAL, AF_BLUE_PROPERTY_LATIN_TOP }
|
||||
{ AF_BLUE_STRING_CHEROKEE_CAPITAL, 0 }
|
||||
|
@ -518,6 +748,21 @@ AF_BLUE_STRINGSET_ENUM AF_BLUE_STRINGSETS_ARRAY AF_BLUE_STRINGSET_MAX_LEN:
|
|||
{ AF_BLUE_STRING_CHEROKEE_SMALL_DESCENDER, 0 }
|
||||
{ AF_BLUE_STRING_MAX, 0 }
|
||||
|
||||
AF_BLUE_STRINGSET_COPT
|
||||
{ AF_BLUE_STRING_COPTIC_CAPITAL_TOP, AF_BLUE_PROPERTY_LATIN_TOP }
|
||||
{ AF_BLUE_STRING_COPTIC_CAPITAL_BOTTOM, 0 }
|
||||
{ AF_BLUE_STRING_COPTIC_SMALL_TOP, AF_BLUE_PROPERTY_LATIN_TOP |
|
||||
AF_BLUE_PROPERTY_LATIN_X_HEIGHT }
|
||||
{ AF_BLUE_STRING_COPTIC_SMALL_BOTTOM, 0 }
|
||||
{ AF_BLUE_STRING_MAX, 0 }
|
||||
|
||||
AF_BLUE_STRINGSET_CPRT
|
||||
{ AF_BLUE_STRING_CYPRIOT_TOP, AF_BLUE_PROPERTY_LATIN_TOP }
|
||||
{ AF_BLUE_STRING_CYPRIOT_BOTTOM, 0 }
|
||||
{ AF_BLUE_STRING_CYPRIOT_SMALL, AF_BLUE_PROPERTY_LATIN_TOP }
|
||||
{ AF_BLUE_STRING_CYPRIOT_SMALL, 0 }
|
||||
{ AF_BLUE_STRING_MAX, 0 }
|
||||
|
||||
AF_BLUE_STRINGSET_CYRL
|
||||
{ AF_BLUE_STRING_CYRILLIC_CAPITAL_TOP, AF_BLUE_PROPERTY_LATIN_TOP }
|
||||
{ AF_BLUE_STRING_CYRILLIC_CAPITAL_BOTTOM, 0 }
|
||||
|
@ -537,6 +782,14 @@ AF_BLUE_STRINGSET_ENUM AF_BLUE_STRINGSETS_ARRAY AF_BLUE_STRINGSET_MAX_LEN:
|
|||
{ AF_BLUE_STRING_DEVANAGARI_BOTTOM, 0 }
|
||||
{ AF_BLUE_STRING_MAX, 0 }
|
||||
|
||||
AF_BLUE_STRINGSET_DSRT
|
||||
{ AF_BLUE_STRING_DESERET_CAPITAL_TOP, AF_BLUE_PROPERTY_LATIN_TOP }
|
||||
{ AF_BLUE_STRING_DESERET_CAPITAL_BOTTOM, 0 }
|
||||
{ AF_BLUE_STRING_DESERET_SMALL_TOP, AF_BLUE_PROPERTY_LATIN_TOP |
|
||||
AF_BLUE_PROPERTY_LATIN_X_HEIGHT }
|
||||
{ AF_BLUE_STRING_DESERET_SMALL_BOTTOM, 0 }
|
||||
{ AF_BLUE_STRING_MAX, 0 }
|
||||
|
||||
AF_BLUE_STRINGSET_ETHI
|
||||
{ AF_BLUE_STRING_ETHIOPIC_TOP, AF_BLUE_PROPERTY_LATIN_TOP }
|
||||
{ AF_BLUE_STRING_ETHIOPIC_BOTTOM, 0 }
|
||||
|
@ -561,6 +814,19 @@ AF_BLUE_STRINGSET_ENUM AF_BLUE_STRINGSETS_ARRAY AF_BLUE_STRINGSET_MAX_LEN:
|
|||
{ AF_BLUE_STRING_GEORGIAN_NUSKHURI_DESCENDER, 0 }
|
||||
{ AF_BLUE_STRING_MAX, 0 }
|
||||
|
||||
AF_BLUE_STRINGSET_GLAG
|
||||
{ AF_BLUE_STRING_GLAGOLITIC_CAPITAL_TOP, AF_BLUE_PROPERTY_LATIN_TOP }
|
||||
{ AF_BLUE_STRING_GLAGOLITIC_CAPITAL_BOTTOM, 0 }
|
||||
{ AF_BLUE_STRING_GLAGOLITIC_SMALL_TOP, AF_BLUE_PROPERTY_LATIN_TOP |
|
||||
AF_BLUE_PROPERTY_LATIN_X_HEIGHT }
|
||||
{ AF_BLUE_STRING_GLAGOLITIC_SMALL_BOTTOM, 0 }
|
||||
{ AF_BLUE_STRING_MAX, 0 }
|
||||
|
||||
AF_BLUE_STRINGSET_GOTH
|
||||
{ AF_BLUE_STRING_GOTHIC_TOP, AF_BLUE_PROPERTY_LATIN_TOP }
|
||||
{ AF_BLUE_STRING_GOTHIC_BOTTOM, 0 }
|
||||
{ AF_BLUE_STRING_MAX, 0 }
|
||||
|
||||
AF_BLUE_STRINGSET_GREK
|
||||
{ AF_BLUE_STRING_GREEK_CAPITAL_TOP, AF_BLUE_PROPERTY_LATIN_TOP }
|
||||
{ AF_BLUE_STRING_GREEK_CAPITAL_BOTTOM, 0 }
|
||||
|
@ -597,6 +863,15 @@ AF_BLUE_STRINGSET_ENUM AF_BLUE_STRINGSETS_ARRAY AF_BLUE_STRINGSET_MAX_LEN:
|
|||
{ AF_BLUE_STRING_HEBREW_DESCENDER, 0 }
|
||||
{ AF_BLUE_STRING_MAX, 0 }
|
||||
|
||||
AF_BLUE_STRINGSET_KALI
|
||||
{ AF_BLUE_STRING_KAYAH_LI_TOP, AF_BLUE_PROPERTY_LATIN_TOP |
|
||||
AF_BLUE_PROPERTY_LATIN_X_HEIGHT }
|
||||
{ AF_BLUE_STRING_KAYAH_LI_BOTTOM, 0 }
|
||||
{ AF_BLUE_STRING_KAYAH_LI_ASCENDER, AF_BLUE_PROPERTY_LATIN_TOP }
|
||||
{ AF_BLUE_STRING_KAYAH_LI_DESCENDER, 0 }
|
||||
{ AF_BLUE_STRING_KAYAH_LI_LARGE_DESCENDER, 0 }
|
||||
{ AF_BLUE_STRING_MAX, 0 }
|
||||
|
||||
AF_BLUE_STRINGSET_KNDA
|
||||
{ AF_BLUE_STRING_KANNADA_TOP, AF_BLUE_PROPERTY_LATIN_TOP }
|
||||
{ AF_BLUE_STRING_KANNADA_BOTTOM, 0 }
|
||||
|
@ -630,9 +905,9 @@ AF_BLUE_STRINGSET_ENUM AF_BLUE_STRINGSETS_ARRAY AF_BLUE_STRINGSET_MAX_LEN:
|
|||
{ AF_BLUE_STRING_LATIN_CAPITAL_TOP, AF_BLUE_PROPERTY_LATIN_TOP }
|
||||
{ AF_BLUE_STRING_LATIN_CAPITAL_BOTTOM, 0 }
|
||||
{ AF_BLUE_STRING_LATIN_SMALL_F_TOP, AF_BLUE_PROPERTY_LATIN_TOP }
|
||||
{ AF_BLUE_STRING_LATIN_SMALL, AF_BLUE_PROPERTY_LATIN_TOP |
|
||||
{ AF_BLUE_STRING_LATIN_SMALL_TOP, AF_BLUE_PROPERTY_LATIN_TOP |
|
||||
AF_BLUE_PROPERTY_LATIN_X_HEIGHT }
|
||||
{ AF_BLUE_STRING_LATIN_SMALL, 0 }
|
||||
{ AF_BLUE_STRING_LATIN_SMALL_BOTTOM, 0 }
|
||||
{ AF_BLUE_STRING_LATIN_SMALL_DESCENDER, 0 }
|
||||
{ AF_BLUE_STRING_MAX, 0 }
|
||||
|
||||
|
@ -656,6 +931,11 @@ AF_BLUE_STRINGSET_ENUM AF_BLUE_STRINGSETS_ARRAY AF_BLUE_STRINGSET_MAX_LEN:
|
|||
{ AF_BLUE_STRING_LATIN_SUPS_SMALL_DESCENDER, 0 }
|
||||
{ AF_BLUE_STRING_MAX, 0 }
|
||||
|
||||
AF_BLUE_STRINGSET_LISU
|
||||
{ AF_BLUE_STRING_LISU_TOP, AF_BLUE_PROPERTY_LATIN_TOP }
|
||||
{ AF_BLUE_STRING_LISU_BOTTOM, 0 }
|
||||
{ AF_BLUE_STRING_MAX, 0 }
|
||||
|
||||
AF_BLUE_STRINGSET_MLYM
|
||||
{ AF_BLUE_STRING_MALAYALAM_TOP, AF_BLUE_PROPERTY_LATIN_TOP }
|
||||
{ AF_BLUE_STRING_MALAYALAM_BOTTOM, 0 }
|
||||
|
@ -669,20 +949,79 @@ AF_BLUE_STRINGSET_ENUM AF_BLUE_STRINGSETS_ARRAY AF_BLUE_STRINGSET_MAX_LEN:
|
|||
{ AF_BLUE_STRING_MYANMAR_DESCENDER, 0 }
|
||||
{ AF_BLUE_STRING_MAX, 0 }
|
||||
|
||||
AF_BLUE_STRINGSET_NKOO
|
||||
{ AF_BLUE_STRING_NKO_TOP, AF_BLUE_PROPERTY_LATIN_TOP }
|
||||
{ AF_BLUE_STRING_NKO_BOTTOM, 0 }
|
||||
{ AF_BLUE_STRING_NKO_SMALL_TOP, AF_BLUE_PROPERTY_LATIN_TOP |
|
||||
AF_BLUE_PROPERTY_LATIN_X_HEIGHT }
|
||||
{ AF_BLUE_STRING_NKO_SMALL_BOTTOM, 0 }
|
||||
{ AF_BLUE_STRING_MAX, 0 }
|
||||
|
||||
AF_BLUE_STRINGSET_NONE
|
||||
{ AF_BLUE_STRING_MAX, 0 }
|
||||
|
||||
AF_BLUE_STRINGSET_OLCK
|
||||
{ AF_BLUE_STRING_OL_CHIKI, AF_BLUE_PROPERTY_LATIN_TOP }
|
||||
{ AF_BLUE_STRING_OL_CHIKI, 0 }
|
||||
{ AF_BLUE_STRING_MAX, 0 }
|
||||
|
||||
AF_BLUE_STRINGSET_ORKH
|
||||
{ AF_BLUE_STRING_OLD_TURKIC_TOP, AF_BLUE_PROPERTY_LATIN_TOP }
|
||||
{ AF_BLUE_STRING_OLD_TURKIC_BOTTOM, 0 }
|
||||
{ AF_BLUE_STRING_MAX, 0 }
|
||||
|
||||
AF_BLUE_STRINGSET_OSGE
|
||||
{ AF_BLUE_STRING_OSAGE_CAPITAL_TOP, AF_BLUE_PROPERTY_LATIN_TOP }
|
||||
{ AF_BLUE_STRING_OSAGE_CAPITAL_BOTTOM, 0 }
|
||||
{ AF_BLUE_STRING_OSAGE_CAPITAL_DESCENDER, 0 }
|
||||
{ AF_BLUE_STRING_OSAGE_SMALL_TOP, AF_BLUE_PROPERTY_LATIN_TOP |
|
||||
AF_BLUE_PROPERTY_LATIN_X_HEIGHT }
|
||||
{ AF_BLUE_STRING_OSAGE_SMALL_BOTTOM, 0 }
|
||||
{ AF_BLUE_STRING_OSAGE_SMALL_ASCENDER, AF_BLUE_PROPERTY_LATIN_TOP }
|
||||
{ AF_BLUE_STRING_OSAGE_SMALL_DESCENDER, 0 }
|
||||
{ AF_BLUE_STRING_MAX, 0 }
|
||||
|
||||
AF_BLUE_STRINGSET_OSMA
|
||||
{ AF_BLUE_STRING_OSMANYA_TOP, AF_BLUE_PROPERTY_LATIN_TOP }
|
||||
{ AF_BLUE_STRING_OSMANYA_BOTTOM, 0 }
|
||||
{ AF_BLUE_STRING_MAX, 0 }
|
||||
|
||||
AF_BLUE_STRINGSET_SAUR
|
||||
{ AF_BLUE_STRING_SAURASHTRA_TOP, AF_BLUE_PROPERTY_LATIN_TOP }
|
||||
{ AF_BLUE_STRING_SAURASHTRA_BOTTOM, 0 }
|
||||
{ AF_BLUE_STRING_MAX, 0 }
|
||||
|
||||
AF_BLUE_STRINGSET_SHAW
|
||||
{ AF_BLUE_STRING_SHAVIAN_TOP, AF_BLUE_PROPERTY_LATIN_TOP }
|
||||
{ AF_BLUE_STRING_SHAVIAN_BOTTOM, 0 }
|
||||
{ AF_BLUE_STRING_SHAVIAN_DESCENDER, 0 }
|
||||
{ AF_BLUE_STRING_SHAVIAN_SMALL_TOP, AF_BLUE_PROPERTY_LATIN_TOP |
|
||||
AF_BLUE_PROPERTY_LATIN_X_HEIGHT }
|
||||
{ AF_BLUE_STRING_SHAVIAN_SMALL_BOTTOM, 0 }
|
||||
{ AF_BLUE_STRING_MAX, 0 }
|
||||
|
||||
AF_BLUE_STRINGSET_SINH
|
||||
{ AF_BLUE_STRING_SINHALA_TOP, AF_BLUE_PROPERTY_LATIN_TOP }
|
||||
{ AF_BLUE_STRING_SINHALA_BOTTOM, 0 }
|
||||
{ AF_BLUE_STRING_SINHALA_DESCENDER, 0 }
|
||||
{ AF_BLUE_STRING_MAX, 0 }
|
||||
|
||||
AF_BLUE_STRINGSET_SUND
|
||||
{ AF_BLUE_STRING_SUNDANESE_TOP, AF_BLUE_PROPERTY_LATIN_TOP }
|
||||
{ AF_BLUE_STRING_SUNDANESE_BOTTOM, 0 }
|
||||
{ AF_BLUE_STRING_SUNDANESE_DESCENDER, 0 }
|
||||
{ AF_BLUE_STRING_MAX, 0 }
|
||||
|
||||
AF_BLUE_STRINGSET_TAML
|
||||
{ AF_BLUE_STRING_TAMIL_TOP, AF_BLUE_PROPERTY_LATIN_TOP }
|
||||
{ AF_BLUE_STRING_TAMIL_BOTTOM, 0 }
|
||||
{ AF_BLUE_STRING_MAX, 0 }
|
||||
|
||||
AF_BLUE_STRINGSET_TAVT
|
||||
{ AF_BLUE_STRING_TAI_VIET_TOP, AF_BLUE_PROPERTY_LATIN_TOP }
|
||||
{ AF_BLUE_STRING_TAI_VIET_BOTTOM, 0 }
|
||||
{ AF_BLUE_STRING_MAX, 0 }
|
||||
|
||||
AF_BLUE_STRINGSET_TELU
|
||||
{ AF_BLUE_STRING_TELUGU_TOP, AF_BLUE_PROPERTY_LATIN_TOP }
|
||||
{ AF_BLUE_STRING_TELUGU_BOTTOM, 0 }
|
||||
|
@ -699,6 +1038,15 @@ AF_BLUE_STRINGSET_ENUM AF_BLUE_STRINGSETS_ARRAY AF_BLUE_STRINGSET_MAX_LEN:
|
|||
{ AF_BLUE_STRING_THAI_DIGIT_TOP, 0 }
|
||||
{ AF_BLUE_STRING_MAX, 0 }
|
||||
|
||||
AF_BLUE_STRINGSET_TFNG
|
||||
{ AF_BLUE_STRING_TIFINAGH, AF_BLUE_PROPERTY_LATIN_TOP }
|
||||
{ AF_BLUE_STRING_TIFINAGH, 0 }
|
||||
{ AF_BLUE_STRING_MAX, 0 }
|
||||
|
||||
AF_BLUE_STRINGSET_VAII
|
||||
{ AF_BLUE_STRING_VAI_TOP, AF_BLUE_PROPERTY_LATIN_TOP }
|
||||
{ AF_BLUE_STRING_VAI_BOTTOM, 0 }
|
||||
{ AF_BLUE_STRING_MAX, 0 }
|
||||
|
||||
#ifdef AF_CONFIG_OPTION_CJK
|
||||
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
/* */
|
||||
/* Auto-fitter data for blue strings (specification). */
|
||||
/* */
|
||||
/* Copyright 2013-2016 by */
|
||||
/* Copyright 2013-2017 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
|
@ -77,110 +77,189 @@ FT_BEGIN_HEADER
|
|||
|
||||
typedef enum AF_Blue_String_
|
||||
{
|
||||
AF_BLUE_STRING_ARABIC_TOP = 0,
|
||||
AF_BLUE_STRING_ARABIC_BOTTOM = 18,
|
||||
AF_BLUE_STRING_ARABIC_JOIN = 33,
|
||||
AF_BLUE_STRING_ARMENIAN_CAPITAL_TOP = 36,
|
||||
AF_BLUE_STRING_ARMENIAN_CAPITAL_BOTTOM = 60,
|
||||
AF_BLUE_STRING_ARMENIAN_SMALL_ASCENDER = 84,
|
||||
AF_BLUE_STRING_ARMENIAN_SMALL_TOP = 108,
|
||||
AF_BLUE_STRING_ARMENIAN_SMALL_BOTTOM = 132,
|
||||
AF_BLUE_STRING_ARMENIAN_SMALL_DESCENDER = 156,
|
||||
AF_BLUE_STRING_BENGALI_BASE = 180,
|
||||
AF_BLUE_STRING_BENGALI_TOP = 212,
|
||||
AF_BLUE_STRING_BENGALI_HEAD = 240,
|
||||
AF_BLUE_STRING_CHEROKEE_CAPITAL = 272,
|
||||
AF_BLUE_STRING_CHEROKEE_SMALL_ASCENDER = 304,
|
||||
AF_BLUE_STRING_CHEROKEE_SMALL = 336,
|
||||
AF_BLUE_STRING_CHEROKEE_SMALL_DESCENDER = 368,
|
||||
AF_BLUE_STRING_CYRILLIC_CAPITAL_TOP = 384,
|
||||
AF_BLUE_STRING_CYRILLIC_CAPITAL_BOTTOM = 408,
|
||||
AF_BLUE_STRING_CYRILLIC_SMALL = 432,
|
||||
AF_BLUE_STRING_CYRILLIC_SMALL_DESCENDER = 456,
|
||||
AF_BLUE_STRING_DEVANAGARI_BASE = 465,
|
||||
AF_BLUE_STRING_DEVANAGARI_TOP = 497,
|
||||
AF_BLUE_STRING_DEVANAGARI_HEAD = 529,
|
||||
AF_BLUE_STRING_DEVANAGARI_BOTTOM = 561,
|
||||
AF_BLUE_STRING_ETHIOPIC_TOP = 569,
|
||||
AF_BLUE_STRING_ETHIOPIC_BOTTOM = 601,
|
||||
AF_BLUE_STRING_GEORGIAN_MKHEDRULI_TOP = 633,
|
||||
AF_BLUE_STRING_GEORGIAN_MKHEDRULI_BOTTOM = 665,
|
||||
AF_BLUE_STRING_GEORGIAN_MKHEDRULI_ASCENDER = 697,
|
||||
AF_BLUE_STRING_GEORGIAN_MKHEDRULI_DESCENDER = 729,
|
||||
AF_BLUE_STRING_GEORGIAN_ASOMTAVRULI_TOP = 761,
|
||||
AF_BLUE_STRING_GEORGIAN_ASOMTAVRULI_BOTTOM = 793,
|
||||
AF_BLUE_STRING_GEORGIAN_NUSKHURI_TOP = 825,
|
||||
AF_BLUE_STRING_GEORGIAN_NUSKHURI_BOTTOM = 857,
|
||||
AF_BLUE_STRING_GEORGIAN_NUSKHURI_ASCENDER = 889,
|
||||
AF_BLUE_STRING_GEORGIAN_NUSKHURI_DESCENDER = 921,
|
||||
AF_BLUE_STRING_GREEK_CAPITAL_TOP = 953,
|
||||
AF_BLUE_STRING_GREEK_CAPITAL_BOTTOM = 974,
|
||||
AF_BLUE_STRING_GREEK_SMALL_BETA_TOP = 992,
|
||||
AF_BLUE_STRING_GREEK_SMALL = 1010,
|
||||
AF_BLUE_STRING_GREEK_SMALL_DESCENDER = 1034,
|
||||
AF_BLUE_STRING_GUJARATI_TOP = 1058,
|
||||
AF_BLUE_STRING_GUJARATI_BOTTOM = 1090,
|
||||
AF_BLUE_STRING_GUJARATI_ASCENDER = 1122,
|
||||
AF_BLUE_STRING_GUJARATI_DESCENDER = 1172,
|
||||
AF_BLUE_STRING_GUJARATI_DIGIT_TOP = 1205,
|
||||
AF_BLUE_STRING_GURMUKHI_BASE = 1225,
|
||||
AF_BLUE_STRING_GURMUKHI_HEAD = 1257,
|
||||
AF_BLUE_STRING_GURMUKHI_TOP = 1289,
|
||||
AF_BLUE_STRING_GURMUKHI_BOTTOM = 1321,
|
||||
AF_BLUE_STRING_GURMUKHI_DIGIT_TOP = 1353,
|
||||
AF_BLUE_STRING_HEBREW_TOP = 1373,
|
||||
AF_BLUE_STRING_HEBREW_BOTTOM = 1397,
|
||||
AF_BLUE_STRING_HEBREW_DESCENDER = 1415,
|
||||
AF_BLUE_STRING_KANNADA_TOP = 1430,
|
||||
AF_BLUE_STRING_KANNADA_BOTTOM = 1474,
|
||||
AF_BLUE_STRING_KHMER_TOP = 1506,
|
||||
AF_BLUE_STRING_KHMER_SUBSCRIPT_TOP = 1530,
|
||||
AF_BLUE_STRING_KHMER_BOTTOM = 1570,
|
||||
AF_BLUE_STRING_KHMER_DESCENDER = 1602,
|
||||
AF_BLUE_STRING_KHMER_LARGE_DESCENDER = 1636,
|
||||
AF_BLUE_STRING_KHMER_SYMBOLS_WAXING_TOP = 1723,
|
||||
AF_BLUE_STRING_KHMER_SYMBOLS_WANING_BOTTOM = 1731,
|
||||
AF_BLUE_STRING_LAO_TOP = 1739,
|
||||
AF_BLUE_STRING_LAO_BOTTOM = 1771,
|
||||
AF_BLUE_STRING_LAO_ASCENDER = 1803,
|
||||
AF_BLUE_STRING_LAO_LARGE_ASCENDER = 1819,
|
||||
AF_BLUE_STRING_LAO_DESCENDER = 1831,
|
||||
AF_BLUE_STRING_LATIN_CAPITAL_TOP = 1855,
|
||||
AF_BLUE_STRING_LATIN_CAPITAL_BOTTOM = 1871,
|
||||
AF_BLUE_STRING_LATIN_SMALL_F_TOP = 1887,
|
||||
AF_BLUE_STRING_LATIN_SMALL = 1901,
|
||||
AF_BLUE_STRING_LATIN_SMALL_DESCENDER = 1915,
|
||||
AF_BLUE_STRING_LATIN_SUBS_CAPITAL_TOP = 1925,
|
||||
AF_BLUE_STRING_LATIN_SUBS_CAPITAL_BOTTOM = 1945,
|
||||
AF_BLUE_STRING_LATIN_SUBS_SMALL_F_TOP = 1965,
|
||||
AF_BLUE_STRING_LATIN_SUBS_SMALL = 1985,
|
||||
AF_BLUE_STRING_LATIN_SUBS_SMALL_DESCENDER = 2021,
|
||||
AF_BLUE_STRING_LATIN_SUPS_CAPITAL_TOP = 2041,
|
||||
AF_BLUE_STRING_LATIN_SUPS_CAPITAL_BOTTOM = 2072,
|
||||
AF_BLUE_STRING_LATIN_SUPS_SMALL_F_TOP = 2101,
|
||||
AF_BLUE_STRING_LATIN_SUPS_SMALL = 2127,
|
||||
AF_BLUE_STRING_LATIN_SUPS_SMALL_DESCENDER = 2152,
|
||||
AF_BLUE_STRING_MALAYALAM_TOP = 2163,
|
||||
AF_BLUE_STRING_MALAYALAM_BOTTOM = 2207,
|
||||
AF_BLUE_STRING_MYANMAR_TOP = 2239,
|
||||
AF_BLUE_STRING_MYANMAR_BOTTOM = 2271,
|
||||
AF_BLUE_STRING_MYANMAR_ASCENDER = 2303,
|
||||
AF_BLUE_STRING_MYANMAR_DESCENDER = 2331,
|
||||
AF_BLUE_STRING_SINHALA_TOP = 2363,
|
||||
AF_BLUE_STRING_SINHALA_BOTTOM = 2395,
|
||||
AF_BLUE_STRING_SINHALA_DESCENDER = 2427,
|
||||
AF_BLUE_STRING_TAMIL_TOP = 2471,
|
||||
AF_BLUE_STRING_TAMIL_BOTTOM = 2503,
|
||||
AF_BLUE_STRING_TELUGU_TOP = 2535,
|
||||
AF_BLUE_STRING_TELUGU_BOTTOM = 2563,
|
||||
AF_BLUE_STRING_THAI_TOP = 2591,
|
||||
AF_BLUE_STRING_THAI_BOTTOM = 2615,
|
||||
AF_BLUE_STRING_THAI_ASCENDER = 2643,
|
||||
AF_BLUE_STRING_THAI_LARGE_ASCENDER = 2655,
|
||||
AF_BLUE_STRING_THAI_DESCENDER = 2667,
|
||||
AF_BLUE_STRING_THAI_LARGE_DESCENDER = 2683,
|
||||
AF_BLUE_STRING_THAI_DIGIT_TOP = 2691,
|
||||
af_blue_1_1 = 2702,
|
||||
AF_BLUE_STRING_ADLAM_CAPITAL_TOP = 0,
|
||||
AF_BLUE_STRING_ADLAM_CAPITAL_BOTTOM = 30,
|
||||
AF_BLUE_STRING_ADLAM_SMALL_TOP = 40,
|
||||
AF_BLUE_STRING_ADLAM_SMALL_BOTTOM = 65,
|
||||
AF_BLUE_STRING_ARABIC_TOP = 105,
|
||||
AF_BLUE_STRING_ARABIC_BOTTOM = 123,
|
||||
AF_BLUE_STRING_ARABIC_JOIN = 138,
|
||||
AF_BLUE_STRING_ARMENIAN_CAPITAL_TOP = 141,
|
||||
AF_BLUE_STRING_ARMENIAN_CAPITAL_BOTTOM = 165,
|
||||
AF_BLUE_STRING_ARMENIAN_SMALL_ASCENDER = 189,
|
||||
AF_BLUE_STRING_ARMENIAN_SMALL_TOP = 210,
|
||||
AF_BLUE_STRING_ARMENIAN_SMALL_BOTTOM = 234,
|
||||
AF_BLUE_STRING_ARMENIAN_SMALL_DESCENDER = 258,
|
||||
AF_BLUE_STRING_AVESTAN_TOP = 282,
|
||||
AF_BLUE_STRING_AVESTAN_BOTTOM = 302,
|
||||
AF_BLUE_STRING_BAMUM_TOP = 312,
|
||||
AF_BLUE_STRING_BAMUM_BOTTOM = 344,
|
||||
AF_BLUE_STRING_BENGALI_BASE = 376,
|
||||
AF_BLUE_STRING_BENGALI_TOP = 408,
|
||||
AF_BLUE_STRING_BENGALI_HEAD = 436,
|
||||
AF_BLUE_STRING_BUHID_TOP = 468,
|
||||
AF_BLUE_STRING_BUHID_LARGE = 476,
|
||||
AF_BLUE_STRING_BUHID_SMALL = 488,
|
||||
AF_BLUE_STRING_BUHID_BOTTOM = 504,
|
||||
AF_BLUE_STRING_CANADIAN_SYLLABICS_TOP = 532,
|
||||
AF_BLUE_STRING_CANADIAN_SYLLABICS_BOTTOM = 564,
|
||||
AF_BLUE_STRING_CANADIAN_SYLLABICS_SMALL_TOP = 596,
|
||||
AF_BLUE_STRING_CANADIAN_SYLLABICS_SMALL_BOTTOM = 628,
|
||||
AF_BLUE_STRING_CANADIAN_SYLLABICS_SUPS_TOP = 660,
|
||||
AF_BLUE_STRING_CANADIAN_SYLLABICS_SUPS_BOTTOM = 688,
|
||||
AF_BLUE_STRING_CARIAN_TOP = 720,
|
||||
AF_BLUE_STRING_CARIAN_BOTTOM = 760,
|
||||
AF_BLUE_STRING_CHAKMA_TOP = 795,
|
||||
AF_BLUE_STRING_CHAKMA_BOTTOM = 820,
|
||||
AF_BLUE_STRING_CHAKMA_DESCENDER = 845,
|
||||
AF_BLUE_STRING_CHEROKEE_CAPITAL = 910,
|
||||
AF_BLUE_STRING_CHEROKEE_SMALL_ASCENDER = 942,
|
||||
AF_BLUE_STRING_CHEROKEE_SMALL = 974,
|
||||
AF_BLUE_STRING_CHEROKEE_SMALL_DESCENDER = 1006,
|
||||
AF_BLUE_STRING_COPTIC_CAPITAL_TOP = 1022,
|
||||
AF_BLUE_STRING_COPTIC_CAPITAL_BOTTOM = 1054,
|
||||
AF_BLUE_STRING_COPTIC_SMALL_TOP = 1086,
|
||||
AF_BLUE_STRING_COPTIC_SMALL_BOTTOM = 1118,
|
||||
AF_BLUE_STRING_CYPRIOT_TOP = 1150,
|
||||
AF_BLUE_STRING_CYPRIOT_BOTTOM = 1190,
|
||||
AF_BLUE_STRING_CYPRIOT_SMALL = 1225,
|
||||
AF_BLUE_STRING_CYRILLIC_CAPITAL_TOP = 1240,
|
||||
AF_BLUE_STRING_CYRILLIC_CAPITAL_BOTTOM = 1264,
|
||||
AF_BLUE_STRING_CYRILLIC_SMALL = 1288,
|
||||
AF_BLUE_STRING_CYRILLIC_SMALL_DESCENDER = 1312,
|
||||
AF_BLUE_STRING_DESERET_CAPITAL_TOP = 1321,
|
||||
AF_BLUE_STRING_DESERET_CAPITAL_BOTTOM = 1346,
|
||||
AF_BLUE_STRING_DESERET_SMALL_TOP = 1371,
|
||||
AF_BLUE_STRING_DESERET_SMALL_BOTTOM = 1396,
|
||||
AF_BLUE_STRING_DEVANAGARI_BASE = 1421,
|
||||
AF_BLUE_STRING_DEVANAGARI_TOP = 1453,
|
||||
AF_BLUE_STRING_DEVANAGARI_HEAD = 1485,
|
||||
AF_BLUE_STRING_DEVANAGARI_BOTTOM = 1517,
|
||||
AF_BLUE_STRING_ETHIOPIC_TOP = 1525,
|
||||
AF_BLUE_STRING_ETHIOPIC_BOTTOM = 1557,
|
||||
AF_BLUE_STRING_GEORGIAN_MKHEDRULI_TOP = 1589,
|
||||
AF_BLUE_STRING_GEORGIAN_MKHEDRULI_BOTTOM = 1621,
|
||||
AF_BLUE_STRING_GEORGIAN_MKHEDRULI_ASCENDER = 1653,
|
||||
AF_BLUE_STRING_GEORGIAN_MKHEDRULI_DESCENDER = 1685,
|
||||
AF_BLUE_STRING_GEORGIAN_ASOMTAVRULI_TOP = 1717,
|
||||
AF_BLUE_STRING_GEORGIAN_ASOMTAVRULI_BOTTOM = 1749,
|
||||
AF_BLUE_STRING_GEORGIAN_NUSKHURI_TOP = 1781,
|
||||
AF_BLUE_STRING_GEORGIAN_NUSKHURI_BOTTOM = 1813,
|
||||
AF_BLUE_STRING_GEORGIAN_NUSKHURI_ASCENDER = 1845,
|
||||
AF_BLUE_STRING_GEORGIAN_NUSKHURI_DESCENDER = 1877,
|
||||
AF_BLUE_STRING_GLAGOLITIC_CAPITAL_TOP = 1909,
|
||||
AF_BLUE_STRING_GLAGOLITIC_CAPITAL_BOTTOM = 1941,
|
||||
AF_BLUE_STRING_GLAGOLITIC_SMALL_TOP = 1973,
|
||||
AF_BLUE_STRING_GLAGOLITIC_SMALL_BOTTOM = 2005,
|
||||
AF_BLUE_STRING_GOTHIC_TOP = 2037,
|
||||
AF_BLUE_STRING_GOTHIC_BOTTOM = 2077,
|
||||
AF_BLUE_STRING_GREEK_CAPITAL_TOP = 2097,
|
||||
AF_BLUE_STRING_GREEK_CAPITAL_BOTTOM = 2118,
|
||||
AF_BLUE_STRING_GREEK_SMALL_BETA_TOP = 2136,
|
||||
AF_BLUE_STRING_GREEK_SMALL = 2154,
|
||||
AF_BLUE_STRING_GREEK_SMALL_DESCENDER = 2178,
|
||||
AF_BLUE_STRING_GUJARATI_TOP = 2202,
|
||||
AF_BLUE_STRING_GUJARATI_BOTTOM = 2234,
|
||||
AF_BLUE_STRING_GUJARATI_ASCENDER = 2266,
|
||||
AF_BLUE_STRING_GUJARATI_DESCENDER = 2316,
|
||||
AF_BLUE_STRING_GUJARATI_DIGIT_TOP = 2349,
|
||||
AF_BLUE_STRING_GURMUKHI_BASE = 2369,
|
||||
AF_BLUE_STRING_GURMUKHI_HEAD = 2401,
|
||||
AF_BLUE_STRING_GURMUKHI_TOP = 2433,
|
||||
AF_BLUE_STRING_GURMUKHI_BOTTOM = 2465,
|
||||
AF_BLUE_STRING_GURMUKHI_DIGIT_TOP = 2497,
|
||||
AF_BLUE_STRING_HEBREW_TOP = 2517,
|
||||
AF_BLUE_STRING_HEBREW_BOTTOM = 2541,
|
||||
AF_BLUE_STRING_HEBREW_DESCENDER = 2559,
|
||||
AF_BLUE_STRING_KANNADA_TOP = 2574,
|
||||
AF_BLUE_STRING_KANNADA_BOTTOM = 2618,
|
||||
AF_BLUE_STRING_KAYAH_LI_TOP = 2650,
|
||||
AF_BLUE_STRING_KAYAH_LI_BOTTOM = 2674,
|
||||
AF_BLUE_STRING_KAYAH_LI_ASCENDER = 2694,
|
||||
AF_BLUE_STRING_KAYAH_LI_DESCENDER = 2702,
|
||||
AF_BLUE_STRING_KAYAH_LI_LARGE_DESCENDER = 2714,
|
||||
AF_BLUE_STRING_KHMER_TOP = 2735,
|
||||
AF_BLUE_STRING_KHMER_SUBSCRIPT_TOP = 2759,
|
||||
AF_BLUE_STRING_KHMER_BOTTOM = 2799,
|
||||
AF_BLUE_STRING_KHMER_DESCENDER = 2831,
|
||||
AF_BLUE_STRING_KHMER_LARGE_DESCENDER = 2865,
|
||||
AF_BLUE_STRING_KHMER_SYMBOLS_WAXING_TOP = 2952,
|
||||
AF_BLUE_STRING_KHMER_SYMBOLS_WANING_BOTTOM = 2960,
|
||||
AF_BLUE_STRING_LAO_TOP = 2968,
|
||||
AF_BLUE_STRING_LAO_BOTTOM = 3000,
|
||||
AF_BLUE_STRING_LAO_ASCENDER = 3032,
|
||||
AF_BLUE_STRING_LAO_LARGE_ASCENDER = 3048,
|
||||
AF_BLUE_STRING_LAO_DESCENDER = 3060,
|
||||
AF_BLUE_STRING_LATIN_CAPITAL_TOP = 3084,
|
||||
AF_BLUE_STRING_LATIN_CAPITAL_BOTTOM = 3100,
|
||||
AF_BLUE_STRING_LATIN_SMALL_F_TOP = 3116,
|
||||
AF_BLUE_STRING_LATIN_SMALL_TOP = 3130,
|
||||
AF_BLUE_STRING_LATIN_SMALL_BOTTOM = 3146,
|
||||
AF_BLUE_STRING_LATIN_SMALL_DESCENDER = 3162,
|
||||
AF_BLUE_STRING_LATIN_SUBS_CAPITAL_TOP = 3172,
|
||||
AF_BLUE_STRING_LATIN_SUBS_CAPITAL_BOTTOM = 3192,
|
||||
AF_BLUE_STRING_LATIN_SUBS_SMALL_F_TOP = 3212,
|
||||
AF_BLUE_STRING_LATIN_SUBS_SMALL = 3232,
|
||||
AF_BLUE_STRING_LATIN_SUBS_SMALL_DESCENDER = 3268,
|
||||
AF_BLUE_STRING_LATIN_SUPS_CAPITAL_TOP = 3288,
|
||||
AF_BLUE_STRING_LATIN_SUPS_CAPITAL_BOTTOM = 3319,
|
||||
AF_BLUE_STRING_LATIN_SUPS_SMALL_F_TOP = 3348,
|
||||
AF_BLUE_STRING_LATIN_SUPS_SMALL = 3374,
|
||||
AF_BLUE_STRING_LATIN_SUPS_SMALL_DESCENDER = 3399,
|
||||
AF_BLUE_STRING_LISU_TOP = 3410,
|
||||
AF_BLUE_STRING_LISU_BOTTOM = 3442,
|
||||
AF_BLUE_STRING_MALAYALAM_TOP = 3474,
|
||||
AF_BLUE_STRING_MALAYALAM_BOTTOM = 3518,
|
||||
AF_BLUE_STRING_MYANMAR_TOP = 3550,
|
||||
AF_BLUE_STRING_MYANMAR_BOTTOM = 3582,
|
||||
AF_BLUE_STRING_MYANMAR_ASCENDER = 3614,
|
||||
AF_BLUE_STRING_MYANMAR_DESCENDER = 3642,
|
||||
AF_BLUE_STRING_NKO_TOP = 3674,
|
||||
AF_BLUE_STRING_NKO_BOTTOM = 3698,
|
||||
AF_BLUE_STRING_NKO_SMALL_TOP = 3713,
|
||||
AF_BLUE_STRING_NKO_SMALL_BOTTOM = 3722,
|
||||
AF_BLUE_STRING_OL_CHIKI = 3734,
|
||||
AF_BLUE_STRING_OLD_TURKIC_TOP = 3758,
|
||||
AF_BLUE_STRING_OLD_TURKIC_BOTTOM = 3773,
|
||||
AF_BLUE_STRING_OSAGE_CAPITAL_TOP = 3793,
|
||||
AF_BLUE_STRING_OSAGE_CAPITAL_BOTTOM = 3833,
|
||||
AF_BLUE_STRING_OSAGE_CAPITAL_DESCENDER = 3863,
|
||||
AF_BLUE_STRING_OSAGE_SMALL_TOP = 3878,
|
||||
AF_BLUE_STRING_OSAGE_SMALL_BOTTOM = 3918,
|
||||
AF_BLUE_STRING_OSAGE_SMALL_ASCENDER = 3958,
|
||||
AF_BLUE_STRING_OSAGE_SMALL_DESCENDER = 3983,
|
||||
AF_BLUE_STRING_OSMANYA_TOP = 3998,
|
||||
AF_BLUE_STRING_OSMANYA_BOTTOM = 4038,
|
||||
AF_BLUE_STRING_SAURASHTRA_TOP = 4078,
|
||||
AF_BLUE_STRING_SAURASHTRA_BOTTOM = 4110,
|
||||
AF_BLUE_STRING_SHAVIAN_TOP = 4130,
|
||||
AF_BLUE_STRING_SHAVIAN_BOTTOM = 4140,
|
||||
AF_BLUE_STRING_SHAVIAN_DESCENDER = 4165,
|
||||
AF_BLUE_STRING_SHAVIAN_SMALL_TOP = 4175,
|
||||
AF_BLUE_STRING_SHAVIAN_SMALL_BOTTOM = 4210,
|
||||
AF_BLUE_STRING_SINHALA_TOP = 4225,
|
||||
AF_BLUE_STRING_SINHALA_BOTTOM = 4257,
|
||||
AF_BLUE_STRING_SINHALA_DESCENDER = 4289,
|
||||
AF_BLUE_STRING_SUNDANESE_TOP = 4333,
|
||||
AF_BLUE_STRING_SUNDANESE_BOTTOM = 4357,
|
||||
AF_BLUE_STRING_SUNDANESE_DESCENDER = 4389,
|
||||
AF_BLUE_STRING_TAI_VIET_TOP = 4397,
|
||||
AF_BLUE_STRING_TAI_VIET_BOTTOM = 4417,
|
||||
AF_BLUE_STRING_TAMIL_TOP = 4429,
|
||||
AF_BLUE_STRING_TAMIL_BOTTOM = 4461,
|
||||
AF_BLUE_STRING_TELUGU_TOP = 4493,
|
||||
AF_BLUE_STRING_TELUGU_BOTTOM = 4521,
|
||||
AF_BLUE_STRING_THAI_TOP = 4549,
|
||||
AF_BLUE_STRING_THAI_BOTTOM = 4573,
|
||||
AF_BLUE_STRING_THAI_ASCENDER = 4601,
|
||||
AF_BLUE_STRING_THAI_LARGE_ASCENDER = 4613,
|
||||
AF_BLUE_STRING_THAI_DESCENDER = 4625,
|
||||
AF_BLUE_STRING_THAI_LARGE_DESCENDER = 4641,
|
||||
AF_BLUE_STRING_THAI_DIGIT_TOP = 4649,
|
||||
AF_BLUE_STRING_TIFINAGH = 4661,
|
||||
AF_BLUE_STRING_VAI_TOP = 4693,
|
||||
AF_BLUE_STRING_VAI_BOTTOM = 4725,
|
||||
af_blue_1_1 = 4756,
|
||||
#ifdef AF_CONFIG_OPTION_CJK
|
||||
AF_BLUE_STRING_CJK_TOP = af_blue_1_1 + 1,
|
||||
AF_BLUE_STRING_CJK_BOTTOM = af_blue_1_1 + 203,
|
||||
|
@ -239,34 +318,59 @@ FT_BEGIN_HEADER
|
|||
|
||||
typedef enum AF_Blue_Stringset_
|
||||
{
|
||||
AF_BLUE_STRINGSET_ARAB = 0,
|
||||
AF_BLUE_STRINGSET_ARMN = 4,
|
||||
AF_BLUE_STRINGSET_BENG = 11,
|
||||
AF_BLUE_STRINGSET_CHER = 16,
|
||||
AF_BLUE_STRINGSET_CYRL = 23,
|
||||
AF_BLUE_STRINGSET_DEVA = 29,
|
||||
AF_BLUE_STRINGSET_ETHI = 35,
|
||||
AF_BLUE_STRINGSET_GEOR = 38,
|
||||
AF_BLUE_STRINGSET_GEOK = 43,
|
||||
AF_BLUE_STRINGSET_GREK = 50,
|
||||
AF_BLUE_STRINGSET_GUJR = 57,
|
||||
AF_BLUE_STRINGSET_GURU = 63,
|
||||
AF_BLUE_STRINGSET_HEBR = 69,
|
||||
AF_BLUE_STRINGSET_KNDA = 73,
|
||||
AF_BLUE_STRINGSET_KHMR = 76,
|
||||
AF_BLUE_STRINGSET_KHMS = 82,
|
||||
AF_BLUE_STRINGSET_LAO = 85,
|
||||
AF_BLUE_STRINGSET_LATN = 91,
|
||||
AF_BLUE_STRINGSET_LATB = 98,
|
||||
AF_BLUE_STRINGSET_LATP = 105,
|
||||
AF_BLUE_STRINGSET_MLYM = 112,
|
||||
AF_BLUE_STRINGSET_MYMR = 115,
|
||||
AF_BLUE_STRINGSET_NONE = 120,
|
||||
AF_BLUE_STRINGSET_SINH = 121,
|
||||
AF_BLUE_STRINGSET_TAML = 125,
|
||||
AF_BLUE_STRINGSET_TELU = 128,
|
||||
AF_BLUE_STRINGSET_THAI = 131,
|
||||
af_blue_2_1 = 139,
|
||||
AF_BLUE_STRINGSET_ADLM = 0,
|
||||
AF_BLUE_STRINGSET_ARAB = 5,
|
||||
AF_BLUE_STRINGSET_ARMN = 9,
|
||||
AF_BLUE_STRINGSET_AVST = 16,
|
||||
AF_BLUE_STRINGSET_BAMU = 19,
|
||||
AF_BLUE_STRINGSET_BENG = 22,
|
||||
AF_BLUE_STRINGSET_BUHD = 27,
|
||||
AF_BLUE_STRINGSET_CAKM = 32,
|
||||
AF_BLUE_STRINGSET_CANS = 36,
|
||||
AF_BLUE_STRINGSET_CARI = 43,
|
||||
AF_BLUE_STRINGSET_CHER = 46,
|
||||
AF_BLUE_STRINGSET_COPT = 53,
|
||||
AF_BLUE_STRINGSET_CPRT = 58,
|
||||
AF_BLUE_STRINGSET_CYRL = 63,
|
||||
AF_BLUE_STRINGSET_DEVA = 69,
|
||||
AF_BLUE_STRINGSET_DSRT = 75,
|
||||
AF_BLUE_STRINGSET_ETHI = 80,
|
||||
AF_BLUE_STRINGSET_GEOR = 83,
|
||||
AF_BLUE_STRINGSET_GEOK = 88,
|
||||
AF_BLUE_STRINGSET_GLAG = 95,
|
||||
AF_BLUE_STRINGSET_GOTH = 100,
|
||||
AF_BLUE_STRINGSET_GREK = 103,
|
||||
AF_BLUE_STRINGSET_GUJR = 110,
|
||||
AF_BLUE_STRINGSET_GURU = 116,
|
||||
AF_BLUE_STRINGSET_HEBR = 122,
|
||||
AF_BLUE_STRINGSET_KALI = 126,
|
||||
AF_BLUE_STRINGSET_KNDA = 132,
|
||||
AF_BLUE_STRINGSET_KHMR = 135,
|
||||
AF_BLUE_STRINGSET_KHMS = 141,
|
||||
AF_BLUE_STRINGSET_LAO = 144,
|
||||
AF_BLUE_STRINGSET_LATN = 150,
|
||||
AF_BLUE_STRINGSET_LATB = 157,
|
||||
AF_BLUE_STRINGSET_LATP = 164,
|
||||
AF_BLUE_STRINGSET_LISU = 171,
|
||||
AF_BLUE_STRINGSET_MLYM = 174,
|
||||
AF_BLUE_STRINGSET_MYMR = 177,
|
||||
AF_BLUE_STRINGSET_NKOO = 182,
|
||||
AF_BLUE_STRINGSET_NONE = 187,
|
||||
AF_BLUE_STRINGSET_OLCK = 188,
|
||||
AF_BLUE_STRINGSET_ORKH = 191,
|
||||
AF_BLUE_STRINGSET_OSGE = 194,
|
||||
AF_BLUE_STRINGSET_OSMA = 202,
|
||||
AF_BLUE_STRINGSET_SAUR = 205,
|
||||
AF_BLUE_STRINGSET_SHAW = 208,
|
||||
AF_BLUE_STRINGSET_SINH = 214,
|
||||
AF_BLUE_STRINGSET_SUND = 218,
|
||||
AF_BLUE_STRINGSET_TAML = 222,
|
||||
AF_BLUE_STRINGSET_TAVT = 225,
|
||||
AF_BLUE_STRINGSET_TELU = 228,
|
||||
AF_BLUE_STRINGSET_THAI = 231,
|
||||
AF_BLUE_STRINGSET_TFNG = 239,
|
||||
AF_BLUE_STRINGSET_VAII = 242,
|
||||
af_blue_2_1 = 245,
|
||||
#ifdef AF_CONFIG_OPTION_CJK
|
||||
AF_BLUE_STRINGSET_HANI = af_blue_2_1 + 0,
|
||||
af_blue_2_1_1 = af_blue_2_1 + 2,
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
/* */
|
||||
/* Auto-fitter data for blue strings (specification). */
|
||||
/* */
|
||||
/* Copyright 2013-2016 by */
|
||||
/* Copyright 2013-2017 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
/* */
|
||||
/* Auto-fitter hinting routines for CJK writing system (body). */
|
||||
/* */
|
||||
/* Copyright 2006-2016 by */
|
||||
/* Copyright 2006-2017 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
|
@ -29,13 +29,13 @@
|
|||
#include "afglobal.h"
|
||||
#include "afpic.h"
|
||||
#include "aflatin.h"
|
||||
#include "afcjk.h"
|
||||
|
||||
|
||||
#ifdef AF_CONFIG_OPTION_CJK
|
||||
|
||||
#undef AF_CONFIG_OPTION_CJK_BLUE_HANI_VERT
|
||||
|
||||
#include "afcjk.h"
|
||||
#include "aferrors.h"
|
||||
|
||||
|
||||
|
@ -563,7 +563,7 @@
|
|||
FT_Face face )
|
||||
{
|
||||
FT_Bool started = 0, same_width = 1;
|
||||
FT_Fixed advance, old_advance = 0;
|
||||
FT_Fixed advance = 0, old_advance = 0;
|
||||
|
||||
void* shaper_buf;
|
||||
|
||||
|
@ -1398,9 +1398,9 @@
|
|||
other_flags |= AF_LATIN_HINTS_VERT_SNAP;
|
||||
|
||||
/*
|
||||
* We adjust stems to full pixels only if we don't use the `light' mode.
|
||||
* We adjust stems to full pixels unless in `light' or `lcd' mode.
|
||||
*/
|
||||
if ( mode != FT_RENDER_MODE_LIGHT )
|
||||
if ( mode != FT_RENDER_MODE_LIGHT && mode != FT_RENDER_MODE_LCD )
|
||||
other_flags |= AF_LATIN_HINTS_STEM_ADJUST;
|
||||
|
||||
if ( mode == FT_RENDER_MODE_MONO )
|
||||
|
@ -2351,13 +2351,13 @@
|
|||
|
||||
sizeof ( AF_CJKMetricsRec ),
|
||||
|
||||
(AF_WritingSystem_InitMetricsFunc) af_cjk_metrics_init,
|
||||
(AF_WritingSystem_ScaleMetricsFunc)af_cjk_metrics_scale,
|
||||
(AF_WritingSystem_DoneMetricsFunc) NULL,
|
||||
(AF_WritingSystem_GetStdWidthsFunc)af_cjk_get_standard_widths,
|
||||
(AF_WritingSystem_InitMetricsFunc) af_cjk_metrics_init, /* style_metrics_init */
|
||||
(AF_WritingSystem_ScaleMetricsFunc)af_cjk_metrics_scale, /* style_metrics_scale */
|
||||
(AF_WritingSystem_DoneMetricsFunc) NULL, /* style_metrics_done */
|
||||
(AF_WritingSystem_GetStdWidthsFunc)af_cjk_get_standard_widths, /* style_metrics_getstdw */
|
||||
|
||||
(AF_WritingSystem_InitHintsFunc) af_cjk_hints_init,
|
||||
(AF_WritingSystem_ApplyHintsFunc) af_cjk_hints_apply
|
||||
(AF_WritingSystem_InitHintsFunc) af_cjk_hints_init, /* style_hints_init */
|
||||
(AF_WritingSystem_ApplyHintsFunc) af_cjk_hints_apply /* style_hints_apply */
|
||||
)
|
||||
|
||||
|
||||
|
@ -2371,13 +2371,13 @@
|
|||
|
||||
sizeof ( AF_CJKMetricsRec ),
|
||||
|
||||
(AF_WritingSystem_InitMetricsFunc) NULL,
|
||||
(AF_WritingSystem_ScaleMetricsFunc)NULL,
|
||||
(AF_WritingSystem_DoneMetricsFunc) NULL,
|
||||
(AF_WritingSystem_GetStdWidthsFunc)NULL,
|
||||
(AF_WritingSystem_InitMetricsFunc) NULL, /* style_metrics_init */
|
||||
(AF_WritingSystem_ScaleMetricsFunc)NULL, /* style_metrics_scale */
|
||||
(AF_WritingSystem_DoneMetricsFunc) NULL, /* style_metrics_done */
|
||||
(AF_WritingSystem_GetStdWidthsFunc)NULL, /* style_metrics_getstdw */
|
||||
|
||||
(AF_WritingSystem_InitHintsFunc) NULL,
|
||||
(AF_WritingSystem_ApplyHintsFunc) NULL
|
||||
(AF_WritingSystem_InitHintsFunc) NULL, /* style_hints_init */
|
||||
(AF_WritingSystem_ApplyHintsFunc) NULL /* style_hints_apply */
|
||||
)
|
||||
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
/* */
|
||||
/* Auto-fitter hinting routines for CJK writing system (specification). */
|
||||
/* */
|
||||
/* Copyright 2006-2016 by */
|
||||
/* Copyright 2006-2017 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
/* */
|
||||
/* Auto-fitter coverages (specification only). */
|
||||
/* */
|
||||
/* Copyright 2013-2016 by */
|
||||
/* Copyright 2013-2017 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* 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
Loading…
Reference in New Issue