Class FontFileReader

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

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

    Constructors 
    Constructor Description
    FontFileReader​(java.io.InputStream in)
    Constructor
    FontFileReader​(java.lang.String fileName)
    Constructor
  • Method Summary

    Modifier and Type Method Description
    byte[] getBytes​(int offset, int length)
    Return a copy of the internal array
    int getCurrentPos()
    Returns current file position.
    int getFileSize()
    Returns the size of the file.
    byte read()
    Read 1 byte.
    byte readTTFByte()
    Read 1 signed byte.
    int readTTFLong()
    Read 4 bytes.
    short readTTFShort()
    Read 2 bytes signed.
    short readTTFShort​(long pos)
    Read 2 bytes signed at position pos without changing current position.
    java.lang.String readTTFString()
    Read a NUL terminated ISO-8859-1 string.
    java.lang.String readTTFString​(int len)
    Read an ISO-8859-1 string of len bytes.
    java.lang.String readTTFString​(int len, int encodingID)
    Read an ISO-8859-1 string of len bytes.
    int readTTFUByte()
    Read 1 unsigned byte.
    long readTTFULong()
    Read 4 bytes.
    int readTTFUShort()
    Read 2 bytes unsigned.
    int readTTFUShort​(long pos)
    Read 2 bytes unsigned at position pos without changing current position.
    void seekAdd​(long add)
    Set current file position to offset
    void seekSet​(long offset)
    Set current file position to offset
    void skip​(long add)
    Skip a given number of bytes.
    void writeTTFUShort​(int pos, int val)
    Write a USHort at a given position.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • FontFileReader

      public FontFileReader​(java.lang.String fileName) throws java.io.IOException
      Constructor
      Parameters:
      fileName - filename to read
      Throws:
      java.io.IOException - In case of an I/O problem
    • FontFileReader

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

    • seekSet

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

      public void seekAdd​(long add) throws java.io.IOException
      Set current file position to offset
      Parameters:
      add - The number of bytes to advance
      Throws:
      java.io.IOException - In case of an I/O problem
    • skip

      public void skip​(long add) throws java.io.IOException
      Skip a given number of bytes.
      Parameters:
      add - The number of bytes to advance
      Throws:
      java.io.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
    • read

      public byte read() throws java.io.IOException
      Read 1 byte.
      Returns:
      One byte
      Throws:
      java.io.IOException - If EOF is reached
    • readTTFByte

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

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

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

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

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

      public final short readTTFShort​(long pos) throws java.io.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:
      java.io.IOException - If EOF is reached
    • readTTFUShort

      public final int readTTFUShort​(long pos) throws java.io.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:
      java.io.IOException - If EOF is reached
    • readTTFLong

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

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

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

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

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

      public byte[] getBytes​(int offset, int length) throws java.io.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:
      java.io.IOException - if out of bounds