diff options
author | Werner Lemberg <wl@gnu.org> | 2018-06-03 22:00:42 +0200 |
---|---|---|
committer | Werner Lemberg <wl@gnu.org> | 2018-06-03 22:00:42 +0200 |
commit | f999375a9a834666f82928f9ad6293d9b25213a5 (patch) | |
tree | 2416528a574600ee96ea0ce9709143f5fc9d1d64 /include/freetype/tttables.h | |
parent | dc170dea33545dbbbf18bb59b316117e73275889 (diff) | |
download | freetype2-f999375a9a834666f82928f9ad6293d9b25213a5.tar.gz |
[GSoC] include/*.*, devel/*.*: Convert block comments to `light' style.
This second and final monster commit was created by applying Nikhil's
scripts `docconverter.py' and `markify.py' to all C header and source files,
followed up by minor manual clean-up.
No change in functionality, of course.
I used commit f7419907bc6044b9b7057f9789866426c804ba82 from
https://github.com/nikramakrishnan/freetype-docs.git.
Diffstat (limited to 'include/freetype/tttables.h')
-rw-r--r-- | include/freetype/tttables.h | 972 |
1 files changed, 514 insertions, 458 deletions
diff --git a/include/freetype/tttables.h b/include/freetype/tttables.h index ce6a61779..eac472d83 100644 --- a/include/freetype/tttables.h +++ b/include/freetype/tttables.h @@ -1,20 +1,20 @@ -/***************************************************************************/ -/* */ -/* tttables.h */ -/* */ -/* Basic SFNT/TrueType tables definitions and interface */ -/* (specification only). */ -/* */ -/* Copyright 1996-2018 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. */ -/* */ -/***************************************************************************/ +/**************************************************************************** + * + * tttables.h + * + * Basic SFNT/TrueType tables definitions and interface + * (specification only). + * + * Copyright 1996-2018 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 TTTABLES_H_ @@ -33,53 +33,53 @@ FT_BEGIN_HEADER - /*************************************************************************/ - /* */ - /* <Section> */ - /* truetype_tables */ - /* */ - /* <Title> */ - /* TrueType Tables */ - /* */ - /* <Abstract> */ - /* TrueType specific table types and functions. */ - /* */ - /* <Description> */ - /* This section contains definitions of some basic tables specific to */ - /* TrueType and OpenType as well as some routines used to access and */ - /* process them. */ - /* */ - /* <Order> */ - /* TT_Header */ - /* TT_HoriHeader */ - /* TT_VertHeader */ - /* TT_OS2 */ - /* TT_Postscript */ - /* TT_PCLT */ - /* TT_MaxProfile */ - /* */ - /* FT_Sfnt_Tag */ - /* FT_Get_Sfnt_Table */ - /* FT_Load_Sfnt_Table */ - /* FT_Sfnt_Table_Info */ - /* */ - /* FT_Get_CMap_Language_ID */ - /* FT_Get_CMap_Format */ - /* */ - /* FT_PARAM_TAG_UNPATENTED_HINTING */ - /* */ - /*************************************************************************/ - - - /*************************************************************************/ - /* */ - /* <Struct> */ - /* TT_Header */ - /* */ - /* <Description> */ - /* A structure to model a TrueType font header table. All fields */ - /* follow the OpenType specification. */ - /* */ + /************************************************************************** + * + * @Section: + * truetype_tables + * + * @Title: + * TrueType Tables + * + * @Abstract: + * TrueType specific table types and functions. + * + * @Description: + * This section contains definitions of some basic tables specific to + * TrueType and OpenType as well as some routines used to access and + * process them. + * + * @Order: + * TT_Header + * TT_HoriHeader + * TT_VertHeader + * TT_OS2 + * TT_Postscript + * TT_PCLT + * TT_MaxProfile + * + * FT_Sfnt_Tag + * FT_Get_Sfnt_Table + * FT_Load_Sfnt_Table + * FT_Sfnt_Table_Info + * + * FT_Get_CMap_Language_ID + * FT_Get_CMap_Format + * + * FT_PARAM_TAG_UNPATENTED_HINTING + * + */ + + + /************************************************************************** + * + * @Struct: + * TT_Header + * + * @Description: + * A structure to model a TrueType font header table. All fields + * follow the OpenType specification. + */ typedef struct TT_Header_ { FT_Fixed Table_Version; @@ -109,93 +109,109 @@ FT_BEGIN_HEADER } TT_Header; - /*************************************************************************/ - /* */ - /* <Struct> */ - /* TT_HoriHeader */ - /* */ - /* <Description> */ - /* A structure to model a TrueType horizontal header, the `hhea' */ - /* table, as well as the corresponding horizontal metrics table, */ - /* `hmtx'. */ - /* */ - /* <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. */ - /* */ - /* caret_Offset :: The cursor's offset for slanted fonts. */ - /* */ - /* 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> */ - /* For an OpenType variation font, the values of the following fields */ - /* can change after a call to @FT_Set_Var_Design_Coordinates (and */ - /* friends) if the font contains an `MVAR' table: `caret_Slope_Rise', */ - /* `caret_Slope_Run', and `caret_Offset'. */ - /* */ + /************************************************************************** + * + * @Struct: + * TT_HoriHeader + * + * @Description: + * A structure to model a TrueType horizontal header, the `hhea' + * table, as well as the corresponding horizontal metrics table, + * `hmtx'. + * + * @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. + * + * caret_Offset :: + * The cursor's offset for slanted fonts. + * + * 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: + * For an OpenType variation font, the values of the following fields + * can change after a call to @FT_Set_Var_Design_Coordinates (and + * friends) if the font contains an `MVAR' table: `caret_Slope_Rise', + * `caret_Slope_Run', and `caret_Offset'. + */ typedef struct TT_HoriHeader_ { FT_Fixed Version; @@ -227,97 +243,113 @@ FT_BEGIN_HEADER } 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, */ - /* `vmtx'. */ - /* */ - /* <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. */ - /* */ - /* Reserved :: 8~reserved bytes. */ - /* */ - /* metric_Data_Format :: Always~0. */ - /* */ - /* number_Of_VMetrics :: Number of VMetrics entries in the */ - /* `vmtx' table -- this value can be */ - /* smaller than the total number of glyphs */ - /* in the font. */ - /* */ - /* long_metrics :: A pointer into the `vmtx' table. */ - /* */ - /* short_metrics :: A pointer into the `vmtx' table. */ - /* */ - /* <Note> */ - /* For an OpenType variation font, the values of the following fields */ - /* can change after a call to @FT_Set_Var_Design_Coordinates (and */ - /* friends) if the font contains an `MVAR' table: `Ascender', */ - /* `Descender', `Line_Gap', `caret_Slope_Rise', `caret_Slope_Run', */ - /* and `caret_Offset'. */ - /* */ + /************************************************************************** + * + * @Struct: + * TT_VertHeader + * + * @Description: + * A structure used to model a TrueType vertical header, the `vhea' + * table, as well as the corresponding vertical metrics table, + * `vmtx'. + * + * @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. + * + * Reserved :: + * 8~reserved bytes. + * + * metric_Data_Format :: + * Always~0. + * + * number_Of_VMetrics :: + * Number of VMetrics entries in the + * `vmtx' table -- this value can be + * smaller than the total number of glyphs + * in the font. + * + * long_metrics :: + * A pointer into the `vmtx' table. + * + * short_metrics :: + * A pointer into the `vmtx' table. + * + * @Note: + * For an OpenType variation font, the values of the following fields + * can change after a call to @FT_Set_Var_Design_Coordinates (and + * friends) if the font contains an `MVAR' table: `Ascender', + * `Descender', `Line_Gap', `caret_Slope_Rise', `caret_Slope_Run', + * and `caret_Offset'. + */ typedef struct TT_VertHeader_ { FT_Fixed Version; @@ -349,33 +381,33 @@ FT_BEGIN_HEADER } TT_VertHeader; - /*************************************************************************/ - /* */ - /* <Struct> */ - /* TT_OS2 */ - /* */ - /* <Description> */ - /* A structure to model a TrueType `OS/2' table. All fields comply */ - /* to the OpenType specification. */ - /* */ - /* Note that we now support old Mac fonts that do not include an */ - /* `OS/2' table. In this case, the `version' field is always set to */ - /* 0xFFFF. */ - /* */ - /* <Note> */ - /* For an OpenType variation font, the values of the following fields */ - /* can change after a call to @FT_Set_Var_Design_Coordinates (and */ - /* friends) if the font contains an `MVAR' table: `sCapHeight', */ - /* `sTypoAscender', `sTypoDescender', `sTypoLineGap', `sxHeight', */ - /* `usWinAscent', `usWinDescent', `yStrikeoutPosition', */ - /* `yStrikeoutSize', `ySubscriptXOffset', `ySubScriptXSize', */ - /* `ySubscriptYOffset', `ySubscriptYSize', `ySuperscriptXOffset', */ - /* `ySuperscriptXSize', `ySuperscriptYOffset', and */ - /* `ySuperscriptYSize'. */ - /* */ - /* Possible values for bits in the `ulUnicodeRangeX' fields are given */ - /* by the @TT_UCR_XXX macros. */ - /* */ + /************************************************************************** + * + * @Struct: + * TT_OS2 + * + * @Description: + * A structure to model a TrueType `OS/2' table. All fields comply + * to the OpenType specification. + * + * Note that we now support old Mac fonts that do not include an + * `OS/2' table. In this case, the `version' field is always set to + * 0xFFFF. + * + * @Note: + * For an OpenType variation font, the values of the following fields + * can change after a call to @FT_Set_Var_Design_Coordinates (and + * friends) if the font contains an `MVAR' table: `sCapHeight', + * `sTypoAscender', `sTypoDescender', `sTypoLineGap', `sxHeight', + * `usWinAscent', `usWinDescent', `yStrikeoutPosition', + * `yStrikeoutSize', `ySubscriptXOffset', `ySubScriptXSize', + * `ySubscriptYOffset', `ySubscriptYSize', `ySuperscriptXOffset', + * `ySuperscriptXSize', `ySuperscriptYOffset', and + * `ySuperscriptYSize'. + * + * Possible values for bits in the `ulUnicodeRangeX' fields are given + * by the @TT_UCR_XXX macros. + */ typedef struct TT_OS2_ { @@ -435,23 +467,23 @@ FT_BEGIN_HEADER } TT_OS2; - /*************************************************************************/ - /* */ - /* <Struct> */ - /* TT_Postscript */ - /* */ - /* <Description> */ - /* A structure to model a TrueType `post' table. All fields comply */ - /* to the OpenType specification. This structure does not reference */ - /* a font's PostScript glyph names; use @FT_Get_Glyph_Name to */ - /* retrieve them. */ - /* */ - /* <Note> */ - /* For an OpenType variation font, the values of the following fields */ - /* can change after a call to @FT_Set_Var_Design_Coordinates (and */ - /* friends) if the font contains an `MVAR' table: `underlinePosition' */ - /* and `underlineThickness'. */ - /* */ + /************************************************************************** + * + * @Struct: + * TT_Postscript + * + * @Description: + * A structure to model a TrueType `post' table. All fields comply + * to the OpenType specification. This structure does not reference + * a font's PostScript glyph names; use @FT_Get_Glyph_Name to + * retrieve them. + * + * @Note: + * For an OpenType variation font, the values of the following fields + * can change after a call to @FT_Set_Var_Design_Coordinates (and + * friends) if the font contains an `MVAR' table: `underlinePosition' + * and `underlineThickness'. + */ typedef struct TT_Postscript_ { FT_Fixed FormatType; @@ -470,15 +502,15 @@ FT_BEGIN_HEADER } TT_Postscript; - /*************************************************************************/ - /* */ - /* <Struct> */ - /* TT_PCLT */ - /* */ - /* <Description> */ - /* A structure to model a TrueType `PCLT' table. All fields comply */ - /* to the OpenType specification. */ - /* */ + /************************************************************************** + * + * @Struct: + * TT_PCLT + * + * @Description: + * A structure to model a TrueType `PCLT' table. All fields comply + * to the OpenType specification. + */ typedef struct TT_PCLT_ { FT_Fixed Version; @@ -500,70 +532,85 @@ FT_BEGIN_HEADER } TT_PCLT; - /*************************************************************************/ - /* */ - /* <Struct> */ - /* TT_MaxProfile */ - /* */ - /* <Description> */ - /* The maximum profile (`maxp') table contains many max values, which */ - /* can be used to pre-allocate arrays for speeding up glyph loading */ - /* and hinting. */ - /* */ - /* <Fields> */ - /* version :: The version number. */ - /* */ - /* numGlyphs :: The number of glyphs in this TrueType */ - /* font. */ - /* */ - /* maxPoints :: The maximum number of points in a */ - /* non-composite TrueType glyph. See also */ - /* `maxCompositePoints'. */ - /* */ - /* maxContours :: The maximum number of contours in a */ - /* non-composite TrueType glyph. See also */ - /* `maxCompositeContours'. */ - /* */ - /* maxCompositePoints :: The maximum number of points in a */ - /* composite TrueType glyph. See also */ - /* `maxPoints'. */ - /* */ - /* maxCompositeContours :: The maximum number of contours in a */ - /* composite TrueType glyph. See also */ - /* `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. */ - /* */ + /************************************************************************** + * + * @Struct: + * TT_MaxProfile + * + * @Description: + * The maximum profile (`maxp') table contains many max values, which + * can be used to pre-allocate arrays for speeding up glyph loading + * and hinting. + * + * @Fields: + * version :: + * The version number. + * + * numGlyphs :: + * The number of glyphs in this TrueType + * font. + * + * maxPoints :: + * The maximum number of points in a + * non-composite TrueType glyph. See also + * `maxCompositePoints'. + * + * maxContours :: + * The maximum number of contours in a + * non-composite TrueType glyph. See also + * `maxCompositeContours'. + * + * maxCompositePoints :: + * The maximum number of points in a + * composite TrueType glyph. See also + * `maxPoints'. + * + * maxCompositeContours :: + * The maximum number of contours in a + * composite TrueType glyph. See also + * `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; @@ -585,31 +632,38 @@ FT_BEGIN_HEADER } TT_MaxProfile; - /*************************************************************************/ - /* */ - /* <Enum> */ - /* FT_Sfnt_Tag */ - /* */ - /* <Description> */ - /* An enumeration to specify indices of SFNT tables loaded and parsed */ - /* by FreeType during initialization of an SFNT font. Used in the */ - /* @FT_Get_Sfnt_Table API function. */ - /* */ - /* <Values> */ - /* FT_SFNT_HEAD :: To access the font's @TT_Header structure. */ - /* */ - /* FT_SFNT_MAXP :: To access the font's @TT_MaxProfile structure. */ - /* */ - /* FT_SFNT_OS2 :: To access the font's @TT_OS2 structure. */ - /* */ - /* FT_SFNT_HHEA :: To access the font's @TT_HoriHeader structure. */ - /* */ - /* FT_SFNT_VHEA :: To access the font's @TT_VertHeader structure. */ - /* */ - /* FT_SFNT_POST :: To access the font's @TT_Postscript structure. */ - /* */ - /* FT_SFNT_PCLT :: To access the font's @TT_PCLT structure. */ - /* */ + /************************************************************************** + * + * @Enum: + * FT_Sfnt_Tag + * + * @Description: + * An enumeration to specify indices of SFNT tables loaded and parsed + * by FreeType during initialization of an SFNT font. Used in the + * @FT_Get_Sfnt_Table API function. + * + * @Values: + * FT_SFNT_HEAD :: + * To access the font's @TT_Header structure. + * + * FT_SFNT_MAXP :: + * To access the font's @TT_MaxProfile structure. + * + * FT_SFNT_OS2 :: + * To access the font's @TT_OS2 structure. + * + * FT_SFNT_HHEA :: + * To access the font's @TT_HoriHeader structure. + * + * FT_SFNT_VHEA :: + * To access the font's @TT_VertHeader structure. + * + * FT_SFNT_POST :: + * To access the font's @TT_Postscript structure. + * + * FT_SFNT_PCLT :: + * To access the font's @TT_PCLT structure. + */ typedef enum FT_Sfnt_Tag_ { FT_SFNT_HEAD, @@ -635,44 +689,46 @@ FT_BEGIN_HEADER #define ft_sfnt_pclt FT_SFNT_PCLT - /*************************************************************************/ - /* */ - /* <Function> */ - /* FT_Get_Sfnt_Table */ - /* */ - /* <Description> */ - /* Return a pointer to a given SFNT table stored 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 NULL 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 ); */ - /* } */ - /* */ + /************************************************************************** + * + * @Function: + * FT_Get_Sfnt_Table + * + * @Description: + * Return a pointer to a given SFNT table stored 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 NULL 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 ); @@ -792,46 +848,46 @@ FT_BEGIN_HEADER FT_ULong *length ); - /*************************************************************************/ - /* */ - /* <Function> */ - /* FT_Get_CMap_Language_ID */ - /* */ - /* <Description> */ - /* Return cmap language ID as specified in the OpenType standard. */ - /* Definitions of language ID values are in file @FT_TRUETYPE_IDS_H. */ - /* */ - /* <Input> */ - /* charmap :: */ - /* The target charmap. */ - /* */ - /* <Return> */ - /* The language ID of `charmap'. If `charmap' doesn't belong to an */ - /* SFNT face, just return~0 as the default value. */ - /* */ - /* For a format~14 cmap (to access Unicode IVS), the return value is */ - /* 0xFFFFFFFF. */ - /* */ + /************************************************************************** + * + * @Function: + * FT_Get_CMap_Language_ID + * + * @Description: + * Return cmap language ID as specified in the OpenType standard. + * Definitions of language ID values are in file @FT_TRUETYPE_IDS_H. + * + * @Input: + * charmap :: + * The target charmap. + * + * @Return: + * The language ID of `charmap'. If `charmap' doesn't belong to an + * 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 the format of an SFNT `cmap' table. */ - /* */ - /* <Input> */ - /* charmap :: */ - /* The target charmap. */ - /* */ - /* <Return> */ - /* The format of `charmap'. If `charmap' doesn't belong to an SFNT */ - /* face, return -1. */ - /* */ + /************************************************************************** + * + * @Function: + * FT_Get_CMap_Format + * + * @Description: + * Return the format of an SFNT `cmap' table. + * + * @Input: + * charmap :: + * The target charmap. + * + * @Return: + * The format of `charmap'. If `charmap' doesn't belong to an SFNT + * face, return -1. + */ FT_EXPORT( FT_Long ) FT_Get_CMap_Format( FT_CharMap charmap ); |