FormattedDiskPagepublic abstract class FormattedDiskPage extends Object Represents an FKP data structure. This data structure is used to store the
grpprls of the paragraph and character properties of the document. A grpprl
is a list of sprms(decompression operations) to perform on a parent style.
The style properties for paragraph and character runs
are stored in fkps. There are PAP fkps for paragraph properties and CHP fkps
for character run properties. The first part of the fkp for both CHP and PAP
fkps consists of an array of 4 byte int offsets in the main stream for that
Paragraph's or Character run's text. The ending offset is the next
value in the array. For example, if an fkp has X number of Paragraph's
stored in it then there are (x + 1) 4 byte ints in the beginning array. The
number X is determined by the last byte in a 512 byte fkp.
CHP and PAP fkps also store the compressed styles(grpprl) that correspond to
the offsets on the front of the fkp. The offset of the grpprls is determined
differently for CHP fkps and PAP fkps. |
Fields Summary |
---|
protected byte[] | _fkp | protected int | _crun | protected int | _offset |
Constructors Summary |
---|
public FormattedDiskPage()
| public FormattedDiskPage(byte[] documentStream, int offset)Uses a 512-byte array to create a FKP
_crun = LittleEndian.getUnsignedByte(documentStream, offset + 511);
_fkp = documentStream;
_offset = offset;
|
Methods Summary |
---|
protected int | getEnd(int index)Used to get the end of the text corresponding to a grpprl in this fkp.
return LittleEndian.getInt(_fkp, _offset + ((index + 1) * 4));
| protected abstract byte[] | getGrpprl(int index)
| protected int | getStart(int index)Used to get a text offset corresponding to a grpprl in this fkp.
return LittleEndian.getInt(_fkp, _offset + (index * 4));
| public int | size()Used to get the total number of grrprl's stored int this FKP
return _crun;
|
|