diff options
Diffstat (limited to 'starmath')
-rw-r--r-- | starmath/source/ooxmlimport.cxx | 25 | ||||
-rw-r--r-- | starmath/source/ooxmlimport.hxx | 1 |
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(); |