<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:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" 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=windows-1256">
<meta name="Generator" content="Microsoft Word 15 (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:"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: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;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman",serif;}
h1
        {mso-style-priority:9;
        mso-style-link:"Heading 1 Char";
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:24.0pt;
        font-family:"Times New Roman",serif;
        font-weight:bold;}
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:"Times New Roman",serif;}
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:10.0pt;
        font-family:"Courier New";}
tt
        {mso-style-priority:99;
        font-family:"Courier New";}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman",serif;}
p.msonormal0, li.msonormal0, div.msonormal0
        {mso-style-name:msonormal;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman",serif;}
span.Heading1Char
        {mso-style-name:"Heading 1 Char";
        mso-style-priority:9;
        mso-style-link:"Heading 1";
        font-family:"Calibri Light",sans-serif;
        color:#2E74B5;}
span.HTMLPreformattedChar
        {mso-style-name:"HTML Preformatted Char";
        mso-style-priority:99;
        mso-style-link:"HTML Preformatted";
        font-family:Consolas;}
p.attach, li.attach, div.attach
        {mso-style-name:attach;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:9.0pt;
        font-family:"Arial",sans-serif;}
p.bold, li.bold, div.bold
        {mso-style-name:bold;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:10.0pt;
        font-family:"Arial",sans-serif;
        font-weight:bold;}
p.green, li.green, div.green
        {mso-style-name:green;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman",serif;
        color:#628C2A;}
p.replbq, li.replbq, div.replbq
        {mso-style-name:replbq;
        margin:3.0pt;
        font-size:12.0pt;
        font-family:"Times New Roman",serif;}
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:"Times New Roman",serif;}
p.underline, li.underline, div.underline
        {mso-style-name:underline;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman",serif;}
span.yshortcuts
        {mso-style-name:yshortcuts;}
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:"Times New Roman",serif;}
p.ad2, li.ad2, div.ad2
        {mso-style-name:ad2;
        mso-margin-top-alt:auto;
        margin-right:0in;
        margin-bottom:7.5pt;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman",serif;}
p.underline1, li.underline1, div.underline1
        {mso-style-name:underline1;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman",serif;
        text-decoration:underline;}
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.EmailStyle37
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
/* List Definitions */
@list l0
        {mso-list-id:134951382;
        mso-list-template-ids:1131441888;}
@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="WordSection1">
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">Wow! Some mail server along the way (I’m guessing Yahoo!) badly munged the formatting in the HTML mail I sent.<o:p></o:p></span></p>
<p class="MsoNormal"><a name="_MailEndCompose"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"><o:p> </o:p></span></a></p>
<span style="mso-bookmark:_MailEndCompose"></span>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">From:</span></b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"> mpeg-OTspec@yahoogroups.com [mailto:mpeg-OTspec@yahoogroups.com]
<b>On Behalf Of </b>Peter Constable petercon@microsoft.com [mpeg-OTspec]<br>
<b>Sent:</b> Saturday, September 3, 2016 5:06 PM<br>
<b>To:</b> mpeg-OTspec@yahoogroups.com<br>
<b>Subject:</b> [mpeg-OTspec] DAM2 comments<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal">  <o:p></o:p></p>
<div id="ygrp-mlmsg">
<div id="ygrp-msg">
<div id="ygrp-text">
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">I’m reviewing the DAM2 ballot document, and note the following substantive (major editorial or technical) issues:<o:p></o:p></p>
<h1><span style="font-size:14.0pt">1) The ‘fina’ feature description:<o:p></o:p></span></h1>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">First, I find the value in the Function field to be very difficult to comprehend:<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;text-indent:.5in">
“<i>Function:</i> Unicode joining-script shaping [20] for single-joining final (‘R Right_Joining’ in right-to-left scripts; ‘L Left_Joining’ in left-to-right scripts) or dual-joining characters in final situation.”<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Even for someone well-versed in Unicode, this is difficult to read, and it doesn’t actually state what the feature is supposed to do.
<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Secondly, there is a technical flaw in referring to “right-to-left scripts” and “left-to-right” scripts: nowhere will you find script property values for directionality. This is
 a little trickier to resolve: I think what is really intended here is one of the following (in the case of Right_Joining), thought it’s not clear which, or if it’s intentionally ambiguous:<o:p></o:p></p>
<p class="MsoListParagraph" style="text-indent:.5in">“Right_Joining, if the characters have strong right-to-left Bidi_Class property value.”<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Or,<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;text-indent:.5in">
“Right_Joining, if the resolved bidi level of the characters is odd.<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">I’ll leave that as an open issue for now.<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Thirdly, the application interface field has a value that begins,<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">            “The application is responsible for parsing character strings and identifying which orthographic shaping form feature to apply…”<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">While I don’t have any objection to the goal of categorizing features, “orthographic shaping form feature” sounds like a technical term yet it is nowhere defined. Rather than get
 into whether to introduce feature meta-properties at this time, I think the field content can be reworded to get at the same point without any terminological issue.<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Fourth, the Script/language sensitivity field has this:<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;text-indent:.5in">
“Can be used in any script with joining properties specified in the Unicode standard for joining-script shaping [20].”<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">The problem with that is that
<i>every Unicode character</i> has a Joining_Type property. The scripts of interest are those with characters that are right-, left- or dual-joining; this can also be characterized as scripts for which Joining_Type properties are given
<i>explicitly</i> in ArabicShaping.txt.<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Between the above and other editorial issues, I would revise the feature description to the following (the external, normative reference to UCD will need to be revised for OFF):<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;margin-bottom:3.0pt"><b>Tag: 'fina'
</b><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;margin-bottom:3.0pt"><i>Note:</i> This feature description was significantly revised in 2016.<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;margin-bottom:3.0pt"><i>Friendly name:</i> Terminal Forms
<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;margin-bottom:3.0pt"><i>Registered by:
</i>Microsoft/Adobe <o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;margin-bottom:3.0pt"><i>Function:</i> Replaces glyphs for characters that have applicable joining properties with an alternate form when occurring in a final context. This applies to characters that have one
 of the following Unicode Joining_Type property values: <o:p></o:p></p>
<p class="MsoListParagraph" style="mso-margin-top-alt:5.0pt;margin-right:0in;margin-bottom:3.0pt;margin-left:1.0in">
<span style="font-family:Symbol">·</span><span style="font-size:7.0pt">       </span>
Right_Joining, if the characters are from a right-to-left script.<o:p></o:p></p>
<p class="MsoListParagraph" style="mso-margin-top-alt:5.0pt;margin-right:0in;margin-bottom:3.0pt;margin-left:1.0in">
<span style="font-family:Symbol">·</span><span style="font-size:7.0pt">       </span>
Left_Joining, if the characters are from a left-to-right script.<o:p></o:p></p>
<p class="MsoListParagraph" style="mso-margin-top-alt:5.0pt;margin-right:0in;margin-bottom:3.0pt;margin-left:1.0in">
<span style="font-family:Symbol">·</span><span style="font-size:7.0pt">       </span>
Dual_Joining.<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;margin-bottom:3.0pt">Unicode Joining_Type property values are obtained from the
<a href="http://www.unicode.org/reports/tr44/tr44-18.html">Unicode Character Database</a> (UCD). Specifically, Joining_Type property values are documented in the UCD file, ArabicShapint.txt, the current version of which is available at
<a href="http://www.unicode.org/Public/UCD/latest/ucd/ArabicShaping.txt">http://www.unicode.org/Public/UCD/latest/ucd/ArabicShaping.txt</a>.<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;margin-bottom:3.0pt"><i>Example:</i> In an Arabic-script font, the application would apply the 'fina' feature to the letter ARABIC LETTER WAW (U+0648 “æ”) when it follows a left-joining character, thereby
 replacing the default “æ” glyph with its right-joining, final form. <o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;margin-bottom:3.0pt"><i>Recommended implementation:</i> The 'fina' feature is used to map default forms to corresponding single-joining, final forms. This will usually be implemented using a single substitution
 (type 1) GSUB lookup, though contextual substitution GSUB lookups (types 5, 6 or 8) may also be appropriate.
<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;margin-bottom:3.0pt"><i>Application interface:
</i>The application is responsible for parsing character strings and identifying which of the joining-related features — initial forms ('init'), medial forms ('medi'), terminal forms ('fina'), and isolated forms ('isol') — to apply to which GIDs, based on character
 Joining_Type properties. Additional factors, such as the presence of control characters, may also be considered. For GIDs to which the 'fina' feature is applied and that are found in the 'fina' coverage table, the application passes a GID to the lookup tables
 associate with the feature and gets back a new GID. <o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;margin-bottom:3.0pt"><i>UI suggestion:
</i>In recommended usage, this feature triggers substitutions that are required for correct display of the given script. It should be applied by default in the appropriate contexts, as determined by script-specific processing. Control of the feature should
 not generally be exposed to the user. <o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;margin-bottom:3.0pt"><i>Script/language sensitivity:
</i>Can be used in any script with joining behavior — that is, the scripts for which Joining_Type properties are given explicitly in ArabicShaping.txt.<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;margin-bottom:3.0pt"><i>Feature interaction:
</i>This feature may be used in combination with other substitution (GSUB) features, whose results it may override. See also 'init', 'isol' and 'medi'.<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<h1>2) ‘init’ feature description<o:p></o:p></h1>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Similar comments to the above. I’d revise as follows:<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><b>Tag: 'init'</b><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;margin-bottom:3.0pt"><i>Note:</i> This feature description was significantly revised in 2016.<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;margin-bottom:3.0pt"><i>Friendly name:
</i>Initial Forms<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;margin-bottom:3.0pt"><i>Registered by:
</i>Microsoft/Adobe<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;margin-bottom:3.0pt"><i>Function:
</i>Replaces glyphs for characters that have applicable joining properties with an alternate form when occurring in an initial context. This applies to characters that have one of the following Unicode Joining_Type property values:
<o:p></o:p></p>
<p class="MsoListParagraph" style="mso-margin-top-alt:5.0pt;margin-right:0in;margin-bottom:3.0pt;margin-left:1.0in">
<span style="font-family:Symbol">·</span><span style="font-size:7.0pt">       </span>
Right_Joining, if the characters are from a left-to-right script.<o:p></o:p></p>
<p class="MsoListParagraph" style="mso-margin-top-alt:5.0pt;margin-right:0in;margin-bottom:3.0pt;margin-left:1.0in">
<span style="font-family:Symbol">·</span><span style="font-size:7.0pt">       </span>
Left_Joining, if the characters are from a right-to-left script.<o:p></o:p></p>
<p class="MsoListParagraph" style="mso-margin-top-alt:5.0pt;margin-right:0in;margin-bottom:3.0pt;margin-left:1.0in">
<span style="font-family:Symbol">·</span><span style="font-size:7.0pt">       </span>
Dual_Joining.<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;margin-bottom:3.0pt">Unicode Joining_Type property values are obtained from the
<a href="http://www.unicode.org/reports/tr44/tr44-18.html">Unicode Character Database</a> (UCD). Specifically, Joining_Type property values are documented in the UCD file, ArabicShapint.txt, the current version of which is available at
<a href="http://www.unicode.org/Public/UCD/latest/ucd/ArabicShaping.txt">http://www.unicode.org/Public/UCD/latest/ucd/ArabicShaping.txt</a>.
<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;margin-bottom:3.0pt"><i>Example:
</i>In an Arabic-script font, the application would apply the 'init' feature to the letter ARABIC LETTER SEEN (U+0633 “Ó”) when it precedes a right-joining character, thereby replacing the default “Ó” glyph with its left-joining, initial form.
<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;margin-bottom:3.0pt"><i>Recommended implementation:
</i>The 'init' feature is used to map default forms to corresponding single-joining, iniital forms. This will usually be implemented using a single substitution (type 1) GSUB lookup, though contextual substitution GSUB lookups (types 5, 6 or 8) may also be
 appropriate. <o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;margin-bottom:3.0pt"><i>Application interface:
</i>The application is responsible for parsing character strings and identifying which of the joining-related features — initial forms ('init'), medial forms ('medi'), terminal forms ('fina'), and isolated forms ('isol') — to apply to which GIDs, based on character
 Joining_Type properties. Additional factors, such as the presence of control characters, may also be considered. For GIDs to which the 'init' feature is applied and that are found in the 'init' coverage table, the application passes a GID to the lookup tables
 associate with the feature and gets back a new GID. <o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;margin-bottom:3.0pt"><i>UI suggestion:
</i>This feature should be active by default. <o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;margin-bottom:3.0pt"><i>Script/language sensitivity:
</i>Can be used in any script with joining behavior — that is, the scripts for which Joining_Type properties are given explicitly in ArabicShaping.txt.<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;margin-bottom:3.0pt"><i>Feature interaction:
</i>This feature may be used in combination with other substitution (GSUB) features, whose results it may override. See also 'fina', 'isol' and 'medi'.<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<h1>3) ‘isol’ feature description<o:p></o:p></h1>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Similar comments to the above. I’d revise as follows:<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;margin-bottom:3.0pt"><b>Tag: “isol”</b><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;margin-bottom:3.0pt"><i>Note:</i> This feature description was significantly revised in 2016.<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;margin-bottom:3.0pt"><i>Friendly name:
</i>Isolated Forms<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;margin-bottom:3.0pt"><i>Registered by:
</i>Microsoft<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;margin-bottom:3.0pt"><i>Function:</i> Replaces glyphs for characters that have applicable joining properties with an alternate form when occurring in a isolate (non-joining) context. This applies to characters
 that have one of the following Unicode Joining_Type property values: <o:p></o:p></p>
