[css21] Forced linebreaks and BiDi

CSS 2.1 (<http://www.w3.org/TR/CSS21/visuren.html#direction>) says:

# User agents that support bidirectional text must apply the Unicode
# bidirectional algorithm to every sequence of inline boxes uninterrupted  
by a
# forced line break or block boundary. This sequence forms the "paragraph"  
unit
# in the bidirectional algorithm.

By my reading this implies that two text segments separated by a line feed  
would each have the bidi algorithm applied to them separately. From what I  
can tell only currently WebKit does so, the others I tested (Gecko,  
Presto, Trident) all seem to keep them as one paragraph.

The spec also says HTML4 "defines bidirectionality behavior for HTML  
elements", and <http://www.w3.org/TR/html4/struct/text.html#edef-BR>  
explicitly states that <BR> "should behave the same way the [ISO10646]  
LINE SEPARATOR character behaves in the bidirectional algorithm"[1]. It  
seems inconsistent to choose another approach for other types of  
linebreak, especially given the expected UA styling of <br> (as given by  
both CSS2.1 and HTML5).

Demo:

<!doctype html>
<div style="white-space:pre">1&#x0639;
1&#x0639;</div>


[1] HTML 5 currently does not:  
<http://www.w3.org/Bugs/Public/show_bug.cgi?id=8363>
-- 
Øyvind Stenhaug
Core Norway, Opera Software ASA

Received on Tuesday, 24 November 2009 18:19:12 UTC