Class FileSystemFontProvider

java.lang.Object
org.apache.pdfbox.pdmodel.font.FontProvider
org.apache.pdfbox.pdmodel.font.FileSystemFontProvider

final class FileSystemFontProvider extends FontProvider
A FontProvider which searches for fonts on the local filesystem.
  • Field Details

    • LOG

      private static final org.apache.commons.logging.Log LOG
    • SKIP_CHECKSUMS

      private static final boolean SKIP_CHECKSUMS
      This option changes publicly visible behaviour: ".pdfbox.cache" file will have hash="-" for all files. After implementing FontHeaders, parsing font headers is faster than checksumming anyway.
    • CHECKSUM_PLACEHOLDER

      private static final String CHECKSUM_PLACEHOLDER
      See Also:
    • fontInfoList

      private final List<FileSystemFontProvider.FSFontInfo> fontInfoList
    • cache

      private final FontCache cache
  • Constructor Details

    • FileSystemFontProvider

      FileSystemFontProvider(FontCache cache)
      Constructor.
  • Method Details

    • createFSIgnored

      private FileSystemFontProvider.FSFontInfo createFSIgnored(File file, FontFormat format, String postScriptName)
    • scanFonts

      private void scanFonts(List<File> files)
    • getDiskCacheFile

      private File getDiskCacheFile()
    • isBadPath

      private static boolean isBadPath(String path)
    • saveDiskCache

      private void saveDiskCache()
      Saves the font metadata cache to disk.
    • writeFontInfo

      private void writeFontInfo(BufferedWriter writer, FileSystemFontProvider.FSFontInfo fontInfo) throws IOException
      Throws:
      IOException
    • loadDiskCache

      private List<FileSystemFontProvider.FSFontInfo> loadDiskCache(List<File> files)
      Loads the font metadata cache from disk.
    • addTrueTypeCollection

      private void addTrueTypeCollection(File ttcFile)
      Adds a TTC or OTC to the file cache. To reduce memory, the parsed font is not cached.
    • addTrueTypeFont

      private void addTrueTypeFont(File ttfFile)
      Adds an OTF or TTF font to the file cache. To reduce memory, the parsed font is not cached.
    • addTrueTypeFontImpl

      private void addTrueTypeFontImpl(FontHeaders fontHeaders, File file, String hash)
      Adds an OTF or TTF font to the file cache. To reduce memory, the parsed font is not cached.
    • addType1Font

      private void addType1Font(File pfbFile)
      Adds a Type 1 font to the file cache. To reduce memory, the parsed font is not cached.
    • toDebugString

      public String toDebugString()
      Description copied from class: FontProvider
      Returns a string containing debugging information. This will be written to the log if no suitable fonts are found and no fallback fonts are available. May be null.
      Specified by:
      toDebugString in class FontProvider
      Returns:
      string with debug information or null
    • getFontInfo

      public List<? extends FontInfo> getFontInfo()
      Description copied from class: FontProvider
      Returns a list of information about fonts on the system.
      Specified by:
      getFontInfo in class FontProvider
      Returns:
      a list of FntInfo instances for all fonts on the system
    • computeHash

      private static String computeHash(InputStream is) throws IOException
      Throws:
      IOException