<div dir="ltr">I sketched how HarfBuzz's main OT+AAT "unishaper" works:<div><br></div><div>  <a href="https://prezi.com/view/THNPJGFVDUCWoM20syev/">https://prezi.com/view/THNPJGFVDUCWoM20syev/</a></div><div><br></div><div>I will keep adding more details, including the per-script parts. Feedback welcome.</div><div><br clear="all"><div><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature">behdad<br><a href="http://behdad.org/" target="_blank">http://behdad.org/</a></div></div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Aug 21, 2020 at 1:28 PM John Hudson <<a href="mailto:john@tiro.ca">john@tiro.ca</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On 21082020 12:13 pm, Renzhi Li wrote:<br>
> Therefore, for the shaping behavior standardization, should we <br>
> standardize all the existing engines (focus on the "status quo"), or <br>
> work on USE extension to use one single engine for every script?<br>
<br>
Both.<br>
<br>
We do need to ensure that the existing engines provide consistent <br>
results for existing fonts built to those specs, even if we also provide <br>
mechanisms to pass scripts to USE instead.<br>
<br>
The USE layout model is both general and particular: it requires fonts <br>
for scripts with complex shaping requirements for correct text display <br>
to be made in a very particular ways, which are not compatible with the <br>
methods used in fonts for existing shaping engines. So passing any <br>
script that currently goes to a dedicated engine through USE is going to <br>
require new script tags (or another special convention, e.g. a generic <br>
script tag. Even simple scripts might involve some different methods <br>
when being passed through USE, and would need to be considered cautiously.<br>
<br>
[With regard to the latter, there was recently a discussion on the Noto <br>
repo regarding whether scripts with very simple layout requirements <br>
should be passed to USE*. My inclination is yes, they should, and that <br>
any newly supported script should be passed through USE regardless of <br>
the simplicity or complexity of shaping requirements. It would be <br>
helpful to know the position of the USE implementers on this.]<br>
<br>
JH<br>
<br>
<br>
* <a href="https://github.com/googlefonts/noto-fonts/issues/576" rel="noreferrer" target="_blank">https://github.com/googlefonts/noto-fonts/issues/576</a><br>
<br>
<br>
-- <br>
<br>
John Hudson<br>
Tiro Typeworks Ltd    <a href="http://www.tiro.com" rel="noreferrer" target="_blank">www.tiro.com</a><br>
Salish Sea, BC        <a href="mailto:tiro@tiro.com" target="_blank">tiro@tiro.com</a><br>
<br>
NOTE: In the interests of productivity, I am currently<br>
dealing with email on only two days per week, usually<br>
Monday and Thursday unless this schedule is disrupted<br>
by travel. If you need to contact me urgently, please<br>
use some other method of communication. Thank you.<br>
<br>
_______________________________________________<br>
mpeg-otspec mailing list<br>
<a href="mailto:mpeg-otspec@lists.aau.at" target="_blank">mpeg-otspec@lists.aau.at</a><br>
<a href="https://lists.aau.at/mailman/listinfo/mpeg-otspec" rel="noreferrer" target="_blank">https://lists.aau.at/mailman/listinfo/mpeg-otspec</a><br>
</blockquote></div>