Class TrueTypeFont

    • Method Detail

      • getVersion

        public float getVersion()
        Returns:
        Returns the version.
      • getTables

        public Collection<TTFTable> getTables()
        Get all of the tables.
        Returns:
        All of the tables.
      • getTableMap

        public Map<String,​TTFTable> getTableMap()
        Get all of the tables.
        Returns:
        All of the tables.
      • getTableBytes

        public byte[] getTableBytes​(TTFTable table)
                             throws IOException
        Returns the raw bytes of the given table.
        Parameters:
        table - the table to read.
        Throws:
        IOException - if there was an error accessing the table.
      • getTable

        protected TTFTable getTable​(String tag)
                             throws IOException
        This will get the table for the given tag.
        Parameters:
        tag - the name of the table to be returned
        Returns:
        The table with the given tag.
        Throws:
        IOException - if there was an error reading the table.
      • getNaming

        public NamingTable getNaming()
                              throws IOException
        This will get the naming table for the true type font.
        Returns:
        The naming table or null if it doesn't exist.
        Throws:
        IOException - if there was an error reading the table.
      • getPostScript

        public PostScriptTable getPostScript()
                                      throws IOException
        Get the postscript table for this TTF.
        Returns:
        The postscript table or null if it doesn't exist.
        Throws:
        IOException - if there was an error reading the table.
      • getOS2Windows

        public OS2WindowsMetricsTable getOS2Windows()
                                             throws IOException
        Get the OS/2 table for this TTF.
        Returns:
        The OS/2 table or null if it doesn't exist.
        Throws:
        IOException - if there was an error reading the table.
      • getMaximumProfile

        public MaximumProfileTable getMaximumProfile()
                                              throws IOException
        Get the maxp table for this TTF.
        Returns:
        The maxp table or null if it doesn't exist.
        Throws:
        IOException - if there was an error reading the table.
      • getHeader

        public HeaderTable getHeader()
                              throws IOException
        Get the head table for this TTF.
        Returns:
        The head table or null if it doesn't exist.
        Throws:
        IOException - if there was an error reading the table.
      • getHorizontalHeader

        public HorizontalHeaderTable getHorizontalHeader()
                                                  throws IOException
        Get the hhea table for this TTF.
        Returns:
        The hhea table or null if it doesn't exist.
        Throws:
        IOException - if there was an error reading the table.
      • getHorizontalMetrics

        public HorizontalMetricsTable getHorizontalMetrics()
                                                    throws IOException
        Get the hmtx table for this TTF.
        Returns:
        The hmtx table or null if it doesn't exist.
        Throws:
        IOException - if there was an error reading the table.
      • getIndexToLocation

        public IndexToLocationTable getIndexToLocation()
                                                throws IOException
        Get the loca table for this TTF.
        Returns:
        The loca table or null if it doesn't exist.
        Throws:
        IOException - if there was an error reading the table.
      • getGlyph

        public GlyphTable getGlyph()
                            throws IOException
        Get the glyf table for this TTF.
        Returns:
        The glyf table or null if it doesn't exist.
        Throws:
        IOException - if there was an error reading the table.
      • getCmap

        public CmapTable getCmap()
                          throws IOException
        Get the "cmap" table for this TTF.
        Returns:
        The "cmap" table or null if it doesn't exist.
        Throws:
        IOException - if there was an error reading the table.
      • getVerticalHeader

        public VerticalHeaderTable getVerticalHeader()
                                              throws IOException
        Get the vhea table for this TTF.
        Returns:
        The vhea table or null if it doesn't exist.
        Throws:
        IOException - if there was an error reading the table.
      • getVerticalMetrics

        public VerticalMetricsTable getVerticalMetrics()
                                                throws IOException
        Get the vmtx table for this TTF.
        Returns:
        The vmtx table or null if it doesn't exist.
        Throws:
        IOException - if there was an error reading the table.
      • getVerticalOrigin

        public VerticalOriginTable getVerticalOrigin()
                                              throws IOException
        Get the VORG table for this TTF.
        Returns:
        The VORG table or null if it doesn't exist.
        Throws:
        IOException - if there was an error reading the table.
      • getKerning

        public KerningTable getKerning()
                                throws IOException
        Get the "kern" table for this TTF.
        Returns:
        The "kern" table or null if it doesn't exist.
        Throws:
        IOException - if there was an error reading the table.
      • getGsub

        public GlyphSubstitutionTable getGsub()
                                       throws IOException
        Get the "gsub" table for this TTF.
        Returns:
        The "gsub" table or null if it doesn't exist.
        Throws:
        IOException - if there was an error reading the table.
      • getOriginalData

        public InputStream getOriginalData()
                                    throws IOException
        Get the data of the TrueType Font program representing the stream used to build this object (normally from the TTFParser object).
        Returns:
        COSStream TrueType font program stream
        Throws:
        IOException - If there is an error getting the font data.
      • getOriginalDataSize

        public long getOriginalDataSize()
        Get the data size of the TrueType Font program representing the stream used to build this object (normally from the TTFParser object).
        Returns:
        the size.
      • getNumberOfGlyphs

        public int getNumberOfGlyphs()
                              throws IOException
        Returns the number of glyphs (MaximumProfile.numGlyphs).
        Returns:
        the number of glyphs
        Throws:
        IOException - if there was an error reading the table.
      • getUnitsPerEm

        public int getUnitsPerEm()
                          throws IOException
        Returns the units per EM (Header.unitsPerEm).
        Returns:
        units per EM
        Throws:
        IOException - if there was an error reading the table.
      • getAdvanceWidth

        public int getAdvanceWidth​(int gid)
                            throws IOException
        Returns the width for the given GID.
        Parameters:
        gid - the GID
        Returns:
        the width
        Throws:
        IOException - if there was an error reading the metrics table.
      • getAdvanceHeight

        public int getAdvanceHeight​(int gid)
                             throws IOException
        Returns the height for the given GID.
        Parameters:
        gid - the GID
        Returns:
        the height
        Throws:
        IOException - if there was an error reading the metrics table.
      • getUnicodeCmap

        @Deprecated
        public CmapSubtable getUnicodeCmap()
                                    throws IOException
        Deprecated.
        Returns the best Unicode from the font (the most general). The PDF spec says that "The means by which this is accomplished are implementation-dependent."
        Throws:
        IOException - if the font could not be read
      • getUnicodeCmap

        @Deprecated
        public CmapSubtable getUnicodeCmap​(boolean isStrict)
                                    throws IOException
        Deprecated.
        Returns the best Unicode from the font (the most general). The PDF spec says that "The means by which this is accomplished are implementation-dependent."
        Parameters:
        isStrict - False if we allow falling back to any cmap, even if it's not Unicode.
        Throws:
        IOException - if the font could not be read, or there is no Unicode cmap
      • getUnicodeCmapLookup

        public CmapLookup getUnicodeCmapLookup()
                                        throws IOException
        Returns the best Unicode from the font (the most general). The PDF spec says that "The means by which this is accomplished are implementation-dependent." The returned cmap will perform glyph substitution.
        Throws:
        IOException - if the font could not be read
      • getUnicodeCmapLookup

        public CmapLookup getUnicodeCmapLookup​(boolean isStrict)
                                        throws IOException
        Returns the best Unicode from the font (the most general). The PDF spec says that "The means by which this is accomplished are implementation-dependent." The returned cmap will perform glyph substitution.
        Parameters:
        isStrict - False if we allow falling back to any cmap, even if it's not Unicode.
        Throws:
        IOException - if the font could not be read, or there is no Unicode cmap
      • nameToGID

        public int nameToGID​(String name)
                      throws IOException
        Returns the GID for the given PostScript name, if the "post" table is present.
        Parameters:
        name - the PostScript name.
        Throws:
        IOException
      • getWidth

        public float getWidth​(String name)
                       throws IOException
        Description copied from interface: FontBoxFont
        Returns the advance width for the character with the given name.
        Specified by:
        getWidth in interface FontBoxFont
        Returns:
        glyph advance width
        Throws:
        IOException - if the path could not be read
      • enableGsubFeature

        public void enableGsubFeature​(String featureTag)
        Enable a particular glyph substitution feature. This feature might not be supported by the font, or might not be implemented in PDFBox yet.
        Parameters:
        featureTag - The GSUB feature to enable
      • disableGsubFeature

        public void disableGsubFeature​(String featureTag)
        Disable a particular glyph substitution feature.
        Parameters:
        featureTag - The GSUB feature to disable
      • enableVerticalSubstitutions

        public void enableVerticalSubstitutions()
        Enable glyph substitutions for vertical writing.