[Libreoffice-commits] core.git: 2 commits - starmath/source writerfilter/source

Miklos Vajna vmiklos at collabora.co.uk
Tue Dec 31 03:53:40 PST 2013


 starmath/source/wordexportbase.cxx            |  230 ++--
 writerfilter/source/dmapper/GraphicImport.cxx |  141 --
 writerfilter/source/doctok/resourceids.xsl    |   28 
 writerfilter/source/doctok/resources.xmi      | 1365 --------------------------
 4 files changed, 120 insertions(+), 1644 deletions(-)

New commits:
commit 54ec78497e4a8249eb142f55f700f4693c6dd069
Author: Miklos Vajna <vmiklos at collabora.co.uk>
Date:   Tue Dec 31 12:49:37 2013 +0100

    starmath: whitespace fixes in wordexportbase
    
    Change-Id: Ie0756d882347912f4beb38dde25ff6d598766a7b

diff --git a/starmath/source/wordexportbase.cxx b/starmath/source/wordexportbase.cxx
index 0606124..ccdae33 100644
--- a/starmath/source/wordexportbase.cxx
+++ b/starmath/source/wordexportbase.cxx
@@ -12,8 +12,8 @@
 
 #include <rtl/ustring.hxx>
 
-SmWordExportBase::SmWordExportBase( const SmNode* pIn )
-: m_pTree( pIn )
+SmWordExportBase::SmWordExportBase(const SmNode* pIn)
+    : m_pTree(pIn)
 {
 }
 
@@ -21,91 +21,91 @@ SmWordExportBase::~SmWordExportBase()
 {
 }
 
-void SmWordExportBase::HandleNode( const SmNode* pNode, int nLevel )
+void SmWordExportBase::HandleNode(const SmNode* pNode, int nLevel)
 {
-    SAL_INFO( "starmath.wordbase", "Node: " << nLevel << " " << int( pNode->GetType()) << " " << pNode->GetNumSubNodes());
-    switch(pNode->GetType())
+    SAL_INFO("starmath.wordbase", "Node: " << nLevel << " " << int(pNode->GetType()) << " " << pNode->GetNumSubNodes());
+    switch (pNode->GetType())
+    {
+    case NATTRIBUT:
+        HandleAttribute(static_cast< const SmAttributNode* >(pNode), nLevel);
+        break;
+    case NTEXT:
+        HandleText(pNode,nLevel);
+        break;
+    case NVERTICAL_BRACE:
+        HandleVerticalBrace(static_cast< const SmVerticalBraceNode* >(pNode), nLevel);
+        break;
+    case NBRACE:
+        HandleBrace(static_cast< const SmBraceNode* >(pNode), nLevel);
+        break;
+    case NOPER:
+        HandleOperator(static_cast< const SmOperNode* >(pNode), nLevel);
+        break;
+    case NUNHOR:
+        HandleUnaryOperation(static_cast< const SmUnHorNode* >(pNode), nLevel);
+        break;
+    case NBINHOR:
+        HandleBinaryOperation(static_cast< const SmBinHorNode* >(pNode), nLevel);
+        break;
+    case NBINVER:
+        HandleFractions(pNode,nLevel);
+        break;
+    case NROOT:
+        HandleRoot(static_cast< const SmRootNode* >(pNode), nLevel);
+        break;
+    case NSPECIAL:
+    {
+        const SmTextNode* pText= static_cast< const SmTextNode* >(pNode);
+        //if the token str and the result text are the same then this
+        //is to be seen as text, else assume it's a mathchar
+        if (pText->GetText() == pText->GetToken().aText)
+            HandleText(pText,nLevel);
+        else
+            HandleMath(pText,nLevel);
+        break;
+    }
+    case NMATH:
+    case NMATHIDENT:
+        HandleMath(pNode,nLevel);
+        break;
+    case NSUBSUP:
+        HandleSubSupScript(static_cast< const SmSubSupNode* >(pNode), nLevel);
+        break;
+    case NEXPRESSION:
+        HandleAllSubNodes(pNode, nLevel);
+        break;
+    case NTABLE:
+        //Root Node, PILE equivalent, i.e. vertical stack
+        HandleTable(pNode,nLevel);
+        break;
+    case NMATRIX:
+        HandleMatrix(static_cast< const SmMatrixNode* >(pNode), nLevel);
+        break;
+    case NLINE:
     {
-        case NATTRIBUT:
-            HandleAttribute( static_cast< const SmAttributNode* >( pNode ), nLevel );
-            break;
-        case NTEXT:
-            HandleText(pNode,nLevel);
-            break;
-        case NVERTICAL_BRACE:
-            HandleVerticalBrace( static_cast< const SmVerticalBraceNode* >( pNode ), nLevel );
-            break;
-        case NBRACE:
-            HandleBrace( static_cast< const SmBraceNode* >( pNode ), nLevel );
-            break;
-        case NOPER:
-            HandleOperator( static_cast< const SmOperNode* >( pNode ), nLevel );
-            break;
-        case NUNHOR:
-            HandleUnaryOperation( static_cast< const SmUnHorNode* >( pNode ), nLevel );
-            break;
-        case NBINHOR:
-            HandleBinaryOperation( static_cast< const SmBinHorNode* >( pNode ), nLevel );
-            break;
-        case NBINVER:
-            HandleFractions(pNode,nLevel);
-            break;
-        case NROOT:
-            HandleRoot( static_cast< const SmRootNode* >( pNode ), nLevel );
-            break;
-        case NSPECIAL:
-        {
-            const SmTextNode* pText= static_cast< const SmTextNode* >( pNode );
-            //if the token str and the result text are the same then this
-            //is to be seen as text, else assume it's a mathchar
-            if (pText->GetText() == pText->GetToken().aText)
-                HandleText(pText,nLevel);
-            else
-                HandleMath(pText,nLevel);
-            break;
-        }
-        case NMATH:
-        case NMATHIDENT:
-            HandleMath(pNode,nLevel);
-            break;
-        case NSUBSUP:
-            HandleSubSupScript( static_cast< const SmSubSupNode* >( pNode ), nLevel );
-            break;
-        case NEXPRESSION:
-            HandleAllSubNodes( pNode, nLevel );
-            break;
-        case NTABLE:
-            //Root Node, PILE equivalent, i.e. vertical stack
-            HandleTable(pNode,nLevel);
-            break;
-        case NMATRIX:
-            HandleMatrix( static_cast< const SmMatrixNode* >( pNode ), nLevel );
-            break;
-        case NLINE:
-            {
 // TODO
-            HandleAllSubNodes( pNode, nLevel );
-            }
-            break;
+        HandleAllSubNodes(pNode, nLevel);
+    }
+    break;
 #if 0
-        case NALIGN:
-            HandleMAlign(pNode,nLevel);
-            break;
+    case NALIGN:
+        HandleMAlign(pNode,nLevel);
+        break;
 #endif
-        case NPLACE:
-            // explicitly do nothing, MSOffice treats that as a placeholder if item is missing
-            break;
-        case NBLANK:
-            HandleBlank();
-            break;
-        default:
-            HandleAllSubNodes( pNode, nLevel );
-            break;
+    case NPLACE:
+        // explicitly do nothing, MSOffice treats that as a placeholder if item is missing
+        break;
+    case NBLANK:
+        HandleBlank();
+        break;
+    default:
+        HandleAllSubNodes(pNode, nLevel);
+        break;
     }
 }
 
 //Root Node, PILE equivalent, i.e. vertical stack
