[HarfBuzz] HarfBuzz shaping of R2L text

Richard Wordingham richard.wordingham at ntlworld.com
Thu May 30 18:48:34 UTC 2019


On Thu, 30 May 2019 17:05:32 +0300
Eli Zaretskii <eliz at gnu.org> wrote:

> > Date: Thu, 30 May 2019 01:18:24 +0100
> > From: Richard Wordingham <richard.wordingham at ntlworld.com>
> > 
> > On Wed, 29 May 2019 22:32:12 +0300
> > Eli Zaretskii <eliz at gnu.org> wrote:
> > 
> > The attached files shows a rendering of <U+1A20 TAI THAM LETTER HIGH
> > KA, U+1A6E TAI THAM VOWEL SIGN E, U+1A63 TAI THAM VOWEL SIGN AA>;
> > one could equally well use <U+1000 MYANMAR LETTER KA, U+1031,
> > U+102C>.  The visual order (in the direction of the script, from
> > left to right) is <SIGN E, LETTER...KA, SIGN AA>.   
> 
> What font(s) do you use for these scripts?
> 
> Also, I'm not sure I understand why you describe some kind of
> reordering in this case: AFAICT, all of the characters you mentioned
> have string L directionality.  So why would they need to be reordered?

The reordering is that the order in the backing store is:

<LETTER...KA, SIGN E, SIGN AA>

but the ordering in the display, left to right, is:

<SIGN E, LETTER...KA, SIGN AA>

I'd be surprised if this caused much problem.  I think the big issue is
related to the different meaning of advance width for left-to right and
right-to-left layout.  The OpenType scheme just changes the order of
the major base glyphs for (non-Kharoshthi) Indic reordering, so what you
see on the page is what you have in the glyph sequence. 

> What font(s) do you use for these scripts?

Tai Tham:  Da Lekh (mostly), Da Lekh Si (for proof-reading on renderers
supporting multi-coloured glyphs), Lamphun (for beauty).  You can
download them via http://www.wrdingham.co.uk/lanna/renderer_test.htm .
There's also an unlawful conversion of Lamphun to TrueType flavour in
use at Richard Ishida's pages about Tai Tham.

I use Da Lekh with almost no trouble in Emacs 24.4 via M17n.  (The
problem is that Tai Tham text has greater vertical extent than Latin
text, exacerbated by my font's simple-minded preference for vertical
stacking.  This seems to cause gaps in coverage when paging through
files; I suspect I'm using an unsupported paging command.)

Myanmar: Probably Padauk.  However, if you're working on Windows, I
strongly urge using a system default to be sure that you don't
unintentionally use Graphite, which I believe Padauk prefers.

Any font that uses OpenType shaping for the relevant script should do.
One sanity check is to ensure that the three characters use three
glyphs.  There are a lot of Tai Tham fonts out there that do shaping by
ligating.

Richard.


More information about the HarfBuzz mailing list