Bug 5573 - Bidi algorithm: AN after L has incorrect resolved level
Summary: Bidi algorithm: AN after L has incorrect resolved level
Status: VERIFIED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Layout and Rendering (show other bugs)
Version: 420+
Hardware: Mac OS X 10.4
: P2 Normal
Assignee: Dave Hyatt
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-10-31 10:59 PST by mitz
Modified: 2005-11-28 08:23 PST (History)
0 users

See Also:


Attachments
Testcase (442 bytes, text/html)
2005-10-31 11:02 PST, mitz
no flags Details
Terminate L run when encountring AN on an even level (716 bytes, patch)
2005-10-31 11:40 PST, mitz
no flags Details | Formatted Diff | Diff
Terminate L run when encountring AN on an even level (691 bytes, patch)
2005-10-31 11:43 PST, mitz
darin: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description mitz 2005-10-31 10:59:35 PST
Summary: if the embedding level is even, then in the sequence L AN, the AN's resolved level should be 
greater (by 2) than the L's. WebKit treats them as if they have the same resolved level. (3.3.5 in the UBA).

To reproduce: open the test case in Safari.

Expected: the two lines to be the same, from left to right: English, Hebrew, Arabic digits. Firefox renders 
as expected.

Actual: on the second line, from left to right: English, Arabic digits, Hebrew.
Comment 1 mitz 2005-10-31 11:02:40 PST
Created attachment 4543 [details]
Testcase
Comment 2 mitz 2005-10-31 11:40:16 PST
Created attachment 4544 [details]
Terminate L run when encountring AN on an even level
Comment 3 mitz 2005-10-31 11:43:59 PST
Created attachment 4545 [details]
Terminate L run when encountring AN on an even level

Oops! Corrected style.
Comment 4 mitz 2005-10-31 11:44:24 PST
Comment on attachment 4545 [details]
Terminate L run when encountring AN on an even level

Fixes the testcase and doesn't break any of the layout tests.
Comment 5 Darin Adler 2005-10-31 14:17:40 PST
Comment on attachment 4545 [details]
Terminate L run when encountring AN on an even level

In the future, it's probably worthwhile adding a comment in code that has a
case that falls through to the next case, since the mistake of leaving out a
break is so common and we don't want anyone to think this is a mistake. But
that's a minor quibble. r=me