<p class="MsoListParagraph" style="mso-margin-top-alt:5.0pt;margin-right:0in;margin-bottom:3.0pt;margin-left:1.0in">
<span style="font-family:Symbol">·</span><span style="font-size:7.0pt">       </span>
Right_Joining.<o:p></o:p></p>
<p class="MsoListParagraph" style="mso-margin-top-alt:5.0pt;margin-right:0in;margin-bottom:3.0pt;margin-left:1.0in">
<span style="font-family:Symbol">·</span><span style="font-size:7.0pt">       </span>
Left_Joining.<o:p></o:p></p>
<p class="MsoListParagraph" style="mso-margin-top-alt:5.0pt;margin-right:0in;margin-bottom:3.0pt;margin-left:1.0in">
<span style="font-family:Symbol">·</span><span style="font-size:7.0pt">       </span>
Dual_Joining.<o:p></o:p></p>
<p class="MsoListParagraph" style="mso-margin-top-alt:5.0pt;margin-right:0in;margin-bottom:3.0pt;margin-left:1.0in">
<span style="font-family:Symbol">·</span><span style="font-size:7.0pt">       </span>
Non_Joining, if the characters are from a script with joining behavior.<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;margin-bottom:3.0pt">Unicode Joining_Type property values are obtained from the
<a href="http://www.unicode.org/reports/tr44/tr44-18.html">Unicode Character Database</a> (UCD). Specifically, Joining_Type property values are documented in the UCD file, ArabicShaping.txt, the current version of which is available at
<a href="http://www.unicode.org/Public/UCD/latest/ucd/ArabicShaping.txt">http://www.unicode.org/Public/UCD/latest/ucd/ArabicShaping.txt</a>. Scripts that have joining behavior are those scripts with character properties given explicitly in ArabicShaping.txt.
<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;margin-bottom:3.0pt">Note that, in many fonts that support the relevant scripts, this feature may not be implemented since the default forms of the relevant characters are the isolated forms. In some fonts,
 this feature may involve contextual substitution based on the specific, isolated context.
