Version: (using KDE KDE 3.1.94) Installed from: Compiled From Sources Compiler: gcc 3.3.1 OS: Linux When English numbers apear in the html among the RTL charachters -Farsi for example- The rest of the line changes the direection to LTR and the charachters are messing up
Created attachment 4134 [details] A sample of what is happening Hard to tell when this is happening really. The snapshot taken from www.technotux.com the marked area is infeted with the bug. charachters arranged fro left to right, which supposed to be right to left.
we still need a test case. a screenshot isn't enough
Created attachment 4395 [details] Test Case The Bug is related to the decimal point. When a decimaal point's in the RTL context KHTML renders it in a wrong direction. I think the attached html file would be enough for testing.
I cannot reproduce it with hebrew. Funny. BTW: the arabic shaping is not working here. I get AA fonts, but no shaping. Using he_IL.UTF8 and I have the arabic-ttf fonts installed on a Mandrake 9.2 (XFree86 4.3). QT 3.3.1 and KDE 3.2.2 from cvs.
CVS commit by carewolf: Small change to fix numbers with decimal point in RTL text. BUG:72528 M +7 -2 ChangeLog 1.348 M +1 -1 rendering/bidi.cpp 1.203 --- kdelibs/khtml/ChangeLog #1.347:1.348 @@ -1,11 +1,16 @@ +2004-12-06 Allan Sandfeld Jensen <kde@carewolf.com> + + * rendering/bidi.cpp: Layout arabic numbers with a separator correctly. + 2004-12-02 Allan Sandfeld Jensen <kde@carewolf.com> + Implement remaining CSS2 list-style-types and a few CSS3 - * render/render_list.cpp: New algorithms for hiragana, katakana, + * rendering/render_list.cpp: New algorithms for hiragana, katakana, armenian, georgian and decimal-leading-zero. Also fix greek and latin list-styles for larger values. * css/cssvalues.cpp: Parse box, -khtml-diamond, -khtml-arabic-indic, -khtml-persian, -khtml-urdu and -khtml-upper-greek - * render/render_style.h: Expand list-style enum + * rendering/render_style.h: Expand list-style enum 2004-11-30 Germain Garand <germain@ebooksfrance.org> --- kdelibs/khtml/rendering/bidi.cpp #1.202:1.203 @@ -1018,5 +1018,5 @@ void RenderBlock::bidiReorderLine(const case QChar::DirCS: if(bidi.status.eor == QChar::DirAN) { - bidi.eor = bidi.current; bidi.status.eor = QChar::DirR; break; + bidi.eor = bidi.current; break; } case QChar::DirES: