RE: IRIs and bidi: Addition regarding higher-level protocols

> From Martin Duerst
>
> But this seems to bring up an other chance for trouble that 
> we haven't really looked at yet. What about the following case:
> 
> logical:  latin text http://www.example.EGYPT ARABIC latin text
> visual?:  latin text http://www.example.CIBARA TPYGE latin text
> 
> This means that we have to be very clear about the fact that 
> IRIs should always be embedded LTR by themselves if there is 
> some RTL text before or after them. This would then 
> automatically address the 3.3.3 W2 case above, too. What do you think?

Martin, concerning your new clause:
<<
When rendered, bidirectional IRIs MUST be rendered using the Unicode
Bidirectional Algorithm [UNIV4], [UNI9]. Bidirectional IRIs MUST be
rendered with an overall left-to-right (ltr) direction. The Unicode
Bidirectional Algorithm ([UNI9], Section 4.3) permits higher-level
protocols to influence bidirectional rendering. Such changes by
higher-level protocols MUST NOT be used if they change the rendering of
IRIs. 
>>
It doesn't seem to cover the issue mentioned above, furthermore LTR
embedding would also not be sufficient to avoid an AL character before
the IRI influencing 3.3.3 W2 result on the IRI itself.
We need to address both cases.

I would propose the following text to replace the above quoted
sub-clause:

<<
When rendered, bidirectional IRIs MUST be rendered using the Unicode
Bidirectional Algorithm [UNIV4], [UNI9] with the additional conditions:
1. Bidirectional IRIs MUST be rendered with an overall left-to-right
(ltr) direction.
2. Bidirectional IRIs MUST be embedded LTR by themselves if there is RTL
text immediately before or after them.
3. For the purpose of clause W2 of the Unicode Bidirectional Algorithm
[UNIV4], it is assumed that the IRI is immediately preceded by a type L
(Left-to-Right) character. No additional bidirectional rendering change
by higher-level protocols is allowed. 
>>

The small diagramm (to be seen in monospaced chars) shows the desired
result

-String before-|  IRI  |-String after--
              L    ON   L
(For the string before and after, the IRI behaves as bidi 'ON')
(For the IRI itself, string before and after behave as bidi 'L')

My proposed text would probably require some wordsmithing (especially
for the 2nd condition) but I wanted to float the proposal before doing
more work on it.

Michel

Received on Friday, 6 February 2004 01:07:11 UTC