Class TTFSubsetter

java.lang.Object
org.apache.fontbox.ttf.TTFSubsetter

public final class TTFSubsetter extends Object
Subsetter for TrueType (TTF) fonts.

Originally developed by Wolfgang Glas for Sketch.

Author:
Wolfgang Glas
  • Constructor Details

    • TTFSubsetter

      public TTFSubsetter(TrueTypeFont ttf) throws IOException
      Creates a subsetter for the given font.
      Parameters:
      ttf - the font to be subset
      Throws:
      IOException
    • TTFSubsetter

      public TTFSubsetter(TrueTypeFont ttf, List<String> tables) throws IOException
      Creates a subsetter for the given font.
      Parameters:
      ttf - the font to be subset
      tables - optional tables to keep if present
      Throws:
      IOException
  • Method Details

    • setPrefix

      public void setPrefix(String prefix)
      Sets the prefix to add to the font's PostScript name.
    • add

      public void add(int unicode)
      Add the given character code to the subset.
      Parameters:
      unicode - character code
    • addAll

      public void addAll(Set<Integer> unicodeSet)
      Add the given character codes to the subset.
      Parameters:
      unicodeSet - character code set
    • getGIDMap

      public Map<Integer,Integer> getGIDMap() throws IOException
      Returns the map of new -> old GIDs.
      Throws:
      IOException
    • writeToStream

      public void writeToStream(OutputStream os) throws IOException
      Write the subfont to the given output stream.
      Parameters:
      os - the stream used for writing. It will be closed by this method.
      Throws:
      IOException - if something went wrong.
      IllegalStateException - if the subset is empty.