AffineTransform at = new AffineTransform();
List<PDFGlyph> l = this.font.getGlyphs(text);
for (Iterator<PDFGlyph> i = l.iterator(); i.hasNext();) {
PDFGlyph glyph = i.next();
at.setTransform(this.cur);
at.concatenate(scale);
Point2D advance = glyph.addCommands(cmds, at, this.tm);
double advanceX = (advance.getX() * this.fsize) + this.tc;
if (glyph.getChar() == ' ') {
advanceX += this.tw;
}
advanceX *= this.th;
this.cur.translate(advanceX, advance.getY());