[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Compositions and bidi display (was: bug#5977: 24.0.50; Lao HELLO is
From: |
Kenichi Handa |
Subject: |
Re: Compositions and bidi display (was: bug#5977: 24.0.50; Lao HELLO is incorrectly displayed) |
Date: |
Mon, 26 Apr 2010 11:09:30 +0900 |
In article <address@hidden>, Eli Zaretskii <address@hidden> writes:
> > I've just build the trunk code on GNU/Linus, and found that all
> > characters displayed by composition are incorrect.
> Only when bidi-display-reordering is turned on (etc/HELLO does that
> automatically).
> > Here's a brief explanation about control flow.
> Thanks, that part was quite clear from the code. I now fixed display
> of composed characters from L2R scripts when bidi-display-reordering
> is set to non-nil.
I've just
> Where I really need help is in getting compositions to work when text
> is reordered. Is it true that composition_reseat_it and its
> subroutines need to see the to-be-composed characters in strict
> logical order, i.e. left to right? Or can they also work if they see
> the characters to be composed in the reverse order?
> Also, what does this condition (in next_element_from_composition)
> check?
> if (it->c < 0)
> {
> IT_CHARPOS (*it) += it->cmp_it.nchars;
> IT_BYTEPOS (*it) += it->cmp_it.nbytes;
> If the meaning of the test is that there's no composition at the
> iterator's position, then why do we skip some of the buffer text under
> this condition?
I vaguely remember that this is to avoid crash by a bug of a
composition function.
A composition function is written in Lisp and can be tested
interactively without restarting Emacs each time. If it has
a bug while testing, it may produce no glyphs for a chunk of
text. In such a case, composition_update_it returns -1 and
it->c is set to that return value.
---
Kenichi Handa
address@hidden
- Re: Compositions and bidi display (was: bug#5977: 24.0.50; Lao HELLO is incorrectly displayed), Eli Zaretskii, 2010/04/23
- Re: Compositions and bidi display (was: bug#5977: 24.0.50; Lao HELLO is incorrectly displayed), Andreas Schwab, 2010/04/23
- Re: Compositions and bidi display (was: bug#5977: 24.0.50; Lao HELLO is incorrectly displayed),
Kenichi Handa <=
- Re: Compositions and bidi display (was: bug#5977: 24.0.50; Lao HELLO is incorrectly displayed), Kenichi Handa, 2010/04/26
- Re: Compositions and bidi display, Eli Zaretskii, 2010/04/26
- Re: Compositions and bidi display, Kenichi Handa, 2010/04/27
- Re: Compositions and bidi display, Eli Zaretskii, 2010/04/27
- Re: Compositions and bidi display, Kenichi Handa, 2010/04/27
- Re: Compositions and bidi display, Eli Zaretskii, 2010/04/28
- Re: Compositions and bidi display, Stefan Monnier, 2010/04/28
- Re: Compositions and bidi display, Eli Zaretskii, 2010/04/28
- Re: Compositions and bidi display, Kenichi Handa, 2010/04/29