<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;margin-bottom:3.0pt"><i>Example:</i> In an Arabic-script font, the application would apply the 'init' feature to the letter ARABIC LETTER HEH (U+0647 “å”) when not adjacent to any joining character, thereby
 potentially replacing the default “å” glyph with a special, isolated form (likely, a contextual and language-specific substitution, substituting one isolated form for another).
<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;margin-bottom:3.0pt"><i>Recommended implementation:
</i>The 'isol' feature is used to map default forms to alternate non-joining, isolate forms. This will usually be implemented using a single substitution (type 1) GSUB lookup or, often, a contextual substitution GSUB lookup (types 5, 6 or 8).
<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;margin-bottom:3.0pt"><i>Application interface:
</i>The application is responsible for parsing character strings and identifying which of the joining-related features — initial forms ('init'), medial forms ('medi'), terminal forms ('fina'), and isolated forms ('isol') — to apply to which GIDs, based on character
 Joining_Type properties. Additional factors, such as the presence of control characters, may also be considered. For GIDs to which the 'fina' feature is applied and that are found in the 'isol' coverage table, the application passes a GID to the lookup tables
 associated with the feature and gets back a new GID. <o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;margin-bottom:3.0pt"><i>UI suggestion:
</i>In recommended usage, this feature triggers substitutions that are required for correct display of the given script. It should be applied by default in the appropriate contexts, as determined by script-specific processing. Control of the feature should
 not generally be exposed to the user. <o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;margin-bottom:3.0pt"><i>Script/language sensitivity:
