summaryrefslogtreecommitdiff
path: root/starmath
diff options
context:
space:
mode:
Diffstat (limited to 'starmath')
-rw-r--r--starmath/source/ooxmlimport.cxx25
-rw-r--r--starmath/source/ooxmlimport.hxx1
2 files changed, 26 insertions, 0 deletions
diff --git a/starmath/source/ooxmlimport.cxx b/starmath/source/ooxmlimport.cxx
index ac7d520d32d6..a3b3648bd02d 100644
--- a/starmath/source/ooxmlimport.cxx
+++ b/starmath/source/ooxmlimport.cxx
@@ -83,6 +83,9 @@ OUString SmOoxmlImport::handleStream()
case OPENING( M_TOKEN( bar )):
ret += STR( " " ) + handleBar();
break;
+ case OPENING( M_TOKEN( borderBox )):
+ ret += STR( " " ) + handleBorderBox();
+ break;
case OPENING( M_TOKEN( f )):
ret += STR( " " ) + handleF();
break;
@@ -180,6 +183,28 @@ OUString SmOoxmlImport::handleBar()
return STR( "underline { " ) + e + STR( " }" );
}
+OUString SmOoxmlImport::handleBorderBox()
+{
+ stream.ensureOpeningTag( M_TOKEN( borderBox ));
+ bool isStrikeH = false;
+ if( stream.checkOpeningTag( M_TOKEN( borderBoxPr )))
+ {
+ if( XmlStream::Tag strikeH = stream.checkOpeningTag( M_TOKEN( strikeH )))
+ {
+ if( strikeH.attributes.attribute( M_TOKEN( val ), false ))
+ isStrikeH = true;
+ stream.ensureClosingTag( M_TOKEN( strikeH ));
+ }
+ stream.ensureClosingTag( M_TOKEN( borderBoxPr ));
+ }
+ OUString e = handleE();
+ stream.ensureClosingTag( M_TOKEN( borderBox ));
+ if( isStrikeH )
+ return STR( "overstrike { " ) + e + STR( " }" );
+ // LO does not seem to implement anything for handling the other cases
+ return e;
+}
+
OUString SmOoxmlImport::handleE()
{
stream.ensureOpeningTag( M_TOKEN( e ));
diff --git a/starmath/source/ooxmlimport.hxx b/starmath/source/ooxmlimport.hxx
index 508723c4c8be..8d587f7fe69b 100644
--- a/starmath/source/ooxmlimport.hxx
+++ b/starmath/source/ooxmlimport.hxx
@@ -46,6 +46,7 @@ private:
rtl::OUString handleStream();
rtl::OUString handleAcc();
rtl::OUString handleBar();
+ rtl::OUString handleBorderBox();
rtl::OUString handleE();
rtl::OUString handleF();
rtl::OUString handleR();