--- old/src/java.desktop/share/classes/sun/font/GlyphLayout.java 2015-11-12 21:21:19.000000000 -0800 +++ new/src/java.desktop/share/classes/sun/font/GlyphLayout.java 2015-11-12 21:21:19.000000000 -0800 @@ -408,6 +408,9 @@ int lang = -1; // default for now Font2D font2D = FontUtilities.getFont2D(font); + if (font2D instanceof FontSubstitution) { + font2D = ((FontSubstitution)font2D).getCompositeFont2D(); + } _textRecord.init(text, offset, lim, min, max); int start = offset;