Index: sky/engine/platform/graphics/GraphicsContext.cpp |
diff --git a/sky/engine/platform/graphics/GraphicsContext.cpp b/sky/engine/platform/graphics/GraphicsContext.cpp |
index a0a8870f9ad8ae5f73390d31bcaecf0f543e050b..8323246b1c8f34f194ac49adaf671edff658af27 100644 |
--- a/sky/engine/platform/graphics/GraphicsContext.cpp |
+++ b/sky/engine/platform/graphics/GraphicsContext.cpp |
@@ -918,12 +918,10 @@ void GraphicsContext::drawBidiText(const Font& font, const TextRunPaintInfo& run |
TextRunPaintInfo subrunInfo(subrun); |
subrunInfo.bounds = runInfo.bounds; |
- font.drawText(this, subrunInfo, currPoint, customFontNotReadyAction); |
+ float runWidth = font.drawUncachedText(this, subrunInfo, currPoint, customFontNotReadyAction); |
bidiRun = bidiRun->next(); |
- // FIXME: Have Font::drawText return the width of what it drew so that we don't have to re-measure here. |
- if (bidiRun) |
- currPoint.move(font.width(subrun), 0); |
+ currPoint.move(runWidth, 0); |
} |
bidiRuns.deleteRuns(); |