updated freetype to 2.3.8
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28932 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -4,7 +4,7 @@
|
||||
/* */
|
||||
/* ANSI-specific configuration file (specification only). */
|
||||
/* */
|
||||
/* Copyright 1996-2001, 2002, 2003, 2004, 2006, 2007 by */
|
||||
/* Copyright 1996-2001, 2002, 2003, 2004, 2006, 2007, 2008 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 @@
|
||||
#include FT_CONFIG_OPTIONS_H
|
||||
#include FT_CONFIG_STANDARD_LIBRARY_H
|
||||
|
||||
|
||||
FT_BEGIN_HEADER
|
||||
|
||||
|
||||
@@ -134,6 +135,14 @@ FT_BEGIN_HEADER
|
||||
#else
|
||||
#define FT_MACINTOSH 1
|
||||
#endif
|
||||
|
||||
#elif defined( __SC__ ) || defined( __MRC__ )
|
||||
/* Classic MacOS compilers */
|
||||
#include "ConditionalMacros.h"
|
||||
#if TARGET_OS_MAC
|
||||
#define FT_MACINTOSH 1
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -212,6 +221,7 @@ FT_BEGIN_HEADER
|
||||
#error "no 32bit type found -- please check your configuration files"
|
||||
#endif
|
||||
|
||||
|
||||
/* look up an integer type that is at least 32 bits */
|
||||
#if FT_SIZEOF_INT >= (32 / FT_CHAR_BIT)
|
||||
|
||||
@@ -267,17 +277,12 @@ FT_BEGIN_HEADER
|
||||
#endif /* FT_SIZEOF_LONG == (64 / FT_CHAR_BIT) */
|
||||
|
||||
|
||||
#define FT_BEGIN_STMNT do {
|
||||
#define FT_END_STMNT } while ( 0 )
|
||||
#define FT_DUMMY_STMNT FT_BEGIN_STMNT FT_END_STMNT
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* A 64-bit data type will create compilation problems if you compile */
|
||||
/* in strict ANSI mode. To avoid them, we disable their use if */
|
||||
/* __STDC__ is defined. You can however ignore this rule by */
|
||||
/* defining the FT_CONFIG_OPTION_FORCE_INT64 configuration macro. */
|
||||
/* in strict ANSI mode. To avoid them, we disable its use if __STDC__ */
|
||||
/* is defined. You can however ignore this rule by defining the */
|
||||
/* FT_CONFIG_OPTION_FORCE_INT64 configuration macro. */
|
||||
/* */
|
||||
#if defined( FT_LONG64 ) && !defined( FT_CONFIG_OPTION_FORCE_INT64 )
|
||||
|
||||
@@ -292,6 +297,86 @@ FT_BEGIN_HEADER
|
||||
#endif /* FT_LONG64 && !FT_CONFIG_OPTION_FORCE_INT64 */
|
||||
|
||||
|
||||
#define FT_BEGIN_STMNT do {
|
||||
#define FT_END_STMNT } while ( 0 )
|
||||
#define FT_DUMMY_STMNT FT_BEGIN_STMNT FT_END_STMNT
|
||||
|
||||
|
||||
#ifndef FT_CONFIG_OPTION_NO_ASSEMBLER
|
||||
/* Provide assembler fragments for performance-critical functions. */
|
||||
/* These must be defined `static __inline__' with GCC. */
|
||||
|
||||
#ifdef __GNUC__
|
||||
|
||||
#if defined( __arm__ ) && !defined( __thumb__ )
|
||||
#define FT_MULFIX_ASSEMBLER FT_MulFix_arm
|
||||
|
||||
/* documentation is in freetype.h */
|
||||
|
||||
static __inline__ FT_Int32
|
||||
FT_MulFix_arm( FT_Int32 a,
|
||||
FT_Int32 b )
|
||||
{
|
||||
register FT_Int32 t, t2;
|
||||
|
||||
|
||||
asm __volatile__ (
|
||||
"smull %1, %2, %4, %3\n\t" /* (lo=%1,hi=%2) = a*b */
|
||||
"mov %0, %2, asr #31\n\t" /* %0 = (hi >> 31) */
|
||||
"add %0, %0, #0x8000\n\t" /* %0 += 0x8000 */
|
||||
"adds %1, %1, %0\n\t" /* %1 += %0 */
|
||||
"adc %2, %2, #0\n\t" /* %2 += carry */
|
||||
"mov %0, %1, lsr #16\n\t" /* %0 = %1 >> 16 */
|
||||
"orr %0, %2, lsl #16\n\t" /* %0 |= %2 << 16 */
|
||||
: "=r"(a), "=&r"(t2), "=&r"(t)
|
||||
: "r"(a), "r"(b) );
|
||||
return a;
|
||||
}
|
||||
|
||||
#endif /* __arm__ && !__thumb__ */
|
||||
|
||||
#if defined( i386 )
|
||||
#define FT_MULFIX_ASSEMBLER FT_MulFix_i386
|
||||
|
||||
/* documentation is in freetype.h */
|
||||
|
||||
static __inline__ FT_Int32
|
||||
FT_MulFix_i386( FT_Int32 a,
|
||||
FT_Int32 b )
|
||||
{
|
||||
register FT_Int32 result;
|
||||
|
||||
|
||||
__asm__ __volatile__ (
|
||||
"imul %%edx\n"
|
||||
"movl %%edx, %%ecx\n"
|
||||
"sarl $31, %%ecx\n"
|
||||
"addl $0x8000, %%ecx\n"
|
||||
"addl %%ecx, %%eax\n"
|
||||
"adcl $0, %%edx\n"
|
||||
"shrl $16, %%eax\n"
|
||||
"shll $16, %%edx\n"
|
||||
"addl %%edx, %%eax\n"
|
||||
: "=a"(result), "+d"(b)
|
||||
: "a"(a)
|
||||
: "%ecx" );
|
||||
return result;
|
||||
}
|
||||
|
||||
#endif /* i386 */
|
||||
|
||||
#endif /* __GNUC__ */
|
||||
|
||||
#endif /* !FT_CONFIG_OPTION_NO_ASSEMBLER */
|
||||
|
||||
|
||||
#ifdef FT_CONFIG_OPTION_INLINE_MULFIX
|
||||
#ifdef FT_MULFIX_ASSEMBLER
|
||||
#define FT_MULFIX_INLINED FT_MULFIX_ASSEMBLER
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef FT_MAKE_OPTION_SINGLE_OBJECT
|
||||
|
||||
#define FT_LOCAL( x ) static x
|
||||
|
||||
@@ -729,6 +729,18 @@
|
||||
#define FT_GASP_H <freetype/ftgasp.h>
|
||||
|
||||
|
||||
/*************************************************************************
|
||||
*
|
||||
* @macro:
|
||||
* FT_ADVANCES_H
|
||||
*
|
||||
* @description:
|
||||
* A macro used in #include statements to name the file containing the
|
||||
* FreeType~2 API which returns individual and ranged glyph advances.
|
||||
*/
|
||||
#define FT_ADVANCES_H <freetype/ftadvanc.h>
|
||||
|
||||
|
||||
/* */
|
||||
|
||||
#define FT_ERROR_DEFINITIONS_H <freetype/fterrdef.h>
|
||||
|
||||
@@ -10,23 +10,23 @@
|
||||
*
|
||||
*/
|
||||
|
||||
FT_USE_MODULE(autofit_module_class)
|
||||
FT_USE_MODULE(tt_driver_class)
|
||||
FT_USE_MODULE(t1_driver_class)
|
||||
FT_USE_MODULE(cff_driver_class)
|
||||
FT_USE_MODULE(t1cid_driver_class)
|
||||
FT_USE_MODULE(pfr_driver_class)
|
||||
FT_USE_MODULE(t42_driver_class)
|
||||
FT_USE_MODULE(winfnt_driver_class)
|
||||
FT_USE_MODULE(pcf_driver_class)
|
||||
FT_USE_MODULE(psaux_module_class)
|
||||
FT_USE_MODULE(psnames_module_class)
|
||||
FT_USE_MODULE(pshinter_module_class)
|
||||
FT_USE_MODULE(ft_raster1_renderer_class)
|
||||
FT_USE_MODULE(sfnt_module_class)
|
||||
FT_USE_MODULE(ft_smooth_renderer_class)
|
||||
FT_USE_MODULE(ft_smooth_lcd_renderer_class)
|
||||
FT_USE_MODULE(ft_smooth_lcdv_renderer_class)
|
||||
FT_USE_MODULE(bdf_driver_class)
|
||||
FT_USE_MODULE( FT_Module_Class, autofit_module_class )
|
||||
FT_USE_MODULE( FT_Driver_ClassRec, tt_driver_class )
|
||||
FT_USE_MODULE( FT_Driver_ClassRec, t1_driver_class )
|
||||
FT_USE_MODULE( FT_Driver_ClassRec, cff_driver_class )
|
||||
FT_USE_MODULE( FT_Driver_ClassRec, t1cid_driver_class )
|
||||
FT_USE_MODULE( FT_Driver_ClassRec, pfr_driver_class )
|
||||
FT_USE_MODULE( FT_Driver_ClassRec, t42_driver_class )
|
||||
FT_USE_MODULE( FT_Driver_ClassRec, winfnt_driver_class )
|
||||
FT_USE_MODULE( FT_Driver_ClassRec, pcf_driver_class )
|
||||
FT_USE_MODULE( FT_Module_Class, psaux_module_class )
|
||||
FT_USE_MODULE( FT_Module_Class, psnames_module_class )
|
||||
FT_USE_MODULE( FT_Module_Class, pshinter_module_class )
|
||||
FT_USE_MODULE( FT_Renderer_Class, ft_raster1_renderer_class )
|
||||
FT_USE_MODULE( FT_Module_Class, sfnt_module_class )
|
||||
FT_USE_MODULE( FT_Renderer_Class, ft_smooth_renderer_class )
|
||||
FT_USE_MODULE( FT_Renderer_Class, ft_smooth_lcd_renderer_class )
|
||||
FT_USE_MODULE( FT_Renderer_Class, ft_smooth_lcdv_renderer_class )
|
||||
FT_USE_MODULE( FT_Driver_ClassRec, bdf_driver_class )
|
||||
|
||||
/* EOF */
|
||||
|
||||
@@ -112,7 +112,28 @@ FT_BEGIN_HEADER
|
||||
/* file `ftconfig.h' either statically or through the */
|
||||
/* `configure' script on supported platforms. */
|
||||
/* */
|
||||
#undef FT_CONFIG_OPTION_FORCE_INT64
|
||||
#undef FT_CONFIG_OPTION_FORCE_INT64
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* If this macro is defined, do not try to use an assembler version of */
|
||||
/* performance-critical functions (e.g. FT_MulFix). You should only do */
|
||||
/* that to verify that the assembler function works properly, or to */
|
||||
/* execute benchmark tests of the various implementations. */
|
||||
/* #define FT_CONFIG_OPTION_NO_ASSEMBLER */
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* If this macro is defined, try to use an inlined assembler version of */
|
||||
/* the `FT_MulFix' function, which is a `hotspot' when loading and */
|
||||
/* hinting glyphs, and which should be executed as fast as possible. */
|
||||
/* */
|
||||
/* Note that if your compiler or CPU is not supported, this will default */
|
||||
/* to the standard and portable implementation found in `ftcalc.c'. */
|
||||
/* */
|
||||
#define FT_CONFIG_OPTION_INLINE_MULFIX
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
@@ -163,7 +184,7 @@ FT_BEGIN_HEADER
|
||||
/* Do not #undef this macro here since the build system might define */
|
||||
/* it for certain configurations only. */
|
||||
/* */
|
||||
/* #define FT_CONFIG_OPTION_SYSTEM_ZLIB */
|
||||
/* #define FT_CONFIG_OPTION_SYSTEM_ZLIB */
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
@@ -204,27 +225,27 @@ FT_BEGIN_HEADER
|
||||
/* Do not #undef these macros here since the build system might define */
|
||||
/* them for certain configurations only. */
|
||||
/* */
|
||||
/* #define FT_EXPORT(x) extern x */
|
||||
/* #define FT_EXPORT_DEF(x) x */
|
||||
/* #define FT_EXPORT(x) extern x */
|
||||
/* #define FT_EXPORT_DEF(x) x */
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* Glyph Postscript Names handling */
|
||||
/* */
|
||||
/* By default, FreeType 2 is compiled with the `PSNames' module. This */
|
||||
/* By default, FreeType 2 is compiled with the `psnames' module. This */
|
||||
/* module is in charge of converting a glyph name string into a */
|
||||
/* Unicode value, or return a Macintosh standard glyph name for the */
|
||||
/* use with the TrueType `post' table. */
|
||||
/* */
|
||||
/* Undefine this macro if you do not want `PSNames' compiled in your */
|
||||
/* Undefine this macro if you do not want `psnames' compiled in your */
|
||||
/* build of FreeType. This has the following effects: */
|
||||
/* */
|
||||
/* - The TrueType driver will provide its own set of glyph names, */
|
||||
/* if you build it to support postscript names in the TrueType */
|
||||
/* `post' table. */
|
||||
/* */
|
||||
/* - The Type 1 driver will not be able to synthetize a Unicode */
|
||||
/* - The Type 1 driver will not be able to synthesize a Unicode */
|
||||
/* charmap out of the glyphs found in the fonts. */
|
||||
/* */
|
||||
/* You would normally undefine this configuration macro when building */
|
||||
@@ -240,12 +261,12 @@ FT_BEGIN_HEADER
|
||||
/* By default, FreeType 2 is built with the `PSNames' module compiled */
|
||||
/* in. Among other things, the module is used to convert a glyph name */
|
||||
/* into a Unicode value. This is especially useful in order to */
|
||||
/* synthetize on the fly a Unicode charmap from the CFF/Type 1 driver */
|
||||
/* synthesize on the fly a Unicode charmap from the CFF/Type 1 driver */
|
||||
/* through a big table named the `Adobe Glyph List' (AGL). */
|
||||
/* */
|
||||
/* Undefine this macro if you do not want the Adobe Glyph List */
|
||||
/* compiled in your `PSNames' module. The Type 1 driver will not be */
|
||||
/* able to synthetize a Unicode charmap out of the glyphs found in the */
|
||||
/* able to synthesize a Unicode charmap out of the glyphs found in the */
|
||||
/* fonts. */
|
||||
/* */
|
||||
#define FT_CONFIG_OPTION_ADOBE_GLYPH_LIST
|
||||
@@ -467,9 +488,9 @@ FT_BEGIN_HEADER
|
||||
/* If you define TT_CONFIG_OPTION_UNPATENTED_HINTING, a special version */
|
||||
/* of the TrueType bytecode interpreter is used that doesn't implement */
|
||||
/* any of the patented opcodes and algorithms. Note that the */
|
||||
/* the TT_CONFIG_OPTION_UNPATENTED_HINTING macro is *ignored* if you */
|
||||
/* define TT_CONFIG_OPTION_BYTECODE_INTERPRETER; with other words, */
|
||||
/* either define TT_CONFIG_OPTION_BYTECODE_INTERPRETER or */
|
||||
/* TT_CONFIG_OPTION_UNPATENTED_HINTING macro is *ignored* if you define */
|
||||
/* TT_CONFIG_OPTION_BYTECODE_INTERPRETER; in other words, either define */
|
||||
/* TT_CONFIG_OPTION_BYTECODE_INTERPRETER or */
|
||||
/* TT_CONFIG_OPTION_UNPATENTED_HINTING but not both at the same time. */
|
||||
/* */
|
||||
/* This macro is only useful for a small number of font files (mostly */
|
||||
@@ -653,11 +674,12 @@ FT_BEGIN_HEADER
|
||||
|
||||
|
||||
/*
|
||||
* This variable is defined if either unpatented or native TrueType
|
||||
* This macro is defined if either unpatented or native TrueType
|
||||
* hinting is requested by the definitions above.
|
||||
*/
|
||||
#ifdef TT_CONFIG_OPTION_BYTECODE_INTERPRETER
|
||||
#define TT_USE_BYTECODE_INTERPRETER
|
||||
#undef TT_CONFIG_OPTION_UNPATENTED_HINTING
|
||||
#elif defined TT_CONFIG_OPTION_UNPATENTED_HINTING
|
||||
#define TT_USE_BYTECODE_INTERPRETER
|
||||
#endif
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
/* ANSI-specific library and header configuration file (specification */
|
||||
/* only). */
|
||||
/* */
|
||||
/* Copyright 2002, 2003, 2004, 2005, 2006, 2007 by */
|
||||
/* Copyright 2002, 2003, 2004, 2005, 2006, 2007, 2009 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
@@ -54,12 +54,6 @@
|
||||
/* In these case, `ftconfig.h' will refuse to compile anyway with a */
|
||||
/* message like `couldn't find 32-bit type' or something similar. */
|
||||
/* */
|
||||
/* IMPORTANT NOTE: We do not define aliases for heap management and */
|
||||
/* i/o routines (i.e. malloc/free/fopen/fread/...) */
|
||||
/* since these functions should all be encapsulated */
|
||||
/* by platform-specific implementations of */
|
||||
/* `ftsystem.c'. */
|
||||
/* */
|
||||
/**********************************************************************/
|
||||
|
||||
|
||||
@@ -124,8 +118,6 @@
|
||||
|
||||
#define ft_qsort qsort
|
||||
|
||||
#define ft_exit exit /* only used to exit from unhandled exceptions */
|
||||
|
||||
|
||||
/**********************************************************************/
|
||||
/* */
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
/* */
|
||||
/* FreeType high-level API and common types (specification only). */
|
||||
/* */
|
||||
/* Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 by */
|
||||
/* Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
@@ -60,8 +60,8 @@ FT_BEGIN_HEADER
|
||||
/* */
|
||||
/* <Description> */
|
||||
/* FreeType assumes that structures allocated by the user and passed */
|
||||
/* as arguments are zeroed out except for the actual data. With */
|
||||
/* other words, it is recommended to use `calloc' (or variants of it) */
|
||||
/* as arguments are zeroed out except for the actual data. In other */
|
||||
/* words, it is recommended to use `calloc' (or variants of it) */
|
||||
/* instead of `malloc' for allocation. */
|
||||
/* */
|
||||
/*************************************************************************/
|
||||
@@ -191,6 +191,15 @@ FT_BEGIN_HEADER
|
||||
/* FT_Set_Charmap */
|
||||
/* FT_Get_Charmap_Index */
|
||||
/* */
|
||||
/* FT_FSTYPE_INSTALLABLE_EMBEDDING */
|
||||
/* FT_FSTYPE_RESTRICTED_LICENSE_EMBEDDING */
|
||||
/* FT_FSTYPE_PREVIEW_AND_PRINT_EMBEDDING */
|
||||
/* FT_FSTYPE_EDITABLE_EMBEDDING */
|
||||
/* FT_FSTYPE_NO_SUBSETTING */
|
||||
/* FT_FSTYPE_BITMAP_EMBEDDING_ONLY */
|
||||
/* */
|
||||
/* FT_Get_FSType_Flags */
|
||||
/* */
|
||||
/*************************************************************************/
|
||||
|
||||
|
||||
@@ -606,7 +615,7 @@ FT_BEGIN_HEADER
|
||||
/* Same as FT_ENCODING_JOHAB. Deprecated. */
|
||||
/* */
|
||||
/* <Note> */
|
||||
/* By default, FreeType automatically synthetizes a Unicode charmap */
|
||||
/* By default, FreeType automatically synthesizes a Unicode charmap */
|
||||
/* for PostScript fonts, using their glyph names dictionaries. */
|
||||
/* However, it also reports the encodings defined explicitly in the */
|
||||
/* font file, for the cases when they are needed, with the Adobe */
|
||||
@@ -883,7 +892,7 @@ FT_BEGIN_HEADER
|
||||
/* scalable formats. */
|
||||
/* */
|
||||
/* underline_position :: The position, in font units, of the */
|
||||
/* underline line for this face. It's the */
|
||||
/* underline line for this face. It is the */
|
||||
/* center of the underlining stem. Only */
|
||||
/* relevant for scalable formats. */
|
||||
/* */
|
||||
@@ -1037,6 +1046,27 @@ FT_BEGIN_HEADER
|
||||
/* exist make FT_Load_Glyph return successfully; in all other cases */
|
||||
/* you get an `FT_Err_Invalid_Argument' error. */
|
||||
/* */
|
||||
/* Note that CID-keyed fonts which are in an SFNT wrapper don't */
|
||||
/* have this flag set since the glyphs are accessed in the normal */
|
||||
/* way (using contiguous indices); the `CID-ness' isn't visible to */
|
||||
/* the application. */
|
||||
/* */
|
||||
/* FT_FACE_FLAG_TRICKY :: */
|
||||
/* Set if the font is `tricky', this is, it always needs the */
|
||||
/* font format's native hinting engine to get a reasonable result. */
|
||||
/* A typical example is the Chinese font `mingli.ttf' which uses */
|
||||
/* TrueType bytecode instructions to move and scale all of its */
|
||||
/* subglyphs. */
|
||||
/* */
|
||||
/* It is not possible to autohint such fonts using */
|
||||
/* @FT_LOAD_FORCE_AUTOHINT; it will also ignore */
|
||||
/* @FT_LOAD_NO_HINTING. You have to set both FT_LOAD_NO_HINTING */
|
||||
/* and @FT_LOAD_NO_AUTOHINT to really disable hinting; however, you */
|
||||
/* probably never want this except for demonstration purposes. */
|
||||
/* */
|
||||
/* Currently, there are six TrueType fonts in the list of tricky */
|
||||
/* fonts; they are hard-coded in file `ttobjs.c'. */
|
||||
/* */
|
||||
#define FT_FACE_FLAG_SCALABLE ( 1L << 0 )
|
||||
#define FT_FACE_FLAG_FIXED_SIZES ( 1L << 1 )
|
||||
#define FT_FACE_FLAG_FIXED_WIDTH ( 1L << 2 )
|
||||
@@ -1050,8 +1080,7 @@ FT_BEGIN_HEADER
|
||||
#define FT_FACE_FLAG_EXTERNAL_STREAM ( 1L << 10 )
|
||||
#define FT_FACE_FLAG_HINTER ( 1L << 11 )
|
||||
#define FT_FACE_FLAG_CID_KEYED ( 1L << 12 )
|
||||
|
||||
/* */
|
||||
#define FT_FACE_FLAG_TRICKY ( 1L << 13 )
|
||||
|
||||
|
||||
/*************************************************************************
|
||||
@@ -1162,8 +1191,6 @@ FT_BEGIN_HEADER
|
||||
#define FT_HAS_FIXED_SIZES( face ) \
|
||||
( face->face_flags & FT_FACE_FLAG_FIXED_SIZES )
|
||||
|
||||
/* */
|
||||
|
||||
|
||||
/*************************************************************************
|
||||
*
|
||||
@@ -1224,9 +1251,23 @@ FT_BEGIN_HEADER
|
||||
( face->face_flags & FT_FACE_FLAG_CID_KEYED )
|
||||
|
||||
|
||||
/*************************************************************************
|
||||
*
|
||||
* @macro:
|
||||
* FT_IS_TRICKY( face )
|
||||
*
|
||||
* @description:
|
||||
* A macro that returns true whenever a face represents a `tricky' font.
|
||||
* See the discussion of @FT_FACE_FLAG_TRICKY for more details.
|
||||
*
|
||||
*/
|
||||
#define FT_IS_TRICKY( face ) \
|
||||
( face->face_flags & FT_FACE_FLAG_TRICKY )
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* <Constant> */
|
||||
/* <Const> */
|
||||
/* FT_STYLE_FLAG_XXX */
|
||||
/* */
|
||||
/* <Description> */
|
||||
@@ -1518,10 +1559,10 @@ FT_BEGIN_HEADER
|
||||
/* */
|
||||
/* This image can later be converted into a bitmap by calling */
|
||||
/* @FT_Render_Glyph. This function finds the current renderer for */
|
||||
/* the native image's format then invokes it. */
|
||||
/* the native image's format, then invokes it. */
|
||||
/* */
|
||||
/* The renderer is in charge of transforming the native image through */
|
||||
/* the slot's face transformation fields, then convert it into a */
|
||||
/* the slot's face transformation fields, then converting it into a */
|
||||
/* bitmap that is returned in `slot->bitmap'. */
|
||||
/* */
|
||||
/* Note that `slot->bitmap_left' and `slot->bitmap_top' are also used */
|
||||
@@ -1769,7 +1810,7 @@ FT_BEGIN_HEADER
|
||||
/* `num_params' and `params' is used. They are ignored otherwise. */
|
||||
/* */
|
||||
/* Ideally, both the `pathname' and `params' fields should be tagged */
|
||||
/* as `const'; this is missing for API backwards compatibility. With */
|
||||
/* as `const'; this is missing for API backwards compatibility. In */
|
||||
/* other words, applications should treat them as read-only. */
|
||||
/* */
|
||||
typedef struct FT_Open_Args_
|
||||
@@ -2174,7 +2215,8 @@ FT_BEGIN_HEADER
|
||||
/* A character width or height smaller than 1pt is set to 1pt; if */
|
||||
/* both resolution values are zero, they are set to 72dpi. */
|
||||
/* */
|
||||
|
||||
/* Don't use this function if you are using the FreeType cache API. */
|
||||
/* */
|
||||
FT_EXPORT( FT_Error )
|
||||
FT_Set_Char_Size( FT_Face face,
|
||||
FT_F26Dot6 char_width,
|
||||
@@ -2390,7 +2432,7 @@ FT_BEGIN_HEADER
|
||||
* 8~pixels packed into each byte of the bitmap data.
|
||||
*
|
||||
* Note that this has no effect on the hinting algorithm used. You
|
||||
* should use @FT_LOAD_TARGET_MONO instead so that the
|
||||
* should rather use @FT_LOAD_TARGET_MONO so that the
|
||||
* monochrome-optimized hinting algorithm is used.
|
||||
*
|
||||
* FT_LOAD_LINEAR_DESIGN ::
|
||||
@@ -2409,6 +2451,9 @@ FT_BEGIN_HEADER
|
||||
* @FT_LOAD_NO_AUTOHINT in case you don't want the auto-hinter to be
|
||||
* used at all.
|
||||
*
|
||||
* See the description of @FT_FACE_FLAG_TRICKY for a special exception
|
||||
* (affecting only a handful of Asian fonts).
|
||||
*
|
||||
* Besides deciding which hinter to use, you can also decide which
|
||||
* hinting algorithm to use. See @FT_LOAD_TARGET_XXX for details.
|
||||
*/
|
||||
@@ -2426,11 +2471,14 @@ FT_BEGIN_HEADER
|
||||
#define FT_LOAD_IGNORE_TRANSFORM 0x800
|
||||
#define FT_LOAD_MONOCHROME 0x1000
|
||||
#define FT_LOAD_LINEAR_DESIGN 0x2000
|
||||
#define FT_LOAD_SBITS_ONLY 0x4000 /* temporary hack! */
|
||||
#define FT_LOAD_NO_AUTOHINT 0x8000U
|
||||
|
||||
/* */
|
||||
|
||||
/* used internally only by certain font drivers! */
|
||||
#define FT_LOAD_ADVANCE_ONLY 0x100
|
||||
#define FT_LOAD_SBITS_ONLY 0x4000
|
||||
|
||||
|
||||
/**************************************************************************
|
||||
*
|
||||
@@ -3156,6 +3204,88 @@ FT_BEGIN_HEADER
|
||||
FT_Matrix *p_transform );
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* <Enum> */
|
||||
/* FT_FSTYPE_XXX */
|
||||
/* */
|
||||
/* <Description> */
|
||||
/* A list of bit flags used in the `fsType' field of the OS/2 table */
|
||||
/* in a TrueType or OpenType font and the `FSType' entry in a */
|
||||
/* PostScript font. These bit flags are returned by */
|
||||
/* @FT_Get_FSType_Flags; they inform client applications of embedding */
|
||||
/* and subsetting restrictions associated with a font. */
|
||||
/* */
|
||||
/* See http://www.adobe.com/devnet/acrobat/pdfs/FontPolicies.pdf for */
|
||||
/* more details. */
|
||||
/* */
|
||||
/* <Values> */
|
||||
/* FT_FSTYPE_INSTALLABLE_EMBEDDING :: */
|
||||
/* Fonts with no fsType bit set may be embedded and permanently */
|
||||
/* installed on the remote system by an application. */
|
||||
/* */
|
||||
/* FT_FSTYPE_RESTRICTED_LICENSE_EMBEDDING :: */
|
||||
/* Fonts that have only this bit set must not be modified, embedded */
|
||||
/* or exchanged in any manner without first obtaining permission of */
|
||||
/* the font software copyright owner. */
|
||||
/* */
|
||||
/* FT_FSTYPE_PREVIEW_AND_PRINT_EMBEDDING :: */
|
||||
/* If this bit is set, the font may be embedded and temporarily */
|
||||
/* loaded on the remote system. Documents containing Preview & */
|
||||
/* Print fonts must be opened `read-only'; no edits can be applied */
|
||||
/* to the document. */
|
||||
/* */
|
||||
/* FT_FSTYPE_EDITABLE_EMBEDDING :: */
|
||||
/* If this bit is set, the font may be embedded but must only be */
|
||||
/* installed temporarily on other systems. In contrast to Preview */
|
||||
/* & Print fonts, documents containing editable fonts may be opened */
|
||||
/* for reading, editing is permitted, and changes may be saved. */
|
||||
/* */
|
||||
/* FT_FSTYPE_NO_SUBSETTING :: */
|
||||
/* If this bit is set, the font may not be subsetted prior to */
|
||||
/* embedding. */
|
||||
/* */
|
||||
/* FT_FSTYPE_BITMAP_EMBEDDING_ONLY :: */
|
||||
/* If this bit is set, only bitmaps contained in the font may be */
|
||||
/* embedded; no outline data may be embedded. If there are no */
|
||||
/* bitmaps available in the font, then the font is unembeddable. */
|
||||
/* */
|
||||
/* <Note> */
|
||||
/* While the fsType flags can indicate that a font may be embedded, a */
|
||||
/* license with the font vendor may be separately required to use the */
|
||||
/* font in this way. */
|
||||
/* */
|
||||
#define FT_FSTYPE_INSTALLABLE_EMBEDDING 0x0000
|
||||
#define FT_FSTYPE_RESTRICTED_LICENSE_EMBEDDING 0x0002
|
||||
#define FT_FSTYPE_PREVIEW_AND_PRINT_EMBEDDING 0x0004
|
||||
#define FT_FSTYPE_EDITABLE_EMBEDDING 0x0008
|
||||
#define FT_FSTYPE_NO_SUBSETTING 0x0100
|
||||
#define FT_FSTYPE_BITMAP_EMBEDDING_ONLY 0x0200
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* <Function> */
|
||||
/* FT_Get_FSType_Flags */
|
||||
/* */
|
||||
/* <Description> */
|
||||
/* Return the fsType flags for a font. */
|
||||
/* */
|
||||
/* <Input> */
|
||||
/* face :: A handle to the source face object. */
|
||||
/* */
|
||||
/* <Return> */
|
||||
/* The fsType flags, @FT_FSTYPE_XXX. */
|
||||
/* */
|
||||
/* <Note> */
|
||||
/* Use this function rather than directly reading the `fs_type' field */
|
||||
/* in the @PS_FontInfoRec structure which is only guaranteed to */
|
||||
/* return the correct results for Type~1 fonts. */
|
||||
/* */
|
||||
FT_EXPORT( FT_UShort )
|
||||
FT_Get_FSType_Flags( FT_Face face );
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* <Section> */
|
||||
@@ -3431,6 +3561,12 @@ FT_BEGIN_HEADER
|
||||
FT_Long c );
|
||||
|
||||
|
||||
/* */
|
||||
|
||||
/* The following #if 0 ... #endif is for the documentation formatter, */
|
||||
/* hiding the internal `FT_MULFIX_INLINED' macro. */
|
||||
|
||||
#if 0
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* <Function> */
|
||||
@@ -3464,6 +3600,17 @@ FT_BEGIN_HEADER
|
||||
FT_MulFix( FT_Long a,
|
||||
FT_Long b );
|
||||
|
||||
/* */
|
||||
#endif
|
||||
|
||||
#ifdef FT_MULFIX_INLINED
|
||||
#define FT_MulFix( a, b ) FT_MULFIX_INLINED( a, b )
|
||||
#else
|
||||
FT_EXPORT( FT_Long )
|
||||
FT_MulFix( FT_Long a,
|
||||
FT_Long b );
|
||||
#endif
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
@@ -3611,7 +3758,7 @@ FT_BEGIN_HEADER
|
||||
*/
|
||||
#define FREETYPE_MAJOR 2
|
||||
#define FREETYPE_MINOR 3
|
||||
#define FREETYPE_PATCH 7
|
||||
#define FREETYPE_PATCH 8
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
@@ -3695,7 +3842,7 @@ FT_BEGIN_HEADER
|
||||
/* */
|
||||
/* <Return> */
|
||||
/* The old setting value. This will always be false if this is not */
|
||||
/* a SFNT font, or if the unpatented hinter is not compiled in this */
|
||||
/* an SFNT font, or if the unpatented hinter is not compiled in this */
|
||||
/* instance of the library. */
|
||||
/* */
|
||||
/* <Since> */
|
||||
|
||||
@@ -0,0 +1,179 @@
|
||||
/***************************************************************************/
|
||||
/* */
|
||||
/* ftadvanc.h */
|
||||
/* */
|
||||
/* Quick computation of advance widths (specification only). */
|
||||
/* */
|
||||
/* Copyright 2008 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 __FTADVANC_H__
|
||||
#define __FTADVANC_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:
|
||||
* quick_advance
|
||||
*
|
||||
* @title:
|
||||
* Quick retrieval of advance values
|
||||
*
|
||||
* @abstract:
|
||||
* Retrieve horizontal and vertical advance values without processing
|
||||
* glyph outlines, if possible.
|
||||
*
|
||||
* @description:
|
||||
* This section contains functions to quickly extract advance values
|
||||
* without handling glyph outlines, if possible.
|
||||
*/
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* <Const> */
|
||||
/* FT_ADVANCE_FLAG_FAST_ONLY */
|
||||
/* */
|
||||
/* <Description> */
|
||||
/* A bit-flag to be OR-ed with the `flags' parameter of the */
|
||||
/* @FT_Get_Advance and @FT_Get_Advances functions. */
|
||||
/* */
|
||||
/* If set, it indicates that you want these functions to fail if the */
|
||||
/* corresponding hinting mode or font driver doesn't allow for very */
|
||||
/* quick advance computation. */
|
||||
/* */
|
||||
/* Typically, glyphs which are either unscaled, unhinted, bitmapped, */
|
||||
/* or light-hinted can have their advance width computed very */
|
||||
/* quickly. */
|
||||
/* */
|
||||
/* Normal and bytecode hinted modes, which require loading, scaling, */
|
||||
/* and hinting of the glyph outline, are extremely slow by */
|
||||
/* comparison. */
|
||||
/* */
|
||||
#define FT_ADVANCE_FLAG_FAST_ONLY 0x20000000UL
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* <Function> */
|
||||
/* FT_Get_Advance */
|
||||
/* */
|
||||
/* <Description> */
|
||||
/* Retrieve the advance value of a given glyph outline in an */
|
||||
/* @FT_Face. By default, the unhinted advance is returned in font */
|
||||
/* units. */
|
||||
/* */
|
||||
/* <Input> */
|
||||
/* face :: The source @FT_Face handle. */
|
||||
/* */
|
||||
/* gindex :: The glyph index. */
|
||||
/* */
|
||||
/* load_flags :: A set of bit flags similar to those used when */
|
||||
/* calling @FT_Load_Glyph, used to determine what kind */
|
||||
/* of advances you need. */
|
||||
/* <Output> */
|
||||
/* padvance :: The advance value, in either font units or 16.16 */
|
||||
/* format. */
|
||||
/* */
|
||||
/* If @FT_LOAD_VERTICAL_LAYOUT is set, this is the */
|
||||
/* vertical advance corresponding to a vertical layout. */
|
||||
/* Otherwise, it is the horizontal advance in a */
|
||||
/* horizontal layout. */
|
||||
/* */
|
||||
/* <Return> */
|
||||
/* FreeType error code. 0 means success. */
|
||||
/* */
|
||||
/* <Note> */
|
||||
/* This function may fail if you use @FT_ADVANCE_FLAG_FAST_ONLY and */
|
||||
/* if the corresponding font backend doesn't have a quick way to */
|
||||
/* retrieve the advances. */
|
||||
/* */
|
||||
/* A scaled advance is returned in 16.16 format but isn't transformed */
|
||||
/* by the affine transformation specified by @FT_Set_Transform. */
|
||||
/* */
|
||||
FT_EXPORT( FT_Error )
|
||||
FT_Get_Advance( FT_Face face,
|
||||
FT_UInt gindex,
|
||||
FT_Int32 load_flags,
|
||||
FT_Fixed *padvance );
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* <Function> */
|
||||
/* FT_Get_Advances */
|
||||
/* */
|
||||
/* <Description> */
|
||||
/* Retrieve the advance values of several glyph outlines in an */
|
||||
/* @FT_Face. By default, the unhinted advances are returned in font */
|
||||
/* units. */
|
||||
/* */
|
||||
/* <Input> */
|
||||
/* face :: The source @FT_Face handle. */
|
||||
/* */
|
||||
/* start :: The first glyph index. */
|
||||
/* */
|
||||
/* count :: The number of advance values you want to retrieve. */
|
||||
/* */
|
||||
/* load_flags :: A set of bit flags similar to those used when */
|
||||
/* calling @FT_Load_Glyph. */
|
||||
/* */
|
||||
/* <Output> */
|
||||
/* padvance :: The advances, in either font units or 16.16 format. */
|
||||
/* This array must contain at least `count' elements. */
|
||||
/* */
|
||||
/* If @FT_LOAD_VERTICAL_LAYOUT is set, these are the */
|
||||
/* vertical advances corresponding to a vertical layout. */
|
||||
/* Otherwise, they are the horizontal advances in a */
|
||||
/* horizontal layout. */
|
||||
/* */
|
||||
/* <Return> */
|
||||
/* FreeType error code. 0 means success. */
|
||||
/* */
|
||||
/* <Note> */
|
||||
/* This function may fail if you use @FT_ADVANCE_FLAG_FAST_ONLY and */
|
||||
/* if the corresponding font backend doesn't have a quick way to */
|
||||
/* retrieve the advances. */
|
||||
/* */
|
||||
/* Scaled advances are returned in 16.16 format but aren't */
|
||||
/* transformed by the affine transformation specified by */
|
||||
/* @FT_Set_Transform. */
|
||||
/* */
|
||||
FT_EXPORT( FT_Error )
|
||||
FT_Get_Advances( FT_Face face,
|
||||
FT_UInt start,
|
||||
FT_UInt count,
|
||||
FT_Int32 load_flags,
|
||||
FT_Fixed *padvances );
|
||||
|
||||
/* */
|
||||
|
||||
|
||||
FT_END_HEADER
|
||||
|
||||
#endif /* __FTADVANC_H__ */
|
||||
|
||||
|
||||
/* END */
|
||||
@@ -4,7 +4,7 @@
|
||||
/* */
|
||||
/* FreeType API for accessing BDF-specific strings (specification). */
|
||||
/* */
|
||||
/* Copyright 2002, 2003, 2004, 2006 by */
|
||||
/* Copyright 2002, 2003, 2004, 2006, 2009 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
@@ -183,6 +183,14 @@ FT_BEGIN_HEADER
|
||||
* otherwise. It also returns an error if the property is not in the
|
||||
* font.
|
||||
*
|
||||
* A `property' is a either key-value pair within the STARTPROPERTIES
|
||||
* ... ENDPROPERTIES block of a BDF font or a key-value pair from the
|
||||
* `info->props' array within a `FontRec' structure of a PCF font.
|
||||
*
|
||||
* Integer properties are always stored as `signed' within PCF fonts;
|
||||
* consequently, @BDF_PROPERTY_TYPE_CARDINAL is a possible return value
|
||||
* for BDF fonts only.
|
||||
*
|
||||
* In case of error, `aproperty->type' is always set to
|
||||
* @BDF_PROPERTY_TYPE_NONE.
|
||||
*/
|
||||
|
||||
@@ -2,10 +2,9 @@
|
||||
/* */
|
||||
/* ftbitmap.h */
|
||||
/* */
|
||||
/* FreeType utility functions for converting 1bpp, 2bpp, 4bpp, and 8bpp */
|
||||
/* bitmaps into 8bpp format (specification). */
|
||||
/* FreeType utility functions for bitmaps (specification). */
|
||||
/* */
|
||||
/* Copyright 2004, 2005, 2006 by */
|
||||
/* Copyright 2004, 2005, 2006, 2008 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
@@ -121,7 +120,7 @@ FT_BEGIN_HEADER
|
||||
/* or equal to~8 if bitmap is of pixel_mode @FT_PIXEL_MODE_MONO. */
|
||||
/* */
|
||||
/* If you want to embolden the bitmap owned by a @FT_GlyphSlotRec, */
|
||||
/* you should call `FT_GlyphSlot_Own_Bitmap' on the slot first. */
|
||||
/* you should call @FT_GlyphSlot_Own_Bitmap on the slot first. */
|
||||
/* */
|
||||
FT_EXPORT( FT_Error )
|
||||
FT_Bitmap_Embolden( FT_Library library,
|
||||
@@ -170,6 +169,28 @@ FT_BEGIN_HEADER
|
||||
FT_Int alignment );
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* <Function> */
|
||||
/* FT_GlyphSlot_Own_Bitmap */
|
||||
/* */
|
||||
/* <Description> */
|
||||
/* Make sure that a glyph slot owns `slot->bitmap'. */
|
||||
/* */
|
||||
/* <Input> */
|
||||
/* slot :: The glyph slot. */
|
||||
/* */
|
||||
/* <Return> */
|
||||
/* FreeType error code. 0~means success. */
|
||||
/* */
|
||||
/* <Note> */
|
||||
/* This function is to be used in combination with */
|
||||
/* @FT_Bitmap_Embolden. */
|
||||
/* */
|
||||
FT_EXPORT( FT_Error )
|
||||
FT_GlyphSlot_Own_Bitmap( FT_GlyphSlot slot );
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* <Function> */
|
||||
|
||||
@@ -609,7 +609,8 @@ FT_BEGIN_HEADER
|
||||
* The source face ID.
|
||||
*
|
||||
* cmap_index ::
|
||||
* The index of the charmap in the source face.
|
||||
* The index of the charmap in the source face. Any negative value
|
||||
* means to use the cache @FT_Face's default charmap.
|
||||
*
|
||||
* char_code ::
|
||||
* The character code (in the corresponding charmap).
|
||||
@@ -832,6 +833,9 @@ FT_BEGIN_HEADER
|
||||
/* call to one of the caching sub-system APIs. Don't assume that it */
|
||||
/* is persistent! */
|
||||
/* */
|
||||
/* Calls to @FT_Set_Char_Size and friends have no effect on cached */
|
||||
/* glyphs; you should always use the FreeType cache API instead. */
|
||||
/* */
|
||||
FT_EXPORT( FT_Error )
|
||||
FTC_ImageCache_LookupScaler( FTC_ImageCache cache,
|
||||
FTC_Scaler scaler,
|
||||
|
||||
@@ -90,6 +90,7 @@
|
||||
/* computations */
|
||||
/* list_processing */
|
||||
/* outline_processing */
|
||||
/* quick_advance */
|
||||
/* bitmap_handling */
|
||||
/* raster */
|
||||
/* glyph_stroker */
|
||||
|
||||
@@ -22,6 +22,13 @@
|
||||
#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
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
*
|
||||
* @section:
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
/* */
|
||||
/* FreeType convenience functions to handle glyphs (specification). */
|
||||
/* */
|
||||
/* Copyright 1996-2001, 2002, 2003, 2006 by */
|
||||
/* Copyright 1996-2001, 2002, 2003, 2006, 2008 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
@@ -219,7 +219,8 @@ FT_BEGIN_HEADER
|
||||
/* FT_Get_Glyph */
|
||||
/* */
|
||||
/* <Description> */
|
||||
/* A function used to extract a glyph image from a slot. */
|
||||
/* A function used to extract a glyph image from a slot. Note that */
|
||||
/* the created @FT_Glyph object must be released with @FT_Done_Glyph. */
|
||||
/* */
|
||||
/* <Input> */
|
||||
/* slot :: A handle to the source glyph slot. */
|
||||
@@ -427,7 +428,7 @@ FT_BEGIN_HEADER
|
||||
/* the_glyph :: A pointer to a handle to the target glyph. */
|
||||
/* */
|
||||
/* <Input> */
|
||||
/* render_mode :: An enumeration that describe how the data is */
|
||||
/* render_mode :: An enumeration that describes how the data is */
|
||||
/* rendered. */
|
||||
/* */
|
||||
/* origin :: A pointer to a vector used to translate the glyph */
|
||||
@@ -443,12 +444,14 @@ FT_BEGIN_HEADER
|
||||
/* FreeType error code. 0~means success. */
|
||||
/* */
|
||||
/* <Note> */
|
||||
/* This function does nothing if the glyph format isn't scalable. */
|
||||
/* */
|
||||
/* The glyph image is translated with the `origin' vector before */
|
||||
/* rendering. */
|
||||
/* */
|
||||
/* The first parameter is a pointer to an @FT_Glyph handle, that will */
|
||||
/* be replaced by this function. Typically, you would use (omitting */
|
||||
/* error handling): */
|
||||
/* be _replaced_ by this function (with newly allocated data). */
|
||||
/* Typically, you would use (omitting error handling): */
|
||||
/* */
|
||||
/* */
|
||||
/* { */
|
||||
@@ -462,12 +465,12 @@ FT_BEGIN_HEADER
|
||||
/* // extract glyph image */
|
||||
/* error = FT_Get_Glyph( face->glyph, &glyph ); */
|
||||
/* */
|
||||
/* // convert to a bitmap (default render mode + destroy old) */
|
||||
/* // convert to a bitmap (default render mode + destroying old) */
|
||||
/* if ( glyph->format != FT_GLYPH_FORMAT_BITMAP ) */
|
||||
/* { */
|
||||
/* error = FT_Glyph_To_Bitmap( &glyph, FT_RENDER_MODE_DEFAULT, */
|
||||
/* 0, 1 ); */
|
||||
/* if ( error ) // glyph unchanged */
|
||||
/* if ( error ) // `glyph' unchanged */
|
||||
/* ... */
|
||||
/* } */
|
||||
/* */
|
||||
@@ -482,7 +485,42 @@ FT_BEGIN_HEADER
|
||||
/* } */
|
||||
/* */
|
||||
/* */
|
||||
/* This function does nothing if the glyph format isn't scalable. */
|
||||
/* Here another example, again without error handling: */
|
||||
/* */
|
||||
/* */
|
||||
/* { */
|
||||
/* FT_Glyph glyphs[MAX_GLYPHS] */
|
||||
/* */
|
||||
/* */
|
||||
/* ... */
|
||||
/* */
|
||||
/* for ( idx = 0; i < MAX_GLYPHS; i++ ) */
|
||||
/* error = FT_Load_Glyph( face, idx, FT_LOAD_DEFAULT ) || */
|
||||
/* FT_Get_Glyph ( face->glyph, &glyph[idx] ); */
|
||||
/* */
|
||||
/* ... */
|
||||
/* */
|
||||
/* for ( idx = 0; i < MAX_GLYPHS; i++ ) */
|
||||
/* { */
|
||||
/* FT_Glyph bitmap = glyphs[idx]; */
|
||||
/* */
|
||||
/* */
|
||||
/* ... */
|
||||
/* */
|
||||
/* // after this call, `bitmap' no longer points into */
|
||||
/* // the `glyphs' array (and the old value isn't destroyed) */
|
||||
/* FT_Glyph_To_Bitmap( &bitmap, FT_RENDER_MODE_MONO, 0, 0 ); */
|
||||
/* */
|
||||
/* ... */
|
||||
/* */
|
||||
/* FT_Done_Glyph( bitmap ); */
|
||||
/* } */
|
||||
/* */
|
||||
/* ... */
|
||||
/* */
|
||||
/* for ( idx = 0; i < MAX_GLYPHS; i++ ) */
|
||||
/* FT_Done_Glyph( glyphs[idx] ); */
|
||||
/* } */
|
||||
/* */
|
||||
FT_EXPORT( FT_Error )
|
||||
FT_Glyph_To_Bitmap( FT_Glyph* the_glyph,
|
||||
|
||||
@@ -129,29 +129,30 @@ FT_BEGIN_HEADER
|
||||
/* FT_PIXEL_MODE_GRAY :: */
|
||||
/* An 8-bit bitmap, generally used to represent anti-aliased glyph */
|
||||
/* images. Each pixel is stored in one byte. Note that the number */
|
||||
/* of value `gray' levels is stored in the `num_grays' field of */
|
||||
/* the @FT_Bitmap structure (it generally is 256). */
|
||||
/* of `gray' levels is stored in the `num_grays' field of the */
|
||||
/* @FT_Bitmap structure (it generally is 256). */
|
||||
/* */
|
||||
/* FT_PIXEL_MODE_GRAY2 :: */
|
||||
/* A 2-bit/pixel bitmap, used to represent embedded anti-aliased */
|
||||
/* bitmaps in font files according to the OpenType specification. */
|
||||
/* We haven't found a single font using this format, however. */
|
||||
/* A 2-bit per pixel bitmap, used to represent embedded */
|
||||
/* anti-aliased bitmaps in font files according to the OpenType */
|
||||
/* specification. We haven't found a single font using this */
|
||||
/* format, however. */
|
||||
/* */
|
||||
/* FT_PIXEL_MODE_GRAY4 :: */
|
||||
/* A 4-bit/pixel bitmap, used to represent embedded anti-aliased */
|
||||
/* A 4-bit per pixel bitmap, representing embedded anti-aliased */
|
||||
/* bitmaps in font files according to the OpenType specification. */
|
||||
/* We haven't found a single font using this format, however. */
|
||||
/* */
|
||||
/* FT_PIXEL_MODE_LCD :: */
|
||||
/* An 8-bit bitmap, used to represent RGB or BGR decimated glyph */
|
||||
/* images used for display on LCD displays; the bitmap is three */
|
||||
/* times wider than the original glyph image. See also */
|
||||
/* An 8-bit bitmap, representing RGB or BGR decimated glyph images */
|
||||
/* used for display on LCD displays; the bitmap is three times */
|
||||
/* wider than the original glyph image. See also */
|
||||
/* @FT_RENDER_MODE_LCD. */
|
||||
/* */
|
||||
/* FT_PIXEL_MODE_LCD_V :: */
|
||||
/* An 8-bit bitmap, used to represent RGB or BGR decimated glyph */
|
||||
/* images used for display on rotated LCD displays; the bitmap */
|
||||
/* is three times taller than the original glyph image. See also */
|
||||
/* An 8-bit bitmap, representing RGB or BGR decimated glyph images */
|
||||
/* used for display on rotated LCD displays; the bitmap is three */
|
||||
/* times taller than the original glyph image. See also */
|
||||
/* @FT_RENDER_MODE_LCD_V. */
|
||||
/* */
|
||||
typedef enum FT_Pixel_Mode_
|
||||
|
||||
@@ -23,6 +23,12 @@
|
||||
#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
|
||||
|
||||
|
||||
@@ -412,7 +412,7 @@ FT_BEGIN_HEADER
|
||||
* FT_Get_TrueType_Engine_Type
|
||||
*
|
||||
* @description:
|
||||
* Return a @FT_TrueTypeEngineType value to indicate which level of
|
||||
* Return an @FT_TrueTypeEngineType value to indicate which level of
|
||||
* the TrueType virtual machine a given library instance supports.
|
||||
*
|
||||
* @input:
|
||||
|
||||
@@ -92,7 +92,7 @@ FT_BEGIN_HEADER
|
||||
/* <Input> */
|
||||
/* outline :: A pointer to the source target. */
|
||||
/* */
|
||||
/* func_interface :: A table of `emitters', i.e,. function pointers */
|
||||
/* func_interface :: A table of `emitters', i.e., function pointers */
|
||||
/* called during decomposition to indicate path */
|
||||
/* operations. */
|
||||
/* */
|
||||
@@ -333,6 +333,9 @@ FT_BEGIN_HEADER
|
||||
/* situations like acute angles or intersections are sometimes */
|
||||
/* handled incorrectly. */
|
||||
/* */
|
||||
/* If you need `better' metrics values you should call */
|
||||
/* @FT_Outline_Get_CBox ot @FT_Outline_Get_BBox. */
|
||||
/* */
|
||||
/* Example call: */
|
||||
/* */
|
||||
/* { */
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
/* */
|
||||
/* FreeType API for accessing PFR-specific data (specification only). */
|
||||
/* */
|
||||
/* Copyright 2002, 2003, 2004, 2006 by */
|
||||
/* Copyright 2002, 2003, 2004, 2006, 2008 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
@@ -73,11 +73,11 @@ FT_BEGIN_HEADER
|
||||
* A 16.16 fixed-point number used to scale distance expressed
|
||||
* in metrics units to device sub-pixels. This is equivalent to
|
||||
* `face->size->x_scale', but for metrics only. Optional (parameter
|
||||
* can be NULL)
|
||||
* can be NULL).
|
||||
*
|
||||
* ametrics_y_scale ::
|
||||
* Same as `ametrics_x_scale' but for the vertical direction.
|
||||
* optional (parameter can be NULL)
|
||||
* optional (parameter can be NULL).
|
||||
*
|
||||
* @return:
|
||||
* FreeType error code. 0~means success.
|
||||
|
||||
@@ -249,7 +249,7 @@ FT_BEGIN_HEADER
|
||||
* expressed as 16.16 fixed point value.
|
||||
*
|
||||
* @note:
|
||||
* The radius is expressed in the same units that the outline
|
||||
* The radius is expressed in the same units as the outline
|
||||
* coordinates.
|
||||
*/
|
||||
FT_EXPORT( void )
|
||||
@@ -305,10 +305,10 @@ FT_BEGIN_HEADER
|
||||
*
|
||||
* @note:
|
||||
* If `opened' is~0 (the default), the outline is treated as a closed
|
||||
* path, and the stroker will generate two distinct `border' outlines.
|
||||
* path, and the stroker generates two distinct `border' outlines.
|
||||
*
|
||||
* If `opened' is~1, the outline is processed as an open path, and the
|
||||
* stroker will generate a single `stroke' outline.
|
||||
* stroker generates a single `stroke' outline.
|
||||
*
|
||||
* This function calls @FT_Stroker_Rewind automatically.
|
||||
*/
|
||||
@@ -366,7 +366,7 @@ FT_BEGIN_HEADER
|
||||
*
|
||||
* @note:
|
||||
* You should call this function after @FT_Stroker_BeginSubPath.
|
||||
* If the subpath was not `opened', this function will `draw' a
|
||||
* If the subpath was not `opened', this function `draws' a
|
||||
* single line segment to the start position when needed.
|
||||
*/
|
||||
FT_EXPORT( FT_Error )
|
||||
@@ -476,7 +476,7 @@ FT_BEGIN_HEADER
|
||||
*
|
||||
* @description:
|
||||
* Call this function once you have finished parsing your paths
|
||||
* with the stroker. It will return the number of points and
|
||||
* with the stroker. It returns the number of points and
|
||||
* contours necessary to export one of the `border' or `stroke'
|
||||
* outlines generated by the stroker.
|
||||
*
|
||||
@@ -525,8 +525,8 @@ FT_BEGIN_HEADER
|
||||
* export the corresponding border to your own @FT_Outline
|
||||
* structure.
|
||||
*
|
||||
* Note that this function will append the border points and
|
||||
* contours to your outline, but will not try to resize its
|
||||
* Note that this function appends the border points and
|
||||
* contours to your outline, but does not try to resize its
|
||||
* arrays.
|
||||
*
|
||||
* @input:
|
||||
@@ -600,8 +600,8 @@ FT_BEGIN_HEADER
|
||||
* Call this function after @FT_Stroker_GetBorderCounts to
|
||||
* export the all borders to your own @FT_Outline structure.
|
||||
*
|
||||
* Note that this function will append the border points and
|
||||
* contours to your outline, but will not try to resize its
|
||||
* Note that this function appends the border points and
|
||||
* contours to your outline, but does not try to resize its
|
||||
* arrays.
|
||||
*
|
||||
* @input:
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
/* FreeType synthesizing code for emboldening and slanting */
|
||||
/* (specification). */
|
||||
/* */
|
||||
/* Copyright 2000-2001, 2003, 2006 by */
|
||||
/* Copyright 2000-2001, 2003, 2006, 2008 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
@@ -23,7 +23,7 @@
|
||||
/*************************************************************************/
|
||||
/*************************************************************************/
|
||||
/********* *********/
|
||||
/********* WARNING, THIS IS ALPHA CODE, THIS API *********/
|
||||
/********* WARNING, THIS IS ALPHA CODE! THIS API *********/
|
||||
/********* IS DUE TO CHANGE UNTIL STRICTLY NOTIFIED BY THE *********/
|
||||
/********* FREETYPE DEVELOPMENT TEAM *********/
|
||||
/********* *********/
|
||||
@@ -34,6 +34,13 @@
|
||||
/*************************************************************************/
|
||||
|
||||
|
||||
/* Main reason for not lifting the functions in this module to a */
|
||||
/* `standard' API is that the used parameters for emboldening and */
|
||||
/* slanting are not configurable. Consider the functions as a */
|
||||
/* code resource which should be copied into the application and */
|
||||
/* adapted to the particular needs. */
|
||||
|
||||
|
||||
#ifndef __FTSYNTH_H__
|
||||
#define __FTSYNTH_H__
|
||||
|
||||
@@ -50,20 +57,20 @@
|
||||
|
||||
FT_BEGIN_HEADER
|
||||
|
||||
/* Make sure slot owns slot->bitmap. */
|
||||
FT_EXPORT( FT_Error )
|
||||
FT_GlyphSlot_Own_Bitmap( FT_GlyphSlot slot );
|
||||
|
||||
/* Do not use this function directly! Copy the code to */
|
||||
/* your application and modify it to suit your need. */
|
||||
/* Embolden a glyph by a `reasonable' value (which is highly a matter of */
|
||||
/* taste). This function is actually a convenience function, providing */
|
||||
/* a wrapper for @FT_Outline_Embolden and @FT_Bitmap_Embolden. */
|
||||
/* */
|
||||
/* For emboldened outlines the metrics are estimates only; if you need */
|
||||
/* precise values you should call @FT_Outline_Get_CBox. */
|
||||
FT_EXPORT( void )
|
||||
FT_GlyphSlot_Embolden( FT_GlyphSlot slot );
|
||||
|
||||
|
||||
/* Slant an outline glyph to the right by about 12 degrees. */
|
||||
FT_EXPORT( void )
|
||||
FT_GlyphSlot_Oblique( FT_GlyphSlot slot );
|
||||
|
||||
/* */
|
||||
/* */
|
||||
|
||||
FT_END_HEADER
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
/* */
|
||||
/* Debugging and logging component (specification). */
|
||||
/* */
|
||||
/* Copyright 1996-2001, 2002, 2004, 2006, 2007, 2008 by */
|
||||
/* Copyright 1996-2001, 2002, 2004, 2006, 2007, 2008, 2009 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
@@ -92,7 +92,7 @@ FT_BEGIN_HEADER
|
||||
|
||||
#else /* !FT_DEBUG_LEVEL_TRACE */
|
||||
|
||||
#define FT_TRACE( level, varformat ) do ; while ( 0 ) /* nothing */
|
||||
#define FT_TRACE( level, varformat ) do { } while ( 0 ) /* nothing */
|
||||
|
||||
#endif /* !FT_DEBUG_LEVEL_TRACE */
|
||||
|
||||
@@ -178,7 +178,7 @@ FT_BEGIN_HEADER
|
||||
|
||||
#else /* !FT_DEBUG_LEVEL_ERROR */
|
||||
|
||||
#define FT_ERROR( varformat ) do ; while ( 0 ) /* nothing */
|
||||
#define FT_ERROR( varformat ) do { } while ( 0 ) /* nothing */
|
||||
|
||||
#endif /* !FT_DEBUG_LEVEL_ERROR */
|
||||
|
||||
@@ -201,7 +201,7 @@ FT_BEGIN_HEADER
|
||||
|
||||
#else /* !FT_DEBUG_LEVEL_ERROR */
|
||||
|
||||
#define FT_ASSERT( condition ) do ; while ( 0 )
|
||||
#define FT_ASSERT( condition ) do { } while ( 0 )
|
||||
|
||||
#endif /* !FT_DEBUG_LEVEL_ERROR */
|
||||
|
||||
|
||||
@@ -91,6 +91,7 @@ FT_BEGIN_HEADER
|
||||
(*FT_CharMap_CharNextFunc)( FT_CharMap charmap,
|
||||
FT_Long charcode );
|
||||
|
||||
|
||||
typedef FT_Error
|
||||
(*FT_Face_GetKerningFunc)( FT_Face face,
|
||||
FT_UInt left_glyph,
|
||||
@@ -104,11 +105,11 @@ FT_BEGIN_HEADER
|
||||
|
||||
|
||||
typedef FT_Error
|
||||
(*FT_Face_GetAdvancesFunc)( FT_Face face,
|
||||
FT_UInt first,
|
||||
FT_UInt count,
|
||||
FT_Bool vertical,
|
||||
FT_UShort* advances );
|
||||
(*FT_Face_GetAdvancesFunc)( FT_Face face,
|
||||
FT_UInt first,
|
||||
FT_UInt count,
|
||||
FT_Int32 flags,
|
||||
FT_Fixed* advances );
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
/* Auxiliary functions and data structures related to PostScript fonts */
|
||||
/* (specification). */
|
||||
/* */
|
||||
/* Copyright 1996-2001, 2002, 2003, 2004, 2006, 2008 by */
|
||||
/* Copyright 1996-2001, 2002, 2003, 2004, 2006, 2008, 2009 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
@@ -227,7 +227,11 @@ FT_BEGIN_HEADER
|
||||
FT_UInt array_max; /* maximal number of elements for */
|
||||
/* array */
|
||||
FT_UInt count_offset; /* offset of element count for */
|
||||
/* arrays */
|
||||
/* arrays; must not be zero if in */
|
||||
/* use -- in other words, a */
|
||||
/* `num_FOO' element must not */
|
||||
/* start the used structure if we */
|
||||
/* parse a `FOO' array */
|
||||
FT_UInt dict; /* where we expect it */
|
||||
} T1_FieldRec;
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
/* Copyright 2003 by */
|
||||
/* Masatake YAMATO, Redhat K.K. */
|
||||
/* */
|
||||
/* Copyright 2003 by */
|
||||
/* Copyright 2003, 2008 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
@@ -49,6 +49,13 @@ FT_BEGIN_HEADER
|
||||
/* The language ID used in Mac fonts. Definitions of values are in */
|
||||
/* freetype/ttnameid.h. */
|
||||
/* */
|
||||
/* format :: */
|
||||
/* The cmap format. OpenType 1.5 defines the formats 0 (byte */
|
||||
/* encoding table), 2~(high-byte mapping through table), 4~(segment */
|
||||
/* mapping to delta values), 6~(trimmed table mapping), 8~(mixed */
|
||||
/* 16-bit and 32-bit coverage), 10~(trimmed array), 12~(segmented */
|
||||
/* coverage), and 14 (Unicode Variation Sequences). */
|
||||
/* */
|
||||
typedef struct TT_CMapInfo_
|
||||
{
|
||||
FT_ULong language;
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
/* Basic Type1/Type2 type definitions and interface (specification */
|
||||
/* only). */
|
||||
/* */
|
||||
/* Copyright 1996-2001, 2002, 2003, 2004, 2006 by */
|
||||
/* Copyright 1996-2001, 2002, 2003, 2004, 2006, 2008 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
@@ -231,7 +231,9 @@ FT_BEGIN_HEADER
|
||||
void* psnames;
|
||||
void* psaux;
|
||||
CID_FaceInfoRec cid;
|
||||
#if 0
|
||||
void* afm_data;
|
||||
#endif
|
||||
CID_Subrs subrs;
|
||||
|
||||
/* since version 2.1 - interface to PostScript hinter */
|
||||
|
||||
@@ -78,6 +78,10 @@ FT_BEGIN_HEADER
|
||||
FT_Short underline_position;
|
||||
FT_UShort underline_thickness;
|
||||
|
||||
/* since 2.3.8 */
|
||||
|
||||
FT_UShort fs_type;
|
||||
|
||||
} PS_FontInfoRec;
|
||||
|
||||
|
||||
|
||||
@@ -835,16 +835,18 @@ FT_BEGIN_HEADER
|
||||
/* This is new in OpenType 1.3 */
|
||||
#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
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* Bit mask values for the Unicode Ranges from the TTF `OS2 ' table. */
|
||||
/* */
|
||||
/* Updated 02-Jul-2000. */
|
||||
/* Updated 08-Nov-2008. */
|
||||
/* */
|
||||
|
||||
/* General Scripts Area */
|
||||
|
||||
/* Bit 0 Basic Latin */
|
||||
#define TT_UCR_BASIC_LATIN (1L << 0) /* U+0020-U+007E */
|
||||
/* Bit 1 C1 Controls and Latin-1 Supplement */
|
||||
@@ -853,27 +855,44 @@ FT_BEGIN_HEADER
|
||||
#define TT_UCR_LATIN_EXTENDED_A (1L << 2) /* U+0100-U+017F */
|
||||
/* Bit 3 Latin Extended-B */
|
||||
#define TT_UCR_LATIN_EXTENDED_B (1L << 3) /* U+0180-U+024F */
|
||||
/* Bit 4 IPA Extensions */
|
||||
/* Bit 4 IPA Extensions */
|
||||
/* Phonetic Extensions */
|
||||
/* Phonetic Extensions Supplement */
|
||||
#define TT_UCR_IPA_EXTENSIONS (1L << 4) /* U+0250-U+02AF */
|
||||
/* U+1D00-U+1D7F */
|
||||
/* U+1D80-U+1DBF */
|
||||
/* Bit 5 Spacing Modifier Letters */
|
||||
/* Modifier Tone Letters */
|
||||
#define TT_UCR_SPACING_MODIFIER (1L << 5) /* U+02B0-U+02FF */
|
||||
/* Bit 6 Combining Diacritical Marks */
|
||||
/* U+A700-U+A71F */
|
||||
/* Bit 6 Combining Diacritical Marks */
|
||||
/* Combining Diacritical Marks Supplement */
|
||||
#define TT_UCR_COMBINING_DIACRITICS (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 */
|
||||
/* Bit 8 is reserved (was: Greek Symbols and Coptic) */
|
||||
/* Bit 9 Cyrillic + */
|
||||
/* Cyrillic Supplementary */
|
||||
/* Bit 8 Coptic */
|
||||
#define TT_UCR_COPTIC (1L << 8) /* U+2C80-U+2CFF */
|
||||
/* Bit 9 Cyrillic */
|
||||
/* Cyrillic Supplement */
|
||||
/* Cyrillic Extended-A */
|
||||
/* Cyrillic Extended-B */
|
||||
#define TT_UCR_CYRILLIC (1L << 9) /* U+0400-U+04FF */
|
||||
/* U+0500-U+052F */
|
||||
/* U+2DE0-U+2DFF */
|
||||
/* U+A640-U+A69F */
|
||||
/* Bit 10 Armenian */
|
||||
#define TT_UCR_ARMENIAN (1L << 10) /* U+0530-U+058F */
|
||||
/* Bit 11 Hebrew */
|
||||
#define TT_UCR_HEBREW (1L << 11) /* U+0590-U+05FF */
|
||||
/* Bit 12 is reserved (was: Hebrew Extended) */
|
||||
/* Bit 13 Arabic */
|
||||
/* Bit 12 Vai */
|
||||
#define TT_UCR_VAI (1L << 12) /* U+A500-U+A63F */
|
||||
/* Bit 13 Arabic */
|
||||
/* Arabic Supplement */
|
||||
#define TT_UCR_ARABIC (1L << 13) /* U+0600-U+06FF */
|
||||
/* Bit 14 is reserved (was: Arabic Extended) */
|
||||
/* U+0750-U+077F */
|
||||
/* Bit 14 NKo */
|
||||
#define TT_UCR_NKO (1L << 14) /* U+07C0-U+07FF */
|
||||
/* Bit 15 Devanagari */
|
||||
#define TT_UCR_DEVANAGARI (1L << 15) /* U+0900-U+097F */
|
||||
/* Bit 16 Bengali */
|
||||
@@ -896,20 +915,26 @@ FT_BEGIN_HEADER
|
||||
#define TT_UCR_THAI (1L << 24) /* U+0E00-U+0E7F */
|
||||
/* Bit 25 Lao */
|
||||
#define TT_UCR_LAO (1L << 25) /* U+0E80-U+0EFF */
|
||||
/* Bit 26 Georgian */
|
||||
/* Bit 26 Georgian */
|
||||
/* Georgian Supplement */
|
||||
#define TT_UCR_GEORGIAN (1L << 26) /* U+10A0-U+10FF */
|
||||
/* Bit 27 is reserved (was Georgian Extended) */
|
||||
/* U+2D00-U+2D2F */
|
||||
/* Bit 27 Balinese */
|
||||
#define TT_UCR_BALINESE (1L << 27) /* U+1B00-U+1B7F */
|
||||
/* Bit 28 Hangul Jamo */
|
||||
#define TT_UCR_HANGUL_JAMO (1L << 28) /* U+1100-U+11FF */
|
||||
/* Bit 29 Latin Extended Additional */
|
||||
/* Latin Extended-C */
|
||||
/* Latin Extended-D */
|
||||
#define TT_UCR_LATIN_EXTENDED_ADDITIONAL (1L << 29) /* U+1E00-U+1EFF */
|
||||
/* U+2C60-U+2C7F */
|
||||
/* U+A720-U+A7FF */
|
||||
/* Bit 30 Greek Extended */
|
||||
#define TT_UCR_GREEK_EXTENDED (1L << 30) /* U+1F00-U+1FFF */
|
||||
|
||||
/* Symbols Area */
|
||||
|
||||
/* Bit 31 General Punctuation */
|
||||
/* Bit 31 General Punctuation */
|
||||
/* Supplemental Punctuation */
|
||||
#define TT_UCR_GENERAL_PUNCTUATION (1L << 31) /* U+2000-U+206F */
|
||||
/* U+2E00-U+2E7F */
|
||||
/* Bit 32 Superscripts And Subscripts */
|
||||
#define TT_UCR_SUPERSCRIPTS_SUBSCRIPTS (1L << 0) /* U+2070-U+209F */
|
||||
/* Bit 33 Currency Symbols */
|
||||
@@ -920,16 +945,18 @@ FT_BEGIN_HEADER
|
||||
#define TT_UCR_LETTERLIKE_SYMBOLS (1L << 3) /* U+2100-U+214F */
|
||||
/* Bit 36 Number Forms */
|
||||
#define TT_UCR_NUMBER_FORMS (1L << 4) /* U+2150-U+218F */
|
||||
/* Bit 37 Arrows + */
|
||||
/* Supplemental Arrows-A + */
|
||||
/* Supplemental Arrows-B */
|
||||
/* Bit 37 Arrows */
|
||||
/* Supplemental Arrows-A */
|
||||
/* Supplemental Arrows-B */
|
||||
/* Miscellaneous Symbols and Arrows */
|
||||
#define TT_UCR_ARROWS (1L << 5) /* U+2190-U+21FF */
|
||||
/* U+27F0-U+27FF */
|
||||
/* U+2900-U+297F */
|
||||
/* Bit 38 Mathematical Operators + */
|
||||
/* Supplemental Mathematical Operators + */
|
||||
/* Miscellaneous Mathematical Symbols-A + */
|
||||
/* Miscellaneous Mathematical Symbols-B */
|
||||
/* U+2B00-U+2BFF */
|
||||
/* Bit 38 Mathematical Operators */
|
||||
/* Supplemental Mathematical Operators */
|
||||
/* Miscellaneous Mathematical Symbols-A */
|
||||
/* Miscellaneous Mathematical Symbols-B */
|
||||
#define TT_UCR_MATHEMATICAL_OPERATORS (1L << 6) /* U+2200-U+22FF */
|
||||
/* U+2A00-U+2AFF */
|
||||
/* U+27C0-U+27EF */
|
||||
@@ -952,60 +979,53 @@ FT_BEGIN_HEADER
|
||||
#define TT_UCR_MISCELLANEOUS_SYMBOLS (1L << 14) /* U+2600-U+26FF */
|
||||
/* Bit 47 Dingbats */
|
||||
#define TT_UCR_DINGBATS (1L << 15) /* U+2700-U+27BF */
|
||||
|
||||
/* CJK Phonetics and Symbols Area */
|
||||
|
||||
/* Bit 48 CJK Symbols and Punctuation */
|
||||
#define TT_UCR_CJK_SYMBOLS (1L << 16) /* U+3000-U+303F */
|
||||
/* Bit 49 Hiragana */
|
||||
#define TT_UCR_HIRAGANA (1L << 17) /* U+3040-U+309F */
|
||||
/* Bit 50 Katakana + */
|
||||
/* Katakana Phonetic Extensions */
|
||||
/* Bit 50 Katakana */
|
||||
/* Katakana Phonetic Extensions */
|
||||
#define TT_UCR_KATAKANA (1L << 18) /* U+30A0-U+30FF */
|
||||
/* U+31F0-U+31FF */
|
||||
/* Bit 51 Bopomofo + */
|
||||
/* Bopomofo Extended */
|
||||
/* Bit 51 Bopomofo */
|
||||
/* Bopomofo Extended */
|
||||
#define TT_UCR_BOPOMOFO (1L << 19) /* U+3100-U+312F */
|
||||
/* U+31A0-U+31BF */
|
||||
/* Bit 52 Hangul Compatibility Jamo */
|
||||
#define TT_UCR_HANGUL_COMPATIBILITY_JAMO (1L << 20) /* U+3130-U+318F */
|
||||
/* Bit 53 Kanbun */
|
||||
#define TT_UCR_CJK_MISC (1L << 21) /* U+3190-U+319F */
|
||||
#define TT_UCR_KANBUN TT_UCR_CJK_MISC
|
||||
/* Bit 53 Phags-Pa */
|
||||
#define TT_UCR_CJK_MISC (1L << 21) /* U+A840-U+A87F */
|
||||
#define TT_UCR_KANBUN TT_UCR_CJK_MISC /* deprecated */
|
||||
#define TT_UCR_PHAGSPA
|
||||
/* Bit 54 Enclosed CJK Letters and Months */
|
||||
#define TT_UCR_ENCLOSED_CJK_LETTERS_MONTHS (1L << 22) /* U+3200-U+32FF */
|
||||
/* Bit 55 CJK Compatibility */
|
||||
#define TT_UCR_CJK_COMPATIBILITY (1L << 23) /* U+3300-U+33FF */
|
||||
|
||||
/* Hangul Syllables Area */
|
||||
|
||||
/* Bit 56 Hangul */
|
||||
/* Bit 56 Hangul Syllables */
|
||||
#define TT_UCR_HANGUL (1L << 24) /* U+AC00-U+D7A3 */
|
||||
|
||||
/* Surrogates Area */
|
||||
|
||||
/* Bit 57 High Surrogates + */
|
||||
/* High Private Use Surrogates + */
|
||||
/* Low Surrogates */
|
||||
/* 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 */
|
||||
#define TT_UCR_SURROGATES (1L << 25) /* U+D800-U+DB7F */
|
||||
/* U+DB80-U+DBFF */
|
||||
/* U+DC00-U+DFFF */
|
||||
/* 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 */
|
||||
|
||||
/* Bit 58 is reserved for Unicode SubRanges */
|
||||
|
||||
/* CJK Ideographs Area */
|
||||
|
||||
/* Bit 59 CJK Unified Ideographs + */
|
||||
/* CJK Radicals Supplement + */
|
||||
/* Kangxi Radicals + */
|
||||
/* Ideographic Description Characters + */
|
||||
/* CJK Unified Ideographs Extension A */
|
||||
/* CJK Unified Ideographs Extension A + */
|
||||
/* CJK Unified Ideographs Extension B + */
|
||||
/* Kanbun */
|
||||
#define TT_UCR_NON_PLANE_0 TT_UCR_SURROGATES
|
||||
/* Bit 58 Phoenician */
|
||||
#define TT_UCR_PHOENICIAN (1L << 26) /*U+10900-U+1091F*/
|
||||
/* Bit 59 CJK Unified Ideographs */
|
||||
/* CJK Radicals Supplement */
|
||||
/* Kangxi Radicals */
|
||||
/* Ideographic Description Characters */
|
||||
/* CJK Unified Ideographs Extension A */
|
||||
/* CJK Unified Ideographs Extension B */
|
||||
/* Kanbun */
|
||||
#define TT_UCR_CJK_UNIFIED_IDEOGRAPHS (1L << 27) /* U+4E00-U+9FFF */
|
||||
/* U+2E80-U+2EFF */
|
||||
/* U+2F00-U+2FDF */
|
||||
@@ -1013,17 +1033,13 @@ FT_BEGIN_HEADER
|
||||
/* U+3400-U+4DB5 */
|
||||
/*U+20000-U+2A6DF*/
|
||||
/* U+3190-U+319F */
|
||||
|
||||
/* Private Use Area */
|
||||
|
||||
/* Bit 60 Private Use */
|
||||
#define TT_UCR_PRIVATE_USE (1L << 28) /* U+E000-U+F8FF */
|
||||
|
||||
/* Compatibility Area and Specials */
|
||||
|
||||
/* Bit 61 CJK Compatibility Ideographs + */
|
||||
/* CJK Compatibility Ideographs Supplement */
|
||||
#define TT_UCR_CJK_COMPATIBILITY_IDEOGRAPHS (1L << 29) /* U+F900-U+FAFF */
|
||||
/* Bit 61 CJK Strokes */
|
||||
/* CJK Compatibility Ideographs */
|
||||
/* CJK Compatibility Ideographs Supplement */
|
||||
#define TT_UCR_CJK_COMPATIBILITY_IDEOGRAPHS (1L << 29) /* U+31C0-U+31EF */
|
||||
/* U+F900-U+FAFF */
|
||||
/*U+2F800-U+2FA1F*/
|
||||
/* Bit 62 Alphabetic Presentation Forms */
|
||||
#define TT_UCR_ALPHABETIC_PRESENTATION_FORMS (1L << 30) /* U+FB00-U+FB4F */
|
||||
@@ -1031,8 +1047,10 @@ FT_BEGIN_HEADER
|
||||
#define TT_UCR_ARABIC_PRESENTATIONS_A (1L << 31) /* U+FB50-U+FDFF */
|
||||
/* Bit 64 Combining Half Marks */
|
||||
#define TT_UCR_COMBINING_HALF_MARKS (1L << 0) /* U+FE20-U+FE2F */
|
||||
/* Bit 65 CJK Compatibility Forms */
|
||||
#define TT_UCR_CJK_COMPATIBILITY_FORMS (1L << 1) /* U+FE30-U+FE4F */
|
||||
/* Bit 65 Vertical forms */
|
||||
/* CJK Compatibility Forms */
|
||||
#define TT_UCR_CJK_COMPATIBILITY_FORMS (1L << 1) /* U+FE10-U+FE1F */
|
||||
/* U+FE30-U+FE4F */
|
||||
/* Bit 66 Small Form Variants */
|
||||
#define TT_UCR_SMALL_FORM_VARIANTS (1L << 2) /* U+FE50-U+FE6F */
|
||||
/* Bit 67 Arabic Presentation Forms-B */
|
||||
@@ -1051,8 +1069,12 @@ FT_BEGIN_HEADER
|
||||
#define TT_UCR_SINHALA (1L << 9) /* U+0D80-U+0DFF */
|
||||
/* Bit 74 Myanmar */
|
||||
#define TT_UCR_MYANMAR (1L << 10) /* U+1000-U+109F */
|
||||
/* Bit 75 Ethiopic */
|
||||
/* Bit 75 Ethiopic */
|
||||
/* Ethiopic Supplement */
|
||||
/* Ethiopic Extended */
|
||||
#define TT_UCR_ETHIOPIC (1L << 11) /* U+1200-U+137F */
|
||||
/* U+1380-U+139F */
|
||||
/* U+2D80-U+2DDF */
|
||||
/* Bit 76 Cherokee */
|
||||
#define TT_UCR_CHEROKEE (1L << 12) /* U+13A0-U+13FF */
|
||||
/* Bit 77 Unified Canadian Aboriginal Syllabics */
|
||||
@@ -1061,20 +1083,22 @@ FT_BEGIN_HEADER
|
||||
#define TT_UCR_OGHAM (1L << 14) /* U+1680-U+169F */
|
||||
/* Bit 79 Runic */
|
||||
#define TT_UCR_RUNIC (1L << 15) /* U+16A0-U+16FF */
|
||||
/* Bit 80 Khmer */
|
||||
/* Bit 80 Khmer */
|
||||
/* Khmer Symbols */
|
||||
#define TT_UCR_KHMER (1L << 16) /* U+1780-U+17FF */
|
||||
/* U+19E0-U+19FF */
|
||||
/* Bit 81 Mongolian */
|
||||
#define TT_UCR_MONGOLIAN (1L << 17) /* U+1800-U+18AF */
|
||||
/* Bit 82 Braille Patterns */
|
||||
#define TT_UCR_BRAILLE (1L << 18) /* U+2800-U+28FF */
|
||||
/* Bit 83 Yi Syllables + */
|
||||
/* Yi Radicals */
|
||||
/* Bit 83 Yi Syllables */
|
||||
/* Yi Radicals */
|
||||
#define TT_UCR_YI (1L << 19) /* U+A000-U+A48F */
|
||||
/* U+A490-U+A4CF */
|
||||
/* Bit 84 Tagalog + */
|
||||
/* Hanunoo + */
|
||||
/* Buhid + */
|
||||
/* Tagbanwa */
|
||||
/* Bit 84 Tagalog */
|
||||
/* Hanunoo */
|
||||
/* Buhid */
|
||||
/* Tagbanwa */
|
||||
#define TT_UCR_PHILIPPINE (1L << 20) /* U+1700-U+171F */
|
||||
/* U+1720-U+173F */
|
||||
/* U+1740-U+175F */
|
||||
@@ -1085,20 +1109,97 @@ FT_BEGIN_HEADER
|
||||
#define TT_UCR_GOTHIC (1L << 22) /*U+10330-U+1034F*/
|
||||
/* Bit 87 Deseret */
|
||||
#define TT_UCR_DESERET (1L << 23) /*U+10400-U+1044F*/
|
||||
/* Bit 88 Byzantine Musical Symbols + */
|
||||
/* Musical Symbols */
|
||||
/* Bit 88 Byzantine Musical Symbols */
|
||||
/* Musical Symbols */
|
||||
/* Ancient Greek Musical Notation */
|
||||
#define TT_UCR_MUSICAL_SYMBOLS (1L << 24) /*U+1D000-U+1D0FF*/
|
||||
/*U+1D100-U+1D1FF*/
|
||||
/*U+1D200-U+1D24F*/
|
||||
/* Bit 89 Mathematical Alphanumeric Symbols */
|
||||
#define TT_UCR_MATH_ALPHANUMERIC_SYMBOLS (1L << 25) /*U+1D400-U+1D7FF*/
|
||||
/* Bit 90 Private Use (plane 15) + */
|
||||
/* Private Use (plane 16) */
|
||||
/* Bit 90 Private Use (plane 15) */
|
||||
/* Private Use (plane 16) */
|
||||
#define TT_UCR_PRIVATE_USE_SUPPLEMENTARY (1L << 26) /*U+F0000-U+FFFFD*/
|
||||
/*U+100000-U+10FFFD*/
|
||||
/* Bit 91 Variation Selectors */
|
||||
/* Bit 91 Variation Selectors */
|
||||
/* Variation Selectors Supplement */
|
||||
#define TT_UCR_VARIATION_SELECTORS (1L << 27) /* U+FE00-U+FE0F */
|
||||
/*U+E0100-U+E01EF*/
|
||||
/* Bit 92 Tags */
|
||||
#define TT_UCR_TAGS (1L << 28) /*U+E0000-U+E007F*/
|
||||
/* Bit 93 Limbu */
|
||||
#define TT_UCR_LIMBU (1L << 29) /* U+1900-U+194F */
|
||||
/* Bit 94 Tai Le */
|
||||
#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 */
|
||||
/* Bit 96 Buginese */
|
||||
#define TT_UCR_BUGINESE (1L << 0) /* U+1A00-U+1A1F */
|
||||
/* Bit 97 Glagolitic */
|
||||
#define TT_UCR_GLAGOLITIC (1L << 1) /* U+2C00-U+2C5F */
|
||||
/* Bit 98 Tifinagh */
|
||||
#define TT_UCR_TIFINAGH (1L << 2) /* U+2D30-U+2D7F */
|
||||
/* Bit 99 Yijing Hexagram Symbols */
|
||||
#define TT_UCR_YIJING (1L << 3) /* U+4DC0-U+4DFF */
|
||||
/* Bit 100 Syloti Nagri */
|
||||
#define TT_UCR_SYLOTI_NAGRI (1L << 4) /* U+A800-U+A82F */
|
||||
/* Bit 101 Linear B Syllabary */
|
||||
/* Linear B Ideograms */
|
||||
/* Aegean Numbers */
|
||||
#define TT_UCR_LINEAR_B (1L << 5) /*U+10000-U+1007F*/
|
||||
/*U+10080-U+100FF*/
|
||||
/*U+10100-U+1013F*/
|
||||
/* Bit 102 Ancient Greek Numbers */
|
||||
#define TT_UCR_ANCIENT_GREEK_NUMBERS (1L << 6) /*U+10140-U+1018F*/
|
||||
/* Bit 103 Ugaritic */
|
||||
#define TT_UCR_UGARITIC (1L << 7) /*U+10380-U+1039F*/
|
||||
/* Bit 104 Old Persian */
|
||||
#define TT_UCR_OLD_PERSIAN (1L << 8) /*U+103A0-U+103DF*/
|
||||
/* Bit 105 Shavian */
|
||||
#define TT_UCR_SHAVIAN (1L << 9) /*U+10450-U+1047F*/
|
||||
/* Bit 106 Osmanya */
|
||||
#define TT_UCR_OSMANYA (1L << 10) /*U+10480-U+104AF*/
|
||||
/* Bit 107 Cypriot Syllabary */
|
||||
#define TT_UCR_CYPRIOT_SYLLABARY (1L << 11) /*U+10800-U+1083F*/
|
||||
/* Bit 108 Kharoshthi */
|
||||
#define TT_UCR_KHAROSHTHI (1L << 12) /*U+10A00-U+10A5F*/
|
||||
/* Bit 109 Tai Xuan Jing Symbols */
|
||||
#define TT_UCR_TAI_XUAN_JING (1L << 13) /*U+1D300-U+1D35F*/
|
||||
/* Bit 110 Cuneiform */
|
||||
/* Cuneiform Numbers and Punctuation */
|
||||
#define TT_UCR_CUNEIFORM (1L << 14) /*U+12000-U+123FF*/
|
||||
/*U+12400-U+1247F*/
|
||||
/* Bit 111 Counting Rod Numerals */
|
||||
#define TT_UCR_COUNTING_ROD_NUMERALS (1L << 15) /*U+1D360-U+1D37F*/
|
||||
/* Bit 112 Sundanese */
|
||||
#define TT_UCR_SUNDANESE (1L << 16) /* U+1B80-U+1BBF */
|
||||
/* Bit 113 Lepcha */
|
||||
#define TT_UCR_LEPCHA (1L << 17) /* U+1C00-U+1C4F */
|
||||
/* Bit 114 Ol Chiki */
|
||||
#define TT_UCR_OL_CHIKI (1L << 18) /* U+1C50-U+1C7F */
|
||||
/* Bit 115 Saurashtra */
|
||||
#define TT_UCR_SAURASHTRA (1L << 19) /* U+A880-U+A8DF */
|
||||
/* Bit 116 Kayah Li */
|
||||
#define TT_UCR_KAYAH_LI (1L << 20) /* U+A900-U+A92F */
|
||||
/* Bit 117 Rejang */
|
||||
#define TT_UCR_REJANG (1L << 21) /* U+A930-U+A95F */
|
||||
/* Bit 118 Cham */
|
||||
#define TT_UCR_CHAM (1L << 22) /* U+AA00-U+AA5F */
|
||||
/* Bit 119 Ancient Symbols */
|
||||
#define TT_UCR_ANCIENT_SYMBOLS (1L << 23) /*U+10190-U+101CF*/
|
||||
/* Bit 120 Phaistos Disc */
|
||||
#define TT_UCR_PHAISTOS_DISC (1L << 24) /*U+101D0-U+101FF*/
|
||||
/* Bit 121 Carian */
|
||||
/* Lycian */
|
||||
/* Lydian */
|
||||
#define TT_UCR_OLD_ANATOLIAN (1L << 25) /*U+102A0-U+102DF*/
|
||||
/*U+10280-U+1029F*/
|
||||
/*U+10920-U+1093F*/
|
||||
/* Bit 122 Domino Tiles */
|
||||
/* Mahjong Tiles */
|
||||
#define TT_UCR_GAME_TILES (1L << 26) /*U+1F030-U+1F09F*/
|
||||
/*U+1F000-U+1F02F*/
|
||||
/* Bit 123-127 Reserved for process-internal usage */
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
/* */
|
||||
/* Tags for TrueType and OpenType tables (specification only). */
|
||||
/* */
|
||||
/* Copyright 1996-2001, 2004, 2005, 2007 by */
|
||||
/* Copyright 1996-2001, 2004, 2005, 2007, 2008 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
@@ -41,6 +41,7 @@ FT_BEGIN_HEADER
|
||||
#define TTAG_bloc FT_MAKE_TAG( 'b', 'l', 'o', 'c' )
|
||||
#define TTAG_bsln FT_MAKE_TAG( 'b', 's', 'l', 'n' )
|
||||
#define TTAG_CFF FT_MAKE_TAG( 'C', 'F', 'F', ' ' )
|
||||
#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' )
|
||||
#define TTAG_cvt FT_MAKE_TAG( 'c', 'v', 't', ' ' )
|
||||
@@ -49,6 +50,7 @@ FT_BEGIN_HEADER
|
||||
#define TTAG_EBLC FT_MAKE_TAG( 'E', 'B', 'L', 'C' )
|
||||
#define TTAG_EBSC FT_MAKE_TAG( 'E', 'B', 'S', 'C' )
|
||||
#define TTAG_feat FT_MAKE_TAG( 'f', 'e', 'a', 't' )
|
||||
#define TTAG_FOND FT_MAKE_TAG( 'F', 'O', 'N', 'D' )
|
||||
#define TTAG_fpgm FT_MAKE_TAG( 'f', 'p', 'g', 'm' )
|
||||
#define TTAG_fvar FT_MAKE_TAG( 'f', 'v', 'a', 'r' )
|
||||
#define TTAG_gasp FT_MAKE_TAG( 'g', 'a', 's', 'p' )
|
||||
@@ -67,6 +69,7 @@ FT_BEGIN_HEADER
|
||||
#define TTAG_lcar FT_MAKE_TAG( 'l', 'c', 'a', 'r' )
|
||||
#define TTAG_loca FT_MAKE_TAG( 'l', 'o', 'c', 'a' )
|
||||
#define TTAG_LTSH FT_MAKE_TAG( 'L', 'T', 'S', 'H' )
|
||||
#define TTAG_LWFN FT_MAKE_TAG( 'L', 'W', 'F', 'N' )
|
||||
#define TTAG_MATH FT_MAKE_TAG( 'M', 'A', 'T', 'H' )
|
||||
#define TTAG_maxp FT_MAKE_TAG( 'm', 'a', 'x', 'p' )
|
||||
#define TTAG_META FT_MAKE_TAG( 'M', 'E', 'T', 'A' )
|
||||
@@ -79,14 +82,18 @@ FT_BEGIN_HEADER
|
||||
#define TTAG_OS2 FT_MAKE_TAG( 'O', 'S', '/', '2' )
|
||||
#define TTAG_OTTO FT_MAKE_TAG( 'O', 'T', 'T', 'O' )
|
||||
#define TTAG_PCLT FT_MAKE_TAG( 'P', 'C', 'L', 'T' )
|
||||
#define TTAG_POST FT_MAKE_TAG( 'P', 'O', 'S', 'T' )
|
||||
#define TTAG_post FT_MAKE_TAG( 'p', 'o', 's', 't' )
|
||||
#define TTAG_prep FT_MAKE_TAG( 'p', 'r', 'e', 'p' )
|
||||
#define TTAG_prop FT_MAKE_TAG( 'p', 'r', 'o', 'p' )
|
||||
#define TTAG_sfnt FT_MAKE_TAG( 's', 'f', 'n', 't' )
|
||||
#define TTAG_SING FT_MAKE_TAG( 'S', 'I', 'N', 'G' )
|
||||
#define TTAG_trak FT_MAKE_TAG( 't', 'r', 'a', 'k' )
|
||||
#define TTAG_true FT_MAKE_TAG( 't', 'r', 'u', 'e' )
|
||||
#define TTAG_ttc FT_MAKE_TAG( 't', 't', 'c', ' ' )
|
||||
#define TTAG_ttcf FT_MAKE_TAG( 't', 't', 'c', 'f' )
|
||||
#define TTAG_TYP1 FT_MAKE_TAG( 'T', 'Y', 'P', '1' )
|
||||
#define TTAG_typ1 FT_MAKE_TAG( 't', 'y', 'p', '1' )
|
||||
#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' )
|
||||
|
||||
Reference in New Issue
Block a user