diff --git a/modules/javafx.graphics/src/main/java/com/sun/javafx/text/TextRun.java b/modules/javafx.graphics/src/main/java/com/sun/javafx/text/TextRun.java index b7e3deedab1..405ba62618d 100644 --- a/modules/javafx.graphics/src/main/java/com/sun/javafx/text/TextRun.java +++ b/modules/javafx.graphics/src/main/java/com/sun/javafx/text/TextRun.java @@ -332,6 +332,17 @@ public int getWrapIndex(float width) { cacheWidth = x; return x; } + + if (isComplex()) { + if (glyphIndex == glyphCount) { + return getWidth(); + } + float x = 0; + for (int i = 0; i < glyphIndex; i++) { + x += getAdvance(i); + } + return x; + } return positions[glyphIndex<<1]; } return glyphIndex == 0 ? 0 : getWidth();