[whatwg] [html5] r4483 - [giow] (0) Clarify that <br> doesn't stop bidi processing. Fixing http://www.w3. [...]
L. David Baron
dbaron at dbaron.org
Tue Jan 5 06:40:09 PST 2010
On Tuesday 2010-01-05 03:16 -0800, whatwg at whatwg.org wrote:
(describing http://html5.org/tools/web-apps-tracker?from=4482&to=4483)
> [giow] (0) Clarify that <br> doesn't stop bidi processing.
> Fixing http://www.w3.org/Bugs/Public/show_bug.cgi?id=8363
It might be worth saying that it is equivalent to LINE SEPARATOR in
terms of bidi processing, as HTML4 did:
# With respect to bidirectional formatting, the BR element should
# behave the same way the [ISO10646] LINE SEPARATOR character
# behaves in the bidirectional algorithm.
-- http://www.w3.org/TR/html4/struct/text.html#h-9.3.2.1
As I understand it, the bidi algorithm [1] has two parts:
* resolution, in which characters are assigned embedding levels
* reordering, in which the characters are reorderded into their
left-to-right display order by, for each N decreasing from 63 to
1, reversing all contiguous runs of embedding level N or higher
The importance of being a line separator is that *resolution* is run
on paragraphs (so is run on units containing line separators in the
middle), but reordering is run on lines (so it is not run on units
containing line separators).
This means that characters on one side of a line separator can
influence the directionality of characters on the other side, but
reordering can't move them to the opposite side of the BR (i.e.,
across lines).
For example the markup (where uppercase characters are
right-to-left) within a left-to-right direction block:
HEB-<br>REW
looks like:
-BEH
WER
whereas the markup:
HEB-<p>REW
looks like:
BEH-
WER
(the hyphen appears at the opposite end).
-David
[1] http://unicode.org/reports/tr9/
--
L. David Baron http://dbaron.org/
Mozilla Corporation http://www.mozilla.com/
More information about the whatwg
mailing list