Every punctuation symbol excluding '?' works fine in pair with '»', but pair ?» can break into two lines if there isn't enough space in block so ? stays one line and » moved to the next line.
Created attachment 19274 [details] test case
Confirmed with r30421.
To match WinIE, WebKit always allows lines to break after a question mark.
Created attachment 19281 [details] updated test case Made the test case work with IE, which didn't respect div width in the original one. I do not see any special behavior for question marks in IE7 here.
(In reply to comment #4) > Created an attachment (id=19281) [edit] > updated test case > > Made the test case work with IE, which didn't respect div width in the original > one. I do not see any special behavior for question marks in IE7 here. Interesting! If I replace the quotation mark with a plain Latin letter then IE7 does wrap after the question mark. Apparently IE's behavior is more complex than WebKit's approximation.
*** Bug 19174 has been marked as a duplicate of this bug. ***
Bug 19174 was about the same issue with a question mark followed by a double quotation mark: ?"
<rdar://problem/7573493>
Created attachment 47371 [details] Change rules for allowing a line break after a question mark
Comment on attachment 47371 [details] Change rules for allowing a line break after a question mark > +static const unsigned char internetExplorerBreaksBetweenQuestionMarkAnd[] = { I think it would be better to have a size of 0x80 on this array definition. I think it's a bit curious to name this array with a verb as if it was a function. A mathematical way of thinking about an array. Programmers tend to think of them as objects instead. > + // Internet Explorer allows breaking afer a question mark preceding one of a subset of > + // characters in ASCII. For characters outside ASCII, defer to the Unicode algorithm by returning false. This comment should somehow state that the array is used for enhanced speed as well as to match IE. If all we cared about was matching IE, then the code could say just: case '?': return nextCh == '|'; > case '?': > + return nextCh <= 0x7f && internetExplorerBreaksBetweenQuestionMarkAnd[nextCh]; I prefer capital hex, myself. It would be nice if the check here was more tied to the size of the array. r=me
Fixed in <http://trac.webkit.org/projects/webkit/changeset/53839>.
*** Bug 34807 has been marked as a duplicate of this bug. ***