-void SmWordExportBase::HandleTable( const SmNode* pNode, int nLevel )
+void SmWordExportBase::HandleTable(const SmNode* pNode, int nLevel)
 {
     //The root of the starmath is a table, if
     //we convert this them each iteration of
@@ -113,82 +113,82 @@ void SmWordExportBase::HandleTable( const SmNode* pNode, int nLevel )
     //add an extra unnecessary level to the
     //Word output stack which would grow
     //without bound in a multi step conversion
-    if( nLevel || pNode->GetNumSubNodes() > 1 )
-        HandleVerticalStack( pNode, nLevel );
+    if (nLevel || pNode->GetNumSubNodes() > 1)
+        HandleVerticalStack(pNode, nLevel);
     else
-        HandleAllSubNodes( pNode, nLevel );
+        HandleAllSubNodes(pNode, nLevel);
 }
 
-void SmWordExportBase::HandleAllSubNodes( const SmNode* pNode, int nLevel )
+void SmWordExportBase::HandleAllSubNodes(const SmNode* pNode, int nLevel)
 {
     int size = pNode->GetNumSubNodes();
-    for( int i = 0;
-         i < size;
-         ++i )
+    for (int i = 0;
+            i < size;
+            ++i)
     {
 // TODO remove when all types of nodes are handled properly
-        if( pNode->GetSubNode( i ) == NULL )
+        if (pNode->GetSubNode(i) == NULL)
         {
             SAL_WARN("starmath.wordbase", "Subnode is NULL, parent node not handled properly");
             continue;
         }
-        HandleNode( pNode->GetSubNode( i ), nLevel + 1 );
+        HandleNode(pNode->GetSubNode(i), nLevel + 1);
     }
 }
 
-void SmWordExportBase::HandleUnaryOperation( const SmUnHorNode* pNode, int nLevel )
+void SmWordExportBase::HandleUnaryOperation(const SmUnHorNode* pNode, int nLevel)
 {
     // update HandleMath() when adding new items
-    SAL_INFO( "starmath.wordbase", "Unary: " << int( pNode->GetToken().eType ));
+    SAL_INFO("starmath.wordbase", "Unary: " << int(pNode->GetToken().eType));
 
 // Avoid MSVC warning C4065: switch statement contains 'default' but no 'case' labels
 //    switch( pNode->GetToken().eType )
 //    {
 //        default:
-            HandleAllSubNodes( pNode, nLevel );
+    HandleAllSubNodes(pNode, nLevel);
 //            break;
 //    }
 }
 
