summaryrefslogtreecommitdiffstats
path: root/thirdparties/common/include/libfreetype/freetype2/freetype/tttables.h
diff options
context:
space:
mode:
Diffstat (limited to 'thirdparties/common/include/libfreetype/freetype2/freetype/tttables.h')
-rwxr-xr-xthirdparties/common/include/libfreetype/freetype2/freetype/tttables.h1094
1 files changed, 543 insertions, 551 deletions
diff --git a/thirdparties/common/include/libfreetype/freetype2/freetype/tttables.h b/thirdparties/common/include/libfreetype/freetype2/freetype/tttables.h
index fe07117..3bdfc45 100755
--- a/thirdparties/common/include/libfreetype/freetype2/freetype/tttables.h
+++ b/thirdparties/common/include/libfreetype/freetype2/freetype/tttables.h
@@ -33,35 +33,34 @@
FT_BEGIN_HEADER
- /*************************************************************************/
- /* */
- /* <Section> */
- /* truetype_tables */
- /* */
- /* <Title> */
- /* TrueType Tables */
- /* */
- /* <Abstract> */
- /* 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. */
- /* */
- /*************************************************************************/
-
-
- /*************************************************************************/
- /* */
- /* <Struct> */
- /* TT_Header */
- /* */
- /* <Description> */
- /* A structure used to model a TrueType font header table. All */
- /* fields follow the TrueType specification. */
- /* */
- typedef struct TT_Header_
- {
+/*************************************************************************/
+/* */
+/* <Section> */
+/* truetype_tables */
+/* */
+/* <Title> */
+/* TrueType Tables */
+/* */
+/* <Abstract> */
+/* 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. */
+/* */
+/*************************************************************************/
+
+
+/*************************************************************************/
+/* */
+/* <Struct> */
+/* TT_Header */
+/* */
+/* <Description> */
+/* A structure used to model a TrueType font header table. All */
+/* fields follow the TrueType specification. */
+/* */
+typedef struct TT_Header_ {
FT_Fixed Table_Version;
FT_Fixed Font_Revision;
@@ -86,99 +85,98 @@ FT_BEGIN_HEADER
FT_Short Index_To_Loc_Format;
FT_Short Glyph_Data_Format;
- } TT_Header;
-
-
- /*************************************************************************/
- /* */
- /* <Struct> */
- /* TT_HoriHeader */
- /* */
- /* <Description> */
- /* A structure used to model a TrueType horizontal header, the `hhea' */
- /* table, as well as the corresponding horizontal metrics table, */
- /* i.e., the `hmtx' table. */
- /* */
- /* <Fields> */
- /* Version :: The table version. */
- /* */
- /* Ascender :: The font's ascender, i.e., the distance */
- /* from the baseline to the top-most of all */
- /* glyph points found in the font. */
- /* */
- /* This value is invalid in many fonts, as */
- /* it is usually set by the font designer, */
- /* and often reflects only a portion of the */
- /* glyphs found in the font (maybe ASCII). */
- /* */
- /* You should use the `sTypoAscender' 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 bottom-most of */
- /* all glyph points found in the font. It */
- /* is negative. */
- /* */
- /* This value is invalid in many fonts, as */
- /* it is usually set by the font designer, */
- /* and often reflects only a portion of the */
- /* glyphs found in the font (maybe ASCII). */
- /* */
- /* You should use the `sTypoDescender' */
- /* 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 */
- /* get the BTB, i.e., the */
- /* baseline-to-baseline distance for the */
- /* font. */
- /* */
- /* advance_Width_Max :: This field is the maximum of all advance */
- /* widths found in the font. It can be */
- /* used to compute the maximum width of an */
- /* arbitrary string of text. */
- /* */
- /* min_Left_Side_Bearing :: The minimum left side bearing of all */
- /* glyphs within the font. */
- /* */
- /* min_Right_Side_Bearing :: The minimum right side bearing of all */
- /* glyphs within the font. */
- /* */
- /* xMax_Extent :: The maximum horizontal extent (i.e., the */
- /* `width' of a glyph's bounding box) for */
- /* all glyphs in the font. */
- /* */
- /* caret_Slope_Rise :: The rise coefficient of the cursor's */
- /* slope of the cursor (slope=rise/run). */
- /* */
- /* caret_Slope_Run :: The run coefficient of the cursor's */
- /* slope. */
- /* */
- /* Reserved :: 8~reserved bytes. */
- /* */
- /* metric_Data_Format :: Always~0. */
- /* */
- /* number_Of_HMetrics :: Number of HMetrics entries in the `hmtx' */
- /* table -- this value can be smaller than */
- /* the total number of glyphs in the font. */
- /* */
- /* long_metrics :: A pointer into the `hmtx' table. */
- /* */
- /* 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. */
- /* */
- typedef struct TT_HoriHeader_
- {
+} TT_Header;
+
+
+/*************************************************************************/
+/* */
+/* <Struct> */
+/* TT_HoriHeader */
+/* */
+/* <Description> */
+/* A structure used to model a TrueType horizontal header, the `hhea' */
+/* table, as well as the corresponding horizontal metrics table, */
+/* i.e., the `hmtx' table. */
+/* */
+/* <Fields> */
+/* Version :: The table version. */
+/* */
+/* Ascender :: The font's ascender, i.e., the distance */
+/* from the baseline to the top-most of all */
+/* glyph points found in the font. */
+/* */
+/* This value is invalid in many fonts, as */
+/* it is usually set by the font designer, */
+/* and often reflects only a portion of the */
+/* glyphs found in the font (maybe ASCII). */
+/* */
+/* You should use the `sTypoAscender' 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 bottom-most of */
+/* all glyph points found in the font. It */
+/* is negative. */
+/* */
+/* This value is invalid in many fonts, as */
+/* it is usually set by the font designer, */
+/* and often reflects only a portion of the */
+/* glyphs found in the font (maybe ASCII). */
+/* */
+/* You should use the `sTypoDescender' */
+/* 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 */
+/* get the BTB, i.e., the */
+/* baseline-to-baseline distance for the */
+/* font. */
+/* */
+/* advance_Width_Max :: This field is the maximum of all advance */
+/* widths found in the font. It can be */
+/* used to compute the maximum width of an */
+/* arbitrary string of text. */
+/* */
+/* min_Left_Side_Bearing :: The minimum left side bearing of all */
+/* glyphs within the font. */
+/* */
+/* min_Right_Side_Bearing :: The minimum right side bearing of all */
+/* glyphs within the font. */
+/* */
+/* xMax_Extent :: The maximum horizontal extent (i.e., the */
+/* `width' of a glyph's bounding box) for */
+/* all glyphs in the font. */
+/* */
+/* caret_Slope_Rise :: The rise coefficient of the cursor's */
+/* slope of the cursor (slope=rise/run). */
+/* */
+/* caret_Slope_Run :: The run coefficient of the cursor's */
+/* slope. */
+/* */
+/* Reserved :: 8~reserved bytes. */
+/* */
+/* metric_Data_Format :: Always~0. */
+/* */
+/* number_Of_HMetrics :: Number of HMetrics entries in the `hmtx' */
+/* table -- this value can be smaller than */
+/* the total number of glyphs in the font. */
+/* */
+/* long_metrics :: A pointer into the `hmtx' table. */
+/* */
+/* 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. */
+/* */
+typedef struct TT_HoriHeader_ {
FT_Fixed Version;
FT_Short Ascender;
FT_Short Descender;
@@ -205,106 +203,105 @@ FT_BEGIN_HEADER
void* long_metrics;
void* short_metrics;
- } TT_HoriHeader;
-
-
- /*************************************************************************/
- /* */
- /* <Struct> */
- /* TT_VertHeader */
- /* */
- /* <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. */
- /* */
- /* <Fields> */
- /* Version :: The table version. */
- /* */
- /* Ascender :: The font's ascender, i.e., the distance */
- /* from the baseline to the top-most of */
- /* all glyph points found in the font. */
- /* */
- /* This value is invalid in many fonts, as */
- /* it is usually set by the font designer, */
- /* and often reflects only a portion of */
- /* the glyphs found in the font (maybe */
- /* ASCII). */
- /* */
- /* You should use the `sTypoAscender' */
- /* 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 */
- /* bottom-most of all glyph points found */
- /* in the font. It is negative. */
- /* */
- /* This value is invalid in many fonts, as */
- /* it is usually set by the font designer, */
- /* and often reflects only a portion of */
- /* the glyphs found in the font (maybe */
- /* ASCII). */
- /* */
- /* You should use the `sTypoDescender' */
- /* 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 */
- /* get the BTB, i.e., the */
- /* baseline-to-baseline distance for the */
- /* font. */
- /* */
- /* advance_Height_Max :: This field is the maximum of all */
- /* advance heights found in the font. It */
- /* can be used to compute the maximum */
- /* height of an arbitrary string of text. */
- /* */
- /* min_Top_Side_Bearing :: The minimum top side bearing of all */
- /* glyphs within the font. */
- /* */
- /* min_Bottom_Side_Bearing :: The minimum bottom side bearing of all */
- /* glyphs within the font. */
- /* */
- /* yMax_Extent :: The maximum vertical extent (i.e., the */
- /* `height' of a glyph's bounding box) for */
- /* all glyphs in the font. */
- /* */
- /* caret_Slope_Rise :: The rise coefficient of the cursor's */
- /* slope of the cursor (slope=rise/run). */
- /* */
- /* caret_Slope_Run :: The run coefficient of the cursor's */
- /* 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 */
- /* `vmtx' table -- this value can be */
- /* smaller than the total number of glyphs */
- /* in the font. */
- /* */
- /* long_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. */
- /* */
- typedef struct TT_VertHeader_
- {
+} TT_HoriHeader;
+
+
+/*************************************************************************/
+/* */
+/* <Struct> */
+/* TT_VertHeader */
+/* */
+/* <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. */
+/* */
+/* <Fields> */
+/* Version :: The table version. */
+/* */
+/* Ascender :: The font's ascender, i.e., the distance */
+/* from the baseline to the top-most of */
+/* all glyph points found in the font. */
+/* */
+/* This value is invalid in many fonts, as */
+/* it is usually set by the font designer, */
+/* and often reflects only a portion of */
+/* the glyphs found in the font (maybe */
+/* ASCII). */
+/* */
+/* You should use the `sTypoAscender' */
+/* 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 */
+/* bottom-most of all glyph points found */
+/* in the font. It is negative. */
+/* */
+/* This value is invalid in many fonts, as */
+/* it is usually set by the font designer, */
+/* and often reflects only a portion of */
+/* the glyphs found in the font (maybe */
+/* ASCII). */
+/* */
+/* You should use the `sTypoDescender' */
+/* 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 */
+/* get the BTB, i.e., the */
+/* baseline-to-baseline distance for the */
+/* font. */
+/* */
+/* advance_Height_Max :: This field is the maximum of all */
+/* advance heights found in the font. It */
+/* can be used to compute the maximum */
+/* height of an arbitrary string of text. */
+/* */
+/* min_Top_Side_Bearing :: The minimum top side bearing of all */
+/* glyphs within the font. */
+/* */
+/* min_Bottom_Side_Bearing :: The minimum bottom side bearing of all */
+/* glyphs within the font. */
+/* */
+/* yMax_Extent :: The maximum vertical extent (i.e., the */
+/* `height' of a glyph's bounding box) for */
+/* all glyphs in the font. */
+/* */
+/* caret_Slope_Rise :: The rise coefficient of the cursor's */
+/* slope of the cursor (slope=rise/run). */
+/* */
+/* caret_Slope_Run :: The run coefficient of the cursor's */
+/* 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 */
+/* `vmtx' table -- this value can be */
+/* smaller than the total number of glyphs */
+/* in the font. */
+/* */
+/* long_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. */
+/* */
+typedef struct TT_VertHeader_ {
FT_Fixed Version;
FT_Short Ascender;
FT_Short Descender;
@@ -331,24 +328,23 @@ FT_BEGIN_HEADER
void* long_metrics;
void* short_metrics;
- } TT_VertHeader;
-
-
- /*************************************************************************/
- /* */
- /* <Struct> */
- /* TT_OS2 */
- /* */
- /* <Description> */
- /* A structure used to model a TrueType OS/2 table. This is the long */
- /* table version. All fields comply to the TrueType specification. */
- /* */
- /* Note that we now support old Mac fonts which do not include an */
- /* OS/2 table. In this case, the `version' field is always set to */
- /* 0xFFFF. */
- /* */
- typedef struct TT_OS2_
- {
+} TT_VertHeader;
+
+
+/*************************************************************************/
+/* */
+/* <Struct> */
+/* TT_OS2 */
+/* */
+/* <Description> */
+/* A structure used to model a TrueType OS/2 table. This is the long */
+/* table version. All fields comply to the TrueType specification. */
+/* */
+/* Note that we now support old Mac fonts which do not include an */
+/* OS/2 table. In this case, the `version' field is always set to */
+/* 0xFFFF. */
+/* */
+typedef struct TT_OS2_ {
FT_UShort version; /* 0x0001 - more or 0xFFFF */
FT_Short xAvgCharWidth;
FT_UShort usWeightClass;
@@ -397,22 +393,21 @@ FT_BEGIN_HEADER
FT_UShort usBreakChar;
FT_UShort usMaxContext;
- } TT_OS2;
-
-
- /*************************************************************************/
- /* */
- /* <Struct> */
- /* 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. */
- /* */
- typedef struct TT_Postscript_
- {
+} TT_OS2;
+
+
+/*************************************************************************/
+/* */
+/* <Struct> */
+/* 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. */
+/* */
+typedef struct TT_Postscript_ {
FT_Fixed FormatType;
FT_Fixed italicAngle;
FT_Short underlinePosition;
@@ -426,20 +421,19 @@ FT_BEGIN_HEADER
/* Glyph names follow in the file, but we don't */
/* load them by default. See the ttpost.c file. */
- } TT_Postscript;
+} TT_Postscript;
- /*************************************************************************/
- /* */
- /* <Struct> */
- /* TT_PCLT */
- /* */
- /* <Description> */
- /* A structure used to model a TrueType PCLT table. All fields */
- /* comply to the TrueType specification. */
- /* */
- typedef struct TT_PCLT_
- {
+/*************************************************************************/
+/* */
+/* <Struct> */
+/* TT_PCLT */
+/* */
+/* <Description> */
+/* A structure used to model a TrueType PCLT table. All fields */
+/* comply to the TrueType specification. */
+/* */
+typedef struct TT_PCLT_ {
FT_Fixed Version;
FT_ULong FontNumber;
FT_UShort Pitch;
@@ -456,77 +450,76 @@ FT_BEGIN_HEADER
FT_Byte SerifStyle;
FT_Byte Reserved;
- } TT_PCLT;
-
-
- /*************************************************************************/
- /* */
- /* <Struct> */
- /* 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. */
- /* */
- /* <Fields> */
- /* version :: The version number. */
- /* */
- /* numGlyphs :: The number of glyphs in this TrueType */
- /* font. */
- /* */
- /* 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'. */
- /* */
- /* maxCompositeContours :: The maximum number of contours in a */
- /* composite TrueType glyph. See also the */
- /* structure element `maxContours'. */
- /* */
- /* maxZones :: The maximum number of zones used for */
- /* glyph hinting. */
- /* */
- /* maxTwilightPoints :: The maximum number of points in the */
- /* twilight zone used for glyph hinting. */
- /* */
- /* maxStorage :: The maximum number of elements in the */
- /* storage area used for glyph hinting. */
- /* */
- /* maxFunctionDefs :: The maximum number of function */
- /* definitions in the TrueType bytecode for */
- /* this font. */
- /* */
- /* maxInstructionDefs :: The maximum number of instruction */
- /* definitions in the TrueType bytecode for */
- /* this font. */
- /* */
- /* maxStackElements :: The maximum number of stack elements used */
- /* during bytecode interpretation. */
- /* */
- /* maxSizeOfInstructions :: The maximum number of TrueType opcodes */
- /* used for glyph hinting. */
- /* */
- /* maxComponentElements :: The maximum number of simple (i.e., non- */
- /* composite) glyphs in a composite glyph. */
- /* */
- /* maxComponentDepth :: The maximum nesting depth of composite */
- /* glyphs. */
- /* */
- /* <Note> */
- /* This structure is only used during font loading. */
- /* */
- typedef struct TT_MaxProfile_
- {
+} TT_PCLT;
+
+
+/*************************************************************************/
+/* */
+/* <Struct> */
+/* 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. */
+/* */
+/* <Fields> */
+/* version :: The version number. */
+/* */
+/* numGlyphs :: The number of glyphs in this TrueType */
+/* font. */
+/* */
+/* 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'. */
+/* */
+/* maxCompositeContours :: The maximum number of contours in a */
+/* composite TrueType glyph. See also the */
+/* structure element `maxContours'. */
+/* */
+/* maxZones :: The maximum number of zones used for */
+/* glyph hinting. */
+/* */
+/* maxTwilightPoints :: The maximum number of points in the */
+/* twilight zone used for glyph hinting. */
+/* */
+/* maxStorage :: The maximum number of elements in the */
+/* storage area used for glyph hinting. */
+/* */
+/* maxFunctionDefs :: The maximum number of function */
+/* definitions in the TrueType bytecode for */
+/* this font. */
+/* */
+/* maxInstructionDefs :: The maximum number of instruction */
+/* definitions in the TrueType bytecode for */
+/* this font. */
+/* */
+/* maxStackElements :: The maximum number of stack elements used */
+/* during bytecode interpretation. */
+/* */
+/* maxSizeOfInstructions :: The maximum number of TrueType opcodes */
+/* used for glyph hinting. */
+/* */
+/* maxComponentElements :: The maximum number of simple (i.e., non- */
+/* composite) glyphs in a composite glyph. */
+/* */
+/* maxComponentDepth :: The maximum nesting depth of composite */
+/* glyphs. */
+/* */
+/* <Note> */
+/* This structure is only used during font loading. */
+/* */
+typedef struct TT_MaxProfile_ {
FT_Fixed version;
FT_UShort numGlyphs;
FT_UShort maxPoints;
@@ -543,20 +536,19 @@ FT_BEGIN_HEADER
FT_UShort maxComponentElements;
FT_UShort maxComponentDepth;
- } TT_MaxProfile;
+} TT_MaxProfile;
- /*************************************************************************/
- /* */
- /* <Enum> */
- /* FT_Sfnt_Tag */
- /* */
- /* <Description> */
- /* An enumeration used to specify the index of an SFNT table. */
- /* Used in the @FT_Get_Sfnt_Table API function. */
- /* */
- typedef enum FT_Sfnt_Tag_
- {
+/*************************************************************************/
+/* */
+/* <Enum> */
+/* FT_Sfnt_Tag */
+/* */
+/* <Description> */
+/* An enumeration used to specify the index of an SFNT table. */
+/* Used in the @FT_Get_Sfnt_Table API function. */
+/* */
+typedef enum FT_Sfnt_Tag_ {
ft_sfnt_head = 0, /* TT_Header */
ft_sfnt_maxp = 1, /* TT_MaxProfile */
ft_sfnt_os2 = 2, /* TT_OS2 */
@@ -567,206 +559,206 @@ FT_BEGIN_HEADER
sfnt_max /* internal end mark */
- } FT_Sfnt_Tag;
-
- /* */
-
-
- /*************************************************************************/
- /* */
- /* <Function> */
- /* FT_Get_Sfnt_Table */
- /* */
- /* <Description> */
- /* Return a pointer to a given SFNT table within a face. */
- /* */
- /* <Input> */
- /* face :: A handle to the source. */
- /* */
- /* tag :: The index of the SFNT table. */
- /* */
- /* <Return> */
- /* A type-less pointer to the table. This will be~0 in case of */
- /* error, or if the corresponding table was not found *OR* loaded */
- /* from the file. */
- /* */
- /* Use a typecast according to `tag' to access the structure */
- /* elements. */
- /* */
- /* <Note> */
- /* The table is owned by the face object and disappears with it. */
- /* */
- /* This function is only useful to access SFNT tables that are loaded */
- /* by the sfnt, truetype, and opentype drivers. See @FT_Sfnt_Tag for */
- /* a list. */
- /* */
- /* Here an example how to access the `vhea' table: */
- /* */
- /* { */
- /* TT_VertHeader* vert_header; */
- /* */
- /* */
- /* vert_header = */
- /* (TT_VertHeader*)FT_Get_Sfnt_Table( face, ft_sfnt_vhea ); */
- /* } */
- /* */
- FT_EXPORT( void* )
- FT_Get_Sfnt_Table( FT_Face face,
- 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 ... }
- * }
- */
- FT_EXPORT( FT_Error )
- FT_Load_Sfnt_Table( FT_Face face,
- FT_ULong tag,
- FT_Long offset,
- FT_Byte* buffer,
- 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.
- *
- */
- FT_EXPORT( FT_Error )
- FT_Sfnt_Table_Info( FT_Face face,
- FT_UInt table_index,
- FT_ULong *tag,
- FT_ULong *length );
-
-
- /*************************************************************************/
- /* */
- /* <Function> */
- /* FT_Get_CMap_Language_ID */
- /* */
- /* <Description> */
- /* Return TrueType/sfnt specific cmap language ID. Definitions of */
- /* language ID values are in `freetype/ttnameid.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. */
- /* */
- /* For a format~14 cmap (to access Unicode IVS), the return value is */
- /* 0xFFFFFFFF. */
- /* */
- FT_EXPORT( FT_ULong )
- FT_Get_CMap_Language_ID( FT_CharMap charmap );
-
-
- /*************************************************************************/
- /* */
- /* <Function> */
- /* FT_Get_CMap_Format */
- /* */
- /* <Description> */
- /* Return TrueType/sfnt specific cmap format. */
- /* */
- /* <Input> */
- /* charmap :: */
- /* The target charmap. */
- /* */
- /* <Return> */
- /* The format of `charmap'. If `charmap' doesn't belong to a */
- /* TrueType/sfnt face, return -1. */
- /* */
- FT_EXPORT( FT_Long )
- FT_Get_CMap_Format( FT_CharMap charmap );
-
- /* */
+} FT_Sfnt_Tag;
+
+/* */
+
+
+/*************************************************************************/
+/* */
+/* <Function> */
+/* FT_Get_Sfnt_Table */
+/* */
+/* <Description> */
+/* Return a pointer to a given SFNT table within a face. */
+/* */
+/* <Input> */
+/* face :: A handle to the source. */
+/* */
+/* tag :: The index of the SFNT table. */
+/* */
+/* <Return> */
+/* A type-less pointer to the table. This will be~0 in case of */
+/* error, or if the corresponding table was not found *OR* loaded */
+/* from the file. */
+/* */
+/* Use a typecast according to `tag' to access the structure */
+/* elements. */
+/* */
+/* <Note> */
+/* The table is owned by the face object and disappears with it. */
+/* */
+/* This function is only useful to access SFNT tables that are loaded */
+/* by the sfnt, truetype, and opentype drivers. See @FT_Sfnt_Tag for */
+/* a list. */
+/* */
+/* Here an example how to access the `vhea' table: */
+/* */
+/* { */
+/* TT_VertHeader* vert_header; */
+/* */
+/* */
+/* vert_header = */
+/* (TT_VertHeader*)FT_Get_Sfnt_Table( face, ft_sfnt_vhea ); */
+/* } */
+/* */
+FT_EXPORT( void* )
+FT_Get_Sfnt_Table( FT_Face face,
+ 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 ... }
+ * }
+ */
+FT_EXPORT( FT_Error )
+FT_Load_Sfnt_Table( FT_Face face,
+ FT_ULong tag,
+ FT_Long offset,
+ FT_Byte* buffer,
+ 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.
+ *
+ */
+FT_EXPORT( FT_Error )
+FT_Sfnt_Table_Info( FT_Face face,
+ FT_UInt table_index,
+ FT_ULong *tag,
+ FT_ULong *length );
+
+
+/*************************************************************************/
+/* */
+/* <Function> */
+/* FT_Get_CMap_Language_ID */
+/* */
+/* <Description> */
+/* Return TrueType/sfnt specific cmap language ID. Definitions of */
+/* language ID values are in `freetype/ttnameid.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. */
+/* */
+/* For a format~14 cmap (to access Unicode IVS), the return value is */
+/* 0xFFFFFFFF. */
+/* */
+FT_EXPORT( FT_ULong )
+FT_Get_CMap_Language_ID( FT_CharMap charmap );
+
+
+/*************************************************************************/
+/* */
+/* <Function> */
+/* FT_Get_CMap_Format */
+/* */
+/* <Description> */
+/* Return TrueType/sfnt specific cmap format. */
+/* */
+/* <Input> */
+/* charmap :: */
+/* The target charmap. */
+/* */
+/* <Return> */
+/* The format of `charmap'. If `charmap' doesn't belong to a */
+/* TrueType/sfnt face, return -1. */
+/* */
+FT_EXPORT( FT_Long )
+FT_Get_CMap_Format( FT_CharMap charmap );
+
+/* */
FT_END_HEADER
OpenPOWER on IntegriCloud