starmath/source/ooxmlimport.cxx |   22 +++++++++++++++++-----
 1 file changed, 17 insertions(+), 5 deletions(-)

New commits:
commit fb2875a26a1a842c6a7e44f85a1655e6f9092e7b
Author: LuboÅ¡ Luňák <[email protected]>
Date:   Tue Mar 26 16:07:52 2013 +0100

    m:nor and m:lit math docx tags lead to quoting
    
    The meaning should not be exactly the same, but it looks like there's
    no better way to express this (or rather quoting means both).
    
    Change-Id: I024ce6c89667a69f685bb84d768095100b0090b1
    Reviewed-on: https://gerrit.libreoffice.org/3060
    Reviewed-by: Fridrich Strba <[email protected]>
    Tested-by: Fridrich Strba <[email protected]>

diff --git a/starmath/source/ooxmlimport.cxx b/starmath/source/ooxmlimport.cxx
index e3a48ca..648f808 100644
--- a/starmath/source/ooxmlimport.cxx
+++ b/starmath/source/ooxmlimport.cxx
@@ -570,11 +570,21 @@ OUString SmOoxmlImport::handleNary()
 OUString SmOoxmlImport::handleR()
 {
     stream.ensureOpeningTag( M_TOKEN( r ));
-    if( XmlStream::Tag rPr = stream.checkOpeningTag( OOX_TOKEN( doc, rPr )))
-    { // TODO
-//        stream.checkOpeningTag( OOX_TOKEN( doc, rFonts ));
-//        stream.ensureClosingTag( OOX_TOKEN( doc, rFonts ));
-        stream.ensureClosingTag( OOX_TOKEN( doc, rPr ));
+    bool normal = false;
+    bool literal = false;
+    if( XmlStream::Tag rPr = stream.checkOpeningTag( M_TOKEN( rPr )))
+    {
+        if( XmlStream::Tag litTag = stream.checkOpeningTag( M_TOKEN( lit )))
+        {
+            literal = litTag.attribute( M_TOKEN( val ), true );
+            stream.ensureClosingTag( M_TOKEN( lit ));
+        }
+        if( XmlStream::Tag norTag = stream.checkOpeningTag( M_TOKEN( nor )))
+        {
+            normal = norTag.attribute( M_TOKEN( val ), true );
+            stream.ensureClosingTag( M_TOKEN( nor ));
+        }
+        stream.ensureClosingTag( M_TOKEN( rPr ));
     }
     OUString text;
     while( !stream.atEnd() && stream.currentToken() != CLOSING( 
stream.currentToken()))
@@ -597,6 +607,8 @@ OUString SmOoxmlImport::handleR()
         }
     }
     stream.ensureClosingTag( M_TOKEN( r ));
+    if( normal || literal )
+        text = "\"" + text + "\"";
     return text.replaceAll("{", "\\{").replaceAll("}", "\\}");
 }
 
_______________________________________________
Libreoffice-commits mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to