<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=iso-2022-jp"><meta name=Generator content="Microsoft Word 14 (filtered medium)"><!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><style><!--
/* Font Definitions */
@font-face
        {font-family:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
        {font-family:PMingLiU;
        panose-1:2 2 5 0 0 0 0 0 0 0;}
@font-face
        {font-family:MingLiU;
        panose-1:2 2 5 9 0 0 0 0 0 0;}
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:Verdana;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}
@font-face
        {font-family:"\@PMingLiU";
        panose-1:2 2 5 0 0 0 0 0 0 0;}
@font-face
        {font-family:"\@MingLiU";
        panose-1:2 2 5 9 0 0 0 0 0 0;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"PMingLiU","serif";
        mso-fareast-language:ZH-TW;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p
        {mso-style-priority:99;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"PMingLiU","serif";
        mso-fareast-language:ZH-TW;}
code
        {mso-style-priority:99;
        font-family:"Courier New";}
pre
        {mso-style-priority:99;
        mso-style-link:"HTML Preformatted Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:MingLiU;
        mso-fareast-language:ZH-TW;}
tt
        {mso-style-priority:99;
        font-family:MingLiU;}
span.left
        {mso-style-name:left;}
span.bld
        {mso-style-name:bld;}
p.ad, li.ad, div.ad
        {mso-style-name:ad;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"PMingLiU","serif";
        mso-fareast-language:ZH-TW;}
p.ad1, li.ad1, div.ad1
        {mso-style-name:ad1;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"PMingLiU","serif";
        mso-fareast-language:ZH-TW;}
p.ad2, li.ad2, div.ad2
        {mso-style-name:ad2;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"PMingLiU","serif";
        mso-fareast-language:ZH-TW;}
p.ad3, li.ad3, div.ad3
        {mso-style-name:ad3;
        mso-margin-top-alt:auto;
        margin-right:0in;
        margin-bottom:6.0pt;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"PMingLiU","serif";
        mso-fareast-language:ZH-TW;}
span.HTMLPreformattedChar
        {mso-style-name:"HTML Preformatted Char";
        mso-style-priority:99;
        mso-style-link:"HTML Preformatted";
        font-family:Consolas;
        mso-fareast-language:ZH-TW;}
p.replbq, li.replbq, div.replbq
        {mso-style-name:replbq;
        margin:2.4pt;
        font-size:12.0pt;
        font-family:"PMingLiU","serif";
        mso-fareast-language:ZH-TW;}
span.yshortcuts
        {mso-style-name:yshortcuts;}
p.ad4, li.ad4, div.ad4
        {mso-style-name:ad4;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"PMingLiU","serif";
        mso-fareast-language:ZH-TW;}
p.ad5, li.ad5, div.ad5
        {mso-style-name:ad5;
        mso-margin-top-alt:auto;
        margin-right:0in;
        margin-bottom:6.0pt;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"PMingLiU","serif";
        mso-fareast-language:ZH-TW;}
p.ad6, li.ad6, div.ad6
        {mso-style-name:ad6;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"PMingLiU","serif";
        mso-fareast-language:ZH-TW;}
span.yshortcuts1
        {mso-style-name:yshortcuts1;
        font-family:"Verdana","sans-serif";
        font-weight:bold;}
span.yshortcuts2
        {mso-style-name:yshortcuts2;
        font-family:"Verdana","sans-serif";
        font-weight:normal;}
span.EmailStyle35
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page Section1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.Section1
        {page:Section1;}
/* List Definitions */
@list l0
        {mso-list-id:882055423;
        mso-list-template-ids:1683103744;}
@list l0:level1
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l0:level2
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:1.0in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:"Courier New";
        mso-bidi-font-family:"Times New Roman";}
@list l0:level3
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:1.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l0:level4
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:2.0in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l0:level5
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:2.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l0:level6
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:3.0in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l0:level7
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:3.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l0:level8
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:4.0in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l0:level9
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:4.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
ol
        {margin-bottom:0in;}