-void SmWordExportBase::HandleBinaryOperation( const SmBinHorNode* pNode, int nLevel )
+void SmWordExportBase::HandleBinaryOperation(const SmBinHorNode* pNode, int nLevel)
 {
-    SAL_INFO( "starmath.wordbase", "Binary: " << int( pNode->Symbol()->GetToken().eType ));
+    SAL_INFO("starmath.wordbase", "Binary: " << int(pNode->Symbol()->GetToken().eType));
     // update HandleMath() when adding new items
-    switch( pNode->Symbol()->GetToken().eType )
+    switch (pNode->Symbol()->GetToken().eType)
     {
-        case TDIVIDEBY:
-            return HandleFractions( pNode, nLevel, "lin" );
-        default:
-            HandleAllSubNodes( pNode, nLevel );
-            break;
+    case TDIVIDEBY:
+        return HandleFractions(pNode, nLevel, "lin");
+    default:
+        HandleAllSubNodes(pNode, nLevel);
+        break;
     }
 }
 
-void SmWordExportBase::HandleMath( const SmNode* pNode, int nLevel )
+void SmWordExportBase::HandleMath(const SmNode* pNode, int nLevel)
 {
-    SAL_INFO( "starmath.wordbase", "Math: " << int( pNode->GetToken().eType ));
-    switch( pNode->GetToken().eType )
+    SAL_INFO("starmath.wordbase", "Math: " << int(pNode->GetToken().eType));
+    switch (pNode->GetToken().eType)
     {
-        case TDIVIDEBY:
-        case TACUTE:
+    case TDIVIDEBY:
+    case TACUTE:
         // these are handled elsewhere, e.g. when handling BINHOR
-            OSL_ASSERT( false );
-        default:
-            HandleText( pNode, nLevel );
-            break;
+        OSL_ASSERT(false);
+    default:
+        HandleText(pNode, nLevel);
+        break;
     }
 }
 
-void SmWordExportBase::HandleSubSupScript( const SmSubSupNode* pNode, int nLevel )
+void SmWordExportBase::HandleSubSupScript(const SmSubSupNode* pNode, int nLevel)
 {
     // set flags to a bitfield of which sub/sup items exists
-    int flags = ( pNode->GetSubSup( CSUB ) != NULL ? ( 1 << CSUB ) : 0 )
-            | ( pNode->GetSubSup( CSUP ) != NULL ? ( 1 << CSUP ) : 0 )
-            | ( pNode->GetSubSup( RSUB ) != NULL ? ( 1 << RSUB ) : 0 )
-            | ( pNode->GetSubSup( RSUP ) != NULL ? ( 1 << RSUP ) : 0 )
-            | ( pNode->GetSubSup( LSUB ) != NULL ? ( 1 << LSUB ) : 0 )
-            | ( pNode->GetSubSup( LSUP ) != NULL ? ( 1 << LSUP ) : 0 );
-    HandleSubSupScriptInternal( pNode, nLevel, flags );
+    int flags = (pNode->GetSubSup(CSUB) != NULL ? (1 << CSUB) : 0)
+                | (pNode->GetSubSup(CSUP) != NULL ? (1 << CSUP) : 0)
+                | (pNode->GetSubSup(RSUB) != NULL ? (1 << RSUB) : 0)
+                | (pNode->GetSubSup(RSUP) != NULL ? (1 << RSUP) : 0)
+                | (pNode->GetSubSup(LSUB) != NULL ? (1 << LSUB) : 0)
+                | (pNode->GetSubSup(LSUP) != NULL ? (1 << LSUP) : 0);
+    HandleSubSupScriptInternal(pNode, nLevel, flags);
 }
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
commit 19b99af0f5d4ebea8124a5ecbfaca58ea5f7897a
Author: Miklos Vajna <vmiklos at collabora.co.uk>
Date:   Tue Dec 31 12:28:21 2013 +0100

    writerfilter: store OOXML tokens in GraphicImport_Impl::nShapeOptionType
    
    Also remove all WW8 token handling in
    GraphicImport::ProcessShapeOptions() that is effectively dead code,
    since the OOXML/RTF tokenizers haven't ever produced such tokens.
    
    Change-Id: I7c36b5c13148e855f1aaad98905b802bb77c330b

diff --git a/writerfilter/source/dmapper/GraphicImport.cxx b/writerfilter/source/dmapper/GraphicImport.cxx
index 6af9300..52aa764 100644
--- a/writerfilter/source/dmapper/GraphicImport.cxx
+++ b/writerfilter/source/dmapper/GraphicImport.cxx
@@ -860,24 +860,7 @@ void GraphicImport::lcl_attribute(Id nName, Value & val)
         case NS_ooxml::LN_CT_Anchor_distL: // 90985;
         case NS_ooxml::LN_CT_Anchor_distR: // 90986;
         {
-            //redirect to shape option processing
-            switch( nName )
-            {
-                case NS_ooxml::LN_CT_Anchor_distT: // 90983;
-                    m_pImpl->nShapeOptionType = NS_dff::LN_shpdyWrapDistTop;
-                break;
-                case NS_ooxml::LN_CT_Anchor_distB: // 90984;
-                    m_pImpl->nShapeOptionType = NS_dff::LN_shpdyWrapDistBottom;
-                break;
-                case NS_ooxml::LN_CT_Anchor_distL: // 90985;
-                    m_pImpl->nShapeOptionType = NS_dff::LN_shpdxWrapDistLeft;
-                break;
-                case NS_ooxml::LN_CT_Anchor_distR: // 90986;
-                    m_pImpl->nShapeOptionType = NS_dff::LN_shpdxWrapDistRight;
-                break;
-                //m_pImpl->nShapeOptionType = NS_dff::LN_shpcropFromTop
-                default: ;
-            }
+            m_pImpl->nShapeOptionType = nName;
             ProcessShapeOptions(val);
         }
         break;
