update CHP type

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1143838 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Sergey Vladimirov 2011-07-07 14:15:03 +00:00
parent a69d691581
commit 0bf2eb9d6c
3 changed files with 864 additions and 375 deletions

View File

@ -78,22 +78,23 @@ public final class CharacterProperties
int _ico24 = -1; // default to -1 so we can ignore it for word 97 files
public CharacterProperties()
{
field_17_fcPic = -1;
field_22_dttmRMark = new DateAndTime();
field_23_dttmRMarkDel = new DateAndTime();
field_36_dttmPropRMark = new DateAndTime();
field_40_dttmDispFldRMark = new DateAndTime();
field_41_xstDispFldRMark = new byte[36];
field_42_shd = new ShadingDescriptor();
field_43_brc = new BorderCode();
field_7_hps = 20;
field_24_istd = 10;
field_16_wCharScale = 100;
field_13_lidDefault = 0x0400;
field_14_lidFE = 0x0400;
}
public CharacterProperties()
{
setDttmRMark( new DateAndTime() );
setDttmRMarkDel( new DateAndTime() );
setDttmPropRMark( new DateAndTime() );
setDttmDispFldRMark( new DateAndTime() );
setXstDispFldRMark( new byte[36] );
setShd( new ShadingDescriptor() );
setBrc( new BorderCode() );
setFcPic( -1 );
setHps( 20 );
setIstd( 10 );
setWCharScale( 100 );
setLidDefault( 0x0400 );
setLidFE( 0x0400 );
}
public boolean isMarkedDeleted()
{
@ -323,7 +324,7 @@ public final class CharacterProperties
{
if ( _ico24 == -1 )
{
switch(field_11_ico) // convert word 97 colour numbers to 0xBBGGRR value
switch(getIco()) // convert word 97 colour numbers to 0xBBGGRR value
{
case 0: // auto
return -1;
@ -372,19 +373,20 @@ public final class CharacterProperties
_ico24 = colour24 & 0xFFFFFF; // only keep the 24bit 0xBBGGRR colour
}
public Object clone()
throws CloneNotSupportedException
{
CharacterProperties cp = (CharacterProperties)super.clone();
cp.field_22_dttmRMark = (DateAndTime)field_22_dttmRMark.clone();
cp.field_23_dttmRMarkDel = (DateAndTime)field_23_dttmRMarkDel.clone();
cp.field_36_dttmPropRMark = (DateAndTime)field_36_dttmPropRMark.clone();
cp.field_40_dttmDispFldRMark = (DateAndTime)field_40_dttmDispFldRMark.clone();
cp.field_41_xstDispFldRMark = field_41_xstDispFldRMark.clone();
cp.field_42_shd = (ShadingDescriptor)field_42_shd.clone();
public Object clone() throws CloneNotSupportedException
{
CharacterProperties cp = (CharacterProperties) super.clone();
cp._ico24 = _ico24;
cp.setDttmRMark( (DateAndTime) getDttmRMark().clone() );
cp.setDttmRMarkDel( (DateAndTime) getDttmRMarkDel().clone() );
cp.setDttmPropRMark( (DateAndTime) getDttmPropRMark().clone() );
cp.setDttmDispFldRMark( (DateAndTime) getDttmDispFldRMark().clone() );
cp.setXstDispFldRMark( getXstDispFldRMark().clone() );
cp.setShd( (ShadingDescriptor) getShd().clone() );
cp.setBrc( (BorderCode) getBrc().clone() );
return cp;
}
cp._ico24 = _ico24;
return cp;
}
}

View File

@ -23,7 +23,6 @@
<description>Character Properties.</description>
<author>S. Ryan Ackley</author>
<fields>
<field type="short" size="2" name="chse"/>
<field type="int" size="2" name="format_flags">
<bit number="0" mask="0x0001" name="fBold"/>
<bit number="1" mask="0x0002" name="fItalic"/>
@ -78,14 +77,28 @@
<field type="byte" size="1" name="chYsr"/>
<field type="int" size="2" name="hpsKern"/>
<field type="short" size="2" name="Highlight">
<bit number="0" mask="0x001f" name="icoHighlight"/>
<bit number="1" mask="0x0020" name="fHighlight"/>
<bit number="2" mask="0x01c0" name="kcd"/>
<bit number="3" mask="0x0200" name="fNavHighlight"/>
<bit number="4" mask="0x0400" name="fChsDiff"/>
<bit number="5" mask="0x0800" name="fMacChs"/>
<bit number="6" mask="0x1000" name="fFtcAsciSym"/>
<bit number="0" mask="0x001f" name="icoHighlight" description="Highlight color (see chp.ico)"/>
<bit number="1" mask="0x0020" name="fHighlight" description="When 1, characters are highlighted with color specified by chp.icoHighlight"/>
<bit number="2" mask="0x0040" name="fNavHighlight" description="Used internally by Word"/>
</field>
<field type="short" size="2" name="InternalFlags">
<bit number="0" mask="0x000f" name="iatrUndetType" description="Used internally by Word"/>
<bit number="1" mask="0x0010" name="fUlGap" description="Used internally by Word 8"/>
<bit number="2" mask="0x0800" name="fScriptAnchor" description="Used internally by Word"/>
<bit number="3" mask="0x1000" name="fFixedObj" description="Used internally by Word"/>
<bit number="4" mask="0x2000" name="spare2" description="Not used"/>
</field>
<field type="short" size="2" name="EncodingFlags">
<bit number="0" mask="0x0001" name="fChsDiff" description="Pre-Unicode files, char's char set different from FIB char set"/>
<bit number="1" mask="0x0002" name="fMacChs" description="fTrue if char's are Macintosh char set"/>
<bit number="2" mask="0x0004" name="fFtcAsciSym" description="Used internally by Word"/>
<bit number="3" mask="0x0008" name="fFtcReq" description="Used internally by Word"/>
<bit number="4" mask="0x0010" name="fLangApplied" description="Used internally by Word"/>
<bit number="5" mask="0x0020" name="fSpareLangApplied" description="Used internally by Word"/>
<bit number="6" mask="0x0040" name="fForcedCvAuto" description="Used internally by Word"/>
</field>
<!-- Not documented, but referenced by sprmCChs -->
<field type="short" size="2" name="chse" description="used to record a character set id for text that was pasted into the Word document that used a character set different than Words default character set"/>
<field type="short" size="2" name="fPropMark"/>
<field type="int" size="2" name="ibstPropRMark"/>
<field type="DateAndTime" size="4" name="dttmPropRMark"/>