[Libreoffice-commits] core.git: include/oox oox/source

Thorsten Behrens tbehrens at suse.com
Mon Oct 7 02:58:30 PDT 2013


 include/oox/drawingml/textcharacterproperties.hxx       |    1 
 oox/source/drawingml/textcharacterproperties.cxx        |    7 ++
 oox/source/drawingml/textcharacterpropertiescontext.cxx |   39 ++++++----------
 3 files changed, 23 insertions(+), 24 deletions(-)

New commits:
commit 840a8573c8cebe67ddd3c9fe106c7dbd789bb334
Author: Thorsten Behrens <tbehrens at suse.com>
Date:   Mon Oct 7 11:16:04 2013 +0200

    Fix fdo#70220 Superscript not imported from pptx.
    
    Import works now, though EditEngine still fscks up font scaling -
    seems for CharEscapementHeight to work, there has to be reference,
    non-scaled text in the same portion ...
    
    Change-Id: I5505ae83bd6b700ebe8c3465beec40a4df2efb78

diff --git a/include/oox/drawingml/textcharacterproperties.hxx b/include/oox/drawingml/textcharacterproperties.hxx
index 99792fe..2e519c9 100644
--- a/include/oox/drawingml/textcharacterproperties.hxx
+++ b/include/oox/drawingml/textcharacterproperties.hxx
@@ -46,6 +46,7 @@ struct TextCharacterProperties
     OptValue< sal_Int32 > moHeight;
     OptValue< sal_Int32 > moSpacing;
     OptValue< sal_Int32 > moUnderline;
+    OptValue< sal_Int32 > moBaseline;
     OptValue< sal_Int32 > moStrikeout;
     OptValue< sal_Int32 > moCaseMap;
     OptValue< bool >    moBold;
diff --git a/oox/source/drawingml/textcharacterproperties.cxx b/oox/source/drawingml/textcharacterproperties.cxx
index 8a12c62..a8a8806 100644
--- a/oox/source/drawingml/textcharacterproperties.cxx
+++ b/oox/source/drawingml/textcharacterproperties.cxx
@@ -22,6 +22,7 @@
 #include <com/sun/star/awt/FontSlant.hpp>
 #include <com/sun/star/awt/FontWeight.hpp>
 #include <i18nlangtag/languagetag.hxx>
+#include <editeng/escapementitem.hxx>
 #include "oox/helper/helper.hxx"
 #include "oox/helper/propertyset.hxx"
 #include "oox/core/xmlfilterbase.hxx"
@@ -52,6 +53,7 @@ void TextCharacterProperties::assignUsed( const TextCharacterProperties& rSource
     moHeight.assignIfUsed( rSourceProps.moHeight );
     moSpacing.assignIfUsed( rSourceProps.moSpacing );
     moUnderline.assignIfUsed( rSourceProps.moUnderline );
+    moBaseline.assignIfUsed( rSourceProps.moBaseline );
     moStrikeout.assignIfUsed( rSourceProps.moStrikeout );
     moCaseMap.assignIfUsed( rSourceProps.moCaseMap );
     moBold.assignIfUsed( rSourceProps.moBold );
@@ -114,6 +116,11 @@ void TextCharacterProperties::pushToPropMap( PropertyMap& rPropMap, const XmlFil
     rPropMap[ PROP_CharStrikeout ] <<= GetFontStrikeout( moStrikeout.get( XML_noStrike ) );
     rPropMap[ PROP_CharCaseMap ] <<= GetCaseMap( moCaseMap.get( XML_none ) );
 
+    if( !bUseOptional || moBaseline.has() ) {
+        rPropMap[ PROP_CharEscapement ] <<= sal_Int16(moBaseline.get( 0 ) / 1000);
+        rPropMap[ PROP_CharEscapementHeight ] <<= sal_Int8(DFLT_ESC_PROP);
+    }
+
     if( !bUseOptional || moBold.has() ) {
         float fWeight = moBold.get( false ) ? awt::FontWeight::BOLD : awt::FontWeight::NORMAL;
         rPropMap[ PROP_CharWeight ] <<= fWeight;
diff --git a/oox/source/drawingml/textcharacterpropertiescontext.cxx b/oox/source/drawingml/textcharacterpropertiescontext.cxx
index dfca590a..a937dba 100644
--- a/oox/source/drawingml/textcharacterpropertiescontext.cxx
+++ b/oox/source/drawingml/textcharacterpropertiescontext.cxx
@@ -52,36 +52,27 @@ TextCharacterPropertiesContext::TextCharacterPropertiesContext(
         mrTextCharacterProperties.moUnderline = rAttribs.getToken( XML_u );
     if ( rAttribs.hasAttribute( XML_strike ) )
         mrTextCharacterProperties.moStrikeout = rAttribs.getToken( XML_strike );
+    if ( aAttribs.hasAttribute( XML_baseline ) )
+        mrTextCharacterProperties.moBaseline = aAttribs.getInteger( XML_baseline );
 
-//  mrTextCharacterProperties.moCaseMap     = rAttribs.getToken( XML_cap );
     if ( rAttribs.hasAttribute( XML_b ) )
         mrTextCharacterProperties.moBold = rAttribs.getBool( XML_b );
     if ( rAttribs.hasAttribute( XML_i ) )
         mrTextCharacterProperties.moItalic = rAttribs.getBool( XML_i );
 
-// TODO
-/*   todo: we need to be able to iterate over the XFastAttributes
-
-  // ST_TextNonNegativePoint
-    const OUString sCharKerning( "CharKerning" );
-    //case A_TOKEN( kern ):
-
-  // ST_TextLanguageID
-    OUString sAltLang = rAttribs.getString( XML_altLang ).get();
-
-        case A_TOKEN( kumimoji ):       // xsd:boolean
-            break;
-        case A_TOKEN( spc ):            // ST_TextPoint
-        case A_TOKEN( normalizeH ):     // xsd:boolean
-        case A_TOKEN( baseline ):       // ST_Percentage
-        case A_TOKEN( noProof ):        // xsd:boolean
-        case A_TOKEN( dirty ):          // xsd:boolean
-        case A_TOKEN( err ):            // xsd:boolean
-        case A_TOKEN( smtClean ):       // xsd:boolean
-        case A_TOKEN( smtId ):          // xsd:unsignedInt
-            break;
-*/
-
+    /* TODO / unhandled so far:
+       XML_cap
+       A_TOKEN( kern )
+       XML_altLang
+       A_TOKEN( kumimoji )
+       A_TOKEN( spc )
+       A_TOKEN( normalizeH )
+       A_TOKEN( noProof )
+       A_TOKEN( dirty )
+       A_TOKEN( err )
+       A_TOKEN( smtClean )
+       A_TOKEN( smtId )
+    */
 }
 
 TextCharacterPropertiesContext::~TextCharacterPropertiesContext()


More information about the Libreoffice-commits mailing list