]> source.dussan.org Git - poi.git/commitdiff
latest changes
authorSaid Ryan Ackley <sackley@apache.org>
Tue, 2 Mar 2004 06:31:46 +0000 (06:31 +0000)
committerSaid Ryan Ackley <sackley@apache.org>
Tue, 2 Mar 2004 06:31:46 +0000 (06:31 +0000)
git-svn-id: https://svn.apache.org/repos/asf/jakarta/poi/trunk@353519 13f79535-47bb-0310-9956-ffa450edef68

src/scratchpad/src/org/apache/poi/hwpf/Range.java [deleted file]
src/scratchpad/src/org/apache/poi/hwpf/model/TestListTables.java [deleted file]
src/scratchpad/src/org/apache/poi/hwpf/model/types/CHPAbstractType.java [new file with mode: 0644]
src/scratchpad/src/org/apache/poi/hwpf/model/types/DOPAbstractType.java [new file with mode: 0644]
src/scratchpad/src/org/apache/poi/hwpf/model/types/FIBAbstractType.java [new file with mode: 0644]
src/scratchpad/src/org/apache/poi/hwpf/model/types/PAPAbstractType.java [new file with mode: 0644]
src/scratchpad/src/org/apache/poi/hwpf/model/types/SEPAbstractType.java [new file with mode: 0644]
src/scratchpad/src/org/apache/poi/hwpf/model/types/TAPAbstractType.java [new file with mode: 0644]
src/scratchpad/src/org/apache/poi/hwpf/model/types/TCAbstractType.java [new file with mode: 0644]

