Class Type1Font

    • Field Detail

      • fontName

        java.lang.String fontName
      • paintType

        int paintType
      • fontType

        int fontType
      • fontMatrix

        java.util.List<java.lang.Number> fontMatrix
      • fontBBox

        java.util.List<java.lang.Number> fontBBox
      • uniqueID

        int uniqueID
      • strokeWidth

        float strokeWidth
      • fontID

        java.lang.String fontID
      • version

        java.lang.String version
      • notice

        java.lang.String notice
      • fullName

        java.lang.String fullName
      • familyName

        java.lang.String familyName
      • weight

        java.lang.String weight
      • italicAngle

        float italicAngle
      • isFixedPitch

        boolean isFixedPitch
      • underlinePosition

        float underlinePosition
      • underlineThickness

        float underlineThickness
      • blueValues

        java.util.List<java.lang.Number> blueValues
      • otherBlues

        java.util.List<java.lang.Number> otherBlues
      • familyBlues

        java.util.List<java.lang.Number> familyBlues
      • familyOtherBlues

        java.util.List<java.lang.Number> familyOtherBlues
      • blueScale

        float blueScale
      • blueShift

        int blueShift
      • blueFuzz

        int blueFuzz
      • stdHW

        java.util.List<java.lang.Number> stdHW
      • stdVW

        java.util.List<java.lang.Number> stdVW
      • stemSnapH

        java.util.List<java.lang.Number> stemSnapH
      • stemSnapV

        java.util.List<java.lang.Number> stemSnapV
      • forceBold

        boolean forceBold
      • languageGroup

        int languageGroup
      • subrs

        final java.util.List<byte[]> subrs
      • charstrings

        final java.util.Map<java.lang.String,​byte[]> charstrings
      • charStringCache

        private final java.util.Map<java.lang.String,​Type1CharString> charStringCache
      • segment1

        private final byte[] segment1
      • segment2

        private final byte[] segment2
    • Constructor Detail

      • Type1Font

        Type1Font​(byte[] segment1,
                  byte[] segment2)
        Constructs a new Type1Font, called by Type1Parser.
    • Method Detail

      • createWithPFB

        public static Type1Font createWithPFB​(java.io.InputStream pfbStream)
                                       throws java.io.IOException
        Constructs a new Type1Font object from a .pfb stream.
        Parameters:
        pfbStream - .pfb input stream, including headers
        Returns:
        a type1 font
        Throws:
        java.io.IOException - if something went wrong
      • createWithPFB

        public static Type1Font createWithPFB​(byte[] pfbBytes)
                                       throws java.io.IOException
        Constructs a new Type1Font object from a .pfb stream.
        Parameters:
        pfbBytes - .pfb data, including headers
        Returns:
        a type1 font
        Throws:
        java.io.IOException - if something went wrong
      • createWithSegments

        public static Type1Font createWithSegments​(byte[] segment1,
                                                   byte[] segment2)
                                            throws java.io.IOException
        Constructs a new Type1Font object from two header-less .pfb segments.
        Parameters:
        segment1 - The first segment, without header
        segment2 - The second segment, without header
        Returns:
        A new Type1Font instance
        Throws:
        java.io.IOException - if something went wrong
      • getSubrsArray

        public java.util.List<byte[]> getSubrsArray()
        Returns the /Subrs array as raw bytes.
        Returns:
        Type 1 char string bytes
      • getCharStringsDict

        public java.util.Map<java.lang.String,​byte[]> getCharStringsDict()
        Returns the /CharStrings dictionary as raw bytes.
        Returns:
        Type 1 char string bytes
      • getName

        public java.lang.String getName()
        Description copied from interface: FontBoxFont
        The PostScript name of the font.
        Specified by:
        getName in interface FontBoxFont
        Returns:
        the postscript of the font or null
      • getPath

        public java.awt.geom.GeneralPath getPath​(java.lang.String name)
                                          throws java.io.IOException
        Description copied from interface: FontBoxFont
        Returns the path for the character with the given name.
        Specified by:
        getPath in interface FontBoxFont
        Parameters:
        name - PostScript glyph name
        Returns:
        glyph path
        Throws:
        java.io.IOException - if the path could not be read
      • getWidth

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

        public boolean hasGlyph​(java.lang.String name)
        Description copied from interface: FontBoxFont
        Returns true if the font contains the given glyph.
        Specified by:
        hasGlyph in interface FontBoxFont
        Parameters:
        name - PostScript glyph name
        Returns:
        true if the font contains a glyph with the given name, otherwise false
      • getType1CharString

        public Type1CharString getType1CharString​(java.lang.String name)
                                           throws java.io.IOException
        Description copied from interface: Type1CharStringReader
        Returns the Type 1 CharString for the character with the given name.
        Specified by:
        getType1CharString in interface Type1CharStringReader
        Parameters:
        name - the character name of the Type1 charstring
        Returns:
        Type 1 CharString
        Throws:
        java.io.IOException - if something went wrong
      • getFontName

        public java.lang.String getFontName()
        Returns the font name.
        Returns:
        the font name
      • getEncoding

        public Encoding getEncoding()
        Returns the Encoding, if present.
        Specified by:
        getEncoding in interface EncodedFont
        Returns:
        the encoding or null
      • getPaintType

        public int getPaintType()
        Returns the paint type.
        Returns:
        the paint type
      • getFontType

        public int getFontType()
        Returns the font type.
        Returns:
        the font type
      • getFontMatrix

        public java.util.List<java.lang.Number> getFontMatrix()
        Returns the font matrix.
        Specified by:
        getFontMatrix in interface FontBoxFont
        Returns:
        the font matrix
      • getFontBBox

        public BoundingBox getFontBBox()
                                throws java.io.IOException
        Returns the font bounding box.
        Specified by:
        getFontBBox in interface FontBoxFont
        Returns:
        the font bounding box
        Throws:
        java.io.IOException - if there are less than 4 numbers
      • getUniqueID

        public int getUniqueID()
        Returns unique ID.
        Returns:
        the unique ID
      • getStrokeWidth

        public float getStrokeWidth()
        Returns the stroke width.
        Returns:
        the stroke width
      • getFontID

        public java.lang.String getFontID()
        Returns the font ID.
        Returns:
        the font ID
      • getVersion

        public java.lang.String getVersion()
        Returns the version.
        Returns:
        the version
      • getNotice

        public java.lang.String getNotice()
        Returns the notice.
        Returns:
        the notice
      • getFullName

        public java.lang.String getFullName()
        Returns the full name.
        Returns:
        the full name
      • getFamilyName

        public java.lang.String getFamilyName()
        Returns the family name.
        Returns:
        the family name
      • getWeight

        public java.lang.String getWeight()
        Returns the weight.
        Returns:
        the weight
      • getItalicAngle

        public float getItalicAngle()
        Returns the italic angle.
        Returns:
        the italic angle
      • isFixedPitch

        public boolean isFixedPitch()
        Determines if the font has a fixed pitch.
        Returns:
        true if the font has a fixed pitch
      • getUnderlinePosition

        public float getUnderlinePosition()
        Returns the underline position
        Returns:
        the underline position
      • getUnderlineThickness

        public float getUnderlineThickness()
        Returns the underline thickness.
        Returns:
        the underline thickness
      • getBlueValues

        public java.util.List<java.lang.Number> getBlueValues()
        Returns the blues values.
        Returns:
        the blues values
      • getOtherBlues

        public java.util.List<java.lang.Number> getOtherBlues()
        Returns the other blues values.
        Returns:
        the other blues values
      • getFamilyBlues

        public java.util.List<java.lang.Number> getFamilyBlues()
        Returns the family blues values.
        Returns:
        the family blues values
      • getFamilyOtherBlues

        public java.util.List<java.lang.Number> getFamilyOtherBlues()
        Returns the other family blues values.
        Returns:
        the other family blues values
      • getBlueScale

        public float getBlueScale()
        Returns the blue scale.
        Returns:
        the blue scale
      • getBlueShift

        public int getBlueShift()
        Returns the blue shift.
        Returns:
        the blue shift
      • getBlueFuzz

        public int getBlueFuzz()
        Returns the blue fuzz.
        Returns:
        the blue fuzz
      • getStdHW

        public java.util.List<java.lang.Number> getStdHW()
        Returns the StdHW value.
        Returns:
        the StdHW value
      • getStdVW

        public java.util.List<java.lang.Number> getStdVW()
        Returns the StdVW value.
        Returns:
        the StdVW value
      • getStemSnapH

        public java.util.List<java.lang.Number> getStemSnapH()
        Returns the StemSnapH value.
        Returns:
        the StemSnapH value
      • getStemSnapV

        public java.util.List<java.lang.Number> getStemSnapV()
        Returns the StemSnapV value.
        Returns:
        the StemSnapV value
      • isForceBold

        public boolean isForceBold()
        Determines if the font is bold.
        Returns:
        true if the font is bold
      • getLanguageGroup

        public int getLanguageGroup()
        Returns the language group.
        Returns:
        the language group
      • getASCIISegment

        public byte[] getASCIISegment()
        Returns the ASCII segment.
        Returns:
        the ASCII segment.
      • getBinarySegment

        public byte[] getBinarySegment()
        Returns the binary segment.
        Returns:
        the binary segment.
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object