See http://dbaron.org/css/test/bidi2. We currently fail this test with the new gfxPangoTextRun because nsBidiPresUtils is reordering the text. It no longer needs to because gfxPangoTextRun (and eventually the other new text runs) promises to render RTL no matter what the characters are; no layout-level reordering is ever needed. The attached patch fixes the issue. I'm adding a new hint so we can alter layout-level behaviour when the new text runs are available. This is of course an interim fix until we're using new text runs everywhere, then this code can be removed/simplified.
The patch also switches nsLayoutUtils::GetStringWidth to use the runtime hint instead of an #ifdef. This will be more maintainable...
Attachment #252508 - Flags: review?(smontagu) → review+
Comment on attachment 252508 [details] [diff] [review] fix sr=dbaron. Could you add an "XXX TEMPORARY" or something of that sort to the comment in nsIRenderingContext.h ? A diff -b would have been nice. I recommend doing that to double-check things before you check in.
Attachment #252508 - Flags: superreview?(dbaron) → superreview+
Status: NEW → RESOLVED
Closed: 13 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.