Index: trunk/src/org/openstreetmap/josm/data/osm/visitor/paint/StyledMapRenderer.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/osm/visitor/paint/StyledMapRenderer.java	(revision 8106)
+++ trunk/src/org/openstreetmap/josm/data/osm/visitor/paint/StyledMapRenderer.java	(revision 8110)
@@ -20,4 +20,5 @@
 import java.awt.font.GlyphVector;
 import java.awt.font.LineMetrics;
+import java.awt.font.TextLayout;
 import java.awt.geom.AffineTransform;
 import java.awt.geom.GeneralPath;
@@ -408,9 +409,12 @@
             g.setStroke(new BasicStroke(2*text.haloRadius, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND));
             g.setColor(text.haloColor);
+            Shape textOutline;
             if (gv == null) {
                 FontRenderContext frc = g.getFontRenderContext();
-                gv = text.font.createGlyphVector(frc, s);
-            }
-            Shape textOutline = gv.getOutline(x, y);
+                TextLayout tl = new TextLayout(s, text.font, frc);
+                textOutline = tl.getOutline(AffineTransform.getTranslateInstance(x, y));
+            } else {
+                textOutline = gv.getOutline(x, y);
+            }
             g.draw(textOutline);
             g.setStroke(new BasicStroke());
