Search in sources :

Example 1 with TrueTypeFontValidator

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;
}
Also used : TrueTypeFontValidator(org.apache.pdfbox.preflight.font.TrueTypeFontValidator) Type3FontValidator(org.apache.pdfbox.preflight.font.Type3FontValidator) ValidationError(org.apache.pdfbox.preflight.ValidationResult.ValidationError) Type1FontValidator(org.apache.pdfbox.preflight.font.Type1FontValidator) Type0FontValidator(org.apache.pdfbox.preflight.font.Type0FontValidator)

Aggregations

ValidationError (org.apache.pdfbox.preflight.ValidationResult.ValidationError)1 TrueTypeFontValidator (org.apache.pdfbox.preflight.font.TrueTypeFontValidator)1 Type0FontValidator (org.apache.pdfbox.preflight.font.Type0FontValidator)1 Type1FontValidator (org.apache.pdfbox.preflight.font.Type1FontValidator)1 Type3FontValidator (org.apache.pdfbox.preflight.font.Type3FontValidator)1