ft2-truetype_tables.html

来自「嵌入式freetype库的应用文档包含freetype的简要说明和应用examp」· HTML 代码 · 共 673 行 · 第 1/3 页

HTML
673
字号
<tr valign=top><td><b>Ascender</b></td><td><p>The font's ascender, i.e., the distance from the baseline to the top-most of all glyph points found in the font.</p><p>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).</p><p>You should use the `sTypoAscender' field of the OS/2 table instead if you want the correct one.</p></td></tr><tr valign=top><td><b>Descender</b></td><td><p>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.</p><p>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).</p><p>You should use the `sTypoDescender' field of the OS/2 table instead if you want the correct one.</p></td></tr><tr valign=top><td><b>Line_Gap</b></td><td><p>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.</p></td></tr><tr valign=top><td><b>advance_Height_Max</b></td><td><p>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.</p></td></tr><tr valign=top><td><b>min_Top_Side_Bearing</b></td><td><p>The minimum top side bearing of all glyphs within the font.</p></td></tr><tr valign=top><td><b>min_Bottom_Side_Bearing</b></td><td><p>The minimum bottom side bearing of all glyphs within the font.</p></td></tr><tr valign=top><td><b>yMax_Extent</b></td><td><p>The maximum vertical extent (i.e., the `height' of a glyph's bounding box) for all glyphs in the font.</p></td></tr><tr valign=top><td><b>caret_Slope_Rise</b></td><td><p>The rise coefficient of the cursor's slope of the cursor (slope=rise/run).</p></td></tr><tr valign=top><td><b>caret_Slope_Run</b></td><td><p>The run coefficient of the cursor's slope.</p></td></tr><tr valign=top><td><b>caret_Offset</b></td><td><p>The cursor's offset for slanted fonts. This value is `reserved' in vmtx version 1.0.</p></td></tr><tr valign=top><td><b>Reserved</b></td><td><p>8 reserved bytes.</p></td></tr><tr valign=top><td><b>metric_Data_Format</b></td><td><p>Always 0.</p></td></tr><tr valign=top><td><b>number_Of_HMetrics</b></td><td><p>Number of VMetrics entries in the `vmtx' table -- this value can be smaller than the total number of glyphs in the font.</p></td></tr><tr valign=top><td><b>long_metrics</b></td><td><p>A pointer into the `vmtx' table.</p></td></tr><tr valign=top><td><b>short_metrics</b></td><td><p>A pointer into the `vmtx' table.</p></td></tr></table></td></tr></table><table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td><p>IMPORTANT: The TT_HoriHeader and TT_VertHeader structures should be identical except for the names of their fields which are different.</p><p>This ensures that a single function in the `ttload' module is able to read both the horizontal and vertical headers.</p></td></tr></table></td></tr></table><hr width="75%"><table align=center width="75%"><tr><td><h4><a name="TT_OS2">TT_OS2</a></h4><table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>  <span class="keyword">typedef</span> <span class="keyword">struct</span>  TT_OS2_  {    <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  version;                /* 0x0001 - more or 0xFFFF */    <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   xAvgCharWidth;    <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  usWeightClass;    <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  usWidthClass;    <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   fsType;    <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   ySubscriptXSize;    <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   ySubscriptYSize;    <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   ySubscriptXOffset;    <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   ySubscriptYOffset;    <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   ySuperscriptXSize;    <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   ySuperscriptYSize;    <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   ySuperscriptXOffset;    <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   ySuperscriptYOffset;    <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   yStrikeoutSize;    <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   yStrikeoutPosition;    <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   sFamilyClass;    <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a>    panose[10];    <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a>   ulUnicodeRange1;        /* Bits 0-31   */    <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a>   ulUnicodeRange2;        /* Bits 32-63  */    <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a>   ulUnicodeRange3;        /* Bits 64-95  */    <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a>   ulUnicodeRange4;        /* Bits 96-127 */    <a href="ft2-basic_types.html#FT_Char">FT_Char</a>    achVendID[4];    <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  fsSelection;    <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  usFirstCharIndex;    <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  usLastCharIndex;    <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   sTypoAscender;    <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   sTypoDescender;    <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   sTypoLineGap;    <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  usWinAscent;    <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  usWinDescent;    /* only version 1 tables: */    <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a>   ulCodePageRange1;       /* Bits 0-31   */    <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a>   ulCodePageRange2;       /* Bits 32-63  */    /* only version 2 tables: */    <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   sxHeight;    <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   sCapHeight;    <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  usDefaultChar;    <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  usBreakChar;    <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  usMaxContext;  } <b>TT_OS2</b>;</pre></table><br><table align=center width="87%"><tr><td><p>A structure used to model a TrueType OS/2 table. This is the long table version. All fields comply to the TrueType specification.</p><p>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.</p></td></tr></table><br></td></tr></table><hr width="75%"><table align=center width="75%"><tr><td><h4><a name="TT_Postscript">TT_Postscript</a></h4><table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>  <span class="keyword">typedef</span> <span class="keyword">struct</span>  TT_Postscript_  {    <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a>  FormatType;    <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a>  italicAngle;    <a href="ft2-basic_types.html#FT_Short">FT_Short</a>  underlinePosition;    <a href="ft2-basic_types.html#FT_Short">FT_Short</a>  underlineThickness;    <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a>  isFixedPitch;    <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a>  minMemType42;    <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a>  maxMemType42;    <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a>  minMemType1;    <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a>  maxMemType1;    /* Glyph names follow in the file, but we don't   */    /* load them by default.  See the ttpost.c file.  */  } <b>TT_Postscript</b>;</pre></table><br><table align=center width="87%"><tr><td><p>A structure used to model a TrueType Postscript table. All fields comply to the TrueType table. This structure does not reference the Postscript glyph names, which can be nevertheless accessed with the `ttpost' module.</p></td></tr></table><br></td></tr></table><hr width="75%"><table align=center width="75%"><tr><td><h4><a name="TT_PCLT">TT_PCLT</a></h4><table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>  <span class="keyword">typedef</span> <span class="keyword">struct</span>  TT_PCLT_  {    <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a>   Version;    <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a>   FontNumber;    <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  Pitch;    <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  xHeight;    <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  Style;    <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  TypeFamily;    <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  CapHeight;    <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  SymbolSet;    <a href="ft2-basic_types.html#FT_Char">FT_Char</a>    TypeFace[16];    <a href="ft2-basic_types.html#FT_Char">FT_Char</a>    CharacterComplement[8];    <a href="ft2-basic_types.html#FT_Char">FT_Char</a>    FileName[6];    <a href="ft2-basic_types.html#FT_Char">FT_Char</a>    StrokeWeight;    <a href="ft2-basic_types.html#FT_Char">FT_Char</a>    WidthType;    <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a>    SerifStyle;    <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a>    Reserved;  } <b>TT_PCLT</b>;</pre></table><br><table align=center width="87%"><tr><td><p>A structure used to model a TrueType PCLT table. All fields comply to the TrueType table.</p></td></tr></table><br></td></tr></table><hr width="75%"><table align=center width="75%"><tr><td><h4><a name="TT_MaxProfile">TT_MaxProfile</a></h4><table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>  <span class="keyword">typedef</span> <span class="keyword">struct</span>  TT_MaxProfile_  {    <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a>   version;    <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  numGlyphs;    <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  maxPoints;    <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  maxContours;    <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  maxCompositePoints;    <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  maxCompositeContours;    <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  maxZones;    <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  maxTwilightPoints;    <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  maxStorage;    <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  maxFunctionDefs;    <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  maxInstructionDefs;    <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  maxStackElements;    <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  maxSizeOfInstructions;    <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  maxComponentElements;    <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  maxComponentDepth;  } <b>TT_MaxProfile</b>;</pre></table><br><table align=center width="87%"><tr><td><p>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.</p></td></tr></table><br><table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>fields</b></em></td></tr><tr><td><table cellpadding=3><tr valign=top><td><b>version</b></td><td><p>The version number.</p></td></tr><tr valign=top><td><b>numGlyphs</b></td><td><p>The number of glyphs in this TrueType font.</p></td></tr><tr valign=top><td><b>maxPoints</b></td><td><p>The maximum number of points in a non-composite TrueType glyph. See also the structure element `maxCompositePoints'.</p></td></tr><tr valign=top><td><b>maxContours</b></td><td><p>The maximum number of contours in a non-composite TrueType glyph. See also the structure element `maxCompositeContours'.</p></td></tr><tr valign=top><td><b>maxCompositePoints</b></td><td><p>The maximum number of points in a composite TrueType glyph. See also the structure element `maxPoints'.</p></td></tr><tr valign=top><td><b>maxCompositeContours</b></td><td><p>The maximum number of contours in a composite TrueType glyph. See also the structure element `maxContours'.</p></td></tr><tr valign=top><td><b>maxZones</b></td><td><p>The maximum number of zones used for glyph hinting.</p></td></tr><tr valign=top><td><b>maxTwilightPoints</b></td><td>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?