use of org.apache.pdfbox.preflight.font.TrueTypeFontValidator in project pdfbox by apache.
the class FontValidationProcess method getFontValidator.
/**
* Create the right "Validator" object for the given font type
*
* @param context the preflight context.
* @param font the font object.
* @return the font validator instance for the font type.
*/
protected FontValidator<? extends FontContainer<? extends PDFont>> getFontValidator(PreflightContext context, PDFont font) {
String subtype = font.getSubType();
if (FONT_DICTIONARY_VALUE_TRUETYPE.equals(subtype)) {
return new TrueTypeFontValidator(context, (PDTrueTypeFont) font);
}
if (FONT_DICTIONARY_VALUE_MMTYPE.equals(subtype) || FONT_DICTIONARY_VALUE_TYPE1.equals(subtype)) {
return new Type1FontValidator(context, (PDSimpleFont) font);
}
if (FONT_DICTIONARY_VALUE_TYPE3.equals(subtype)) {
return new Type3FontValidator(context, (PDType3Font) font);
}
if (FONT_DICTIONARY_VALUE_COMPOSITE.equals(subtype)) {
return new Type0FontValidator(context, font);
}
if (FONT_DICTIONARY_VALUE_TYPE2.equals(subtype) || FONT_DICTIONARY_VALUE_TYPE1C.equals(subtype) || FONT_DICTIONARY_VALUE_TYPE0C.equals(subtype) || FONT_DICTIONARY_VALUE_TYPE0.equals(subtype)) {
// this dictionary will be checked by a CompositeFontValidator
return null;
}
context.addValidationError(new ValidationError(PreflightConstants.ERROR_FONTS_UNKNOWN_FONT_TYPE, "Unknown font type: " + subtype));
return null;
}
Aggregations