Package org.apache.fontbox.ttf
Class TTCDataStream
- java.lang.Object
-
- org.apache.fontbox.ttf.TTFDataStream
-
- org.apache.fontbox.ttf.TTCDataStream
-
- All Implemented Interfaces:
java.io.Closeable,java.lang.AutoCloseable
class TTCDataStream extends TTFDataStream
A wrapper for a TTF stream inside a TTC file, does not close the underlying shared stream.
-
-
Field Summary
Fields Modifier and Type Field Description private TTFDataStreamstream
-
Constructor Summary
Constructors Constructor Description TTCDataStream(TTFDataStream stream)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()RandomAccessReadcreateSubView(long length)Creates a view from current position topos + length.longgetCurrentPosition()Get the current position in the stream.java.io.InputStreamgetOriginalData()This will get the original data file that was used for this stream.longgetOriginalDataSize()This will get the original data size that was used for this stream.intread()Read an unsigned byte.intread(byte[] b, int off, int len)longreadLong()Read an unsigned byte.voidseek(long pos)Seek into the datasource.-
Methods inherited from class org.apache.fontbox.ttf.TTFDataStream
read, read32Fixed, readInternationalDate, readSignedByte, readSignedShort, readString, readString, readTag, readUnsignedByte, readUnsignedByteArray, readUnsignedInt, readUnsignedShort, readUnsignedShortArray
-
-
-
-
Field Detail
-
stream
private final TTFDataStream stream
-
-
Constructor Detail
-
TTCDataStream
TTCDataStream(TTFDataStream stream)
-
-
Method Detail
-
read
public int read() throws java.io.IOExceptionDescription copied from class:TTFDataStreamRead an unsigned byte.- Specified by:
readin classTTFDataStream- Returns:
- An unsigned byte.
- Throws:
java.io.IOException- If there is an error reading the data.
-
readLong
public long readLong() throws java.io.IOExceptionDescription copied from class:TTFDataStreamRead an unsigned byte.- Specified by:
readLongin classTTFDataStream- Returns:
- An unsigned byte.
- Throws:
java.io.IOException- If there is an error reading the data.
-
close
public void close() throws java.io.IOException- Throws:
java.io.IOException
-
seek
public void seek(long pos) throws java.io.IOExceptionDescription copied from class:TTFDataStreamSeek into the datasource.- Specified by:
seekin classTTFDataStream- Parameters:
pos- The position to seek to.- Throws:
java.io.IOException- If there is an error seeking to that position.
-
read
public int read(byte[] b, int off, int len) throws java.io.IOException- Specified by:
readin classTTFDataStream- Parameters:
b- The buffer to write to.off- The offset into the buffer.len- The length into the buffer.- Returns:
- The number of bytes read, or -1 at the end of the stream
- Throws:
java.io.IOException- If there is an error reading from the stream.- See Also:
InputStream.read(byte[], int, int )
-
getCurrentPosition
public long getCurrentPosition() throws java.io.IOExceptionDescription copied from class:TTFDataStreamGet the current position in the stream.- Specified by:
getCurrentPositionin classTTFDataStream- Returns:
- The current position in the stream.
- Throws:
java.io.IOException- If an error occurs while reading the stream.
-
getOriginalData
public java.io.InputStream getOriginalData() throws java.io.IOExceptionDescription copied from class:TTFDataStreamThis will get the original data file that was used for this stream.- Specified by:
getOriginalDatain classTTFDataStream- Returns:
- The data that was read from.
- Throws:
java.io.IOException- If there is an issue reading the data.
-
getOriginalDataSize
public long getOriginalDataSize()
Description copied from class:TTFDataStreamThis will get the original data size that was used for this stream.- Specified by:
getOriginalDataSizein classTTFDataStream- Returns:
- The size of the original data.
-
createSubView
public RandomAccessRead createSubView(long length)
Description copied from class:TTFDataStreamCreates a view from current position topos + length. It can be faster thanread(length)if you only need a few bytes.SubView.close()should never closeTTFDataStream.this, only itself.- Overrides:
createSubViewin classTTFDataStream- Returns:
- A view or null (caller can use
TTFDataStream.read()instead). Please close() the result
-
-