Class FontFileReader

java.lang.Object
org.apache.fop.fonts.truetype.FontFileReader

public class FontFileReader extends Object
Reads a TrueType font file into a byte array and provides file like functions for array access.
  • Constructor Details

    • FontFileReader

      public FontFileReader(InputStream in) throws IOException
      Constructor
      Parameters:
      in - InputStream to read from
      Throws:
      IOException - In case of an I/O problem
  • Method Details

    • seekSet

      public void seekSet(long offset) throws IOException
      Set current file position to offset
      Parameters:
      offset - The new offset to set
      Throws:
      IOException - In case of an I/O problem
    • skip

      public void skip(long add) throws IOException
      Skip a given number of bytes.
      Parameters:
      add - The number of bytes to advance
      Throws:
      IOException - In case of an I/O problem
    • getCurrentPos

      public int getCurrentPos()
      Returns current file position.
      Returns:
      int The current position.
    • getFileSize

      public int getFileSize()
      Returns the size of the file.
      Returns:
      int The filesize
    • readTTFByte

      public final byte readTTFByte() throws IOException
      Read 1 signed byte.
      Returns:
      One byte
      Throws:
      IOException - If EOF is reached
    • readTTFUByte

      public final int readTTFUByte() throws IOException
      Read 1 unsigned byte.
      Returns:
      One unsigned byte
      Throws:
      IOException - If EOF is reached
    • readTTFShort

      public final short readTTFShort() throws IOException
      Read 2 bytes signed.
      Returns:
      One signed short
      Throws:
      IOException - If EOF is reached
    • readTTFUShort

      public final int readTTFUShort() throws IOException
      Read 2 bytes unsigned.
      Returns:
      One unsigned short
      Throws:
      IOException - If EOF is reached
    • writeTTFUShort

      public final void writeTTFUShort(long pos, int val) throws IOException
      Write a USHort at a given position.
      Parameters:
      pos - The absolute position to write to
      val - The value to write
      Throws:
      IOException - If EOF is reached
    • readTTFShort

      public final short readTTFShort(long pos) throws IOException
      Read 2 bytes signed at position pos without changing current position.
      Parameters:
      pos - The absolute position to read from
      Returns:
      One signed short
      Throws:
      IOException - If EOF is reached
    • readTTFUShort

      public final int readTTFUShort(long pos) throws IOException
      Read 2 bytes unsigned at position pos without changing current position.
      Parameters:
      pos - The absolute position to read from
      Returns:
      One unsigned short
      Throws:
      IOException - If EOF is reached
    • readTTFLong

      public final int readTTFLong() throws IOException
      Read 4 bytes.
      Returns:
      One signed integer
      Throws:
      IOException - If EOF is reached
    • readTTFULong

      public final long readTTFULong() throws IOException
      Read 4 bytes.
      Returns:
      One unsigned integer
      Throws:
      IOException - If EOF is reached
    • readTTFString

      public final String readTTFString() throws IOException
      Read a NUL terminated ISO-8859-1 string.
      Returns:
      A String
      Throws:
      IOException - If EOF is reached
    • readTTFString

      public final String readTTFString(int len) throws IOException
      Read an ISO-8859-1 string of len bytes.
      Parameters:
      len - The length of the string to read
      Returns:
      A String
      Throws:
      IOException - If EOF is reached
    • readTTFString

      public final String readTTFString(int len, int encodingID) throws IOException
      Read an ISO-8859-1 string of len bytes.
      Parameters:
      len - The length of the string to read
      encodingID - the string encoding id (presently ignored; always uses UTF-16BE)
      Returns:
      A String
      Throws:
      IOException - If EOF is reached
    • getBytes

      public byte[] getBytes(int offset, int length) throws IOException
      Return a copy of the internal array
      Parameters:
      offset - The absolute offset to start reading from
      length - The number of bytes to read
      Returns:
      An array of bytes
      Throws:
      IOException - if out of bounds
    • getAllBytes

      public byte[] getAllBytes()
      Returns the full byte array representation of the file.
      Returns:
      byte array.