From: Richard Wordingham via "Bug reports for GNU Emacs, the Swiss army knife of text editors" <bug-gnu-emacs@gnu.org>
To: Eli Zaretskii <eliz@gnu.org>
Cc: 20140@debbugs.gnu.org, larsi@gnus.org
Subject: bug#20140: 24.4; M17n shaper output rejected
Date: Mon, 14 Feb 2022 22:14:27 +0000 [thread overview]
Message-ID: <20220214221427.35231794@JRWUBU2> (raw)
In-Reply-To: <83mtitpouv.fsf@gnu.org>
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.
next prev parent reply other threads:[~2022-02-14 22:14 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-03-18 22:20 bug#20140: 24.4; M17n shaper output rejected Richard Wordingham
2015-03-19 3:43 ` Eli Zaretskii
2015-03-21 8:33 ` K. Handa
2015-03-21 17:20 ` Wolfgang Jenkner
2015-03-21 17:58 ` Richard Wordingham
2015-03-21 18:26 ` Eli Zaretskii
2015-03-25 14:25 ` K. Handa
2015-03-25 21:45 ` Richard Wordingham
2015-04-05 19:48 ` Richard Wordingham
2022-02-03 21:21 ` Lars Ingebrigtsen
2022-02-04 7:37 ` Eli Zaretskii
2022-02-05 22:52 ` Richard Wordingham via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-02-06 8:11 ` Eli Zaretskii
2022-02-06 22:09 ` Richard Wordingham via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-02-07 14:04 ` Eli Zaretskii
2022-02-07 23:38 ` Richard Wordingham via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-02-08 22:13 ` Richard Wordingham via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-02-12 18:54 ` Eli Zaretskii
2022-02-13 16:04 ` Eli Zaretskii
2022-02-13 20:53 ` Richard Wordingham via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-02-14 13:19 ` Eli Zaretskii
2022-02-14 22:14 ` Richard Wordingham via Bug reports for GNU Emacs, the Swiss army knife of text editors [this message]
2022-02-15 1:27 ` Richard Wordingham via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-02-16 15:13 ` Eli Zaretskii
2022-02-16 15:12 ` Eli Zaretskii
2022-02-16 15:11 ` Eli Zaretskii
2022-02-13 19:49 ` Eli Zaretskii
2022-02-13 21:11 ` Richard Wordingham via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-02-14 13:26 ` Eli Zaretskii
2022-02-14 23:26 ` Richard Wordingham via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-02-15 14:40 ` Eli Zaretskii
2022-02-15 21:06 ` Richard Wordingham via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-02-16 13:15 ` Eli Zaretskii
2022-02-16 19:01 ` Richard Wordingham via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-02-16 19:20 ` Eli Zaretskii
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220214221427.35231794@JRWUBU2 \
--to=bug-gnu-emacs@gnu.org \
--cc=20140@debbugs.gnu.org \
--cc=eliz@gnu.org \
--cc=larsi@gnus.org \
--cc=richard.wordingham@ntlworld.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.