final char[] chars = label.toCharArray();
final int length = label.length();
if (Bidi.requiresBidi(chars, 0, length)) {
Bidi bidi = new Bidi(label, Bidi.DIRECTION_DEFAULT_LEFT_TO_RIGHT);
if (bidi.isRightToLeft()) {
return font.layoutGlyphVector(graphics.getFontRenderContext(), chars, 0, length,
Font.LAYOUT_RIGHT_TO_LEFT);
} else if (bidi.isMixed()) {
String r = "";
for (int i=0; i<bidi.getRunCount(); i++) {
String s1 = label.substring(bidi.getRunStart(i), bidi.getRunLimit(i));