AFPConstants.EBCIDIC_ENCODING)
+ " must have a fixed length of 8 characters.");
}
} else if (font instanceof OutlineFont) {
OutlineFont outline = (OutlineFont) font;
CharacterSet cs = outline.getCharacterSet();
fontDefinition.characterSet = cs.getNameBytes();
// There are approximately 72 points to 1 inch or 20 1440ths per point.
fontDefinition.scale = 20 * size / 1000;
fontDefinition.codePage = cs.getCodePage().getBytes(
AFPConstants.EBCIDIC_ENCODING);
if (fontDefinition.codePage.length != 8) {
throw new IllegalArgumentException("The code page "
+ new String(fontDefinition.codePage,
AFPConstants.EBCIDIC_ENCODING)
+ " must have a fixed length of 8 characters.");
}
} else if (font instanceof DoubleByteFont) {
DoubleByteFont outline = (DoubleByteFont) font;
CharacterSet cs = outline.getCharacterSet();
fontDefinition.characterSet = cs.getNameBytes();
// There are approximately 72 points to 1 inch or 20 1440ths per point.
fontDefinition.scale = 20 * size / 1000;