diff options
author | Miklos Vajna <vmiklos@collabora.co.uk> | 2014-01-19 11:40:35 +0100 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.co.uk> | 2014-01-19 11:45:53 +0100 |
commit | ce40cd30367e645db475b072bc2c1e5a06597f38 (patch) | |
tree | 2b349a8cf45981add73081695b2a874cc8f39dc2 /writerfilter | |
parent | 8ca88963190cc523a1c288a3b31dff931f472094 (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.cxx | 18 | ||||
-rw-r--r-- | writerfilter/source/dmapper/DomainMapper_Impl.hxx | 6 | ||||
-rw-r--r-- | writerfilter/source/dmapper/FontTable.cxx | 41 | ||||
-rw-r--r-- | writerfilter/source/doctok/resources.xmi | 434 | ||||
-rw-r--r-- | writerfilter/source/ooxml/model.xml | 4 | ||||
-rw-r--r-- | writerfilter/source/rtftok/rtfdocumentimpl.cxx | 24 |
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; |