[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#20140: 24.4; M17n shaper output rejected
From: |
Richard Wordingham |
Subject: |
bug#20140: 24.4; M17n shaper output rejected |
Date: |
Mon, 14 Feb 2022 22:14:27 +0000 |
On Mon, 14 Feb 2022 15:19:36 +0200
Eli Zaretskii <eliz@gnu.org> wrote:
> > Date: Sun, 13 Feb 2022 20:53:10 +0000
> > From: Richard Wordingham <richard.wordingham@ntlworld.com>
> > Cc: larsi@gnus.org, 20140@debbugs.gnu.org
> >
> > On Sun, 13 Feb 2022 18:04:11 +0200
> > Eli Zaretskii <eliz@gnu.org> wrote:
> >
> > > But that didn't seem to work well enough: e.g., some marks in your
> > > "sample text" didn't combine with letters, as I think they
> > > should.
> >
> > Which ones?
>
> Sorry, that was my faulty testing: I tested a half-baked change. Your
> rules do work correctly, AFAICT.
>
> But I have 2 questions:
>
> 1) Why do we need this part of the composition rules:
>
> (vector "." 0 'font-shape-gstring)
>
> This matches just one character, so what do we want to accomplish
> by this rule? A single character cannot "self-compose", can it?
No, but in general it may need shaping, e.g. to take advantage of the
locl feature. If that's not needed for shaping to happen, then
dispense with it - unless it was need for general consistency.
> 2) Since tai-tham-composable-pattern always starts with what you
> denote as "C", how about setting up only entries of
> composition-function-table that correspond to those characters,
> i.e.:
>
> (let ((elt (list (vector tai-tham-composable-pattern 0
> 'font-shape-gstring) )))
> (set-char-table-range composition-function-table '(#x1A20 .
> #x1A54) elt) (set-char-table-range composition-function-table
> '(#x1A80 . #x1A89) elt) (set-char-table-range
> composition-function-table '(#x1A90 . #x1A99) elt)
> (set-char-table-range composition-function-table '(#x1AA0 . #x1AAD)
> elt))
>
> Do you see any problems with that?
It may affect the rendering of isolated marks, particularly the
preposed ones like U+1A55 TAI THAM CONSONANT SIGN MEDIAL RA and
U+1A6E TAI THAM VOWEL SIGN E. I'll have to investigate HarfBuzz-using
Emacs. I can't think of any other possible problems. My first thought
is that it is unnecessarily complicated, and sets up work for when (if?)
TAI THAM LAO LOW HA gets added.
> > You should also add CGJ and ZWNJ, and some people may appreciate
> > ZWJ - the Khottabun font has ligatures involving ZWJ, though it may
> > just be an experimental feature - and ultimately WJ, for when
> > someone writes a Tai Tham word breaker.
>
> How should I add CGJ and ZWNJ? What are the rules?
>
> > Oh, and Thai and Lao mai t(r)i and mai chat(t)awa and U+0324
> > COMBINING DIAERESIS BELOW turn up occasionally - U+0324 is supported
> > in Thep's Khottabun font, and my Da Lekh series supports Thai mai
> > tri and mai chattawa. These characters seem to work with HarfBuzz.
>
> Not sure I understand: what patterns/rules should be added for these?
Add them all to "M" in the definition of tai-tham-composable-pattern.
Strictly, U+0324 should also be added to "S", but I'd be surprised to
see it in a genuine spelling.
Richard.
- bug#20140: 24.4; M17n shaper output rejected, (continued)
- bug#20140: 24.4; M17n shaper output rejected, Richard Wordingham, 2022/02/08
- bug#20140: 24.4; M17n shaper output rejected, Eli Zaretskii, 2022/02/12
- bug#20140: 24.4; M17n shaper output rejected, Eli Zaretskii, 2022/02/13
- bug#20140: 24.4; M17n shaper output rejected, Richard Wordingham, 2022/02/13
- bug#20140: 24.4; M17n shaper output rejected, Eli Zaretskii, 2022/02/14
- bug#20140: 24.4; M17n shaper output rejected,
Richard Wordingham <=
- bug#20140: 24.4; M17n shaper output rejected, Richard Wordingham, 2022/02/14
- bug#20140: 24.4; M17n shaper output rejected, Eli Zaretskii, 2022/02/16
- bug#20140: 24.4; M17n shaper output rejected, Eli Zaretskii, 2022/02/16
- bug#20140: 24.4; M17n shaper output rejected, Eli Zaretskii, 2022/02/16
- bug#20140: 24.4; M17n shaper output rejected, Eli Zaretskii, 2022/02/13
- bug#20140: 24.4; M17n shaper output rejected, Richard Wordingham, 2022/02/13
- bug#20140: 24.4; M17n shaper output rejected, Eli Zaretskii, 2022/02/14
- bug#20140: 24.4; M17n shaper output rejected, Richard Wordingham, 2022/02/14
- bug#20140: 24.4; M17n shaper output rejected, Eli Zaretskii, 2022/02/15
- bug#20140: 24.4; M17n shaper output rejected, Richard Wordingham, 2022/02/15