ul
        {margin-bottom:0in;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body bgcolor=white lang=EN-US link=blue vlink=purple><div class=Section1><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Hi Daan,<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>I support the idea of allowing a full glyph transformation matrix to be specified. This will provide a general solution without the need to introduce additional values in the future.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Just to let everyone know, I will be on vacation starting tomorrow until September 19<sup>th</sup>. When I get back, I plan to work closely with the ad hoc group on making sure there is a draft format specification in time for the next MPEG meeting in October.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Best regards,<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Mikhail Leonov<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Microsoft<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><div><div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in'><p class=MsoNormal><b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span></b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'> mpeg-OTspec@yahoogroups.com [mailto:mpeg-OTspec@yahoogroups.com] <b>On Behalf Of </b>Daniel Strebe<br><b>Sent:</b> Monday, August 31, 2009 12:38 PM<br><b>To:</b> Karsten Luecke; mpeg-OTspec@yahoogroups.com<br><b>Subject:</b> Re: [mpeg-OTspec] Toward a Composite Font format specification<o:p></o:p></span></p></div></div><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>  <o:p></o:p></p><div id=ygrp-mlmsg><div id=ygrp-msg><div id=ygrp-text><p style='margin-bottom:12.0pt'><span style='font-size:11.0pt;font-family:"Calibri","sans-serif"'><br>Karsten & colleagues,<br><br>In order to achieve the effect of magnifying the glyph without affecting the associated metrics, one would need to apply Karsten$B!G(Bs proposed tracking on both sides of the glyph. That$B!G(Bs feasible, but it makes me worry about how the font machinery ends up reporting metrics to the client and how the client interprets those metrics. Something reported to the client as tracking will cause behavioral changes in the client that are specific to the client, particularly at line starts and ends and in distribution of excess whitespace.<br><br>As I consider this proposed magnification, I realize it would be better to have a full linear transformation matrix that may be applied uniformly to a component font. This allows for </span><span lang=ZH-TW style='font-size:11.0pt'>$B<PBN(B</span><span style='font-size:11.0pt;font-family:"Calibri","sans-serif"'> (shatai), the technique in phototypesetting of interposing a lens, generally tilted with respect to the beam, between the projector and the film. This is fairly common in CJK layout and also has precedence in Western typography. It can approximate italicization or effectively change slant angle in order to better match component fonts. In this case there is no longer any specific notion of $B!H(Bcenter-based$B!I(B; the entire glyph gets magnified, sheared, translated, and rotated in one operation as referred to the glyph origin. For center-based typography, the adjustment would be made in the translation component of the matrix.<br><br>Until now we have considered scaling with metrics, and magnification independent of metrics. Perhaps we should break the problem apart differently. Perhaps we should apply a transformation matrix to the glyph, and a separate x/y scaling to the metrics. In this way we can eliminate any conflict, confusion, or compounding of scaling of the glyph itself, provide for all cases considered, and avoid special cases for ideographic fonts.<br><br>Regards,<br><br>— daan Strebe<br>Senior Computer Scientist<br>Adobe Systems Incorporated<br><br><br>On 09/08/26 3:11, "Karsten Luecke" <<a href="karstenluecke@yahoo.de">karstenluecke@yahoo.de</a>> wrote:</span><o:p></o:p></p><blockquote style='margin-top:5.0pt;margin-bottom:5.0pt'><p class=MsoNormal style='margin-bottom:12.0pt'><span style='font-size:11.0pt;font-family:"Calibri","sans-serif"'><br> <br> <br><br>So as I understand Mr Strebe's and Mr Lunde's descriptions, there should be:<br> -- ScaleFactorX/ScaleFactorY<br> (scaling everying including all metrics)<br> -- CompressFactorX/CompressFactorY<br> (compressing outlines but no other metrics)<br>I would then omit uniform counterparts ScaleFactor and CompressFactor<br>since the same can be expressed with -X and -Y ones.<br><br>However, I wonder if the latter is not too CJK-specific. As far as I<br>see, the effect of CompressFactorX can be achieved as well by<br>ScaleFactorX + tracking, and CompressFactorY by ScaleFactorY + leading.<br>Because IF CompressFactorX/CompressFactorY is available, why not also<br>use CompressFactorX/CompressFactorY in combination with<br>ScaleFactorX/ScaleFactorY with Latin script fonts, to achieve a tracking<br>effect. This however might have odd effects on mark positioning: Imagine<br>that CompressFactorX "scales" a glyph with respect to its center while<br>not adjusting its width, but since this does not affect other metrics<br>like mark attachment points defined in GPOS, the mark position will be off.<br><br>Weren't it easier to introduce an additional TrackingX factor so that<br>via ScaleFactorX plus TrackingX you achieve the desired effect of<br>CompressFactorX? And via ScaleFactorY plus BaselineAdjustment you<br>achieve the desired effect of CompressFactorY?<br><br>This just "for consideration". I have not thought through it in detail.<br><br>Best wishes,<br>Karsten<br><br>Ken Lunde wrote:<br>> daan,<br>> <br>> I consider InDesign's Composite Font functionality to be near or at  <br>> the high end of the typographic spectrum, in terms of such typographic  <br>> attributes, so if these attributes in this Composite Font  <br>> specification are equivalent to what InDesign supports, I think it is  <br>> safe to assume that we're in a good position.<br>> <br>> Like you, I'd like to know if anyone else has any additional details  <br>> that could help with this discussion.<br>> <br>> Regards...<br>> <br>> -- Ken<br>> <br>> On 2009/08/25, at 17:08, Daniel Strebe wrote:<br>> <br>>> Thanks, Ken.<br>>><br>>> Anyone else? Any conceivable use case for square advance widths in a  <br>>> non-square design space?<br>>><br>>> I don$B!G(Bt like to advocate limiting what people can do. Still,  <br>>> everything we allow in manipulating component fonts costs  <br>>> engineering and testing time in clients, discouraging their interest  <br>>> in implementing the facility. Without examples of such fonts or even  <br>>> use cases for such fonts, I$B!G(Bm leery of incorporating the  <br>>> functionality. Also, I think a uniform magnification pared with  <br>>> independently specifiable x/y scalings might perhaps help people  <br>>> keep the semantics distinct in their own minds when creating recipes.<br>>><br>>> I do not think my arguments carry much weight; if anyone could come  <br>>> up with a hypothetical reason someone might need asymmetric  <br>>> magnification then I would favor adding semantics for it in the  <br>>> grammar.<br>>><br>>> Regards,<br>>><br>>> — daan Strebe<br>>> Senior Computer Scientist<br>>> Adobe Systems Incorporated<br>>><br>>><br>>> On 09/08/25 14:57, "Ken Lunde" <<a href="lunde@adobe.com">lunde@adobe.com</a> <<a href="mailto:lunde%40adobe.com">mailto:lunde%40adobe.com</a>> > wrote:<br>>><br>>> daan,<br>>><br>>> There are non-square designs, but their horizontal and vertical<br>>> advances match the extent to which they are non-square. In other<br>>> words, their horizontal and vertical advances are uniform, but not the<br>>> same for both axes.<br>>><br>>> Newspaper fonts in Japan are compressed along the Y-axis. Those in<br>>> China, because horizontal is the official writing direction, are<br>>> compressed along the X-axis. AXIS, a type foundry in Japan, released<br>>> condensed and compressed versions of their AXIS family, which have<br>>> compression done along the X-axis. This allows more glyphs to fit into<br>>> a fixed area, and seems very suited for use on mobile devices.<br>>><br>>> Anyway, what I have described are fonts that have been designed using<br>>> a non-square design space.<br>>><br>>> Regards...<br>>><br>>> -- Ken<br>>><br>>> On 2009/08/25, at 14:44, Daniel Strebe wrote:<br>>><br>>>> Mikhail,<br>>>><br>>>> Thanks for the comment.<br>>>><br>>>> I am uncertain about the need for independent x/y<br>>>> $B!H(Bmagnification$B!I(B. You correctly note that you cannot<br>>>> achieve $B!H(Beverything$B!I(B with just uniform magnification<br>>>> combined with x/y scaling. And, like you, I cannot come up with a<br>>>> scenario that requires it.<br>>>><br>>>> For the font experts at large: Do we know of any CJK fonts that use<br>>>> a square character advance (that is, same advance horizontally as<br>>>> vertically) but whose effective ideographic M-box is rectangular?<br>>>> (That is, the $B!H(Baverage$B!I(B glyph impression is<br>>>> significantly not-square.) Can we see any reason why anyone would<br>>>> ever create such a thing? Without a font constructed like this, I do<br>>>> not see any point in non-uniform magnification, since there would<br>>>> never be anything to adjust for.<br>>>><br>>>> Regards,<br>>>> — daan Strebe<br>>>><br>>>><br>>>> On 09/08/25 13:12, "Mikhail Leonov" <<a href="mleonov@microsoft.com">mleonov@microsoft.com</a> <<a href="mailto:mleonov%40microsoft.com">mailto:mleonov%40microsoft.com</a>> > wrote:<br>>>><br>>>> Daan,<br>>>> I agree, these properties need to have distinct names that emphasize<br>>>> the difference in how metrics are scaled, as opposed to how scale<br>>>> factors are specified.<br>>>><br>>>> In addition, should glyph magnification property have separate X and<br>>>> Y scale factors as well? I don$B!G(Bt have concrete scenarios in<br>>>> mind that would use this feature yet, but it makes sense in terms of<br>>>> symmetry.<br>>>><br>>>> Best regards,<br>>>> Mikhail Leonov<br>>>> Microsoft<br>>>><br>>>><br>>>> From: <a href="mpeg-OTspec@yahoogroups.com">mpeg-OTspec@yahoogroups.com</a> <<a href="mailto:mpeg-OTspec%40yahoogroups.com">mailto:mpeg-OTspec%40yahoogroups.com</a>>  [<a href="mailto:mpeg-">mailto:mpeg-</a><br>>>> <a href="OTspec@yahoogroups.com">OTspec@yahoogroups.com</a> <<a href="mailto:OTspec%40yahoogroups.com">mailto:OTspec%40yahoogroups.com</a>> ] On Behalf Of Daniel Strebe<br>>>> Sent: Friday, August 21, 2009 5:04 PM<br>>>> To: Ken Lunde; <a href="mpeg-OTspec@yahoogroups.com">mpeg-OTspec@yahoogroups.com</a> <<a href="mailto:mpeg-OTspec%40yahoogroups.com">mailto:mpeg-OTspec%40yahoogroups.com</a>> <br>>>> Subject: Re: [mpeg-OTspec] Toward a Composite Font format<br>>>> specification<br>>>><br>>>><br>>>><br>>>><br>>>> Colleagues,<br>>>><br>>>> As I explained in my earlier message found at the bottom of this e-<br>>>> mail, the two kinds of scaling are independent and mutually<br>>>> compatible operations. Both are necessary simultaneously for a good<br>>>> recipe in some situations.<br>>>><br>>>> ScaleFactorX/ScaleFactorY use the baseline as an anchor and scale<br>>>> everything concerning the glyph, including the outline, kerning,<br>>>> escapements, and advance.<br>>>><br>>>> Uniform scaling, on the other hand, scales from the center of the<br>>>> ideographic box, and does not affect anything but the glyph<br>>>> impression. Most importantly, it does not affect horizontal or<br>>>> vertical advance.<br>>>><br>>>> Both kinds of scaling are needed simultaneously when adjusting<br>>>> component fonts of an ideographic script when the component fonts<br>>>> contain ideographic boxes of differing aspect ratios and<br>>>> differing $B!H(Bcolor$B!I(B. Color refers to the foreground/<br>>>> background ratio of a glyph as determined by of amount of the<br>>>> advance width that the average glyph consumes, and the design weight<br>>>> of the typeface.<br>>>><br>>>> They should be given distinct names to distinguish the semantics.<br>>>> Perhaps:<br>>>><br>>>> Glyph magnification, in place of $B!H(Buniform scaling$B!I(B<br>>>> Character scaling, to refer to ScaleFactorX/ScaleFactorY<br>>>><br>>>> Regards,<br>>>><br>>>> — daan Strebe<br>>>> Senior Computer Scientist<br>>>> Adobe Systems Incorporated<br>>>><br>>>><br>>>> On 09/08/21 13:59, "Ken Lunde" <<a href="lunde@adobe.com">lunde@adobe.com</a> <<a href="mailto:lunde%40adobe.com">mailto:lunde%40adobe.com</a>> > wrote:<br>>>><br>>>><br>>>> Mikhail,<br>>>><br>>>> While I cannot answer for daan, I have observed that InDesign's<br>>>> Composite Font dialog allows all three to be applied independent of<br>>>> one another. My gut feeling is that their use should be mutually<br>>>> exclusive, meaning ScaleFactor to be applied to both axes, or<br>>>> ScaleFactorX+ScaleFactorY as a pair to be set independent of one<br>>>> another. Perhaps daan can describe a usage scenario in which both<br>>>> forms of scaling are required.<br>>>><br>>>> I would think that any use of both forms of scaling could also be<br>>>> adequately described in terms of only ScaleFactorX+ScaleFactorY as a<br>>>> pair.<br>>>><br>>>> Regards...<br>>>><br>>>> -- Ken<br>>>><br>>>> On 2009/08/21, at 13:53, Mikhail Leonov wrote:<br>>>><br>>>>> Ken and Daan,<br>>>>> Do you think ScaleFactorX+ScaleFactorY pair and ScaleFactor should<br>>>>> be mutually exclusive, or are there examples where using both  <br>>> forms<br>>>>> of scaling in the same entry provides value to the recipe creator?<br>>>>><br>>>>> Mikhail Leonov<br>>>>> Microsoft<br>>>>><br>>>>> -----Original Message-----<br>>>>> From: <a href="mpeg-OTspec@yahoogroups.com">mpeg-OTspec@yahoogroups.com</a> <<a href="mailto:mpeg-OTspec%40yahoogroups.com">mailto:mpeg-OTspec%40yahoogroups.com</a>>  <<a href="mailto:mpeg-OTspec%40yahoogroups.com">mailto:mpeg-OTspec%40yahoogroups.com</a><br>>>>>  [<a href="mailto:mpeg-">mailto:mpeg-</a><br>>>>> <a href="OTspec@yahoogroups.com">OTspec@yahoogroups.com</a> <<a href="mailto:OTspec%40yahoogroups.com">mailto:OTspec%40yahoogroups.com</a>>  <<a href="mailto:OTspec%40yahoogroups.com">mailto:OTspec%40yahoogroups.com</a>> ] On<br>>>> Behalf Of Ken Lunde<br>>>>> Sent: Friday, August 14, 2009 6:07 PM<br>>>>> To: <a href="mpeg-OTspec@yahoogroups.com">mpeg-OTspec@yahoogroups.com</a> <<a href="mailto:mpeg-OTspec%40yahoogroups.com">mailto:mpeg-OTspec%40yahoogroups.com</a>>  <<a href="mailto:mpeg-OTspec%40yahoogroups.com">mailto:mpeg-OTspec%40yahoogroups.com</a><br>>>>><br>>>>> Subject: Re: [mpeg-OTspec] Toward a Composite Font format<br>>>>> specification<br>>>>><br>>>>> daan,<br>>>>><br>>>>> Thank you. This is exactly the sort of use-scenario description  <br>>> that<br>>>>> I was hoping to elicit with my post.<br>>>>><br>>>>> Two additional <ComponentFont> attributes should be added:<br>>>>><br>>>>>   ScaleFactorX<br>>>>>   ScaleFactorY<br>>>>><br>>>>> Regards...<br>>>>><br>>>>> -- Ken<br>>>>><br>>>>> On 2009/08/14, at 15:58, Daniel Strebe wrote:<br>>>>><br>>>>>> Ken,<br>>>>>><br>>>>>> Thanks for wading into this.<br>>>>>><br>>>>>> I think we should look at Adobe InDesign's scaling in more  <br>>> detail.<br>>>>>> What InDesign provides relevant to this discussion is:<br>>>>>><br>>>>>>      * Adjust baseline of a component font.<br>>>>>>      * Scale glyphs in a component font horizontally.<br>>>>>>      * Scale glyphs in a component font vertically.<br>>>>>>      * Scale glyphs in a component font uniformly with respect to<br>>>> the<br>>>>>> glyph's center while preserving its width.<br>>>>>><br>>>>>> You cannot fully replicate both semantics by dropping any of the<br>>>>>> three<br>>>>>> provisions. The purpose of (2) and (3) is to adjust a component<br>>>> font<br>>>>>> whose glyphs normally run along some baseline, such as Latin- <br>>> script<br>>>>>> or<br>>>>>> Indic-script fonts. The adjustment applies to the glyph outline  <br>>> as<br>>>>>> well as its horizontal and vertical advance. The purpose of (4)<br>>>> is to<br>>>>>> adjust a component font whose glyphs run along a center line,<br>>>> such as<br>>>>>> Chinese ideographs. The adjustment applies to the glyph outline  <br>>> but<br>>>>>> not its horizontal or vertical advance.<br>>>>>><br>>>>>> To elaborate, in Latin-script composite fonts, it is common to<br>>>> scale<br>>>>>> glyphs of a component font horizontally, and this scaling  <br>>> typically<br>>>>>> applies to all behavior of the font: the amount of horizontal  <br>>> space<br>>>>>> the glyph takes up, kerning amounts, escapements. In ideographic<br>>>>>> fonts, normally ideographs are considered fixed-width for<br>>>> typographic<br>>>>>> purposes, and you do not want mixed widths regardless of which<br>>>>>> component fonts the glyphs came from. Yet meanwhile you must<br>>>> balance<br>>>>>> the space of the ideographs for two or more different source  <br>>> fonts,<br>>>>>> each of which has a different idea of "color" for the font.<br>>>>>> (Color, meaning, the amount of whitespace consumed by the  <br>>> "average"<br>>>>>> glyph in the ideographic repertoire.) Therefore you scale from  <br>>> the<br>>>>>> center of the ideographic box but leave the metrics alone.<br>>>>>><br>>>>>> The reason InDesign allows both forms of scaling is because (4)  <br>>> may<br>>>>>> be<br>>>>>> required to balance the color, while (2) and/or (3) may be  <br>>> required<br>>>>>> to<br>>>>>> adjust for a non-square construction of the fixed-width  <br>>> ideographic<br>>>>>> glyphs. While square in most fonts, especially in the past, some<br>>>> are<br>>>>>> not, and this practice is increasing. Hence, it is not so exotic<br>>>>>> for a<br>>>>>> well-constructed composite font to require all of (1), (2), (3),<br>>>> and<br>>>>>> (4).<br>>>>>><br>>>>>> Regards,<br>>>>>><br>>>>>> - daan Strebe<br>>>>>> Senior Computer Scientist<br>>>>>> Adobe Systems Incorporated<br>>>><br>>>> .<br>>>><br>>>><br>>>><br>>>><br>>>><br>>><br>> <br>> <br>> <br>> ------------------------------------<br>> <br>> Yahoo! Groups Links<br>> <br>> <br>> <br>> <br>  <br>    <br><br></span><o:p></o:p></p></blockquote></div><div><p class=MsoNormal><span style='color:white'><o:p></o:p></span></p></div></div></body></html>