From: André Szabolcs Szelp (a.sz.szelp@gmail.com)
Date: Fri Nov 07 2008 - 02:40:51 CST
This ought to be fixed then ....
2008/11/4 Asmus Freytag <asmusf@ix.netcom.com>:
> On 11/4/2008 1:14 AM, Michael Everson wrote:
>
> On 4 Nov 2008, at 08:09, Kent Karlsson wrote:
>
> I know. That is why there is a loophole, but only a loophole,
> in the bidi algorithm. It covers (badly) Old Italic, which is
> encoded as LTR, when overriden as RTL to (sometimes, only
> sometimes, using some as yet unheard of higher-level-protocol
> mechanism; I can imagine them, just haven't seen any) produce
> mirrored glyphs for the Old Italic letters.
>
> "The font" is supposed to do that. We've always been told this.
>
> But if the bidi algorithm says not to mirror, the font [handling
> system] should not start to mirror. The mirroring is governed by the
> bidi algorithm. If the font mirrors glyphs anyway, it's simply a
> flawed font.
>
> You say this with a lot of conviction. I don't think you're right though.
>
> Just read the standard, in this case UAX#9.
>
> The Bidirectional Conformance section says, removing language not needed for
> this discussion:
>
> UAX9-C1. In the absence of a permissible higher-level protocol, a process
> that renders text shall display all visible representations of characters
> (excluding format characters) in the order described by Section 3, Basic
> Display Algorithm, of this annex. In particular, this includes ....L4
>
> UAX-C2. The only permissible higher-level protocols are those listed in
> Section 4.3, Higher-Level Protocols. They are ... and HL6
>
> and L4 is the step that defines mirroring.
>
> L4. A character is depicted by a mirrored glyph if and only if (a) the
> resolved directionality of that character is R, and (b) the Bidi_Mirrored
> property value of that character is true..
>
> This rule can be overridden in certain cases; see HL6.
>
> and, finally, HL6 says:
>
> HL6.Additional mirroring.
>
> Characters with a resolved directionality of R that do not have the
> Bidi_Mirrored property can also be depicted by a mirrored glyph in
> specialized contexts. Such contexts include, but are not limited to,
> historic scripts and associated punctuation, private-use characters, and
> characters in mathematical expressions. (See Section 6, Mirroring.)
>
> As you can see, the case where an RTL script is overridden to L is *not*
> covered by this language. Conformant process MUST NOT mirror characters in
> this case. What the UAX should have been saying is:
>
> "Characters with a resolved directionality of R, or characters defined in
> the standard with bidirectional class of R and resolved directionality of L,
> can also...."
>
> But, unless it's fixed, that UAX is *not* saying that and Kent's correct.
>
> A./
>
>
>
>
This archive was generated by hypermail 2.1.5 : Fri Nov 07 2008 - 02:42:19 CST