// this should be gv.getGlyphMetrics(0).getAdvance(), but that is
// broken on the Mac, so we need to read the advance from the
// hmtx table in the font
CMap map = this.cmapTable.getCMap (mapIDs[0], mapIDs[1]);
int glyphID = map.map (src);
float advance = (float) this.hmtxTable.getAdvance (glyphID) / (float) this.unitsPerEm;
float widthfactor = width / advance;
gp.transform (AffineTransform.getScaleInstance (widthfactor, -1));