// create a shape that represents the d attribute
String d = glyphElement.getAttributeNS(null, SVG_D_ATTRIBUTE);
Shape dShape = null;
if (d.length() != 0) {
AWTPathProducer app = new AWTPathProducer();
// Glyph is supposed to use properties from text element.
app.setWindingRule(CSSUtilities.convertFillRule(textElement));
try {
PathParser pathParser = new PathParser();
pathParser.setPathHandler(app);
pathParser.parse(d);
} catch (ParseException ex) {
throw new BridgeException(glyphElement,
ERR_ATTRIBUTE_VALUE_MALFORMED,
new Object [] {SVG_D_ATTRIBUTE});
} finally {
// transform the shape into the correct coord system
Shape shape = app.getShape();
Shape transformedShape
= scaleTransform.createTransformedShape(shape);
dShape = transformedShape;
}
}