- 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 <[email protected]>: > > 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 > >

