Re: RLI and "bdi", and how to get an update of changes

From: Philippe Verdy <verdy_p_at_wanadoo.fr>
Date: Wed, 16 Jan 2013 09:31:59 +0100

- the CSS "unicode-bidi:embed" (used in HTML) does not work like
isolates, but really like LRE/RLE and PDF.
- the old HTML <bdo> works like CSS "unicode-bidi:override" and line
LRO/RLO and PDF (setting the CSS "text-direction:rtl or ltr" according
to the HTML attribute dir="rtl" or "ltr")

I think it is intended that FSI/PDI will woprk exactly like css
"unicode-bidi:isolate" and the the newer HTML element <bdi> will be
style-mapped by default to this CSS property. But if you add the HTML
attribute dir="rtl" or "ltr", it will also be styled by by default to
CSS "text-direction:rtl or ltr"; if you don't specify it, nothing is
forced.

Now the combination of CSS
"unicode-bidi:isolate;text-direction:rtl/ltr;" which should be the one
mapped by <bdi dir="rtl/ltr">..</bdi> will then be completely
equivalent to the plain text <FSI, RLO, ..., PDF, PDI> or <FSI, LRO,
..., PDF, PDI>, or also simply as <FSI, RLO, ..., PDI> or <FSI, LRO,
..., PDI> (dropping the unnecessary PDF as the content of the isolate
is implicitly handled as if it was a separate paragraph, the so its
internal RLO/LRO extends up to the end even if it does not match any
final PDF.
But it will also be completely equivalent in plain-text to <LRI...PDI>
or <RLI...PDI>.

So my good question remains : do we really need LRI and RLI ??? FSI
and PDI are just enough:
- <PDF,PDI> will always be equivalent to PDI only (the extra PDF adds
nothing significant.
- <RLI> will be fully functionnally equivalent to <FSI,RLO> (there's
no difference in the result of the Bidi algorithm).
- <LRI> will be fully functionnally equivalent to <FSI,LRO> (there's
no difference in the result of the Bidi algorithm).

So it would be time to deprecate LRE/RLE and PDF, and suggest that
RLO/LRO be used only after FSI (would likely be used to force locally
the mirroring of mirrorable neutral punctuations or symbols), and
deprecated everywhere else.
For CSS, "unicode-bidi:embed" would also be deprecated in favor of
"unicode-bidi:isolate"
For HTML, <bdo> would also be deprecated in favor of <bdi> and
dir="rtl" and dir="ltr" would remain non deprecated (but used for
isolates to define a default direction for the first characters, or
for setting the direction of layouts for elements like tables)

Isolates are the best method for embedding elements safely
independantly of the inner contents and outer contexts. They allow
full internationalization without quirks and complex cases to design
an HTML interface or templated web designs.

2013/1/16 Jukka K. Korpela <jkorpela_at_cs.tut.fi>:
>
> However, the W3C HTML5 CR defines <bdi> just as representing "a span of text
> that is to be isolated from its surroundings for the purposes of
> bidirectional text formatting".
>
> Given three protocol levels where the issue can be addressed (character,
> markup, and styling) and two sets of control characters at the character
> level, I would tend to choose the way that actually works, rather than a way
> that some specification or proposal tells me to use.
>
> In HTML documents, which is what the question was about, the working way
> appears to be CSS unicode-bidi: embed, though you can add unicode-bidi:
> isolate after it. (By CSS principles, the latter will be ignored when not
> supported by a browser.) And you can use <bdi> as the element to hook the
> CSS to, though then you would need a little bit of JavaScript to deal with
> the usual troublemakers, old versions of IE. The practical benefit of using
> <bdi> (instead of e.g. <span>) is that on some browsers, you then make the
> content an isolate even when CSS disabled.
>
> Yucca
>
>
Received on Wed Jan 16 2013 - 02:35:45 CST

This archive was generated by hypermail 2.2.0 : Wed Jan 16 2013 - 02:35:46 CST