📄 ft2-truetype_tables.html
字号:
<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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -