Hi.
I got a somewhat odd question to ask. I am working with an older version of
wekbit, 2010 namely (http://opensource.apple.com/source/WebCore/WebCore-855.7/)
This version has a problem when displaying RTL text, the letters end up
displayed LTR, the characters are mirrored.
I managed to use fribidi inside TextRun to get things converted, however
TextRun is called so many times, I dont think it is efficient.
Is anyone aware why that version of webkit is having such RTL problems and what
could be done about it? I ran few tests on the code and it seems the problem is
in RenderBlockLineLayout.cpp (Webcore/rendering), method layoutInlineChildren,
class RenderBlock, void return type.
The function fails on the following if condition:
BidiRun* trailingSpaceRun = 0;
if (!previousLineBrokeCleanly && resolver.runCount()
&&
resolver.logicallyLastRun()->m_object->style()->breakOnlyAfterWhiteSpace() &&
resolver.logicallyLastRun()->m_object->style()->autoWrap())
The third condition
resolver.logicallyLastRun()->m_object->style()->breakOnlyAfterWhiteSpace() is
false.
Has anyone been long enough to be aware of problems with this implementation?
From what I see the later versions got completely redesigned and
RenderBlockLineLayout got simplified quite a bit.
I'm wondering right now is it worth merging later versions or just to stick to
fribidi ;-) or/and what kind of problems were in this early implementation.
Does webkit handle converting to RTL? If so, does it use some sort of
heuristics (fribidi) or does it need RTL indicator in HTML.
Any help greatly appreciated, the problem is I cannot really run the code in
debugger (there are certain conditions here), all I can do is to dump debug
statements to the screen or file.
Best Regards and Thanx,
Jarek
_______________________________________________
webkit-help mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-help