@@ -1109,135 +1092,21 @@ uno::Reference< ::com::sun::star::drawing::XShape> GraphicImport::GetXShapeObjec
 void GraphicImport::ProcessShapeOptions(Value& val)
 {
     sal_Int32 nIntValue = val.getInt();
-    sal_Int32 nTwipValue = ConversionHelper::convertTwipToMM100(nIntValue);
     switch( m_pImpl->nShapeOptionType )
     {
-        case NS_dff::LN_shpcropFromTop /*256*/ :
-            m_pImpl->nTopCrop   = nTwipValue;
-            break;// rtf:shpcropFromTop
-        case NS_dff::LN_shpcropFromBottom /*257*/ :
-            m_pImpl->nBottomCrop= nTwipValue;
-            break;// rtf:shpcropFromBottom
-        case NS_dff::LN_shpcropFromLeft   /*258*/ :
-            m_pImpl->nLeftCrop  = nTwipValue;
-            break;// rtf:shpcropFromLeft
-        case NS_dff::LN_shpcropFromRight/*259*/ :
-            m_pImpl->nRightCrop = nTwipValue;
-            break;// rtf:shpcropFromRight
-        case NS_dff::LN_shppib/*260*/:
-            break;  // rtf:shppib
-        case NS_dff::LN_shppibName/*261*/:
-            break;  // rtf:shppibName
-        case NS_dff::LN_shppibFlags/*262*/:  // rtf:shppibFlags
-        break;
-        case NS_dff::LN_shppictureContrast/*264*/: // rtf:shppictureContrast docu: "1<<16"
-            /*
-            0x10000 is msoffice 50%
-            < 0x10000 is in units of 1/50th of 0x10000 per 1%
-            > 0x10000 is in units where
-            a msoffice x% is stored as 50/(100-x) * 0x10000
-
-            plus, a (ui) microsoft % ranges from 0 to 100, OOO
-            from -100 to 100, so also normalize into that range
-            */
-            if ( nIntValue > 0x10000 )
-            {
-                double fX = nIntValue;
-                fX /= 0x10000;
-                fX /= 51;   // 50 + 1 to round
-                fX = 1/fX;
-                m_pImpl->nContrast = static_cast<sal_Int32>(fX);
-                m_pImpl->nContrast -= 100;
-                m_pImpl->nContrast = -m_pImpl->nContrast;
-                m_pImpl->nContrast = (m_pImpl->nContrast-50)*2;
-            }
-            else if ( nIntValue == 0x10000 )
-                m_pImpl->nContrast = 0;
-            else
-            {
-                m_pImpl->nContrast = nIntValue * 101;   //100 + 1 to round
-                m_pImpl->nContrast /= 0x10000;
-                m_pImpl->nContrast -= 100;
-            }
-        break;
-        case NS_dff::LN_shppictureBrightness/*265*/:  // rtf:shppictureBrightness
-            m_pImpl->nBrightness     = ( (sal_Int32) nIntValue / 327 );
-        break;
-        case NS_dff::LN_shppictureGamma/*266*/: // rtf:shppictureGamma
-            //todo check gamma value with _real_ document
-            m_pImpl->fGamma = double(nIntValue/655);
-        break;
-        case NS_dff::LN_shppictureId        /*267*/:
-            break;  // rtf:shppictureId
-        case NS_dff::LN_shppictureDblCrMod  /*268*/:
-            break;  // rtf:shppictureDblCrMod
-        case NS_dff::LN_shppictureFillCrMod /*269*/:
-            break;  // rtf:shppictureFillCrMod
-        case NS_dff::LN_shppictureLineCrMod /*270*/:
-            break;  // rtf:shppictureLineCrMod
-
-        case NS_dff::LN_shppictureActive/*319*/: // rtf:shppictureActive
-            switch( nIntValue & 0x06 )
-            {
-                case 0 : m_pImpl->eColorMode = drawing::ColorMode_STANDARD; break;
-                case 4 : m_pImpl->eColorMode = drawing::ColorMode_GREYS; break;
-                case 6 : m_pImpl->eColorMode = drawing::ColorMode_MONO; break;
-                default:;
-            }
-        break;
-        case NS_dff::LN_shpfillColor           /*385*/:
-            m_pImpl->nFillColor = (m_pImpl->nFillColor & 0xff000000) + ConversionHelper::ConvertColor( nIntValue );
-        break;
-        case NS_dff::LN_shpfillOpacity         /*386*/:
-        {
-            sal_Int32 nTrans = 0xff - ( nIntValue * 0xff ) / 0xffff;
-            m_pImpl->nFillColor = (nTrans << 0x18 ) + (m_pImpl->nFillColor & 0xffffff);
-        }
-        break;
-        case NS_dff::LN_shpfNoFillHitTest      /*447*/:
-            break;  // rtf:shpfNoFillHitTest
-        case NS_dff::LN_shplineColor           /*448*/:
-            m_pImpl->aBorders[m_pImpl->nCurrentBorderLine].nLineColor = ConversionHelper::ConvertColor( nIntValue );
-        break;
-        case NS_dff::LN_shplineWidth           /*459*/:
-            //1pt == 12700 units
-            m_pImpl->aBorders[m_pImpl->nCurrentBorderLine].nLineWidth = ConversionHelper::convertTwipToMM100(nIntValue / 635);
-        break;
-        case NS_dff::LN_shplineDashing         /*462*/:
-            //graphic borders don't support different dashing
-            /*MSOLINEDASHING
-                msolineSolid,              // Solid (continuous) pen
-                msolineDashSys,            // PS_DASH system   dash style
-                msolineDotSys,             // PS_DOT system   dash style
-                msolineDashDotSys,         // PS_DASHDOT system dash style
-                msolineDashDotDotSys,      // PS_DASHDOTDOT system dash style
-                msolineDotGEL,             // square dot style
-                msolineDashGEL,            // dash style
-                msolineLongDashGEL,        // long dash style
-                msolineDashDotGEL,         // dash short dash
-                msolineLongDashDotGEL,     // long dash short dash
-                msolineLongDashDotDotGEL   // long dash short dash short dash*/
-        break;
-        case NS_dff::LN_shpfNoLineDrawDash     /*511*/:
-        break;  // rtf:shpfNoLineDrawDash
-        case NS_dff::LN_shpwzDescription /*897*/: //alternative text
-            m_pImpl->sAlternativeText = val.getString();
-        break;
-        case NS_dff::LN_shppWrapPolygonVertices/*899*/:
-            break;  // rtf:shppWrapPolygonVertices
-        case NS_dff::LN_shpdxWrapDistLeft /*900*/: // contains a twip/635 value
+        case NS_ooxml::LN_CT_Anchor_distL:
             //todo: changes have to be applied depending on the orientation, see SwWW8ImplReader::AdjustLRWrapForWordMargins()
             m_pImpl->nLeftMargin = nIntValue / 360;
         break;
-        case NS_dff::LN_shpdyWrapDistTop /*901*/:  // contains a twip/635 value
+        case NS_ooxml::LN_CT_Anchor_distT:
             //todo: changes have to be applied depending on the orientation, see SwWW8ImplReader::AdjustULWrapForWordMargins()
             m_pImpl->nTopMargin = nIntValue / 360;
         break;
-        case NS_dff::LN_shpdxWrapDistRight /*902*/:// contains a twip/635 value
+        case NS_ooxml::LN_CT_Anchor_distR:
             //todo: changes have to be applied depending on the orientation, see SwWW8ImplReader::AdjustLRWrapForWordMargins()
             m_pImpl->nRightMargin = nIntValue / 360;
         break;
-        case NS_dff::LN_shpdyWrapDistBottom /*903*/:// contains a twip/635 value
+        case NS_ooxml::LN_CT_Anchor_distB:
             //todo: changes have to be applied depending on the orientation, see SwWW8ImplReader::AdjustULWrapForWordMargins()
             m_pImpl->nBottomMargin = nIntValue / 360;
         break;
diff --git a/writerfilter/source/doctok/resourceids.xsl b/writerfilter/source/doctok/resourceids.xsl
index 305d193..435cbce 100644
--- a/writerfilter/source/doctok/resourceids.xsl
+++ b/writerfilter/source/doctok/resourceids.xsl
@@ -107,34 +107,6 @@ const Id </xsl:text>
 </xsl:for-each>
 <xsl:text>
 }
-
-namespace NS_dff
-{</xsl:text>
-<xsl:for-each select='.//UML:Class[.//UML:Stereotype/@xmi.idref="dffopt"]'>
-  <xsl:variable name ="optname">
-    <xsl:value-of select='.//UML:TaggedValue[.//UML:TagDefinition/@xmi.idref="optname"]/UML:TaggedValue.dataValue'/>
-  </xsl:variable>
-  <xsl:variable name="fopid">
-    <xsl:for-each select='.//UML:TaggedValue[.//UML:TagDefinition/@xmi.idref="fopid"]'>
-      <xsl:value-of select='UML:TaggedValue.dataValue'/>
-    </xsl:for-each>
-  </xsl:variable>
-  <xsl:text>
-const Id </xsl:text>
-  <xsl:call-template name="idtoqname">
-    <xsl:with-param name="id"><xsl:value-of select="$optname"/></xsl:with-param>
-  </xsl:call-template>
-  <xsl:text> = </xsl:text>
-  <xsl:value-of select="$fopid"/>
-  <xsl:text>; // 0x</xsl:text>
-  <xsl:call-template name="dectohex">
-    <xsl:with-param name="number" select="$fopid"/>
-  </xsl:call-template>
-</xsl:for-each>
-<xsl:text>
-}
-
-
 }
 
 #endif // INCLUDED_RESOURCESIDS&#xa;</xsl:text></out>
