<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Enabling cross-script shaping may introduce an API break, and if we need that, it should be done in the OT2 story.</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<span style="color: rgb(0, 0, 0); font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt;"><br>
</span></div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<span style="color: rgb(0, 0, 0); font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt;">Other possible API-beraking chagnes include:</span></div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<ul>
<li>32-bit GID</li><ul>
<li>Breaks DW and CoreText, which defined GID explicitly to UInt16.</li></ul>
<li>GSUB-GPOS-tangled shaping (i.e., placement-dependent substitution)</li><ul>
<li>Breaks DW as it perform GSUB and GPOS in <i>different API calls</i>.</li><li>HB is not influenced; not sure about CT.</li></ul>
</ul>
<div>Yours,</div>
<div>Renzhi</div>
</div>
<div id="appendonsend"></div>
<hr style="display:inline-block;width:98%" tabindex="-1">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt" color="#000000"><b>发件人:</b> mpeg-otspec <mpeg-otspec-bounces@lists.aau.at> 代表 Andrew Glass <Andrew.Glass@microsoft.com><br>
<b>发送时间:</b> 2020年8月21日 16:47<br>
<b>收件人:</b> Peter Constable <pgcon6@msn.com>; John Hudson <john@tiro.ca>; mpeg-otspec@lists.aau.at <mpeg-otspec@lists.aau.at><br>
<b>主题:</b> Re: [MPEG-OTSPEC] 回复: [EXTERNAL] Re: Shaping behavior standardization: multi-engine or "Super USE"?</font>
<div> </div>
</div>
<style type="text/css" style="display:none">
<!--
p
{margin-top:0;
margin-bottom:0}
-->
</style>
<div dir="ltr">
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
Cross-script shaping support and the abilty to apply locl features to specific glyphs based on BCP-47 tags sounds ideal to me.</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
Andrew</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<div id="x_Signature">
<div>
<p>Sent from <a href="http://aka.ms/weboutlook">Outlook</a><br>
</p>
</div>
</div>
<div id="x_appendonsend"></div>
<hr tabindex="-1" style="display:inline-block; width:98%">
<div id="x_divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" color="#000000" style="font-size:11pt"><b>From:</b> mpeg-otspec <mpeg-otspec-bounces@lists.aau.at> on behalf of Peter Constable <pgcon6@msn.com><br>
<b>Sent:</b> Friday, August 21, 2020 4:32 PM<br>
<b>To:</b> John Hudson <john@tiro.ca>; mpeg-otspec@lists.aau.at <mpeg-otspec@lists.aau.at><br>
<b>Subject:</b> Re: [MPEG-OTSPEC] 回复: [EXTERNAL] Re: Shaping behavior standardization: multi-engine or "Super USE"?</font>
<div> </div>
</div>
<style>
<!--
@font-face
{font-family:"MS Gothic"}
@font-face
{font-family:"Angsana New"}
@font-face
{font-family:"Cordia New"}
@font-face
{font-family:"Cambria Math"}
@font-face
{font-family:Calibri}
@font-face
{font-family:Consolas}
p.x_x_MsoNormal, li.x_x_MsoNormal, div.x_x_MsoNormal
{margin:0in;
font-size:11.0pt;
font-family:"Calibri",sans-serif}
a:link, span.x_x_MsoHyperlink
{color:blue;
text-decoration:underline}
pre
{margin:0in;
font-size:10.0pt;
font-family:"Courier New"}
span.x_x_HTMLPreformattedChar
{font-family:Consolas}
span.x_x_EmailStyle22
{font-family:"Calibri",sans-serif;
color:windowtext}
.x_x_MsoChpDefault
{font-size:10.0pt}
@page WordSection1
{margin:1.0in 1.0in 1.0in 1.0in}
-->
</style>
<div lang="EN-US">
<div class="x_x_WordSection1">
<p class="x_x_MsoNormal">Well, that certainly seems like a reason why language systems and features need to remain organized by scripts.
</p>
<p class="x_x_MsoNormal"> </p>
<p class="x_x_MsoNormal">Now, in some OT2.0 future, maybe new formats could be created in which language systems don’t use OT tags at all but use BCP-47 tags directly. Then that would address that issue. And if ‘loc’ features were organized that way but other
features don’t need to be shoe-horned into that structure, we could still have features applied script boundaries triggering lookups that can act on glyphs of whatever scripts.</p>
<p class="x_x_MsoNormal"> </p>
<p class="x_x_MsoNormal"> </p>
<p class="x_x_MsoNormal">Peter</p>
<p class="x_x_MsoNormal"> </p>
<div>
<div style="border:none; border-top:solid #E1E1E1 1.0pt; padding:3.0pt 0in 0in 0in">
<p class="x_x_MsoNormal"><b>From:</b> mpeg-otspec <mpeg-otspec-bounces@lists.aau.at>
<b>On Behalf Of </b>John Hudson<br>
<b>Sent:</b> Friday, August 21, 2020 3:09 PM<br>
<b>To:</b> mpeg-otspec@lists.aau.at<br>
<b>Subject:</b> Re: [MPEG-OTSPEC] <span style="font-family:"MS Gothic"">回复</span>: [EXTERNAL] Re: Shaping behavior standardization: multi-engine or "Super USE"?</p>
</div>
</div>
<p class="x_x_MsoNormal"> </p>
<div>
<p class="x_x_MsoNormal">On 21082020 1:52 pm, Peter Constable wrote:</p>
</div>
<blockquote style="margin-top:5.0pt; margin-bottom:5.0pt">
<p class="x_x_MsoNormal">Thirdly, if there is one shaping engine for all scripts, would there be any need at all for LangSys and Feature tables to still be organized hierarchically under different script tags? (That’s another existing obstacle to glyph actions
across script-run boundaries.) IOW, instead of a new _<i>set</i>_ of script tags, would just _<i>one</i>_ new “script” tag suffice?
</p>
</blockquote>
<p>That’s where my mind started going today. But I'm not sure all the issues that arise can be resolved in that model.</p>
<p>If itemisation and glyph run segmentation is not performed on the basis of script tag, and everything using the new USE tag gets processed as a single run, how do we handle characters with locl substitution forms specific to individual scripts? And if such
characters are Unicode script=common, are we pushing the segmentation down a level rather than removing it?</p>
<p>J.</p>
<pre>-- </pre>
<pre> </pre>
<pre>John Hudson</pre>
<pre>Tiro Typeworks Ltd <a href="https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.tiro.com%2F&data=02%7C01%7Crenzhi.li%40microsoft.com%7C8535f469b6e14d27ccdf08d8462ca963%7C72f988bf86f141af91ab2d7cd011db47%7C0%7C0%7C637336504937408228&sdata=Bv4qmJVNOQ7090lRiMZ%2BSkktoxiBelveVcQPNhOjJxc%3D&reserved=0" originalsrc="http://www.tiro.com/" shash="H3KDu+1Tf8ltbZa4a2b/UF9hFQOClYpbiQWD0JqOHJjaTz7xy68ZPZaiXTEOaEgBn2w0//Vw0Uyia48DBwbq5dOqPX1rJXCDQo9zFr0UcNhS6K0vNxLzkxmW/DZJldhlwgTlIYScfR611Qwe5HBoS00ZkQo3SZ5EK1v4ZZv01dY=" originalsrc="http://www.tiro.com/" shash="o5zddWaNhZaMDU6DZ9E7M4jXE0koytWT1i9t4YchHl1Yh7xH7esJCA9Ndt/yHK8zCBR2u0W2tgj5DTIGjXQXxFIjF+D8sG1XAlkk+qCzGAvK9hJNmR9JVuZ5uICT2tFR3+wTxAIRa9r/v2V36YkjNsx7Lwyoe4iB2AHI7bfPmp0=">www.tiro.com</a></pre>
<pre>Salish Sea, BC <a href="mailto:tiro@tiro.com">tiro@tiro.com</a></pre>
<pre> </pre>
<pre>NOTE: In the interests of productivity, I am currently </pre>
<pre>dealing with email on only two days per week, usually </pre>
<pre>Monday and Thursday unless this schedule is disrupted </pre>
<pre>by travel. If you need to contact me urgently, please </pre>
<pre>use some other method of communication. Thank you.</pre>
</div>
</div>
</div>
</body>
</html>