Class GlyfTable


  • public class GlyfTable
    extends java.lang.Object
    This "glyf" table in a TrueType font file contains information that describes the glyphs. This class is responsible for creating a subset of the "glyf" table given a set of glyph indices.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected java.util.Set<java.lang.Integer> composedGlyphs
      All the glyphs that are composed, but do not appear in the subset.
      protected java.util.Map<java.lang.Integer,​java.lang.Integer> subset  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected void addAllComposedGlyphsToSubset()
      Adds to the subset, all the glyphs that are composed by a glyph, but do not appear themselves in the subset.
      boolean isComposite​(int indexInOriginal)  
      protected void populateGlyphsWithComposites()
      Populates the map of subset glyphs with all the glyphs that compose the glyphs in the subset.
      java.util.Set<java.lang.Integer> retrieveComposedGlyphs​(int indexInOriginal)
      Reads a composite glyph at a given index and retrieves all the glyph indices of contingent composed glyphs.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • subset

        protected final java.util.Map<java.lang.Integer,​java.lang.Integer> subset
      • composedGlyphs

        protected java.util.Set<java.lang.Integer> composedGlyphs
        All the glyphs that are composed, but do not appear in the subset.
    • Constructor Detail

      • GlyfTable

        public GlyfTable​(FontFileReader in,
                         OFMtxEntry[] metrics,
                         OFDirTabEntry dirTableEntry,
                         java.util.Map<java.lang.Integer,​java.lang.Integer> glyphs)
                  throws java.io.IOException
        Throws:
        java.io.IOException
    • Method Detail

      • populateGlyphsWithComposites

        protected void populateGlyphsWithComposites()
                                             throws java.io.IOException
        Populates the map of subset glyphs with all the glyphs that compose the glyphs in the subset. This also re-maps the indices of composed glyphs to their new index in the subset font.
        Throws:
        java.io.IOException - an I/O error
      • addAllComposedGlyphsToSubset

        protected void addAllComposedGlyphsToSubset()
        Adds to the subset, all the glyphs that are composed by a glyph, but do not appear themselves in the subset.
      • isComposite

        public boolean isComposite​(int indexInOriginal)
                            throws java.io.IOException
        Throws:
        java.io.IOException
      • retrieveComposedGlyphs

        public java.util.Set<java.lang.Integer> retrieveComposedGlyphs​(int indexInOriginal)
                                                                throws java.io.IOException
        Reads a composite glyph at a given index and retrieves all the glyph indices of contingent composed glyphs.
        Parameters:
        indexInOriginal - the glyph index of the composite glyph
        Returns:
        the set of glyph indices this glyph composes
        Throws:
        java.io.IOException - an I/O error