From 55ed7e8d77acde791b4e477c1a6c893e6a2ff9ae Mon Sep 17 00:00:00 2001 From: Sergey Vladimirov Date: Mon, 25 Jul 2011 09:39:07 +0000 Subject: [PATCH] add Colorref structure and use it to store color information in CHP(X) git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1150606 13f79535-47bb-0310-9956-ffa450edef68 --- .../org/apache/poi/hwpf/model/Colorref.java | 108 ++ .../poi/hwpf/model/types/CHPAbstractType.java | 1114 +++++++++-------- .../hwpf/sprm/CharacterSprmCompressor.java | 12 +- .../hwpf/sprm/CharacterSprmUncompressor.java | 8 +- .../hwpf/usermodel/CharacterProperties.java | 122 +- src/types/definitions/chp_type.xml | 3 +- 6 files changed, 803 insertions(+), 564 deletions(-) create mode 100644 src/scratchpad/src/org/apache/poi/hwpf/model/Colorref.java diff --git a/src/scratchpad/src/org/apache/poi/hwpf/model/Colorref.java b/src/scratchpad/src/org/apache/poi/hwpf/model/Colorref.java new file mode 100644 index 0000000000..f4281d9d26 --- /dev/null +++ b/src/scratchpad/src/org/apache/poi/hwpf/model/Colorref.java @@ -0,0 +1,108 @@ +/* ==================================================================== + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +==================================================================== */ +package org.apache.poi.hwpf.model; + +import org.apache.poi.util.Internal; +import org.apache.poi.util.LittleEndian; + +/** + * 24-bit color structure + * + * @author Sergey Vladimirov (vlsergey {at} gmail {dot} com) + */ +@Internal +public class Colorref implements Cloneable +{ + private int value; + + public Colorref() + { + this.value = -1; + } + + public Colorref( byte[] data, int offset ) + { + this.value = LittleEndian.getInt( data, offset ); + } + + public Colorref( int value ) + { + this.value = value; + } + + @Override + public Colorref clone() throws CloneNotSupportedException + { + return new Colorref( this.value ); + } + + @Override + public boolean equals( Object obj ) + { + if ( this == obj ) + return true; + if ( obj == null ) + return false; + if ( getClass() != obj.getClass() ) + return false; + Colorref other = (Colorref) obj; + if ( value != other.value ) + return false; + return true; + } + + public int getValue() + { + return value; + } + + @Override + public int hashCode() + { + return value; + } + + public boolean isEmpty() + { + return value == -1; + } + + public void setValue( int value ) + { + this.value = value; + } + + public byte[] toByteArray() + { + if ( isEmpty() ) + throw new IllegalStateException( + "Structure state (EMPTY) is not good for serialization" ); + + byte[] bs = new byte[4]; + LittleEndian.putInt( bs, 0, this.value ); + return bs; + } + + @Override + public String toString() + { + if ( isEmpty() ) + return "[COLORREF] EMPTY"; + + return "[COLORREF] 0x" + Integer.toHexString( value ); + } +} 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 index 1247c29522..cb979f0a48 100644 --- a/src/scratchpad/src/org/apache/poi/hwpf/model/types/CHPAbstractType.java +++ b/src/scratchpad/src/org/apache/poi/hwpf/model/types/CHPAbstractType.java @@ -17,11 +17,13 @@ package org.apache.poi.hwpf.model.types; +import org.apache.poi.hwpf.model.Colorref; import org.apache.poi.hwpf.model.Hyphenation; import org.apache.poi.hwpf.usermodel.BorderCode; import org.apache.poi.hwpf.usermodel.DateAndTime; import org.apache.poi.hwpf.usermodel.ShadingDescriptor; import org.apache.poi.util.BitField; +import org.apache.poi.util.Internal; /** * Character Properties. @@ -30,175 +32,178 @@ import org.apache.poi.util.BitField; * @author S. Ryan Ackley */ +@Internal public abstract class CHPAbstractType { protected int field_1_grpfChp; - private static BitField fBold = new BitField(0x00000001); - private static BitField fItalic = new BitField(0x00000002); - private static BitField fRMarkDel = new BitField(0x00000004); - private static BitField fOutline = new BitField(0x00000008); - private static BitField fFldVanish = new BitField(0x00000010); - private static BitField fSmallCaps = new BitField(0x00000020); - private static BitField fCaps = new BitField(0x00000040); - private static BitField fVanish = new BitField(0x00000080); - private static BitField fRMark = new BitField(0x00000100); - private static BitField fSpec = new BitField(0x00000200); - private static BitField fStrike = new BitField(0x00000400); - private static BitField fObj = new BitField(0x00000800); - private static BitField fShadow = new BitField(0x00001000); - private static BitField fLowerCase = new BitField(0x00002000); - private static BitField fData = new BitField(0x00004000); - private static BitField fOle2 = new BitField(0x00008000); - private static BitField fEmboss = new BitField(0x00010000); - private static BitField fImprint = new BitField(0x00020000); - private static BitField fDStrike = new BitField(0x00040000); - private static BitField fUsePgsuSettings = new BitField(0x00080000); - private static BitField fBoldBi = new BitField(0x00100000); - private static BitField fComplexScripts = new BitField(0x00200000); - private static BitField fItalicBi = new BitField(0x00400000); - private static BitField fBiDi = new BitField(0x00800000); + /**/private static BitField fBold = new BitField(0x00000001); + /**/private static BitField fItalic = new BitField(0x00000002); + /**/private static BitField fRMarkDel = new BitField(0x00000004); + /**/private static BitField fOutline = new BitField(0x00000008); + /**/private static BitField fFldVanish = new BitField(0x00000010); + /**/private static BitField fSmallCaps = new BitField(0x00000020); + /**/private static BitField fCaps = new BitField(0x00000040); + /**/private static BitField fVanish = new BitField(0x00000080); + /**/private static BitField fRMark = new BitField(0x00000100); + /**/private static BitField fSpec = new BitField(0x00000200); + /**/private static BitField fStrike = new BitField(0x00000400); + /**/private static BitField fObj = new BitField(0x00000800); + /**/private static BitField fShadow = new BitField(0x00001000); + /**/private static BitField fLowerCase = new BitField(0x00002000); + /**/private static BitField fData = new BitField(0x00004000); + /**/private static BitField fOle2 = new BitField(0x00008000); + /**/private static BitField fEmboss = new BitField(0x00010000); + /**/private static BitField fImprint = new BitField(0x00020000); + /**/private static BitField fDStrike = new BitField(0x00040000); + /**/private static BitField fUsePgsuSettings = new BitField(0x00080000); + /**/private static BitField fBoldBi = new BitField(0x00100000); + /**/private static BitField fComplexScripts = new BitField(0x00200000); + /**/private static BitField fItalicBi = new BitField(0x00400000); + /**/private static BitField fBiDi = new BitField(0x00800000); protected int field_2_hps; protected int field_3_ftcAscii; protected int field_4_ftcFE; protected int field_5_ftcOther; protected int field_6_ftcBi; protected int field_7_dxaSpace; - protected byte field_8_ico; - protected int field_9_pctCharWidth; - protected int field_10_lidDefault; - protected int field_11_lidFE; - protected byte field_12_kcd; - /**/public final static byte KCD_NON = 0; - /**/public final static byte KCD_DOT = 1; - /**/public final static byte KCD_COMMA = 2; - /**/public final static byte KCD_CIRCLE = 3; - /**/public final static byte KCD_UNDER_DOT = 4; - protected boolean field_13_fUndetermine; - protected byte field_14_iss; - /**/public final static byte ISS_NONE = 0; - /**/public final static byte ISS_SUPERSCRIPTED = 1; - /**/public final static byte ISS_SUBSCRIPTED = 2; - protected boolean field_15_fSpecSymbol; - protected byte field_16_idct; - protected byte field_17_idctHint; - protected byte field_18_kul; - /**/public final static byte KUL_NONE = 0; - /**/public final static byte KUL_SINGLE = 1; - /**/public final static byte KUL_BY_WORD = 2; - /**/public final static byte KUL_DOUBLE = 3; - /**/public final static byte KUL_DOTTED = 4; - /**/public final static byte KUL_HIDDEN = 5; - /**/public final static byte KUL_THICK = 6; - /**/public final static byte KUL_DASH = 7; - /**/public final static byte KUL_DOT = 8; - /**/public final static byte KUL_DOT_DASH = 9; - /**/public final static byte KUL_DOT_DOT_DASH = 10; - /**/public final static byte KUL_WAVE = 11; - /**/public final static byte KUL_DOTTED_HEAVY = 20; - /**/public final static byte KUL_DASHED_HEAVY = 23; - /**/public final static byte KUL_DOT_DASH_HEAVY = 25; - /**/public final static byte KUL_DOT_DOT_DASH_HEAVY = 26; - /**/public final static byte KUL_WAVE_HEAVY = 27; - /**/public final static byte KUL_DASH_LONG = 39; - /**/public final static byte KUL_WAVE_DOUBLE = 43; - /**/public final static byte KUL_DASH_LONG_HEAVY = 55; - protected Hyphenation field_19_hresi; - protected int field_20_hpsKern; - protected short field_21_hpsPos; - protected ShadingDescriptor field_22_shd; - protected BorderCode field_23_brc; - protected int field_24_ibstRMark; - protected byte field_25_sfxtText; - /**/public final static byte SFXTTEXT_NO = 0; - /**/public final static byte SFXTTEXT_LAS_VEGAS_LIGHTS = 1; - /**/public final static byte SFXTTEXT_BACKGROUND_BLINK = 2; - /**/public final static byte SFXTTEXT_SPARKLE_TEXT = 3; - /**/public final static byte SFXTTEXT_MARCHING_ANTS = 4; - /**/public final static byte SFXTTEXT_MARCHING_RED_ANTS = 5; - /**/public final static byte SFXTTEXT_SHIMMER = 6; - protected boolean field_26_fDblBdr; - protected boolean field_27_fBorderWS; - protected short field_28_ufel; - private static BitField itypFELayout = new BitField(0x00ff); - private static BitField fTNY = new BitField(0x0100); - private static BitField fWarichu = new BitField(0x0200); - private static BitField fKumimoji = new BitField(0x0400); - private static BitField fRuby = new BitField(0x0800); - private static BitField fLSFitText = new BitField(0x1000); - private static BitField spare = new BitField(0xe000); - protected byte field_29_copt; - private static BitField iWarichuBracket = new BitField(0x07); - private static BitField fWarichuNoOpenBracket = new BitField(0x08); - private static BitField fTNYCompress = new BitField(0x10); - private static BitField fTNYFetchTxm = new BitField(0x20); - private static BitField fCellFitText = new BitField(0x40); - private static BitField unused = new BitField(0x80); - protected int field_30_hpsAsci; - protected int field_31_hpsFE; - protected int field_32_hpsBi; - protected int field_33_ftcSym; - protected int field_34_xchSym; - protected int field_35_fcPic; - protected int field_36_fcObj; - protected int field_37_lTagObj; - protected int field_38_fcData; - protected Hyphenation field_39_hresiOld; - protected int field_40_ibstRMarkDel; - protected DateAndTime field_41_dttmRMark; - protected DateAndTime field_42_dttmRMarkDel; - protected int field_43_istd; - protected int field_44_idslRMReason; - protected int field_45_idslReasonDel; - protected int field_46_cpg; - protected short field_47_Highlight; - private static BitField icoHighlight = new BitField(0x001f); - private static BitField fHighlight = new BitField(0x0020); - protected short field_48_CharsetFlags; - private static BitField fChsDiff = new BitField(0x0001); - private static BitField fMacChs = new BitField(0x0020); - protected short field_49_chse; - protected boolean field_50_fPropRMark; - protected int field_51_ibstPropRMark; - protected DateAndTime field_52_dttmPropRMark; - protected boolean field_53_fConflictOrig; - protected boolean field_54_fConflictOtherDel; - protected int field_55_wConflict; - protected int field_56_IbstConflict; - protected DateAndTime field_57_dttmConflict; - protected boolean field_58_fDispFldRMark; - protected int field_59_ibstDispFldRMark; - protected DateAndTime field_60_dttmDispFldRMark; - protected byte[] field_61_xstDispFldRMark; - protected int field_62_fcObjp; - protected byte field_63_lbrCRJ; - /**/public final static byte LBRCRJ_NONE = 0; - /**/public final static byte LBRCRJ_LEFT = 1; - /**/public final static byte LBRCRJ_RIGHT = 2; - /**/public final static byte LBRCRJ_BOTH = 3; - protected boolean field_64_fSpecVanish; - protected boolean field_65_fHasOldProps; - protected boolean field_66_fSdtVanish; - protected int field_67_wCharScale; + protected Colorref field_8_cv; + protected byte field_9_ico; + protected int field_10_pctCharWidth; + protected int field_11_lidDefault; + protected int field_12_lidFE; + protected byte field_13_kcd; + /**/protected final static byte KCD_NON = 0; + /**/protected final static byte KCD_DOT = 1; + /**/protected final static byte KCD_COMMA = 2; + /**/protected final static byte KCD_CIRCLE = 3; + /**/protected final static byte KCD_UNDER_DOT = 4; + protected boolean field_14_fUndetermine; + protected byte field_15_iss; + /**/protected final static byte ISS_NONE = 0; + /**/protected final static byte ISS_SUPERSCRIPTED = 1; + /**/protected final static byte ISS_SUBSCRIPTED = 2; + protected boolean field_16_fSpecSymbol; + protected byte field_17_idct; + protected byte field_18_idctHint; + protected byte field_19_kul; + /**/protected final static byte KUL_NONE = 0; + /**/protected final static byte KUL_SINGLE = 1; + /**/protected final static byte KUL_BY_WORD = 2; + /**/protected final static byte KUL_DOUBLE = 3; + /**/protected final static byte KUL_DOTTED = 4; + /**/protected final static byte KUL_HIDDEN = 5; + /**/protected final static byte KUL_THICK = 6; + /**/protected final static byte KUL_DASH = 7; + /**/protected final static byte KUL_DOT = 8; + /**/protected final static byte KUL_DOT_DASH = 9; + /**/protected final static byte KUL_DOT_DOT_DASH = 10; + /**/protected final static byte KUL_WAVE = 11; + /**/protected final static byte KUL_DOTTED_HEAVY = 20; + /**/protected final static byte KUL_DASHED_HEAVY = 23; + /**/protected final static byte KUL_DOT_DASH_HEAVY = 25; + /**/protected final static byte KUL_DOT_DOT_DASH_HEAVY = 26; + /**/protected final static byte KUL_WAVE_HEAVY = 27; + /**/protected final static byte KUL_DASH_LONG = 39; + /**/protected final static byte KUL_WAVE_DOUBLE = 43; + /**/protected final static byte KUL_DASH_LONG_HEAVY = 55; + protected Hyphenation field_20_hresi; + protected int field_21_hpsKern; + protected short field_22_hpsPos; + protected ShadingDescriptor field_23_shd; + protected BorderCode field_24_brc; + protected int field_25_ibstRMark; + protected byte field_26_sfxtText; + /**/protected final static byte SFXTTEXT_NO = 0; + /**/protected final static byte SFXTTEXT_LAS_VEGAS_LIGHTS = 1; + /**/protected final static byte SFXTTEXT_BACKGROUND_BLINK = 2; + /**/protected final static byte SFXTTEXT_SPARKLE_TEXT = 3; + /**/protected final static byte SFXTTEXT_MARCHING_ANTS = 4; + /**/protected final static byte SFXTTEXT_MARCHING_RED_ANTS = 5; + /**/protected final static byte SFXTTEXT_SHIMMER = 6; + protected boolean field_27_fDblBdr; + protected boolean field_28_fBorderWS; + protected short field_29_ufel; + /**/private static BitField itypFELayout = new BitField(0x00ff); + /**/private static BitField fTNY = new BitField(0x0100); + /**/private static BitField fWarichu = new BitField(0x0200); + /**/private static BitField fKumimoji = new BitField(0x0400); + /**/private static BitField fRuby = new BitField(0x0800); + /**/private static BitField fLSFitText = new BitField(0x1000); + /**/private static BitField spare = new BitField(0xe000); + protected byte field_30_copt; + /**/private static BitField iWarichuBracket = new BitField(0x07); + /**/private static BitField fWarichuNoOpenBracket = new BitField(0x08); + /**/private static BitField fTNYCompress = new BitField(0x10); + /**/private static BitField fTNYFetchTxm = new BitField(0x20); + /**/private static BitField fCellFitText = new BitField(0x40); + /**/private static BitField unused = new BitField(0x80); + protected int field_31_hpsAsci; + protected int field_32_hpsFE; + protected int field_33_hpsBi; + protected int field_34_ftcSym; + protected int field_35_xchSym; + protected int field_36_fcPic; + protected int field_37_fcObj; + protected int field_38_lTagObj; + protected int field_39_fcData; + protected Hyphenation field_40_hresiOld; + protected int field_41_ibstRMarkDel; + protected DateAndTime field_42_dttmRMark; + protected DateAndTime field_43_dttmRMarkDel; + protected int field_44_istd; + protected int field_45_idslRMReason; + protected int field_46_idslReasonDel; + protected int field_47_cpg; + protected short field_48_Highlight; + /**/private static BitField icoHighlight = new BitField(0x001f); + /**/private static BitField fHighlight = new BitField(0x0020); + protected short field_49_CharsetFlags; + /**/private static BitField fChsDiff = new BitField(0x0001); + /**/private static BitField fMacChs = new BitField(0x0020); + protected short field_50_chse; + protected boolean field_51_fPropRMark; + protected int field_52_ibstPropRMark; + protected DateAndTime field_53_dttmPropRMark; + protected boolean field_54_fConflictOrig; + protected boolean field_55_fConflictOtherDel; + protected int field_56_wConflict; + protected int field_57_IbstConflict; + protected DateAndTime field_58_dttmConflict; + protected boolean field_59_fDispFldRMark; + protected int field_60_ibstDispFldRMark; + protected DateAndTime field_61_dttmDispFldRMark; + protected byte[] field_62_xstDispFldRMark; + protected int field_63_fcObjp; + protected byte field_64_lbrCRJ; + /**/protected final static byte LBRCRJ_NONE = 0; + /**/protected final static byte LBRCRJ_LEFT = 1; + /**/protected final static byte LBRCRJ_RIGHT = 2; + /**/protected final static byte LBRCRJ_BOTH = 3; + protected boolean field_65_fSpecVanish; + protected boolean field_66_fHasOldProps; + protected boolean field_67_fSdtVanish; + protected int field_68_wCharScale; protected CHPAbstractType() { this.field_2_hps = 20; - this.field_10_lidDefault = 0x0400; - this.field_11_lidFE = 0x0400; - this.field_19_hresi = new Hyphenation(); - this.field_22_shd = new ShadingDescriptor(); - this.field_23_brc = new BorderCode(); - this.field_35_fcPic = -1; - this.field_39_hresiOld = new Hyphenation(); - this.field_41_dttmRMark = new DateAndTime(); - this.field_42_dttmRMarkDel = new DateAndTime(); - this.field_43_istd = 10; - this.field_52_dttmPropRMark = new DateAndTime(); - this.field_57_dttmConflict = new DateAndTime(); - this.field_60_dttmDispFldRMark = new DateAndTime(); - this.field_61_xstDispFldRMark = new byte[0]; - this.field_67_wCharScale = 100; + this.field_8_cv = new Colorref(); + this.field_11_lidDefault = 0x0400; + this.field_12_lidFE = 0x0400; + this.field_20_hresi = new Hyphenation(); + this.field_23_shd = new ShadingDescriptor(); + this.field_24_brc = new BorderCode(); + this.field_36_fcPic = -1; + this.field_40_hresiOld = new Hyphenation(); + this.field_42_dttmRMark = new DateAndTime(); + this.field_43_dttmRMarkDel = new DateAndTime(); + this.field_44_istd = 10; + this.field_53_dttmPropRMark = new DateAndTime(); + this.field_58_dttmConflict = new DateAndTime(); + this.field_61_dttmDispFldRMark = new DateAndTime(); + this.field_62_xstDispFldRMark = new byte[0]; + this.field_68_wCharScale = 100; } @@ -244,6 +249,8 @@ public abstract class CHPAbstractType builder.append(" (").append(getFtcBi()).append(" )\n"); builder.append(" .dxaSpace = "); builder.append(" (").append(getDxaSpace()).append(" )\n"); + builder.append(" .cv = "); + builder.append(" (").append(getCv()).append(" )\n"); builder.append(" .ico = "); builder.append(" (").append(getIco()).append(" )\n"); builder.append(" .pctCharWidth = "); @@ -389,6 +396,7 @@ public abstract class CHPAbstractType /** * Collection of the 32 flags. */ + @Internal public int getGrpfChp() { return field_1_grpfChp; @@ -397,6 +405,7 @@ public abstract class CHPAbstractType /** * Collection of the 32 flags. */ + @Internal public void setGrpfChp( int field_1_grpfChp ) { this.field_1_grpfChp = field_1_grpfChp; @@ -405,6 +414,7 @@ public abstract class CHPAbstractType /** * Font size in half points. */ + @Internal public int getHps() { return field_2_hps; @@ -413,6 +423,7 @@ public abstract class CHPAbstractType /** * Font size in half points. */ + @Internal public void setHps( int field_2_hps ) { this.field_2_hps = field_2_hps; @@ -421,6 +432,7 @@ public abstract class CHPAbstractType /** * Font for ASCII text. */ + @Internal public int getFtcAscii() { return field_3_ftcAscii; @@ -429,6 +441,7 @@ public abstract class CHPAbstractType /** * Font for ASCII text. */ + @Internal public void setFtcAscii( int field_3_ftcAscii ) { this.field_3_ftcAscii = field_3_ftcAscii; @@ -437,6 +450,7 @@ public abstract class CHPAbstractType /** * Font for East Asian text. */ + @Internal public int getFtcFE() { return field_4_ftcFE; @@ -445,6 +459,7 @@ public abstract class CHPAbstractType /** * Font for East Asian text. */ + @Internal public void setFtcFE( int field_4_ftcFE ) { this.field_4_ftcFE = field_4_ftcFE; @@ -453,6 +468,7 @@ public abstract class CHPAbstractType /** * Font for non-East Asian text. */ + @Internal public int getFtcOther() { return field_5_ftcOther; @@ -461,6 +477,7 @@ public abstract class CHPAbstractType /** * Font for non-East Asian text. */ + @Internal public void setFtcOther( int field_5_ftcOther ) { this.field_5_ftcOther = field_5_ftcOther; @@ -469,6 +486,7 @@ public abstract class CHPAbstractType /** * Font for Complex Scripts text. */ + @Internal public int getFtcBi() { return field_6_ftcBi; @@ -477,6 +495,7 @@ public abstract class CHPAbstractType /** * Font for Complex Scripts text. */ + @Internal public void setFtcBi( int field_6_ftcBi ) { this.field_6_ftcBi = field_6_ftcBi; @@ -485,6 +504,7 @@ public abstract class CHPAbstractType /** * Space following each character in the run expressed in twip units.. */ + @Internal public int getDxaSpace() { return field_7_dxaSpace; @@ -493,73 +513,100 @@ public abstract class CHPAbstractType /** * Space following each character in the run expressed in twip units.. */ + @Internal public void setDxaSpace( int field_7_dxaSpace ) { this.field_7_dxaSpace = field_7_dxaSpace; } + /** + * 24-bit color. + */ + @Internal + public Colorref getCv() + { + return field_8_cv; + } + + /** + * 24-bit color. + */ + @Internal + public void setCv( Colorref field_8_cv ) + { + this.field_8_cv = field_8_cv; + } + /** * Color of text for Word 97. */ + @Internal public byte getIco() { - return field_8_ico; + return field_9_ico; } /** * Color of text for Word 97. */ - public void setIco( byte field_8_ico ) + @Internal + public void setIco( byte field_9_ico ) { - this.field_8_ico = field_8_ico; + this.field_9_ico = field_9_ico; } /** * Character scale. */ + @Internal public int getPctCharWidth() { - return field_9_pctCharWidth; + return field_10_pctCharWidth; } /** * Character scale. */ - public void setPctCharWidth( int field_9_pctCharWidth ) + @Internal + public void setPctCharWidth( int field_10_pctCharWidth ) { - this.field_9_pctCharWidth = field_9_pctCharWidth; + this.field_10_pctCharWidth = field_10_pctCharWidth; } /** * Get the lidDefault field for the CHP record. */ + @Internal public int getLidDefault() { - return field_10_lidDefault; + return field_11_lidDefault; } /** * Set the lidDefault field for the CHP record. */ - public void setLidDefault( int field_10_lidDefault ) + @Internal + public void setLidDefault( int field_11_lidDefault ) { - this.field_10_lidDefault = field_10_lidDefault; + this.field_11_lidDefault = field_11_lidDefault; } /** * Get the lidFE field for the CHP record. */ + @Internal public int getLidFE() { - return field_11_lidFE; + return field_12_lidFE; } /** * Set the lidFE field for the CHP record. */ - public void setLidFE( int field_11_lidFE ) + @Internal + public void setLidFE( int field_12_lidFE ) { - this.field_11_lidFE = field_11_lidFE; + this.field_12_lidFE = field_12_lidFE; } /** @@ -572,15 +619,16 @@ public abstract class CHPAbstractType *
  • {@link #KCD_CIRCLE} *
  • {@link #KCD_UNDER_DOT} */ + @Internal public byte getKcd() { - return field_12_kcd; + return field_13_kcd; } /** * Emphasis mark. * - * @param field_12_kcd + * @param field_13_kcd * One of *
  • {@link #KCD_NON} *
  • {@link #KCD_DOT} @@ -588,25 +636,28 @@ public abstract class CHPAbstractType *
  • {@link #KCD_CIRCLE} *
  • {@link #KCD_UNDER_DOT} */ - public void setKcd( byte field_12_kcd ) + @Internal + public void setKcd( byte field_13_kcd ) { - this.field_12_kcd = field_12_kcd; + this.field_13_kcd = field_13_kcd; } /** * Character is undetermined. */ + @Internal public boolean getFUndetermine() { - return field_13_fUndetermine; + return field_14_fUndetermine; } /** * Character is undetermined. */ - public void setFUndetermine( boolean field_13_fUndetermine ) + @Internal + public void setFUndetermine( boolean field_14_fUndetermine ) { - this.field_13_fUndetermine = field_13_fUndetermine; + this.field_14_fUndetermine = field_14_fUndetermine; } /** @@ -617,71 +668,79 @@ public abstract class CHPAbstractType *
  • {@link #ISS_SUPERSCRIPTED} *
  • {@link #ISS_SUBSCRIPTED} */ + @Internal public byte getIss() { - return field_14_iss; + return field_15_iss; } /** * Superscript/subscript indices. * - * @param field_14_iss + * @param field_15_iss * One of *
  • {@link #ISS_NONE} *
  • {@link #ISS_SUPERSCRIPTED} *
  • {@link #ISS_SUBSCRIPTED} */ - public void setIss( byte field_14_iss ) + @Internal + public void setIss( byte field_15_iss ) { - this.field_14_iss = field_14_iss; + this.field_15_iss = field_15_iss; } /** * Used by Word internally. */ + @Internal public boolean getFSpecSymbol() { - return field_15_fSpecSymbol; + return field_16_fSpecSymbol; } /** * Used by Word internally. */ - public void setFSpecSymbol( boolean field_15_fSpecSymbol ) + @Internal + public void setFSpecSymbol( boolean field_16_fSpecSymbol ) { - this.field_15_fSpecSymbol = field_15_fSpecSymbol; + this.field_16_fSpecSymbol = field_16_fSpecSymbol; } /** * Not stored in file. */ + @Internal public byte getIdct() { - return field_16_idct; + return field_17_idct; } /** * Not stored in file. */ - public void setIdct( byte field_16_idct ) + @Internal + public void setIdct( byte field_17_idct ) { - this.field_16_idct = field_16_idct; + this.field_17_idct = field_17_idct; } /** * Identifier of Character type. */ + @Internal public byte getIdctHint() { - return field_17_idctHint; + return field_18_idctHint; } /** * Identifier of Character type. */ - public void setIdctHint( byte field_17_idctHint ) + @Internal + public void setIdctHint( byte field_18_idctHint ) { - this.field_17_idctHint = field_17_idctHint; + this.field_18_idctHint = field_18_idctHint; } /** @@ -709,15 +768,16 @@ public abstract class CHPAbstractType *
  • {@link #KUL_WAVE_DOUBLE} *
  • {@link #KUL_DASH_LONG_HEAVY} */ + @Internal public byte getKul() { - return field_18_kul; + return field_19_kul; } /** * Underline code. * - * @param field_18_kul + * @param field_19_kul * One of *
  • {@link #KUL_NONE} *
  • {@link #KUL_SINGLE} @@ -740,105 +800,118 @@ public abstract class CHPAbstractType *
  • {@link #KUL_WAVE_DOUBLE} *
  • {@link #KUL_DASH_LONG_HEAVY} */ - public void setKul( byte field_18_kul ) + @Internal + public void setKul( byte field_19_kul ) { - this.field_18_kul = field_18_kul; + this.field_19_kul = field_19_kul; } /** * Get the hresi field for the CHP record. */ + @Internal public Hyphenation getHresi() { - return field_19_hresi; + return field_20_hresi; } /** * Set the hresi field for the CHP record. */ - public void setHresi( Hyphenation field_19_hresi ) + @Internal + public void setHresi( Hyphenation field_20_hresi ) { - this.field_19_hresi = field_19_hresi; + this.field_20_hresi = field_20_hresi; } /** * Kerning distance for characters in run recorded in half points. */ + @Internal public int getHpsKern() { - return field_20_hpsKern; + return field_21_hpsKern; } /** * Kerning distance for characters in run recorded in half points. */ - public void setHpsKern( int field_20_hpsKern ) + @Internal + public void setHpsKern( int field_21_hpsKern ) { - this.field_20_hpsKern = field_20_hpsKern; + this.field_21_hpsKern = field_21_hpsKern; } /** * Reserved (actually used as vertical offset(?) value). */ + @Internal public short getHpsPos() { - return field_21_hpsPos; + return field_22_hpsPos; } /** * Reserved (actually used as vertical offset(?) value). */ - public void setHpsPos( short field_21_hpsPos ) + @Internal + public void setHpsPos( short field_22_hpsPos ) { - this.field_21_hpsPos = field_21_hpsPos; + this.field_22_hpsPos = field_22_hpsPos; } /** * Shading. */ + @Internal public ShadingDescriptor getShd() { - return field_22_shd; + return field_23_shd; } /** * Shading. */ - public void setShd( ShadingDescriptor field_22_shd ) + @Internal + public void setShd( ShadingDescriptor field_23_shd ) { - this.field_22_shd = field_22_shd; + this.field_23_shd = field_23_shd; } /** * Border. */ + @Internal public BorderCode getBrc() { - return field_23_brc; + return field_24_brc; } /** * Border. */ - public void setBrc( BorderCode field_23_brc ) + @Internal + public void setBrc( BorderCode field_24_brc ) { - this.field_23_brc = field_23_brc; + this.field_24_brc = field_24_brc; } /** * Index to author IDs stored in hsttbfRMark. Used when text in run was newly typed when revision marking was enabled. */ + @Internal public int getIbstRMark() { - return field_24_ibstRMark; + return field_25_ibstRMark; } /** * Index to author IDs stored in hsttbfRMark. Used when text in run was newly typed when revision marking was enabled. */ - public void setIbstRMark( int field_24_ibstRMark ) + @Internal + public void setIbstRMark( int field_25_ibstRMark ) { - this.field_24_ibstRMark = field_24_ibstRMark; + this.field_25_ibstRMark = field_25_ibstRMark; } /** @@ -853,15 +926,16 @@ public abstract class CHPAbstractType *
  • {@link #SFXTTEXT_MARCHING_RED_ANTS} *
  • {@link #SFXTTEXT_SHIMMER} */ + @Internal public byte getSfxtText() { - return field_25_sfxtText; + return field_26_sfxtText; } /** * Text animation. * - * @param field_25_sfxtText + * @param field_26_sfxtText * One of *
  • {@link #SFXTTEXT_NO} *
  • {@link #SFXTTEXT_LAS_VEGAS_LIGHTS} @@ -871,601 +945,676 @@ public abstract class CHPAbstractType *
  • {@link #SFXTTEXT_MARCHING_RED_ANTS} *
  • {@link #SFXTTEXT_SHIMMER} */ - public void setSfxtText( byte field_25_sfxtText ) + @Internal + public void setSfxtText( byte field_26_sfxtText ) { - this.field_25_sfxtText = field_25_sfxtText; + this.field_26_sfxtText = field_26_sfxtText; } /** * Used internally by Word. */ + @Internal public boolean getFDblBdr() { - return field_26_fDblBdr; + return field_27_fDblBdr; } /** * Used internally by Word. */ - public void setFDblBdr( boolean field_26_fDblBdr ) + @Internal + public void setFDblBdr( boolean field_27_fDblBdr ) { - this.field_26_fDblBdr = field_26_fDblBdr; + this.field_27_fDblBdr = field_27_fDblBdr; } /** * Used internally by Word. */ + @Internal public boolean getFBorderWS() { - return field_27_fBorderWS; + return field_28_fBorderWS; } /** * Used internally by Word. */ - public void setFBorderWS( boolean field_27_fBorderWS ) + @Internal + public void setFBorderWS( boolean field_28_fBorderWS ) { - this.field_27_fBorderWS = field_27_fBorderWS; + this.field_28_fBorderWS = field_28_fBorderWS; } /** * Collection properties represented by itypFELayout and copt (East Asian layout properties). */ + @Internal public short getUfel() { - return field_28_ufel; + return field_29_ufel; } /** * Collection properties represented by itypFELayout and copt (East Asian layout properties). */ - public void setUfel( short field_28_ufel ) + @Internal + public void setUfel( short field_29_ufel ) { - this.field_28_ufel = field_28_ufel; + this.field_29_ufel = field_29_ufel; } /** * Collection of the 5 flags. */ + @Internal public byte getCopt() { - return field_29_copt; + return field_30_copt; } /** * Collection of the 5 flags. */ - public void setCopt( byte field_29_copt ) + @Internal + public void setCopt( byte field_30_copt ) { - this.field_29_copt = field_29_copt; + this.field_30_copt = field_30_copt; } /** * Font size for ASCII font. */ + @Internal public int getHpsAsci() { - return field_30_hpsAsci; + return field_31_hpsAsci; } /** * Font size for ASCII font. */ - public void setHpsAsci( int field_30_hpsAsci ) + @Internal + public void setHpsAsci( int field_31_hpsAsci ) { - this.field_30_hpsAsci = field_30_hpsAsci; + this.field_31_hpsAsci = field_31_hpsAsci; } /** * Font size for East Asian text. */ + @Internal public int getHpsFE() { - return field_31_hpsFE; + return field_32_hpsFE; } /** * Font size for East Asian text. */ - public void setHpsFE( int field_31_hpsFE ) + @Internal + public void setHpsFE( int field_32_hpsFE ) { - this.field_31_hpsFE = field_31_hpsFE; + this.field_32_hpsFE = field_32_hpsFE; } /** * Font size for Complex Scripts text. */ + @Internal public int getHpsBi() { - return field_32_hpsBi; + return field_33_hpsBi; } /** * Font size for Complex Scripts text. */ - public void setHpsBi( int field_32_hpsBi ) + @Internal + public void setHpsBi( int field_33_hpsBi ) { - this.field_32_hpsBi = field_32_hpsBi; + this.field_33_hpsBi = field_33_hpsBi; } /** * an index into the rgffn structure. When chp.fSpec is 1 and the character recorded for the run in the document stream is chSymbol (0x28), chp.ftcSym identifies the font code of the symbol font that will be used to display the symbol character recorded in chp.xchSym.. */ + @Internal public int getFtcSym() { - return field_33_ftcSym; + return field_34_ftcSym; } /** * an index into the rgffn structure. When chp.fSpec is 1 and the character recorded for the run in the document stream is chSymbol (0x28), chp.ftcSym identifies the font code of the symbol font that will be used to display the symbol character recorded in chp.xchSym.. */ - public void setFtcSym( int field_33_ftcSym ) + @Internal + public void setFtcSym( int field_34_ftcSym ) { - this.field_33_ftcSym = field_33_ftcSym; + this.field_34_ftcSym = field_34_ftcSym; } /** * When chp.fSpec==1 and the character recorded for the run in the document stream is chSymbol (0x28), the character stored chp.xchSym will be displayed using the font specified in chp.ftcSym.. */ + @Internal public int getXchSym() { - return field_34_xchSym; + return field_35_xchSym; } /** * When chp.fSpec==1 and the character recorded for the run in the document stream is chSymbol (0x28), the character stored chp.xchSym will be displayed using the font specified in chp.ftcSym.. */ - public void setXchSym( int field_34_xchSym ) + @Internal + public void setXchSym( int field_35_xchSym ) { - this.field_34_xchSym = field_34_xchSym; + this.field_35_xchSym = field_35_xchSym; } /** * Offset in data stream pointing to beginning of a picture when character is a picture character (character is 0x01 and chp.fSpec is 1).. */ + @Internal public int getFcPic() { - return field_35_fcPic; + return field_36_fcPic; } /** * Offset in data stream pointing to beginning of a picture when character is a picture character (character is 0x01 and chp.fSpec is 1).. */ - public void setFcPic( int field_35_fcPic ) + @Internal + public void setFcPic( int field_36_fcPic ) { - this.field_35_fcPic = field_35_fcPic; + this.field_36_fcPic = field_36_fcPic; } /** * Offset in data stream pointing to beginning of a picture when character is an OLE1 object character (character is 0x20 and chp.fSpec is 1, chp.fOle2 is 0).. */ + @Internal public int getFcObj() { - return field_36_fcObj; + return field_37_fcObj; } /** * Offset in data stream pointing to beginning of a picture when character is an OLE1 object character (character is 0x20 and chp.fSpec is 1, chp.fOle2 is 0).. */ - public void setFcObj( int field_36_fcObj ) + @Internal + public void setFcObj( int field_37_fcObj ) { - this.field_36_fcObj = field_36_fcObj; + this.field_37_fcObj = field_37_fcObj; } /** * An object ID for an OLE object, only set if chp.fSpec and chp.fOle2 are both true, and chp.fObj.. */ + @Internal public int getLTagObj() { - return field_37_lTagObj; + return field_38_lTagObj; } /** * An object ID for an OLE object, only set if chp.fSpec and chp.fOle2 are both true, and chp.fObj.. */ - public void setLTagObj( int field_37_lTagObj ) + @Internal + public void setLTagObj( int field_38_lTagObj ) { - this.field_37_lTagObj = field_37_lTagObj; + this.field_38_lTagObj = field_38_lTagObj; } /** * Points to location of picture data, only if chp.fSpec is true.. */ + @Internal public int getFcData() { - return field_38_fcData; + return field_39_fcData; } /** * Points to location of picture data, only if chp.fSpec is true.. */ - public void setFcData( int field_38_fcData ) + @Internal + public void setFcData( int field_39_fcData ) { - this.field_38_fcData = field_38_fcData; + this.field_39_fcData = field_39_fcData; } /** * Get the hresiOld field for the CHP record. */ + @Internal public Hyphenation getHresiOld() { - return field_39_hresiOld; + return field_40_hresiOld; } /** * Set the hresiOld field for the CHP record. */ - public void setHresiOld( Hyphenation field_39_hresiOld ) + @Internal + public void setHresiOld( Hyphenation field_40_hresiOld ) { - this.field_39_hresiOld = field_39_hresiOld; + this.field_40_hresiOld = field_40_hresiOld; } /** * Index to author IDs stored in hsttbfRMark. Used when text in run was deleted when revision marking was enabled.. */ + @Internal public int getIbstRMarkDel() { - return field_40_ibstRMarkDel; + return field_41_ibstRMarkDel; } /** * Index to author IDs stored in hsttbfRMark. Used when text in run was deleted when revision marking was enabled.. */ - public void setIbstRMarkDel( int field_40_ibstRMarkDel ) + @Internal + public void setIbstRMarkDel( int field_41_ibstRMarkDel ) { - this.field_40_ibstRMarkDel = field_40_ibstRMarkDel; + this.field_41_ibstRMarkDel = field_41_ibstRMarkDel; } /** * Date/time at which this run of text was entered/modified by the author (Only recorded when revision marking is on.). */ + @Internal public DateAndTime getDttmRMark() { - return field_41_dttmRMark; + return field_42_dttmRMark; } /** * Date/time at which this run of text was entered/modified by the author (Only recorded when revision marking is on.). */ - public void setDttmRMark( DateAndTime field_41_dttmRMark ) + @Internal + public void setDttmRMark( DateAndTime field_42_dttmRMark ) { - this.field_41_dttmRMark = field_41_dttmRMark; + this.field_42_dttmRMark = field_42_dttmRMark; } /** * Date/time at which this run of text was deleted by the author (Only recorded when revision marking is on.). */ + @Internal public DateAndTime getDttmRMarkDel() { - return field_42_dttmRMarkDel; + return field_43_dttmRMarkDel; } /** * Date/time at which this run of text was deleted by the author (Only recorded when revision marking is on.). */ - public void setDttmRMarkDel( DateAndTime field_42_dttmRMarkDel ) + @Internal + public void setDttmRMarkDel( DateAndTime field_43_dttmRMarkDel ) { - this.field_42_dttmRMarkDel = field_42_dttmRMarkDel; + this.field_43_dttmRMarkDel = field_43_dttmRMarkDel; } /** * Index to character style descriptor in the stylesheet that tags this run of text. When istd is istdNormalChar (10 decimal), characters in run are not affected by a character style. If chp.istd contains any other value, chpx of the specified character style are applied to CHP for this run before any other exceptional properties are applied.. */ + @Internal public int getIstd() { - return field_43_istd; + return field_44_istd; } /** * Index to character style descriptor in the stylesheet that tags this run of text. When istd is istdNormalChar (10 decimal), characters in run are not affected by a character style. If chp.istd contains any other value, chpx of the specified character style are applied to CHP for this run before any other exceptional properties are applied.. */ - public void setIstd( int field_43_istd ) + @Internal + public void setIstd( int field_44_istd ) { - this.field_43_istd = field_43_istd; + this.field_44_istd = field_44_istd; } /** * An index to strings displayed as reasons for actions taken by Word's AutoFormat code. */ + @Internal public int getIdslRMReason() { - return field_44_idslRMReason; + return field_45_idslRMReason; } /** * An index to strings displayed as reasons for actions taken by Word's AutoFormat code. */ - public void setIdslRMReason( int field_44_idslRMReason ) + @Internal + public void setIdslRMReason( int field_45_idslRMReason ) { - this.field_44_idslRMReason = field_44_idslRMReason; + this.field_45_idslRMReason = field_45_idslRMReason; } /** * An index to strings displayed as reasons for actions taken by Word's AutoFormat code. */ + @Internal public int getIdslReasonDel() { - return field_45_idslReasonDel; + return field_46_idslReasonDel; } /** * An index to strings displayed as reasons for actions taken by Word's AutoFormat code. */ - public void setIdslReasonDel( int field_45_idslReasonDel ) + @Internal + public void setIdslReasonDel( int field_46_idslReasonDel ) { - this.field_45_idslReasonDel = field_45_idslReasonDel; + this.field_46_idslReasonDel = field_46_idslReasonDel; } /** * Code page of run in pre-Unicode files. */ + @Internal public int getCpg() { - return field_46_cpg; + return field_47_cpg; } /** * Code page of run in pre-Unicode files. */ - public void setCpg( int field_46_cpg ) + @Internal + public void setCpg( int field_47_cpg ) { - this.field_46_cpg = field_46_cpg; + this.field_47_cpg = field_47_cpg; } /** * Get the Highlight field for the CHP record. */ + @Internal public short getHighlight() { - return field_47_Highlight; + return field_48_Highlight; } /** * Set the Highlight field for the CHP record. */ - public void setHighlight( short field_47_Highlight ) + @Internal + public void setHighlight( short field_48_Highlight ) { - this.field_47_Highlight = field_47_Highlight; + this.field_48_Highlight = field_48_Highlight; } /** * Get the CharsetFlags field for the CHP record. */ + @Internal public short getCharsetFlags() { - return field_48_CharsetFlags; + return field_49_CharsetFlags; } /** * Set the CharsetFlags field for the CHP record. */ - public void setCharsetFlags( short field_48_CharsetFlags ) + @Internal + public void setCharsetFlags( short field_49_CharsetFlags ) { - this.field_48_CharsetFlags = field_48_CharsetFlags; + this.field_49_CharsetFlags = field_49_CharsetFlags; } /** * Get the chse field for the CHP record. */ + @Internal public short getChse() { - return field_49_chse; + return field_50_chse; } /** * Set the chse field for the CHP record. */ - public void setChse( short field_49_chse ) + @Internal + public void setChse( short field_50_chse ) { - this.field_49_chse = field_49_chse; + this.field_50_chse = field_50_chse; } /** * properties have been changed with revision marking on. */ + @Internal public boolean getFPropRMark() { - return field_50_fPropRMark; + return field_51_fPropRMark; } /** * properties have been changed with revision marking on. */ - public void setFPropRMark( boolean field_50_fPropRMark ) + @Internal + public void setFPropRMark( boolean field_51_fPropRMark ) { - this.field_50_fPropRMark = field_50_fPropRMark; + this.field_51_fPropRMark = field_51_fPropRMark; } /** * Index to author IDs stored in hsttbfRMark. Used when properties have been changed when revision marking was enabled.. */ + @Internal public int getIbstPropRMark() { - return field_51_ibstPropRMark; + return field_52_ibstPropRMark; } /** * Index to author IDs stored in hsttbfRMark. Used when properties have been changed when revision marking was enabled.. */ - public void setIbstPropRMark( int field_51_ibstPropRMark ) + @Internal + public void setIbstPropRMark( int field_52_ibstPropRMark ) { - this.field_51_ibstPropRMark = field_51_ibstPropRMark; + this.field_52_ibstPropRMark = field_52_ibstPropRMark; } /** * Date/time at which properties of this were changed for this run of text by the author. (Only recorded when revision marking is on.). */ + @Internal public DateAndTime getDttmPropRMark() { - return field_52_dttmPropRMark; + return field_53_dttmPropRMark; } /** * Date/time at which properties of this were changed for this run of text by the author. (Only recorded when revision marking is on.). */ - public void setDttmPropRMark( DateAndTime field_52_dttmPropRMark ) + @Internal + public void setDttmPropRMark( DateAndTime field_53_dttmPropRMark ) { - this.field_52_dttmPropRMark = field_52_dttmPropRMark; + this.field_53_dttmPropRMark = field_53_dttmPropRMark; } /** * When chp.wConflict!=0, this is TRUE when text is part of the original version of text. When FALSE, text is alternative introduced by reconciliation operation.. */ + @Internal public boolean getFConflictOrig() { - return field_53_fConflictOrig; + return field_54_fConflictOrig; } /** * When chp.wConflict!=0, this is TRUE when text is part of the original version of text. When FALSE, text is alternative introduced by reconciliation operation.. */ - public void setFConflictOrig( boolean field_53_fConflictOrig ) + @Internal + public void setFConflictOrig( boolean field_54_fConflictOrig ) { - this.field_53_fConflictOrig = field_53_fConflictOrig; + this.field_54_fConflictOrig = field_54_fConflictOrig; } /** * When fConflictOtherDel==fTrue, the other side of a reconciliation conflict causes this text to be deleted. */ + @Internal public boolean getFConflictOtherDel() { - return field_54_fConflictOtherDel; + return field_55_fConflictOtherDel; } /** * When fConflictOtherDel==fTrue, the other side of a reconciliation conflict causes this text to be deleted. */ - public void setFConflictOtherDel( boolean field_54_fConflictOtherDel ) + @Internal + public void setFConflictOtherDel( boolean field_55_fConflictOtherDel ) { - this.field_54_fConflictOtherDel = field_54_fConflictOtherDel; + this.field_55_fConflictOtherDel = field_55_fConflictOtherDel; } /** * When != 0, index number that identifies all text participating in a particular conflict incident. */ + @Internal public int getWConflict() { - return field_55_wConflict; + return field_56_wConflict; } /** * When != 0, index number that identifies all text participating in a particular conflict incident. */ - public void setWConflict( int field_55_wConflict ) + @Internal + public void setWConflict( int field_56_wConflict ) { - this.field_55_wConflict = field_55_wConflict; + this.field_56_wConflict = field_56_wConflict; } /** * Who made this change for this side of the conflict.. */ + @Internal public int getIbstConflict() { - return field_56_IbstConflict; + return field_57_IbstConflict; } /** * Who made this change for this side of the conflict.. */ - public void setIbstConflict( int field_56_IbstConflict ) + @Internal + public void setIbstConflict( int field_57_IbstConflict ) { - this.field_56_IbstConflict = field_56_IbstConflict; + this.field_57_IbstConflict = field_57_IbstConflict; } /** * When the change was made. */ + @Internal public DateAndTime getDttmConflict() { - return field_57_dttmConflict; + return field_58_dttmConflict; } /** * When the change was made. */ - public void setDttmConflict( DateAndTime field_57_dttmConflict ) + @Internal + public void setDttmConflict( DateAndTime field_58_dttmConflict ) { - this.field_57_dttmConflict = field_57_dttmConflict; + this.field_58_dttmConflict = field_58_dttmConflict; } /** * the number for a ListNum field is being tracked in xstDispFldRMark. If that number is different from the current value, the number has changed. Only valid for ListNum fields.. */ + @Internal public boolean getFDispFldRMark() { - return field_58_fDispFldRMark; + return field_59_fDispFldRMark; } /** * the number for a ListNum field is being tracked in xstDispFldRMark. If that number is different from the current value, the number has changed. Only valid for ListNum fields.. */ - public void setFDispFldRMark( boolean field_58_fDispFldRMark ) + @Internal + public void setFDispFldRMark( boolean field_59_fDispFldRMark ) { - this.field_58_fDispFldRMark = field_58_fDispFldRMark; + this.field_59_fDispFldRMark = field_59_fDispFldRMark; } /** * Index to author IDs stored in hsttbfRMark. Used when ListNum field numbering has been changed when revision marking was enabled.. */ + @Internal public int getIbstDispFldRMark() { - return field_59_ibstDispFldRMark; + return field_60_ibstDispFldRMark; } /** * Index to author IDs stored in hsttbfRMark. Used when ListNum field numbering has been changed when revision marking was enabled.. */ - public void setIbstDispFldRMark( int field_59_ibstDispFldRMark ) + @Internal + public void setIbstDispFldRMark( int field_60_ibstDispFldRMark ) { - this.field_59_ibstDispFldRMark = field_59_ibstDispFldRMark; + this.field_60_ibstDispFldRMark = field_60_ibstDispFldRMark; } /** * The date for the ListNum field number change. */ + @Internal public DateAndTime getDttmDispFldRMark() { - return field_60_dttmDispFldRMark; + return field_61_dttmDispFldRMark; } /** * The date for the ListNum field number change. */ - public void setDttmDispFldRMark( DateAndTime field_60_dttmDispFldRMark ) + @Internal + public void setDttmDispFldRMark( DateAndTime field_61_dttmDispFldRMark ) { - this.field_60_dttmDispFldRMark = field_60_dttmDispFldRMark; + this.field_61_dttmDispFldRMark = field_61_dttmDispFldRMark; } /** * The string value of the ListNum field when revision mark tracking began. */ + @Internal public byte[] getXstDispFldRMark() { - return field_61_xstDispFldRMark; + return field_62_xstDispFldRMark; } /** * The string value of the ListNum field when revision mark tracking began. */ - public void setXstDispFldRMark( byte[] field_61_xstDispFldRMark ) + @Internal + public void setXstDispFldRMark( byte[] field_62_xstDispFldRMark ) { - this.field_61_xstDispFldRMark = field_61_xstDispFldRMark; + this.field_62_xstDispFldRMark = field_62_xstDispFldRMark; } /** * Offset in the data stream indicating the location of OLE object data. */ + @Internal public int getFcObjp() { - return field_62_fcObjp; + return field_63_fcObjp; } /** * Offset in the data stream indicating the location of OLE object data. */ - public void setFcObjp( int field_62_fcObjp ) + @Internal + public void setFcObjp( int field_63_fcObjp ) { - this.field_62_fcObjp = field_62_fcObjp; + this.field_63_fcObjp = field_63_fcObjp; } /** @@ -1477,949 +1626,918 @@ public abstract class CHPAbstractType *
  • {@link #LBRCRJ_RIGHT} *
  • {@link #LBRCRJ_BOTH} */ + @Internal public byte getLbrCRJ() { - return field_63_lbrCRJ; + return field_64_lbrCRJ; } /** * Line BReak code for xchCRJ. * - * @param field_63_lbrCRJ + * @param field_64_lbrCRJ * One of *
  • {@link #LBRCRJ_NONE} *
  • {@link #LBRCRJ_LEFT} *
  • {@link #LBRCRJ_RIGHT} *
  • {@link #LBRCRJ_BOTH} */ - public void setLbrCRJ( byte field_63_lbrCRJ ) + @Internal + public void setLbrCRJ( byte field_64_lbrCRJ ) { - this.field_63_lbrCRJ = field_63_lbrCRJ; + this.field_64_lbrCRJ = field_64_lbrCRJ; } /** * Special hidden for leading emphasis (always hidden). */ + @Internal public boolean getFSpecVanish() { - return field_64_fSpecVanish; + return field_65_fSpecVanish; } /** * Special hidden for leading emphasis (always hidden). */ - public void setFSpecVanish( boolean field_64_fSpecVanish ) + @Internal + public void setFSpecVanish( boolean field_65_fSpecVanish ) { - this.field_64_fSpecVanish = field_64_fSpecVanish; + this.field_65_fSpecVanish = field_65_fSpecVanish; } /** * Used for character property revision marking. The chp at the time fHasOldProps is set to 1, the is the old chp.. */ + @Internal public boolean getFHasOldProps() { - return field_65_fHasOldProps; + return field_66_fHasOldProps; } /** * Used for character property revision marking. The chp at the time fHasOldProps is set to 1, the is the old chp.. */ - public void setFHasOldProps( boolean field_65_fHasOldProps ) + @Internal + public void setFHasOldProps( boolean field_66_fHasOldProps ) { - this.field_65_fHasOldProps = field_65_fHasOldProps; + this.field_66_fHasOldProps = field_66_fHasOldProps; } /** * Mark the character as hidden.. */ + @Internal public boolean getFSdtVanish() { - return field_66_fSdtVanish; + return field_67_fSdtVanish; } /** * Mark the character as hidden.. */ - public void setFSdtVanish( boolean field_66_fSdtVanish ) + @Internal + public void setFSdtVanish( boolean field_67_fSdtVanish ) { - this.field_66_fSdtVanish = field_66_fSdtVanish; + this.field_67_fSdtVanish = field_67_fSdtVanish; } /** * Get the wCharScale field for the CHP record. */ + @Internal public int getWCharScale() { - return field_67_wCharScale; + return field_68_wCharScale; } /** * Set the wCharScale field for the CHP record. */ - public void setWCharScale( int field_67_wCharScale ) + @Internal + public void setWCharScale( int field_68_wCharScale ) { - this.field_67_wCharScale = field_67_wCharScale; + this.field_68_wCharScale = field_68_wCharScale; } /** * Sets the fBold field value. * Text is bold */ + @Internal public void setFBold( boolean value ) { field_1_grpfChp = (int)fBold.setBoolean(field_1_grpfChp, value); - - } /** * Text is bold * @return the fBold field value. */ + @Internal public boolean isFBold() { return fBold.isSet(field_1_grpfChp); - } /** * Sets the fItalic field value. * Italic */ + @Internal public void setFItalic( boolean value ) { field_1_grpfChp = (int)fItalic.setBoolean(field_1_grpfChp, value); - - } /** * Italic * @return the fItalic field value. */ + @Internal public boolean isFItalic() { return fItalic.isSet(field_1_grpfChp); - } /** * Sets the fRMarkDel field value. * has been deleted and will be displayed with strikethrough when revision marked text is to be displayed */ + @Internal public void setFRMarkDel( boolean value ) { field_1_grpfChp = (int)fRMarkDel.setBoolean(field_1_grpfChp, value); - - } /** * has been deleted and will be displayed with strikethrough when revision marked text is to be displayed * @return the fRMarkDel field value. */ + @Internal public boolean isFRMarkDel() { return fRMarkDel.isSet(field_1_grpfChp); - } /** * Sets the fOutline field value. * Outlined */ + @Internal public void setFOutline( boolean value ) { field_1_grpfChp = (int)fOutline.setBoolean(field_1_grpfChp, value); - - } /** * Outlined * @return the fOutline field value. */ + @Internal public boolean isFOutline() { return fOutline.isSet(field_1_grpfChp); - } /** * Sets the fFldVanish field value. * Used internally by Word */ + @Internal public void setFFldVanish( boolean value ) { field_1_grpfChp = (int)fFldVanish.setBoolean(field_1_grpfChp, value); - - } /** * Used internally by Word * @return the fFldVanish field value. */ + @Internal public boolean isFFldVanish() { return fFldVanish.isSet(field_1_grpfChp); - } /** * Sets the fSmallCaps field value. * Displayed with small caps */ + @Internal public void setFSmallCaps( boolean value ) { field_1_grpfChp = (int)fSmallCaps.setBoolean(field_1_grpfChp, value); - - } /** * Displayed with small caps * @return the fSmallCaps field value. */ + @Internal public boolean isFSmallCaps() { return fSmallCaps.isSet(field_1_grpfChp); - } /** * Sets the fCaps field value. * Displayed with caps */ + @Internal public void setFCaps( boolean value ) { field_1_grpfChp = (int)fCaps.setBoolean(field_1_grpfChp, value); - - } /** * Displayed with caps * @return the fCaps field value. */ + @Internal public boolean isFCaps() { return fCaps.isSet(field_1_grpfChp); - } /** * Sets the fVanish field value. * text has hidden format, and is not displayed unless fPagHidden is set in the DOP */ + @Internal public void setFVanish( boolean value ) { field_1_grpfChp = (int)fVanish.setBoolean(field_1_grpfChp, value); - - } /** - * text has -hidden format, and is not displayed unless fPagHidden is set in the DOP + * text has hidden format, and is not displayed unless fPagHidden is set in the DOP * @return the fVanish field value. */ + @Internal public boolean isFVanish() { return fVanish.isSet(field_1_grpfChp); - } /** * Sets the fRMark field value. * text is newly typed since the last time revision marks have been accepted and will be displayed with an underline when revision marked text is to be displayed */ + @Internal public void setFRMark( boolean value ) { field_1_grpfChp = (int)fRMark.setBoolean(field_1_grpfChp, value); - - } /** * text is newly typed since the last time revision marks have been accepted and will be displayed with an underline when revision marked text is to be displayed * @return the fRMark field value. */ + @Internal public boolean isFRMark() { return fRMark.isSet(field_1_grpfChp); - } /** * Sets the fSpec field value. * Character is a Word special character */ + @Internal public void setFSpec( boolean value ) { field_1_grpfChp = (int)fSpec.setBoolean(field_1_grpfChp, value); - - } /** * Character is a Word special character * @return the fSpec field value. */ + @Internal public boolean isFSpec() { return fSpec.isSet(field_1_grpfChp); - } /** * Sets the fStrike field value. * Displayed with strikethrough */ + @Internal public void setFStrike( boolean value ) { field_1_grpfChp = (int)fStrike.setBoolean(field_1_grpfChp, value); - - } /** * Displayed with strikethrough * @return the fStrike field value. */ + @Internal public boolean isFStrike() { return fStrike.isSet(field_1_grpfChp); - } /** * Sets the fObj field value. * Embedded objec */ + @Internal public void setFObj( boolean value ) { field_1_grpfChp = (int)fObj.setBoolean(field_1_grpfChp, value); - - } /** * Embedded objec * @return the fObj field value. */ + @Internal public boolean isFObj() { return fObj.isSet(field_1_grpfChp); - } /** * Sets the fShadow field value. * Character is drawn with a shadow */ + @Internal public void setFShadow( boolean value ) { field_1_grpfChp = (int)fShadow.setBoolean(field_1_grpfChp, value); - - } /** * Character is drawn with a shadow * @return the fShadow field value. */ + @Internal public boolean isFShadow() { return fShadow.isSet(field_1_grpfChp); - } /** * Sets the fLowerCase field value. * Character is displayed in lower case. This field may be set to 1 only when chp.fSmallCaps is 1. */ + @Internal public void setFLowerCase( boolean value ) { field_1_grpfChp = (int)fLowerCase.setBoolean(field_1_grpfChp, value); - - } /** * Character is displayed in lower case. This field may be set to 1 only when chp.fSmallCaps is 1. * @return the fLowerCase field value. */ + @Internal public boolean isFLowerCase() { return fLowerCase.isSet(field_1_grpfChp); - } /** * Sets the fData field value. * chp.fcPic points to an FFDATA, the data structure binary data used by Word to describe a form field. The bit chp.fData may only be 1 when chp.fSpec is also 1 and the special character in the document stream that has this property is a chPicture (0x01) */ + @Internal public void setFData( boolean value ) { field_1_grpfChp = (int)fData.setBoolean(field_1_grpfChp, value); - - } /** * chp.fcPic points to an FFDATA, the data structure binary data used by Word to describe a form field. The bit chp.fData may only be 1 when chp.fSpec is also 1 and the special character in the document stream that has this property is a chPicture (0x01) * @return the fData field value. */ + @Internal public boolean isFData() { return fData.isSet(field_1_grpfChp); - } /** * Sets the fOle2 field value. * chp.lTagObj specifies a particular object in the object stream that specifies the particular OLE object in the stream that should be displayed when the chPicture fSpec character that is tagged with the fOle2 is encountered. The bit chp.fOle2 may only be 1 when chp.fSpec is also 1 and the special character in the document stream that has this property is a chPicture (0x01). */ + @Internal public void setFOle2( boolean value ) { field_1_grpfChp = (int)fOle2.setBoolean(field_1_grpfChp, value); - - } /** * chp.lTagObj specifies a particular object in the object stream that specifies the particular OLE object in the stream that should be displayed when the chPicture fSpec character that is tagged with the fOle2 is encountered. The bit chp.fOle2 may only be 1 when chp.fSpec is also 1 and the special character in the document stream that has this property is a chPicture (0x01). * @return the fOle2 field value. */ + @Internal public boolean isFOle2() { return fOle2.isSet(field_1_grpfChp); - } /** * Sets the fEmboss field value. * Text is embossed */ + @Internal public void setFEmboss( boolean value ) { field_1_grpfChp = (int)fEmboss.setBoolean(field_1_grpfChp, value); - - } /** * Text is embossed * @return the fEmboss field value. */ + @Internal public boolean isFEmboss() { return fEmboss.isSet(field_1_grpfChp); - } /** * Sets the fImprint field value. * Text is engraved */ + @Internal public void setFImprint( boolean value ) { field_1_grpfChp = (int)fImprint.setBoolean(field_1_grpfChp, value); - - } /** * Text is engraved * @return the fImprint field value. */ + @Internal public boolean isFImprint() { return fImprint.isSet(field_1_grpfChp); - } /** * Sets the fDStrike field value. * Displayed with double strikethrough */ + @Internal public void setFDStrike( boolean value ) { field_1_grpfChp = (int)fDStrike.setBoolean(field_1_grpfChp, value); - - } /** * Displayed with double strikethrough * @return the fDStrike field value. */ + @Internal public boolean isFDStrike() { return fDStrike.isSet(field_1_grpfChp); - } /** * Sets the fUsePgsuSettings field value. * Used internally by Word */ + @Internal public void setFUsePgsuSettings( boolean value ) { field_1_grpfChp = (int)fUsePgsuSettings.setBoolean(field_1_grpfChp, value); - - } /** * Used internally by Word * @return the fUsePgsuSettings field value. */ + @Internal public boolean isFUsePgsuSettings() { return fUsePgsuSettings.isSet(field_1_grpfChp); - } /** * Sets the fBoldBi field value. * Complex Scripts text is bold */ + @Internal public void setFBoldBi( boolean value ) { field_1_grpfChp = (int)fBoldBi.setBoolean(field_1_grpfChp, value); - - } /** * Complex Scripts text is bold * @return the fBoldBi field value. */ + @Internal public boolean isFBoldBi() { return fBoldBi.isSet(field_1_grpfChp); - } /** * Sets the fComplexScripts field value. * Complex Scripts text that requires special processing to display and process */ + @Internal public void setFComplexScripts( boolean value ) { field_1_grpfChp = (int)fComplexScripts.setBoolean(field_1_grpfChp, value); - - } /** * Complex Scripts text that requires special processing to display and process * @return the fComplexScripts field value. */ + @Internal public boolean isFComplexScripts() { return fComplexScripts.isSet(field_1_grpfChp); - } /** * Sets the fItalicBi field value. * Complex Scripts text is italics */ + @Internal public void setFItalicBi( boolean value ) { field_1_grpfChp = (int)fItalicBi.setBoolean(field_1_grpfChp, value); - - } /** * Complex Scripts text is italics * @return the fItalicBi field value. */ + @Internal public boolean isFItalicBi() { return fItalicBi.isSet(field_1_grpfChp); - } /** * Sets the fBiDi field value. * Complex Scripts right-to-left text that requires special processing to display and process (character reordering; contextual shaping; display of combining characters and diacritics; specialized justification rules; cursor positioning) */ + @Internal public void setFBiDi( boolean value ) { field_1_grpfChp = (int)fBiDi.setBoolean(field_1_grpfChp, value); - - } /** * Complex Scripts right-to-left text that requires special processing to display and process (character reordering; contextual shaping; display of combining characters and diacritics; specialized justification rules; cursor positioning) * @return the fBiDi field value. */ + @Internal public boolean isFBiDi() { return fBiDi.isSet(field_1_grpfChp); - } /** * Sets the itypFELayout field value. * */ + @Internal public void setItypFELayout( short value ) { - field_28_ufel = (short)itypFELayout.setValue(field_28_ufel, value); - - + field_29_ufel = (short)itypFELayout.setValue(field_29_ufel, value); } /** * * @return the itypFELayout field value. */ + @Internal public short getItypFELayout() { - return ( short )itypFELayout.getValue(field_28_ufel); - + return ( short )itypFELayout.getValue(field_29_ufel); } /** * Sets the fTNY field value. * Tatenakayoko: Horizontal-in-vertical (range of text in a direction perpendicular to the text flow) is used */ + @Internal public void setFTNY( boolean value ) { - field_28_ufel = (short)fTNY.setBoolean(field_28_ufel, value); - - + field_29_ufel = (short)fTNY.setBoolean(field_29_ufel, value); } /** * Tatenakayoko: Horizontal-in-vertical (range of text in a direction perpendicular to the text flow) is used * @return the fTNY field value. */ + @Internal public boolean isFTNY() { - return fTNY.isSet(field_28_ufel); - + return fTNY.isSet(field_29_ufel); } /** * Sets the fWarichu field value. * Two lines in one (text in the group is displayed as two half-height lines within a line) */ + @Internal public void setFWarichu( boolean value ) { - field_28_ufel = (short)fWarichu.setBoolean(field_28_ufel, value); - - + field_29_ufel = (short)fWarichu.setBoolean(field_29_ufel, value); } /** * Two lines in one (text in the group is displayed as two half-height lines within a line) * @return the fWarichu field value. */ + @Internal public boolean isFWarichu() { - return fWarichu.isSet(field_28_ufel); - + return fWarichu.isSet(field_29_ufel); } /** * Sets the fKumimoji field value. * combine characters */ + @Internal public void setFKumimoji( boolean value ) { - field_28_ufel = (short)fKumimoji.setBoolean(field_28_ufel, value); - - + field_29_ufel = (short)fKumimoji.setBoolean(field_29_ufel, value); } /** * combine characters * @return the fKumimoji field value. */ + @Internal public boolean isFKumimoji() { - return fKumimoji.isSet(field_28_ufel); - + return fKumimoji.isSet(field_29_ufel); } /** * Sets the fRuby field value. * Phonetic guide */ + @Internal public void setFRuby( boolean value ) { - field_28_ufel = (short)fRuby.setBoolean(field_28_ufel, value); - - + field_29_ufel = (short)fRuby.setBoolean(field_29_ufel, value); } /** * Phonetic guide * @return the fRuby field value. */ + @Internal public boolean isFRuby() { - return fRuby.isSet(field_28_ufel); - + return fRuby.isSet(field_29_ufel); } /** * Sets the fLSFitText field value. * fit text */ + @Internal public void setFLSFitText( boolean value ) { - field_28_ufel = (short)fLSFitText.setBoolean(field_28_ufel, value); - - + field_29_ufel = (short)fLSFitText.setBoolean(field_29_ufel, value); } /** * fit text * @return the fLSFitText field value. */ + @Internal public boolean isFLSFitText() { - return fLSFitText.isSet(field_28_ufel); - + return fLSFitText.isSet(field_29_ufel); } /** * Sets the spare field value. * Unused */ + @Internal public void setSpare( byte value ) { - field_28_ufel = (short)spare.setValue(field_28_ufel, value); - - + field_29_ufel = (short)spare.setValue(field_29_ufel, value); } /** * Unused * @return the spare field value. */ + @Internal public byte getSpare() { - return ( byte )spare.getValue(field_28_ufel); - + return ( byte )spare.getValue(field_29_ufel); } /** * Sets the iWarichuBracket field value. * Bracket character for two-lines-in-one */ + @Internal public void setIWarichuBracket( byte value ) { - field_29_copt = (byte)iWarichuBracket.setValue(field_29_copt, value); - - + field_30_copt = (byte)iWarichuBracket.setValue(field_30_copt, value); } /** * Bracket character for two-lines-in-one * @return the iWarichuBracket field value. */ + @Internal public byte getIWarichuBracket() { - return ( byte )iWarichuBracket.getValue(field_29_copt); - + return ( byte )iWarichuBracket.getValue(field_30_copt); } /** * Sets the fWarichuNoOpenBracket field value. * Two-lines-in-one uses no open */ + @Internal public void setFWarichuNoOpenBracket( boolean value ) { - field_29_copt = (byte)fWarichuNoOpenBracket.setBoolean(field_29_copt, value); - - + field_30_copt = (byte)fWarichuNoOpenBracket.setBoolean(field_30_copt, value); } /** * Two-lines-in-one uses no open * @return the fWarichuNoOpenBracket field value. */ + @Internal public boolean isFWarichuNoOpenBracket() { - return fWarichuNoOpenBracket.isSet(field_29_copt); - + return fWarichuNoOpenBracket.isSet(field_30_copt); } /** * Sets the fTNYCompress field value. * fit text in line */ + @Internal public void setFTNYCompress( boolean value ) { - field_29_copt = (byte)fTNYCompress.setBoolean(field_29_copt, value); - - + field_30_copt = (byte)fTNYCompress.setBoolean(field_30_copt, value); } /** * fit text in line * @return the fTNYCompress field value. */ + @Internal public boolean isFTNYCompress() { - return fTNYCompress.isSet(field_29_copt); - + return fTNYCompress.isSet(field_30_copt); } /** * Sets the fTNYFetchTxm field value. * fetch text metrics */ + @Internal public void setFTNYFetchTxm( boolean value ) { - field_29_copt = (byte)fTNYFetchTxm.setBoolean(field_29_copt, value); - - + field_30_copt = (byte)fTNYFetchTxm.setBoolean(field_30_copt, value); } /** * fetch text metrics * @return the fTNYFetchTxm field value. */ + @Internal public boolean isFTNYFetchTxm() { - return fTNYFetchTxm.isSet(field_29_copt); - + return fTNYFetchTxm.isSet(field_30_copt); } /** * Sets the fCellFitText field value. * Fit text in cell */ + @Internal public void setFCellFitText( boolean value ) { - field_29_copt = (byte)fCellFitText.setBoolean(field_29_copt, value); - - + field_30_copt = (byte)fCellFitText.setBoolean(field_30_copt, value); } /** * Fit text in cell * @return the fCellFitText field value. */ + @Internal public boolean isFCellFitText() { - return fCellFitText.isSet(field_29_copt); - + return fCellFitText.isSet(field_30_copt); } /** * Sets the unused field value. * Not used */ + @Internal public void setUnused( boolean value ) { - field_29_copt = (byte)unused.setBoolean(field_29_copt, value); - - + field_30_copt = (byte)unused.setBoolean(field_30_copt, value); } /** * Not used * @return the unused field value. */ + @Internal public boolean isUnused() { - return unused.isSet(field_29_copt); - + return unused.isSet(field_30_copt); } /** * Sets the icoHighlight field value. * Highlight color (see chp.ico) */ + @Internal public void setIcoHighlight( byte value ) { - field_47_Highlight = (short)icoHighlight.setValue(field_47_Highlight, value); - - + field_48_Highlight = (short)icoHighlight.setValue(field_48_Highlight, value); } /** * Highlight color (see chp.ico) * @return the icoHighlight field value. */ + @Internal public byte getIcoHighlight() { - return ( byte )icoHighlight.getValue(field_47_Highlight); - + return ( byte )icoHighlight.getValue(field_48_Highlight); } /** * Sets the fHighlight field value. * When 1, characters are highlighted with color specified by chp.icoHighlight */ + @Internal public void setFHighlight( boolean value ) { - field_47_Highlight = (short)fHighlight.setBoolean(field_47_Highlight, value); - - + field_48_Highlight = (short)fHighlight.setBoolean(field_48_Highlight, value); } /** * When 1, characters are highlighted with color specified by chp.icoHighlight * @return the fHighlight field value. */ + @Internal public boolean isFHighlight() { - return fHighlight.isSet(field_47_Highlight); - + return fHighlight.isSet(field_48_Highlight); } /** * Sets the fChsDiff field value. * Pre-Unicode files, char's char set different from FIB char set */ + @Internal public void setFChsDiff( boolean value ) { - field_48_CharsetFlags = (short)fChsDiff.setBoolean(field_48_CharsetFlags, value); - - + field_49_CharsetFlags = (short)fChsDiff.setBoolean(field_49_CharsetFlags, value); } /** * Pre-Unicode files, char's char set different from FIB char set * @return the fChsDiff field value. */ + @Internal public boolean isFChsDiff() { - return fChsDiff.isSet(field_48_CharsetFlags); - + return fChsDiff.isSet(field_49_CharsetFlags); } /** * Sets the fMacChs field value. * fTrue if char's are Macintosh char set */ + @Internal public void setFMacChs( boolean value ) { - field_48_CharsetFlags = (short)fMacChs.setBoolean(field_48_CharsetFlags, value); - - + field_49_CharsetFlags = (short)fMacChs.setBoolean(field_49_CharsetFlags, value); } /** * fTrue if char's are Macintosh char set * @return the fMacChs field value. */ + @Internal public boolean isFMacChs() { - return fMacChs.isSet(field_48_CharsetFlags); - + return fMacChs.isSet(field_49_CharsetFlags); } } // END OF CLASS diff --git a/src/scratchpad/src/org/apache/poi/hwpf/sprm/CharacterSprmCompressor.java b/src/scratchpad/src/org/apache/poi/hwpf/sprm/CharacterSprmCompressor.java index 27bc5a48ef..4a6445f59e 100644 --- a/src/scratchpad/src/org/apache/poi/hwpf/sprm/CharacterSprmCompressor.java +++ b/src/scratchpad/src/org/apache/poi/hwpf/sprm/CharacterSprmCompressor.java @@ -275,11 +275,13 @@ public final class CharacterSprmCompressor { size += SprmUtils.addSprm((short)0x2859, newCHP.getSfxtText(), null, sprmList); } - if (newCHP.getIco24() != oldCHP.getIco24()) - { - if(newCHP.getIco24() != -1) // don't add a sprm if we're looking at an ico = Auto - size += SprmUtils.addSprm((short)0x6870, newCHP.getIco24(), null, sprmList); - } + if ( !newCHP.getCv().equals( oldCHP.getCv() ) ) + { + // don't add a sprm if we're looking at an ico = Auto + if ( !newCHP.getCv().isEmpty() ) + size += SprmUtils.addSprm( CharacterProperties.SPRM_CCV, newCHP + .getCv().getValue(), null, sprmList ); + } return SprmUtils.getGrpprl(sprmList, size); } diff --git a/src/scratchpad/src/org/apache/poi/hwpf/sprm/CharacterSprmUncompressor.java b/src/scratchpad/src/org/apache/poi/hwpf/sprm/CharacterSprmUncompressor.java index e40bab3581..7b231ef439 100644 --- a/src/scratchpad/src/org/apache/poi/hwpf/sprm/CharacterSprmUncompressor.java +++ b/src/scratchpad/src/org/apache/poi/hwpf/sprm/CharacterSprmUncompressor.java @@ -17,6 +17,7 @@ package org.apache.poi.hwpf.sprm; +import org.apache.poi.hwpf.model.Colorref; import org.apache.poi.hwpf.model.Hyphenation; import org.apache.poi.hwpf.usermodel.BorderCode; import org.apache.poi.hwpf.usermodel.CharacterProperties; @@ -601,9 +602,10 @@ public final class CharacterSprmUncompressor extends SprmUncompressor case 0x6f: newCHP.setIdctHint ((byte) sprm.getOperand()); break; - case 0x70: - newCHP.setIco24 (sprm.getOperand()); - break; + case 0x70: + // sprmCCv -- 0x6870 + newCHP.setCv( new Colorref( sprm.getOperand() ) ); + break; case 0x71: // sprmCShd break; diff --git a/src/scratchpad/src/org/apache/poi/hwpf/usermodel/CharacterProperties.java b/src/scratchpad/src/org/apache/poi/hwpf/usermodel/CharacterProperties.java index aef7714f23..9d1582aec8 100644 --- a/src/scratchpad/src/org/apache/poi/hwpf/usermodel/CharacterProperties.java +++ b/src/scratchpad/src/org/apache/poi/hwpf/usermodel/CharacterProperties.java @@ -17,6 +17,7 @@ package org.apache.poi.hwpf.usermodel; +import org.apache.poi.hwpf.model.Colorref; import org.apache.poi.hwpf.model.types.CHPAbstractType; /** @@ -65,6 +66,10 @@ public final class CharacterProperties public final static short SPRM_PROPRMARK = (short)0xCA57; public final static short SPRM_FEMBOSS = 0x0858; public final static short SPRM_SFXTEXT = 0x2859; + /* + * Microsoft Office Word 97-2007 Binary File Format (.doc) Specification; + * Page 60 of 210 + */ public final static short SPRM_DISPFLDRMARK = (short)0xCA62; public final static short SPRM_IBSTRMARKDEL = 0x4863; public final static short SPRM_DTTMRMARKDEL = 0x6864; @@ -75,8 +80,10 @@ public final class CharacterProperties public final static short SPRM_NONFELID = 0x486D; public final static short SPRM_FELID = 0x486E; public final static short SPRM_IDCTHINT = 0x286F; - - int _ico24 = -1; // default to -1 so we can ignore it for word 97 files + /** + * change chp.cv + */ + public final static short SPRM_CCV = 0x6870; public CharacterProperties() { @@ -305,66 +312,69 @@ public final class CharacterProperties super.setIcoHighlight(color); } - /** - * Get the ico24 field for the CHP record. - */ - public int getIco24() - { - if ( _ico24 == -1 ) + /** + * Get the ico24 field for the CHP record. + */ + public int getIco24() { - switch(getIco()) // convert word 97 colour numbers to 0xBBGGRR value - { - case 0: // auto - return -1; - case 1: // black - return 0x000000; - case 2: // blue - return 0xFF0000; - case 3: // cyan - return 0xFFFF00; - case 4: // green - return 0x00FF00; - case 5: // magenta - return 0xFF00FF; - case 6: // red - return 0x0000FF; - case 7: // yellow - return 0x00FFFF; - case 8: // white - return 0x0FFFFFF; - case 9: // dark blue - return 0x800000; - case 10: // dark cyan - return 0x808000; - case 11: // dark green - return 0x008000; - case 12: // dark magenta - return 0x800080; - case 13: // dark red - return 0x000080; - case 14: // dark yellow - return 0x008080; - case 15: // dark grey - return 0x808080; - case 16: // light grey - return 0xC0C0C0; - } - } - return _ico24; - } + if ( !getCv().isEmpty() ) + return getCv().getValue(); - /** - * Set the ico24 field for the CHP record. - */ - public void setIco24(int colour24) - { - _ico24 = colour24 & 0xFFFFFF; // only keep the 24bit 0xBBGGRR colour - } + // convert word 97 colour numbers to 0xBBRRGGRR value + switch ( getIco() ) + { + case 0: // auto + return -1; + case 1: // black + return 0x00000000; + case 2: // blue + return 0x00FF0000; + case 3: // cyan + return 0x00FFFF00; + case 4: // green + return 0x0000FF00; + case 5: // magenta + return 0x00FF00FF; + case 6: // red + return 0x000000FF; + case 7: // yellow + return 0x0000FFFF; + case 8: // white + return 0x00FFFFFF; + case 9: // dark blue + return 0x00800000; + case 10: // dark cyan + return 0x00808000; + case 11: // dark green + return 0x00008000; + case 12: // dark magenta + return 0x00800080; + case 13: // dark red + return 0x00000080; + case 14: // dark yellow + return 0x00008080; + case 15: // dark grey + return 0x00808080; + case 16: // light grey + return 0x00C0C0C0; + } + + return -1; + } + + /** + * Set the ico24 field for the CHP record. + */ + public void setIco24( int colour24 ) + { + setCv( new Colorref( colour24 & 0xFFFFFF ) ); + } public Object clone() throws CloneNotSupportedException { CharacterProperties cp = (CharacterProperties) super.clone(); + cp.setCv( getCv().clone() ); cp.setDttmRMark( (DateAndTime) getDttmRMark().clone() ); cp.setDttmRMarkDel( (DateAndTime) getDttmRMarkDel().clone() ); cp.setDttmPropRMark( (DateAndTime) getDttmPropRMark().clone() ); @@ -373,8 +383,6 @@ public final class CharacterProperties cp.setShd( (ShadingDescriptor) getShd().clone() ); cp.setBrc( (BorderCode) getBrc().clone() ); - cp._ico24 = _ico24; - return cp; } } diff --git a/src/types/definitions/chp_type.xml b/src/types/definitions/chp_type.xml index cbb497b11d..4c797d5314 100644 --- a/src/types/definitions/chp_type.xml +++ b/src/types/definitions/chp_type.xml @@ -79,7 +79,8 @@ - + +