📄 jstf.htm
字号:
<TR><TD VALIGN=TOP>0001</TD><TD VALIGN=TOP>1</TD><TD>JstfScriptCount<BR>JstfScriptRecord[0]</TD></TR>
<TR><TD VALIGN=TOP>74686169</TD><TD VALIGN=TOP>"thai"</TD><TD>JstfScriptTag</TD></TR>
<TR><TD VALIGN=TOP>000C</TD><TD VALIGN=TOP>ThaiScript</TD><TD>offset to JstfScript table</TD></TR></TABLE>
<H4>Example 2: JstfScript Table, ExtenderGlyph Table, JstfLangSysRecord, and JstfLangSys Table</H4>
<P>Example 2 shows a JstfScript table for the Arabic script and the tables it references. The DefJstfLangSys table defines justification data to apply to the script in the absence of language-specific information. In the example, the table lists two justification suggestions in priority order.
<P>JstfScript also supplies language-specific justification data for the Farsi language. The JstfLangSysRecord identifies the language and references its JstfLangSys table. The FarsiJstfLangSys lists one suggestion for justifying Farsi text.
<P>The ExtenderGlyph table in JstfScript lists the indices of all the extender glyphs used in the script.
<BR> <BR><FONT SIZE=5>Example 2</FONT>
<TABLE BGCOLOR="#F0F0F0" WIDTH=480 BORDER=0 CELLPADDING=3>
<THEAD>
<TR>
<TH BGCOLOR="#C0C0C0">Hex Data</TH>
<TH BGCOLOR="#C0C0C0">Source</TH>
<TH BGCOLOR="#C0C0C0">Comments</TH></TR>
</THEAD><TBODY>
<TR><TD VALIGN=TOP> </TD><TD VALIGN=TOP><STRONG>JstfScript</STRONG><BR>ArabicScript</TD><TD VALIGN=BOTTOM>JstfScript table definition</TD></TR>
<TR><TD VALIGN=TOP>000C</TD><TD VALIGN=TOP>ArabicExtenders</TD><TD>ExtenderGlyph</TD></TR>
<TR><TD VALIGN=TOP>0012</TD><TD VALIGN=TOP>ArabicDefJstfLangSys</TD><TD>offset to DefJstfLangSys table</TD></TR>
<TR><TD VALIGN=TOP>0001</TD><TD VALIGN=TOP>1</TD><TD>JstfLangSysCount<BR>JstfLangSysRecord[0]</TD></TR>
<TR><TD VALIGN=TOP>50455220</TD><TD VALIGN=TOP>"FAR "</TD><TD>JstfLangSysTag</TD></TR>
<TR><TD VALIGN=TOP>0018</TD><TD VALIGN=TOP>FarsiJstfLangSys</TD><TD>JstfLangSys<HR></TD></TR>
<TR><TD VALIGN=TOP> </TD><TD VALIGN=TOP><STRONG>ExtenderGlyph</STRONG><BR>ArabicExtenders</TD><TD VALIGN=BOTTOM>ExtenderGlyph table definition</TD></TR>
<TR><TD VALIGN=TOP>0002</TD><TD VALIGN=TOP>2</TD><TD>GlyphCount</TD></TR>
<TR><TD VALIGN=TOP>01D3</TD><TD VALIGN=TOP>TatweelGlyphID</TD><TD>ExtenderGlyph[0]</TD></TR>
<TR><TD VALIGN=TOP>01D4</TD><TD VALIGN=TOP>LongTatweelGlyphID</TD><TD>ExtenderGlyph[1]<HR></TD></TR>
<TR><TD VALIGN=TOP> </TD><TD VALIGN=TOP><STRONG>JstfLangSys</STRONG><BR>ArabicDefJstfLangSys</TD><TD VALIGN=BOTTOM>JstfLangSys table definition</TD></TR>
<TR><TD VALIGN=TOP>0002</TD><TD VALIGN=TOP>2</TD><TD>JstfPriorityCnt</TD></TR>
<TR><TD VALIGN=TOP>000A</TD><TD VALIGN=TOP>ArabicScriptJstfPriority1</TD><TD>offset to JstfPriority[0] table</TD></TR>
<TR><TD VALIGN=TOP>001E</TD><TD VALIGN=TOP>ArabicScriptJstfPriority2</TD><TD>offset to JstfPriority[1] table<HR></TD></TR>
<TR><TD VALIGN=TOP> </TD><TD VALIGN=TOP><STRONG>JstfLangSys</STRONG><BR>FarsiJstfLangSys</TD><TD VALIGN=BOTTOM>JstfLangSys table definition</TD></TR>
<TR><TD VALIGN=TOP>0001</TD><TD VALIGN=TOP>1</TD><TD>JstfPriorityCnt</TD></TR>
<TR><TD VALIGN=TOP>002C</TD><TD VALIGN=TOP>FarsiLangJstfPriority1</TD><TD>offset to JstfPriority[0] table</TD></TR></TABLE>
<H4>Example 3: JstfPriority Table, JstfGSUBModList Table, and JstfGPOSModList Table</H4>
<P>Example 3 shows the JstfPriority and JstfModList table definitions for two justification suggestions defined in priority order. The first suggestion uses ligature substitution to shrink the lengths of text lines, and it extends line lengths by replacing ligatures with their individual glyph components. Other lookup actions are not recommended at this priority level and are set to NULL. The associated JstfModList tables enable and disable three substitution lookups.
<P>The second suggestion enables glyph kerning to reduce line lenths and disables glyph kerning to extend line lengths. Each action uses three lookups. This suggestion also includes a JstfMax table to extend line lengths, called WordSpaceExpandMax, which is described in Example 4.
<BR> <BR><FONT SIZE=5>Example 3</FONT>
<TABLE BGCOLOR="#F0F0F0" WIDTH=480 BORDER=0 CELLPADDING=3><THEAD><TR>
<TH BGCOLOR="#C0C0C0">Hex Data</TH><TH BGCOLOR="#C0C0C0">Source</TH><TH BGCOLOR="#C0C0C0">Comments</TH></TR></THEAD>
<TBODY><TR><TD VALIGN=TOP> </TD><TD VALIGN=TOP><STRONG>JstfPriority</STRONG><BR>USEnglishFirstJstfPriority</TD><TD VALIGN=BOTTOM>JstfPriority table definition</TD></TR>
<TR><TD VALIGN=TOP>0028</TD><TD VALIGN=TOP>EnableGSUBLookupsToShrink</TD><TD>offset to ShrinkageEnableGSUB JstfGSUBModList table</TD></TR>
<TR><TD VALIGN=TOP>0000</TD><TD VALIGN=TOP>NULL</TD><TD>offset to ShrinkageDisableGSUB JstfGSUBModList table</TD></TR>
<TR><TD VALIGN=TOP>0000</TD><TD VALIGN=TOP>NULL</TD><TD>offset to ShrinkageEnableGPOS JstfGPOSModList table</TD></TR>
<TR><TD VALIGN=TOP>0000</TD><TD VALIGN=TOP>NULL</TD><TD>offset to ShrinkageDisableGPOS JstfGPOSModList table</TD></TR>
<TR><TD VALIGN=TOP>0000</TD><TD VALIGN=TOP>NULL</TD><TD>offset to Shrinkage JstfMax table</TD></TR>
<TR><TD VALIGN=TOP>0000</TD><TD VALIGN=TOP>NULL</TD><TD>offset to ExtensionEnableGSUB, JstfGSUBModList table</TD></TR>
<TR><TD VALIGN=TOP>0038</TD><TD VALIGN=TOP>DisableGSUBLookupsToExtend</TD><TD>offset to ExtensionDisableGSUB JstfGSUBModList table</TD></TR>
<TR><TD VALIGN=TOP>0000</TD><TD VALIGN=TOP>NULL</TD><TD>offset to ExtensionEnableGPOS JstfGPOSModList table</TD></TR>
<TR><TD VALIGN=TOP>0000</TD><TD VALIGN=TOP>NULL</TD><TD>offset to ExtensionDisableGPOS JstfGPOSModList table</TD></TR>
<TR><TD VALIGN=TOP>0000</TD><TD VALIGN=TOP>NULL</TD><TD>offset to Extension JstfMax table<HR></TD></TR>
<TR><TD VALIGN=TOP> </TD><TD VALIGN=TOP><STRONG>JstfPriority</STRONG><BR>USEnglishSecondJstfPriority</TD><TD VALIGN=BOTTOM>JstfPriority table definition</TD></TR>
<TR><TD VALIGN=TOP>0000</TD><TD VALIGN=TOP>NULL</TD><TD>offset to ShrinkageEnableGSUB JstfGSUBModList table</TD></TR>
<TR><TD VALIGN=TOP>0000</TD><TD VALIGN=TOP>NULL</TD><TD>offset to ShrinkageDisableGSUB JstfGSUBModList table</TD></TR>
<TR><TD VALIGN=TOP>0000</TD><TD VALIGN=TOP>NULL</TD><TD>offset to ShrinkageEnableGPOS JstfGPOSModList table</TD></TR>
<TR><TD VALIGN=TOP>001C</TD><TD VALIGN=TOP>DisableGPOSLookupsToShrink</TD><TD>offset to ShrinkageDisableGPOS JstfGPOSModList table</TD></TR>
<TR><TD VALIGN=TOP>0000</TD><TD VALIGN=TOP>NULL</TD><TD>offset to Shrinkage JstfMax table</TD></TR>
<TR><TD VALIGN=TOP>0000</TD><TD VALIGN=TOP>NULL</TD><TD>offset to ExtensionEnableGSUB JstfGSUBModList table</TD></TR>
<TR><TD VALIGN=TOP>0000</TD><TD VALIGN=TOP>NULL</TD><TD>offset to ExtensionDisableGSUB JstfGSUBModList table</TD></TR>
<TR><TD VALIGN=TOP>002C</TD><TD VALIGN=TOP>EnableGPOSLookupsToExtend</TD><TD>offset to ExtensionEnableGPOS JstfGPOSModList table</TD></TR>
<TR><TD VALIGN=TOP>0000</TD><TD VALIGN=TOP>NULL</TD><TD>offset to ExtensionDisableGPOS JstfGPOSModList table</TD></TR>
<TR><TD VALIGN=TOP>0000</TD><TD VALIGN=TOP>NULL</TD><TD>offset to Extension JstfMax table<HR></TD></TR>
<TR><TD VALIGN=TOP> </TD><TD VALIGN=TOP><STRONG>JstfGSUBModList</STRONG><BR>EnableGSUBLookupsToShrink</TD><TD VALIGN=BOTTOM>JstfGSUBModList table definition, enable three ligature substitution lookups</TD></TR>
<TR><TD VALIGN=TOP>0003</TD><TD VALIGN=TOP>3</TD><TD>LookupCount</TD></TR>
<TR><TD VALIGN=TOP>002E</TD><TD VALIGN=TOP>46</TD><TD>LookupIndex[0]</TD></TR>
<TR><TD VALIGN=TOP>0035</TD><TD VALIGN=TOP>53</TD><TD>LookupIndex[1]</TD></TR>
<TR><TD VALIGN=TOP>0063</TD><TD VALIGN=TOP>99</TD><TD>LookupIndex[2]<HR></TD></TR>
<TR><TD VALIGN=TOP> </TD><TD VALIGN=TOP><STRONG>JstfGPOSModList</STRONG><BR>DisableGPOSLookupsToShrink</TD><TD VALIGN=BOTTOM>JstfGPOSModList table definition, disable three tight kerning lookups</TD></TR>
<TR><TD VALIGN=TOP>0003</TD><TD VALIGN=TOP>3</TD><TD>LookupCount</TD></TR>
<TR><TD VALIGN=TOP>006C</TD><TD VALIGN=TOP>108</TD><TD>LookupIndex[0]</TD></TR>
<TR><TD VALIGN=TOP>006E</TD><TD VALIGN=TOP>110</TD><TD>LookupIndex[1]</TD></TR>
<TR><TD VALIGN=TOP>0070</TD><TD VALIGN=TOP>112</TD><TD>LookupIndex[2]<HR></TD></TR>
<TR><TD VALIGN=TOP> </TD><TD VALIGN=TOP><STRONG>JstfGSUBModList</STRONG><BR>DisableGSUBLookupsToExtend</TD><TD>JstfGSUBModList table definition, disable three ligature
substitution lookups</TD></TR>
<TR><TD VALIGN=TOP>0003</TD><TD VALIGN=TOP>3</TD><TD>LookupCount</TD></TR>
<TR><TD VALIGN=TOP>002E</TD><TD VALIGN=TOP>46</TD><TD>LookupIndex[0]</TD></TR>
<TR><TD VALIGN=TOP>0035</TD><TD VALIGN=TOP>53</TD><TD>LookupIndex[1]</TD></TR>
<TR><TD VALIGN=TOP>0063</TD><TD VALIGN=TOP>99</TD><TD>LookupIndex[2]<HR></TD></TR>
<TR><TD VALIGN=TOP> </TD><TD VALIGN=TOP><STRONG>JstfGPOSModList</STRONG><BR>EnableGPOSLookupsToExtend</TD><TD>JstfGPOSModList table definition enable three tight kerning lookups</TD></TR>
<TR><TD VALIGN=TOP>0003</TD><TD VALIGN=TOP>3</TD><TD>LookupCount</TD></TR>
<TR><TD VALIGN=TOP>006C</TD><TD VALIGN=TOP>108</TD><TD>LookupIndex[0]</TD></TR>
<TR><TD VALIGN=TOP>006E</TD><TD VALIGN=TOP>110</TD><TD>LookupIndex[1]</TD></TR>
<TR><TD VALIGN=TOP>0070</TD><TD VALIGN=TOP>112</TD><TD>LookupIndex[2]</TD></TR></TABLE>
<H4>Example 4: JstfMax Table</H4>
<P>The JstfMax table in Example 4 defines a lookup to expand the advance width of the word space glyph and extend line lengths. The lookup definition is identical to the SinglePos lookup type in the GPOS table although it is enabled only when justifying text. The ValueRecord in the WordSpaceExpand lookup subtable specifies an XAdvance adjustment of 360 units, which is the maximum value the font developer recommends for acceptable text rendering. The text-processing client may implement the lookup using any value between zero and the maximum.
<BR> <BR><FONT SIZE=5>Example 4</FONT>
<TABLE BGCOLOR="#F0F0F0" WIDTH=480 BORDER=0 CELLPADDING=3>
<THEAD><TR><TH BGCOLOR="#C0C0C0">Hex Data</TH><TH BGCOLOR="#C0C0C0">Source</TH><TH BGCOLOR="#C0C0C0">Comments</TH></TR></THEAD>
<TBODY><TR><TD VALIGN=TOP> </TD><TD VALIGN=TOP><STRONG>JstfMax</STRONG><BR>WordSpaceExpandMax</TD><TD VALIGN=BOTTOM>JstfMax table definition</TD></TR>
<TR><TD VALIGN=TOP>0001</TD><TD VALIGN=TOP>1</TD><TD>LookupCount</TD></TR>
<TR><TD VALIGN=TOP>0004</TD><TD VALIGN=TOP>WordSpaceExpandLookup</TD><TD>offset to Jstf Lookup[0] table<HR></TD></TR>
<TR><TD VALIGN=TOP> </TD><TD VALIGN=TOP><STRONG>Lookup</STRONG><BR>WordSpaceExpandLookup</TD><TD VALIGN=BOTTOM>Jstf Lookup table definition</TD></TR>
<TR><TD VALIGN=TOP>0001</TD><TD VALIGN=TOP>1</TD><TD>LookupType, SinglePos Lookup</TD></TR>
<TR><TD VALIGN=TOP>0000</TD><TD VALIGN=TOP>0x0000</TD><TD>LookupFlag</TD></TR>
<TR><TD VALIGN=TOP>0001</TD><TD VALIGN=TOP>1</TD><TD>SubTableCount</TD></TR>
<TR><TD VALIGN=TOP>0008</TD><TD VALIGN=TOP>WordSpaceExpandSubtable</TD><TD>offset to Subtable[0], SinglePos subtable<HR></TD></TR>
<TR><TD VALIGN=TOP> </TD><TD VALIGN=TOP><STRONG>SinglePosFormat1</STRONG><BR>WordSpaceExpandSubtable</TD><TD VALIGN=BOTTOM>SinglePos subtable definition</TD></TR>
<TR><TD VALIGN=TOP>0001</TD><TD VALIGN=TOP>1</TD><TD>PosFormat</TD></TR>
<TR><TD VALIGN=TOP>0008</TD><TD VALIGN=TOP>WordSpaceCoverage</TD><TD>offset to Coverage table</TD></TR>
<TR><TD VALIGN=TOP>0004</TD><TD VALIGN=TOP>0x0004</TD><TD>ValueFormat, XAdvance only</TD></TR>
<TR><TD VALIGN=TOP>0168</TD><TD VALIGN=TOP>360</TD><TD>Value XAdvance value in Jstf, this is a max value, expand word space from zero to this amount<HR></TD></TR>
<TR><TD VALIGN=TOP> </TD><TD VALIGN=TOP><STRONG>CoverageFormat1</STRONG><BR>WordSpaceCoverage</TD><TD VALIGN=BOTTOM>Coverage table definition</TD></TR>
<TR><TD VALIGN=TOP>0001</TD><TD VALIGN=TOP>1</TD><TD>CoverageFormat</TD></TR>
<TR><TD VALIGN=TOP>0001</TD><TD VALIGN=TOP>1</TD><TD>GlyphCount</TD></TR>
<TR><TD VALIGN=TOP>0022</TD><TD VALIGN=TOP>WordSpaceGlyphID</TD><TD>GlyphArray[0]</TD></TR>
</TABLE>
<br> <br>
<FONT FACE="Arial, Helvetica" SIZE=1>
Microsoft Typography Web Site <A HREF="/truetype/otspec/CPYRIGHT.htm">© 1996 Microsoft Corporation</A>
<BR>
Comments to the Microsoft Typography group: <A HREF="mailto:ttwsite@microsoft.com">ttwsite@microsoft.com</A>
<BR>
<A HREF="/truetype/default.htm">Home</a> | <a href="/truetype/creators.htm">Information for Developers</a>
<BR>
Last updated 05 September 1996
</FONT></TD></TR>
</TABLE>
</BODY>
</HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -