]> source.dussan.org Git - poi.git/commitdiff
latest updates
authorSaid Ryan Ackley <sackley@apache.org>
Sun, 29 Jun 2003 14:19:23 +0000 (14:19 +0000)
committerSaid Ryan Ackley <sackley@apache.org>
Sun, 29 Jun 2003 14:19:23 +0000 (14:19 +0000)
git-svn-id: https://svn.apache.org/repos/asf/jakarta/poi/trunk@353178 13f79535-47bb-0310-9956-ffa450edef68

src/scratchpad/src/org/apache/poi/hwpf/model/hdftypes/PAPBinTable.java
src/scratchpad/src/org/apache/poi/hwpf/model/hdftypes/PAPFormattedDiskPage.java
src/scratchpad/src/org/apache/poi/hwpf/model/hdftypes/ParagraphHeight.java

index 882266237a588a28c8974e026369ba5959888827..92f954cbf98846a124a7b89f8a1864a9c9efe8ac 100644 (file)
@@ -93,6 +93,11 @@ public class PAPBinTable
     }
   }
 
+  public ArrayList getParagraphs()
+  {
+    return _paragraphs;
+  }
+
   public void writeTo(HWPFFileSystem sys, int fcMin)
     throws IOException
   {
index b4e1a35c27bb3fe1ab55451279caf05a238c0a36..2890bc0850840f06983d4a671e6f7b33c1606472 100644 (file)
@@ -204,6 +204,7 @@ public class PAPFormattedDiskPage extends FormattedDiskPage
         byte[] grpprl = papx.getGrpprl();
 
         grpprlOffset -= (grpprl.length + (2 - grpprl.length % 2));
+        grpprlOffset -= (grpprlOffset % 2);
         LittleEndian.putInt(buf, fcOffset, papx.getStart() + fcMin);
         buf[bxOffset] = (byte)(grpprlOffset/2);
         System.arraycopy(phe, 0, buf, bxOffset + 1, phe.length);
@@ -233,7 +234,7 @@ public class PAPFormattedDiskPage extends FormattedDiskPage
 
     private ParagraphHeight getParagraphHeight(int index)
     {
-      int pheOffset = 1 + (2 * LittleEndian.getUnsignedByte(_fkp, _offset + (((_crun + 1) * 4) + (index * 13))));
+      int pheOffset = 1 + (((_crun + 1) * 4) + (index * 13));
 
       ParagraphHeight phe = new ParagraphHeight(_fkp, pheOffset);
 
index c35cfd30a7c52c079364b3c8ceaaf5639495bbad..2177007f5a2ab71e55a889a0811f4286c3585bfa 100644 (file)
@@ -71,8 +71,7 @@ public class ParagraphHeight
     private BitField clMac = new BitField(0xff00);
   private short reserved;
   private int dxaCol;
-  private int dymLine;
-  private int dymHeight;
+  private int dymLineOrHeight;
 
   public ParagraphHeight(byte[] buf, int offset)
   {
@@ -82,9 +81,7 @@ public class ParagraphHeight
     offset += LittleEndian.SHORT_SIZE;
     dxaCol = LittleEndian.getInt(buf, offset);
     offset += LittleEndian.INT_SIZE;
-    dymLine = LittleEndian.getInt(buf, offset);
-    offset += LittleEndian.INT_SIZE;
-    dymHeight = LittleEndian.getInt(buf, offset);
+    dymLineOrHeight = LittleEndian.getInt(buf, offset);
   }
 
   public void write(OutputStream out)
@@ -103,9 +100,7 @@ public class ParagraphHeight
     offset += LittleEndian.SHORT_SIZE;
     LittleEndian.putInt(buf, offset, dxaCol);
     offset += LittleEndian.INT_SIZE;
-    LittleEndian.putInt(buf, offset, dymLine);
-    offset += LittleEndian.INT_SIZE;
-    LittleEndian.putInt(buf, offset, dymHeight);
+    LittleEndian.putInt(buf, offset, dymLineOrHeight);
 
     return buf;
   }