<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Jun 6, 2018 at 2:29 PM, Richard Wordingham <span dir="ltr"><<a href="mailto:richard.wordingham@ntlworld.com" target="_blank">richard.wordingham@ntlworld.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span class="gmail-">On Tue, 5 Jun 2018 09:42:38 -0500<br>
Nathan Willis <<a href="mailto:nwillis@glyphography.com">nwillis@glyphography.com</a>> wrote:<br>
<br>
> Your feedback and help is appreciated!<br>
<br>
</span>* Malayalam Remarks *<br>
<br>
In Sections 2.2 and 2.3, how are multiple vowels handled, such as<br>
U+0D4A and U+0D4B? I'm particularly interested in the handling of<br>
multiple left matras.<br></blockquote><div><br></div><div>Hmm. So, as I understand it, in HarfBuzz the presence of multiple matras (on any side) would be an issue dealt with by the syllable-identification regular expressions, before getting to the reordering stuff.</div><div><br></div><div>It seems like this it what is used (the same regexps being used for all scripts in HarfBuzz's Indic shaper): <br></div><div><br></div><div>matra_group = z{0,3}.M.N?.(H | forced_rakar)?;</div><div>[...]<br></div><div>halant_or_matra_group = (final_halant_group | (H.ZWJ)? matra_group{0,4});<br></div><div><br></div><div>... and that only permits four matras (total) per syllable.</div><div><br></div><div>I vaguely recall seeing a commit message or comment or something indicating that this limit was there to maintain compatibility with how Uniscribe matches syllables, but I searched around and couldn't find it today. It was something along the lines of the Microsoft docs saying "one matra for each type [L,R,T,B] is permitted," but that isn't clear whether it's justified by orthography at all or is just a practical concession that they made for some reason.</div><div><br></div><div>Others with more Uniscribe knowledge may know.</div><div><br></div><div>That having been said, I *think* that HarfBuzz doesn't rearrange two adjacent codepoints that have the same sort-ordering tags. So "Consonant,U+0D4A,U+0D4B" ought to get the matras decomposed, then the two left-side parts move together as-is to the left of the consonant, and the two right-side parts remain unchanged.</div><div><br></div><div>You could test that with <br></div><div>hb-view /usr/share/fonts/truetype/noto/NotoSerifMalayalam-Regular.ttf --unicodes=0d15,0d4a,0d4b<br></div><div><br></div><div>I'm on a new machine right at the moment and apparently don't have all of Noto installed just yet, or I'd just try it. Will update later.</div><div><br></div><div>In the meantime, I honestly can't speak to whether or not that's the correct behavior for the script. <br></div><div><br></div><div>Behdad? Any thoughts on that?<br></div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
In Section 3, how does tagging interact with substitutions? Features<br>
can in general split and merge glyphs.<br>
<span class="gmail-HOEnZb"><font color="#888888"><br></font></span></blockquote><div><br></div><div>The tagging described in stage 2 is just the reordering / syllable-position tags. So after all that is done, the sort-the-syllable-into-final-sort-order is (AIUI) the last that the tags come into play.</div><div><br></div><div>I do know that HarfBuzz keeps track of other sorts of state that it may refer to internally as tags, but I don't think any of these docs reference those, just the reordering position tags.</div><div><br></div><div>So applying the features in stage 3 doesn't interact with the tags — at least, not directly. If the tagging was wrong, of course, then the final sorted order might be wrong and sequences wouldn't match up to the substitution rules in GSUB. But, if I follow HarfBuzz's logic right, the reordering stuff cannot be switched off, so it always happens completely before any substitutions start, and that seems to be what other shapers did first.</div><div><br></div><div>Should there be a wording change to address that in the document itself?</div><div><br></div><div>Thanks,</div><div>Nate<br></div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span class="gmail-HOEnZb"><font color="#888888">
Richard.<br>
</font></span><div class="gmail-HOEnZb"><div class="gmail-h5">______________________________<wbr>_________________<br>
HarfBuzz mailing list<br>
<a href="mailto:HarfBuzz@lists.freedesktop.org">HarfBuzz@lists.freedesktop.org</a><br>
<a href="https://lists.freedesktop.org/mailman/listinfo/harfbuzz" rel="noreferrer" target="_blank">https://lists.freedesktop.org/<wbr>mailman/listinfo/harfbuzz</a><br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br><div class="gmail_signature"><div dir="ltr">nathan.p.willis<br><a href="mailto:nwillis@glyphography.com" target="_blank">nwillis@glyphography.com</a><a href="http://identi.ca/n8" target="_blank"></a></div></div>
</div></div>