Summary: | Incorrect layout of bidi overrides | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | mitz | ||||||||||
Component: | Layout and Rendering | Assignee: | Dave Hyatt <hyatt> | ||||||||||
Status: | VERIFIED FIXED | ||||||||||||
Severity: | Normal | ||||||||||||
Priority: | P2 | ||||||||||||
Version: | 420+ | ||||||||||||
Hardware: | Mac | ||||||||||||
OS: | OS X 10.4 | ||||||||||||
Bug Depends on: | |||||||||||||
Bug Blocks: | 4898 | ||||||||||||
Attachments: |
|
Description
mitz
2005-09-06 00:01:21 PDT
Created attachment 3778 [details]
testcase
Created attachment 3784 [details]
testcase
Extended tescase
Created attachment 3785 [details] patch for CG-rendered runs only This patches the run-levels side of things, which resolves the issue for all text that subsequently gets rendered by the CG codepath. (This makes the testcase render as expected only if you apply the patch for bug 4844 along with this patch). The problem with ATSUI is that it applies its own bidi algorithm and there is no API to disable it, so I think the best option is to do something similar to what is already done with visually-ordered text, which is to embed the run in a LRO/RLO - PDF pair. I think this will also require adding to RenderText objects knowledge of their override state. Created attachment 3792 [details]
suggested patch
Went ahead and added bidi override state to BidiRun and InlineTextBox for the
sole purpose of letting WebTextRenderer know that it has to force ATSUI to
render in visual or reverse-visual order.
Comment on attachment 3792 [details]
suggested patch
Looks good. r=me.
|