</i>Can be used in any script with joining behavior — that is, the scripts for which Joining_Type properties are given explicitly in ArabicShaping.txt.<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;margin-bottom:3.0pt"><i>Feature interaction:
</i>This feature may be used in combination with other substitution (GSUB) features, whose results it may override. See also fina, 'init' and 'medi'.<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<h1>4) ‘medi’ feature description<o:p></o:p></h1>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Similar comments to the above. I’d revise as follows:<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;margin-bottom:3.0pt"><b>Tag: 'medi'</b><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;margin-bottom:3.0pt"><i>Note:
</i>This feature description was significantly revised in 2016.<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;margin-bottom:3.0pt"><i>Friendly name:</i> Medial Forms<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;margin-bottom:3.0pt"><i>Registered by:</i> Microsoft/Adobe<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;margin-bottom:3.0pt"><i>Function:</i> Replaces glyphs for characters that have applicable joining properties with an alternate form when occurring in a medial context. This applies to characters that have
 the Unicode Joining_Type property value Dual_Joining. <o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;margin-bottom:3.0pt">Unicode Joining_Type property values are obtained from the Unicode Character Database (UCD). Specifically, Joining_Type property values are documented in the UCD file, ArabicShaping.txt,
 the current version of which is available at <a href="http://www.unicode.org/Public/UCD/latest/ucd/ArabicShaping.txt">
