Class DefaultFontMapper

  • All Implemented Interfaces:
    FontMapper
    Direct Known Subclasses:
    AsianFontMapper

    public class DefaultFontMapper
    extends java.lang.Object
    implements FontMapper
    Default class to map awt fonts to BaseFont.
    • Field Detail

      • aliases

        private java.util.HashMap<java.lang.String,​java.lang.String> aliases
        Maps aliases to names.
    • Constructor Detail

      • DefaultFontMapper

        public DefaultFontMapper()
    • Method Detail

      • awtToPdf

        public BaseFont awtToPdf​(java.awt.Font font)
        Returns a BaseFont which can be used to represent the given AWT Font
        Specified by:
        awtToPdf in interface FontMapper
        Parameters:
        font - the font to be converted
        Returns:
        a BaseFont which has similar properties to the provided Font
      • pdfToAwt

        public java.awt.Font pdfToAwt​(BaseFont font,
                                      int size)
        Returns an AWT Font which can be used to represent the given BaseFont
        Specified by:
        pdfToAwt in interface FontMapper
        Parameters:
        font - the font to be converted
        size - the desired point size of the resulting font
        Returns:
        a Font which has similar properties to the provided BaseFont
      • putName

        public void putName​(java.lang.String awtName,
                            DefaultFontMapper.BaseFontParameters parameters)
        Maps a name to a BaseFont parameter.
        Parameters:
        awtName - the name
        parameters - the BaseFont parameter
      • putAlias

        public void putAlias​(java.lang.String alias,
                             java.lang.String awtName)
        Maps an alias to a name.
        Parameters:
        alias - the alias
        awtName - the name
      • getBaseFontParameters

        public DefaultFontMapper.BaseFontParameters getBaseFontParameters​(java.lang.String name)
        Looks for a BaseFont parameter associated with a name.
        Parameters:
        name - the name
        Returns:
        the BaseFont parameter or null if not found.
      • insertNames

        public void insertNames​(java.lang.Object[] allNames,
                                java.lang.String path)
        Inserts the names in this map.
        Parameters:
        allNames - the returned value of calling BaseFont.getAllFontNames(String, String, byte[])
        path - the full path to the font
      • insertFile

        public int insertFile​(java.io.File file)
        Inserts one font file into the map. The encoding will be BaseFont.CP1252 but can be changed later.
        Parameters:
        file - the file to insert
        Returns:
        the number of files inserted
        Since:
        5.0.5
      • insertDirectory

        public int insertDirectory​(java.lang.String dir)
        Inserts all the fonts recognized by iText in the directory into the map. The encoding will be BaseFont.CP1252 but can be changed later.
        Parameters:
        dir - the directory to scan
        Returns:
        the number of files processed
      • getAliases

        public java.util.HashMap<java.lang.String,​java.lang.String> getAliases()