Re: Re: Arabic support
Amit Aronovitch <[email protected]> Fri, 3 Sep 2010 17:32:33 +0300
| Newsgroups | gmane.emacs.bidi,gmane.emacs.devel |
|---|---|
| Message-ID | <[email protected]> |
--===============0691555472== Content-Type: multipart/alternative; boundary=000e0cd6a89621c145048f5bcd25 --000e0cd6a89621c145048f5bcd25 Content-Type: text/plain; charset=ISO-8859-1 On Fri, Sep 3, 2010 at 4:25 PM, Eli Zaretskii <[email protected]> wrote: <- Snipped text -> > Even if everything I said above is correct, there are complications. > ABCDE could be inside an embedding with left to right override, like > this: > > foobar RLO ABCDE PDF > > This should be displayed as > > foobar ABCDE > > i.e., "ABCDE" is not reordered, but displayed in the logical order, as > forced by RLO. Therefore, the reshaped "XYZ" should also be displayed > left to right: > > foobar XYZ > > But, if I understand correctly how composition works, the > auto-composed sequence in this case will still be just "XYZ", without > the RLO and PDF control characters. So the `shape' method of the font > driver will still see just "XYZ" in the LGSTRING, without the control > characters, and will reorder "XYZ", which is incorrect. > > If we need the `shape' method to reorder glyphs, then in order for it > do its job correctly, we need to give it the entire bidi context of > the string we are asking it to reshape. In the above example, we need > to tell it about the override directive, i.e. pass it "ABCDE" with > surrounding RLO and PDF controls. This flies in the face of the > current design, which separates reordering from glyph shaping. > > Is that a typo? I think you mean LRO (U+202D) rather than RLO in all cases above. (Just commenting, to avoid further misunderstandings). Amit --000e0cd6a89621c145048f5bcd25 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr"><br><br><div class=3D"gmail_quote">On Fri, Sep 3, 2010 at = 4:25 PM, Eli Zaretskii <span dir=3D"ltr"><<a href=3D"mailto:[email protected]= ">[email protected]</a>></span> wrote:<br><div><br></div><div><- Snipped t= ext -></div> <div>=A0</div><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;= border-left:1px #ccc solid;padding-left:1ex;"><div class=3D"im"></div> Even if everything I said above is correct, there are complications.<br> ABCDE could be inside an embedding with left to right override, like<br> this:<br> <br> =A0foobar RLO ABCDE PDF<br> <br> This should be displayed as<br> <br> =A0foobar ABCDE<br> <br> i.e., "ABCDE" is not reordered, but displayed in the logical orde= r, as<br> forced by RLO. =A0Therefore, the reshaped "XYZ" should also be di= splayed<br> left to right:<br> <br> =A0foobar XYZ<br> <br> But, if I understand correctly how composition works, the<br> auto-composed sequence in this case will still be just "XYZ", wit= hout<br> the RLO and PDF control characters. =A0So the `shape' method of the fon= t<br> driver will still see just "XYZ" in the LGSTRING, without the con= trol<br> characters, and will reorder "XYZ", which is incorrect.<br> <br> If we need the `shape' method to reorder glyphs, then in order for it<b= r> do its job correctly, we need to give it the entire bidi context of<br> the string we are asking it to reshape. =A0In the above example, we need<br= > to tell it about the override directive, i.e. pass it "ABCDE" wit= h<br> surrounding RLO and PDF controls. =A0This flies in the face of the<br> current design, which separates reordering from glyph shaping.<br> <br></blockquote><div><br></div><div>Is that a typo? I think you mean LRO (= U+202D) rather than RLO in all cases above.</div><div>(Just commenting, to = avoid further misunderstandings).</div><div><br></div><div>=A0=A0 Amit</div= > <div><br></div></div></div> --000e0cd6a89621c145048f5bcd25-- --===============0691555472== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ emacs-bidi mailing list [email protected] http://lists.gnu.org/mailman/listinfo/emacs-bidi --===============0691555472==--