http://www.unicode.org/Public/UCD/latest/ucd/ArabicShaping.txt</a>. <o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;margin-bottom:3.0pt"><i>Example:</i> In an Arabic-script font, the application would apply the 'medi' feature to the letter ARABIC LETTER QAF (U+0642 “Þ”) when it follows a left-joining character and precedes
 a right-joining character, thereby replacing the default “Þ” glyph with its dual-joining, medial form.
<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;margin-bottom:3.0pt"><i>Recommended implementation:</i> The 'fina' feature is used to map default forms to corresponding single-joining, final forms. This will usually be implemented using a single substitution
 (type 1) GSUB lookup, though contextual substitution GSUB lookups (types 5, 6 or 8) may also be appropriate.
<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;margin-bottom:3.0pt"><i>Application interface:</i> The application is responsible for parsing character strings and identifying which of the joining-related features — initial forms ('init'), medial forms
 ('medi'), terminal forms ('fina'), and isolated forms ('isol') — to apply to which GIDs, based on character Joining_Type properties. Additional factors, such as the presence of control characters, may also be considered. For GIDs to which the 'medi' feature
 is applied and that are found in the 'medi' coverage table, the application passes a GID to the lookup tables associated with the feature and gets back a new GID.
<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;margin-bottom:3.0pt"><i>UI suggestion:</i> In recommended usage, this feature triggers substitutions that are required for correct display of the given script. It should be applied by default in the appropriate
 contexts, as determined by script-specific processing. Control of the feature should not generally be exposed to the user.
<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;margin-bottom:3.0pt"><i>Script/language sensitivity:</i> Can be used in any script with joining behavior — that is, the scripts for which Joining_Type properties are given explicitly in ArabicShaping.txt.
<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;margin-bottom:3.0pt"><i>Feature interaction:</i> This feature may be used in combination with other substitution (GSUB) features, whose results it may override. See also 'fina', 'init' and 'isol'.<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">I’ve reviewed other portions of DAM2 other than changes to the ‘SVG’ table (which I’m leaving to Sairus and my co-workers Rick Manning and Miles Cohen to review), and I have no
 further comments at this time.<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Peter<o:p></o:p></p>
</div>
</div>
<div>
<p class="MsoNormal"><span style="color:white"><o:p></o:p></span></p>
</div>
</div>
</body>
</html>