diff --git a/writerfilter/source/doctok/resources.xmi b/writerfilter/source/doctok/resources.xmi
index d63baa1..fe3fd9a 100644
--- a/writerfilter/source/doctok/resources.xmi
+++ b/writerfilter/source/doctok/resources.xmi
@@ -41495,1371 +41495,6 @@
         </UML:Generalization>
         <!--DFF Dg-->
         <!--DFFS-->
-        <!--DFFOPT-->
-        <!--DFFOPT cropFromTop-->
-        <UML:Class xmi.id="cropFromTop" name="cropFromTop">
-          <UML:ModelElement.stereotype>
-            <UML:Stereotype xmi.idref="dffopt"/>
-          </UML:ModelElement.stereotype>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>dff:shpcropFromTop</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="optname"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>256</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="fopid"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>U32</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="type"/>
-              </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="default"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>16.16
-              fraction times total image width or height, as
-              appropriate.</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="comment"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-        </UML:Class>
-        <!--DFFOPT cropFromTop-->
-        <!--DFFOPT cropFromBottom-->
-        <UML:Class xmi.id="cropFromBottom" name="cropFromBottom">
-          <UML:ModelElement.stereotype>
-            <UML:Stereotype xmi.idref="dffopt"/>
-          </UML:ModelElement.stereotype>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>dff:shpcropFromBottom</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="optname"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>257</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="fopid"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>U32</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="type"/>
-              </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="default"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue/>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="comment"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-        </UML:Class>
-        <!--DFFOPT cropFromBottom-->
-        <!--DFFOPT cropFromLeft-->
-        <UML:Class xmi.id="cropFromLeft" name="cropFromLeft">
-          <UML:ModelElement.stereotype>
-            <UML:Stereotype xmi.idref="dffopt"/>
-          </UML:ModelElement.stereotype>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>dff:shpcropFromLeft</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="optname"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>258</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="fopid"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>U32</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="type"/>
-              </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="default"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue/>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="comment"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-        </UML:Class>
-        <!--DFFOPT cropFromLeft-->
-        <!--DFFOPT cropFromRight-->
-        <UML:Class xmi.id="cropFromRight" name="cropFromRight">
-          <UML:ModelElement.stereotype>
-            <UML:Stereotype xmi.idref="dffopt"/>
-          </UML:ModelElement.stereotype>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>dff:shpcropFromRight</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="optname"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>259</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="fopid"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>U32</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="type"/>
-              </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="default"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue/>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="comment"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-        </UML:Class>
-        <!--DFFOPT cropFromRight-->
-        <!--DFFOPT pib-->
-        <UML:Class xmi.id="pib" name="pib">
-          <UML:ModelElement.stereotype>
-            <UML:Stereotype xmi.idref="dffopt"/>
-          </UML:ModelElement.stereotype>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>dff:shppib</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="optname"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>260</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="fopid"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>unknown</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="type"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>NULL</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="default"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>Blip to
-              display</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="comment"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-        </UML:Class>
-        <!--DFFOPT pib-->
-        <!--DFFOPT pibName-->
-        <UML:Class xmi.id="pibName" name="pibName">
-          <UML:ModelElement.stereotype>
-            <UML:Stereotype xmi.idref="dffopt"/>
-          </UML:ModelElement.stereotype>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>dff:shppibName</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="optname"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>261</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="fopid"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>String</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="type"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>NULL</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="default"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>Blip file
-              name</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="comment"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-        </UML:Class>
-        <!--DFFOPT pibName-->
-        <!--DFFOPT pibFlags-->
-        <UML:Class xmi.id="pibFlags" name="pibFlags">
-          <UML:ModelElement.stereotype>
-            <UML:Stereotype xmi.idref="dffopt"/>
-          </UML:ModelElement.stereotype>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>dff:shppibFlags</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="optname"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>262</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="fopid"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>unknown</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="type"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>Comment</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="default"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>Blip
-              flags</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="comment"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-        </UML:Class>
-        <!--DFFOPT pibFlags-->
-        <!--DFFOPT pictureContrast-->
-        <UML:Class xmi.id="pictureContrast" name="pictureContrast">
-          <UML:ModelElement.stereotype>
-            <UML:Stereotype xmi.idref="dffopt"/>
-          </UML:ModelElement.stereotype>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>dff:shppictureContrast</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="optname"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>264</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="fopid"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>U32</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="type"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>1<<16</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="default"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>contrast
-              setting</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="comment"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-        </UML:Class>
-        <!--DFFOPT pictureContrast-->
-        <!--DFFOPT pictureBrightness-->
-        <UML:Class xmi.id="pictureBrightness" name="pictureBrightness">
-          <UML:ModelElement.stereotype>
-            <UML:Stereotype xmi.idref="dffopt"/>
-          </UML:ModelElement.stereotype>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>dff:shppictureBrightness</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="optname"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>265</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="fopid"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>U32</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="type"/>
-              </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="default"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>brightness
-              setting</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="comment"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-        </UML:Class>
-        <!--DFFOPT pictureBrightness-->
-        <!--DFFOPT pictureGamma-->
-        <UML:Class xmi.id="pictureGamma" name="pictureGamma">
-          <UML:ModelElement.stereotype>
-            <UML:Stereotype xmi.idref="dffopt"/>
-          </UML:ModelElement.stereotype>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>dff:shppictureGamma</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="optname"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>266</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="fopid"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>U32</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="type"/>
-              </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="default"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>16.16
-              gamma</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="comment"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-        </UML:Class>
-        <!--DFFOPT pictureGamma-->
-        <!--DFFOPT pictureId-->
-        <UML:Class xmi.id="pictureId" name="pictureId">
-          <UML:ModelElement.stereotype>
-            <UML:Stereotype xmi.idref="dffopt"/>
-          </UML:ModelElement.stereotype>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>dff:shppictureId</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="optname"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>267</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="fopid"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>U32</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="type"/>
-              </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="default"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>Host-defined
-              ID for OLE objects (usually a pointer)</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="comment"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-        </UML:Class>
-        <!--DFFOPT pictureId-->
-        <!--DFFOPT pictureDblCrMod-->
-        <UML:Class xmi.id="pictureDblCrMod" name="pictureDblCrMod">
-          <UML:ModelElement.stereotype>
-            <UML:Stereotype xmi.idref="dffopt"/>
-          </UML:ModelElement.stereotype>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>dff:shppictureDblCrMod</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="optname"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>268</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="fopid"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>unknown</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="type"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>This</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="default"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>Modification
-              used if shape has double shadow</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="comment"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-        </UML:Class>
-        <!--DFFOPT pictureDblCrMod-->
-        <!--DFFOPT pictureFillCrMod-->
-        <UML:Class xmi.id="pictureFillCrMod" name="pictureFillCrMod">
-          <UML:ModelElement.stereotype>
-            <UML:Stereotype xmi.idref="dffopt"/>
-          </UML:ModelElement.stereotype>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>dff:shppictureFillCrMod</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="optname"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>269</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="fopid"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>unknown</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="type"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>undefined</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="default"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue/>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="comment"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-        </UML:Class>
-        <!--DFFOPT pictureFillCrMod-->
-        <!--DFFOPT pictureLineCrMod-->
-        <UML:Class xmi.id="pictureLineCrMod" name="pictureLineCrMod">
-          <UML:ModelElement.stereotype>
-            <UML:Stereotype xmi.idref="dffopt"/>
-          </UML:ModelElement.stereotype>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>dff:shppictureLineCrMod</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="optname"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>270</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="fopid"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>unknown</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="type"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>undefined</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="default"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue/>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="comment"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-        </UML:Class>
-        <!--DFFOPT pictureLineCrMod-->
-        <!--DFFOPT pictureActive-->
-        <UML:Class xmi.id="pictureActive" name="pictureActive">
-          <UML:ModelElement.stereotype>
-            <UML:Stereotype xmi.idref="dffopt"/>
-          </UML:ModelElement.stereotype>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>dff:shppictureActive</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="optname"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>319</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="fopid"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>U8</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="type"/>
-              </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="isbool"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>FALSE</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="default"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>Server is
-              active (OLE objects only)</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="comment"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-        </UML:Class>
-        <!--DFFOPT pictureActive-->
-        <!--DFFOPT fillColor-->
-        <UML:Class xmi.id="fillColor" name="fillColor">
-          <UML:ModelElement.stereotype>
-            <UML:Stereotype xmi.idref="dffopt"/>
-          </UML:ModelElement.stereotype>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>dff:shpfillColor</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="optname"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>385</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="fopid"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>unknown</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="type"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>white</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="default"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>Foreground
-              color</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="comment"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-        </UML:Class>
-        <!--DFFOPT fillColor-->
-        <!--DFFOPT fillOpacity-->
-        <UML:Class xmi.id="fillOpacity" name="fillOpacity">
-          <UML:ModelElement.stereotype>
-            <UML:Stereotype xmi.idref="dffopt"/>
-          </UML:ModelElement.stereotype>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>dff:shpfillOpacity</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="optname"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>386</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="fopid"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>U32</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="type"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>1<<16</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="default"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>Fixed
-              16.16</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="comment"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-        </UML:Class>
-        <!--DFFOPT fillOpacity-->
-        <!--DFFOPT fNoFillHitTest-->
-        <UML:Class xmi.id="fNoFillHitTest" name="fNoFillHitTest">
-          <UML:ModelElement.stereotype>
-            <UML:Stereotype xmi.idref="dffopt"/>
-          </UML:ModelElement.stereotype>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>dff:shpfNoFillHitTest</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="optname"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>447</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="fopid"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>U8</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="type"/>
-              </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="isbool"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>FALSE</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="default"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>Hit test a
-              shape as though filled</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="comment"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-        </UML:Class>
-        <!--DFFOPT fNoFillHitTest-->
-        <!--DFFOPT lineColor-->
-        <UML:Class xmi.id="lineColor" name="lineColor">
-          <UML:ModelElement.stereotype>
-            <UML:Stereotype xmi.idref="dffopt"/>
-          </UML:ModelElement.stereotype>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>dff:shplineColor</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="optname"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>448</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="fopid"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>unknown</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="type"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>black</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="default"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>Color of line</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="comment"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-        </UML:Class>
-        <!--DFFOPT lineColor-->
-        <!--DFFOPT lineWidth-->
-        <UML:Class xmi.id="lineWidth" name="lineWidth">
-          <UML:ModelElement.stereotype>
-            <UML:Stereotype xmi.idref="dffopt"/>
-          </UML:ModelElement.stereotype>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>dff:shplineWidth</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="optname"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>459</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="fopid"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>U32</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="type"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>9525</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="default"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>A units; 1pt == 12700
-              EMUs</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="comment"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-        </UML:Class>
-        <!--DFFOPT lineWidth-->
-        <!--DFFOPT lineDashing-->
-        <UML:Class xmi.id="lineDashing" name="lineDashing">
-          <UML:ModelElement.stereotype>
-            <UML:Stereotype xmi.idref="dffopt"/>
-          </UML:ModelElement.stereotype>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>dff:shplineDashing</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="optname"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>462</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="fopid"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>unknown</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="type"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>Solid</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="default"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>Can be overridden
-              by:</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="comment"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-        </UML:Class>
-        <!--DFFOPT lineDashing-->
-        <!--DFFOPT fNoLineDrawDash-->
-        <UML:Class xmi.id="fNoLineDrawDash" name="fNoLineDrawDash">
-          <UML:ModelElement.stereotype>
-            <UML:Stereotype xmi.idref="dffopt"/>
-          </UML:ModelElement.stereotype>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>dff:shpfNoLineDrawDash</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="optname"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>511</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="fopid"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>U8</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="type"/>
-              </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="isbool"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>FALSE</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="default"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>Draw a dashed line if no
-              line</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="comment"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-        </UML:Class>
-        <!--DFFOPT fNoLineDrawDash-->
-        <!--DFFOPT wzDescription-->
-        <UML:Class xmi.id="wzDescription" name="wzDescription">
-          <UML:ModelElement.stereotype>
-            <UML:Stereotype xmi.idref="dffopt"/>
-          </UML:ModelElement.stereotype>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>dff:shpwzDescription</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="optname"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>897</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="fopid"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>String</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="type"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>NULL</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="default"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>alternate
-              text</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="comment"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-        </UML:Class>
-        <!--DFFOPT wzDescription-->
-        <!--DFFOPT pWrapPolygonVertices-->
-        <UML:Class xmi.id="pWrapPolygonVertices" name="pWrapPolygonVertices">
-          <UML:ModelElement.stereotype>
-            <UML:Stereotype xmi.idref="dffopt"/>
-          </UML:ModelElement.stereotype>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>dff:shppWrapPolygonVertices</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="optname"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>899</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="fopid"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>unknown</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="type"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>NULL</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="default"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>The polygon that text
-              will be wrapped around (Word)</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="comment"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-        </UML:Class>
-        <!--DFFOPT pWrapPolygonVertices-->
-        <!--DFFOPT dxWrapDistLeft-->
-        <UML:Class xmi.id="dxWrapDistLeft" name="dxWrapDistLeft">
-          <UML:ModelElement.stereotype>
-            <UML:Stereotype xmi.idref="dffopt"/>
-          </UML:ModelElement.stereotype>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>dff:shpdxWrapDistLeft</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="optname"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>900</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="fopid"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>U32</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="type"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>1/8 inch</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="default"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>Left wrapping distance
-              from text (Word)</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="comment"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-        </UML:Class>
-        <!--DFFOPT dxWrapDistLeft-->
-        <!--DFFOPT dyWrapDistTop-->
-        <UML:Class xmi.id="dyWrapDistTop" name="dyWrapDistTop">
-          <UML:ModelElement.stereotype>
-            <UML:Stereotype xmi.idref="dffopt"/>
-          </UML:ModelElement.stereotype>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>dff:shpdyWrapDistTop</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="optname"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>901</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="fopid"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>U32</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="type"/>
-              </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="default"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>Top wrapping distance
-              from text (Word)</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="comment"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-        </UML:Class>
-        <!--DFFOPT dyWrapDistTop-->
-        <!--DFFOPT dxWrapDistRight-->
-        <UML:Class xmi.id="dxWrapDistRight" name="dxWrapDistRight">
-          <UML:ModelElement.stereotype>
-            <UML:Stereotype xmi.idref="dffopt"/>
-          </UML:ModelElement.stereotype>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>dff:shpdxWrapDistRight</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="optname"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>902</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="fopid"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>U32</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="type"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>1/8 inch</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="default"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>Right wrapping distance
-              from text (Word)</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="comment"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-        </UML:Class>
-        <!--DFFOPT dxWrapDistRight-->
-        <!--DFFOPT dyWrapDistBottom-->
-        <UML:Class xmi.id="dyWrapDistBottom" name="dyWrapDistBottom">
-          <UML:ModelElement.stereotype>
-            <UML:Stereotype xmi.idref="dffopt"/>
-          </UML:ModelElement.stereotype>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>dff:shpdyWrapDistBottom</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="optname"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>903</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="fopid"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>U32</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="type"/>
-              </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="default"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-          <UML:ModelElement.taggedValue>
-            <UML:TaggedValue>
-              <UML:TaggedValue.dataValue>Bottom wrapping distance
-              from text (Word)</UML:TaggedValue.dataValue>
-              <UML:TaggedValue.type>
-                <UML:TagDefinition xmi.idref="comment"/>
-              </UML:TaggedValue.type>
-            </UML:TaggedValue>
-          </UML:ModelElement.taggedValue>
-        </UML:Class>
-        <!--DFFOPT dyWrapDistBottom-->
-        <!--DFFOPT-->
       </UML:Namespace.ownedElement>
     </UML:Model>
   </XMI.content>


More information about the Libreoffice-commits mailing list