float refY = state.transformY(y);
float angle = state.transformAngle(font.getAngle());
float sin = (float)Math.sin(angle);
float cos = (float)Math.cos(angle);
float fontSize = font.getFontSize(state);
BaseFont bf = font.getFont();
int align = state.getTextAlign();
float textWidth = bf.getWidthPoint(text, fontSize);
float tx = 0;
float ty = 0;
float descender = bf.getFontDescriptor(BaseFont.DESCENT, fontSize);
float ury = bf.getFontDescriptor(BaseFont.BBOXURY, fontSize);
cb.saveState();
cb.concatCTM(cos, sin, -sin, cos, refX, refY);
if ((align & MetaState.TA_CENTER) == MetaState.TA_CENTER)
tx = -textWidth / 2;
else if ((align & MetaState.TA_RIGHT) == MetaState.TA_RIGHT)