src/gui/text/qfontengine_s60.cpp
changeset 23 89e065397ea6
parent 22 79de32ba3296
child 25 e24348a560a6
--- a/src/gui/text/qfontengine_s60.cpp	Fri May 14 16:40:13 2010 +0300
+++ b/src/gui/text/qfontengine_s60.cpp	Thu May 27 13:40:48 2010 +0300
@@ -221,9 +221,11 @@
 
     HB_Glyph *g = glyphs->glyphs;
     const unsigned char* cmap = m_extensions->cmap();
+    const bool isRtl = (flags & QTextEngine::RightToLeft);
     for (int i = 0; i < len; ++i) {
         const unsigned int uc = getChar(characters, i, len);
-        *g++ = QFontEngine::getTrueTypeGlyphIndex(cmap, uc);
+        *g++ = QFontEngine::getTrueTypeGlyphIndex(cmap,
+        		isRtl ? QChar::mirroredChar(uc) : uc);
     }
 
     glyphs->numGlyphs = g - glyphs->glyphs;
@@ -241,8 +243,8 @@
     Q_UNUSED(flags);
     for (int i = 0; i < glyphs->numGlyphs; i++) {
         const glyph_metrics_t bbox = boundingBox_const(glyphs->glyphs[i]);
-        glyphs->advances_x[i] = glyphs->offsets[i].x = bbox.xoff;
-        glyphs->advances_y[i] = glyphs->offsets[i].y = bbox.yoff;
+        glyphs->advances_x[i] = bbox.xoff;
+        glyphs->advances_y[i] = bbox.yoff;
     }
 }