summaryrefslogtreecommitdiff
path: root/writerfilter
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@collabora.co.uk>2014-01-19 11:40:35 +0100
committerMiklos Vajna <vmiklos@collabora.co.uk>2014-01-19 11:45:53 +0100
commitce40cd30367e645db475b072bc2c1e5a06597f38 (patch)
tree2b349a8cf45981add73081695b2a874cc8f39dc2 /writerfilter
parent8ca88963190cc523a1c288a3b31dff931f472094 (diff)
writerfilter: refactor to be able to remove redundant Font class in doctok
Change-Id: I98516cbdb7e80a7dfe7048909ad4acb0418dbf9c
Diffstat (limited to 'writerfilter')
-rw-r--r--writerfilter/source/dmapper/DomainMapper.cxx18
-rw-r--r--writerfilter/source/dmapper/DomainMapper_Impl.hxx6
-rw-r--r--writerfilter/source/dmapper/FontTable.cxx41
-rw-r--r--writerfilter/source/doctok/resources.xmi434
-rw-r--r--writerfilter/source/ooxml/model.xml4
-rw-r--r--writerfilter/source/rtftok/rtfdocumentimpl.cxx24
6 files changed, 47 insertions, 480 deletions
diff --git a/writerfilter/source/dmapper/DomainMapper.cxx b/writerfilter/source/dmapper/DomainMapper.cxx
index b8b1d005910e..d95affdf9035 100644
--- a/writerfilter/source/dmapper/DomainMapper.cxx
+++ b/writerfilter/source/dmapper/DomainMapper.cxx
@@ -219,24 +219,6 @@ void DomainMapper::lcl_attribute(Id nName, Value & val)
break;
case NS_ooxml::LN_CT_AbstractNum_tmpl:
break;
- case NS_rtf::LN_CBFFNM1:
- break;
- case NS_rtf::LN_PRQ:
- break;
- case NS_rtf::LN_FTRUETYPE:
- break;
- case NS_rtf::LN_FF:
- break;
- case NS_rtf::LN_WWEIGHT:
- break;
- case NS_rtf::LN_CHS:
-
- {
- m_pImpl->GetFIB().SetLNCHS( nIntValue );
- }
- break;
- case NS_rtf::LN_FS:
- break;
case NS_rtf::LN_STI:
break;
case NS_rtf::LN_FSCRATCH:
diff --git a/writerfilter/source/dmapper/DomainMapper_Impl.hxx b/writerfilter/source/dmapper/DomainMapper_Impl.hxx
index 9a3de2b76519..be68aa557cd3 100644
--- a/writerfilter/source/dmapper/DomainMapper_Impl.hxx
+++ b/writerfilter/source/dmapper/DomainMapper_Impl.hxx
@@ -206,16 +206,12 @@ typedef std::stack< AnchoredContext > TextContentStack;
class FIB
{
sal_Int32 aFIBData[ NS_rtf::LN_LCBSTTBFUSSR - NS_rtf::LN_WIDENT + 1];
- sal_Int32 nLNCHS;
public:
- FIB() :
- nLNCHS( 0 )
+ FIB()
{
memset(&aFIBData, 0x00, sizeof(aFIBData));
}
- sal_Int32 GetLNCHS() const {return nLNCHS;}
- void SetLNCHS(sal_Int32 nValue) {nLNCHS = nValue;}
void SetData( Id nName, sal_Int32 nValue );
};
diff --git a/writerfilter/source/dmapper/FontTable.cxx b/writerfilter/source/dmapper/FontTable.cxx
index f5b14fdc6ad4..89ef2f5c81a0 100644
--- a/writerfilter/source/dmapper/FontTable.cxx
+++ b/writerfilter/source/dmapper/FontTable.cxx
@@ -26,6 +26,7 @@
#include <rtl/tencinfo.h>
#include <vcl/embeddedfontshelper.hxx>
#include <unotools/fontdefs.hxx>
+#include <com/sun/star/awt/FontPitch.hpp>
#include "dmapperLoggers.hxx"
@@ -62,26 +63,16 @@ void FontTable::lcl_attribute(Id Name, Value & val)
OUString sValue = val.getString();
switch(Name)
{
- case NS_rtf::LN_CBFFNM1:
- m_pImpl->pCurrentEntry->sFontName1 = sValue;
- break;
- case NS_rtf::LN_PRQ:
- m_pImpl->pCurrentEntry->nPitchRequest = static_cast<sal_Int16>( nIntValue );
- break;
- case NS_rtf::LN_FTRUETYPE:
- m_pImpl->pCurrentEntry->bTrueType = nIntValue == 1 ? true : false;
- break;
- case NS_rtf::LN_FF: //unused
- break;
- case NS_rtf::LN_WWEIGHT:
- m_pImpl->pCurrentEntry->nBaseWeight = nIntValue;
- break;
- case NS_rtf::LN_CHS:
- m_pImpl->pCurrentEntry->nTextEncoding = nIntValue;
- break;
- case NS_rtf::LN_FS:
- m_pImpl->pCurrentEntry->sFontSignature += sValue;
- break;
+ case NS_ooxml::LN_CT_Pitch_val:
+ if (nIntValue == NS_ooxml::LN_Value_ST_Pitch_fixed)
+ m_pImpl->pCurrentEntry->nPitchRequest = awt::FontPitch::FIXED;
+ else if (nIntValue == NS_ooxml::LN_Value_ST_Pitch_variable)
+ m_pImpl->pCurrentEntry->nPitchRequest = awt::FontPitch::VARIABLE;
+ else if (nIntValue == NS_ooxml::LN_Value_ST_Pitch_default)
+ m_pImpl->pCurrentEntry->nPitchRequest = awt::FontPitch::DONTKNOW;
+ else
+ SAL_WARN("writerfilter", "FontTable::lcl_attribute: unhandled NS_ooxml::CT_Pitch_val: " << nIntValue);
+ break;
case NS_ooxml::LN_CT_Font_name:
m_pImpl->pCurrentEntry->sFontName = sValue;
break;
@@ -127,6 +118,7 @@ void FontTable::lcl_sprm(Sprm& rSprm)
switch(nSprmId)
{
case NS_ooxml::LN_CT_Font_charset:
+ case NS_ooxml::LN_CT_Font_pitch:
resolveSprm( rSprm );
break;
case NS_ooxml::LN_CT_Font_embedRegular:
@@ -146,6 +138,15 @@ void FontTable::lcl_sprm(Sprm& rSprm)
}
break;
}
+ case NS_ooxml::LN_CT_Font_panose1:
+ break;
+ case NS_ooxml::LN_CT_Font_family:
+ break;
+ case NS_ooxml::LN_CT_Font_sig:
+ break;
+ default:
+ SAL_WARN("writerfilter", "FontTable::lcl_sprm: unhandled token: " << nSprmId);
+ break;
}
}
diff --git a/writerfilter/source/doctok/resources.xmi b/writerfilter/source/doctok/resources.xmi
index e2abf227af68..27186a0d8d0a 100644
--- a/writerfilter/source/doctok/resources.xmi
+++ b/writerfilter/source/doctok/resources.xmi
@@ -185,440 +185,6 @@
</UML:Class>
<!--Resources-->
<!--WW8 resources-->
- <!--Class Font-->
- <UML:Class xmi.id="Font" name="Font">
- <UML:ModelElement.taggedValue>
- <UML:TaggedValue>
- <UML:TaggedValue.dataValue>40</UML:TaggedValue.dataValue>
- <UML:TaggedValue.type>
- <UML:TagDefinition xmi.idref="size"/>
- </UML:TaggedValue.type>
- </UML:TaggedValue>
- </UML:ModelElement.taggedValue>
- <UML:Classifier.feature>
- <UML:Attribute name="cbFfnM1">
- <UML:ModelElement.taggedValue>
- <UML:TaggedValue>
- <UML:TaggedValue.dataValue>total length of FFN - 1.</UML:TaggedValue.dataValue>
- <UML:TaggedValue.type>
- <UML:TagDefinition xmi.idref="comment"/>
- </UML:TaggedValue.type>
- </UML:TaggedValue>
- </UML:ModelElement.taggedValue>
- <UML:ModelElement.taggedValue>
- <UML:TaggedValue>
- <UML:TaggedValue.dataValue>0x0</UML:TaggedValue.dataValue>
- <UML:TaggedValue.type>
- <UML:TagDefinition xmi.idref="offset"/>
- </UML:TaggedValue.type>
- </UML:TaggedValue>
- </UML:ModelElement.taggedValue>
- <UML:ModelElement.taggedValue>
- <UML:TaggedValue>
- <UML:TaggedValue.dataValue>0</UML:TaggedValue.dataValue>
- <UML:TaggedValue.type>
- <UML:TagDefinition xmi.idref="shift"/>
- </UML:TaggedValue.type>
- </UML:TaggedValue>
- </UML:ModelElement.taggedValue>
- <UML:ModelElement.taggedValue>
- <UML:TaggedValue>
- <UML:TaggedValue.dataValue/>
- <UML:TaggedValue.type>
- <UML:TagDefinition xmi.idref="mask"/>
- </UML:TaggedValue.type>
- </UML:TaggedValue>
- </UML:ModelElement.taggedValue>
- <UML:ModelElement.taggedValue>
- <UML:TaggedValue>
- <UML:TaggedValue.dataValue/>
- <UML:TaggedValue.type>
- <UML:TagDefinition xmi.idref="bits"/>
- </UML:TaggedValue.type>
- </UML:TaggedValue>
- </UML:ModelElement.taggedValue>
- <UML:ModelElement.taggedValue>
- <UML:TaggedValue>
- <UML:TaggedValue.dataValue>rtf:CBFFNM1</UML:TaggedValue.dataValue>
- <UML:TaggedValue.type>
- <UML:TagDefinition xmi.idref="attrid"/>
- </UML:TaggedValue.type>
- </UML:TaggedValue>
- </UML:ModelElement.taggedValue>
- <UML:StructuralFeature.type>
- <UML:DataType xmi.idref="U8"/>
- </UML:StructuralFeature.type>
- <UML:ModelElement.stereotype>
- <UML:Stereotype xmi.idref="attribute"/>
- </UML:ModelElement.stereotype>
- </UML:Attribute>
- </UML:Classifier.feature>
- <UML:Classifier.feature>
- <UML:Attribute name="prq">
- <UML:ModelElement.taggedValue>
- <UML:TaggedValue>
- <UML:TaggedValue.dataValue>pitch request</UML:TaggedValue.dataValue>
- <UML:TaggedValue.type>
- <UML:TagDefinition xmi.idref="comment"/>
- </UML:TaggedValue.type>
- </UML:TaggedValue>
- </UML:ModelElement.taggedValue>
- <UML:ModelElement.taggedValue>
- <UML:TaggedValue>
- <UML:TaggedValue.dataValue>0x1</UML:TaggedValue.dataValue>
- <UML:TaggedValue.type>
- <UML:TagDefinition xmi.idref="offset"/>
- </UML:TaggedValue.type>
- </UML:TaggedValue>
- </UML:ModelElement.taggedValue>
- <UML:ModelElement.taggedValue>
- <UML:TaggedValue>
- <UML:TaggedValue.dataValue>0</UML:TaggedValue.dataValue>
- <UML:TaggedValue.type>
- <UML:TagDefinition xmi.idref="shift"/>
- </UML:TaggedValue.type>
- </UML:TaggedValue>
- </UML:ModelElement.taggedValue>
- <UML:ModelElement.taggedValue>
- <UML:TaggedValue>
- <UML:TaggedValue.dataValue>03</UML:TaggedValue.dataValue>
- <UML:TaggedValue.type>
- <UML:TagDefinition xmi.idref="mask"/>
- </UML:TaggedValue.type>
- </UML:TaggedValue>
- </UML:ModelElement.taggedValue>
- <UML:ModelElement.taggedValue>
- <UML:TaggedValue>
- <UML:TaggedValue.dataValue>:2</UML:TaggedValue.dataValue>
- <UML:TaggedValue.type>
- <UML:TagDefinition xmi.idref="bits"/>
- </UML:TaggedValue.type>
- </UML:TaggedValue>
- </UML:ModelElement.taggedValue>
- <UML:ModelElement.taggedValue>
- <UML:TaggedValue>
- <UML:TaggedValue.dataValue>rtf:PRQ</UML:TaggedValue.dataValue>
- <UML:TaggedValue.type>
- <UML:TagDefinition xmi.idref="attrid"/>
- </UML:TaggedValue.type>
- </UML:TaggedValue>
- </UML:ModelElement.taggedValue>
- <UML:StructuralFeature.type>
- <UML:DataType xmi.idref="U8"/>
- </UML:StructuralFeature.type>
- <UML:ModelElement.stereotype>
- <UML:Stereotype xmi.idref="attribute"/>
- </UML:ModelElement.stereotype>
- </UML:Attribute>
- </UML:Classifier.feature>
- <UML:Classifier.feature>
- <UML:Attribute name="fTrueType">
- <UML:ModelElement.taggedValue>
- <UML:TaggedValue>
- <UML:TaggedValue.dataValue>when 1, font is a TrueType font</UML:TaggedValue.dataValue>
- <UML:TaggedValue.type>
- <UML:TagDefinition xmi.idref="comment"/>
- </UML:TaggedValue.type>
- </UML:TaggedValue>
- </UML:ModelElement.taggedValue>
- <UML:ModelElement.taggedValue>
- <UML:TaggedValue>
- <UML:TaggedValue.dataValue>0x1</UML:TaggedValue.dataValue>
- <UML:TaggedValue.type>
- <UML:TagDefinition xmi.idref="offset"/>
- </UML:TaggedValue.type>
- </UML:TaggedValue>
- </UML:ModelElement.taggedValue>
- <UML:ModelElement.taggedValue>
- <UML:TaggedValue>
- <UML:TaggedValue.dataValue>2</UML:TaggedValue.dataValue>
- <UML:TaggedValue.type>
- <UML:TagDefinition xmi.idref="shift"/>
- </UML:TaggedValue.type>
- </UML:TaggedValue>
- </UML:ModelElement.taggedValue>
- <UML:ModelElement.taggedValue>
- <UML:TaggedValue>
- <UML:TaggedValue.dataValue>04</UML:TaggedValue.dataValue>
- <UML:TaggedValue.type>
- <UML:TagDefinition xmi.idref="mask"/>
- </UML:TaggedValue.type>
- </UML:TaggedValue>
- </UML:ModelElement.taggedValue>
- <UML:ModelElement.taggedValue>
- <UML:TaggedValue>
- <UML:TaggedValue.dataValue>:1</UML:TaggedValue.dataValue>
- <UML:TaggedValue.type>
- <UML:TagDefinition xmi.idref="bits"/>
- </UML:TaggedValue.type>
- </UML:TaggedValue>
- </UML:ModelElement.taggedValue>
- <UML:ModelElement.taggedValue>
- <UML:TaggedValue>
- <UML:TaggedValue.dataValue>rtf:FTRUETYPE</UML:TaggedValue.dataValue>
- <UML:TaggedValue.type>
- <UML:TagDefinition xmi.idref="attrid"/>
- </UML:TaggedValue.type>
- </UML:TaggedValue>
- </UML:ModelElement.taggedValue>
- <UML:StructuralFeature.type>
- <UML:DataType xmi.idref="U8"/>
- </UML:StructuralFeature.type>
- <UML:ModelElement.stereotype>
- <UML:Stereotype xmi.idref="attribute"/>
- </UML:ModelElement.stereotype>
- </UML:Attribute>
- </UML:Classifier.feature>
- <UML:Classifier.feature>
- <UML:Attribute name="ff">
- <UML:ModelElement.taggedValue>
- <UML:TaggedValue>
- <UML:TaggedValue.dataValue>font family id</UML:TaggedValue.dataValue>
- <UML:TaggedValue.type>
- <UML:TagDefinition xmi.idref="comment"/>
- </UML:TaggedValue.type>
- </UML:TaggedValue>
- </UML:ModelElement.taggedValue>
- <UML:ModelElement.taggedValue>
- <UML:TaggedValue>
- <UML:TaggedValue.dataValue>0x1</UML:TaggedValue.dataValue>
- <UML:TaggedValue.type>
- <UML:TagDefinition xmi.idref="offset"/>
- </UML:TaggedValue.type>
- </UML:TaggedValue>
- </UML:ModelElement.taggedValue>
- <UML:ModelElement.taggedValue>
- <UML:TaggedValue>
- <UML:TaggedValue.dataValue>4</UML:TaggedValue.dataValue>
- <UML:TaggedValue.type>
- <UML:TagDefinition xmi.idref="shift"/>
- </UML:TaggedValue.type>
- </UML:TaggedValue>
- </UML:ModelElement.taggedValue>
- <UML:ModelElement.taggedValue>
- <UML:TaggedValue>
- <UML:TaggedValue.dataValue>70</UML:TaggedValue.dataValue>
- <UML:TaggedValue.type>
- <UML:TagDefinition xmi.idref="mask"/>
- </UML:TaggedValue.type>
- </UML:TaggedValue>
- </UML:ModelElement.taggedValue>
- <UML:ModelElement.taggedValue>
- <UML:TaggedValue>
- <UML:TaggedValue.dataValue>:3</UML:TaggedValue.dataValue>
- <UML:TaggedValue.type>
- <UML:TagDefinition xmi.idref="bits"/>
- </UML:TaggedValue.type>
- </UML:TaggedValue>
- </UML:ModelElement.taggedValue>
- <UML:ModelElement.taggedValue>
- <UML:TaggedValue>
- <UML:TaggedValue.dataValue>rtf:FF</UML:TaggedValue.dataValue>
- <UML:TaggedValue.type>
- <UML:TagDefinition xmi.idref="attrid"/>
- </UML:TaggedValue.type>
- </UML:TaggedValue>
- </UML:ModelElement.taggedValue>
- <UML:StructuralFeature.type>
- <UML:DataType xmi.idref="U8"/>
- </UML:StructuralFeature.type>
- <UML:ModelElement.stereotype>
- <UML:Stereotype xmi.idref="attribute"/>
- </UML:ModelElement.stereotype>
- </UML:Attribute>
- </UML:Classifier.feature>
- <UML:Classifier.feature>
- <UML:Attribute name="wWeight">
- <UML:ModelElement.taggedValue>
- <UML:TaggedValue>
- <UML:TaggedValue.dataValue>base weight of font</UML:TaggedValue.dataValue>
- <UML:TaggedValue.type>
- <UML:TagDefinition xmi.idref="comment"/>
- </UML:TaggedValue.type>
- </UML:TaggedValue>
- </UML:ModelElement.taggedValue>
- <UML:ModelElement.taggedValue>
- <UML:TaggedValue>
- <UML:TaggedValue.dataValue>0x2</UML:TaggedValue.dataValue>
- <UML:TaggedValue.type>
- <UML:TagDefinition xmi.idref="offset"/>
- </UML:TaggedValue.type>
- </UML:TaggedValue>
- </UML:ModelElement.taggedValue>
- <UML:ModelElement.taggedValue>
- <UML:TaggedValue>
- <UML:TaggedValue.dataValue>0</UML:TaggedValue.dataValue>
- <UML:TaggedValue.type>
- <UML:TagDefinition xmi.idref="shift"/>
- </UML:TaggedValue.type>
- </UML:TaggedValue>
- </UML:ModelElement.taggedValue>
- <UML:ModelElement.taggedValue>
- <UML:TaggedValue>
- <UML:TaggedValue.dataValue/>
- <UML:TaggedValue.type>
- <UML:TagDefinition xmi.idref="mask"/>
- </UML:TaggedValue.type>
- </UML:TaggedValue>
- </UML:ModelElement.taggedValue>
- <UML:ModelElement.taggedValue>
- <UML:TaggedValue>
- <UML:TaggedValue.dataValue/>
- <UML:TaggedValue.type>
- <UML:TagDefinition xmi.idref="bits"/>
- </UML:TaggedValue.type>
- </UML:TaggedValue>
- </UML:ModelElement.taggedValue>
- <UML:ModelElement.taggedValue>
- <UML:TaggedValue>
- <UML:TaggedValue.dataValue>rtf:WWEIGHT</UML:TaggedValue.dataValue>
- <UML:TaggedValue.type>
- <UML:TagDefinition xmi.idref="attrid"/>
- </UML:TaggedValue.type>
- </UML:TaggedValue>
- </UML:ModelElement.taggedValue>
- <UML:StructuralFeature.type>
- <UML:DataType xmi.idref="S16"/>
- </UML:StructuralFeature.type>
- <UML:ModelElement.stereotype>
- <UML:Stereotype xmi.idref="attribute"/>
- </UML:ModelElement.stereotype>
- </UML:Attribute>
- </UML:Classifier.feature>
- <UML:Classifier.feature>
- <UML:Attribute name="chs">
- <UML:ModelElement.taggedValue>
- <UML:TaggedValue>
- <UML:TaggedValue.dataValue>character set identifier</UML:TaggedValue.dataValue>
- <UML:TaggedValue.type>
- <UML:TagDefinition xmi.idref="comment"/>
- </UML:TaggedValue.type>
- </UML:TaggedValue>
- </UML:ModelElement.taggedValue>
- <UML:ModelElement.taggedValue>
- <UML:TaggedValue>
- <UML:TaggedValue.dataValue>0x4</UML:TaggedValue.dataValue>
- <UML:TaggedValue.type>
- <UML:TagDefinition xmi.idref="offset"/>
- </UML:TaggedValue.type>
- </UML:TaggedValue>
- </UML:ModelElement.taggedValue>
- <UML:ModelElement.taggedValue>
- <UML:TaggedValue>
- <UML:TaggedValue.dataValue>0</UML:TaggedValue.dataValue>
- <UML:TaggedValue.type>
- <UML:TagDefinition xmi.idref="shift"/>
- </UML:TaggedValue.type>
- </UML:TaggedValue>
- </UML:ModelElement.taggedValue>
- <UML:ModelElement.taggedValue>
- <UML:TaggedValue>
- <UML:TaggedValue.dataValue/>
- <UML:TaggedValue.type>
- <UML:TagDefinition xmi.idref="mask"/>
- </UML:TaggedValue.type>
- </UML:TaggedValue>
- </UML:ModelElement.taggedValue>
- <UML:ModelElement.taggedValue>
- <UML:TaggedValue>
- <UML:TaggedValue.dataValue/>
- <UML:TaggedValue.type>
- <UML:TagDefinition xmi.idref="bits"/>
- </UML:TaggedValue.type>
- </UML:TaggedValue>
- </UML:ModelElement.taggedValue>
- <UML:ModelElement.taggedValue>
- <UML:TaggedValue>
- <UML:TaggedValue.dataValue>rtf:CHS</UML:TaggedValue.dataValue>
- <UML:TaggedValue.type>
- <UML:TagDefinition xmi.idref="attrid"/>
- </UML:TaggedValue.type>
- </UML:TaggedValue>
- </UML:ModelElement.taggedValue>
- <UML:StructuralFeature.type>
- <UML:DataType xmi.idref="U8"/>
- </UML:StructuralFeature.type>
- <UML:ModelElement.stereotype>
- <UML:Stereotype xmi.idref="attribute"/>
- </UML:ModelElement.stereotype>
- </UML:Attribute>
- </UML:Classifier.feature>
- <UML:Classifier.feature>
- <UML:Attribute name="fs">
- <UML:ModelElement.taggedValue>
- <UML:TaggedValue>
- <UML:TaggedValue.dataValue>? This is supposed to be of type FONTSIGNATURE.</UML:TaggedValue.dataValue>
- <UML:TaggedValue.type>
- <UML:TagDefinition xmi.idref="comment"/>
- </UML:TaggedValue.type>
- </UML:TaggedValue>
- </UML:ModelElement.taggedValue>
- <UML:ModelElement.taggedValue>
- <UML:TaggedValue>
- <UML:TaggedValue.dataValue>0x10</UML:TaggedValue.dataValue>
- <UML:TaggedValue.type>
- <UML:TagDefinition xmi.idref="offset"/>
- </UML:TaggedValue.type>
- </UML:TaggedValue>
- </UML:ModelElement.taggedValue>
- <UML:ModelElement.taggedValue>
- <UML:TaggedValue>
- <UML:TaggedValue.dataValue>0</UML:TaggedValue.dataValue>
- <UML:TaggedValue.type>
- <UML:TagDefinition xmi.idref="shift"/>
- </UML:TaggedValue.type>
- </UML:TaggedValue>
- </UML:ModelElement.taggedValue>
- <UML:ModelElement.taggedValue>
- <UML:TaggedValue>
- <UML:TaggedValue.dataValue/>
- <UML:TaggedValue.type>
- <UML:TagDefinition xmi.idref="mask"/>
- </UML:TaggedValue.type>
- </UML:TaggedValue>
- </UML:ModelElement.taggedValue>
- <UML:ModelElement.taggedValue>
- <UML:TaggedValue>
- <UML:TaggedValue.dataValue/>
- <UML:TaggedValue.type>
- <UML:TagDefinition xmi.idref="bits"/>
- </UML:TaggedValue.type>
- </UML:TaggedValue>
- </UML:ModelElement.taggedValue>
- <UML:ModelElement.taggedValue>
- <UML:TaggedValue>
- <UML:TaggedValue.dataValue>rtf:FS</UML:TaggedValue.dataValue>
- <UML:TaggedValue.type>
- <UML:TagDefinition xmi.idref="attrid"/>
- </UML:TaggedValue.type>
- </UML:TaggedValue>
- </UML:ModelElement.taggedValue>
- <UML:ModelElement.taggedValue>
- <UML:TaggedValue>
- <UML:TaggedValue.dataValue>24</UML:TaggedValue.dataValue>
- <UML:TaggedValue.type>
- <UML:TagDefinition xmi.idref="arraycount"/>
- </UML:TaggedValue.type>
- </UML:TaggedValue>
- </UML:ModelElement.taggedValue>
- <UML:StructuralFeature.type>
- <UML:DataType xmi.idref="U8"/>
- </UML:StructuralFeature.type>
- <UML:ModelElement.stereotype>
- <UML:Stereotype xmi.idref="array"/>
- </UML:ModelElement.stereotype>
- </UML:Attribute>
- </UML:Classifier.feature>
- </UML:Class>
- <UML:Generalization isSpecification="false" xmi.id="Font-Properties">
- <UML:Generalization.child>
- <UML:Class xmi.idref="Font"/>
- </UML:Generalization.child>
- <UML:Generalization.parent>
- <UML:Class xmi.idref="Properties"/>
- </UML:Generalization.parent>
- </UML:Generalization>
- <!--Class Font-->
<!--Class Style-->
<UML:Class xmi.id="Style" name="Style">
<UML:Classifier.feature>
diff --git a/writerfilter/source/ooxml/model.xml b/writerfilter/source/ooxml/model.xml
index 3f023b67a470..1b844dfa537d 100644
--- a/writerfilter/source/ooxml/model.xml
+++ b/writerfilter/source/ooxml/model.xml
@@ -23696,8 +23696,8 @@
<value tokenid="ooxml:Value_ST_Pitch_variable">variable</value>
<value tokenid="ooxml:Value_ST_Pitch_default">default</value>
</resource>
- <resource name="CT_Pitch" resource="Value" tag="font">
- <attribute name="val" tokenid="ooxml:CT_Pitch_val" action="setValue"/>
+ <resource name="CT_Pitch" resource="Properties" tag="font">
+ <attribute name="val" tokenid="ooxml:CT_Pitch_val"/>
</resource>
<resource name="CT_FontSig" resource="Properties" tag="font">
<attribute name="usb0" tokenid="ooxml:CT_FontSig_usb0"/>
diff --git a/writerfilter/source/rtftok/rtfdocumentimpl.cxx b/writerfilter/source/rtftok/rtfdocumentimpl.cxx
index bb4e08dac5bd..642155b5addc 100644
--- a/writerfilter/source/rtftok/rtfdocumentimpl.cxx
+++ b/writerfilter/source/rtftok/rtfdocumentimpl.cxx
@@ -2787,7 +2787,6 @@ int RTFDocumentImpl::dispatchValue(RTFKeyword nKeyword, int nParam)
// Trivial table sprms.
switch (nKeyword)
{
- case RTF_FPRQ: nSprm = NS_rtf::LN_PRQ; break;
case RTF_LEVELJC: nSprm = NS_ooxml::LN_CT_Lvl_lvlJc; break;
case RTF_LEVELNFC: nSprm = NS_ooxml::LN_CT_Lvl_numFmt; break;
case RTF_LEVELSTARTAT: nSprm = NS_ooxml::LN_CT_Lvl_start; break;
@@ -3208,6 +3207,29 @@ int RTFDocumentImpl::dispatchValue(RTFKeyword nKeyword, int nParam)
m_aStates.top().aTableSprms.set(NS_ooxml::LN_CT_Lvl_suff, RTFValue::Pointer_t(new RTFValue(sValue)));
}
break;
+ case RTF_FPRQ:
+ {
+ sal_Int32 nValue = 0;
+ switch (nParam)
+ {
+ case 0:
+ nValue = NS_ooxml::LN_Value_ST_Pitch_default;
+ break;
+ case 1:
+ nValue = NS_ooxml::LN_Value_ST_Pitch_fixed;
+ break;
+ case 2:
+ nValue = NS_ooxml::LN_Value_ST_Pitch_variable;
+ break;
+ }
+ if (nValue)
+ {
+ RTFSprms aAttributes;
+ aAttributes.set(NS_ooxml::LN_CT_Pitch_val, RTFValue::Pointer_t(new RTFValue(nValue)));
+ m_aStates.top().aTableSprms.set(NS_ooxml::LN_CT_Font_pitch, RTFValue::Pointer_t(new RTFValue(aAttributes)));
+ }
+ }
+ break;
case RTF_LISTOVERRIDECOUNT:
// Ignore this for now, the exporter always emits it with a zero parameter.
break;