// While we have text in need of paragraph stylings, go ahead and
// grok the contents as paragraph formatting data
- while(pos < rawContents.length && textHandled < size) {
+ int prsize = size;
+ while(pos < rawContents.length && textHandled < prsize) {
// First up, fetch the number of characters this applies to
int textLen = LittleEndian.getInt(rawContents,pos);
textHandled += textLen;
// Save this properties set
paragraphStyles.add(thisCollection);
+
+ // Handle extra 1 paragraph styles at the end
+ if(pos < rawContents.length && textHandled == size) {
+ prsize++;
+ }
+
}
+ if (rawContents.length > 0 && textHandled != (size+1)){
+ System.err.println("Problem reading paragraph style runs: textHandled = " + textHandled + ", text.size+1 = " + (size+1));
+ }
// Now do the character stylings
textHandled = 0;
- while(pos < rawContents.length && textHandled < size) {
+ int chsize = size;
+ while(pos < rawContents.length && textHandled < chsize) {
// First up, fetch the number of characters this applies to
int textLen = LittleEndian.getInt(rawContents,pos);
textHandled += textLen;
// Handle extra 1 char styles at the end
if(pos < rawContents.length && textHandled == size) {
- size++;
+ chsize++;
}
}
+ if (rawContents.length > 0 && textHandled != (size+1)){
+ System.err.println("Problem reading character style runs: textHandled = " + textHandled + ", text.size+1 = " + (size+1));
+ }
// Handle anything left over
if(pos < rawContents.length) {
00, 00, 0x04, 00, // font.color only
0xFF-256, 0x33, 00, 0xFE-256 // red
};
- private int data_a_text_len = 54;
+ private int data_a_text_len = 0x36-1;
/**
* From a real file: 4 paragraphs with text in 4 different styles:
28, 0, 1, 0, 0, 0, 0, 0,
3, 0, 1, 0, 24, 0
};
- private int data_c_text_len = 123;
+ private int data_c_text_len = 123-1;
public void testRecordType() throws Exception {