Class Type0FontValidator

java.lang.Object
org.apache.pdfbox.preflight.font.FontValidator<Type0Container>
org.apache.pdfbox.preflight.font.Type0FontValidator

public class Type0FontValidator extends FontValidator<Type0Container>
  • Field Details

  • Constructor Details

  • Method Details

    • validate

      public void validate() throws ValidationException
      Specified by:
      validate in class FontValidator<Type0Container>
      Throws:
      ValidationException
    • checkMandatoryFields

      protected void checkMandatoryFields()
      This methods extracts from the Font dictionary all mandatory fields. If a mandatory field is missing, the list of ValidationError in the FontContainer is updated.
    • processDescendantFont

      protected void processDescendantFont() throws ValidationException
      Extract the single CIDFont from the descendant array. Create a FontValidator for this CIDFont and launch its validation.
      Throws:
      ValidationException - if there is an error validating the CIDFont.
    • createDescendantValidator

      protected FontValidator<? extends FontContainer<? extends PDCIDFont>> createDescendantValidator(COSDictionary cidFont)
    • createCIDType0FontValidator

      protected FontValidator<? extends FontContainer<PDCIDFontType0>> createCIDType0FontValidator(COSDictionary fDict)
      Create the validation object for CIDType0 Font
    • createCIDType2FontValidator

      protected FontValidator<? extends FontContainer<PDCIDFontType2>> createCIDType2FontValidator(COSDictionary fDict)
      Create the validation object for CIDType2 Font
      Parameters:
      fDict - a CIDType2 font dictionary.
      Returns:
      a CIDType2 tont font validator.
    • checkEncoding

      protected void checkEncoding()
      Check the CMap entry. The CMap entry must be a dictionary in a PDF/A. This entry can be a String only if the String value is Identity-H or Identity-V
      Overrides:
      checkEncoding in class FontValidator<Type0Container>
    • checkCMapEncoding

      protected void checkCMapEncoding(COSBase encoding)
    • processCMapAsStream

      private void processCMapAsStream(COSStream aCMap)
      This method checks mandatory fields of the CMap stream. This method also checks if the CMap stream is damaged using the CMapParser of the fontbox api. The standard information of a stream element will be checked by the StreamValidationProcess.
      Parameters:
      aCMap - the cmap stream.
    • checkCIDSystemInfo

      protected boolean checkCIDSystemInfo(COSBase sysinfo)
      Check the content of the CIDSystemInfo dictionary. A CIDSystemInfo dictionary must contain :
      • a Name - Registry
      • a Name - Ordering
      • a Integer - Supplement
      Parameters:
      sysinfo -
      Returns:
      the validation result.
    • compareCIDSystemInfo

      private void compareCIDSystemInfo(COSDictionary cmap)
      The CIDSystemInfo must have the same Registry and Ordering for CMap and CIDFont. This control is useless if CMap is Identity-H or Identity-V so this method is called by the checkCMap method.
      Parameters:
      cmap -