mmderiv.htm
来自「TrueType字库标准文档」· HTM 代码 · 共 95 行
HTM
95 行
<HTML>
<HEAD>
<TITLE>The 'MMMD' Table</TITLE>
<STYLE>
<!--
BODY {background: #FFFFFF; link: #000080}
H1 {font-size: 24pt; color: #c60029}
H2 {font-size: 18pt; color: black}
H3 {font-size: 16pt; color: black}
H4 {font-size: 14pt; color: black}
CAPTION {font-size: 16pt; font-weight: Bold}
A:link {text-decoration: none}
-->
</STYLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" LINK="#000080">
<TABLE WIDTH=480 CELLPADDING=8 CELLSPACING=0 BORDER=0>
<TR><TD><IMG WIDTH=100 HEIGHT=1 ALT="" SRC="/truetype/otspec/pixel.gif" BORDER=0></TD>
<TD><H1>Table Formats</H1></TD></TR>
<TR><TD></TD><TD ALIGN=TOP>
<H2>Multiple Master Metrics Derivation</H2>
<p>Some of the required an optional tables store metric
data of one kind or another but were designed before multiple master
fonts were developed and are therefore incapable of representing multiple master
metric values. Therefore, multiple master fonts store single values corresponding
to the default instance in these fields. The metric values for other instances can be derived
from data stored within the CFF, MMSD, and MMFX tables and supplied by the
font driver via the IFIMetrics structure. This derivation is described below.<BR>
<TABLE BGCOLOR="#F0F0F0" WIDTH="50%" BORDER=0 CELLPADDING=3>
<THEAD>
<TR><TH BGCOLOR="#C0C0C0">Existing field</TH><TH BGCOLOR="#C0C0C0">Derivable metric</TH></TR>
<TBODY>
<TR><TD>head.xMin</TD><TD>CFF.FontBBox[0]</TD></TR>
<TR><TD>head.yMin</TD><TD>CFF.FontBBox[1]</TD></TR>
<TR><TD>head.xMax</TD><TD>CFF.FontBBox[2]</TD></TR>
<TR><TD>head.yMax</TD><TD>CFF.FontBBox[3]</TD></TR>
<TR><TD>hhea.Ascender</TD><TD>MMFX.ascent</TD></TR>
<TR><TD>hhea.Descender</TD><TD>MMFX.descent</TD></TR>
<TR><TD>hhea.LineGap</TD><TD>MMFX.lineGap</TD></TR>
<TR><TD>hhea.advanceWidthMax</TD><TD>CFF.CharStrings</TD></TR>
<TR><TD>hhea.minLeftSideBearing</TD><TD>CFF.CharStrings</TD></TR>
<TR><TD>hhea.minRightSideBearing</TD><TD>CFF.CharStrings</TD></TR>
<TR><TD>hhea.xMaxExtent</TD><TD>CFF.CharStrings</TD></TR>
<TR><TD>hhea.caretSlopeRise</TD><TD>*1</TD></TR>
<TR><TD>hhea.caretSlopeRun</TD><TD>*1</TD></TR>
<TR><TD>hmtx.longHorMetrics</TD><TD>CFF.CharStrings</TD></TR>
<TR><TD>hmtx.leftSideBearing</TD><TD>CFF.CharStrings</TD></TR>
<TR><TD>OS/2.sTypoAscender</TD><TD>MMFX.ascent</TD></TR>
<TR><TD>OS/2.sTypoDescender</TD><TD>MMFX.descent</TD></TR>
<TR><TD>OS/2.sTypoLineGap</TD><TD>MMFX.lineGap</TD></TR>
<TR><TD>OS/2.usWinAscent</TD><TD>CFF.FontBBox[3]</TD></TR>
<TR><TD>OS/2.usWinDescent</TD><TD>CFF.FontBBox[1]</TD></TR>
<TR><TD>post.ItalicAngle</TD><TD>CFF.ItalicAngle</TD></TR>
<TR><TD>post.UnderlinePosition</TD><TD>CFF.UnderlinePosition</TD></TR>
<TR><TD>post.UnderlineThickness</TD><TD>CFF.UnderlineThickness</TD></TR>
</TABLE> <P>
*1)The caret slope rise and run are computed from
the interpreted CFF.ItalicAngle as follows:
<CODE><PRE>
if (CFF.ItalicAngle == 0)
{
hhea.caretSlopRise = 1;
hhea.caretSlopeRun = 0;
}
else
{
hhea.caretSlopeRise = 1000;
hhea.caretSlopeRun =
round(tan(CFF.ItalicAngle/57.2958) * 1000);
}
</CODE></PRE>
<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></TABLE>
</BODY>
</HTML>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?