- From: CE Whitehead <cewcathar@hotmail.com>
- Date: Thu, 16 Dec 2010 14:30:15 -0500
- To: <mohiem@eg.ibm.com>, <aharon@google.com>
- CC: <fantasai.lists@inkedblade.net>, <public-i18n-bidi@w3.org>, <public-i18n-bidi-request@w3.org>, <www-style@w3.org>
- Message-ID: <SNT142-w23E793B9FBE67B1E767EEFB3150@phx.gbl>
+ 1 on this OR NOT TO BE? (with rtl characters) should be displayed as RTL even though on a new line. (And it is in my ie8 browser, so I am confused; the only trouble comes in notepad with the punctuation I think . . . and does not seem to ) itehead cewcathar@hotmail.com > To: aharon@google.com > CC: fantasai.lists@inkedblade.net; public-i18n-bidi@w3.org; public-i18n-bidi-request@w3.org; www-style@w3.org > From: MOHIEM@eg.ibm.com > Date: Thu, 16 Dec 2010 12:51:39 +0200 > Subject: Re: Need to clarify the effects of bidi paragraph breaks > > I support the proposal of not allowing <br> to break the inherited > directionality as Aharon highlighted in the example below: > "OR NOT TO BE?" > In my opinion the above should be displayed as RTL. > > > Thanks And Best regards, > Mohamed Mohie , PMP® > ________________________________________________ > GCoC BIDI , > Advisory Software Engineer, Project Manager, M.Sc. > Cairo Technology Development Center (CTDC) - CMMI L5 > IBM Egypt > > > > From: "Aharon (Vladimir) Lanin" <aharon@google.com> > To: W3C style mailing list <www-style@w3.org>, fantasai > <fantasai.lists@inkedblade.net>, "public-i18n-bidi@w3.org" > <public-i18n-bidi@w3.org> > Date: 16/12/2010 12:13 Õ > Subject: Need to clarify the effects of bidi paragraph breaks > Sent by: public-i18n-bidi-request@w3.org > > > > Currently, the CSS Writing Modes Module Level 3 spec on text direction > states: > > "User agents that support bidirectional text must apply the Unicode > bidirectional algorithm to every sequence of inline boxes uninterrupted by > a forced (bidi class B) line break or block boundary. This sequence forms > the "paragraph" unit in the bidirectional algorithm. The paragraph > embedding level is set according to the value of the ‘direction’ property > of the containing block rather than by the heuristic given in steps P2 and > P3 of the Unicode algorithm." > > Further down in the same major section, the definition of > unicode-bidi:plaintext states: > > "For the purposes of the Unicode bidirectional algorithm, the base > directionality of each "paragraph" for which the element is the containing > block element is determined not by the element's computed ‘direction’ as > usual, but by following rules P1, P2, and P3 of the Unicode bidirectional > algorithm." > > I think that these parts of the spec needs to be tweaked in several > respects: > > 1. There is no reason to mention rule P1 when describing how > unicode-bidi:plaintext affects the base directionality of each paragraph. > P1 deals with how the text is split up into paragraphs, not with the > direction of each paragraph, and applies to all content, regardless > of unicode-bidi:plaintext. > > 2. I think it would improve clarity to mention the unicode-bidi:plaintext > exception when first describing how the paragraph embedding level is set > (first quote above). Thus, the last sentence of the first quote should > read: > > "The paragraph embedding level is set according to the value of the > ‘direction’ property of the containing block, unless the containing block > element has unicode-bidi:plaintext, in which case it is set according to > the heuristic given in steps P2 and P3 of the Unicode algorithm." > > 3. We must probably explicitly define the effect of a paragraph break (i.e. > a block boundary or bidi class B line break, which in HTML5 includes <br>) > when the path from the containing block element to the paragraph break > includes elements with a unicode-bidi value other than "normal". For > example, what happens when we have (as usual, uppercase English is used > instead of RTL characters) : > > <div dir=ltr> > <span dir=rtl> > TO BE<br> > OR NOT TO BE? > </span> > -- hamlet, in rtl translation. > </div> > > Should the "OR NOT TO BE?" be displayed in rtl ("?EB OT TON RO") or in ltr > ("EB OT TON RO?")? > > While it seems obvious that it should be displayed in RTL because it is > part of a <span dir=rtl>, that is not the result if we simply translate the > above into Unicode bidi formatting characters, i.e. > > [RLE]TO BE > OR NOT TO BE?[PDF] -- hamlet, in rtl translation. > > The overall direction of both paragraphs is ltr (P2 and P3 are overridden), > and since the paragraph break resets all embedding levels, the [PDF] is > orphaned, and the question mark winds up to the right of "EB OT TON RO". > > I believe that the correct approach to take is to treat the second bidi > paragraph (i.e. "TO BE ... translation.") the same as: > > <div dir=ltr> > <span dir=rtl> > OR NOT TO BE? > </span> > -- hamlet, in rtl translation. > </div> > > In other words, while the paragraph's overall level should be set according > to the value of the ‘direction’ property of the containing block (ltr), it > should be opened by repeating the embeddings or overrides introduced by the > elements between the paragraph break and the containing block - in our > example, the equivalent of an RLE (which is then matched by the </span>'s > PDF equivalent). > > This is similar to the CSS specs for anonymous block boxes, i.e: > > "When an inline box contains a block box, the inline box (and its inline > ancestors within the same line box) are broken around the block. The line > boxes before the break and after the break are enclosed in anonymous boxes, > and the block box becomes a sibling of those anonymous boxes. When such an > inline box is affected by relative positioning, the relative positioning > also affects the block box." > > "The properties of anonymous boxes are inherited from the enclosing > non-anonymous box". > > Does a line break does result in anonymous boxes? If not, we certainly need > something in the Writing Modes spec. Actually, it would be good to have it > either anyway, just to clarify things. > > 4. When the path from the containing block element to the paragraph break > includes an element with unicode-bidi:isolate, there is no reason to go > back all the way to the containing block element to get the new paragraph's > base direction and the embeddings to be reconstituted at its start. Instead > of referring to the containing block element, the spec should be referring > to the closest unicode-bidi:isolate ancestor or containing block element, > whichever is closer. > > Aharon
Received on Thursday, 16 December 2010 19:30:50 UTC