<div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><br><br><div class="gmail_quote"><div dir="ltr">On Wed, Oct 31, 2018 at 4:03 PM luigi scarso <<a href="mailto:luigi.scarso@gmail.com">luigi.scarso@gmail.com</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"><div dir="ltr"><br><br><div class="gmail_quote"><div dir="ltr">On Wed, Oct 31, 2018 at 4:01 PM Hans Hagen <<a href="mailto:j.hagen@xs4all.nl" target="_blank">j.hagen@xs4all.nl</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 10/31/2018 3:38 PM, luigi scarso wrote:<br>
<br>
> On Tue, Oct 30, 2018 at 11:22 AM luigi scarso <<a href="mailto:luigi.scarso@gmail.com" target="_blank">luigi.scarso@gmail.com</a> <br>
> <mailto:<a href="mailto:luigi.scarso@gmail.com" target="_blank">luigi.scarso@gmail.com</a>>> wrote:<br>
> <br>
> <br>
> <br>
>     On Tue, Oct 30, 2018 at 10:18 AM Ulrike Fischer <<a href="mailto:news3@nililand.de" target="_blank">news3@nililand.de</a><br>
>     <mailto:<a href="mailto:news3@nililand.de" target="_blank">news3@nililand.de</a>>> wrote:<br>
> <br>
>         According to the xelatex output in the following example both<br>
>         variants are not correct. What would be needed would be the first<br>
>         two glyphs from variant 1 (knd2 script) and the third from variant 2<br>
>         (knda script).<br>
> <br>
> <br>
>     dunno, but to start with at  least I visually see what's going on:<br>
> <br>
>     \showotfcomposition{file:notosanskannada-regular.ttf*kannada-testA<br>
>     at 48pt}{-1}{ಕ್ರ}<br>
> <br>
> <br>
>     \showotfcomposition{file:notosanskannada-regular.ttf*kannada-testB<br>
>     at 48pt}{-1}{ಕ್ರ}<br>
> <br>
> support for knd2 is still in progress,<br>
> and  in knda<br>
> glyph ಕ (U+00C95) +  glyph ್ (U+00CCD) + glyph ರ (U+00CB0)<br>
> also is not ok ( at least for what I understand until now).<br>
> I see where it fails ( and where hb does it right), let's see if I am <br>
> able to find a patch.<br></blockquote></div></div></blockquote><div><br></div><div>Well..not so easy (at least for me , never seen devanagari before ) </div><div><br></div><div>glyph ಕ (U+00C95) +  glyph ್ (U+00CCD) + glyph ರ (U+00CB0)<br></div><div>are </div><div>KA +  VIRAMA + RA</div><div>and it is quite complex case (well,  really it could be a moderately complex case ...)</div><div>For Kannada script we  can start by considering <br></div><div> <a href="http://brahmi.sourceforge.net/docs/KannadaComputing.html">http://brahmi.sourceforge.net/docs/KannadaComputing.html</a></div><div>it's an old doc but </div><div>1) it shows the rules for kannada</div><div>2) its says that <br>"""</div><div>2.5 Rendering Rules</div><div>(Based on Microsoft Uniscribe-OpenType implementation of the UNICODE Rendering Rules)<br></div></div><div>"""</div><div>So Uniscribe is the reference for  the rendering rules of this doc, which in turn is the base for unicode.</div><div><br></div><div>Today the reference  unicode is </div><div><a href="http://www.unicode.org/versions/Unicode11.0.0/ch12.pdf">http://www.unicode.org/versions/Unicode11.0.0/ch12.pdf</a><br></div><div>The rules are a bit different from  <a href="http://brahmi.sourceforge.net/docs/KannadaComputing.html">http://brahmi.sourceforge.net/docs/KannadaComputing.html</a></div><div>but  at page 500 we see</div><div>U+0C95 ಕ  ka + U+0CCD  ್  halant + U+0CB0 ರ ra →  ಕ್ರ kra</div><div>which is our case (unicode says that the preferred name for  VIRAMA is halant, so halant is also frequently used )</div><div>What happens is explained at page 464 for devanagari:</div><div>we should consider KA +  VIRAMA + RA as<br></div><div>KAn +  VIRAMAn + RAi, so <br></div><div><br></div><div>R1 </div><div>We have KAn + VIRAMAn , hence</div><div>KAn + VIRAMAn → KAd<br></div><div><br></div><div>R6:</div><div>We have KAd + RAi, hence </div><div>KAd + RAi → KAn + RAsub<br></div><div dir="ltr"><br></div><div>and then </div><div>R13</div><div>KAn + RAsub → K.RAn<br></div><div>and indeed ಕ್ರ is K.RAn<br></div><div><br></div><div>All these rules are re-explained at </div><div><a href="https://docs.microsoft.com/en-us/typography/script-development/kannada#introduction">https://docs.microsoft.com/en-us/typography/script-development/kannada#introduction</a><br></div><div>and font-osd.lua  is based  exactly  on these rules. </div><div>It makes sense, given that, as seen,  these are the reference.</div><div>The functions  for knda are those ending  in *_one  and for what I have seen </div><div>after that the base syllable is correctly isolated,  reorder_one doesn't implement R6 and R13 .<br></div><div>I am quite sure that spending a bit more time I can isolate the point, </div><div>but, as Hans has said, there is the plan to review these scripts.</div><div><br></div><div>-- <br></div><div dir="ltr" class="gmail_signature">luigi<br></div><div dir="ltr" class="gmail_signature"><br></div><div dir="ltr" class="gmail_signature">PS:</div><div dir="ltr" class="gmail_signature">Take these notes  cum grano salis: devanagari is not exactly equal to   kannada, </div><div dir="ltr" class="gmail_signature">and the ms site uses its own terms, not always one finds a match with unicode.</div><div><br></div></div></div></div></div></div></div></div></div></div></div>