L2/08-357

From: The bidi subcommittee
To: The UTC
Re: Proposed clarifications in UAX #9
Date: 2008-09-30

The Bidi subcommittee has discussed some proposals for some needed clarifications to the text of  UAX #9. It has come to consensus on the following text, and proposes it for inclusion in the next version of UAX #9.
Note that all of these text changes serve only to further clarify the current intent of the text; there is no change whatsoever to the algorithm or its impact when applied to the layout of bidirectional text.

Proposed text for 3.3.2:  http://unicode.org/reports/tr9/#Explicit_Levels_and_Directions

After:
All explicit embedding levels are determined from the embedding and override codes, by applying the explicit level rules X1 through X9. These rules are applied as part of the same logical pass over the input.
Add:
As each character is processed, the current embedding level and the directional override status are tracked, being adjusted or kept the same depending on the type of that character. In turn, the current embedding level and the directional override status affect the assignment of the explicit embedding level for each character as defined by rules X1 through X9.


Proposed text for 3.3.2http://unicode.org/reports/tr9/#X6


Change:
b. Whenever the directional override status is not neutral, reset the current character type to the directional override status.
To the following (insertions underlined):
b. Whenever the directional override status is not neutral, reset the current character type according to the directional override status. (see Table 2)

After:
If the directional override status is neutral, then characters retain their normal types: Arabic characters stay AL, Latin characters stay L, neutrals stay N, and so on. If the directional override status is R, then characters become R. If the directional override status is L, then characters become L.
Add:
The current embedding level is not changed by this rule.



Proposed text for 3.3.4http://unicode.org/reports/tr9/#N2

After:
N2. Any remaining neutrals take the embedding direction.

N → e
Add:
The embedding direction for the given neutral character is derived from its embedding level: L if the character is set to an even level, and R if the level is odd. (See BD3.)

There are also two typos in 3.4 http://www.unicode.org/reports/tr9/#Reordering_Resolved_Levels, examples 2 and 3:

Change:
Reverse level 1: rac MEANS CAR.                 

To:
Reverse level 2: rac MEANS CAR.


Change:
Reverse level 1:he said “rac MEANS CAR.”

To:
Reverse level 2:he said “rac MEANS CAR.”