From 6d2bd0b433056988e83e9371cf71567a6c31e591 Mon Sep 17 00:00:00 2001 From: os Date: Wed, 8 Dec 2010 10:17:56 +0100 Subject: #i115956# token translation fixed --- starmath/source/parse.cxx | 27 ++++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/starmath/source/parse.cxx b/starmath/source/parse.cxx index d12f3df07400..697e18362d87 100755 --- a/starmath/source/parse.cxx +++ b/starmath/source/parse.cxx @@ -2317,18 +2317,23 @@ void SmParser::Special() // conversion of symbol names for 6.0 (XML) file format // (name change on import / export. // UI uses localized names XML file format does not.) - if (IsImportSymbolNames()) + if( rName.Len() && rName.GetChar( 0 ) == sal_Unicode( '%' ) ) { - const SmLocalizedSymbolData &rLSD = SM_MOD()->GetLocSymbolData(); - aNewName = rLSD.GetUiSymbolName( rName ); - bReplace = TRUE; - } - else if (IsExportSymbolNames()) - { - const SmLocalizedSymbolData &rLSD = SM_MOD()->GetLocSymbolData(); - aNewName = rLSD.GetExportSymbolName( rName ); - bReplace = TRUE; + if (IsImportSymbolNames()) + { + const SmLocalizedSymbolData &rLSD = SM_MOD()->GetLocSymbolData(); + aNewName = rLSD.GetUiSymbolName( rName.Copy( 1 ) ); + bReplace = TRUE; + } + else if (IsExportSymbolNames()) + { + const SmLocalizedSymbolData &rLSD = SM_MOD()->GetLocSymbolData(); + aNewName = rLSD.GetExportSymbolName( rName.Copy( 1 ) ); + bReplace = TRUE; + } } + if( aNewName.Len() ) + aNewName.Insert( '%', 0 ); } else // 5.0 <-> 6.0 formula text (symbol name) conversion { @@ -2367,7 +2372,7 @@ void SmParser::Special() if (bReplace && aNewName.Len() && rName != aNewName) { - Replace( GetTokenIndex() + 1, rName.Len(), aNewName ); + Replace( GetTokenIndex(), rName.Len(), aNewName ); rName = aNewName; } -- cgit