<div dir="ltr"><div><div><div>Hi Richard,<br><br></div>Can you please copy/paster this as an issue on github?  I'm more and more inclined to close down mailing lists in favor of github issues.  That makes them more traceable and lower the chance that hard issues get lost.<br><br></div>Thanks,<br></div>behdad<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Nov 10, 2016 at 4:47 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:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Printed Northern Thai in the Lanna script has a close analogue (or<br>
rather two) of U+0E33 THAI CHARACTER SARA AM.  It was initially<br>
proposed to encode what would have become TAI THAM SIGN AM and TAI THAM<br>
SIGN TALL AM.  However, leading figures in the UTC insisted that these<br>
compound vowel symbols be encoded as what became <U+1A63 TAI THAM VOWEL<br>
SIGN AA, U+1A74 TAI THAM SIGN MAI KANG> and <U+1A64 TAI THAM VOWEL<br>
SIGN TALL AA, U+1A74 TAI THAM SIGN MAI KANG>.<br>
<br>
To shape these vowel symbols in the printed Northern Thai style (which<br>
is also many people's handwritten style), I have to transfer the<br>
non-spacing mark MAI KANG from the spacing mark SIGN AA or SIGN TALL AA<br>
to the preceding consonant.  I had been doing this by aping the<br>
processing for Thai, i.e.:<br>
<br>
Prelude:<br>
1. Ligate SIGN AA and MAI KANG to glyph 'mai_kam', which imitates THAI<br>
CHARACTER SARA AM.<br>
<br>
Imitation of Thai:<br>
2. Decompose ('multiple substitution') 'mai_kam' to mark<br>
'leftward_mai_kang' and the glyph 'mai_kaa' of SIGN AA.<br>
<br>
3. Interchange leftward_mai_kang and any intermediately preceding tone<br>
mark.  (The Thai rendering engine does this, but USE does not.)<br>
<br>
4. Finalisation<br>
Replace 'leftward_mai_kang' by the normal glyph for MAI KANG.<br>
<br>
However, I have found a problem when words are reduplicated, e.g _mam<br>
mam_, an invitation to a child to eat formed from _mam_ 'to eat'.  (I<br>
haven't found the reduplicated word in a dictionary - it may be a<br>
family word.)  The normal way to mark reduplication is to suffix the<br>
combining mark above U+1A7B TAI THAM SIGN MAI SAM to the word.  The<br>
encoding would therefore be <U+1A49 TAI THAM LETTER HIGH HA, U+1A60 TAI<br>
THAM SIGN SAKOT, U+1A3E TAI THAM LETTER MA, U+1A75 TAI THAM SIGN TONE-1,<br>
U+1A63 TAI THAM VOWEL SIGN AA, U+1A74 TAI THAM SIGN MAI KANG, U+1A7B<br>
TAI THAM SIGN MAI SAM> (ᩉ᩠ᨾ᩵ᩣᩴ᩻). Now, USE inserts U+25CC before SIGN<br>
AA and MS USE therefore also before all the subsequent marks.  However,<br>
it seems that the effects of cleaning them out are irrelevant to my<br>
problem, for this also occurs when I use a Latin to Lanna<br>
transliteration mode, where these inserts do not occur.  It also shows<br>
up in the Lanna script in LibreOffice 5.0.6 on Ubuntu, which appears to<br>
be using the old SEA rendering engine.<br>
<br>
My problem is that the MAI SAM glyph is not treated as being on the<br>
mai_kaa glyph regenerated by splitting mai_kam.  When mai_kam is split<br>
into the mark leftward_mai_kang and the base mai_kaa (in that order),<br>
the MAI SAM glyph is associated with the leftward_mai_kang rather than<br>
the residual base mai_kaa. This logic was introduced in 2012 to match<br>
Microsoft's treatment of marks on an Arabic consonant ligature split by<br>
a multiple substitution. The practical consequence is that MAI SAM glyph<br>
is attached directly to the glyph for HIGH HA.  In my font it is then<br>
obscured by the mai_kang glyph which is also attached directly, and<br>
seems to disappear!<br>
<br>
The problem does not occur with USE as in MS Edge - the word renders as<br>
expected.<br>
<br>
(I can simplify the problem to the totally unattested word <U+1A2F TAI<br>
THAM LETTER DA, U+1A63, U+1A74, U+1A7B> /dam dam/.)<br>
<br>
Now, should I have expected my aping of the Thai and Lao rendering to<br>
work or should I only have trusted base-mark association logic needed<br>
for Arabic?<br>
<br>
Richard.<br>
______________________________<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>
</blockquote></div><br><br clear="all"><br>-- <br><div class="gmail_signature" data-smartmail="gmail_signature">behdad<br><a href="http://behdad.org/" target="_blank">http://behdad.org/</a></div>
</div>