OutputDevice outputDevice, String string, float x, float y, JustificationInfo info) {
((ITextOutputDevice)outputDevice).drawString(string, x, y, info);
}
public FSFontMetrics getFSFontMetrics(FontContext context, FSFont font, String string) {
FontDescription descr = ((ITextFSFont)font).getFontDescription();
BaseFont bf = descr.getFont();
float size = font.getSize2D();
ITextFSFontMetrics result = new ITextFSFontMetrics();
result.setAscent(bf.getFontDescriptor(BaseFont.BBOXURY, size));
result.setDescent(-bf.getFontDescriptor(BaseFont.BBOXLLY, size));
result.setStrikethroughOffset(-descr.getYStrikeoutPosition() / 1000f * size);
if (descr.getYStrikeoutSize() != 0) {
result.setStrikethroughThickness(descr.getYStrikeoutSize() / 1000f * size);
} else {
result.setStrikethroughThickness(size / 12.0f);
}
result.setUnderlineOffset(-descr.getUnderlinePosition() / 1000f * size);
result.setUnderlineThickness(descr.getUnderlineThickness() / 1000f * size);
return result;
}