[FriBidi] Implementation of X6 in the FriBidi library
Behdad Esfahbod
behdad at behdad.org
Mon Sep 28 12:58:12 PDT 2009
Hi Eli,
I'm not sure I understand the issue you are raising completely. However, I
think it's a non-issue since BN characters are conceptually removed in X9, so
it doesn't matter. However, there is a change around these rules coming in
the next update to UAX#9 that explicitly supports the code as is, see:
http://www.unicode.org/reports/tr9/tr9-20.html
Does that address your concern?
behdad
On 09/28/2009 01:17 PM, Eli Zaretskii wrote:
> Hi,
>
> Sorry if this is a FAQ, and please point me at it if it is.
>
> The file fribidi-bidi.c in the FriBidi library has this code:
>
> for_run_list (pp, main_run_list)
> {
> FriBidiCharType this_type = RL_TYPE (pp);
> if (FRIBIDI_IS_EXPLICIT_OR_BN (this_type))
> {
> ...
> }
> else
> {
> /* X6. For all types besides RLE, LRE, RLO, LRO, and PDF:
> a. Set the level of the current character to the current
> embedding level.
> b. Whenever the directional override status is not neutral,
> reset the current character type to the directional override
> status. */
> RL_LEVEL (pp) = level;
> if (!FRIBIDI_IS_NEUTRAL (override))
> RL_TYPE (pp) = override;
> }
>
> Unless I'm misreading the code, this means that X6 is not applied to
> characters whose original type is "WEAK BN". However, UAX#9 does not
> exempt WEAK BN characters from the override, so this looks like being
> against the UAX#9 rules.
>
> Am I missing something? are there good reasons for behaving like that?
>
> TIA
> _______________________________________________
> fribidi mailing list
> fribidi at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/fribidi
>
More information about the fribidi
mailing list