01.11.2014 Views

A Proposal for Bidi Isolates in Unicode

A Proposal for Bidi Isolates in Unicode

A Proposal for Bidi Isolates in Unicode

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

In the second paragraph (“These controls all have the property <strong>Bidi</strong>_Control …”), replace “two<br />

groups” with “three ranges”.<br />

Add a third range:<br />

Explicit <strong>Bidi</strong> Controls <strong>for</strong> <strong>Isolates</strong><br />

U+????..U+???? LEFT-TO-RIGHT ISOLATE..POP DIRECTIONAL ISOLATE<br />

One possible place to locate these characters would be U+2066 through U+2069.<br />

In the paragraph beg<strong>in</strong>n<strong>in</strong>g with “On web pages”, replace “with the values dir="ltr" or dir="rtl"”<br />

with “and the elements BDI and BDO”.<br />

After “Characters with<strong>in</strong> an embedd<strong>in</strong>g can affect the order<strong>in</strong>g of characters outside, and vice<br />

versa”, add the follow<strong>in</strong>g sentence:<br />

That is the precise difference between those codes and the explicit isolate codes. Characters<br />

with<strong>in</strong> an isolate can not affect the order<strong>in</strong>g of characters outside it, or vice versa.<br />

Add one more paragraph at the end of section 2.1 (“Explicit Directional Embedd<strong>in</strong>g”):<br />

In most cases, us<strong>in</strong>g one of the explicit directional isolate codes will give the same or better<br />

results than an explicit directional embedd<strong>in</strong>g code.<br />

Rename section 2.3 (“Term<strong>in</strong>at<strong>in</strong>g Explicit Directional Code”) to “Term<strong>in</strong>at<strong>in</strong>g Explicit Directional<br />

Embedd<strong>in</strong>gs and Overrides”.<br />

In the <strong>in</strong>troductory paragraph of 2.3, replace “last explicit code (either embedd<strong>in</strong>g or override)”<br />

with “last explicit embedd<strong>in</strong>g or override code whose effects have not yet been term<strong>in</strong>ated”.<br />

Add two new sections between 2.3 and 2.4.In the present document they are called 2.3+1 and<br />

2.3+2, but when applied to UAX #9, the subsections should be renumbered:<br />

2.3+1 Explicit Directional <strong>Isolates</strong><br />

The follow<strong>in</strong>g codes signal that a piece of text is to be treated as directionally isolated from its<br />

surround<strong>in</strong>gs. They are very similar to the embedd<strong>in</strong>g codes, and like them allow <strong>for</strong> nest<strong>in</strong>g. (In<br />

fact, any explicit directional code can be nested with<strong>in</strong> the scope of any other.) The difference<br />

between isolates and embedd<strong>in</strong>gs is that while an embedd<strong>in</strong>g roughly has the effect of a strong<br />

character on the order<strong>in</strong>g of the surround<strong>in</strong>g text, an isolate has the effect of a neutral like<br />

OBJECT REPLACEMENT CHARACTER (U+FFFC). Furthermore, the text <strong>in</strong>side the isolate has<br />

no effect on the order<strong>in</strong>g of the text outside it, or vice-versa.<br />

In addition to allow<strong>in</strong>g embedd<strong>in</strong>g text whose direction is the opposite of its surround<strong>in</strong>gs without<br />

unduly affect<strong>in</strong>g its surround<strong>in</strong>gs, one of the isolate codes also offers an extra feature:

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!