Class PDSimpleFont

    • Field Detail

      • LOG

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

        private java.lang.Boolean isSymbolic
      • noUnicode

        private final java.util.Set<java.lang.Integer> noUnicode
    • Constructor Detail

      • PDSimpleFont

        PDSimpleFont()
        Constructor for embedding.
      • PDSimpleFont

        PDSimpleFont​(java.lang.String baseFont)
        Constructor for Standard 14.
      • PDSimpleFont

        PDSimpleFont​(COSDictionary fontDictionary)
              throws java.io.IOException
        Constructor.
        Parameters:
        fontDictionary - Font dictionary.
        Throws:
        java.io.IOException
    • Method Detail

      • readEncoding

        protected void readEncoding()
                             throws java.io.IOException
        Reads the Encoding from the Font dictionary or the embedded or substituted font file. Must be called at the end of any subclass constructors.
        Throws:
        java.io.IOException - if the font file could not be read
      • readEncodingFromFont

        protected abstract Encoding readEncodingFromFont()
                                                  throws java.io.IOException
        Called by readEncoding() if the encoding needs to be extracted from the font file.
        Throws:
        java.io.IOException - if the font file could not be read.
      • getEncoding

        public Encoding getEncoding()
        Returns the Encoding vector.
      • getGlyphList

        public GlyphList getGlyphList()
        Returns the Encoding vector.
      • isSymbolic

        public final boolean isSymbolic()
        Returns true the font is a symbolic (that is, it does not use the Adobe Standard Roman character set).
      • isFontSymbolic

        protected java.lang.Boolean isFontSymbolic()
        Internal implementation of isSymbolic, allowing for the fact that the result may be indeterminate.
      • getSymbolicFlag

        protected final java.lang.Boolean getSymbolicFlag()
        Returns the value of the symbolic flag, allowing for the fact that the result may be indeterminate.
      • toUnicode

        public java.lang.String toUnicode​(int code)
                                   throws java.io.IOException
        Description copied from class: PDFont
        Returns the Unicode character sequence which corresponds to the given character code.
        Overrides:
        toUnicode in class PDFont
        Parameters:
        code - character code
        Returns:
        Unicode character(s)
        Throws:
        java.io.IOException
      • toUnicode

        public java.lang.String toUnicode​(int code,
                                          GlyphList customGlyphList)
                                   throws java.io.IOException
        Description copied from class: PDFont
        Returns the Unicode character sequence which corresponds to the given character code.
        Overrides:
        toUnicode in class PDFont
        Parameters:
        code - character code
        customGlyphList - a custom glyph list to use instead of the Adobe Glyph List
        Returns:
        Unicode character(s)
        Throws:
        java.io.IOException
      • isVertical

        public boolean isVertical()
        Description copied from class: PDFont
        Returns true if the font uses vertical writing mode.
        Specified by:
        isVertical in class PDFont
      • getStandard14Width

        protected final float getStandard14Width​(int code)
        Description copied from class: PDFont
        Returns the glyph width from the AFM if this is a Standard 14 font.
        Specified by:
        getStandard14Width in class PDFont
        Parameters:
        code - character code
        Returns:
        width in 1/1000 text space
      • isStandard14

        public boolean isStandard14()
        Description copied from class: PDFont
        Returns true if this font is one of the "Standard 14" fonts and receives special handling.
        Overrides:
        isStandard14 in class PDFont
      • getPath

        public abstract java.awt.geom.GeneralPath getPath​(java.lang.String name)
                                                   throws java.io.IOException
        Returns the path for the character with the given name. For some fonts, GIDs may be used instead of names when calling this method.
        Returns:
        glyph path
        Throws:
        java.io.IOException - if the path could not be read
      • hasGlyph

        public abstract boolean hasGlyph​(java.lang.String name)
                                  throws java.io.IOException
        Returns true if the font contains the character with the given name.
        Throws:
        java.io.IOException - if the path could not be read
      • getFontBoxFont

        public abstract FontBoxFont getFontBoxFont()
        Returns the embedded or system font used for rendering. This is never null.
      • addToSubset

        public void addToSubset​(int codePoint)
        Description copied from class: PDFont
        Adds the given Unicode point to the subset.
        Specified by:
        addToSubset in class PDFont
        Parameters:
        codePoint - Unicode code point
      • subset

        public void subset()
                    throws java.io.IOException
        Description copied from class: PDFont
        Replaces this font with a subset containing only the given Unicode characters.
        Specified by:
        subset in class PDFont
        Throws:
        java.io.IOException - if the subset could not be written
      • willBeSubset

        public boolean willBeSubset()
        Description copied from class: PDFont
        Returns true if this font will be subset when embedded.
        Specified by:
        willBeSubset in class PDFont
      • hasExplicitWidth

        public boolean hasExplicitWidth​(int code)
                                 throws java.io.IOException
        Description copied from interface: PDFontLike
        Returns true if the Font dictionary specifies an explicit width for the given glyph. This includes Width, W but not default widths entries.
        Parameters:
        code - character code
        Throws:
        java.io.IOException - if the font could not be read
      • assignGlyphList

        private void assignGlyphList​(java.lang.String baseFont)