diff --git a/src/scratchpad/src/org/apache/poi/hwpf/Range.java b/src/scratchpad/src/org/apache/poi/hwpf/Range.java
deleted file mode 100644 (file)
index 72936c0..0000000
+++ /dev/null
@@ -1,398 +0,0 @@
-/* ====================================================================
- * The Apache Software License, Version 1.1
- *
- * Copyright (c) 2003 The Apache Software Foundation.  All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Apache" and "Apache Software Foundation" and
- *    "Apache POI" must not be used to endorse or promote products
- *    derived from this software without prior written permission. For
- *    written permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    "Apache POI", nor may "Apache" appear in their name, without
- *    prior written permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-package org.apache.poi.hwpf;
-
-
-import org.apache.poi.util.LittleEndian;
-
-import org.apache.poi.hwpf.usermodel.SectionRange;
-import org.apache.poi.hwpf.usermodel.CharacterRange;
-import org.apache.poi.hwpf.usermodel.ParagraphRange;
-import org.apache.poi.hwpf.usermodel.CharacterRun;
-import org.apache.poi.hwpf.usermodel.Paragraph;
-import org.apache.poi.hwpf.usermodel.Section;
-
-import org.apache.poi.hwpf.model.hdftypes.PropertyNode;
-import org.apache.poi.hwpf.model.hdftypes.StyleSheet;
-import org.apache.poi.hwpf.model.hdftypes.StyleDescription;
-import org.apache.poi.hwpf.model.hdftypes.CHPBinTable;
-import org.apache.poi.hwpf.model.hdftypes.CHPX;
-import org.apache.poi.hwpf.model.hdftypes.PAPX;
-import org.apache.poi.hwpf.model.hdftypes.SEPX;
-import org.apache.poi.hwpf.model.hdftypes.PAPBinTable;
-import org.apache.poi.hwpf.model.hdftypes.SectionTable;
-import org.apache.poi.hwpf.model.hdftypes.TextPieceTable;
-import org.apache.poi.hwpf.model.hdftypes.TextPiece;
-
-import org.apache.poi.hwpf.sprm.CharacterSprmUncompressor;
-import org.apache.poi.hwpf.sprm.CharacterSprmCompressor;
-import org.apache.poi.hwpf.sprm.SectionSprmUncompressor;
-import org.apache.poi.hwpf.sprm.ParagraphSprmUncompressor;
-
-
-import java.util.List;
-import java.util.ArrayList;
-import java.io.UnsupportedEncodingException;
-import java.lang.ref.SoftReference;
-
-public class Range
-{
-  private int _start;
-  private int _end;
-  private HWPFDocument _doc;
-  boolean _sectionRangeFound;
-  private List _sections;
-  int _sectionStart;
-  int _sectionEnd;
-  boolean _parRangeFound;
-  private List _paragraphs;
-  int _parStart;
-  int _parEnd;
-  boolean _charRangeFound;
-  private List _characters;
-  int _charStart;
-  int _charEnd;
-  boolean _textRangeFound;
-  private List _text;
-  int _textStart;
-  int _textEnd;
-
-
-  protected Range(int start, int end, HWPFDocument doc)
-  {
-    _start = start;
-    _end = end;
-    _doc = doc;
-    _sections = _doc.getSectionTable().getSections();
-    _paragraphs = _doc.getParagraphTable().getParagraphs();
-    _characters = _doc.getCharacterTable().getTextRuns();
-    _text = _doc.getTextTable().getTextPieces();
-  }
-
-  protected Range(int start, int end, Range parent)
-  {
-    _start = start;
-    _end = end;
-    _doc = parent._doc;
-    _sections = parent._sections;
-    _paragraphs = parent._paragraphs;
-    _characters = parent._characters;
-    _text = parent._text;
-  }
-
-  public String text()
-    throws UnsupportedEncodingException
-  {
-    initText();
-
-    StringBuffer sb = new StringBuffer();
-    int size = _text.size();
-    for (int x = 0; x < size; x++)
-    {
-      TextPiece tp = (TextPiece)_text.get(x);
-      StringBuffer pieceSb = (StringBuffer)tp.getCacheContents();
-      if (pieceSb == null)
-      {
-        String encoding = "Cp1252";
-        if (tp.usesUnicode())
-        {
-          encoding = "UTF-16LE";
-        }
-        String str = new String(tp.getBuf(), encoding);
-        pieceSb = new StringBuffer(str);
-        tp.fillCache(pieceSb);
-      }
-      int startIndex = Math.max(0, (tp.getStart() - _start));
-      int endIndex = Math.min(tp.getEnd() - startIndex, _end - startIndex);
-      sb.append(pieceSb.toString().substring(startIndex, endIndex));
-    }
-    return sb.toString();
-  }
-
-  public int numSections()
-  {
-    initSections();
-    return _sections.size();
-  }
-
-  public int numParagraphs()
-  {
-    initParagraphs();
-    return _paragraphs.size();
-  }
-
-  public int numCharacterRuns()
-  {
-    initCharacterRuns();
-    return _characters.size();
-  }
-
-  public CharacterRange insertBefore(String text)
-    throws UnsupportedEncodingException
-  {
-    initAll();
-
-    TextPiece tp = (TextPiece)_text.get(_textStart);
-    StringBuffer sb = (StringBuffer)tp.getStringBuffer();
-
-    // Since this is the first item in our list, it is safe to assume that
-    // _start >= tp.getStart()
-    int insertIndex = _start - tp.getStart();
-    sb.insert(insertIndex, text);
-    int adjustedLength = _doc.getTextTable().adjustForInsert(_textStart, text.length());
-    _doc.getCharacterTable().adjustForInsert(_textStart, adjustedLength);
-    _doc.getParagraphTable().adjustForInsert(_textStart, adjustedLength);
-    _doc.getSectionTable().adjustForInsert(_textStart, adjustedLength);
-    return getCharacterRange(0);
-  }
-
-  public CharacterRange insertAfter(String text)
-  {
-    return null;
-  }
-
-  public CharacterRange insertBefore(String text, CharacterRun cr)
-    throws UnsupportedEncodingException
-  {
-    initAll();
-    PAPX papx = (PAPX)_paragraphs.get(_parStart);
-    short istd = papx.getIstd();
-
-    StyleSheet ss = _doc.getStyleSheet();
-    CharacterRun baseStyle = ss.getCharacterStyle(istd);
-
-    byte[] grpprl = CharacterSprmCompressor.compressCharacterProperty(cr, baseStyle);
-    _doc.getCharacterTable().insert(_charStart, _start, grpprl);
-
-    return insertBefore(text);
-  }
-
-  public CharacterRange insertAfter(String text, CharacterRun cr)
-  {
-    return null;
-  }
-
-  public ParagraphRange insertBefore(Paragraph paragraph)
-  {
-    return null;
-  }
-
-  public ParagraphRange insertAfter(Paragraph paragraph)
-  {
-    return null;
-  }
-
-
-  public CharacterRun getCharacterRun(int index)
-  {
-    initCharacterRuns();
-    CHPX chpx = (CHPX)_characters.get(index + _charStart);
-    CharacterRun chp = (CharacterRun)chpx.getCacheContents();
-    if (chp == null)
-    {
-      int[] point = findRange(_paragraphs, _parStart, chpx.getStart(),
-                              chpx.getEnd());
-      List paragraphList = _paragraphs.subList(point[0], point[1]);
-      PAPX papx = (PAPX)paragraphList.get(0);
-      short istd = papx.getIstd();
-
-      StyleSheet sd = _doc.getStyleSheet();
-      CharacterRun baseStyle = sd.getCharacterStyle(istd);
-      chp = CharacterSprmUncompressor.uncompressCHP(baseStyle, chpx.getBuf(), 0);
-      chpx.fillCache(chp);
-    }
-    return chp;
-  }
-
-  public Section getSection(int index)
-  {
-    initSections();
-    SEPX sepx = (SEPX)_sections.get(index + _sectionStart);
-    Section sep = (Section)sepx.getCacheContents();
-    if (sep == null)
-    {
-      sep = SectionSprmUncompressor.uncompressSEP(new Section(), sepx.getBuf(), 0);
-      sepx.fillCache(sep);
-    }
-    return sep;
-  }
-
-  public Paragraph getParagraph(int index)
-  {
-    initParagraphs();
-    PAPX papx = (PAPX)_paragraphs.get(index + _parStart);
-    Paragraph pap = (Paragraph)papx.getCacheContents();
-    if (pap == null)
-    {
-      short istd = LittleEndian.getShort(papx.getBuf());
-      StyleSheet sd = _doc.getStyleSheet();
-      Paragraph baseStyle = sd.getParagraphStyle(istd);
-      pap = ParagraphSprmUncompressor.uncompressPAP(baseStyle, papx.getBuf(), 2);
-      papx.fillCache(pap);
-    }
-    return pap;
-  }
-
-  public SectionRange getSectionRange(int index)
-  {
-    initSections();
-    PropertyNode node = (PropertyNode)_sections.get(index + _sectionStart);
-    return new SectionRange(Math.max(_start, node.getStart()),
-                            Math.min(_end, node.getEnd()), this);
-  }
-
-  public ParagraphRange getParagraphRange(int index)
-  {
-    initParagraphs();
-    PropertyNode node = (PropertyNode)_paragraphs.get(index + _parStart);
-    return new ParagraphRange(Math.max(_start, node.getStart()),
-                            Math.min(_end, node.getEnd()),this);
-  }
-
-  public CharacterRange getCharacterRange(int index)
-  {
-    initCharacterRuns();
-    PropertyNode node = (PropertyNode)_characters.get(index + _charStart);
-    return new CharacterRange(Math.max(_start, node.getStart()),
-                            Math.min(_end, node.getEnd()), this);
-  }
-
-  public SectionRange sections()
-  {
-    return new SectionRange(_start, _end, _doc);
-  }
-  public ParagraphRange paragraphs()
-  {
-    return new ParagraphRange(_start, _end, _doc);
-  }
-
-  public CharacterRange characterRuns()
-  {
-    return new CharacterRange(_start, _end, _doc);
-  }
-
-  private void initAll()
-  {
-    initText();
-    initCharacterRuns();
-    initParagraphs();
-    initSections();
-  }
-
-
-  private void initParagraphs()
-  {
-    if (!_parRangeFound)
-    {
-      int[] point = findRange(_paragraphs, _parStart, _start, _end);
-      _parStart = point[0];
-      _parEnd = point[1];
-      _parRangeFound = true;
-    }
-  }
-
-  private void initCharacterRuns()
-  {
-    if (!_charRangeFound)
-    {
-      int[] point = findRange(_characters, _charStart, _start, _end);
-      _charStart = point[0];
-      _charEnd = point[1];
-      _charRangeFound = true;
-    }
-  }
-
-  private void initText()
-  {
-    if (!_textRangeFound)
-    {
-      int[] point = findRange(_text, _textStart, _start, _end);
-      _textStart = point[0];
-      _textEnd = point[1];
-      _textRangeFound = true;
-    }
-  }
-
-  private void initSections()
-  {
-    if (!_sectionRangeFound)
-    {
-      int[] point = findRange(_sections, _sectionStart, _start, _end);
-      _sectionStart = point[0];
-      _sectionEnd = point[1];
-      _sectionRangeFound = true;
-    }
-  }
-
-  private int[] findRange(List rpl, int min, int start, int end)
-  {
-    int x = min;
-    PropertyNode node = (PropertyNode)rpl.get(x);
-    while(node.getStart() < start)
-    {
-      x++;
-      node = (PropertyNode)rpl.get(x);
-    }
-
-    int y = x;
-    node = (PropertyNode)rpl.get(y);
-    while(node.getEnd() > end)
-    {
-      y++;
-      node = (PropertyNode)rpl.get(y);
-    }
-    return new int[]{x, y + 1};
-  }
-}
diff --git a/src/scratchpad/src/org/apache/poi/hwpf/model/TestListTables.java b/src/scratchpad/src/org/apache/poi/hwpf/model/TestListTables.java
deleted file mode 100644 (file)
index c201ff0..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-package org.apache.poi.hwpf.model;
-
-import junit.framework.*;
-import org.apache.poi.hwpf.*;
-import org.apache.poi.hwpf.model.io.*;
-
-import java.io.*;
-import java.util.*;
-
-
-public class TestListTables
-  extends HWPFTestCase
-{
-
-  public TestListTables()
-  {
-  }
-
-  public void testReadWrite()
-    throws Exception
-  {
-    FileInformationBlock fib = _hWPFDocFixture._fib;
-    byte[] tableStream = _hWPFDocFixture._tableStream;
-
-    ListTables listTables = new ListTables(tableStream, fib.getFcPlcfLst(), fib.getFcPlfLfo());
-
-    HWPFFileSystem fileSys = new HWPFFileSystem();
-
-    HWPFOutputStream  tableOut = fileSys.getStream("1Table");
-
-    listTables.writeListDataTo(tableOut);
-    int offset = tableOut.getOffset();
-    listTables.writeListOverridesTo(tableOut);
-
-    ListTables newTables = new ListTables(tableOut.toByteArray(), 0, offset);
-
-    assertEquals(listTables, newTables);
-  }
-
-}
diff --git a/src/scratchpad/src/org/apache/poi/hwpf/model/types/CHPAbstractType.java b/src/scratchpad/src/org/apache/poi/hwpf/model/types/CHPAbstractType.java
new file mode 100644 (file)
index 0000000..542597f
--- /dev/null
@@ -0,0 +1,1426 @@
+
+/* ====================================================================
+ * The Apache Software License, Version 1.1
+ *
+ * Copyright (c) 2003 The Apache Software Foundation.  All rights
+ * reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in
+ *    the documentation and/or other materials provided with the
+ *    distribution.
+ *
+ * 3. The end-user documentation included with the redistribution,
+ *    if any, must include the following acknowledgment:
+ *       "This product includes software developed by the
+ *        Apache Software Foundation (http://www.apache.org/)."
+ *    Alternately, this acknowledgment may appear in the software itself,
+ *    if and wherever such third-party acknowledgments normally appear.
+ *
+ * 4. The names "Apache" and "Apache Software Foundation" and
+ *    "Apache POI" must not be used to endorse or promote products
+ *    derived from this software without prior written permission. For
+ *    written permission, please contact apache@apache.org.
+ *
+ * 5. Products derived from this software may not be called "Apache",
+ *    "Apache POI", nor may "Apache" appear in their name, without
+ *    prior written permission of the Apache Software Foundation.
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+ * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ * ====================================================================
+ *
+ * This software consists of voluntary contributions made by many
+ * individuals on behalf of the Apache Software Foundation.  For more
+ * information on the Apache Software Foundation, please see
+ * <http://www.apache.org/>.
+ */
+
+
+package org.apache.poi.hwpf.model.types;
+
+
+
+import org.apache.poi.util.BitField;
+import org.apache.poi.util.LittleEndian;
+import org.apache.poi.util.StringUtil;
+import org.apache.poi.util.HexDump;
+import org.apache.poi.hdf.model.hdftypes.HDFType;
+import org.apache.poi.hwpf.usermodel.*;
+
+/**
+ * Character Properties.
+ * NOTE: This source is automatically generated please do not modify this file.  Either subclass or
+ *       remove the record in src/records/definitions.
+
+ * @author S. Ryan Ackley
+ */
+public abstract class CHPAbstractType
+    implements HDFType
+{
+
+    protected  short field_1_chse;
+    protected  int field_2_format_flags;
+        private static BitField  fBold = new BitField(0x0001);
+        private static BitField  fItalic = new BitField(0x0002);
+        private static BitField  fRMarkDel = new BitField(0x0004);
+        private static BitField  fOutline = new BitField(0x0008);
+        private static BitField  fFldVanish = new BitField(0x0010);
+        private static BitField  fSmallCaps = new BitField(0x0020);
+        private static BitField  fCaps = new BitField(0x0040);
+        private static BitField  fVanish = new BitField(0x0080);
+        private static BitField  fRMark = new BitField(0x0100);
+        private static BitField  fSpec = new BitField(0x0200);
+        private static BitField  fStrike = new BitField(0x0400);
+        private static BitField  fObj = new BitField(0x0800);
+        private static BitField  fShadow = new BitField(0x1000);
+        private static BitField  fLowerCase = new BitField(0x2000);
+        private static BitField  fData = new BitField(0x4000);
+        private static BitField  fOle2 = new BitField(0x8000);
+    protected  int field_3_format_flags1;
+        private static BitField  fEmboss = new BitField(0x0001);
+        private static BitField  fImprint = new BitField(0x0002);
+        private static BitField  fDStrike = new BitField(0x0004);
+        private static BitField  fUsePgsuSettings = new BitField(0x0008);
+    protected  int field_4_ftcAscii;
+    protected  int field_5_ftcFE;
+    protected  int field_6_ftcOther;
+    protected  int field_7_hps;
+    protected  int field_8_dxaSpace;
+    protected  byte field_9_iss;
+    protected  byte field_10_kul;
+    protected  byte field_11_ico;
+    protected  int field_12_hpsPos;
+    protected  int field_13_lidDefault;
+    protected  int field_14_lidFE;
+    protected  byte field_15_idctHint;
+    protected  int field_16_wCharScale;
+    protected  int field_17_fcPic;
+    protected  int field_18_fcObj;
+    protected  int field_19_lTagObj;
+    protected  int field_20_ibstRMark;
+    protected  int field_21_ibstRMarkDel;
+    protected  DateAndTime field_22_dttmRMark;
+    protected  DateAndTime field_23_dttmRMarkDel;
+    protected  int field_24_istd;
+    protected  int field_25_baseIstd;
+    protected  int field_26_ftcSym;
+    protected  int field_27_xchSym;
+    protected  int field_28_idslRMReason;
+    protected  int field_29_idslReasonDel;
+    protected  byte field_30_ysr;
+    protected  byte field_31_chYsr;
+    protected  int field_32_hpsKern;
+    protected  short field_33_Highlight;
+        private static BitField  icoHighlight = new BitField(0x001f);
+        private static BitField  fHighlight = new BitField(0x0020);
+        private static BitField  kcd = new BitField(0x01c0);
+        private static BitField  fNavHighlight = new BitField(0x0200);
+        private static BitField  fChsDiff = new BitField(0x0400);
+        private static BitField  fMacChs = new BitField(0x0800);
+        private static BitField  fFtcAsciSym = new BitField(0x1000);
+    protected  short field_34_fPropMark;
+    protected  int field_35_ibstPropRMark;
+    protected  DateAndTime field_36_dttmPropRMark;
+    protected  byte field_37_sfxtText;
+    protected  byte field_38_fDispFldRMark;
+    protected  int field_39_ibstDispFldRMark;
+    protected  DateAndTime field_40_dttmDispFldRMark;
+    protected  byte[] field_41_xstDispFldRMark;
+    protected  ShadingDescriptor field_42_shd;
+    protected  BorderCode field_43_brc;
+
+
+    public CHPAbstractType()
+    {
+
+    }
+
+    /**
+     * Size of record (exluding 4 byte header)
+     */
+    public int getSize()
+    {
+        return 4 +  + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 4 + 1 + 1 + 1 + 2 + 2 + 2 + 1 + 2 + 4 + 4 + 4 + 2 + 2 + 4 + 4 + 2 + 2 + 2 + 2 + 2 + 2 + 1 + 1 + 2 + 2 + 2 + 2 + 4 + 1 + 1 + 2 + 4 + 32 + 2 + 4;
+    }
+
+
+
+    /**
+     * Get the chse field for the CHP record.
+     */
+    public short getChse()
+    {
+        return field_1_chse;
+    }
+
+    /**
+     * Set the chse field for the CHP record.
+     */
+    public void setChse(short field_1_chse)
+    {
+        this.field_1_chse = field_1_chse;
+    }
+
+    /**
+     * Get the format_flags field for the CHP record.
+     */
+    public int getFormat_flags()
+    {
+        return field_2_format_flags;
+    }
+
+    /**
+     * Set the format_flags field for the CHP record.
+     */
+    public void setFormat_flags(int field_2_format_flags)
+    {
+        this.field_2_format_flags = field_2_format_flags;
+    }
+
+    /**
+     * Get the format_flags1 field for the CHP record.
+     */
+    public int getFormat_flags1()
+    {
+        return field_3_format_flags1;
+    }
+
+    /**
+     * Set the format_flags1 field for the CHP record.
+     */
+    public void setFormat_flags1(int field_3_format_flags1)
+    {
+        this.field_3_format_flags1 = field_3_format_flags1;
+    }
+
+    /**
+     * Get the ftcAscii field for the CHP record.
+     */
+    public int getFtcAscii()
+    {
+        return field_4_ftcAscii;
+    }
+
+    /**
+     * Set the ftcAscii field for the CHP record.
+     */
+    public void setFtcAscii(int field_4_ftcAscii)
+    {
+        this.field_4_ftcAscii = field_4_ftcAscii;
+    }
+
+    /**
+     * Get the ftcFE field for the CHP record.
+     */
+    public int getFtcFE()
+    {
+        return field_5_ftcFE;
+    }
+
+    /**
+     * Set the ftcFE field for the CHP record.
+     */
+    public void setFtcFE(int field_5_ftcFE)
+    {
+        this.field_5_ftcFE = field_5_ftcFE;
+    }
+
+    /**
+     * Get the ftcOther field for the CHP record.
+     */
+    public int getFtcOther()
+    {
+        return field_6_ftcOther;
+    }
+
+    /**
+     * Set the ftcOther field for the CHP record.
+     */
+    public void setFtcOther(int field_6_ftcOther)
+    {
+        this.field_6_ftcOther = field_6_ftcOther;
+    }
+
+    /**
+     * Get the hps field for the CHP record.
+     */
+    public int getHps()
+    {
+        return field_7_hps;
+    }
+
+    /**
+     * Set the hps field for the CHP record.
+     */
+    public void setHps(int field_7_hps)
+    {
+        this.field_7_hps = field_7_hps;
+    }
+
+    /**
+     * Get the dxaSpace field for the CHP record.
+     */
+    public int getDxaSpace()
+    {
+        return field_8_dxaSpace;
+    }
+
+    /**
+     * Set the dxaSpace field for the CHP record.
+     */
+    public void setDxaSpace(int field_8_dxaSpace)
+    {
+        this.field_8_dxaSpace = field_8_dxaSpace;
+    }
+
+    /**
+     * Get the iss field for the CHP record.
+     */
+    public byte getIss()
+    {
+        return field_9_iss;
+    }
+
+    /**
+     * Set the iss field for the CHP record.
+     */
+    public void setIss(byte field_9_iss)
+    {
+        this.field_9_iss = field_9_iss;
+    }
+
+    /**
+     * Get the kul field for the CHP record.
+     */
+    public byte getKul()
+    {
+        return field_10_kul;
+    }
+
+    /**
+     * Set the kul field for the CHP record.
+     */
+    public void setKul(byte field_10_kul)
+    {
+        this.field_10_kul = field_10_kul;
+    }
+
+    /**
+     * Get the ico field for the CHP record.
+     */
+    public byte getIco()
+    {
+        return field_11_ico;
+    }
+
+    /**
+     * Set the ico field for the CHP record.
+     */
+    public void setIco(byte field_11_ico)
+    {
+        this.field_11_ico = field_11_ico;
+    }
+
+    /**
+     * Get the hpsPos field for the CHP record.
+     */
+    public int getHpsPos()
+    {
+        return field_12_hpsPos;
+    }
+
+    /**
+     * Set the hpsPos field for the CHP record.
+     */
+    public void setHpsPos(int field_12_hpsPos)
+    {
+        this.field_12_hpsPos = field_12_hpsPos;
+    }
+
+    /**
+     * Get the lidDefault field for the CHP record.
+     */
+    public int getLidDefault()
+    {
+        return field_13_lidDefault;
+    }
+
+    /**
+     * Set the lidDefault field for the CHP record.
+     */
+    public void setLidDefault(int field_13_lidDefault)
+    {
+        this.field_13_lidDefault = field_13_lidDefault;
+    }
+
+    /**
+     * Get the lidFE field for the CHP record.
+     */
+    public int getLidFE()
+    {
+        return field_14_lidFE;
+    }
+
+    /**
+     * Set the lidFE field for the CHP record.
+     */
+    public void setLidFE(int field_14_lidFE)
+    {
+        this.field_14_lidFE = field_14_lidFE;
+    }
+
+    /**
+     * Get the idctHint field for the CHP record.
+     */
+    public byte getIdctHint()
+    {
+        return field_15_idctHint;
+    }
+
+    /**
+     * Set the idctHint field for the CHP record.
+     */
+    public void setIdctHint(byte field_15_idctHint)
+    {
+        this.field_15_idctHint = field_15_idctHint;
+    }
+
+    /**
+     * Get the wCharScale field for the CHP record.
+     */
+    public int getWCharScale()
+    {
+        return field_16_wCharScale;
+    }
+
+    /**
+     * Set the wCharScale field for the CHP record.
+     */
+    public void setWCharScale(int field_16_wCharScale)
+    {
+        this.field_16_wCharScale = field_16_wCharScale;
+    }
+
+    /**
+     * Get the fcPic field for the CHP record.
+     */
+    public int getFcPic()
+    {
+        return field_17_fcPic;
+    }
+
+    /**
+     * Set the fcPic field for the CHP record.
+     */
+    public void setFcPic(int field_17_fcPic)
+    {
+        this.field_17_fcPic = field_17_fcPic;
+    }
+
+    /**
+     * Get the fcObj field for the CHP record.
+     */
+    public int getFcObj()
+    {
+        return field_18_fcObj;
+    }
+
+    /**
+     * Set the fcObj field for the CHP record.
+     */
+    public void setFcObj(int field_18_fcObj)
+    {
+        this.field_18_fcObj = field_18_fcObj;
+    }
+
+    /**
+     * Get the lTagObj field for the CHP record.
+     */
+    public int getLTagObj()
+    {
+        return field_19_lTagObj;
+    }
+
+    /**
+     * Set the lTagObj field for the CHP record.
+     */
+    public void setLTagObj(int field_19_lTagObj)
+    {
+        this.field_19_lTagObj = field_19_lTagObj;
+    }
+
+    /**
+     * Get the ibstRMark field for the CHP record.
+     */
+    public int getIbstRMark()
+    {
+        return field_20_ibstRMark;
+    }
+
+    /**
+     * Set the ibstRMark field for the CHP record.
+     */
+    public void setIbstRMark(int field_20_ibstRMark)
+    {
+        this.field_20_ibstRMark = field_20_ibstRMark;
+    }
+
+    /**
+     * Get the ibstRMarkDel field for the CHP record.
+     */
+    public int getIbstRMarkDel()
+    {
+        return field_21_ibstRMarkDel;
+    }
+
+    /**
+     * Set the ibstRMarkDel field for the CHP record.
+     */
+    public void setIbstRMarkDel(int field_21_ibstRMarkDel)
+    {
+        this.field_21_ibstRMarkDel = field_21_ibstRMarkDel;
+    }
+
+    /**
+     * Get the dttmRMark field for the CHP record.
+     */
+    public DateAndTime getDttmRMark()
+    {
+        return field_22_dttmRMark;
+    }
+
+    /**
+     * Set the dttmRMark field for the CHP record.
+     */
+    public void setDttmRMark(DateAndTime field_22_dttmRMark)
+    {
+        this.field_22_dttmRMark = field_22_dttmRMark;
+    }
+
+    /**
+     * Get the dttmRMarkDel field for the CHP record.
+     */
+    public DateAndTime getDttmRMarkDel()
+    {
+        return field_23_dttmRMarkDel;
+    }
+
+    /**
+     * Set the dttmRMarkDel field for the CHP record.
+     */
+    public void setDttmRMarkDel(DateAndTime field_23_dttmRMarkDel)
+    {
+        this.field_23_dttmRMarkDel = field_23_dttmRMarkDel;
+    }
+
+    /**
+     * Get the istd field for the CHP record.
+     */
+    public int getIstd()
+    {
+        return field_24_istd;
+    }
+
+    /**
+     * Set the istd field for the CHP record.
+     */
+    public void setIstd(int field_24_istd)
+    {
+        this.field_24_istd = field_24_istd;
+    }
+
+    /**
+     * Get the baseIstd field for the CHP record.
+     */
+    public int getBaseIstd()
+    {
+        return field_25_baseIstd;
+    }
+
+    /**
+     * Set the baseIstd field for the CHP record.
+     */
+    public void setBaseIstd(int field_25_baseIstd)
+    {
+        this.field_25_baseIstd = field_25_baseIstd;
+    }
+
+    /**
+     * Get the ftcSym field for the CHP record.
+     */
+    public int getFtcSym()
+    {
+        return field_26_ftcSym;
+    }
+
+    /**
+     * Set the ftcSym field for the CHP record.
+     */
+    public void setFtcSym(int field_26_ftcSym)
+    {
+        this.field_26_ftcSym = field_26_ftcSym;
+    }
+
+    /**
+     * Get the xchSym field for the CHP record.
+     */
+    public int getXchSym()
+    {
+        return field_27_xchSym;
+    }
+
+    /**
+     * Set the xchSym field for the CHP record.
+     */
+    public void setXchSym(int field_27_xchSym)
+    {
+        this.field_27_xchSym = field_27_xchSym;
+    }
+
+    /**
+     * Get the idslRMReason field for the CHP record.
+     */
+    public int getIdslRMReason()
+    {
+        return field_28_idslRMReason;
+    }
+
+    /**
+     * Set the idslRMReason field for the CHP record.
+     */
+    public void setIdslRMReason(int field_28_idslRMReason)
+    {
+        this.field_28_idslRMReason = field_28_idslRMReason;
+    }
+
+    /**
+     * Get the idslReasonDel field for the CHP record.
+     */
+    public int getIdslReasonDel()
+    {
+        return field_29_idslReasonDel;
+    }
+
+    /**
+     * Set the idslReasonDel field for the CHP record.
+     */
+    public void setIdslReasonDel(int field_29_idslReasonDel)
+    {
+        this.field_29_idslReasonDel = field_29_idslReasonDel;
+    }
+
+    /**
+     * Get the ysr field for the CHP record.
+     */
+    public byte getYsr()
+    {
+        return field_30_ysr;
+    }
+
+    /**
+     * Set the ysr field for the CHP record.
+     */
+    public void setYsr(byte field_30_ysr)
+    {
+        this.field_30_ysr = field_30_ysr;
+    }
+
+    /**
+     * Get the chYsr field for the CHP record.
+     */
+    public byte getChYsr()
+    {
+        return field_31_chYsr;
+    }
+
+    /**
+     * Set the chYsr field for the CHP record.
+     */
+    public void setChYsr(byte field_31_chYsr)
+    {
+        this.field_31_chYsr = field_31_chYsr;
+    }
+
+    /**
+     * Get the hpsKern field for the CHP record.
+     */
+    public int getHpsKern()
+    {
+        return field_32_hpsKern;
+    }
+
+    /**
+     * Set the hpsKern field for the CHP record.
+     */
+    public void setHpsKern(int field_32_hpsKern)
+    {
+        this.field_32_hpsKern = field_32_hpsKern;
+    }
+
+    /**
+     * Get the Highlight field for the CHP record.
+     */
+    public short getHighlight()
+    {
+        return field_33_Highlight;
+    }
+
+    /**
+     * Set the Highlight field for the CHP record.
+     */
+    public void setHighlight(short field_33_Highlight)
+    {
+        this.field_33_Highlight = field_33_Highlight;
+    }
+
+    /**
+     * Get the fPropMark field for the CHP record.
+     */
+    public short getFPropMark()
+    {
+        return field_34_fPropMark;
+    }
+
+    /**
+     * Set the fPropMark field for the CHP record.
+     */
+    public void setFPropMark(short field_34_fPropMark)
+    {
+        this.field_34_fPropMark = field_34_fPropMark;
+    }
+
+    /**
+     * Get the ibstPropRMark field for the CHP record.
+     */
+    public int getIbstPropRMark()
+    {
+        return field_35_ibstPropRMark;
+    }
+
+    /**
+     * Set the ibstPropRMark field for the CHP record.
+     */
+    public void setIbstPropRMark(int field_35_ibstPropRMark)
+    {
+        this.field_35_ibstPropRMark = field_35_ibstPropRMark;
+    }
+
+    /**
+     * Get the dttmPropRMark field for the CHP record.
+     */
+    public DateAndTime getDttmPropRMark()
+    {
+        return field_36_dttmPropRMark;
+    }
+
+    /**
+     * Set the dttmPropRMark field for the CHP record.
+     */
+    public void setDttmPropRMark(DateAndTime field_36_dttmPropRMark)
+    {
+        this.field_36_dttmPropRMark = field_36_dttmPropRMark;
+    }
+
+    /**
+     * Get the sfxtText field for the CHP record.
+     */
+    public byte getSfxtText()
+    {
+        return field_37_sfxtText;
+    }
+
+    /**
+     * Set the sfxtText field for the CHP record.
+     */
+    public void setSfxtText(byte field_37_sfxtText)
+    {
+        this.field_37_sfxtText = field_37_sfxtText;
+    }
+
+    /**
+     * Get the fDispFldRMark field for the CHP record.
+     */
+    public byte getFDispFldRMark()
+    {
+        return field_38_fDispFldRMark;
+    }
+
+    /**
+     * Set the fDispFldRMark field for the CHP record.
+     */
+    public void setFDispFldRMark(byte field_38_fDispFldRMark)
+    {
+        this.field_38_fDispFldRMark = field_38_fDispFldRMark;
+    }
+
+    /**
+     * Get the ibstDispFldRMark field for the CHP record.
+     */
+    public int getIbstDispFldRMark()
+    {
+        return field_39_ibstDispFldRMark;
+    }
+
+    /**
+     * Set the ibstDispFldRMark field for the CHP record.
+     */
+    public void setIbstDispFldRMark(int field_39_ibstDispFldRMark)
+    {
+        this.field_39_ibstDispFldRMark = field_39_ibstDispFldRMark;
+    }
+
+    /**
+     * Get the dttmDispFldRMark field for the CHP record.
+     */
+    public DateAndTime getDttmDispFldRMark()
+    {
+        return field_40_dttmDispFldRMark;
+    }
+
+    /**
+     * Set the dttmDispFldRMark field for the CHP record.
+     */
+    public void setDttmDispFldRMark(DateAndTime field_40_dttmDispFldRMark)
+    {
+        this.field_40_dttmDispFldRMark = field_40_dttmDispFldRMark;
+    }
+
+    /**
+     * Get the xstDispFldRMark field for the CHP record.
+     */
+    public byte[] getXstDispFldRMark()
+    {
+        return field_41_xstDispFldRMark;
+    }
+
+    /**
+     * Set the xstDispFldRMark field for the CHP record.
+     */
+    public void setXstDispFldRMark(byte[] field_41_xstDispFldRMark)
+    {
+        this.field_41_xstDispFldRMark = field_41_xstDispFldRMark;
+    }
+
+    /**
+     * Get the shd field for the CHP record.
+     */
+    public ShadingDescriptor getShd()
+    {
+        return field_42_shd;
+    }
+
+    /**
+     * Set the shd field for the CHP record.
+     */
+    public void setShd(ShadingDescriptor field_42_shd)
+    {
+        this.field_42_shd = field_42_shd;
+    }
+
+    /**
+     * Get the brc field for the CHP record.
+     */
+    public BorderCode getBrc()
+    {
+        return field_43_brc;
+    }
+
+    /**
+     * Set the brc field for the CHP record.
+     */
+    public void setBrc(BorderCode field_43_brc)
+    {
+        this.field_43_brc = field_43_brc;
+    }
+
+    /**
+     * Sets the fBold field value.
+     * 
+     */
+    public void setFBold(boolean value)
+    {
+        field_2_format_flags = (int)fBold.setBoolean(field_2_format_flags, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the fBold field value.
+     */
+    public boolean isFBold()
+    {
+        return fBold.isSet(field_2_format_flags);
+        
+    }
+
+    /**
+     * Sets the fItalic field value.
+     * 
+     */
+    public void setFItalic(boolean value)
+    {
+        field_2_format_flags = (int)fItalic.setBoolean(field_2_format_flags, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the fItalic field value.
+     */
+    public boolean isFItalic()
+    {
+        return fItalic.isSet(field_2_format_flags);
+        
+    }
+
+    /**
+     * Sets the fRMarkDel field value.
+     * 
+     */
+    public void setFRMarkDel(boolean value)
+    {
+        field_2_format_flags = (int)fRMarkDel.setBoolean(field_2_format_flags, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the fRMarkDel field value.
+     */
+    public boolean isFRMarkDel()
+    {
+        return fRMarkDel.isSet(field_2_format_flags);
+        
+    }
+
+    /**
+     * Sets the fOutline field value.
+     * 
+     */
+    public void setFOutline(boolean value)
+    {
+        field_2_format_flags = (int)fOutline.setBoolean(field_2_format_flags, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the fOutline field value.
+     */
+    public boolean isFOutline()
+    {
+        return fOutline.isSet(field_2_format_flags);
+        
+    }
+
+    /**
+     * Sets the fFldVanish field value.
+     * 
+     */
+    public void setFFldVanish(boolean value)
+    {
+        field_2_format_flags = (int)fFldVanish.setBoolean(field_2_format_flags, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the fFldVanish field value.
+     */
+    public boolean isFFldVanish()
+    {
+        return fFldVanish.isSet(field_2_format_flags);
+        
+    }
+
+    /**
+     * Sets the fSmallCaps field value.
+     * 
+     */
+    public void setFSmallCaps(boolean value)
+    {
+        field_2_format_flags = (int)fSmallCaps.setBoolean(field_2_format_flags, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the fSmallCaps field value.
+     */
+    public boolean isFSmallCaps()
+    {
+        return fSmallCaps.isSet(field_2_format_flags);
+        
+    }
+
+    /**
+     * Sets the fCaps field value.
+     * 
+     */
+    public void setFCaps(boolean value)
+    {
+        field_2_format_flags = (int)fCaps.setBoolean(field_2_format_flags, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the fCaps field value.
+     */
+    public boolean isFCaps()
+    {
+        return fCaps.isSet(field_2_format_flags);
+        
+    }
+
+    /**
+     * Sets the fVanish field value.
+     * 
+     */
+    public void setFVanish(boolean value)
+    {
+        field_2_format_flags = (int)fVanish.setBoolean(field_2_format_flags, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the fVanish field value.
+     */
+    public boolean isFVanish()
+    {
+        return fVanish.isSet(field_2_format_flags);
+        
+    }
+
+    /**
+     * Sets the fRMark field value.
+     * 
+     */
+    public void setFRMark(boolean value)
+    {
+        field_2_format_flags = (int)fRMark.setBoolean(field_2_format_flags, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the fRMark field value.
+     */
+    public boolean isFRMark()
+    {
+        return fRMark.isSet(field_2_format_flags);
+        
+    }
+
+    /**
+     * Sets the fSpec field value.
+     * 
+     */
+    public void setFSpec(boolean value)
+    {
+        field_2_format_flags = (int)fSpec.setBoolean(field_2_format_flags, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the fSpec field value.
+     */
+    public boolean isFSpec()
+    {
+        return fSpec.isSet(field_2_format_flags);
+        
+    }
+
+    /**
+     * Sets the fStrike field value.
+     * 
+     */
+    public void setFStrike(boolean value)
+    {
+        field_2_format_flags = (int)fStrike.setBoolean(field_2_format_flags, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the fStrike field value.
+     */
+    public boolean isFStrike()
+    {
+        return fStrike.isSet(field_2_format_flags);
+        
+    }
+
+    /**
+     * Sets the fObj field value.
+     * 
+     */
+    public void setFObj(boolean value)
+    {
+        field_2_format_flags = (int)fObj.setBoolean(field_2_format_flags, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the fObj field value.
+     */
+    public boolean isFObj()
+    {
+        return fObj.isSet(field_2_format_flags);
+        
+    }
+
+    /**
+     * Sets the fShadow field value.
+     * 
+     */
+    public void setFShadow(boolean value)
+    {
+        field_2_format_flags = (int)fShadow.setBoolean(field_2_format_flags, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the fShadow field value.
+     */
+    public boolean isFShadow()
+    {
+        return fShadow.isSet(field_2_format_flags);
+        
+    }
+
+    /**
+     * Sets the fLowerCase field value.
+     * 
+     */
+    public void setFLowerCase(boolean value)
+    {
+        field_2_format_flags = (int)fLowerCase.setBoolean(field_2_format_flags, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the fLowerCase field value.
+     */
+    public boolean isFLowerCase()
+    {
+        return fLowerCase.isSet(field_2_format_flags);
+        
+    }
+
+    /**
+     * Sets the fData field value.
+     * 
+     */
+    public void setFData(boolean value)
+    {
+        field_2_format_flags = (int)fData.setBoolean(field_2_format_flags, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the fData field value.
+     */
+    public boolean isFData()
+    {
+        return fData.isSet(field_2_format_flags);
+        
+    }
+
+    /**
+     * Sets the fOle2 field value.
+     * 
+     */
+    public void setFOle2(boolean value)
+    {
+        field_2_format_flags = (int)fOle2.setBoolean(field_2_format_flags, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the fOle2 field value.
+     */
+    public boolean isFOle2()
+    {
+        return fOle2.isSet(field_2_format_flags);
+        
+    }
+
+    /**
+     * Sets the fEmboss field value.
+     * 
+     */
+    public void setFEmboss(boolean value)
+    {
+        field_3_format_flags1 = (int)fEmboss.setBoolean(field_3_format_flags1, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the fEmboss field value.
+     */
+    public boolean isFEmboss()
+    {
+        return fEmboss.isSet(field_3_format_flags1);
+        
+    }
+
+    /**
+     * Sets the fImprint field value.
+     * 
+     */
+    public void setFImprint(boolean value)
+    {
+        field_3_format_flags1 = (int)fImprint.setBoolean(field_3_format_flags1, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the fImprint field value.
+     */
+    public boolean isFImprint()
+    {
+        return fImprint.isSet(field_3_format_flags1);
+        
+    }
+
+    /**
+     * Sets the fDStrike field value.
+     * 
+     */
+    public void setFDStrike(boolean value)
+    {
+        field_3_format_flags1 = (int)fDStrike.setBoolean(field_3_format_flags1, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the fDStrike field value.
+     */
+    public boolean isFDStrike()
+    {
+        return fDStrike.isSet(field_3_format_flags1);
+        
+    }
+
+    /**
+     * Sets the fUsePgsuSettings field value.
+     * 
+     */
+    public void setFUsePgsuSettings(boolean value)
+    {
+        field_3_format_flags1 = (int)fUsePgsuSettings.setBoolean(field_3_format_flags1, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the fUsePgsuSettings field value.
+     */
+    public boolean isFUsePgsuSettings()
+    {
+        return fUsePgsuSettings.isSet(field_3_format_flags1);
+        
+    }
+
+    /**
+     * Sets the icoHighlight field value.
+     * 
+     */
+    public void setIcoHighlight(byte value)
+    {
+        field_33_Highlight = (short)icoHighlight.setValue(field_33_Highlight, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the icoHighlight field value.
+     */
+    public byte getIcoHighlight()
+    {
+        return ( byte )icoHighlight.getValue(field_33_Highlight);
+        
+    }
+
+    /**
+     * Sets the fHighlight field value.
+     * 
+     */
+    public void setFHighlight(boolean value)
+    {
+        field_33_Highlight = (short)fHighlight.setBoolean(field_33_Highlight, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the fHighlight field value.
+     */
+    public boolean isFHighlight()
+    {
+        return fHighlight.isSet(field_33_Highlight);
+        
+    }
+
+    /**
+     * Sets the kcd field value.
+     * 
+     */
+    public void setKcd(byte value)
+    {
+        field_33_Highlight = (short)kcd.setValue(field_33_Highlight, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the kcd field value.
+     */
+    public byte getKcd()
+    {
+        return ( byte )kcd.getValue(field_33_Highlight);
+        
+    }
+
+    /**
+     * Sets the fNavHighlight field value.
+     * 
+     */
+    public void setFNavHighlight(boolean value)
+    {
+        field_33_Highlight = (short)fNavHighlight.setBoolean(field_33_Highlight, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the fNavHighlight field value.
+     */
+    public boolean isFNavHighlight()
+    {
+        return fNavHighlight.isSet(field_33_Highlight);
+        
+    }
+
+    /**
+     * Sets the fChsDiff field value.
+     * 
+     */
+    public void setFChsDiff(boolean value)
+    {
+        field_33_Highlight = (short)fChsDiff.setBoolean(field_33_Highlight, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the fChsDiff field value.
+     */
+    public boolean isFChsDiff()
+    {
+        return fChsDiff.isSet(field_33_Highlight);
+        
+    }
+
+    /**
+     * Sets the fMacChs field value.
+     * 
+     */
+    public void setFMacChs(boolean value)
+    {
+        field_33_Highlight = (short)fMacChs.setBoolean(field_33_Highlight, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the fMacChs field value.
+     */
+    public boolean isFMacChs()
+    {
+        return fMacChs.isSet(field_33_Highlight);
+        
+    }
+
+    /**
+     * Sets the fFtcAsciSym field value.
+     * 
+     */
+    public void setFFtcAsciSym(boolean value)
+    {
+        field_33_Highlight = (short)fFtcAsciSym.setBoolean(field_33_Highlight, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the fFtcAsciSym field value.
+     */
+    public boolean isFFtcAsciSym()
+    {
+        return fFtcAsciSym.isSet(field_33_Highlight);
+        
+    }
+
+
+}  // END OF CLASS
+
+
+
+
diff --git a/src/scratchpad/src/org/apache/poi/hwpf/model/types/DOPAbstractType.java b/src/scratchpad/src/org/apache/poi/hwpf/model/types/DOPAbstractType.java
new file mode 100644 (file)
index 0000000..ed663b9
--- /dev/null
@@ -0,0 +1,3403 @@
+
+/* ====================================================================
+ * The Apache Software License, Version 1.1
+ *
+ * Copyright (c) 2003 The Apache Software Foundation.  All rights
+ * reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in
+ *    the documentation and/or other materials provided with the
+ *    distribution.
+ *
+ * 3. The end-user documentation included with the redistribution,
+ *    if any, must include the following acknowledgment:
+ *       "This product includes software developed by the
+ *        Apache Software Foundation (http://www.apache.org/)."
+ *    Alternately, this acknowledgment may appear in the software itself,
+ *    if and wherever such third-party acknowledgments normally appear.
+ *
+ * 4. The names "Apache" and "Apache Software Foundation" and
+ *    "Apache POI" must not be used to endorse or promote products
+ *    derived from this software without prior written permission. For
+ *    written permission, please contact apache@apache.org.
+ *
+ * 5. Products derived from this software may not be called "Apache",
+ *    "Apache POI", nor may "Apache" appear in their name, without
+ *    prior written permission of the Apache Software Foundation.
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+ * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ * ====================================================================
+ *
+ * This software consists of voluntary contributions made by many
+ * individuals on behalf of the Apache Software Foundation.  For more
+ * information on the Apache Software Foundation, please see
+ * <http://www.apache.org/>.
+ */
+
+
+package org.apache.poi.hwpf.model.types;
+
+
+
+import org.apache.poi.util.BitField;
+import org.apache.poi.util.LittleEndian;
+import org.apache.poi.util.StringUtil;
+import org.apache.poi.util.HexDump;
+import org.apache.poi.hdf.model.hdftypes.HDFType;
+import org.apache.poi.hwpf.usermodel.*;
+
+/**
+ * Document Properties.
+ * NOTE: This source is automatically generated please do not modify this file.  Either subclass or
+ *       remove the record in src/records/definitions.
+
+ * @author S. Ryan Ackley
+ */
+public abstract class DOPAbstractType
+    implements HDFType
+{
+
+    protected  byte field_1_formatFlags;
+        private static BitField  fFacingPages = new BitField(0x01);
+        private static BitField  fWidowControl = new BitField(0x02);
+        private static BitField  fPMHMainDoc = new BitField(0x04);
+        private static BitField  grfSupression = new BitField(0x18);
+        private static BitField  fpc = new BitField(0x60);
+        private static BitField  unused1 = new BitField(0x80);
+    protected  byte field_2_unused2;
+    protected  short field_3_footnoteInfo;
+        private static BitField  rncFtn = new BitField(0x0003);
+        private static BitField  nFtn = new BitField(0xfffc);
+    protected  byte field_4_fOutlineDirtySave;
+    protected  byte field_5_docinfo;
+        private static BitField  fOnlyMacPics = new BitField(0x01);
+        private static BitField  fOnlyWinPics = new BitField(0x02);
+        private static BitField  fLabelDoc = new BitField(0x04);
+        private static BitField  fHyphCapitals = new BitField(0x08);
+        private static BitField  fAutoHyphen = new BitField(0x10);
+        private static BitField  fFormNoFields = new BitField(0x20);
+        private static BitField  fLinkStyles = new BitField(0x40);
+        private static BitField  fRevMarking = new BitField(0x80);
+    protected  byte field_6_docinfo1;
+        private static BitField  fBackup = new BitField(0x01);
+        private static BitField  fExactCWords = new BitField(0x02);
+        private static BitField  fPagHidden = new BitField(0x04);
+        private static BitField  fPagResults = new BitField(0x08);
+        private static BitField  fLockAtn = new BitField(0x10);
+        private static BitField  fMirrorMargins = new BitField(0x20);
+        private static BitField  unused3 = new BitField(0x40);
+        private static BitField  fDfltTrueType = new BitField(0x80);
+    protected  byte field_7_docinfo2;
+        private static BitField  fPagSupressTopSpacing = new BitField(0x01);
+        private static BitField  fProtEnabled = new BitField(0x02);
+        private static BitField  fDispFormFldSel = new BitField(0x04);
+        private static BitField  fRMView = new BitField(0x08);
+        private static BitField  fRMPrint = new BitField(0x10);
+        private static BitField  unused4 = new BitField(0x20);
+        private static BitField  fLockRev = new BitField(0x40);
+        private static BitField  fEmbedFonts = new BitField(0x80);
+    protected  short field_8_docinfo3;
+        private static BitField  oldfNoTabForInd = new BitField(0x0001);
+        private static BitField  oldfNoSpaceRaiseLower = new BitField(0x0002);
+        private static BitField  oldfSuppressSpbfAfterPageBreak = new BitField(0x0004);
+        private static BitField  oldfWrapTrailSpaces = new BitField(0x0008);
+        private static BitField  oldfMapPrintTextColor = new BitField(0x0010);
+        private static BitField  oldfNoColumnBalance = new BitField(0x0020);
+        private static BitField  oldfConvMailMergeEsc = new BitField(0x0040);
+        private static BitField  oldfSupressTopSpacing = new BitField(0x0080);
+        private static BitField  oldfOrigWordTableRules = new BitField(0x0100);
+        private static BitField  oldfTransparentMetafiles = new BitField(0x0200);
+        private static BitField  oldfShowBreaksInFrames = new BitField(0x0400);
+        private static BitField  oldfSwapBordersFacingPgs = new BitField(0x0800);
+        private static BitField  unused5 = new BitField(0xf000);
+    protected  int field_9_dxaTab;
+    protected  int field_10_wSpare;
+    protected  int field_11_dxaHotz;
+    protected  int field_12_cConsexHypLim;
+    protected  int field_13_wSpare2;
+    protected  int field_14_dttmCreated;
+    protected  int field_15_dttmRevised;
+    protected  int field_16_dttmLastPrint;
+    protected  int field_17_nRevision;
+    protected  int field_18_tmEdited;
+    protected  int field_19_cWords;
+    protected  int field_20_cCh;
+    protected  int field_21_cPg;
+    protected  int field_22_cParas;
+    protected  short field_23_Edn;
+        private static BitField  rncEdn = new BitField(0x0003);
+        private static BitField  nEdn = new BitField(0xfffc);
+    protected  short field_24_Edn1;
+        private static BitField  epc = new BitField(0x0003);
+        private static BitField  nfcFtnRef1 = new BitField(0x003c);
+        private static BitField  nfcEdnRef1 = new BitField(0x03c0);
+        private static BitField  fPrintFormData = new BitField(0x0400);
+        private static BitField  fSaveFormData = new BitField(0x0800);
+        private static BitField  fShadeFormData = new BitField(0x1000);
+        private static BitField  fWCFtnEdn = new BitField(0x8000);
+    protected  int field_25_cLines;
+    protected  int field_26_cWordsFtnEnd;
+    protected  int field_27_cChFtnEdn;
+    protected  short field_28_cPgFtnEdn;
+    protected  int field_29_cParasFtnEdn;
+    protected  int field_30_cLinesFtnEdn;
+    protected  int field_31_lKeyProtDoc;
+    protected  short field_32_view;
+        private static BitField  wvkSaved = new BitField(0x0007);
+        private static BitField  wScaleSaved = new BitField(0x0ff8);
+        private static BitField  zkSaved = new BitField(0x3000);
+        private static BitField  fRotateFontW6 = new BitField(0x4000);
+        private static BitField  iGutterPos = new BitField(0x8000);
+    protected  int field_33_docinfo4;
+        private static BitField  fNoTabForInd = new BitField(0x00000001);
+        private static BitField  fNoSpaceRaiseLower = new BitField(0x00000002);
+        private static BitField  fSupressSpdfAfterPageBreak = new BitField(0x00000004);
+        private static BitField  fWrapTrailSpaces = new BitField(0x00000008);
+        private static BitField  fMapPrintTextColor = new BitField(0x00000010);
+        private static BitField  fNoColumnBalance = new BitField(0x00000020);
+        private static BitField  fConvMailMergeEsc = new BitField(0x00000040);
+        private static BitField  fSupressTopSpacing = new BitField(0x00000080);
+        private static BitField  fOrigWordTableRules = new BitField(0x00000100);
+        private static BitField  fTransparentMetafiles = new BitField(0x00000200);
+        private static BitField  fShowBreaksInFrames = new BitField(0x00000400);
+        private static BitField  fSwapBordersFacingPgs = new BitField(0x00000800);
+        private static BitField  fSuppressTopSPacingMac5 = new BitField(0x00010000);
+        private static BitField  fTruncDxaExpand = new BitField(0x00020000);
+        private static BitField  fPrintBodyBeforeHdr = new BitField(0x00040000);
+        private static BitField  fNoLeading = new BitField(0x00080000);
+        private static BitField  fMWSmallCaps = new BitField(0x00200000);
+    protected  short field_34_adt;
+    protected  byte[] field_35_doptypography;
+    protected  byte[] field_36_dogrid;
+    protected  short field_37_docinfo5;
+        private static BitField  lvl = new BitField(0x001e);
+        private static BitField  fGramAllDone = new BitField(0x0020);
+        private static BitField  fGramAllClean = new BitField(0x0040);
+        private static BitField  fSubsetFonts = new BitField(0x0080);
+        private static BitField  fHideLastVersion = new BitField(0x0100);
+        private static BitField  fHtmlDoc = new BitField(0x0200);
+        private static BitField  fSnapBorder = new BitField(0x0800);
+        private static BitField  fIncludeHeader = new BitField(0x1000);
+        private static BitField  fIncludeFooter = new BitField(0x2000);
+        private static BitField  fForcePageSizePag = new BitField(0x4000);
+        private static BitField  fMinFontSizePag = new BitField(0x8000);
+    protected  short field_38_docinfo6;
+        private static BitField  fHaveVersions = new BitField(0x0001);
+        private static BitField  fAutoVersions = new BitField(0x0002);
+    protected  byte[] field_39_asumyi;
+    protected  int field_40_cChWS;
+    protected  int field_41_cChWSFtnEdn;
+    protected  int field_42_grfDocEvents;
+    protected  int field_43_virusinfo;
+        private static BitField  fVirusPrompted = new BitField(0x0001);
+        private static BitField  fVirusLoadSafe = new BitField(0x0002);
+        private static BitField  KeyVirusSession30 = new BitField(0xfffffffc);
+    protected  byte[] field_44_Spare;
+    protected  int field_45_reserved1;
+    protected  int field_46_reserved2;
+    protected  int field_47_cDBC;
+    protected  int field_48_cDBCFtnEdn;
+    protected  int field_49_reserved;
+    protected  short field_50_nfcFtnRef;
+    protected  short field_51_nfcEdnRef;
+    protected  short field_52_hpsZoonFontPag;
+    protected  short field_53_dywDispPag;
+
+
+    public DOPAbstractType()
+    {
+
+    }
+
+    protected void fillFields(byte [] data, int offset)
+    {
+        field_1_formatFlags             = data[ 0x0 + offset ];
+        field_2_unused2                 = data[ 0x1 + offset ];
+        field_3_footnoteInfo            = LittleEndian.getShort(data, 0x2 + offset);
+        field_4_fOutlineDirtySave       = data[ 0x4 + offset ];
+        field_5_docinfo                 = data[ 0x5 + offset ];
+        field_6_docinfo1                = data[ 0x6 + offset ];
+        field_7_docinfo2                = data[ 0x7 + offset ];
+        field_8_docinfo3                = LittleEndian.getShort(data, 0x8 + offset);
+        field_9_dxaTab                  = LittleEndian.getShort(data, 0xa + offset);
+        field_10_wSpare                 = LittleEndian.getShort(data, 0xc + offset);
+        field_11_dxaHotz                = LittleEndian.getShort(data, 0xe + offset);
+        field_12_cConsexHypLim          = LittleEndian.getShort(data, 0x10 + offset);
+        field_13_wSpare2                = LittleEndian.getShort(data, 0x12 + offset);
+        field_14_dttmCreated            = LittleEndian.getInt(data, 0x14 + offset);
+        field_15_dttmRevised            = LittleEndian.getInt(data, 0x18 + offset);
+        field_16_dttmLastPrint          = LittleEndian.getInt(data, 0x1c + offset);
+        field_17_nRevision              = LittleEndian.getShort(data, 0x20 + offset);
+        field_18_tmEdited               = LittleEndian.getInt(data, 0x22 + offset);
+        field_19_cWords                 = LittleEndian.getInt(data, 0x26 + offset);
+        field_20_cCh                    = LittleEndian.getInt(data, 0x2a + offset);
+        field_21_cPg                    = LittleEndian.getShort(data, 0x2e + offset);
+        field_22_cParas                 = LittleEndian.getInt(data, 0x30 + offset);
+        field_23_Edn                    = LittleEndian.getShort(data, 0x34 + offset);
+        field_24_Edn1                   = LittleEndian.getShort(data, 0x36 + offset);
+        field_25_cLines                 = LittleEndian.getInt(data, 0x38 + offset);
+        field_26_cWordsFtnEnd           = LittleEndian.getInt(data, 0x3c + offset);
+        field_27_cChFtnEdn              = LittleEndian.getInt(data, 0x40 + offset);
+        field_28_cPgFtnEdn              = LittleEndian.getShort(data, 0x44 + offset);
+        field_29_cParasFtnEdn           = LittleEndian.getInt(data, 0x46 + offset);
+        field_30_cLinesFtnEdn           = LittleEndian.getInt(data, 0x4a + offset);
+        field_31_lKeyProtDoc            = LittleEndian.getInt(data, 0x4e + offset);
+        field_32_view                   = LittleEndian.getShort(data, 0x52 + offset);
+        field_33_docinfo4               = LittleEndian.getInt(data, 0x54 + offset);
+        field_34_adt                    = LittleEndian.getShort(data, 0x58 + offset);
+        field_35_doptypography          = LittleEndian.getByteArray(data, 0x5a + offset,310);
+        field_36_dogrid                 = LittleEndian.getByteArray(data, 0x190 + offset,10);
+        field_37_docinfo5               = LittleEndian.getShort(data, 0x19a + offset);
+        field_38_docinfo6               = LittleEndian.getShort(data, 0x19c + offset);
+        field_39_asumyi                 = LittleEndian.getByteArray(data, 0x19e + offset,12);
+        field_40_cChWS                  = LittleEndian.getInt(data, 0x1aa + offset);
+        field_41_cChWSFtnEdn            = LittleEndian.getInt(data, 0x1ae + offset);
+        field_42_grfDocEvents           = LittleEndian.getInt(data, 0x1b2 + offset);
+        field_43_virusinfo              = LittleEndian.getInt(data, 0x1b6 + offset);
+        field_44_Spare                  = LittleEndian.getByteArray(data, 0x1ba + offset,30);
+        field_45_reserved1              = LittleEndian.getInt(data, 0x1d8 + offset);
+        field_46_reserved2              = LittleEndian.getInt(data, 0x1dc + offset);
+        field_47_cDBC                   = LittleEndian.getInt(data, 0x1e0 + offset);
+        field_48_cDBCFtnEdn             = LittleEndian.getInt(data, 0x1e4 + offset);
+        field_49_reserved               = LittleEndian.getInt(data, 0x1e8 + offset);
+        field_50_nfcFtnRef              = LittleEndian.getShort(data, 0x1ec + offset);
+        field_51_nfcEdnRef              = LittleEndian.getShort(data, 0x1ee + offset);
+        field_52_hpsZoonFontPag         = LittleEndian.getShort(data, 0x1f0 + offset);
+        field_53_dywDispPag             = LittleEndian.getShort(data, 0x1f2 + offset);
+
+    }
+
+    public void serialize(byte[] data, int offset)
+    {
+        data[ 0x0 + offset] = field_1_formatFlags;;
+        data[ 0x1 + offset] = field_2_unused2;;
+        LittleEndian.putShort(data, 0x2 + offset, (short)field_3_footnoteInfo);;
+        data[ 0x4 + offset] = field_4_fOutlineDirtySave;;
+        data[ 0x5 + offset] = field_5_docinfo;;
+        data[ 0x6 + offset] = field_6_docinfo1;;
+        data[ 0x7 + offset] = field_7_docinfo2;;
+        LittleEndian.putShort(data, 0x8 + offset, (short)field_8_docinfo3);;
+        LittleEndian.putShort(data, 0xa + offset, (short)field_9_dxaTab);;
+        LittleEndian.putShort(data, 0xc + offset, (short)field_10_wSpare);;
+        LittleEndian.putShort(data, 0xe + offset, (short)field_11_dxaHotz);;
+        LittleEndian.putShort(data, 0x10 + offset, (short)field_12_cConsexHypLim);;
+        LittleEndian.putShort(data, 0x12 + offset, (short)field_13_wSpare2);;
+        LittleEndian.putInt(data, 0x14 + offset, field_14_dttmCreated);;
+        LittleEndian.putInt(data, 0x18 + offset, field_15_dttmRevised);;
+        LittleEndian.putInt(data, 0x1c + offset, field_16_dttmLastPrint);;
+        LittleEndian.putShort(data, 0x20 + offset, (short)field_17_nRevision);;
+        LittleEndian.putInt(data, 0x22 + offset, field_18_tmEdited);;
+        LittleEndian.putInt(data, 0x26 + offset, field_19_cWords);;
+        LittleEndian.putInt(data, 0x2a + offset, field_20_cCh);;
+        LittleEndian.putShort(data, 0x2e + offset, (short)field_21_cPg);;
+        LittleEndian.putInt(data, 0x30 + offset, field_22_cParas);;
+        LittleEndian.putShort(data, 0x34 + offset, (short)field_23_Edn);;
+        LittleEndian.putShort(data, 0x36 + offset, (short)field_24_Edn1);;
+        LittleEndian.putInt(data, 0x38 + offset, field_25_cLines);;
+        LittleEndian.putInt(data, 0x3c + offset, field_26_cWordsFtnEnd);;
+        LittleEndian.putInt(data, 0x40 + offset, field_27_cChFtnEdn);;
+        LittleEndian.putShort(data, 0x44 + offset, (short)field_28_cPgFtnEdn);;
+        LittleEndian.putInt(data, 0x46 + offset, field_29_cParasFtnEdn);;
+        LittleEndian.putInt(data, 0x4a + offset, field_30_cLinesFtnEdn);;
+        LittleEndian.putInt(data, 0x4e + offset, field_31_lKeyProtDoc);;
+        LittleEndian.putShort(data, 0x52 + offset, (short)field_32_view);;
+        LittleEndian.putInt(data, 0x54 + offset, field_33_docinfo4);;
+        LittleEndian.putShort(data, 0x58 + offset, (short)field_34_adt);;
+        System.arraycopy(field_35_doptypography, 0, data, 0x5a + offset, field_35_doptypography.length);;
+        System.arraycopy(field_36_dogrid, 0, data, 0x190 + offset, field_36_dogrid.length);;
+        LittleEndian.putShort(data, 0x19a + offset, (short)field_37_docinfo5);;
+        LittleEndian.putShort(data, 0x19c + offset, (short)field_38_docinfo6);;
+        System.arraycopy(field_39_asumyi, 0, data, 0x19e + offset, field_39_asumyi.length);;
+        LittleEndian.putInt(data, 0x1aa + offset, field_40_cChWS);;
+        LittleEndian.putInt(data, 0x1ae + offset, field_41_cChWSFtnEdn);;
+        LittleEndian.putInt(data, 0x1b2 + offset, field_42_grfDocEvents);;
+        LittleEndian.putInt(data, 0x1b6 + offset, field_43_virusinfo);;
+        System.arraycopy(field_44_Spare, 0, data, 0x1ba + offset, field_44_Spare.length);;
+        LittleEndian.putInt(data, 0x1d8 + offset, field_45_reserved1);;
+        LittleEndian.putInt(data, 0x1dc + offset, field_46_reserved2);;
+        LittleEndian.putInt(data, 0x1e0 + offset, field_47_cDBC);;
+        LittleEndian.putInt(data, 0x1e4 + offset, field_48_cDBCFtnEdn);;
+        LittleEndian.putInt(data, 0x1e8 + offset, field_49_reserved);;
+        LittleEndian.putShort(data, 0x1ec + offset, (short)field_50_nfcFtnRef);;
+        LittleEndian.putShort(data, 0x1ee + offset, (short)field_51_nfcEdnRef);;
+        LittleEndian.putShort(data, 0x1f0 + offset, (short)field_52_hpsZoonFontPag);;
+        LittleEndian.putShort(data, 0x1f2 + offset, (short)field_53_dywDispPag);;
+
+    }
+
+    public String toString()
+    {
+        StringBuffer buffer = new StringBuffer();
+
+        buffer.append("[DOP]\n");
+
+        buffer.append("    .formatFlags          = ");
+        buffer.append(" (").append(getFormatFlags()).append(" )\n");
+        buffer.append("         .fFacingPages             = ").append(isFFacingPages()).append('\n');
+        buffer.append("         .fWidowControl            = ").append(isFWidowControl()).append('\n');
+        buffer.append("         .fPMHMainDoc              = ").append(isFPMHMainDoc()).append('\n');
+        buffer.append("         .grfSupression            = ").append(getGrfSupression()).append('\n');
+        buffer.append("         .fpc                      = ").append(getFpc()).append('\n');
+        buffer.append("         .unused1                  = ").append(isUnused1()).append('\n');
+
+        buffer.append("    .unused2              = ");
+        buffer.append(" (").append(getUnused2()).append(" )\n");
+
+        buffer.append("    .footnoteInfo         = ");
+        buffer.append(" (").append(getFootnoteInfo()).append(" )\n");
+        buffer.append("         .rncFtn                   = ").append(getRncFtn()).append('\n');
+        buffer.append("         .nFtn                     = ").append(getNFtn()).append('\n');
+
+        buffer.append("    .fOutlineDirtySave    = ");
+        buffer.append(" (").append(getFOutlineDirtySave()).append(" )\n");
+
+        buffer.append("    .docinfo              = ");
+        buffer.append(" (").append(getDocinfo()).append(" )\n");
+        buffer.append("         .fOnlyMacPics             = ").append(isFOnlyMacPics()).append('\n');
+        buffer.append("         .fOnlyWinPics             = ").append(isFOnlyWinPics()).append('\n');
+        buffer.append("         .fLabelDoc                = ").append(isFLabelDoc()).append('\n');
+        buffer.append("         .fHyphCapitals            = ").append(isFHyphCapitals()).append('\n');
+        buffer.append("         .fAutoHyphen              = ").append(isFAutoHyphen()).append('\n');
+        buffer.append("         .fFormNoFields            = ").append(isFFormNoFields()).append('\n');
+        buffer.append("         .fLinkStyles              = ").append(isFLinkStyles()).append('\n');
+        buffer.append("         .fRevMarking              = ").append(isFRevMarking()).append('\n');
+
+        buffer.append("    .docinfo1             = ");
+        buffer.append(" (").append(getDocinfo1()).append(" )\n");
+        buffer.append("         .fBackup                  = ").append(isFBackup()).append('\n');
+        buffer.append("         .fExactCWords             = ").append(isFExactCWords()).append('\n');
+        buffer.append("         .fPagHidden               = ").append(isFPagHidden()).append('\n');
+        buffer.append("         .fPagResults              = ").append(isFPagResults()).append('\n');
+        buffer.append("         .fLockAtn                 = ").append(isFLockAtn()).append('\n');
+        buffer.append("         .fMirrorMargins           = ").append(isFMirrorMargins()).append('\n');
+        buffer.append("         .unused3                  = ").append(isUnused3()).append('\n');
+        buffer.append("         .fDfltTrueType            = ").append(isFDfltTrueType()).append('\n');
+
+        buffer.append("    .docinfo2             = ");
+        buffer.append(" (").append(getDocinfo2()).append(" )\n");
+        buffer.append("         .fPagSupressTopSpacing     = ").append(isFPagSupressTopSpacing()).append('\n');
+        buffer.append("         .fProtEnabled             = ").append(isFProtEnabled()).append('\n');
+        buffer.append("         .fDispFormFldSel          = ").append(isFDispFormFldSel()).append('\n');
+        buffer.append("         .fRMView                  = ").append(isFRMView()).append('\n');
+        buffer.append("         .fRMPrint                 = ").append(isFRMPrint()).append('\n');
+        buffer.append("         .unused4                  = ").append(isUnused4()).append('\n');
+        buffer.append("         .fLockRev                 = ").append(isFLockRev()).append('\n');
+        buffer.append("         .fEmbedFonts              = ").append(isFEmbedFonts()).append('\n');
+
+        buffer.append("    .docinfo3             = ");
+        buffer.append(" (").append(getDocinfo3()).append(" )\n");
+        buffer.append("         .oldfNoTabForInd          = ").append(isOldfNoTabForInd()).append('\n');
+        buffer.append("         .oldfNoSpaceRaiseLower     = ").append(isOldfNoSpaceRaiseLower()).append('\n');
+        buffer.append("         .oldfSuppressSpbfAfterPageBreak     = ").append(isOldfSuppressSpbfAfterPageBreak()).append('\n');
+        buffer.append("         .oldfWrapTrailSpaces      = ").append(isOldfWrapTrailSpaces()).append('\n');
+        buffer.append("         .oldfMapPrintTextColor     = ").append(isOldfMapPrintTextColor()).append('\n');
+        buffer.append("         .oldfNoColumnBalance      = ").append(isOldfNoColumnBalance()).append('\n');
+        buffer.append("         .oldfConvMailMergeEsc     = ").append(isOldfConvMailMergeEsc()).append('\n');
+        buffer.append("         .oldfSupressTopSpacing     = ").append(isOldfSupressTopSpacing()).append('\n');
+        buffer.append("         .oldfOrigWordTableRules     = ").append(isOldfOrigWordTableRules()).append('\n');
+        buffer.append("         .oldfTransparentMetafiles     = ").append(isOldfTransparentMetafiles()).append('\n');
+        buffer.append("         .oldfShowBreaksInFrames     = ").append(isOldfShowBreaksInFrames()).append('\n');
+        buffer.append("         .oldfSwapBordersFacingPgs     = ").append(isOldfSwapBordersFacingPgs()).append('\n');
+        buffer.append("         .unused5                  = ").append(getUnused5()).append('\n');
+
+        buffer.append("    .dxaTab               = ");
+        buffer.append(" (").append(getDxaTab()).append(" )\n");
+
+        buffer.append("    .wSpare               = ");
+        buffer.append(" (").append(getWSpare()).append(" )\n");
+
+        buffer.append("    .dxaHotz              = ");
+        buffer.append(" (").append(getDxaHotz()).append(" )\n");
+
+        buffer.append("    .cConsexHypLim        = ");
+        buffer.append(" (").append(getCConsexHypLim()).append(" )\n");
+
+        buffer.append("    .wSpare2              = ");
+        buffer.append(" (").append(getWSpare2()).append(" )\n");
+
+        buffer.append("    .dttmCreated          = ");
+        buffer.append(" (").append(getDttmCreated()).append(" )\n");
+
+        buffer.append("    .dttmRevised          = ");
+        buffer.append(" (").append(getDttmRevised()).append(" )\n");
+
+        buffer.append("    .dttmLastPrint        = ");
+        buffer.append(" (").append(getDttmLastPrint()).append(" )\n");
+
+        buffer.append("    .nRevision            = ");
+        buffer.append(" (").append(getNRevision()).append(" )\n");
+
+        buffer.append("    .tmEdited             = ");
+        buffer.append(" (").append(getTmEdited()).append(" )\n");
+
+        buffer.append("    .cWords               = ");
+        buffer.append(" (").append(getCWords()).append(" )\n");
+
+        buffer.append("    .cCh                  = ");
+        buffer.append(" (").append(getCCh()).append(" )\n");
+
+        buffer.append("    .cPg                  = ");
+        buffer.append(" (").append(getCPg()).append(" )\n");
+
+        buffer.append("    .cParas               = ");
+        buffer.append(" (").append(getCParas()).append(" )\n");
+
+        buffer.append("    .Edn                  = ");
+        buffer.append(" (").append(getEdn()).append(" )\n");
+        buffer.append("         .rncEdn                   = ").append(getRncEdn()).append('\n');
+        buffer.append("         .nEdn                     = ").append(getNEdn()).append('\n');
+
+        buffer.append("    .Edn1                 = ");
+        buffer.append(" (").append(getEdn1()).append(" )\n");
+        buffer.append("         .epc                      = ").append(getEpc()).append('\n');
+        buffer.append("         .nfcFtnRef1               = ").append(getNfcFtnRef1()).append('\n');
+        buffer.append("         .nfcEdnRef1               = ").append(getNfcEdnRef1()).append('\n');
+        buffer.append("         .fPrintFormData           = ").append(isFPrintFormData()).append('\n');
+        buffer.append("         .fSaveFormData            = ").append(isFSaveFormData()).append('\n');
+        buffer.append("         .fShadeFormData           = ").append(isFShadeFormData()).append('\n');
+        buffer.append("         .fWCFtnEdn                = ").append(isFWCFtnEdn()).append('\n');
+
+        buffer.append("    .cLines               = ");
+        buffer.append(" (").append(getCLines()).append(" )\n");
+
+        buffer.append("    .cWordsFtnEnd         = ");
+        buffer.append(" (").append(getCWordsFtnEnd()).append(" )\n");
+
+        buffer.append("    .cChFtnEdn            = ");
+        buffer.append(" (").append(getCChFtnEdn()).append(" )\n");
+
+        buffer.append("    .cPgFtnEdn            = ");
+        buffer.append(" (").append(getCPgFtnEdn()).append(" )\n");
+
+        buffer.append("    .cParasFtnEdn         = ");
+        buffer.append(" (").append(getCParasFtnEdn()).append(" )\n");
+
+        buffer.append("    .cLinesFtnEdn         = ");
+        buffer.append(" (").append(getCLinesFtnEdn()).append(" )\n");
+
+        buffer.append("    .lKeyProtDoc          = ");
+        buffer.append(" (").append(getLKeyProtDoc()).append(" )\n");
+
+        buffer.append("    .view                 = ");
+        buffer.append(" (").append(getView()).append(" )\n");
+        buffer.append("         .wvkSaved                 = ").append(getWvkSaved()).append('\n');
+        buffer.append("         .wScaleSaved              = ").append(getWScaleSaved()).append('\n');
+        buffer.append("         .zkSaved                  = ").append(getZkSaved()).append('\n');
+        buffer.append("         .fRotateFontW6            = ").append(isFRotateFontW6()).append('\n');
+        buffer.append("         .iGutterPos               = ").append(isIGutterPos()).append('\n');
+
+        buffer.append("    .docinfo4             = ");
+        buffer.append(" (").append(getDocinfo4()).append(" )\n");
+        buffer.append("         .fNoTabForInd             = ").append(isFNoTabForInd()).append('\n');
+        buffer.append("         .fNoSpaceRaiseLower       = ").append(isFNoSpaceRaiseLower()).append('\n');
+        buffer.append("         .fSupressSpdfAfterPageBreak     = ").append(isFSupressSpdfAfterPageBreak()).append('\n');
+        buffer.append("         .fWrapTrailSpaces         = ").append(isFWrapTrailSpaces()).append('\n');
+        buffer.append("         .fMapPrintTextColor       = ").append(isFMapPrintTextColor()).append('\n');
+        buffer.append("         .fNoColumnBalance         = ").append(isFNoColumnBalance()).append('\n');
+        buffer.append("         .fConvMailMergeEsc        = ").append(isFConvMailMergeEsc()).append('\n');
+        buffer.append("         .fSupressTopSpacing       = ").append(isFSupressTopSpacing()).append('\n');
+        buffer.append("         .fOrigWordTableRules      = ").append(isFOrigWordTableRules()).append('\n');
+        buffer.append("         .fTransparentMetafiles     = ").append(isFTransparentMetafiles()).append('\n');
+        buffer.append("         .fShowBreaksInFrames      = ").append(isFShowBreaksInFrames()).append('\n');
+        buffer.append("         .fSwapBordersFacingPgs     = ").append(isFSwapBordersFacingPgs()).append('\n');
+        buffer.append("         .fSuppressTopSPacingMac5     = ").append(isFSuppressTopSPacingMac5()).append('\n');
+        buffer.append("         .fTruncDxaExpand          = ").append(isFTruncDxaExpand()).append('\n');
+        buffer.append("         .fPrintBodyBeforeHdr      = ").append(isFPrintBodyBeforeHdr()).append('\n');
+        buffer.append("         .fNoLeading               = ").append(isFNoLeading()).append('\n');
+        buffer.append("         .fMWSmallCaps             = ").append(isFMWSmallCaps()).append('\n');
+
+        buffer.append("    .adt                  = ");
+        buffer.append(" (").append(getAdt()).append(" )\n");
+
+        buffer.append("    .doptypography        = ");
+        buffer.append(" (").append(getDoptypography()).append(" )\n");
+
+        buffer.append("    .dogrid               = ");
+        buffer.append(" (").append(getDogrid()).append(" )\n");
+
+        buffer.append("    .docinfo5             = ");
+        buffer.append(" (").append(getDocinfo5()).append(" )\n");
+        buffer.append("         .lvl                      = ").append(getLvl()).append('\n');
+        buffer.append("         .fGramAllDone             = ").append(isFGramAllDone()).append('\n');
+        buffer.append("         .fGramAllClean            = ").append(isFGramAllClean()).append('\n');
+        buffer.append("         .fSubsetFonts             = ").append(isFSubsetFonts()).append('\n');
+        buffer.append("         .fHideLastVersion         = ").append(isFHideLastVersion()).append('\n');
+        buffer.append("         .fHtmlDoc                 = ").append(isFHtmlDoc()).append('\n');
+        buffer.append("         .fSnapBorder              = ").append(isFSnapBorder()).append('\n');
+        buffer.append("         .fIncludeHeader           = ").append(isFIncludeHeader()).append('\n');
+        buffer.append("         .fIncludeFooter           = ").append(isFIncludeFooter()).append('\n');
+        buffer.append("         .fForcePageSizePag        = ").append(isFForcePageSizePag()).append('\n');
+        buffer.append("         .fMinFontSizePag          = ").append(isFMinFontSizePag()).append('\n');
+
+        buffer.append("    .docinfo6             = ");
+        buffer.append(" (").append(getDocinfo6()).append(" )\n");
+        buffer.append("         .fHaveVersions            = ").append(isFHaveVersions()).append('\n');
+        buffer.append("         .fAutoVersions            = ").append(isFAutoVersions()).append('\n');
+
+        buffer.append("    .asumyi               = ");
+        buffer.append(" (").append(getAsumyi()).append(" )\n");
+
+        buffer.append("    .cChWS                = ");
+        buffer.append(" (").append(getCChWS()).append(" )\n");
+
+        buffer.append("    .cChWSFtnEdn          = ");
+        buffer.append(" (").append(getCChWSFtnEdn()).append(" )\n");
+
+        buffer.append("    .grfDocEvents         = ");
+        buffer.append(" (").append(getGrfDocEvents()).append(" )\n");
+
+        buffer.append("    .virusinfo            = ");
+        buffer.append(" (").append(getVirusinfo()).append(" )\n");
+        buffer.append("         .fVirusPrompted           = ").append(isFVirusPrompted()).append('\n');
+        buffer.append("         .fVirusLoadSafe           = ").append(isFVirusLoadSafe()).append('\n');
+        buffer.append("         .KeyVirusSession30        = ").append(getKeyVirusSession30()).append('\n');
+
+        buffer.append("    .Spare                = ");
+        buffer.append(" (").append(getSpare()).append(" )\n");
+
+        buffer.append("    .reserved1            = ");
+        buffer.append(" (").append(getReserved1()).append(" )\n");
+
+        buffer.append("    .reserved2            = ");
+        buffer.append(" (").append(getReserved2()).append(" )\n");
+
+        buffer.append("    .cDBC                 = ");
+        buffer.append(" (").append(getCDBC()).append(" )\n");
+
+        buffer.append("    .cDBCFtnEdn           = ");
+        buffer.append(" (").append(getCDBCFtnEdn()).append(" )\n");
+
+        buffer.append("    .reserved             = ");
+        buffer.append(" (").append(getReserved()).append(" )\n");
+
+        buffer.append("    .nfcFtnRef            = ");
+        buffer.append(" (").append(getNfcFtnRef()).append(" )\n");
+
+        buffer.append("    .nfcEdnRef            = ");
+        buffer.append(" (").append(getNfcEdnRef()).append(" )\n");
+
+        buffer.append("    .hpsZoonFontPag       = ");
+        buffer.append(" (").append(getHpsZoonFontPag()).append(" )\n");
+
+        buffer.append("    .dywDispPag           = ");
+        buffer.append(" (").append(getDywDispPag()).append(" )\n");
+
+        buffer.append("[/DOP]\n");
+        return buffer.toString();
+    }
+
+    /**
+     * Size of record (exluding 4 byte header)
+     */
+    public int getSize()
+    {
+        return 4 +  + 1 + 1 + 2 + 1 + 1 + 1 + 1 + 2 + 2 + 2 + 2 + 2 + 2 + 4 + 4 + 4 + 2 + 4 + 4 + 4 + 2 + 4 + 2 + 2 + 4 + 4 + 4 + 2 + 4 + 4 + 4 + 2 + 4 + 2 + 310 + 10 + 2 + 2 + 12 + 4 + 4 + 4 + 4 + 30 + 4 + 4 + 4 + 4 + 4 + 2 + 2 + 2 + 2;
+    }
+
+
+
+    /**
+     * Get the formatFlags field for the DOP record.
+     */
+    public byte getFormatFlags()
+    {
+        return field_1_formatFlags;
+    }
+
+    /**
+     * Set the formatFlags field for the DOP record.
+     */
+    public void setFormatFlags(byte field_1_formatFlags)
+    {
+        this.field_1_formatFlags = field_1_formatFlags;
+    }
+
+    /**
+     * Get the unused2 field for the DOP record.
+     */
+    public byte getUnused2()
+    {
+        return field_2_unused2;
+    }
+
+    /**
+     * Set the unused2 field for the DOP record.
+     */
+    public void setUnused2(byte field_2_unused2)
+    {
+        this.field_2_unused2 = field_2_unused2;
+    }
+
+    /**
+     * Get the footnoteInfo field for the DOP record.
+     */
+    public short getFootnoteInfo()
+    {
+        return field_3_footnoteInfo;
+    }
+
+    /**
+     * Set the footnoteInfo field for the DOP record.
+     */
+    public void setFootnoteInfo(short field_3_footnoteInfo)
+    {
+        this.field_3_footnoteInfo = field_3_footnoteInfo;
+    }
+
+    /**
+     * Get the fOutlineDirtySave field for the DOP record.
+     */
+    public byte getFOutlineDirtySave()
+    {
+        return field_4_fOutlineDirtySave;
+    }
+
+    /**
+     * Set the fOutlineDirtySave field for the DOP record.
+     */
+    public void setFOutlineDirtySave(byte field_4_fOutlineDirtySave)
+    {
+        this.field_4_fOutlineDirtySave = field_4_fOutlineDirtySave;
+    }
+
+    /**
+     * Get the docinfo field for the DOP record.
+     */
+    public byte getDocinfo()
+    {
+        return field_5_docinfo;
+    }
+
+    /**
+     * Set the docinfo field for the DOP record.
+     */
+    public void setDocinfo(byte field_5_docinfo)
+    {
+        this.field_5_docinfo = field_5_docinfo;
+    }
+
+    /**
+     * Get the docinfo1 field for the DOP record.
+     */
+    public byte getDocinfo1()
+    {
+        return field_6_docinfo1;
+    }
+
+    /**
+     * Set the docinfo1 field for the DOP record.
+     */
+    public void setDocinfo1(byte field_6_docinfo1)
+    {
+        this.field_6_docinfo1 = field_6_docinfo1;
+    }
+
+    /**
+     * Get the docinfo2 field for the DOP record.
+     */
+    public byte getDocinfo2()
+    {
+        return field_7_docinfo2;
+    }
+
+    /**
+     * Set the docinfo2 field for the DOP record.
+     */
+    public void setDocinfo2(byte field_7_docinfo2)
+    {
+        this.field_7_docinfo2 = field_7_docinfo2;
+    }
+
+    /**
+     * Get the docinfo3 field for the DOP record.
+     */
+    public short getDocinfo3()
+    {
+        return field_8_docinfo3;
+    }
+
+    /**
+     * Set the docinfo3 field for the DOP record.
+     */
+    public void setDocinfo3(short field_8_docinfo3)
+    {
+        this.field_8_docinfo3 = field_8_docinfo3;
+    }
+
+    /**
+     * Get the dxaTab field for the DOP record.
+     */
+    public int getDxaTab()
+    {
+        return field_9_dxaTab;
+    }
+
+    /**
+     * Set the dxaTab field for the DOP record.
+     */
+    public void setDxaTab(int field_9_dxaTab)
+    {
+        this.field_9_dxaTab = field_9_dxaTab;
+    }
+
+    /**
+     * Get the wSpare field for the DOP record.
+     */
+    public int getWSpare()
+    {
+        return field_10_wSpare;
+    }
+
+    /**
+     * Set the wSpare field for the DOP record.
+     */
+    public void setWSpare(int field_10_wSpare)
+    {
+        this.field_10_wSpare = field_10_wSpare;
+    }
+
+    /**
+     * Get the dxaHotz field for the DOP record.
+     */
+    public int getDxaHotz()
+    {
+        return field_11_dxaHotz;
+    }
+
+    /**
+     * Set the dxaHotz field for the DOP record.
+     */
+    public void setDxaHotz(int field_11_dxaHotz)
+    {
+        this.field_11_dxaHotz = field_11_dxaHotz;
+    }
+
+    /**
+     * Get the cConsexHypLim field for the DOP record.
+     */
+    public int getCConsexHypLim()
+    {
+        return field_12_cConsexHypLim;
+    }
+
+    /**
+     * Set the cConsexHypLim field for the DOP record.
+     */
+    public void setCConsexHypLim(int field_12_cConsexHypLim)
+    {
+        this.field_12_cConsexHypLim = field_12_cConsexHypLim;
+    }
+
+    /**
+     * Get the wSpare2 field for the DOP record.
+     */
+    public int getWSpare2()
+    {
+        return field_13_wSpare2;
+    }
+
+    /**
+     * Set the wSpare2 field for the DOP record.
+     */
+    public void setWSpare2(int field_13_wSpare2)
+    {
+        this.field_13_wSpare2 = field_13_wSpare2;
+    }
+
+    /**
+     * Get the dttmCreated field for the DOP record.
+     */
+    public int getDttmCreated()
+    {
+        return field_14_dttmCreated;
+    }
+
+    /**
+     * Set the dttmCreated field for the DOP record.
+     */
+    public void setDttmCreated(int field_14_dttmCreated)
+    {
+        this.field_14_dttmCreated = field_14_dttmCreated;
+    }
+
+    /**
+     * Get the dttmRevised field for the DOP record.
+     */
+    public int getDttmRevised()
+    {
+        return field_15_dttmRevised;
+    }
+
+    /**
+     * Set the dttmRevised field for the DOP record.
+     */
+    public void setDttmRevised(int field_15_dttmRevised)
+    {
+        this.field_15_dttmRevised = field_15_dttmRevised;
+    }
+
+    /**
+     * Get the dttmLastPrint field for the DOP record.
+     */
+    public int getDttmLastPrint()
+    {
+        return field_16_dttmLastPrint;
+    }
+
+    /**
+     * Set the dttmLastPrint field for the DOP record.
+     */
+    public void setDttmLastPrint(int field_16_dttmLastPrint)
+    {
+        this.field_16_dttmLastPrint = field_16_dttmLastPrint;
+    }
+
+    /**
+     * Get the nRevision field for the DOP record.
+     */
+    public int getNRevision()
+    {
+        return field_17_nRevision;
+    }
+
+    /**
+     * Set the nRevision field for the DOP record.
+     */
+    public void setNRevision(int field_17_nRevision)
+    {
+        this.field_17_nRevision = field_17_nRevision;
+    }
+
+    /**
+     * Get the tmEdited field for the DOP record.
+     */
+    public int getTmEdited()
+    {
+        return field_18_tmEdited;
+    }
+
+    /**
+     * Set the tmEdited field for the DOP record.
+     */
+    public void setTmEdited(int field_18_tmEdited)
+    {
+        this.field_18_tmEdited = field_18_tmEdited;
+    }
+
+    /**
+     * Get the cWords field for the DOP record.
+     */
+    public int getCWords()
+    {
+        return field_19_cWords;
+    }
+
+    /**
+     * Set the cWords field for the DOP record.
+     */
+    public void setCWords(int field_19_cWords)
+    {
+        this.field_19_cWords = field_19_cWords;
+    }
+
+    /**
+     * Get the cCh field for the DOP record.
+     */
+    public int getCCh()
+    {
+        return field_20_cCh;
+    }
+
+    /**
+     * Set the cCh field for the DOP record.
+     */
+    public void setCCh(int field_20_cCh)
+    {
+        this.field_20_cCh = field_20_cCh;
+    }
+
+    /**
+     * Get the cPg field for the DOP record.
+     */
+    public int getCPg()
+    {
+        return field_21_cPg;
+    }
+
+    /**
+     * Set the cPg field for the DOP record.
+     */
+    public void setCPg(int field_21_cPg)
+    {
+        this.field_21_cPg = field_21_cPg;
+    }
+
+    /**
+     * Get the cParas field for the DOP record.
+     */
+    public int getCParas()
+    {
+        return field_22_cParas;
+    }
+
+    /**
+     * Set the cParas field for the DOP record.
+     */
+    public void setCParas(int field_22_cParas)
+    {
+        this.field_22_cParas = field_22_cParas;
+    }
+
+    /**
+     * Get the Edn field for the DOP record.
+     */
+    public short getEdn()
+    {
+        return field_23_Edn;
+    }
+
+    /**
+     * Set the Edn field for the DOP record.
+     */
+    public void setEdn(short field_23_Edn)
+    {
+        this.field_23_Edn = field_23_Edn;
+    }
+
+    /**
+     * Get the Edn1 field for the DOP record.
+     */
+    public short getEdn1()
+    {
+        return field_24_Edn1;
+    }
+
+    /**
+     * Set the Edn1 field for the DOP record.
+     */
+    public void setEdn1(short field_24_Edn1)
+    {
+        this.field_24_Edn1 = field_24_Edn1;
+    }
+
+    /**
+     * Get the cLines field for the DOP record.
+     */
+    public int getCLines()
+    {
+        return field_25_cLines;
+    }
+
+    /**
+     * Set the cLines field for the DOP record.
+     */
+    public void setCLines(int field_25_cLines)
+    {
+        this.field_25_cLines = field_25_cLines;
+    }
+
+    /**
+     * Get the cWordsFtnEnd field for the DOP record.
+     */
+    public int getCWordsFtnEnd()
+    {
+        return field_26_cWordsFtnEnd;
+    }
+
+    /**
+     * Set the cWordsFtnEnd field for the DOP record.
+     */
+    public void setCWordsFtnEnd(int field_26_cWordsFtnEnd)
+    {
+        this.field_26_cWordsFtnEnd = field_26_cWordsFtnEnd;
+    }
+
+    /**
+     * Get the cChFtnEdn field for the DOP record.
+     */
+    public int getCChFtnEdn()
+    {
+        return field_27_cChFtnEdn;
+    }
+
+    /**
+     * Set the cChFtnEdn field for the DOP record.
+     */
+    public void setCChFtnEdn(int field_27_cChFtnEdn)
+    {
+        this.field_27_cChFtnEdn = field_27_cChFtnEdn;
+    }
+
+    /**
+     * Get the cPgFtnEdn field for the DOP record.
+     */
+    public short getCPgFtnEdn()
+    {
+        return field_28_cPgFtnEdn;
+    }
+
+    /**
+     * Set the cPgFtnEdn field for the DOP record.
+     */
+    public void setCPgFtnEdn(short field_28_cPgFtnEdn)
+    {
+        this.field_28_cPgFtnEdn = field_28_cPgFtnEdn;
+    }
+
+    /**
+     * Get the cParasFtnEdn field for the DOP record.
+     */
+    public int getCParasFtnEdn()
+    {
+        return field_29_cParasFtnEdn;
+    }
+
+    /**
+     * Set the cParasFtnEdn field for the DOP record.
+     */
+    public void setCParasFtnEdn(int field_29_cParasFtnEdn)
+    {
+        this.field_29_cParasFtnEdn = field_29_cParasFtnEdn;
+    }
+
+    /**
+     * Get the cLinesFtnEdn field for the DOP record.
+     */
+    public int getCLinesFtnEdn()
+    {
+        return field_30_cLinesFtnEdn;
+    }
+
+    /**
+     * Set the cLinesFtnEdn field for the DOP record.
+     */
+    public void setCLinesFtnEdn(int field_30_cLinesFtnEdn)
+    {
+        this.field_30_cLinesFtnEdn = field_30_cLinesFtnEdn;
+    }
+
+    /**
+     * Get the lKeyProtDoc field for the DOP record.
+     */
+    public int getLKeyProtDoc()
+    {
+        return field_31_lKeyProtDoc;
+    }
+
+    /**
+     * Set the lKeyProtDoc field for the DOP record.
+     */
+    public void setLKeyProtDoc(int field_31_lKeyProtDoc)
+    {
+        this.field_31_lKeyProtDoc = field_31_lKeyProtDoc;
+    }
+
+    /**
+     * Get the view field for the DOP record.
+     */
+    public short getView()
+    {
+        return field_32_view;
+    }
+
+    /**
+     * Set the view field for the DOP record.
+     */
+    public void setView(short field_32_view)
+    {
+        this.field_32_view = field_32_view;
+    }
+
+    /**
+     * Get the docinfo4 field for the DOP record.
+     */
+    public int getDocinfo4()
+    {
+        return field_33_docinfo4;
+    }
+
+    /**
+     * Set the docinfo4 field for the DOP record.
+     */
+    public void setDocinfo4(int field_33_docinfo4)
+    {
+        this.field_33_docinfo4 = field_33_docinfo4;
+    }
+
+    /**
+     * Get the adt field for the DOP record.
+     */
+    public short getAdt()
+    {
+        return field_34_adt;
+    }
+
+    /**
+     * Set the adt field for the DOP record.
+     */
+    public void setAdt(short field_34_adt)
+    {
+        this.field_34_adt = field_34_adt;
+    }
+
+    /**
+     * Get the doptypography field for the DOP record.
+     */
+    public byte[] getDoptypography()
+    {
+        return field_35_doptypography;
+    }
+
+    /**
+     * Set the doptypography field for the DOP record.
+     */
+    public void setDoptypography(byte[] field_35_doptypography)
+    {
+        this.field_35_doptypography = field_35_doptypography;
+    }
+
+    /**
+     * Get the dogrid field for the DOP record.
+     */
+    public byte[] getDogrid()
+    {
+        return field_36_dogrid;
+    }
+
+    /**
+     * Set the dogrid field for the DOP record.
+     */
+    public void setDogrid(byte[] field_36_dogrid)
+    {
+        this.field_36_dogrid = field_36_dogrid;
+    }
+
+    /**
+     * Get the docinfo5 field for the DOP record.
+     */
+    public short getDocinfo5()
+    {
+        return field_37_docinfo5;
+    }
+
+    /**
+     * Set the docinfo5 field for the DOP record.
+     */
+    public void setDocinfo5(short field_37_docinfo5)
+    {
+        this.field_37_docinfo5 = field_37_docinfo5;
+    }
+
+    /**
+     * Get the docinfo6 field for the DOP record.
+     */
+    public short getDocinfo6()
+    {
+        return field_38_docinfo6;
+    }
+
+    /**
+     * Set the docinfo6 field for the DOP record.
+     */
+    public void setDocinfo6(short field_38_docinfo6)
+    {
+        this.field_38_docinfo6 = field_38_docinfo6;
+    }
+
+    /**
+     * Get the asumyi field for the DOP record.
+     */
+    public byte[] getAsumyi()
+    {
+        return field_39_asumyi;
+    }
+
+    /**
+     * Set the asumyi field for the DOP record.
+     */
+    public void setAsumyi(byte[] field_39_asumyi)
+    {
+        this.field_39_asumyi = field_39_asumyi;
+    }
+
+    /**
+     * Get the cChWS field for the DOP record.
+     */
+    public int getCChWS()
+    {
+        return field_40_cChWS;
+    }
+
+    /**
+     * Set the cChWS field for the DOP record.
+     */
+    public void setCChWS(int field_40_cChWS)
+    {
+        this.field_40_cChWS = field_40_cChWS;
+    }
+
+    /**
+     * Get the cChWSFtnEdn field for the DOP record.
+     */
+    public int getCChWSFtnEdn()
+    {
+        return field_41_cChWSFtnEdn;
+    }
+
+    /**
+     * Set the cChWSFtnEdn field for the DOP record.
+     */
+    public void setCChWSFtnEdn(int field_41_cChWSFtnEdn)
+    {
+        this.field_41_cChWSFtnEdn = field_41_cChWSFtnEdn;
+    }
+
+    /**
+     * Get the grfDocEvents field for the DOP record.
+     */
+    public int getGrfDocEvents()
+    {
+        return field_42_grfDocEvents;
+    }
+
+    /**
+     * Set the grfDocEvents field for the DOP record.
+     */
+    public void setGrfDocEvents(int field_42_grfDocEvents)
+    {
+        this.field_42_grfDocEvents = field_42_grfDocEvents;
+    }
+
+    /**
+     * Get the virusinfo field for the DOP record.
+     */
+    public int getVirusinfo()
+    {
+        return field_43_virusinfo;
+    }
+
+    /**
+     * Set the virusinfo field for the DOP record.
+     */
+    public void setVirusinfo(int field_43_virusinfo)
+    {
+        this.field_43_virusinfo = field_43_virusinfo;
+    }
+
+    /**
+     * Get the Spare field for the DOP record.
+     */
+    public byte[] getSpare()
+    {
+        return field_44_Spare;
+    }
+
+    /**
+     * Set the Spare field for the DOP record.
+     */
+    public void setSpare(byte[] field_44_Spare)
+    {
+        this.field_44_Spare = field_44_Spare;
+    }
+
+    /**
+     * Get the reserved1 field for the DOP record.
+     */
+    public int getReserved1()
+    {
+        return field_45_reserved1;
+    }
+
+    /**
+     * Set the reserved1 field for the DOP record.
+     */
+    public void setReserved1(int field_45_reserved1)
+    {
+        this.field_45_reserved1 = field_45_reserved1;
+    }
+
+    /**
+     * Get the reserved2 field for the DOP record.
+     */
+    public int getReserved2()
+    {
+        return field_46_reserved2;
+    }
+
+    /**
+     * Set the reserved2 field for the DOP record.
+     */
+    public void setReserved2(int field_46_reserved2)
+    {
+        this.field_46_reserved2 = field_46_reserved2;
+    }
+
+    /**
+     * Get the cDBC field for the DOP record.
+     */
+    public int getCDBC()
+    {
+        return field_47_cDBC;
+    }
+
+    /**
+     * Set the cDBC field for the DOP record.
+     */
+    public void setCDBC(int field_47_cDBC)
+    {
+        this.field_47_cDBC = field_47_cDBC;
+    }
+
+    /**
+     * Get the cDBCFtnEdn field for the DOP record.
+     */
+    public int getCDBCFtnEdn()
+    {
+        return field_48_cDBCFtnEdn;
+    }
+
+    /**
+     * Set the cDBCFtnEdn field for the DOP record.
+     */
+    public void setCDBCFtnEdn(int field_48_cDBCFtnEdn)
+    {
+        this.field_48_cDBCFtnEdn = field_48_cDBCFtnEdn;
+    }
+
+    /**
+     * Get the reserved field for the DOP record.
+     */
+    public int getReserved()
+    {
+        return field_49_reserved;
+    }
+
+    /**
+     * Set the reserved field for the DOP record.
+     */
+    public void setReserved(int field_49_reserved)
+    {
+        this.field_49_reserved = field_49_reserved;
+    }
+
+    /**
+     * Get the nfcFtnRef field for the DOP record.
+     */
+    public short getNfcFtnRef()
+    {
+        return field_50_nfcFtnRef;
+    }
+
+    /**
+     * Set the nfcFtnRef field for the DOP record.
+     */
+    public void setNfcFtnRef(short field_50_nfcFtnRef)
+    {
+        this.field_50_nfcFtnRef = field_50_nfcFtnRef;
+    }
+
+    /**
+     * Get the nfcEdnRef field for the DOP record.
+     */
+    public short getNfcEdnRef()
+    {
+        return field_51_nfcEdnRef;
+    }
+
+    /**
+     * Set the nfcEdnRef field for the DOP record.
+     */
+    public void setNfcEdnRef(short field_51_nfcEdnRef)
+    {
+        this.field_51_nfcEdnRef = field_51_nfcEdnRef;
+    }
+
+    /**
+     * Get the hpsZoonFontPag field for the DOP record.
+     */
+    public short getHpsZoonFontPag()
+    {
+        return field_52_hpsZoonFontPag;
+    }
+
+    /**
+     * Set the hpsZoonFontPag field for the DOP record.
+     */
+    public void setHpsZoonFontPag(short field_52_hpsZoonFontPag)
+    {
+        this.field_52_hpsZoonFontPag = field_52_hpsZoonFontPag;
+    }
+
+    /**
+     * Get the dywDispPag field for the DOP record.
+     */
+    public short getDywDispPag()
+    {
+        return field_53_dywDispPag;
+    }
+
+    /**
+     * Set the dywDispPag field for the DOP record.
+     */
+    public void setDywDispPag(short field_53_dywDispPag)
+    {
+        this.field_53_dywDispPag = field_53_dywDispPag;
+    }
+
+    /**
+     * Sets the fFacingPages field value.
+     * 
+     */
+    public void setFFacingPages(boolean value)
+    {
+        field_1_formatFlags = (byte)fFacingPages.setBoolean(field_1_formatFlags, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the fFacingPages field value.
+     */
+    public boolean isFFacingPages()
+    {
+        return fFacingPages.isSet(field_1_formatFlags);
+        
+    }
+
+    /**
+     * Sets the fWidowControl field value.
+     * 
+     */
+    public void setFWidowControl(boolean value)
+    {
+        field_1_formatFlags = (byte)fWidowControl.setBoolean(field_1_formatFlags, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the fWidowControl field value.
+     */
+    public boolean isFWidowControl()
+    {
+        return fWidowControl.isSet(field_1_formatFlags);
+        
+    }
+
+    /**
+     * Sets the fPMHMainDoc field value.
+     * 
+     */
+    public void setFPMHMainDoc(boolean value)
+    {
+        field_1_formatFlags = (byte)fPMHMainDoc.setBoolean(field_1_formatFlags, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the fPMHMainDoc field value.
+     */
+    public boolean isFPMHMainDoc()
+    {
+        return fPMHMainDoc.isSet(field_1_formatFlags);
+        
+    }
+
+    /**
+     * Sets the grfSupression field value.
+     * 
+     */
+    public void setGrfSupression(byte value)
+    {
+        field_1_formatFlags = (byte)grfSupression.setValue(field_1_formatFlags, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the grfSupression field value.
+     */
+    public byte getGrfSupression()
+    {
+        return ( byte )grfSupression.getValue(field_1_formatFlags);
+        
+    }
+
+    /**
+     * Sets the fpc field value.
+     * 
+     */
+    public void setFpc(byte value)
+    {
+        field_1_formatFlags = (byte)fpc.setValue(field_1_formatFlags, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the fpc field value.
+     */
+    public byte getFpc()
+    {
+        return ( byte )fpc.getValue(field_1_formatFlags);
+        
+    }
+
+    /**
+     * Sets the unused1 field value.
+     * 
+     */
+    public void setUnused1(boolean value)
+    {
+        field_1_formatFlags = (byte)unused1.setBoolean(field_1_formatFlags, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the unused1 field value.
+     */
+    public boolean isUnused1()
+    {
+        return unused1.isSet(field_1_formatFlags);
+        
+    }
+
+    /**
+     * Sets the rncFtn field value.
+     * 
+     */
+    public void setRncFtn(byte value)
+    {
+        field_3_footnoteInfo = (short)rncFtn.setValue(field_3_footnoteInfo, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the rncFtn field value.
+     */
+    public byte getRncFtn()
+    {
+        return ( byte )rncFtn.getValue(field_3_footnoteInfo);
+        
+    }
+
+    /**
+     * Sets the nFtn field value.
+     * 
+     */
+    public void setNFtn(short value)
+    {
+        field_3_footnoteInfo = (short)nFtn.setValue(field_3_footnoteInfo, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the nFtn field value.
+     */
+    public short getNFtn()
+    {
+        return ( short )nFtn.getValue(field_3_footnoteInfo);
+        
+    }
+
+    /**
+     * Sets the fOnlyMacPics field value.
+     * 
+     */
+    public void setFOnlyMacPics(boolean value)
+    {
+        field_5_docinfo = (byte)fOnlyMacPics.setBoolean(field_5_docinfo, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the fOnlyMacPics field value.
+     */
+    public boolean isFOnlyMacPics()
+    {
+        return fOnlyMacPics.isSet(field_5_docinfo);
+        
+    }
+
+    /**
+     * Sets the fOnlyWinPics field value.
+     * 
+     */
+    public void setFOnlyWinPics(boolean value)
+    {
+        field_5_docinfo = (byte)fOnlyWinPics.setBoolean(field_5_docinfo, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the fOnlyWinPics field value.
+     */
+    public boolean isFOnlyWinPics()
+    {
+        return fOnlyWinPics.isSet(field_5_docinfo);
+        
+    }
+
+    /**
+     * Sets the fLabelDoc field value.
+     * 
+     */
+    public void setFLabelDoc(boolean value)
+    {
+        field_5_docinfo = (byte)fLabelDoc.setBoolean(field_5_docinfo, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the fLabelDoc field value.
+     */
+    public boolean isFLabelDoc()
+    {
+        return fLabelDoc.isSet(field_5_docinfo);
+        
+    }
+
+    /**
+     * Sets the fHyphCapitals field value.
+     * 
+     */
+    public void setFHyphCapitals(boolean value)
+    {
+        field_5_docinfo = (byte)fHyphCapitals.setBoolean(field_5_docinfo, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the fHyphCapitals field value.
+     */
+    public boolean isFHyphCapitals()
+    {
+        return fHyphCapitals.isSet(field_5_docinfo);
+        
+    }
+
+    /**
+     * Sets the fAutoHyphen field value.
+     * 
+     */
+    public void setFAutoHyphen(boolean value)
+    {
+        field_5_docinfo = (byte)fAutoHyphen.setBoolean(field_5_docinfo, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the fAutoHyphen field value.
+     */
+    public boolean isFAutoHyphen()
+    {
+        return fAutoHyphen.isSet(field_5_docinfo);
+        
+    }
+
+    /**
+     * Sets the fFormNoFields field value.
+     * 
+     */
+    public void setFFormNoFields(boolean value)
+    {
+        field_5_docinfo = (byte)fFormNoFields.setBoolean(field_5_docinfo, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the fFormNoFields field value.
+     */
+    public boolean isFFormNoFields()
+    {
+        return fFormNoFields.isSet(field_5_docinfo);
+        
+    }
+
+    /**
+     * Sets the fLinkStyles field value.
+     * 
+     */
+    public void setFLinkStyles(boolean value)
+    {
+        field_5_docinfo = (byte)fLinkStyles.setBoolean(field_5_docinfo, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the fLinkStyles field value.
+     */
+    public boolean isFLinkStyles()
+    {
+        return fLinkStyles.isSet(field_5_docinfo);
+        
+    }
+
+    /**
+     * Sets the fRevMarking field value.
+     * 
+     */
+    public void setFRevMarking(boolean value)
+    {
+        field_5_docinfo = (byte)fRevMarking.setBoolean(field_5_docinfo, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the fRevMarking field value.
+     */
+    public boolean isFRevMarking()
+    {
+        return fRevMarking.isSet(field_5_docinfo);
+        
+    }
+
+    /**
+     * Sets the fBackup field value.
+     * 
+     */
+    public void setFBackup(boolean value)
+    {
+        field_6_docinfo1 = (byte)fBackup.setBoolean(field_6_docinfo1, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the fBackup field value.
+     */
+    public boolean isFBackup()
+    {
+        return fBackup.isSet(field_6_docinfo1);
+        
+    }
+
+    /**
+     * Sets the fExactCWords field value.
+     * 
+     */
+    public void setFExactCWords(boolean value)
+    {
+        field_6_docinfo1 = (byte)fExactCWords.setBoolean(field_6_docinfo1, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the fExactCWords field value.
+     */
+    public boolean isFExactCWords()
+    {
+        return fExactCWords.isSet(field_6_docinfo1);
+        
+    }
+
+    /**
+     * Sets the fPagHidden field value.
+     * 
+     */
+    public void setFPagHidden(boolean value)
+    {
+        field_6_docinfo1 = (byte)fPagHidden.setBoolean(field_6_docinfo1, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the fPagHidden field value.
+     */
+    public boolean isFPagHidden()
+    {
+        return fPagHidden.isSet(field_6_docinfo1);
+        
+    }
+
+    /**
+     * Sets the fPagResults field value.
+     * 
+     */
+    public void setFPagResults(boolean value)
+    {
+        field_6_docinfo1 = (byte)fPagResults.setBoolean(field_6_docinfo1, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the fPagResults field value.
+     */
+    public boolean isFPagResults()
+    {
+        return fPagResults.isSet(field_6_docinfo1);
+        
+    }
+
+    /**
+     * Sets the fLockAtn field value.
+     * 
+     */
+    public void setFLockAtn(boolean value)
+    {
+        field_6_docinfo1 = (byte)fLockAtn.setBoolean(field_6_docinfo1, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the fLockAtn field value.
+     */
+    public boolean isFLockAtn()
+    {
+        return fLockAtn.isSet(field_6_docinfo1);
+        
+    }
+
+    /**
+     * Sets the fMirrorMargins field value.
+     * 
+     */
+    public void setFMirrorMargins(boolean value)
+    {
+        field_6_docinfo1 = (byte)fMirrorMargins.setBoolean(field_6_docinfo1, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the fMirrorMargins field value.
+     */
+    public boolean isFMirrorMargins()
+    {
+        return fMirrorMargins.isSet(field_6_docinfo1);
+        
+    }
+
+    /**
+     * Sets the unused3 field value.
+     * 
+     */
+    public void setUnused3(boolean value)
+    {
+        field_6_docinfo1 = (byte)unused3.setBoolean(field_6_docinfo1, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the unused3 field value.
+     */
+    public boolean isUnused3()
+    {
+        return unused3.isSet(field_6_docinfo1);
+        
+    }
+
+    /**
+     * Sets the fDfltTrueType field value.
+     * 
+     */
+    public void setFDfltTrueType(boolean value)
+    {
+        field_6_docinfo1 = (byte)fDfltTrueType.setBoolean(field_6_docinfo1, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the fDfltTrueType field value.
+     */
+    public boolean isFDfltTrueType()
+    {
+        return fDfltTrueType.isSet(field_6_docinfo1);
+        
+    }
+
+    /**
+     * Sets the fPagSupressTopSpacing field value.
+     * 
+     */
+    public void setFPagSupressTopSpacing(boolean value)
+    {
+        field_7_docinfo2 = (byte)fPagSupressTopSpacing.setBoolean(field_7_docinfo2, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the fPagSupressTopSpacing field value.
+     */
+    public boolean isFPagSupressTopSpacing()
+    {
+        return fPagSupressTopSpacing.isSet(field_7_docinfo2);
+        
+    }
+
+    /**
+     * Sets the fProtEnabled field value.
+     * 
+     */
+    public void setFProtEnabled(boolean value)
+    {
+        field_7_docinfo2 = (byte)fProtEnabled.setBoolean(field_7_docinfo2, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the fProtEnabled field value.
+     */
+    public boolean isFProtEnabled()
+    {
+        return fProtEnabled.isSet(field_7_docinfo2);
+        
+    }
+
+    /**
+     * Sets the fDispFormFldSel field value.
+     * 
+     */
+    public void setFDispFormFldSel(boolean value)
+    {
+        field_7_docinfo2 = (byte)fDispFormFldSel.setBoolean(field_7_docinfo2, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the fDispFormFldSel field value.
+     */
+    public boolean isFDispFormFldSel()
+    {
+        return fDispFormFldSel.isSet(field_7_docinfo2);
+        
+    }
+
+    /**
+     * Sets the fRMView field value.
+     * 
+     */
+    public void setFRMView(boolean value)
+    {
+        field_7_docinfo2 = (byte)fRMView.setBoolean(field_7_docinfo2, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the fRMView field value.
+     */
+    public boolean isFRMView()
+    {
+        return fRMView.isSet(field_7_docinfo2);
+        
+    }
+
+    /**
+     * Sets the fRMPrint field value.
+     * 
+     */
+    public void setFRMPrint(boolean value)
+    {
+        field_7_docinfo2 = (byte)fRMPrint.setBoolean(field_7_docinfo2, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the fRMPrint field value.
+     */
+    public boolean isFRMPrint()
+    {
+        return fRMPrint.isSet(field_7_docinfo2);
+        
+    }
+
+    /**
+     * Sets the unused4 field value.
+     * 
+     */
+    public void setUnused4(boolean value)
+    {
+        field_7_docinfo2 = (byte)unused4.setBoolean(field_7_docinfo2, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the unused4 field value.
+     */
+    public boolean isUnused4()
+    {
+        return unused4.isSet(field_7_docinfo2);
+        
+    }
+
+    /**
+     * Sets the fLockRev field value.
+     * 
+     */
+    public void setFLockRev(boolean value)
+    {
+        field_7_docinfo2 = (byte)fLockRev.setBoolean(field_7_docinfo2, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the fLockRev field value.
+     */
+    public boolean isFLockRev()
+    {
+        return fLockRev.isSet(field_7_docinfo2);
+        
+    }
+
+    /**
+     * Sets the fEmbedFonts field value.
+     * 
+     */
+    public void setFEmbedFonts(boolean value)
+    {
+        field_7_docinfo2 = (byte)fEmbedFonts.setBoolean(field_7_docinfo2, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the fEmbedFonts field value.
+     */
+    public boolean isFEmbedFonts()
+    {
+        return fEmbedFonts.isSet(field_7_docinfo2);
+        
+    }
+
+    /**
+     * Sets the oldfNoTabForInd field value.
+     * 
+     */
+    public void setOldfNoTabForInd(boolean value)
+    {
+        field_8_docinfo3 = (short)oldfNoTabForInd.setBoolean(field_8_docinfo3, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the oldfNoTabForInd field value.
+     */
+    public boolean isOldfNoTabForInd()
+    {
+        return oldfNoTabForInd.isSet(field_8_docinfo3);
+        
+    }
+
+    /**
+     * Sets the oldfNoSpaceRaiseLower field value.
+     * 
+     */
+    public void setOldfNoSpaceRaiseLower(boolean value)
+    {
+        field_8_docinfo3 = (short)oldfNoSpaceRaiseLower.setBoolean(field_8_docinfo3, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the oldfNoSpaceRaiseLower field value.
+     */
+    public boolean isOldfNoSpaceRaiseLower()
+    {
+        return oldfNoSpaceRaiseLower.isSet(field_8_docinfo3);
+        
+    }
+
+    /**
+     * Sets the oldfSuppressSpbfAfterPageBreak field value.
+     * 
+     */
+    public void setOldfSuppressSpbfAfterPageBreak(boolean value)
+    {
+        field_8_docinfo3 = (short)oldfSuppressSpbfAfterPageBreak.setBoolean(field_8_docinfo3, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the oldfSuppressSpbfAfterPageBreak field value.
+     */
+    public boolean isOldfSuppressSpbfAfterPageBreak()
+    {
+        return oldfSuppressSpbfAfterPageBreak.isSet(field_8_docinfo3);
+        
+    }
+
+    /**
+     * Sets the oldfWrapTrailSpaces field value.
+     * 
+     */
+    public void setOldfWrapTrailSpaces(boolean value)
+    {
+        field_8_docinfo3 = (short)oldfWrapTrailSpaces.setBoolean(field_8_docinfo3, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the oldfWrapTrailSpaces field value.
+     */
+    public boolean isOldfWrapTrailSpaces()
+    {
+        return oldfWrapTrailSpaces.isSet(field_8_docinfo3);
+        
+    }
+
+    /**
+     * Sets the oldfMapPrintTextColor field value.
+     * 
+     */
+    public void setOldfMapPrintTextColor(boolean value)
+    {
+        field_8_docinfo3 = (short)oldfMapPrintTextColor.setBoolean(field_8_docinfo3, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the oldfMapPrintTextColor field value.
+     */
+    public boolean isOldfMapPrintTextColor()
+    {
+        return oldfMapPrintTextColor.isSet(field_8_docinfo3);
+        
+    }
+
+    /**
+     * Sets the oldfNoColumnBalance field value.
+     * 
+     */
+    public void setOldfNoColumnBalance(boolean value)
+    {
+        field_8_docinfo3 = (short)oldfNoColumnBalance.setBoolean(field_8_docinfo3, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the oldfNoColumnBalance field value.
+     */
+    public boolean isOldfNoColumnBalance()
+    {
+        return oldfNoColumnBalance.isSet(field_8_docinfo3);
+        
+    }
+
+    /**
+     * Sets the oldfConvMailMergeEsc field value.
+     * 
+     */
+    public void setOldfConvMailMergeEsc(boolean value)
+    {
+        field_8_docinfo3 = (short)oldfConvMailMergeEsc.setBoolean(field_8_docinfo3, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the oldfConvMailMergeEsc field value.
+     */
+    public boolean isOldfConvMailMergeEsc()
+    {
+        return oldfConvMailMergeEsc.isSet(field_8_docinfo3);
+        
+    }
+
+    /**
+     * Sets the oldfSupressTopSpacing field value.
+     * 
+     */
+    public void setOldfSupressTopSpacing(boolean value)
+    {
+        field_8_docinfo3 = (short)oldfSupressTopSpacing.setBoolean(field_8_docinfo3, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the oldfSupressTopSpacing field value.
+     */
+    public boolean isOldfSupressTopSpacing()
+    {
+        return oldfSupressTopSpacing.isSet(field_8_docinfo3);
+        
+    }
+
+    /**
+     * Sets the oldfOrigWordTableRules field value.
+     * 
+     */
+    public void setOldfOrigWordTableRules(boolean value)
+    {
+        field_8_docinfo3 = (short)oldfOrigWordTableRules.setBoolean(field_8_docinfo3, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the oldfOrigWordTableRules field value.
+     */
+    public boolean isOldfOrigWordTableRules()
+    {
+        return oldfOrigWordTableRules.isSet(field_8_docinfo3);
+        
+    }
+
+    /**
+     * Sets the oldfTransparentMetafiles field value.
+     * 
+     */
+    public void setOldfTransparentMetafiles(boolean value)
+    {
+        field_8_docinfo3 = (short)oldfTransparentMetafiles.setBoolean(field_8_docinfo3, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the oldfTransparentMetafiles field value.
+     */
+    public boolean isOldfTransparentMetafiles()
+    {
+        return oldfTransparentMetafiles.isSet(field_8_docinfo3);
+        
+    }
+
+    /**
+     * Sets the oldfShowBreaksInFrames field value.
+     * 
+     */
+    public void setOldfShowBreaksInFrames(boolean value)
+    {
+        field_8_docinfo3 = (short)oldfShowBreaksInFrames.setBoolean(field_8_docinfo3, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the oldfShowBreaksInFrames field value.
+     */
+    public boolean isOldfShowBreaksInFrames()
+    {
+        return oldfShowBreaksInFrames.isSet(field_8_docinfo3);
+        
+    }
+
+    /**
+     * Sets the oldfSwapBordersFacingPgs field value.
+     * 
+     */
+    public void setOldfSwapBordersFacingPgs(boolean value)
+    {
+        field_8_docinfo3 = (short)oldfSwapBordersFacingPgs.setBoolean(field_8_docinfo3, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the oldfSwapBordersFacingPgs field value.
+     */
+    public boolean isOldfSwapBordersFacingPgs()
+    {
+        return oldfSwapBordersFacingPgs.isSet(field_8_docinfo3);
+        
+    }
+
+    /**
+     * Sets the unused5 field value.
+     * 
+     */
+    public void setUnused5(byte value)
+    {
+        field_8_docinfo3 = (short)unused5.setValue(field_8_docinfo3, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the unused5 field value.
+     */
+    public byte getUnused5()
+    {
+        return ( byte )unused5.getValue(field_8_docinfo3);
+        
+    }
+
+    /**
+     * Sets the rncEdn field value.
+     * 
+     */
+    public void setRncEdn(byte value)
+    {
+        field_23_Edn = (short)rncEdn.setValue(field_23_Edn, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the rncEdn field value.
+     */
+    public byte getRncEdn()
+    {
+        return ( byte )rncEdn.getValue(field_23_Edn);
+        
+    }
+
+    /**
+     * Sets the nEdn field value.
+     * 
+     */
+    public void setNEdn(short value)
+    {
+        field_23_Edn = (short)nEdn.setValue(field_23_Edn, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the nEdn field value.
+     */
+    public short getNEdn()
+    {
+        return ( short )nEdn.getValue(field_23_Edn);
+        
+    }
+
+    /**
+     * Sets the epc field value.
+     * 
+     */
+    public void setEpc(byte value)
+    {
+        field_24_Edn1 = (short)epc.setValue(field_24_Edn1, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the epc field value.
+     */
+    public byte getEpc()
+    {
+        return ( byte )epc.getValue(field_24_Edn1);
+        
+    }
+
+    /**
+     * Sets the nfcFtnRef1 field value.
+     * 
+     */
+    public void setNfcFtnRef1(byte value)
+    {
+        field_24_Edn1 = (short)nfcFtnRef1.setValue(field_24_Edn1, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the nfcFtnRef1 field value.
+     */
+    public byte getNfcFtnRef1()
+    {
+        return ( byte )nfcFtnRef1.getValue(field_24_Edn1);
+        
+    }
+
+    /**
+     * Sets the nfcEdnRef1 field value.
+     * 
+     */
+    public void setNfcEdnRef1(byte value)
+    {
+        field_24_Edn1 = (short)nfcEdnRef1.setValue(field_24_Edn1, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the nfcEdnRef1 field value.
+     */
+    public byte getNfcEdnRef1()
+    {
+        return ( byte )nfcEdnRef1.getValue(field_24_Edn1);
+        
+    }
+
+    /**
+     * Sets the fPrintFormData field value.
+     * 
+     */
+    public void setFPrintFormData(boolean value)
+    {
+        field_24_Edn1 = (short)fPrintFormData.setBoolean(field_24_Edn1, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the fPrintFormData field value.
+     */
+    public boolean isFPrintFormData()
+    {
+        return fPrintFormData.isSet(field_24_Edn1);
+        
+    }
+
+    /**
+     * Sets the fSaveFormData field value.
+     * 
+     */
+    public void setFSaveFormData(boolean value)
+    {
+        field_24_Edn1 = (short)fSaveFormData.setBoolean(field_24_Edn1, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the fSaveFormData field value.
+     */
+    public boolean isFSaveFormData()
+    {
+        return fSaveFormData.isSet(field_24_Edn1);
+        
+    }
+
+    /**
+     * Sets the fShadeFormData field value.
+     * 
+     */
+    public void setFShadeFormData(boolean value)
+    {
+        field_24_Edn1 = (short)fShadeFormData.setBoolean(field_24_Edn1, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the fShadeFormData field value.
+     */
+    public boolean isFShadeFormData()
+    {
+        return fShadeFormData.isSet(field_24_Edn1);
+        
+    }
+
+    /**
+     * Sets the fWCFtnEdn field value.
+     * 
+     */
+    public void setFWCFtnEdn(boolean value)
+    {
+        field_24_Edn1 = (short)fWCFtnEdn.setBoolean(field_24_Edn1, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the fWCFtnEdn field value.
+     */
+    public boolean isFWCFtnEdn()
+    {
+        return fWCFtnEdn.isSet(field_24_Edn1);
+        
+    }
+
+    /**
+     * Sets the wvkSaved field value.
+     * 
+     */
+    public void setWvkSaved(byte value)
+    {
+        field_32_view = (short)wvkSaved.setValue(field_32_view, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the wvkSaved field value.
+     */
+    public byte getWvkSaved()
+    {
+        return ( byte )wvkSaved.getValue(field_32_view);
+        
+    }
+
+    /**
+     * Sets the wScaleSaved field value.
+     * 
+     */
+    public void setWScaleSaved(short value)
+    {
+        field_32_view = (short)wScaleSaved.setValue(field_32_view, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the wScaleSaved field value.
+     */
+    public short getWScaleSaved()
+    {
+        return ( short )wScaleSaved.getValue(field_32_view);
+        
+    }
+
+    /**
+     * Sets the zkSaved field value.
+     * 
+     */
+    public void setZkSaved(byte value)
+    {
+        field_32_view = (short)zkSaved.setValue(field_32_view, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the zkSaved field value.
+     */
+    public byte getZkSaved()
+    {
+        return ( byte )zkSaved.getValue(field_32_view);
+        
+    }
+
+    /**
+     * Sets the fRotateFontW6 field value.
+     * 
+     */
+    public void setFRotateFontW6(boolean value)
+    {
+        field_32_view = (short)fRotateFontW6.setBoolean(field_32_view, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the fRotateFontW6 field value.
+     */
+    public boolean isFRotateFontW6()
+    {
+        return fRotateFontW6.isSet(field_32_view);
+        
+    }
+
+    /**
+     * Sets the iGutterPos field value.
+     * 
+     */
+    public void setIGutterPos(boolean value)
+    {
+        field_32_view = (short)iGutterPos.setBoolean(field_32_view, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the iGutterPos field value.
+     */
+    public boolean isIGutterPos()
+    {
+        return iGutterPos.isSet(field_32_view);
+        
+    }
+
+    /**
+     * Sets the fNoTabForInd field value.
+     * 
+     */
+    public void setFNoTabForInd(boolean value)
+    {
+        field_33_docinfo4 = (int)fNoTabForInd.setBoolean(field_33_docinfo4, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the fNoTabForInd field value.
+     */
+    public boolean isFNoTabForInd()
+    {
+        return fNoTabForInd.isSet(field_33_docinfo4);
+        
+    }
+
+    /**
+     * Sets the fNoSpaceRaiseLower field value.
+     * 
+     */
+    public void setFNoSpaceRaiseLower(boolean value)
+    {
+        field_33_docinfo4 = (int)fNoSpaceRaiseLower.setBoolean(field_33_docinfo4, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the fNoSpaceRaiseLower field value.
+     */
+    public boolean isFNoSpaceRaiseLower()
+    {
+        return fNoSpaceRaiseLower.isSet(field_33_docinfo4);
+        
+    }
+
+    /**
+     * Sets the fSupressSpdfAfterPageBreak field value.
+     * 
+     */
+    public void setFSupressSpdfAfterPageBreak(boolean value)
+    {
+        field_33_docinfo4 = (int)fSupressSpdfAfterPageBreak.setBoolean(field_33_docinfo4, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the fSupressSpdfAfterPageBreak field value.
+     */
+    public boolean isFSupressSpdfAfterPageBreak()
+    {
+        return fSupressSpdfAfterPageBreak.isSet(field_33_docinfo4);
+        
+    }
+
+    /**
+     * Sets the fWrapTrailSpaces field value.
+     * 
+     */
+    public void setFWrapTrailSpaces(boolean value)
+    {
+        field_33_docinfo4 = (int)fWrapTrailSpaces.setBoolean(field_33_docinfo4, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the fWrapTrailSpaces field value.
+     */
+    public boolean isFWrapTrailSpaces()
+    {
+        return fWrapTrailSpaces.isSet(field_33_docinfo4);
+        
+    }
+
+    /**
+     * Sets the fMapPrintTextColor field value.
+     * 
+     */
+    public void setFMapPrintTextColor(boolean value)
+    {
+        field_33_docinfo4 = (int)fMapPrintTextColor.setBoolean(field_33_docinfo4, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the fMapPrintTextColor field value.
+     */
+    public boolean isFMapPrintTextColor()
+    {
+        return fMapPrintTextColor.isSet(field_33_docinfo4);
+        
+    }
+
+    /**
+     * Sets the fNoColumnBalance field value.
+     * 
+     */
+    public void setFNoColumnBalance(boolean value)
+    {
+        field_33_docinfo4 = (int)fNoColumnBalance.setBoolean(field_33_docinfo4, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the fNoColumnBalance field value.
+     */
+    public boolean isFNoColumnBalance()
+    {
+        return fNoColumnBalance.isSet(field_33_docinfo4);
+        
+    }
+
+    /**
+     * Sets the fConvMailMergeEsc field value.
+     * 
+     */
+    public void setFConvMailMergeEsc(boolean value)
+    {
+        field_33_docinfo4 = (int)fConvMailMergeEsc.setBoolean(field_33_docinfo4, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the fConvMailMergeEsc field value.
+     */
+    public boolean isFConvMailMergeEsc()
+    {
+        return fConvMailMergeEsc.isSet(field_33_docinfo4);
+        
+    }
+
+    /**
+     * Sets the fSupressTopSpacing field value.
+     * 
+     */
+    public void setFSupressTopSpacing(boolean value)
+    {
+        field_33_docinfo4 = (int)fSupressTopSpacing.setBoolean(field_33_docinfo4, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the fSupressTopSpacing field value.
+     */
+    public boolean isFSupressTopSpacing()
+    {
+        return fSupressTopSpacing.isSet(field_33_docinfo4);
+        
+    }
+
+    /**
+     * Sets the fOrigWordTableRules field value.
+     * 
+     */
+    public void setFOrigWordTableRules(boolean value)
+    {
+        field_33_docinfo4 = (int)fOrigWordTableRules.setBoolean(field_33_docinfo4, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the fOrigWordTableRules field value.
+     */
+    public boolean isFOrigWordTableRules()
+    {
+        return fOrigWordTableRules.isSet(field_33_docinfo4);
+        
+    }
+
+    /**
+     * Sets the fTransparentMetafiles field value.
+     * 
+     */
+    public void setFTransparentMetafiles(boolean value)
+    {
+        field_33_docinfo4 = (int)fTransparentMetafiles.setBoolean(field_33_docinfo4, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the fTransparentMetafiles field value.
+     */
+    public boolean isFTransparentMetafiles()
+    {
+        return fTransparentMetafiles.isSet(field_33_docinfo4);
+        
+    }
+
+    /**
+     * Sets the fShowBreaksInFrames field value.
+     * 
+     */
+    public void setFShowBreaksInFrames(boolean value)
+    {
+        field_33_docinfo4 = (int)fShowBreaksInFrames.setBoolean(field_33_docinfo4, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the fShowBreaksInFrames field value.
+     */
+    public boolean isFShowBreaksInFrames()
+    {
+        return fShowBreaksInFrames.isSet(field_33_docinfo4);
+        
+    }
+
+    /**
+     * Sets the fSwapBordersFacingPgs field value.
+     * 
+     */
+    public void setFSwapBordersFacingPgs(boolean value)
+    {
+        field_33_docinfo4 = (int)fSwapBordersFacingPgs.setBoolean(field_33_docinfo4, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the fSwapBordersFacingPgs field value.
+     */
+    public boolean isFSwapBordersFacingPgs()
+    {
+        return fSwapBordersFacingPgs.isSet(field_33_docinfo4);
+        
+    }
+
+    /**
+     * Sets the fSuppressTopSPacingMac5 field value.
+     * 
+     */
+    public void setFSuppressTopSPacingMac5(boolean value)
+    {
+        field_33_docinfo4 = (int)fSuppressTopSPacingMac5.setBoolean(field_33_docinfo4, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the fSuppressTopSPacingMac5 field value.
+     */
+    public boolean isFSuppressTopSPacingMac5()
+    {
+        return fSuppressTopSPacingMac5.isSet(field_33_docinfo4);
+        
+    }
+
+    /**
+     * Sets the fTruncDxaExpand field value.
+     * 
+     */
+    public void setFTruncDxaExpand(boolean value)
+    {
+        field_33_docinfo4 = (int)fTruncDxaExpand.setBoolean(field_33_docinfo4, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the fTruncDxaExpand field value.
+     */
+    public boolean isFTruncDxaExpand()
+    {
+        return fTruncDxaExpand.isSet(field_33_docinfo4);
+        
+    }
+
+    /**
+     * Sets the fPrintBodyBeforeHdr field value.
+     * 
+     */
+    public void setFPrintBodyBeforeHdr(boolean value)
+    {
+        field_33_docinfo4 = (int)fPrintBodyBeforeHdr.setBoolean(field_33_docinfo4, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the fPrintBodyBeforeHdr field value.
+     */
+    public boolean isFPrintBodyBeforeHdr()
+    {
+        return fPrintBodyBeforeHdr.isSet(field_33_docinfo4);
+        
+    }
+
+    /**
+     * Sets the fNoLeading field value.
+     * 
+     */
+    public void setFNoLeading(boolean value)
+    {
+        field_33_docinfo4 = (int)fNoLeading.setBoolean(field_33_docinfo4, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the fNoLeading field value.
+     */
+    public boolean isFNoLeading()
+    {
+        return fNoLeading.isSet(field_33_docinfo4);
+        
+    }
+
+    /**
+     * Sets the fMWSmallCaps field value.
+     * 
+     */
+    public void setFMWSmallCaps(boolean value)
+    {
+        field_33_docinfo4 = (int)fMWSmallCaps.setBoolean(field_33_docinfo4, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the fMWSmallCaps field value.
+     */
+    public boolean isFMWSmallCaps()
+    {
+        return fMWSmallCaps.isSet(field_33_docinfo4);
+        
+    }
+
+    /**
+     * Sets the lvl field value.
+     * 
+     */
+    public void setLvl(byte value)
+    {
+        field_37_docinfo5 = (short)lvl.setValue(field_37_docinfo5, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the lvl field value.
+     */
+    public byte getLvl()
+    {
+        return ( byte )lvl.getValue(field_37_docinfo5);
+        
+    }
+
+    /**
+     * Sets the fGramAllDone field value.
+     * 
+     */
+    public void setFGramAllDone(boolean value)
+    {
+        field_37_docinfo5 = (short)fGramAllDone.setBoolean(field_37_docinfo5, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the fGramAllDone field value.
+     */
+    public boolean isFGramAllDone()
+    {
+        return fGramAllDone.isSet(field_37_docinfo5);
+        
+    }
+
+    /**
+     * Sets the fGramAllClean field value.
+     * 
+     */
+    public void setFGramAllClean(boolean value)
+    {
+        field_37_docinfo5 = (short)fGramAllClean.setBoolean(field_37_docinfo5, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the fGramAllClean field value.
+     */
+    public boolean isFGramAllClean()
+    {
+        return fGramAllClean.isSet(field_37_docinfo5);
+        
+    }
+
+    /**
+     * Sets the fSubsetFonts field value.
+     * 
+     */
+    public void setFSubsetFonts(boolean value)
+    {
+        field_37_docinfo5 = (short)fSubsetFonts.setBoolean(field_37_docinfo5, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the fSubsetFonts field value.
+     */
+    public boolean isFSubsetFonts()
+    {
+        return fSubsetFonts.isSet(field_37_docinfo5);
+        
+    }
+
+    /**
+     * Sets the fHideLastVersion field value.
+     * 
+     */
+    public void setFHideLastVersion(boolean value)
+    {
+        field_37_docinfo5 = (short)fHideLastVersion.setBoolean(field_37_docinfo5, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the fHideLastVersion field value.
+     */
+    public boolean isFHideLastVersion()
+    {
+        return fHideLastVersion.isSet(field_37_docinfo5);
+        
+    }
+
+    /**
+     * Sets the fHtmlDoc field value.
+     * 
+     */
+    public void setFHtmlDoc(boolean value)
+    {
+        field_37_docinfo5 = (short)fHtmlDoc.setBoolean(field_37_docinfo5, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the fHtmlDoc field value.
+     */
+    public boolean isFHtmlDoc()
+    {
+        return fHtmlDoc.isSet(field_37_docinfo5);
+        
+    }
+
+    /**
+     * Sets the fSnapBorder field value.
+     * 
+     */
+    public void setFSnapBorder(boolean value)
+    {
+        field_37_docinfo5 = (short)fSnapBorder.setBoolean(field_37_docinfo5, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the fSnapBorder field value.
+     */
+    public boolean isFSnapBorder()
+    {
+        return fSnapBorder.isSet(field_37_docinfo5);
+        
+    }
+
+    /**
+     * Sets the fIncludeHeader field value.
+     * 
+     */
+    public void setFIncludeHeader(boolean value)
+    {
+        field_37_docinfo5 = (short)fIncludeHeader.setBoolean(field_37_docinfo5, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the fIncludeHeader field value.
+     */
+    public boolean isFIncludeHeader()
+    {
+        return fIncludeHeader.isSet(field_37_docinfo5);
+        
+    }
+
+    /**
+     * Sets the fIncludeFooter field value.
+     * 
+     */
+    public void setFIncludeFooter(boolean value)
+    {
+        field_37_docinfo5 = (short)fIncludeFooter.setBoolean(field_37_docinfo5, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the fIncludeFooter field value.
+     */
+    public boolean isFIncludeFooter()
+    {
+        return fIncludeFooter.isSet(field_37_docinfo5);
+        
+    }
+
+    /**
+     * Sets the fForcePageSizePag field value.
+     * 
+     */
+    public void setFForcePageSizePag(boolean value)
+    {
+        field_37_docinfo5 = (short)fForcePageSizePag.setBoolean(field_37_docinfo5, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the fForcePageSizePag field value.
+     */
+    public boolean isFForcePageSizePag()
+    {
+        return fForcePageSizePag.isSet(field_37_docinfo5);
+        
+    }
+
+    /**
+     * Sets the fMinFontSizePag field value.
+     * 
+     */
+    public void setFMinFontSizePag(boolean value)
+    {
+        field_37_docinfo5 = (short)fMinFontSizePag.setBoolean(field_37_docinfo5, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the fMinFontSizePag field value.
+     */
+    public boolean isFMinFontSizePag()
+    {
+        return fMinFontSizePag.isSet(field_37_docinfo5);
+        
+    }
+
+    /**
+     * Sets the fHaveVersions field value.
+     * 
+     */
+    public void setFHaveVersions(boolean value)
+    {
+        field_38_docinfo6 = (short)fHaveVersions.setBoolean(field_38_docinfo6, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the fHaveVersions field value.
+     */
+    public boolean isFHaveVersions()
+    {
+        return fHaveVersions.isSet(field_38_docinfo6);
+        
+    }
+
+    /**
+     * Sets the fAutoVersions field value.
+     * 
+     */
+    public void setFAutoVersions(boolean value)
+    {
+        field_38_docinfo6 = (short)fAutoVersions.setBoolean(field_38_docinfo6, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the fAutoVersions field value.
+     */
+    public boolean isFAutoVersions()
+    {
+        return fAutoVersions.isSet(field_38_docinfo6);
+        
+    }
+
+    /**
+     * Sets the fVirusPrompted field value.
+     * 
+     */
+    public void setFVirusPrompted(boolean value)
+    {
+        field_43_virusinfo = (int)fVirusPrompted.setBoolean(field_43_virusinfo, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the fVirusPrompted field value.
+     */
+    public boolean isFVirusPrompted()
+    {
+        return fVirusPrompted.isSet(field_43_virusinfo);
+        
+    }
+
+    /**
+     * Sets the fVirusLoadSafe field value.
+     * 
+     */
+    public void setFVirusLoadSafe(boolean value)
+    {
+        field_43_virusinfo = (int)fVirusLoadSafe.setBoolean(field_43_virusinfo, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the fVirusLoadSafe field value.
+     */
+    public boolean isFVirusLoadSafe()
+    {
+        return fVirusLoadSafe.isSet(field_43_virusinfo);
+        
+    }
+
+    /**
+     * Sets the KeyVirusSession30 field value.
+     * 
+     */
+    public void setKeyVirusSession30(int value)
+    {
+        field_43_virusinfo = (int)KeyVirusSession30.setValue(field_43_virusinfo, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the KeyVirusSession30 field value.
+     */
+    public int getKeyVirusSession30()
+    {
+        return ( int )KeyVirusSession30.getValue(field_43_virusinfo);
+        
+    }
+
+
+}  // END OF CLASS
+
+
+
+
diff --git a/src/scratchpad/src/org/apache/poi/hwpf/model/types/FIBAbstractType.java b/src/scratchpad/src/org/apache/poi/hwpf/model/types/FIBAbstractType.java
new file mode 100644 (file)
index 0000000..ff60d28
--- /dev/null
@@ -0,0 +1,866 @@
+
+/* ====================================================================
+ * The Apache Software License, Version 1.1
+ *
+ * Copyright (c) 2003 The Apache Software Foundation.  All rights
+ * reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in
+ *    the documentation and/or other materials provided with the
+ *    distribution.
+ *
+ * 3. The end-user documentation included with the redistribution,
+ *    if any, must include the following acknowledgment:
+ *       "This product includes software developed by the
+ *        Apache Software Foundation (http://www.apache.org/)."
+ *    Alternately, this acknowledgment may appear in the software itself,
+ *    if and wherever such third-party acknowledgments normally appear.
+ *
+ * 4. The names "Apache" and "Apache Software Foundation" and
+ *    "Apache POI" must not be used to endorse or promote products
+ *    derived from this software without prior written permission. For
+ *    written permission, please contact apache@apache.org.
+ *
+ * 5. Products derived from this software may not be called "Apache",
+ *    "Apache POI", nor may "Apache" appear in their name, without
+ *    prior written permission of the Apache Software Foundation.
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+ * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ * ====================================================================
+ *
+ * This software consists of voluntary contributions made by many
+ * individuals on behalf of the Apache Software Foundation.  For more
+ * information on the Apache Software Foundation, please see
+ * <http://www.apache.org/>.
+ */
+
+
+package org.apache.poi.hwpf.model.types;
+
+
+
+import org.apache.poi.util.BitField;
+import org.apache.poi.util.LittleEndian;
+import org.apache.poi.util.StringUtil;
+import org.apache.poi.util.HexDump;
+import org.apache.poi.hdf.model.hdftypes.HDFType;
+import org.apache.poi.hwpf.usermodel.*;
+
+/**
+ * File information Block.
+ * NOTE: This source is automatically generated please do not modify this file.  Either subclass or
+ *       remove the record in src/records/definitions.
+
+ * @author Andrew C. Oliver
+ */
+public abstract class FIBAbstractType
+    implements HDFType
+{
+
+    protected  int field_1_wIdent;
+    protected  int field_2_nFib;
+    protected  int field_3_nProduct;
+    protected  int field_4_lid;
+    protected  int field_5_pnNext;
+    protected  short field_6_options;
+        private static BitField  fDot = new BitField(0x0001);
+        private static BitField  fGlsy = new BitField(0x0002);
+        private static BitField  fComplex = new BitField(0x0004);
+        private static BitField  fHasPic = new BitField(0x0008);
+        private static BitField  cQuickSaves = new BitField(0x00F0);
+        private static BitField  fEncrypted = new BitField(0x0100);
+        private static BitField  fWhichTblStm = new BitField(0x0200);
+        private static BitField  fReadOnlyRecommended = new BitField(0x0400);
+        private static BitField  fWriteReservation = new BitField(0x0800);
+        private static BitField  fExtChar = new BitField(0x1000);
+        private static BitField  fLoadOverride = new BitField(0x2000);
+        private static BitField  fFarEast = new BitField(0x4000);
+        private static BitField  fCrypto = new BitField(0x8000);
+    protected  int field_7_nFibBack;
+    protected  int field_8_lKey;
+    protected  int field_9_envr;
+    protected  short field_10_history;
+        private static BitField  fMac = new BitField(0x0001);
+        private static BitField  fEmptySpecial = new BitField(0x0002);
+        private static BitField  fLoadOverridePage = new BitField(0x0004);
+        private static BitField  fFutureSavedUndo = new BitField(0x0008);
+        private static BitField  fWord97Saved = new BitField(0x0010);
+        private static BitField  fSpare0 = new BitField(0x00FE);
+    protected  int field_11_chs;
+    protected  int field_12_chsTables;
+    protected  int field_13_fcMin;
+    protected  int field_14_fcMac;
+
+
+    public FIBAbstractType()
+    {
+
+    }
+
+    protected void fillFields(byte [] data, int offset)
+    {
+        field_1_wIdent                  = LittleEndian.getShort(data, 0x0 + offset);
+        field_2_nFib                    = LittleEndian.getShort(data, 0x2 + offset);
+        field_3_nProduct                = LittleEndian.getShort(data, 0x4 + offset);
+        field_4_lid                     = LittleEndian.getShort(data, 0x6 + offset);
+        field_5_pnNext                  = LittleEndian.getShort(data, 0x8 + offset);
+        field_6_options                 = LittleEndian.getShort(data, 0xa + offset);
+        field_7_nFibBack                = LittleEndian.getShort(data, 0xc + offset);
+        field_8_lKey                    = LittleEndian.getShort(data, 0xe + offset);
+        field_9_envr                    = LittleEndian.getShort(data, 0x10 + offset);
+        field_10_history                = LittleEndian.getShort(data, 0x12 + offset);
+        field_11_chs                    = LittleEndian.getShort(data, 0x14 + offset);
+        field_12_chsTables              = LittleEndian.getShort(data, 0x16 + offset);
+        field_13_fcMin                  = LittleEndian.getInt(data, 0x18 + offset);
+        field_14_fcMac                  = LittleEndian.getInt(data, 0x1c + offset);
+
+    }
+
+    public void serialize(byte[] data, int offset)
+    {
+        LittleEndian.putShort(data, 0x0 + offset, (short)field_1_wIdent);;
+        LittleEndian.putShort(data, 0x2 + offset, (short)field_2_nFib);;
+        LittleEndian.putShort(data, 0x4 + offset, (short)field_3_nProduct);;
+        LittleEndian.putShort(data, 0x6 + offset, (short)field_4_lid);;
+        LittleEndian.putShort(data, 0x8 + offset, (short)field_5_pnNext);;
+        LittleEndian.putShort(data, 0xa + offset, (short)field_6_options);;
+        LittleEndian.putShort(data, 0xc + offset, (short)field_7_nFibBack);;
+        LittleEndian.putShort(data, 0xe + offset, (short)field_8_lKey);;
+        LittleEndian.putShort(data, 0x10 + offset, (short)field_9_envr);;
+        LittleEndian.putShort(data, 0x12 + offset, (short)field_10_history);;
+        LittleEndian.putShort(data, 0x14 + offset, (short)field_11_chs);;
+        LittleEndian.putShort(data, 0x16 + offset, (short)field_12_chsTables);;
+        LittleEndian.putInt(data, 0x18 + offset, field_13_fcMin);;
+        LittleEndian.putInt(data, 0x1c + offset, field_14_fcMac);;
+
+    }
+
+    public String toString()
+    {
+        StringBuffer buffer = new StringBuffer();
+
+        buffer.append("[FIB]\n");
+
+        buffer.append("    .wIdent               = ");
+        buffer.append(" (").append(getWIdent()).append(" )\n");
+
+        buffer.append("    .nFib                 = ");
+        buffer.append(" (").append(getNFib()).append(" )\n");
+
+        buffer.append("    .nProduct             = ");
+        buffer.append(" (").append(getNProduct()).append(" )\n");
+
+        buffer.append("    .lid                  = ");
+        buffer.append(" (").append(getLid()).append(" )\n");
+
+        buffer.append("    .pnNext               = ");
+        buffer.append(" (").append(getPnNext()).append(" )\n");
+
+        buffer.append("    .options              = ");
+        buffer.append(" (").append(getOptions()).append(" )\n");
+        buffer.append("         .fDot                     = ").append(isFDot()).append('\n');
+        buffer.append("         .fGlsy                    = ").append(isFGlsy()).append('\n');
+        buffer.append("         .fComplex                 = ").append(isFComplex()).append('\n');
+        buffer.append("         .fHasPic                  = ").append(isFHasPic()).append('\n');
+        buffer.append("         .cQuickSaves              = ").append(getCQuickSaves()).append('\n');
+        buffer.append("         .fEncrypted               = ").append(isFEncrypted()).append('\n');
+        buffer.append("         .fWhichTblStm             = ").append(isFWhichTblStm()).append('\n');
+        buffer.append("         .fReadOnlyRecommended     = ").append(isFReadOnlyRecommended()).append('\n');
+        buffer.append("         .fWriteReservation        = ").append(isFWriteReservation()).append('\n');
+        buffer.append("         .fExtChar                 = ").append(isFExtChar()).append('\n');
+        buffer.append("         .fLoadOverride            = ").append(isFLoadOverride()).append('\n');
+        buffer.append("         .fFarEast                 = ").append(isFFarEast()).append('\n');
+        buffer.append("         .fCrypto                  = ").append(isFCrypto()).append('\n');
+
+        buffer.append("    .nFibBack             = ");
+        buffer.append(" (").append(getNFibBack()).append(" )\n");
+
+        buffer.append("    .lKey                 = ");
+        buffer.append(" (").append(getLKey()).append(" )\n");
+
+        buffer.append("    .envr                 = ");
+        buffer.append(" (").append(getEnvr()).append(" )\n");
+
+        buffer.append("    .history              = ");
+        buffer.append(" (").append(getHistory()).append(" )\n");
+        buffer.append("         .fMac                     = ").append(isFMac()).append('\n');
+        buffer.append("         .fEmptySpecial            = ").append(isFEmptySpecial()).append('\n');
+        buffer.append("         .fLoadOverridePage        = ").append(isFLoadOverridePage()).append('\n');
+        buffer.append("         .fFutureSavedUndo         = ").append(isFFutureSavedUndo()).append('\n');
+        buffer.append("         .fWord97Saved             = ").append(isFWord97Saved()).append('\n');
+        buffer.append("         .fSpare0                  = ").append(getFSpare0()).append('\n');
+
+        buffer.append("    .chs                  = ");
+        buffer.append(" (").append(getChs()).append(" )\n");
+
+        buffer.append("    .chsTables            = ");
+        buffer.append(" (").append(getChsTables()).append(" )\n");
+
+        buffer.append("    .fcMin                = ");
+        buffer.append(" (").append(getFcMin()).append(" )\n");
+
+        buffer.append("    .fcMac                = ");
+        buffer.append(" (").append(getFcMac()).append(" )\n");
+
+        buffer.append("[/FIB]\n");
+        return buffer.toString();
+    }
+
+    /**
+     * Size of record (exluding 4 byte header)
+     */
+    public int getSize()
+    {
+        return 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 4 + 4;
+    }
+
+
+
+    /**
+     * Get the wIdent field for the FIB record.
+     */
+    public int getWIdent()
+    {
+        return field_1_wIdent;
+    }
+
+    /**
+     * Set the wIdent field for the FIB record.
+     */
+    public void setWIdent(int field_1_wIdent)
+    {
+        this.field_1_wIdent = field_1_wIdent;
+    }
+
+    /**
+     * Get the nFib field for the FIB record.
+     */
+    public int getNFib()
+    {
+        return field_2_nFib;
+    }
+
+    /**
+     * Set the nFib field for the FIB record.
+     */
+    public void setNFib(int field_2_nFib)
+    {
+        this.field_2_nFib = field_2_nFib;
+    }
+
+    /**
+     * Get the nProduct field for the FIB record.
+     */
+    public int getNProduct()
+    {
+        return field_3_nProduct;
+    }
+
+    /**
+     * Set the nProduct field for the FIB record.
+     */
+    public void setNProduct(int field_3_nProduct)
+    {
+        this.field_3_nProduct = field_3_nProduct;
+    }
+
+    /**
+     * Get the lid field for the FIB record.
+     */
+    public int getLid()
+    {
+        return field_4_lid;
+    }
+
+    /**
+     * Set the lid field for the FIB record.
+     */
+    public void setLid(int field_4_lid)
+    {
+        this.field_4_lid = field_4_lid;
+    }
+
+    /**
+     * Get the pnNext field for the FIB record.
+     */
+    public int getPnNext()
+    {
+        return field_5_pnNext;
+    }
+
+    /**
+     * Set the pnNext field for the FIB record.
+     */
+    public void setPnNext(int field_5_pnNext)
+    {
+        this.field_5_pnNext = field_5_pnNext;
+    }
+
+    /**
+     * Get the options field for the FIB record.
+     */
+    public short getOptions()
+    {
+        return field_6_options;
+    }
+
+    /**
+     * Set the options field for the FIB record.
+     */
+    public void setOptions(short field_6_options)
+    {
+        this.field_6_options = field_6_options;
+    }
+
+    /**
+     * Get the nFibBack field for the FIB record.
+     */
+    public int getNFibBack()
+    {
+        return field_7_nFibBack;
+    }
+
+    /**
+     * Set the nFibBack field for the FIB record.
+     */
+    public void setNFibBack(int field_7_nFibBack)
+    {
+        this.field_7_nFibBack = field_7_nFibBack;
+    }
+
+    /**
+     * Get the lKey field for the FIB record.
+     */
+    public int getLKey()
+    {
+        return field_8_lKey;
+    }
+
+    /**
+     * Set the lKey field for the FIB record.
+     */
+    public void setLKey(int field_8_lKey)
+    {
+        this.field_8_lKey = field_8_lKey;
+    }
+
+    /**
+     * Get the envr field for the FIB record.
+     */
+    public int getEnvr()
+    {
+        return field_9_envr;
+    }
+
+    /**
+     * Set the envr field for the FIB record.
+     */
+    public void setEnvr(int field_9_envr)
+    {
+        this.field_9_envr = field_9_envr;
+    }
+
+    /**
+     * Get the history field for the FIB record.
+     */
+    public short getHistory()
+    {
+        return field_10_history;
+    }
+
+    /**
+     * Set the history field for the FIB record.
+     */
+    public void setHistory(short field_10_history)
+    {
+        this.field_10_history = field_10_history;
+    }
+
+    /**
+     * Get the chs field for the FIB record.
+     */
+    public int getChs()
+    {
+        return field_11_chs;
+    }
+
+    /**
+     * Set the chs field for the FIB record.
+     */
+    public void setChs(int field_11_chs)
+    {
+        this.field_11_chs = field_11_chs;
+    }
+
+    /**
+     * Get the chsTables field for the FIB record.
+     */
+    public int getChsTables()
+    {
+        return field_12_chsTables;
+    }
+
+    /**
+     * Set the chsTables field for the FIB record.
+     */
+    public void setChsTables(int field_12_chsTables)
+    {
+        this.field_12_chsTables = field_12_chsTables;
+    }
+
+    /**
+     * Get the fcMin field for the FIB record.
+     */
+    public int getFcMin()
+    {
+        return field_13_fcMin;
+    }
+
+    /**
+     * Set the fcMin field for the FIB record.
+     */
+    public void setFcMin(int field_13_fcMin)
+    {
+        this.field_13_fcMin = field_13_fcMin;
+    }
+
+    /**
+     * Get the fcMac field for the FIB record.
+     */
+    public int getFcMac()
+    {
+        return field_14_fcMac;
+    }
+
+    /**
+     * Set the fcMac field for the FIB record.
+     */
+    public void setFcMac(int field_14_fcMac)
+    {
+        this.field_14_fcMac = field_14_fcMac;
+    }
+
+    /**
+     * Sets the fDot field value.
+     *
+     */
+    public void setFDot(boolean value)
+    {
+        field_6_options = (short)fDot.setBoolean(field_6_options, value);
+
+
+    }
+
+    /**
+     *
+     * @return  the fDot field value.
+     */
+    public boolean isFDot()
+    {
+        return fDot.isSet(field_6_options);
+
+    }
+
+    /**
+     * Sets the fGlsy field value.
+     *
+     */
+    public void setFGlsy(boolean value)
+    {
+        field_6_options = (short)fGlsy.setBoolean(field_6_options, value);
+
+
+    }
+
+    /**
+     *
+     * @return  the fGlsy field value.
+     */
+    public boolean isFGlsy()
+    {
+        return fGlsy.isSet(field_6_options);
+
+    }
+
+    /**
+     * Sets the fComplex field value.
+     *
+     */
+    public void setFComplex(boolean value)
+    {
+        field_6_options = (short)fComplex.setBoolean(field_6_options, value);
+
+
+    }
+
+    /**
+     *
+     * @return  the fComplex field value.
+     */
+    public boolean isFComplex()
+    {
+        return fComplex.isSet(field_6_options);
+
+    }
+
+    /**
+     * Sets the fHasPic field value.
+     *
+     */
+    public void setFHasPic(boolean value)
+    {
+        field_6_options = (short)fHasPic.setBoolean(field_6_options, value);
+
+
+    }
+
+    /**
+     *
+     * @return  the fHasPic field value.
+     */
+    public boolean isFHasPic()
+    {
+        return fHasPic.isSet(field_6_options);
+
+    }
+
+    /**
+     * Sets the cQuickSaves field value.
+     *
+     */
+    public void setCQuickSaves(byte value)
+    {
+        field_6_options = (short)cQuickSaves.setValue(field_6_options, value);
+
+
+    }
+
+    /**
+     *
+     * @return  the cQuickSaves field value.
+     */
+    public byte getCQuickSaves()
+    {
+        return ( byte )cQuickSaves.getValue(field_6_options);
+
+    }
+
+    /**
+     * Sets the fEncrypted field value.
+     *
+     */
+    public void setFEncrypted(boolean value)
+    {
+        field_6_options = (short)fEncrypted.setBoolean(field_6_options, value);
+
+
+    }
+
+    /**
+     *
+     * @return  the fEncrypted field value.
+     */
+    public boolean isFEncrypted()
+    {
+        return fEncrypted.isSet(field_6_options);
+
+    }
+
+    /**
+     * Sets the fWhichTblStm field value.
+     *
+     */
+    public void setFWhichTblStm(boolean value)
+    {
+        field_6_options = (short)fWhichTblStm.setBoolean(field_6_options, value);
+
+
+    }
+
+    /**
+     *
+     * @return  the fWhichTblStm field value.
+     */
+    public boolean isFWhichTblStm()
+    {
+        return fWhichTblStm.isSet(field_6_options);
+
+    }
+
+    /**
+     * Sets the fReadOnlyRecommended field value.
+     *
+     */
+    public void setFReadOnlyRecommended(boolean value)
+    {
+        field_6_options = (short)fReadOnlyRecommended.setBoolean(field_6_options, value);
+
+
+    }
+
+    /**
+     *
+     * @return  the fReadOnlyRecommended field value.
+     */
+    public boolean isFReadOnlyRecommended()
+    {
+        return fReadOnlyRecommended.isSet(field_6_options);
+
+    }
+
+    /**
+     * Sets the fWriteReservation field value.
+     *
+     */
+    public void setFWriteReservation(boolean value)
+    {
+        field_6_options = (short)fWriteReservation.setBoolean(field_6_options, value);
+
+
+    }
+
+    /**
+     *
+     * @return  the fWriteReservation field value.
+     */
+    public boolean isFWriteReservation()
+    {
+        return fWriteReservation.isSet(field_6_options);
+
+    }
+
+    /**
+     * Sets the fExtChar field value.
+     *
+     */
+    public void setFExtChar(boolean value)
+    {
+        field_6_options = (short)fExtChar.setBoolean(field_6_options, value);
+
+
+    }
+
+    /**
+     *
+     * @return  the fExtChar field value.
+     */
+    public boolean isFExtChar()
+    {
+        return fExtChar.isSet(field_6_options);
+
+    }
+
+    /**
+     * Sets the fLoadOverride field value.
+     *
+     */
+    public void setFLoadOverride(boolean value)
+    {
+        field_6_options = (short)fLoadOverride.setBoolean(field_6_options, value);
+
+
+    }
+
+    /**
+     *
+     * @return  the fLoadOverride field value.
+     */
+    public boolean isFLoadOverride()
+    {
+        return fLoadOverride.isSet(field_6_options);
+
+    }
+
+    /**
+     * Sets the fFarEast field value.
+     *
+     */
+    public void setFFarEast(boolean value)
+    {
+        field_6_options = (short)fFarEast.setBoolean(field_6_options, value);
+
+
+    }
+
+    /**
+     *
+     * @return  the fFarEast field value.
+     */
+    public boolean isFFarEast()
+    {
+        return fFarEast.isSet(field_6_options);
+
+    }
+
+    /**
+     * Sets the fCrypto field value.
+     *
+     */
+    public void setFCrypto(boolean value)
+    {
+        field_6_options = (short)fCrypto.setBoolean(field_6_options, value);
+
+
+    }
+
+    /**
+     *
+     * @return  the fCrypto field value.
+     */
+    public boolean isFCrypto()
+    {
+        return fCrypto.isSet(field_6_options);
+
+    }
+
+    /**
+     * Sets the fMac field value.
+     *
+     */
+    public void setFMac(boolean value)
+    {
+        field_10_history = (short)fMac.setBoolean(field_10_history, value);
+
+
+    }
+
+    /**
+     *
+     * @return  the fMac field value.
+     */
+    public boolean isFMac()
+    {
+        return fMac.isSet(field_10_history);
+
+    }
+
+    /**
+     * Sets the fEmptySpecial field value.
+     *
+     */
+    public void setFEmptySpecial(boolean value)
+    {
+        field_10_history = (short)fEmptySpecial.setBoolean(field_10_history, value);
+
+
+    }
+
+    /**
+     *
+     * @return  the fEmptySpecial field value.
+     */
+    public boolean isFEmptySpecial()
+    {
+        return fEmptySpecial.isSet(field_10_history);
+
+    }
+
+    /**
+     * Sets the fLoadOverridePage field value.
+     *
+     */
+    public void setFLoadOverridePage(boolean value)
+    {
+        field_10_history = (short)fLoadOverridePage.setBoolean(field_10_history, value);
+
+
+    }
+
+    /**
+     *
+     * @return  the fLoadOverridePage field value.
+     */
+    public boolean isFLoadOverridePage()
+    {
+        return fLoadOverridePage.isSet(field_10_history);
+
+    }
+
+    /**
+     * Sets the fFutureSavedUndo field value.
+     *
+     */
+    public void setFFutureSavedUndo(boolean value)
+    {
+        field_10_history = (short)fFutureSavedUndo.setBoolean(field_10_history, value);
+
+
+    }
+
+    /**
+     *
+     * @return  the fFutureSavedUndo field value.
+     */
+    public boolean isFFutureSavedUndo()
+    {
+        return fFutureSavedUndo.isSet(field_10_history);
+
+    }
+
+    /**
+     * Sets the fWord97Saved field value.
+     *
+     */
+    public void setFWord97Saved(boolean value)
+    {
+        field_10_history = (short)fWord97Saved.setBoolean(field_10_history, value);
+
+
+    }
+
+    /**
+     *
+     * @return  the fWord97Saved field value.
+     */
+    public boolean isFWord97Saved()
+    {
+        return fWord97Saved.isSet(field_10_history);
+
+    }
+
+    /**
+     * Sets the fSpare0 field value.
+     *
+     */
+    public void setFSpare0(byte value)
+    {
+        field_10_history = (short)fSpare0.setValue(field_10_history, value);
+
+
+    }
+
+    /**
+     *
+     * @return  the fSpare0 field value.
+     */
+    public byte getFSpare0()
+    {
+        return ( byte )fSpare0.getValue(field_10_history);
+
+    }
+
+
+}  // END OF CLASS
+
+
+
+
diff --git a/src/scratchpad/src/org/apache/poi/hwpf/model/types/PAPAbstractType.java b/src/scratchpad/src/org/apache/poi/hwpf/model/types/PAPAbstractType.java
new file mode 100644 (file)
index 0000000..41df425
--- /dev/null
@@ -0,0 +1,1357 @@
+
+/* ====================================================================
+ * The Apache Software License, Version 1.1
+ *
+ * Copyright (c) 2003 The Apache Software Foundation.  All rights
+ * reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in
+ *    the documentation and/or other materials provided with the
+ *    distribution.
+ *
+ * 3. The end-user documentation included with the redistribution,
+ *    if any, must include the following acknowledgment:
+ *       "This product includes software developed by the
+ *        Apache Software Foundation (http://www.apache.org/)."
+ *    Alternately, this acknowledgment may appear in the software itself,
+ *    if and wherever such third-party acknowledgments normally appear.
+ *
+ * 4. The names "Apache" and "Apache Software Foundation" and
+ *    "Apache POI" must not be used to endorse or promote products
+ *    derived from this software without prior written permission. For
+ *    written permission, please contact apache@apache.org.
+ *
+ * 5. Products derived from this software may not be called "Apache",
+ *    "Apache POI", nor may "Apache" appear in their name, without
+ *    prior written permission of the Apache Software Foundation.
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+ * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ * ====================================================================
+ *
+ * This software consists of voluntary contributions made by many
+ * individuals on behalf of the Apache Software Foundation.  For more
+ * information on the Apache Software Foundation, please see
+ * <http://www.apache.org/>.
+ */
+
+
+package org.apache.poi.hwpf.model.types;
+
+
+
+import org.apache.poi.util.BitField;
+import org.apache.poi.util.LittleEndian;
+import org.apache.poi.util.StringUtil;
+import org.apache.poi.util.HexDump;
+import org.apache.poi.hdf.model.hdftypes.HDFType;
+import org.apache.poi.hwpf.usermodel.*;
+
+/**
+ * Paragraph Properties.
+ * NOTE: This source is automatically generated please do not modify this file.  Either subclass or
+ *       remove the record in src/records/definitions.
+
+ * @author S. Ryan Ackley
+ */
+public abstract class PAPAbstractType
+    implements HDFType
+{
+
+    protected  int field_1_istd;
+    protected  byte field_2_jc;
+    protected  byte field_3_fKeep;
+    protected  byte field_4_fKeepFollow;
+    protected  byte field_5_fPageBreakBefore;
+    protected  byte field_6_fBrLnAbove;
+    protected  byte field_7_fBrLnBelow;
+    protected  byte field_8_pcVert;
+    protected  byte field_9_pcHorz;
+    protected  byte field_10_brcp;
+    protected  byte field_11_brcl;
+    protected  byte field_12_ilvl;
+    protected  byte field_13_fNoLnn;
+    protected  int field_14_ilfo;
+    protected  byte field_15_fSideBySide;
+    protected  byte field_16_fNoAutoHyph;
+    protected  byte field_17_fWidowControl;
+    protected  int field_18_dxaRight;
+    protected  int field_19_dxaLeft;
+    protected  int field_20_dxaLeft1;
+    protected  LineSpacingDescriptor field_21_lspd;
+    protected  int field_22_dyaBefore;
+    protected  int field_23_dyaAfter;
+    protected  byte[] field_24_phe;
+    protected  byte field_25_fCrLf;
+    protected  byte field_26_fUsePgsuSettings;
+    protected  byte field_27_fAdjustRight;
+    protected  byte field_28_fKinsoku;
+    protected  byte field_29_fWordWrap;
+    protected  byte field_30_fOverflowPunct;
+    protected  byte field_31_fTopLinePunct;
+    protected  byte field_32_fAutoSpaceDE;
+    protected  byte field_33_fAutoSpaceDN;
+    protected  int field_34_wAlignFont;
+    protected  short field_35_fontAlign;
+        private static BitField  fVertical = new BitField(0x0001);
+        private static BitField  fBackward = new BitField(0x0002);
+        private static BitField  fRotateFont = new BitField(0x0004);
+    protected  byte field_36_fBackward;
+    protected  byte field_37_fRotateFont;
+    protected  byte field_38_fInTable;
+    protected  byte field_39_fTtp;
+    protected  byte field_40_wr;
+    protected  byte field_41_fLocked;
+    protected  byte[] field_42_ptap;
+    protected  int field_43_dxaAbs;
+    protected  int field_44_dyaAbs;
+    protected  int field_45_dxaWidth;
+    protected  BorderCode field_46_brcTop;
+    protected  BorderCode field_47_brcLeft;
+    protected  BorderCode field_48_brcBottom;
+    protected  BorderCode field_49_brcRight;
+    protected  BorderCode field_50_brcBetween;
+    protected  BorderCode field_51_brcBar;
+    protected  int field_52_dxaFromText;
+    protected  int field_53_dyaFromText;
+    protected  int field_54_dyaHeight;
+    protected  byte field_55_fMinHeight;
+    protected  ShadingDescriptor field_56_shd;
+    protected  DropCapSpecifier field_57_dcs;
+    protected  byte field_58_lvl;
+    protected  byte field_59_fNumRMIns;
+    protected  byte[] field_60_anld;
+    protected  int field_61_fPropRMark;
+    protected  int field_62_ibstPropRMark;
+    protected  DateAndTime field_63_dttmPropRMark;
+    protected  byte[] field_64_numrm;
+    protected  int field_65_itbdMac;
+    protected  int[] field_66_rgdxaTab;
+    protected  byte[] field_67_rgtbd;
+    protected  byte field_68_tableLevel;
+    protected  byte field_69_fTtpEmbedded;
+    protected  byte field_70_embeddedCellMark;
+
+
+    public PAPAbstractType()
+    {
+
+    }
+
+    /**
+     * Size of record (exluding 4 byte header)
+     */
+    public int getSize()
+    {
+        return 4 +  + 2 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 2 + 1 + 1 + 1 + 4 + 4 + 4 + 4 + 4 + 4 + 12 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 2 + 2 + 1 + 1 + 1 + 1 + 1 + 1 + 4 + 4 + 4 + 4 + 4 + 4 + 4 + 4 + 4 + 4 + 4 + 4 + 2 + 1 + 2 + 2 + 1 + 1 + 84 + 1 + 2 + 4 + 128 + 2 + 128 + 128 + 1 + 1 + 1;
+    }
+
+
+
+    /**
+     * Get the istd field for the PAP record.
+     */
+    public int getIstd()
+    {
+        return field_1_istd;
+    }
+
+    /**
+     * Set the istd field for the PAP record.
+     */
+    public void setIstd(int field_1_istd)
+    {
+        this.field_1_istd = field_1_istd;
+    }
+
+    /**
+     * Get the jc field for the PAP record.
+     */
+    public byte getJc()
+    {
+        return field_2_jc;
+    }
+
+    /**
+     * Set the jc field for the PAP record.
+     */
+    public void setJc(byte field_2_jc)
+    {
+        this.field_2_jc = field_2_jc;
+    }
+
+    /**
+     * Get the fKeep field for the PAP record.
+     */
+    public byte getFKeep()
+    {
+        return field_3_fKeep;
+    }
+
+    /**
+     * Set the fKeep field for the PAP record.
+     */
+    public void setFKeep(byte field_3_fKeep)
+    {
+        this.field_3_fKeep = field_3_fKeep;
+    }
+
+    /**
+     * Get the fKeepFollow field for the PAP record.
+     */
+    public byte getFKeepFollow()
+    {
+        return field_4_fKeepFollow;
+    }
+
+    /**
+     * Set the fKeepFollow field for the PAP record.
+     */
+    public void setFKeepFollow(byte field_4_fKeepFollow)
+    {
+        this.field_4_fKeepFollow = field_4_fKeepFollow;
+    }
+
+    /**
+     * Get the fPageBreakBefore field for the PAP record.
+     */
+    public byte getFPageBreakBefore()
+    {
+        return field_5_fPageBreakBefore;
+    }
+
+    /**
+     * Set the fPageBreakBefore field for the PAP record.
+     */
+    public void setFPageBreakBefore(byte field_5_fPageBreakBefore)
+    {
+        this.field_5_fPageBreakBefore = field_5_fPageBreakBefore;
+    }
+
+    /**
+     * Get the fBrLnAbove field for the PAP record.
+     */
+    public byte getFBrLnAbove()
+    {
+        return field_6_fBrLnAbove;
+    }
+
+    /**
+     * Set the fBrLnAbove field for the PAP record.
+     */
+    public void setFBrLnAbove(byte field_6_fBrLnAbove)
+    {
+        this.field_6_fBrLnAbove = field_6_fBrLnAbove;
+    }
+
+    /**
+     * Get the fBrLnBelow field for the PAP record.
+     */
+    public byte getFBrLnBelow()
+    {
+        return field_7_fBrLnBelow;
+    }
+
+    /**
+     * Set the fBrLnBelow field for the PAP record.
+     */
+    public void setFBrLnBelow(byte field_7_fBrLnBelow)
+    {
+        this.field_7_fBrLnBelow = field_7_fBrLnBelow;
+    }
+
+    /**
+     * Get the pcVert field for the PAP record.
+     */
+    public byte getPcVert()
+    {
+        return field_8_pcVert;
+    }
+
+    /**
+     * Set the pcVert field for the PAP record.
+     */
+    public void setPcVert(byte field_8_pcVert)
+    {
+        this.field_8_pcVert = field_8_pcVert;
+    }
+
+    /**
+     * Get the pcHorz field for the PAP record.
+     */
+    public byte getPcHorz()
+    {
+        return field_9_pcHorz;
+    }
+
+    /**
+     * Set the pcHorz field for the PAP record.
+     */
+    public void setPcHorz(byte field_9_pcHorz)
+    {
+        this.field_9_pcHorz = field_9_pcHorz;
+    }
+
+    /**
+     * Get the brcp field for the PAP record.
+     */
+    public byte getBrcp()
+    {
+        return field_10_brcp;
+    }
+
+    /**
+     * Set the brcp field for the PAP record.
+     */
+    public void setBrcp(byte field_10_brcp)
+    {
+        this.field_10_brcp = field_10_brcp;
+    }
+
+    /**
+     * Get the brcl field for the PAP record.
+     */
+    public byte getBrcl()
+    {
+        return field_11_brcl;
+    }
+
+    /**
+     * Set the brcl field for the PAP record.
+     */
+    public void setBrcl(byte field_11_brcl)
+    {
+        this.field_11_brcl = field_11_brcl;
+    }
+
+    /**
+     * Get the ilvl field for the PAP record.
+     */
+    public byte getIlvl()
+    {
+        return field_12_ilvl;
+    }
+
+    /**
+     * Set the ilvl field for the PAP record.
+     */
+    public void setIlvl(byte field_12_ilvl)
+    {
+        this.field_12_ilvl = field_12_ilvl;
+    }
+
+    /**
+     * Get the fNoLnn field for the PAP record.
+     */
+    public byte getFNoLnn()
+    {
+        return field_13_fNoLnn;
+    }
+
+    /**
+     * Set the fNoLnn field for the PAP record.
+     */
+    public void setFNoLnn(byte field_13_fNoLnn)
+    {
+        this.field_13_fNoLnn = field_13_fNoLnn;
+    }
+
+    /**
+     * Get the ilfo field for the PAP record.
+     */
+    public int getIlfo()
+    {
+        return field_14_ilfo;
+    }
+
+    /**
+     * Set the ilfo field for the PAP record.
+     */
+    public void setIlfo(int field_14_ilfo)
+    {
+        this.field_14_ilfo = field_14_ilfo;
+    }
+
+    /**
+     * Get the fSideBySide field for the PAP record.
+     */
+    public byte getFSideBySide()
+    {
+        return field_15_fSideBySide;
+    }
+
+    /**
+     * Set the fSideBySide field for the PAP record.
+     */
+    public void setFSideBySide(byte field_15_fSideBySide)
+    {
+        this.field_15_fSideBySide = field_15_fSideBySide;
+    }
+
+    /**
+     * Get the fNoAutoHyph field for the PAP record.
+     */
+    public byte getFNoAutoHyph()
+    {
+        return field_16_fNoAutoHyph;
+    }
+
+    /**
+     * Set the fNoAutoHyph field for the PAP record.
+     */
+    public void setFNoAutoHyph(byte field_16_fNoAutoHyph)
+    {
+        this.field_16_fNoAutoHyph = field_16_fNoAutoHyph;
+    }
+
+    /**
+     * Get the fWidowControl field for the PAP record.
+     */
+    public byte getFWidowControl()
+    {
+        return field_17_fWidowControl;
+    }
+
+    /**
+     * Set the fWidowControl field for the PAP record.
+     */
+    public void setFWidowControl(byte field_17_fWidowControl)
+    {
+        this.field_17_fWidowControl = field_17_fWidowControl;
+    }
+
+    /**
+     * Get the dxaRight field for the PAP record.
+     */
+    public int getDxaRight()
+    {
+        return field_18_dxaRight;
+    }
+
+    /**
+     * Set the dxaRight field for the PAP record.
+     */
+    public void setDxaRight(int field_18_dxaRight)
+    {
+        this.field_18_dxaRight = field_18_dxaRight;
+    }
+
+    /**
+     * Get the dxaLeft field for the PAP record.
+     */
+    public int getDxaLeft()
+    {
+        return field_19_dxaLeft;
+    }
+
+    /**
+     * Set the dxaLeft field for the PAP record.
+     */
+    public void setDxaLeft(int field_19_dxaLeft)
+    {
+        this.field_19_dxaLeft = field_19_dxaLeft;
+    }
+
+    /**
+     * Get the dxaLeft1 field for the PAP record.
+     */
+    public int getDxaLeft1()
+    {
+        return field_20_dxaLeft1;
+    }
+
+    /**
+     * Set the dxaLeft1 field for the PAP record.
+     */
+    public void setDxaLeft1(int field_20_dxaLeft1)
+    {
+        this.field_20_dxaLeft1 = field_20_dxaLeft1;
+    }
+
+    /**
+     * Get the lspd field for the PAP record.
+     */
+    public LineSpacingDescriptor getLspd()
+    {
+        return field_21_lspd;
+    }
+
+    /**
+     * Set the lspd field for the PAP record.
+     */
+    public void setLspd(LineSpacingDescriptor field_21_lspd)
+    {
+        this.field_21_lspd = field_21_lspd;
+    }
+
+    /**
+     * Get the dyaBefore field for the PAP record.
+     */
+    public int getDyaBefore()
+    {
+        return field_22_dyaBefore;
+    }
+
+    /**
+     * Set the dyaBefore field for the PAP record.
+     */
+    public void setDyaBefore(int field_22_dyaBefore)
+    {
+        this.field_22_dyaBefore = field_22_dyaBefore;
+    }
+
+    /**
+     * Get the dyaAfter field for the PAP record.
+     */
+    public int getDyaAfter()
+    {
+        return field_23_dyaAfter;
+    }
+
+    /**
+     * Set the dyaAfter field for the PAP record.
+     */
+    public void setDyaAfter(int field_23_dyaAfter)
+    {
+        this.field_23_dyaAfter = field_23_dyaAfter;
+    }
+
+    /**
+     * Get the phe field for the PAP record.
+     */
+    public byte[] getPhe()
+    {
+        return field_24_phe;
+    }
+
+    /**
+     * Set the phe field for the PAP record.
+     */
+    public void setPhe(byte[] field_24_phe)
+    {
+        this.field_24_phe = field_24_phe;
+    }
+
+    /**
+     * Get the fCrLf field for the PAP record.
+     */
+    public byte getFCrLf()
+    {
+        return field_25_fCrLf;
+    }
+
+    /**
+     * Set the fCrLf field for the PAP record.
+     */
+    public void setFCrLf(byte field_25_fCrLf)
+    {
+        this.field_25_fCrLf = field_25_fCrLf;
+    }
+
+    /**
+     * Get the fUsePgsuSettings field for the PAP record.
+     */
+    public byte getFUsePgsuSettings()
+    {
+        return field_26_fUsePgsuSettings;
+    }
+
+    /**
+     * Set the fUsePgsuSettings field for the PAP record.
+     */
+    public void setFUsePgsuSettings(byte field_26_fUsePgsuSettings)
+    {
+        this.field_26_fUsePgsuSettings = field_26_fUsePgsuSettings;
+    }
+
+    /**
+     * Get the fAdjustRight field for the PAP record.
+     */
+    public byte getFAdjustRight()
+    {
+        return field_27_fAdjustRight;
+    }
+
+    /**
+     * Set the fAdjustRight field for the PAP record.
+     */
+    public void setFAdjustRight(byte field_27_fAdjustRight)
+    {
+        this.field_27_fAdjustRight = field_27_fAdjustRight;
+    }
+
+    /**
+     * Get the fKinsoku field for the PAP record.
+     */
+    public byte getFKinsoku()
+    {
+        return field_28_fKinsoku;
+    }
+
+    /**
+     * Set the fKinsoku field for the PAP record.
+     */
+    public void setFKinsoku(byte field_28_fKinsoku)
+    {
+        this.field_28_fKinsoku = field_28_fKinsoku;
+    }
+
+    /**
+     * Get the fWordWrap field for the PAP record.
+     */
+    public byte getFWordWrap()
+    {
+        return field_29_fWordWrap;
+    }
+
+    /**
+     * Set the fWordWrap field for the PAP record.
+     */
+    public void setFWordWrap(byte field_29_fWordWrap)
+    {
+        this.field_29_fWordWrap = field_29_fWordWrap;
+    }
+
+    /**
+     * Get the fOverflowPunct field for the PAP record.
+     */
+    public byte getFOverflowPunct()
+    {
+        return field_30_fOverflowPunct;
+    }
+
+    /**
+     * Set the fOverflowPunct field for the PAP record.
+     */
+    public void setFOverflowPunct(byte field_30_fOverflowPunct)
+    {
+        this.field_30_fOverflowPunct = field_30_fOverflowPunct;
+    }
+
+    /**
+     * Get the fTopLinePunct field for the PAP record.
+     */
+    public byte getFTopLinePunct()
+    {
+        return field_31_fTopLinePunct;
+    }
+
+    /**
+     * Set the fTopLinePunct field for the PAP record.
+     */
+    public void setFTopLinePunct(byte field_31_fTopLinePunct)
+    {
+        this.field_31_fTopLinePunct = field_31_fTopLinePunct;
+    }
+
+    /**
+     * Get the fAutoSpaceDE field for the PAP record.
+     */
+    public byte getFAutoSpaceDE()
+    {
+        return field_32_fAutoSpaceDE;
+    }
+
+    /**
+     * Set the fAutoSpaceDE field for the PAP record.
+     */
+    public void setFAutoSpaceDE(byte field_32_fAutoSpaceDE)
+    {
+        this.field_32_fAutoSpaceDE = field_32_fAutoSpaceDE;
+    }
+
+    /**
+     * Get the fAutoSpaceDN field for the PAP record.
+     */
+    public byte getFAutoSpaceDN()
+    {
+        return field_33_fAutoSpaceDN;
+    }
+
+    /**
+     * Set the fAutoSpaceDN field for the PAP record.
+     */
+    public void setFAutoSpaceDN(byte field_33_fAutoSpaceDN)
+    {
+        this.field_33_fAutoSpaceDN = field_33_fAutoSpaceDN;
+    }
+
+    /**
+     * Get the wAlignFont field for the PAP record.
+     */
+    public int getWAlignFont()
+    {
+        return field_34_wAlignFont;
+    }
+
+    /**
+     * Set the wAlignFont field for the PAP record.
+     */
+    public void setWAlignFont(int field_34_wAlignFont)
+    {
+        this.field_34_wAlignFont = field_34_wAlignFont;
+    }
+
+    /**
+     * Get the fontAlign field for the PAP record.
+     */
+    public short getFontAlign()
+    {
+        return field_35_fontAlign;
+    }
+
+    /**
+     * Set the fontAlign field for the PAP record.
+     */
+    public void setFontAlign(short field_35_fontAlign)
+    {
+        this.field_35_fontAlign = field_35_fontAlign;
+    }
+
+    /**
+     * Get the fBackward field for the PAP record.
+     */
+    public byte getFBackward()
+    {
+        return field_36_fBackward;
+    }
+
+    /**
+     * Set the fBackward field for the PAP record.
+     */
+    public void setFBackward(byte field_36_fBackward)
+    {
+        this.field_36_fBackward = field_36_fBackward;
+    }
+
+    /**
+     * Get the fRotateFont field for the PAP record.
+     */
+    public byte getFRotateFont()
+    {
+        return field_37_fRotateFont;
+    }
+
+    /**
+     * Set the fRotateFont field for the PAP record.
+     */
+    public void setFRotateFont(byte field_37_fRotateFont)
+    {
+        this.field_37_fRotateFont = field_37_fRotateFont;
+    }
+
+    /**
+     * Get the fInTable field for the PAP record.
+     */
+    public byte getFInTable()
+    {
+        return field_38_fInTable;
+    }
+
+    /**
+     * Set the fInTable field for the PAP record.
+     */
+    public void setFInTable(byte field_38_fInTable)
+    {
+        this.field_38_fInTable = field_38_fInTable;
+    }
+
+    /**
+     * Get the fTtp field for the PAP record.
+     */
+    public byte getFTtp()
+    {
+        return field_39_fTtp;
+    }
+
+    /**
+     * Set the fTtp field for the PAP record.
+     */
+    public void setFTtp(byte field_39_fTtp)
+    {
+        this.field_39_fTtp = field_39_fTtp;
+    }
+
+    /**
+     * Get the wr field for the PAP record.
+     */
+    public byte getWr()
+    {
+        return field_40_wr;
+    }
+
+    /**
+     * Set the wr field for the PAP record.
+     */
+    public void setWr(byte field_40_wr)
+    {
+        this.field_40_wr = field_40_wr;
+    }
+
+    /**
+     * Get the fLocked field for the PAP record.
+     */
+    public byte getFLocked()
+    {
+        return field_41_fLocked;
+    }
+
+    /**
+     * Set the fLocked field for the PAP record.
+     */
+    public void setFLocked(byte field_41_fLocked)
+    {
+        this.field_41_fLocked = field_41_fLocked;
+    }
+
+    /**
+     * Get the ptap field for the PAP record.
+     */
+    public byte[] getPtap()
+    {
+        return field_42_ptap;
+    }
+
+    /**
+     * Set the ptap field for the PAP record.
+     */
+    public void setPtap(byte[] field_42_ptap)
+    {
+        this.field_42_ptap = field_42_ptap;
+    }
+
+    /**
+     * Get the dxaAbs field for the PAP record.
+     */
+    public int getDxaAbs()
+    {
+        return field_43_dxaAbs;
+    }
+
+    /**
+     * Set the dxaAbs field for the PAP record.
+     */
+    public void setDxaAbs(int field_43_dxaAbs)
+    {
+        this.field_43_dxaAbs = field_43_dxaAbs;
+    }
+
+    /**
+     * Get the dyaAbs field for the PAP record.
+     */
+    public int getDyaAbs()
+    {
+        return field_44_dyaAbs;
+    }
+
+    /**
+     * Set the dyaAbs field for the PAP record.
+     */
+    public void setDyaAbs(int field_44_dyaAbs)
+    {
+        this.field_44_dyaAbs = field_44_dyaAbs;
+    }
+
+    /**
+     * Get the dxaWidth field for the PAP record.
+     */
+    public int getDxaWidth()
+    {
+        return field_45_dxaWidth;
+    }
+
+    /**
+     * Set the dxaWidth field for the PAP record.
+     */
+    public void setDxaWidth(int field_45_dxaWidth)
+    {
+        this.field_45_dxaWidth = field_45_dxaWidth;
+    }
+
+    /**
+     * Get the brcTop field for the PAP record.
+     */
+    public BorderCode getBrcTop()
+    {
+        return field_46_brcTop;
+    }
+
+    /**
+     * Set the brcTop field for the PAP record.
+     */
+    public void setBrcTop(BorderCode field_46_brcTop)
+    {
+        this.field_46_brcTop = field_46_brcTop;
+    }
+
+    /**
+     * Get the brcLeft field for the PAP record.
+     */
+    public BorderCode getBrcLeft()
+    {
+        return field_47_brcLeft;
+    }
+
+    /**
+     * Set the brcLeft field for the PAP record.
+     */
+    public void setBrcLeft(BorderCode field_47_brcLeft)
+    {
+        this.field_47_brcLeft = field_47_brcLeft;
+    }
+
+    /**
+     * Get the brcBottom field for the PAP record.
+     */
+    public BorderCode getBrcBottom()
+    {
+        return field_48_brcBottom;
+    }
+
+    /**
+     * Set the brcBottom field for the PAP record.
+     */
+    public void setBrcBottom(BorderCode field_48_brcBottom)
+    {
+        this.field_48_brcBottom = field_48_brcBottom;
+    }
+
+    /**
+     * Get the brcRight field for the PAP record.
+     */
+    public BorderCode getBrcRight()
+    {
+        return field_49_brcRight;
+    }
+
+    /**
+     * Set the brcRight field for the PAP record.
+     */
+    public void setBrcRight(BorderCode field_49_brcRight)
+    {
+        this.field_49_brcRight = field_49_brcRight;
+    }
+
+    /**
+     * Get the brcBetween field for the PAP record.
+     */
+    public BorderCode getBrcBetween()
+    {
+        return field_50_brcBetween;
+    }
+
+    /**
+     * Set the brcBetween field for the PAP record.
+     */
+    public void setBrcBetween(BorderCode field_50_brcBetween)
+    {
+        this.field_50_brcBetween = field_50_brcBetween;
+    }
+
+    /**
+     * Get the brcBar field for the PAP record.
+     */
+    public BorderCode getBrcBar()
+    {
+        return field_51_brcBar;
+    }
+
+    /**
+     * Set the brcBar field for the PAP record.
+     */
+    public void setBrcBar(BorderCode field_51_brcBar)
+    {
+        this.field_51_brcBar = field_51_brcBar;
+    }
+
+    /**
+     * Get the dxaFromText field for the PAP record.
+     */
+    public int getDxaFromText()
+    {
+        return field_52_dxaFromText;
+    }
+
+    /**
+     * Set the dxaFromText field for the PAP record.
+     */
+    public void setDxaFromText(int field_52_dxaFromText)
+    {
+        this.field_52_dxaFromText = field_52_dxaFromText;
+    }
+
+    /**
+     * Get the dyaFromText field for the PAP record.
+     */
+    public int getDyaFromText()
+    {
+        return field_53_dyaFromText;
+    }
+
+    /**
+     * Set the dyaFromText field for the PAP record.
+     */
+    public void setDyaFromText(int field_53_dyaFromText)
+    {
+        this.field_53_dyaFromText = field_53_dyaFromText;
+    }
+
+    /**
+     * Get the dyaHeight field for the PAP record.
+     */
+    public int getDyaHeight()
+    {
+        return field_54_dyaHeight;
+    }
+
+    /**
+     * Set the dyaHeight field for the PAP record.
+     */
+    public void setDyaHeight(int field_54_dyaHeight)
+    {
+        this.field_54_dyaHeight = field_54_dyaHeight;
+    }
+
+    /**
+     * Get the fMinHeight field for the PAP record.
+     */
+    public byte getFMinHeight()
+    {
+        return field_55_fMinHeight;
+    }
+
+    /**
+     * Set the fMinHeight field for the PAP record.
+     */
+    public void setFMinHeight(byte field_55_fMinHeight)
+    {
+        this.field_55_fMinHeight = field_55_fMinHeight;
+    }
+
+    /**
+     * Get the shd field for the PAP record.
+     */
+    public ShadingDescriptor getShd()
+    {
+        return field_56_shd;
+    }
+
+    /**
+     * Set the shd field for the PAP record.
+     */
+    public void setShd(ShadingDescriptor field_56_shd)
+    {
+        this.field_56_shd = field_56_shd;
+    }
+
+    /**
+     * Get the dcs field for the PAP record.
+     */
+    public DropCapSpecifier getDcs()
+    {
+        return field_57_dcs;
+    }
+
+    /**
+     * Set the dcs field for the PAP record.
+     */
+    public void setDcs(DropCapSpecifier field_57_dcs)
+    {
+        this.field_57_dcs = field_57_dcs;
+    }
+
+    /**
+     * Get the lvl field for the PAP record.
+     */
+    public byte getLvl()
+    {
+        return field_58_lvl;
+    }
+
+    /**
+     * Set the lvl field for the PAP record.
+     */
+    public void setLvl(byte field_58_lvl)
+    {
+        this.field_58_lvl = field_58_lvl;
+    }
+
+    /**
+     * Get the fNumRMIns field for the PAP record.
+     */
+    public byte getFNumRMIns()
+    {
+        return field_59_fNumRMIns;
+    }
+
+    /**
+     * Set the fNumRMIns field for the PAP record.
+     */
+    public void setFNumRMIns(byte field_59_fNumRMIns)
+    {
+        this.field_59_fNumRMIns = field_59_fNumRMIns;
+    }
+
+    /**
+     * Get the anld field for the PAP record.
+     */
+    public byte[] getAnld()
+    {
+        return field_60_anld;
+    }
+
+    /**
+     * Set the anld field for the PAP record.
+     */
+    public void setAnld(byte[] field_60_anld)
+    {
+        this.field_60_anld = field_60_anld;
+    }
+
+    /**
+     * Get the fPropRMark field for the PAP record.
+     */
+    public int getFPropRMark()
+    {
+        return field_61_fPropRMark;
+    }
+
+    /**
+     * Set the fPropRMark field for the PAP record.
+     */
+    public void setFPropRMark(int field_61_fPropRMark)
+    {
+        this.field_61_fPropRMark = field_61_fPropRMark;
+    }
+
+    /**
+     * Get the ibstPropRMark field for the PAP record.
+     */
+    public int getIbstPropRMark()
+    {
+        return field_62_ibstPropRMark;
+    }
+
+    /**
+     * Set the ibstPropRMark field for the PAP record.
+     */
+    public void setIbstPropRMark(int field_62_ibstPropRMark)
+    {
+        this.field_62_ibstPropRMark = field_62_ibstPropRMark;
+    }
+
+    /**
+     * Get the dttmPropRMark field for the PAP record.
+     */
+    public DateAndTime getDttmPropRMark()
+    {
+        return field_63_dttmPropRMark;
+    }
+
+    /**
+     * Set the dttmPropRMark field for the PAP record.
+     */
+    public void setDttmPropRMark(DateAndTime field_63_dttmPropRMark)
+    {
+        this.field_63_dttmPropRMark = field_63_dttmPropRMark;
+    }
+
+    /**
+     * Get the numrm field for the PAP record.
+     */
+    public byte[] getNumrm()
+    {
+        return field_64_numrm;
+    }
+
+    /**
+     * Set the numrm field for the PAP record.
+     */
+    public void setNumrm(byte[] field_64_numrm)
+    {
+        this.field_64_numrm = field_64_numrm;
+    }
+
+    /**
+     * Get the itbdMac field for the PAP record.
+     */
+    public int getItbdMac()
+    {
+        return field_65_itbdMac;
+    }
+
+    /**
+     * Set the itbdMac field for the PAP record.
+     */
+    public void setItbdMac(int field_65_itbdMac)
+    {
+        this.field_65_itbdMac = field_65_itbdMac;
+    }
+
+    /**
+     * Get the rgdxaTab field for the PAP record.
+     */
+    public int[] getRgdxaTab()
+    {
+        return field_66_rgdxaTab;
+    }
+
+    /**
+     * Set the rgdxaTab field for the PAP record.
+     */
+    public void setRgdxaTab(int[] field_66_rgdxaTab)
+    {
+        this.field_66_rgdxaTab = field_66_rgdxaTab;
+    }
+
+    /**
+     * Get the rgtbd field for the PAP record.
+     */
+    public byte[] getRgtbd()
+    {
+        return field_67_rgtbd;
+    }
+
+    /**
+     * Set the rgtbd field for the PAP record.
+     */
+    public void setRgtbd(byte[] field_67_rgtbd)
+    {
+        this.field_67_rgtbd = field_67_rgtbd;
+    }
+
+    /**
+     * Get the tableLevel field for the PAP record.
+     */
+    public byte getTableLevel()
+    {
+        return field_68_tableLevel;
+    }
+
+    /**
+     * Set the tableLevel field for the PAP record.
+     */
+    public void setTableLevel(byte field_68_tableLevel)
+    {
+        this.field_68_tableLevel = field_68_tableLevel;
+    }
+
+    /**
+     * Get the fTtpEmbedded field for the PAP record.
+     */
+    public byte getFTtpEmbedded()
+    {
+        return field_69_fTtpEmbedded;
+    }
+
+    /**
+     * Set the fTtpEmbedded field for the PAP record.
+     */
+    public void setFTtpEmbedded(byte field_69_fTtpEmbedded)
+    {
+        this.field_69_fTtpEmbedded = field_69_fTtpEmbedded;
+    }
+
+    /**
+     * Get the embeddedCellMark field for the PAP record.
+     */
+    public byte getEmbeddedCellMark()
+    {
+        return field_70_embeddedCellMark;
+    }
+
+    /**
+     * Set the embeddedCellMark field for the PAP record.
+     */
+    public void setEmbeddedCellMark(byte field_70_embeddedCellMark)
+    {
+        this.field_70_embeddedCellMark = field_70_embeddedCellMark;
+    }
+
+    /**
+     * Sets the fVertical field value.
+     * 
+     */
+    public void setFVertical(boolean value)
+    {
+        field_35_fontAlign = (short)fVertical.setBoolean(field_35_fontAlign, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the fVertical field value.
+     */
+    public boolean isFVertical()
+    {
+        return fVertical.isSet(field_35_fontAlign);
+        
+    }
+
+    /**
+     * Sets the fBackward field value.
+     * 
+     */
+    public void setFBackward(boolean value)
+    {
+        field_35_fontAlign = (short)fBackward.setBoolean(field_35_fontAlign, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the fBackward field value.
+     */
+    public boolean isFBackward()
+    {
+        return fBackward.isSet(field_35_fontAlign);
+        
+    }
+
+    /**
+     * Sets the fRotateFont field value.
+     * 
+     */
+    public void setFRotateFont(boolean value)
+    {
+        field_35_fontAlign = (short)fRotateFont.setBoolean(field_35_fontAlign, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the fRotateFont field value.
+     */
+    public boolean isFRotateFont()
+    {
+        return fRotateFont.isSet(field_35_fontAlign);
+        
+    }
+
+
+}  // END OF CLASS
+
+
+
+
diff --git a/src/scratchpad/src/org/apache/poi/hwpf/model/types/SEPAbstractType.java b/src/scratchpad/src/org/apache/poi/hwpf/model/types/SEPAbstractType.java
new file mode 100644 (file)
index 0000000..89b9546
--- /dev/null
@@ -0,0 +1,1104 @@
+
+/* ====================================================================
+ * The Apache Software License, Version 1.1
+ *
+ * Copyright (c) 2003 The Apache Software Foundation.  All rights
+ * reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in
+ *    the documentation and/or other materials provided with the
+ *    distribution.
+ *
+ * 3. The end-user documentation included with the redistribution,
+ *    if any, must include the following acknowledgment:
+ *       "This product includes software developed by the
+ *        Apache Software Foundation (http://www.apache.org/)."
+ *    Alternately, this acknowledgment may appear in the software itself,
+ *    if and wherever such third-party acknowledgments normally appear.
+ *
+ * 4. The names "Apache" and "Apache Software Foundation" and
+ *    "Apache POI" must not be used to endorse or promote products
+ *    derived from this software without prior written permission. For
+ *    written permission, please contact apache@apache.org.
+ *
+ * 5. Products derived from this software may not be called "Apache",
+ *    "Apache POI", nor may "Apache" appear in their name, without
+ *    prior written permission of the Apache Software Foundation.
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+ * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ * ====================================================================
+ *
+ * This software consists of voluntary contributions made by many
+ * individuals on behalf of the Apache Software Foundation.  For more
+ * information on the Apache Software Foundation, please see
+ * <http://www.apache.org/>.
+ */
+
+
+package org.apache.poi.hwpf.model.types;
+
+
+
+import org.apache.poi.util.BitField;
+import org.apache.poi.util.LittleEndian;
+import org.apache.poi.util.StringUtil;
+import org.apache.poi.util.HexDump;
+import org.apache.poi.hdf.model.hdftypes.HDFType;
+import org.apache.poi.hwpf.usermodel.*;
+
+/**
+ * Section Properties.
+ * NOTE: This source is automatically generated please do not modify this file.  Either subclass or
+ *       remove the record in src/records/definitions.
+
+ * @author S. Ryan Ackley
+ */
+public abstract class SEPAbstractType
+    implements HDFType
+{
+
+    protected  byte field_1_bkc;
+    protected  boolean field_2_fTitlePage;
+    protected  boolean field_3_fAutoPgn;
+    protected  byte field_4_nfcPgn;
+    protected  boolean field_5_fUnlocked;
+    protected  byte field_6_cnsPgn;
+    protected  boolean field_7_fPgnRestart;
+    protected  boolean field_8_fEndNote;
+    protected  byte field_9_lnc;
+    protected  byte field_10_grpfIhdt;
+    protected  int field_11_nLnnMod;
+    protected  int field_12_dxaLnn;
+    protected  int field_13_dxaPgn;
+    protected  int field_14_dyaPgn;
+    protected  boolean field_15_fLBetween;
+    protected  byte field_16_vjc;
+    protected  int field_17_dmBinFirst;
+    protected  int field_18_dmBinOther;
+    protected  int field_19_dmPaperReq;
+    protected  BorderCode field_20_brcTop;
+    protected  BorderCode field_21_brcLeft;
+    protected  BorderCode field_22_brcBottom;
+    protected  BorderCode field_23_brcRight;
+    protected  boolean field_24_fPropMark;
+    protected  int field_25_ibstPropRMark;
+    protected  DateAndTime field_26_dttmPropRMark;
+    protected  int field_27_dxtCharSpace;
+    protected  int field_28_dyaLinePitch;
+    protected  int field_29_clm;
+    protected  int field_30_unused2;
+    protected  byte field_31_dmOrientPage;
+    protected  byte field_32_iHeadingPgn;
+    protected  int field_33_pgnStart;
+    protected  int field_34_lnnMin;
+    protected  int field_35_wTextFlow;
+    protected  short field_36_unused3;
+    protected  int field_37_pgbProp;
+    protected  short field_38_unused4;
+    protected  int field_39_xaPage;
+    protected  int field_40_yaPage;
+    protected  int field_41_xaPageNUp;
+    protected  int field_42_yaPageNUp;
+    protected  int field_43_dxaLeft;
+    protected  int field_44_dxaRight;
+    protected  int field_45_dyaTop;
+    protected  int field_46_dyaBottom;
+    protected  int field_47_dzaGutter;
+    protected  int field_48_dyaHdrTop;
+    protected  int field_49_dyaHdrBottom;
+    protected  int field_50_ccolM1;
+    protected  boolean field_51_fEvenlySpaced;
+    protected  byte field_52_unused5;
+    protected  int field_53_dxaColumns;
+    protected  int[] field_54_rgdxaColumn;
+    protected  int field_55_dxaColumnWidth;
+    protected  byte field_56_dmOrientFirst;
+    protected  byte field_57_fLayout;
+    protected  short field_58_unused6;
+    protected  byte[] field_59_olstAnm;
+
+
+    public SEPAbstractType()
+    {
+
+    }
+
+    /**
+     * Size of record (exluding 4 byte header)
+     */
+    public int getSize()
+    {
+        return 4 +  + 1 + 0 + 0 + 1 + 0 + 1 + 0 + 0 + 1 + 1 + 2 + 4 + 2 + 2 + 0 + 1 + 2 + 2 + 2 + 4 + 4 + 4 + 4 + 0 + 2 + 4 + 4 + 4 + 2 + 2 + 1 + 1 + 2 + 2 + 2 + 2 + 2 + 2 + 4 + 4 + 4 + 4 + 4 + 4 + 4 + 4 + 4 + 4 + 4 + 2 + 0 + 1 + 4 + 356 + 4 + 1 + 1 + 2 + 212;
+    }
+
+
+
+    /**
+     * Get the bkc field for the SEP record.
+     */
+    public byte getBkc()
+    {
+        return field_1_bkc;
+    }
+
+    /**
+     * Set the bkc field for the SEP record.
+     */
+    public void setBkc(byte field_1_bkc)
+    {
+        this.field_1_bkc = field_1_bkc;
+    }
+
+    /**
+     * Get the fTitlePage field for the SEP record.
+     */
+    public boolean getFTitlePage()
+    {
+        return field_2_fTitlePage;
+    }
+
+    /**
+     * Set the fTitlePage field for the SEP record.
+     */
+    public void setFTitlePage(boolean field_2_fTitlePage)
+    {
+        this.field_2_fTitlePage = field_2_fTitlePage;
+    }
+
+    /**
+     * Get the fAutoPgn field for the SEP record.
+     */
+    public boolean getFAutoPgn()
+    {
+        return field_3_fAutoPgn;
+    }
+
+    /**
+     * Set the fAutoPgn field for the SEP record.
+     */
+    public void setFAutoPgn(boolean field_3_fAutoPgn)
+    {
+        this.field_3_fAutoPgn = field_3_fAutoPgn;
+    }
+
+    /**
+     * Get the nfcPgn field for the SEP record.
+     */
+    public byte getNfcPgn()
+    {
+        return field_4_nfcPgn;
+    }
+
+    /**
+     * Set the nfcPgn field for the SEP record.
+     */
+    public void setNfcPgn(byte field_4_nfcPgn)
+    {
+        this.field_4_nfcPgn = field_4_nfcPgn;
+    }
+
+    /**
+     * Get the fUnlocked field for the SEP record.
+     */
+    public boolean getFUnlocked()
+    {
+        return field_5_fUnlocked;
+    }
+
+    /**
+     * Set the fUnlocked field for the SEP record.
+     */
+    public void setFUnlocked(boolean field_5_fUnlocked)
+    {
+        this.field_5_fUnlocked = field_5_fUnlocked;
+    }
+
+    /**
+     * Get the cnsPgn field for the SEP record.
+     */
+    public byte getCnsPgn()
+    {
+        return field_6_cnsPgn;
+    }
+
+    /**
+     * Set the cnsPgn field for the SEP record.
+     */
+    public void setCnsPgn(byte field_6_cnsPgn)
+    {
+        this.field_6_cnsPgn = field_6_cnsPgn;
+    }
+
+    /**
+     * Get the fPgnRestart field for the SEP record.
+     */
+    public boolean getFPgnRestart()
+    {
+        return field_7_fPgnRestart;
+    }
+
+    /**
+     * Set the fPgnRestart field for the SEP record.
+     */
+    public void setFPgnRestart(boolean field_7_fPgnRestart)
+    {
+        this.field_7_fPgnRestart = field_7_fPgnRestart;
+    }
+
+    /**
+     * Get the fEndNote field for the SEP record.
+     */
+    public boolean getFEndNote()
+    {
+        return field_8_fEndNote;
+    }
+
+    /**
+     * Set the fEndNote field for the SEP record.
+     */
+    public void setFEndNote(boolean field_8_fEndNote)
+    {
+        this.field_8_fEndNote = field_8_fEndNote;
+    }
+
+    /**
+     * Get the lnc field for the SEP record.
+     */
+    public byte getLnc()
+    {
+        return field_9_lnc;
+    }
+
+    /**
+     * Set the lnc field for the SEP record.
+     */
+    public void setLnc(byte field_9_lnc)
+    {
+        this.field_9_lnc = field_9_lnc;
+    }
+
+    /**
+     * Get the grpfIhdt field for the SEP record.
+     */
+    public byte getGrpfIhdt()
+    {
+        return field_10_grpfIhdt;
+    }
+
+    /**
+     * Set the grpfIhdt field for the SEP record.
+     */
+    public void setGrpfIhdt(byte field_10_grpfIhdt)
+    {
+        this.field_10_grpfIhdt = field_10_grpfIhdt;
+    }
+
+    /**
+     * Get the nLnnMod field for the SEP record.
+     */
+    public int getNLnnMod()
+    {
+        return field_11_nLnnMod;
+    }
+
+    /**
+     * Set the nLnnMod field for the SEP record.
+     */
+    public void setNLnnMod(int field_11_nLnnMod)
+    {
+        this.field_11_nLnnMod = field_11_nLnnMod;
+    }
+
+    /**
+     * Get the dxaLnn field for the SEP record.
+     */
+    public int getDxaLnn()
+    {
+        return field_12_dxaLnn;
+    }
+
+    /**
+     * Set the dxaLnn field for the SEP record.
+     */
+    public void setDxaLnn(int field_12_dxaLnn)
+    {
+        this.field_12_dxaLnn = field_12_dxaLnn;
+    }
+
+    /**
+     * Get the dxaPgn field for the SEP record.
+     */
+    public int getDxaPgn()
+    {
+        return field_13_dxaPgn;
+    }
+
+    /**
+     * Set the dxaPgn field for the SEP record.
+     */
+    public void setDxaPgn(int field_13_dxaPgn)
+    {
+        this.field_13_dxaPgn = field_13_dxaPgn;
+    }
+
+    /**
+     * Get the dyaPgn field for the SEP record.
+     */
+    public int getDyaPgn()
+    {
+        return field_14_dyaPgn;
+    }
+
+    /**
+     * Set the dyaPgn field for the SEP record.
+     */
+    public void setDyaPgn(int field_14_dyaPgn)
+    {
+        this.field_14_dyaPgn = field_14_dyaPgn;
+    }
+
+    /**
+     * Get the fLBetween field for the SEP record.
+     */
+    public boolean getFLBetween()
+    {
+        return field_15_fLBetween;
+    }
+
+    /**
+     * Set the fLBetween field for the SEP record.
+     */
+    public void setFLBetween(boolean field_15_fLBetween)
+    {
+        this.field_15_fLBetween = field_15_fLBetween;
+    }
+
+    /**
+     * Get the vjc field for the SEP record.
+     */
+    public byte getVjc()
+    {
+        return field_16_vjc;
+    }
+
+    /**
+     * Set the vjc field for the SEP record.
+     */
+    public void setVjc(byte field_16_vjc)
+    {
+        this.field_16_vjc = field_16_vjc;
+    }
+
+    /**
+     * Get the dmBinFirst field for the SEP record.
+     */
+    public int getDmBinFirst()
+    {
+        return field_17_dmBinFirst;
+    }
+
+    /**
+     * Set the dmBinFirst field for the SEP record.
+     */
+    public void setDmBinFirst(int field_17_dmBinFirst)
+    {
+        this.field_17_dmBinFirst = field_17_dmBinFirst;
+    }
+
+    /**
+     * Get the dmBinOther field for the SEP record.
+     */
+    public int getDmBinOther()
+    {
+        return field_18_dmBinOther;
+    }
+
+    /**
+     * Set the dmBinOther field for the SEP record.
+     */
+    public void setDmBinOther(int field_18_dmBinOther)
+    {
+        this.field_18_dmBinOther = field_18_dmBinOther;
+    }
+
+    /**
+     * Get the dmPaperReq field for the SEP record.
+     */
+    public int getDmPaperReq()
+    {
+        return field_19_dmPaperReq;
+    }
+
+    /**
+     * Set the dmPaperReq field for the SEP record.
+     */
+    public void setDmPaperReq(int field_19_dmPaperReq)
+    {
+        this.field_19_dmPaperReq = field_19_dmPaperReq;
+    }
+
+    /**
+     * Get the brcTop field for the SEP record.
+     */
+    public BorderCode getBrcTop()
+    {
+        return field_20_brcTop;
+    }
+
+    /**
+     * Set the brcTop field for the SEP record.
+     */
+    public void setBrcTop(BorderCode field_20_brcTop)
+    {
+        this.field_20_brcTop = field_20_brcTop;
+    }
+
+    /**
+     * Get the brcLeft field for the SEP record.
+     */
+    public BorderCode getBrcLeft()
+    {
+        return field_21_brcLeft;
+    }
+
+    /**
+     * Set the brcLeft field for the SEP record.
+     */
+    public void setBrcLeft(BorderCode field_21_brcLeft)
+    {
+        this.field_21_brcLeft = field_21_brcLeft;
+    }
+
+    /**
+     * Get the brcBottom field for the SEP record.
+     */
+    public BorderCode getBrcBottom()
+    {
+        return field_22_brcBottom;
+    }
+
+    /**
+     * Set the brcBottom field for the SEP record.
+     */
+    public void setBrcBottom(BorderCode field_22_brcBottom)
+    {
+        this.field_22_brcBottom = field_22_brcBottom;
+    }
+
+    /**
+     * Get the brcRight field for the SEP record.
+     */
+    public BorderCode getBrcRight()
+    {
+        return field_23_brcRight;
+    }
+
+    /**
+     * Set the brcRight field for the SEP record.
+     */
+    public void setBrcRight(BorderCode field_23_brcRight)
+    {
+        this.field_23_brcRight = field_23_brcRight;
+    }
+
+    /**
+     * Get the fPropMark field for the SEP record.
+     */
+    public boolean getFPropMark()
+    {
+        return field_24_fPropMark;
+    }
+
+    /**
+     * Set the fPropMark field for the SEP record.
+     */
+    public void setFPropMark(boolean field_24_fPropMark)
+    {
+        this.field_24_fPropMark = field_24_fPropMark;
+    }
+
+    /**
+     * Get the ibstPropRMark field for the SEP record.
+     */
+    public int getIbstPropRMark()
+    {
+        return field_25_ibstPropRMark;
+    }
+
+    /**
+     * Set the ibstPropRMark field for the SEP record.
+     */
+    public void setIbstPropRMark(int field_25_ibstPropRMark)
+    {
+        this.field_25_ibstPropRMark = field_25_ibstPropRMark;
+    }
+
+    /**
+     * Get the dttmPropRMark field for the SEP record.
+     */
+    public DateAndTime getDttmPropRMark()
+    {
+        return field_26_dttmPropRMark;
+    }
+
+    /**
+     * Set the dttmPropRMark field for the SEP record.
+     */
+    public void setDttmPropRMark(DateAndTime field_26_dttmPropRMark)
+    {
+        this.field_26_dttmPropRMark = field_26_dttmPropRMark;
+    }
+
+    /**
+     * Get the dxtCharSpace field for the SEP record.
+     */
+    public int getDxtCharSpace()
+    {
+        return field_27_dxtCharSpace;
+    }
+
+    /**
+     * Set the dxtCharSpace field for the SEP record.
+     */
+    public void setDxtCharSpace(int field_27_dxtCharSpace)
+    {
+        this.field_27_dxtCharSpace = field_27_dxtCharSpace;
+    }
+
+    /**
+     * Get the dyaLinePitch field for the SEP record.
+     */
+    public int getDyaLinePitch()
+    {
+        return field_28_dyaLinePitch;
+    }
+
+    /**
+     * Set the dyaLinePitch field for the SEP record.
+     */
+    public void setDyaLinePitch(int field_28_dyaLinePitch)
+    {
+        this.field_28_dyaLinePitch = field_28_dyaLinePitch;
+    }
+
+    /**
+     * Get the clm field for the SEP record.
+     */
+    public int getClm()
+    {
+        return field_29_clm;
+    }
+
+    /**
+     * Set the clm field for the SEP record.
+     */
+    public void setClm(int field_29_clm)
+    {
+        this.field_29_clm = field_29_clm;
+    }
+
+    /**
+     * Get the unused2 field for the SEP record.
+     */
+    public int getUnused2()
+    {
+        return field_30_unused2;
+    }
+
+    /**
+     * Set the unused2 field for the SEP record.
+     */
+    public void setUnused2(int field_30_unused2)
+    {
+        this.field_30_unused2 = field_30_unused2;
+    }
+
+    /**
+     * Get the dmOrientPage field for the SEP record.
+     */
+    public byte getDmOrientPage()
+    {
+        return field_31_dmOrientPage;
+    }
+
+    /**
+     * Set the dmOrientPage field for the SEP record.
+     */
+    public void setDmOrientPage(byte field_31_dmOrientPage)
+    {
+        this.field_31_dmOrientPage = field_31_dmOrientPage;
+    }
+
+    /**
+     * Get the iHeadingPgn field for the SEP record.
+     */
+    public byte getIHeadingPgn()
+    {
+        return field_32_iHeadingPgn;
+    }
+
+    /**
+     * Set the iHeadingPgn field for the SEP record.
+     */
+    public void setIHeadingPgn(byte field_32_iHeadingPgn)
+    {
+        this.field_32_iHeadingPgn = field_32_iHeadingPgn;
+    }
+
+    /**
+     * Get the pgnStart field for the SEP record.
+     */
+    public int getPgnStart()
+    {
+        return field_33_pgnStart;
+    }
+
+    /**
+     * Set the pgnStart field for the SEP record.
+     */
+    public void setPgnStart(int field_33_pgnStart)
+    {
+        this.field_33_pgnStart = field_33_pgnStart;
+    }
+
+    /**
+     * Get the lnnMin field for the SEP record.
+     */
+    public int getLnnMin()
+    {
+        return field_34_lnnMin;
+    }
+
+    /**
+     * Set the lnnMin field for the SEP record.
+     */
+    public void setLnnMin(int field_34_lnnMin)
+    {
+        this.field_34_lnnMin = field_34_lnnMin;
+    }
+
+    /**
+     * Get the wTextFlow field for the SEP record.
+     */
+    public int getWTextFlow()
+    {
+        return field_35_wTextFlow;
+    }
+
+    /**
+     * Set the wTextFlow field for the SEP record.
+     */
+    public void setWTextFlow(int field_35_wTextFlow)
+    {
+        this.field_35_wTextFlow = field_35_wTextFlow;
+    }
+
+    /**
+     * Get the unused3 field for the SEP record.
+     */
+    public short getUnused3()
+    {
+        return field_36_unused3;
+    }
+
+    /**
+     * Set the unused3 field for the SEP record.
+     */
+    public void setUnused3(short field_36_unused3)
+    {
+        this.field_36_unused3 = field_36_unused3;
+    }
+
+    /**
+     * Get the pgbProp field for the SEP record.
+     */
+    public int getPgbProp()
+    {
+        return field_37_pgbProp;
+    }
+
+    /**
+     * Set the pgbProp field for the SEP record.
+     */
+    public void setPgbProp(int field_37_pgbProp)
+    {
+        this.field_37_pgbProp = field_37_pgbProp;
+    }
+
+    /**
+     * Get the unused4 field for the SEP record.
+     */
+    public short getUnused4()
+    {
+        return field_38_unused4;
+    }
+
+    /**
+     * Set the unused4 field for the SEP record.
+     */
+    public void setUnused4(short field_38_unused4)
+    {
+        this.field_38_unused4 = field_38_unused4;
+    }
+
+    /**
+     * Get the xaPage field for the SEP record.
+     */
+    public int getXaPage()
+    {
+        return field_39_xaPage;
+    }
+
+    /**
+     * Set the xaPage field for the SEP record.
+     */
+    public void setXaPage(int field_39_xaPage)
+    {
+        this.field_39_xaPage = field_39_xaPage;
+    }
+
+    /**
+     * Get the yaPage field for the SEP record.
+     */
+    public int getYaPage()
+    {
+        return field_40_yaPage;
+    }
+
+    /**
+     * Set the yaPage field for the SEP record.
+     */
+    public void setYaPage(int field_40_yaPage)
+    {
+        this.field_40_yaPage = field_40_yaPage;
+    }
+
+    /**
+     * Get the xaPageNUp field for the SEP record.
+     */
+    public int getXaPageNUp()
+    {
+        return field_41_xaPageNUp;
+    }
+
+    /**
+     * Set the xaPageNUp field for the SEP record.
+     */
+    public void setXaPageNUp(int field_41_xaPageNUp)
+    {
+        this.field_41_xaPageNUp = field_41_xaPageNUp;
+    }
+
+    /**
+     * Get the yaPageNUp field for the SEP record.
+     */
+    public int getYaPageNUp()
+    {
+        return field_42_yaPageNUp;
+    }
+
+    /**
+     * Set the yaPageNUp field for the SEP record.
+     */
+    public void setYaPageNUp(int field_42_yaPageNUp)
+    {
+        this.field_42_yaPageNUp = field_42_yaPageNUp;
+    }
+
+    /**
+     * Get the dxaLeft field for the SEP record.
+     */
+    public int getDxaLeft()
+    {
+        return field_43_dxaLeft;
+    }
+
+    /**
+     * Set the dxaLeft field for the SEP record.
+     */
+    public void setDxaLeft(int field_43_dxaLeft)
+    {
+        this.field_43_dxaLeft = field_43_dxaLeft;
+    }
+
+    /**
+     * Get the dxaRight field for the SEP record.
+     */
+    public int getDxaRight()
+    {
+        return field_44_dxaRight;
+    }
+
+    /**
+     * Set the dxaRight field for the SEP record.
+     */
+    public void setDxaRight(int field_44_dxaRight)
+    {
+        this.field_44_dxaRight = field_44_dxaRight;
+    }
+
+    /**
+     * Get the dyaTop field for the SEP record.
+     */
+    public int getDyaTop()
+    {
+        return field_45_dyaTop;
+    }
+
+    /**
+     * Set the dyaTop field for the SEP record.
+     */
+    public void setDyaTop(int field_45_dyaTop)
+    {
+        this.field_45_dyaTop = field_45_dyaTop;
+    }
+
+    /**
+     * Get the dyaBottom field for the SEP record.
+     */
+    public int getDyaBottom()
+    {
+        return field_46_dyaBottom;
+    }
+
+    /**
+     * Set the dyaBottom field for the SEP record.
+     */
+    public void setDyaBottom(int field_46_dyaBottom)
+    {
+        this.field_46_dyaBottom = field_46_dyaBottom;
+    }
+
+    /**
+     * Get the dzaGutter field for the SEP record.
+     */
+    public int getDzaGutter()
+    {
+        return field_47_dzaGutter;
+    }
+
+    /**
+     * Set the dzaGutter field for the SEP record.
+     */
+    public void setDzaGutter(int field_47_dzaGutter)
+    {
+        this.field_47_dzaGutter = field_47_dzaGutter;
+    }
+
+    /**
+     * Get the dyaHdrTop field for the SEP record.
+     */
+    public int getDyaHdrTop()
+    {
+        return field_48_dyaHdrTop;
+    }
+
+    /**
+     * Set the dyaHdrTop field for the SEP record.
+     */
+    public void setDyaHdrTop(int field_48_dyaHdrTop)
+    {
+        this.field_48_dyaHdrTop = field_48_dyaHdrTop;
+    }
+
+    /**
+     * Get the dyaHdrBottom field for the SEP record.
+     */
+    public int getDyaHdrBottom()
+    {
+        return field_49_dyaHdrBottom;
+    }
+
+    /**
+     * Set the dyaHdrBottom field for the SEP record.
+     */
+    public void setDyaHdrBottom(int field_49_dyaHdrBottom)
+    {
+        this.field_49_dyaHdrBottom = field_49_dyaHdrBottom;
+    }
+
+    /**
+     * Get the ccolM1 field for the SEP record.
+     */
+    public int getCcolM1()
+    {
+        return field_50_ccolM1;
+    }
+
+    /**
+     * Set the ccolM1 field for the SEP record.
+     */
+    public void setCcolM1(int field_50_ccolM1)
+    {
+        this.field_50_ccolM1 = field_50_ccolM1;
+    }
+
+    /**
+     * Get the fEvenlySpaced field for the SEP record.
+     */
+    public boolean getFEvenlySpaced()
+    {
+        return field_51_fEvenlySpaced;
+    }
+
+    /**
+     * Set the fEvenlySpaced field for the SEP record.
+     */
+    public void setFEvenlySpaced(boolean field_51_fEvenlySpaced)
+    {
+        this.field_51_fEvenlySpaced = field_51_fEvenlySpaced;
+    }
+
+    /**
+     * Get the unused5 field for the SEP record.
+     */
+    public byte getUnused5()
+    {
+        return field_52_unused5;
+    }
+
+    /**
+     * Set the unused5 field for the SEP record.
+     */
+    public void setUnused5(byte field_52_unused5)
+    {
+        this.field_52_unused5 = field_52_unused5;
+    }
+
+    /**
+     * Get the dxaColumns field for the SEP record.
+     */
+    public int getDxaColumns()
+    {
+        return field_53_dxaColumns;
+    }
+
+    /**
+     * Set the dxaColumns field for the SEP record.
+     */
+    public void setDxaColumns(int field_53_dxaColumns)
+    {
+        this.field_53_dxaColumns = field_53_dxaColumns;
+    }
+
+    /**
+     * Get the rgdxaColumn field for the SEP record.
+     */
+    public int[] getRgdxaColumn()
+    {
+        return field_54_rgdxaColumn;
+    }
+
+    /**
+     * Set the rgdxaColumn field for the SEP record.
+     */
+    public void setRgdxaColumn(int[] field_54_rgdxaColumn)
+    {
+        this.field_54_rgdxaColumn = field_54_rgdxaColumn;
+    }
+
+    /**
+     * Get the dxaColumnWidth field for the SEP record.
+     */
+    public int getDxaColumnWidth()
+    {
+        return field_55_dxaColumnWidth;
+    }
+
+    /**
+     * Set the dxaColumnWidth field for the SEP record.
+     */
+    public void setDxaColumnWidth(int field_55_dxaColumnWidth)
+    {
+        this.field_55_dxaColumnWidth = field_55_dxaColumnWidth;
+    }
+
+    /**
+     * Get the dmOrientFirst field for the SEP record.
+     */
+    public byte getDmOrientFirst()
+    {
+        return field_56_dmOrientFirst;
+    }
+
+    /**
+     * Set the dmOrientFirst field for the SEP record.
+     */
+    public void setDmOrientFirst(byte field_56_dmOrientFirst)
+    {
+        this.field_56_dmOrientFirst = field_56_dmOrientFirst;
+    }
+
+    /**
+     * Get the fLayout field for the SEP record.
+     */
+    public byte getFLayout()
+    {
+        return field_57_fLayout;
+    }
+
+    /**
+     * Set the fLayout field for the SEP record.
+     */
+    public void setFLayout(byte field_57_fLayout)
+    {
+        this.field_57_fLayout = field_57_fLayout;
+    }
+
+    /**
+     * Get the unused6 field for the SEP record.
+     */
+    public short getUnused6()
+    {
+        return field_58_unused6;
+    }
+
+    /**
+     * Set the unused6 field for the SEP record.
+     */
+    public void setUnused6(short field_58_unused6)
+    {
+        this.field_58_unused6 = field_58_unused6;
+    }
+
+    /**
+     * Get the olstAnm field for the SEP record.
+     */
+    public byte[] getOlstAnm()
+    {
+        return field_59_olstAnm;
+    }
+
+    /**
+     * Set the olstAnm field for the SEP record.
+     */
+    public void setOlstAnm(byte[] field_59_olstAnm)
+    {
+        this.field_59_olstAnm = field_59_olstAnm;
+    }
+
+
+}  // END OF CLASS
+
+
+
+
diff --git a/src/scratchpad/src/org/apache/poi/hwpf/model/types/TAPAbstractType.java b/src/scratchpad/src/org/apache/poi/hwpf/model/types/TAPAbstractType.java
new file mode 100644 (file)
index 0000000..c6f4bb0
--- /dev/null
@@ -0,0 +1,373 @@
+
+/* ====================================================================
+ * The Apache Software License, Version 1.1
+ *
+ * Copyright (c) 2003 The Apache Software Foundation.  All rights
+ * reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in
+ *    the documentation and/or other materials provided with the
+ *    distribution.
+ *
+ * 3. The end-user documentation included with the redistribution,
+ *    if any, must include the following acknowledgment:
+ *       "This product includes software developed by the
+ *        Apache Software Foundation (http://www.apache.org/)."
+ *    Alternately, this acknowledgment may appear in the software itself,
+ *    if and wherever such third-party acknowledgments normally appear.
+ *
+ * 4. The names "Apache" and "Apache Software Foundation" and
+ *    "Apache POI" must not be used to endorse or promote products
+ *    derived from this software without prior written permission. For
+ *    written permission, please contact apache@apache.org.
+ *
+ * 5. Products derived from this software may not be called "Apache",
+ *    "Apache POI", nor may "Apache" appear in their name, without
+ *    prior written permission of the Apache Software Foundation.
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+ * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ * ====================================================================
+ *
+ * This software consists of voluntary contributions made by many
+ * individuals on behalf of the Apache Software Foundation.  For more
+ * information on the Apache Software Foundation, please see
+ * <http://www.apache.org/>.
+ */
+
+
+package org.apache.poi.hwpf.model.types;
+
+
+
+import org.apache.poi.util.BitField;
+import org.apache.poi.util.LittleEndian;
+import org.apache.poi.util.StringUtil;
+import org.apache.poi.util.HexDump;
+import org.apache.poi.hdf.model.hdftypes.HDFType;
+import org.apache.poi.hwpf.usermodel.*;
+
+/**
+ * Table Properties.
+ * NOTE: This source is automatically generated please do not modify this file.  Either subclass or
+ *       remove the record in src/records/definitions.
+
+ * @author S. Ryan Ackley
+ */
+public abstract class TAPAbstractType
+    implements HDFType
+{
+
+    protected  int field_1_jc;
+    protected  int field_2_dxaGapHalf;
+    protected  int field_3_dyaRowHeight;
+    protected  boolean field_4_fCantSplit;
+    protected  boolean field_5_fTableHeader;
+    protected  int field_6_tlp;
+    protected  short field_7_itcMac;
+    protected  short[] field_8_rgdxaCenter;
+    protected  TableCellDescriptor[] field_9_rgtc;
+    protected  ShadingDescriptor[] field_10_rgshd;
+    protected  BorderCode field_11_brcBottom;
+    protected  BorderCode field_12_brcTop;
+    protected  BorderCode field_13_brcLeft;
+    protected  BorderCode field_14_brcRight;
+    protected  BorderCode field_15_brcVertical;
+    protected  BorderCode field_16_brcHorizontal;
+
+
+    public TAPAbstractType()
+    {
+
+    }
+
+    /**
+     * Size of record (exluding 4 byte header)
+     */
+    public int getSize()
+    {
+        return 4 +  + 2 + 4 + 4 + 0 + 0 + 4 + 2 + 130 + 0 + 0 + 4 + 4 + 4 + 4 + 4 + 4;
+    }
+
+
+
+    /**
+     * Get the jc field for the TAP record.
+     */
+    public int getJc()
+    {
+        return field_1_jc;
+    }
+
+    /**
+     * Set the jc field for the TAP record.
+     */
+    public void setJc(int field_1_jc)
+    {
+        this.field_1_jc = field_1_jc;
+    }
+
+    /**
+     * Get the dxaGapHalf field for the TAP record.
+     */
+    public int getDxaGapHalf()
+    {
+        return field_2_dxaGapHalf;
+    }
+
+    /**
+     * Set the dxaGapHalf field for the TAP record.
+     */
+    public void setDxaGapHalf(int field_2_dxaGapHalf)
+    {
+        this.field_2_dxaGapHalf = field_2_dxaGapHalf;
+    }
+
+    /**
+     * Get the dyaRowHeight field for the TAP record.
+     */
+    public int getDyaRowHeight()
+    {
+        return field_3_dyaRowHeight;
+    }
+
+    /**
+     * Set the dyaRowHeight field for the TAP record.
+     */
+    public void setDyaRowHeight(int field_3_dyaRowHeight)
+    {
+        this.field_3_dyaRowHeight = field_3_dyaRowHeight;
+    }
+
+    /**
+     * Get the fCantSplit field for the TAP record.
+     */
+    public boolean getFCantSplit()
+    {
+        return field_4_fCantSplit;
+    }
+
+    /**
+     * Set the fCantSplit field for the TAP record.
+     */
+    public void setFCantSplit(boolean field_4_fCantSplit)
+    {
+        this.field_4_fCantSplit = field_4_fCantSplit;
+    }
+
+    /**
+     * Get the fTableHeader field for the TAP record.
+     */
+    public boolean getFTableHeader()
+    {
+        return field_5_fTableHeader;
+    }
+
+    /**
+     * Set the fTableHeader field for the TAP record.
+     */
+    public void setFTableHeader(boolean field_5_fTableHeader)
+    {
+        this.field_5_fTableHeader = field_5_fTableHeader;
+    }
+
+    /**
+     * Get the tlp field for the TAP record.
+     */
+    public int getTlp()
+    {
+        return field_6_tlp;
+    }
+
+    /**
+     * Set the tlp field for the TAP record.
+     */
+    public void setTlp(int field_6_tlp)
+    {
+        this.field_6_tlp = field_6_tlp;
+    }
+
+    /**
+     * Get the itcMac field for the TAP record.
+     */
+    public short getItcMac()
+    {
+        return field_7_itcMac;
+    }
+
+    /**
+     * Set the itcMac field for the TAP record.
+     */
+    public void setItcMac(short field_7_itcMac)
+    {
+        this.field_7_itcMac = field_7_itcMac;
+    }
+
+    /**
+     * Get the rgdxaCenter field for the TAP record.
+     */
+    public short[] getRgdxaCenter()
+    {
+        return field_8_rgdxaCenter;
+    }
+
+    /**
+     * Set the rgdxaCenter field for the TAP record.
+     */
+    public void setRgdxaCenter(short[] field_8_rgdxaCenter)
+    {
+        this.field_8_rgdxaCenter = field_8_rgdxaCenter;
+    }
+
+    /**
+     * Get the rgtc field for the TAP record.
+     */
+    public TableCellDescriptor[] getRgtc()
+    {
+        return field_9_rgtc;
+    }
+
+    /**
+     * Set the rgtc field for the TAP record.
+     */
+    public void setRgtc(TableCellDescriptor[] field_9_rgtc)
+    {
+        this.field_9_rgtc = field_9_rgtc;
+    }
+
+    /**
+     * Get the rgshd field for the TAP record.
+     */
+    public ShadingDescriptor[] getRgshd()
+    {
+        return field_10_rgshd;
+    }
+
+    /**
+     * Set the rgshd field for the TAP record.
+     */
+    public void setRgshd(ShadingDescriptor[] field_10_rgshd)
+    {
+        this.field_10_rgshd = field_10_rgshd;
+    }
+
+    /**
+     * Get the brcBottom field for the TAP record.
+     */
+    public BorderCode getBrcBottom()
+    {
+        return field_11_brcBottom;
+    }
+
+    /**
+     * Set the brcBottom field for the TAP record.
+     */
+    public void setBrcBottom(BorderCode field_11_brcBottom)
+    {
+        this.field_11_brcBottom = field_11_brcBottom;
+    }
+
+    /**
+     * Get the brcTop field for the TAP record.
+     */
+    public BorderCode getBrcTop()
+    {
+        return field_12_brcTop;
+    }
+
+    /**
+     * Set the brcTop field for the TAP record.
+     */
+    public void setBrcTop(BorderCode field_12_brcTop)
+    {
+        this.field_12_brcTop = field_12_brcTop;
+    }
+
+    /**
+     * Get the brcLeft field for the TAP record.
+     */
+    public BorderCode getBrcLeft()
+    {
+        return field_13_brcLeft;
+    }
+
+    /**
+     * Set the brcLeft field for the TAP record.
+     */
+    public void setBrcLeft(BorderCode field_13_brcLeft)
+    {
+        this.field_13_brcLeft = field_13_brcLeft;
+    }
+
+    /**
+     * Get the brcRight field for the TAP record.
+     */
+    public BorderCode getBrcRight()
+    {
+        return field_14_brcRight;
+    }
+
+    /**
+     * Set the brcRight field for the TAP record.
+     */
+    public void setBrcRight(BorderCode field_14_brcRight)
+    {
+        this.field_14_brcRight = field_14_brcRight;
+    }
+
+    /**
+     * Get the brcVertical field for the TAP record.
+     */
+    public BorderCode getBrcVertical()
+    {
+        return field_15_brcVertical;
+    }
+
+    /**
+     * Set the brcVertical field for the TAP record.
+     */
+    public void setBrcVertical(BorderCode field_15_brcVertical)
+    {
+        this.field_15_brcVertical = field_15_brcVertical;
+    }
+
+    /**
+     * Get the brcHorizontal field for the TAP record.
+     */
+    public BorderCode getBrcHorizontal()
+    {
+        return field_16_brcHorizontal;
+    }
+
+    /**
+     * Set the brcHorizontal field for the TAP record.
+     */
+    public void setBrcHorizontal(BorderCode field_16_brcHorizontal)
+    {
+        this.field_16_brcHorizontal = field_16_brcHorizontal;
+    }
+
+
+}  // END OF CLASS
+
+
+
+
diff --git a/src/scratchpad/src/org/apache/poi/hwpf/model/types/TCAbstractType.java b/src/scratchpad/src/org/apache/poi/hwpf/model/types/TCAbstractType.java
new file mode 100644 (file)
index 0000000..b01ed86
--- /dev/null
@@ -0,0 +1,437 @@
+
+/* ====================================================================
+ * The Apache Software License, Version 1.1
+ *
+ * Copyright (c) 2003 The Apache Software Foundation.  All rights
+ * reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in
+ *    the documentation and/or other materials provided with the
+ *    distribution.
+ *
+ * 3. The end-user documentation included with the redistribution,
+ *    if any, must include the following acknowledgment:
+ *       "This product includes software developed by the
+ *        Apache Software Foundation (http://www.apache.org/)."
+ *    Alternately, this acknowledgment may appear in the software itself,
+ *    if and wherever such third-party acknowledgments normally appear.
+ *
+ * 4. The names "Apache" and "Apache Software Foundation" and
+ *    "Apache POI" must not be used to endorse or promote products
+ *    derived from this software without prior written permission. For
+ *    written permission, please contact apache@apache.org.
+ *
+ * 5. Products derived from this software may not be called "Apache",
+ *    "Apache POI", nor may "Apache" appear in their name, without
+ *    prior written permission of the Apache Software Foundation.
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+ * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ * ====================================================================
+ *
+ * This software consists of voluntary contributions made by many
+ * individuals on behalf of the Apache Software Foundation.  For more
+ * information on the Apache Software Foundation, please see
+ * <http://www.apache.org/>.
+ */
+
+
+package org.apache.poi.hwpf.model.types;
+
+
+
+import org.apache.poi.util.BitField;
+import org.apache.poi.util.LittleEndian;
+import org.apache.poi.util.StringUtil;
+import org.apache.poi.util.HexDump;
+import org.apache.poi.hdf.model.hdftypes.HDFType;
+import org.apache.poi.hwpf.usermodel.*;
+
+/**
+ * Table Cell Descriptor.
+ * NOTE: This source is automatically generated please do not modify this file.  Either subclass or
+ *       remove the record in src/records/definitions.
+
+ * @author S. Ryan Ackley
+ */
+public abstract class TCAbstractType
+    implements HDFType
+{
+
+    protected  short field_1_rgf;
+        private static BitField  fFirstMerged = new BitField(0x0001);
+        private static BitField  fMerged = new BitField(0x0002);
+        private static BitField  fVertical = new BitField(0x0004);
+        private static BitField  fBackward = new BitField(0x0008);
+        private static BitField  fRotateFont = new BitField(0x0010);
+        private static BitField  fVertMerge = new BitField(0x0020);
+        private static BitField  fVertRestart = new BitField(0x0040);
+        private static BitField  vertAlign = new BitField(0x0180);
+    protected  short field_2_unused;
+    protected  BorderCode field_3_brcTop;
+    protected  BorderCode field_4_brcLeft;
+    protected  BorderCode field_5_brcBottom;
+    protected  BorderCode field_6_brcRight;
+
+
+    public TCAbstractType()
+    {
+
+    }
+
+    protected void fillFields(byte [] data, int offset)
+    {
+        field_1_rgf                     = LittleEndian.getShort(data, 0x0 + offset);
+        field_2_unused                  = LittleEndian.getShort(data, 0x2 + offset);
+        field_3_brcTop                  = new BorderCode(data, 0x4 + offset);
+        field_4_brcLeft                 = new BorderCode(data, 0x8 + offset);
+        field_5_brcBottom               = new BorderCode(data, 0xc + offset);
+        field_6_brcRight                = new BorderCode(data, 0x10 + offset);
+
+    }
+
+    public void serialize(byte[] data, int offset)
+    {
+        LittleEndian.putShort(data, 0x0 + offset, (short)field_1_rgf);;
+        LittleEndian.putShort(data, 0x2 + offset, (short)field_2_unused);;
+        field_3_brcTop.serialize(data, 0x4 + offset);;
+        field_4_brcLeft.serialize(data, 0x8 + offset);;
+        field_5_brcBottom.serialize(data, 0xc + offset);;
+        field_6_brcRight.serialize(data, 0x10 + offset);;
+
+    }
+
+    public String toString()
+    {
+        StringBuffer buffer = new StringBuffer();
+
+        buffer.append("[TC]\n");
+
+        buffer.append("    .rgf                  = ");
+        buffer.append(" (").append(getRgf()).append(" )\n");
+        buffer.append("         .fFirstMerged             = ").append(isFFirstMerged()).append('\n');
+        buffer.append("         .fMerged                  = ").append(isFMerged()).append('\n');
+        buffer.append("         .fVertical                = ").append(isFVertical()).append('\n');
+        buffer.append("         .fBackward                = ").append(isFBackward()).append('\n');
+        buffer.append("         .fRotateFont              = ").append(isFRotateFont()).append('\n');
+        buffer.append("         .fVertMerge               = ").append(isFVertMerge()).append('\n');
+        buffer.append("         .fVertRestart             = ").append(isFVertRestart()).append('\n');
+        buffer.append("         .vertAlign                = ").append(getVertAlign()).append('\n');
+
+        buffer.append("    .unused               = ");
+        buffer.append(" (").append(getUnused()).append(" )\n");
+
+        buffer.append("    .brcTop               = ");
+        buffer.append(" (").append(getBrcTop()).append(" )\n");
+
+        buffer.append("    .brcLeft              = ");
+        buffer.append(" (").append(getBrcLeft()).append(" )\n");
+
+        buffer.append("    .brcBottom            = ");
+        buffer.append(" (").append(getBrcBottom()).append(" )\n");
+
+        buffer.append("    .brcRight             = ");
+        buffer.append(" (").append(getBrcRight()).append(" )\n");
+
+        buffer.append("[/TC]\n");
+        return buffer.toString();
+    }
+
+    /**
+     * Size of record (exluding 4 byte header)
+     */
+    public int getSize()
+    {
+        return 4 +  + 2 + 2 + 4 + 4 + 4 + 4;
+    }
+
+
+
+    /**
+     * Get the rgf field for the TC record.
+     */
+    public short getRgf()
+    {
+        return field_1_rgf;
+    }
+
+    /**
+     * Set the rgf field for the TC record.
+     */
+    public void setRgf(short field_1_rgf)
+    {
+        this.field_1_rgf = field_1_rgf;
+    }
+
+    /**
+     * Get the unused field for the TC record.
+     */
+    public short getUnused()
+    {
+        return field_2_unused;
+    }
+
+    /**
+     * Set the unused field for the TC record.
+     */
+    public void setUnused(short field_2_unused)
+    {
+        this.field_2_unused = field_2_unused;
+    }
+
+    /**
+     * Get the brcTop field for the TC record.
+     */
+    public BorderCode getBrcTop()
+    {
+        return field_3_brcTop;
+    }
+
+    /**
+     * Set the brcTop field for the TC record.
+     */
+    public void setBrcTop(BorderCode field_3_brcTop)
+    {
+        this.field_3_brcTop = field_3_brcTop;
+    }
+
+    /**
+     * Get the brcLeft field for the TC record.
+     */
+    public BorderCode getBrcLeft()
+    {
+        return field_4_brcLeft;
+    }
+
+    /**
+     * Set the brcLeft field for the TC record.
+     */
+    public void setBrcLeft(BorderCode field_4_brcLeft)
+    {
+        this.field_4_brcLeft = field_4_brcLeft;
+    }
+
+    /**
+     * Get the brcBottom field for the TC record.
+     */
+    public BorderCode getBrcBottom()
+    {
+        return field_5_brcBottom;
+    }
+
+    /**
+     * Set the brcBottom field for the TC record.
+     */
+    public void setBrcBottom(BorderCode field_5_brcBottom)
+    {
+        this.field_5_brcBottom = field_5_brcBottom;
+    }
+
+    /**
+     * Get the brcRight field for the TC record.
+     */
+    public BorderCode getBrcRight()
+    {
+        return field_6_brcRight;
+    }
+
+    /**
+     * Set the brcRight field for the TC record.
+     */
+    public void setBrcRight(BorderCode field_6_brcRight)
+    {
+        this.field_6_brcRight = field_6_brcRight;
+    }
+
+    /**
+     * Sets the fFirstMerged field value.
+     * 
+     */
+    public void setFFirstMerged(boolean value)
+    {
+        field_1_rgf = (short)fFirstMerged.setBoolean(field_1_rgf, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the fFirstMerged field value.
+     */
+    public boolean isFFirstMerged()
+    {
+        return fFirstMerged.isSet(field_1_rgf);
+        
+    }
+
+    /**
+     * Sets the fMerged field value.
+     * 
+     */
+    public void setFMerged(boolean value)
+    {
+        field_1_rgf = (short)fMerged.setBoolean(field_1_rgf, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the fMerged field value.
+     */
+    public boolean isFMerged()
+    {
+        return fMerged.isSet(field_1_rgf);
+        
+    }
+
+    /**
+     * Sets the fVertical field value.
+     * 
+     */
+    public void setFVertical(boolean value)
+    {
+        field_1_rgf = (short)fVertical.setBoolean(field_1_rgf, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the fVertical field value.
+     */
+    public boolean isFVertical()
+    {
+        return fVertical.isSet(field_1_rgf);
+        
+    }
+
+    /**
+     * Sets the fBackward field value.
+     * 
+     */
+    public void setFBackward(boolean value)
+    {
+        field_1_rgf = (short)fBackward.setBoolean(field_1_rgf, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the fBackward field value.
+     */
+    public boolean isFBackward()
+    {
+        return fBackward.isSet(field_1_rgf);
+        
+    }
+
+    /**
+     * Sets the fRotateFont field value.
+     * 
+     */
+    public void setFRotateFont(boolean value)
+    {
+        field_1_rgf = (short)fRotateFont.setBoolean(field_1_rgf, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the fRotateFont field value.
+     */
+    public boolean isFRotateFont()
+    {
+        return fRotateFont.isSet(field_1_rgf);
+        
+    }
+
+    /**
+     * Sets the fVertMerge field value.
+     * 
+     */
+    public void setFVertMerge(boolean value)
+    {
+        field_1_rgf = (short)fVertMerge.setBoolean(field_1_rgf, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the fVertMerge field value.
+     */
+    public boolean isFVertMerge()
+    {
+        return fVertMerge.isSet(field_1_rgf);
+        
+    }
+
+    /**
+     * Sets the fVertRestart field value.
+     * 
+     */
+    public void setFVertRestart(boolean value)
+    {
+        field_1_rgf = (short)fVertRestart.setBoolean(field_1_rgf, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the fVertRestart field value.
+     */
+    public boolean isFVertRestart()
+    {
+        return fVertRestart.isSet(field_1_rgf);
+        
+    }
+
+    /**
+     * Sets the vertAlign field value.
+     * 
+     */
+    public void setVertAlign(byte value)
+    {
+        field_1_rgf = (short)vertAlign.setValue(field_1_rgf, value);
+
+        
+    }
+
+    /**
+     * 
+     * @return  the vertAlign field value.
+     */
+    public byte getVertAlign()
+    {
+        return ( byte )vertAlign.getValue(field_1_rgf);
+        
+    }
+
+
+}  // END OF CLASS
+
+
+
+