org.apache.fop.fonts.truetype

Class 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

FontFileReader(InputStream in)
Constructor
FontFileReader(String fileName)
Constructor

Method Summary

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.
String
readTTFString()
Read a NUL terminated ISO-8859-1 string.
String
readTTFString(int len)
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.

Constructor Details

FontFileReader

public FontFileReader(InputStream in)
            throws IOException
Constructor
Parameters:
in - InputStream to read from

FontFileReader

public FontFileReader(String fileName)
            throws IOException
Constructor
Parameters:
fileName - filename to read

Method Details

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

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 IOException
Read 1 byte.
Returns:
One byte

readTTFByte

public final byte readTTFByte()
            throws IOException
Read 1 signed byte.
Returns:
One byte

readTTFLong

public final int readTTFLong()
            throws IOException
Read 4 bytes.
Returns:
One signed integer

readTTFShort

public final short readTTFShort()
            throws IOException
Read 2 bytes signed.
Returns:
One signed short

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

readTTFString

public final String readTTFString()
            throws IOException
Read a NUL terminated ISO-8859-1 string.
Returns:
A String

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

readTTFUByte

public final int readTTFUByte()
            throws IOException
Read 1 unsigned byte.
Returns:
One unsigned byte

readTTFULong

public final long readTTFULong()
            throws IOException
Read 4 bytes.
Returns:
One unsigned integer

readTTFUShort

public final int readTTFUShort()
            throws IOException
Read 2 bytes unsigned.
Returns:
One unsigned short

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

seekAdd

public void seekAdd(long add)
            throws IOException
Set current file position to offset
Parameters:
add - The number of bytes to advance

seekSet

public void seekSet(long offset)
            throws IOException
Set current file position to offset
Parameters:
offset - The new offset to set

skip

public void skip(long add)
            throws IOException
Skip a given number of bytes.
Parameters:
add - The number of bytes to advance

writeTTFUShort

public final void writeTTFUShort(int 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

Copyright 1999-2007 The Apache Software Foundation. All Rights Reserved.