--- src/java/org/apache/fop/render/java2d/Java2DGraphicsState.java (revision 767468) +++ src/java/org/apache/fop/render/java2d/Java2DGraphicsState.java (working copy) @@ -126,7 +126,7 @@ * @param size the font size * @return true if the new Font changes the current Font */ - public boolean updateFont(String name, int size) { + public boolean updateFont(String name, int size, float width) { FontMetricsMapper mapper = (FontMetricsMapper)fontInfo.getMetricsFor(name); boolean updateName = (!mapper.getFontName().equals( @@ -136,7 +136,7 @@ if (updateName || updateSize) { // the font name and/or the font size have changed java.awt.Font font = mapper.getFont(size); - + font = font.deriveFont(AffineTransform.getScaleInstance(width, 1.0)); currentGraphics.setFont(font); return true; } else { --- src/java/org/apache/fop/render/java2d/Java2DRenderer.java (revision 767468) +++ src/java/org/apache/fop/render/java2d/Java2DRenderer.java (working copy) @@ -702,7 +702,7 @@ int saveIP = currentIPPosition; Font font = getFontFromArea(text); - state.updateFont(font.getFontName(), font.getFontSize()); + state.updateFont(font.getFontName(), font.getFontSize(), font.getFontStretch()); saveGraphicsState(); AffineTransform at = new AffineTransform(); at.translate(rx / 1000f, bl / 1000f);