diff options
author | Thomas Lange <tl@openoffice.org> | 2001-04-09 08:48:32 +0000 |
---|---|---|
committer | Thomas Lange <tl@openoffice.org> | 2001-04-09 08:48:32 +0000 |
commit | 3d037d484ecedb8d800929f7f94af9b13a035c6c (patch) | |
tree | b37062f0d77eab715f807a230fea49eab59a4cc0 /starmath | |
parent | e6f84a92c2bfe21313f315de8e61b5ecc8f0eb32 (diff) |
encoding for read/write of symbols fixed
Diffstat (limited to 'starmath')
-rw-r--r-- | starmath/source/symbol.cxx | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/starmath/source/symbol.cxx b/starmath/source/symbol.cxx index b75fa305780b..df51ef5e2f05 100644 --- a/starmath/source/symbol.cxx +++ b/starmath/source/symbol.cxx @@ -2,9 +2,9 @@ * * $RCSfile: symbol.cxx,v $ * - * $Revision: 1.5 $ + * $Revision: 1.6 $ * - * last change: $Author: hr $ $Date: 2000-11-14 13:42:33 $ + * last change: $Author: tl $ $Date: 2001-04-09 09:48:32 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -175,10 +175,12 @@ void SmSym::SetSymbolName(const String& rName) SvStream& operator << (SvStream& rStream, const SmSym& rSymbol) { - rStream.WriteByteString(ExportString(rSymbol.Name)); + rStream.WriteByteString( ExportString(rSymbol.Name) ); rStream << rSymbol.Face; - rtl_TextEncoding eEnc = gsl_getSystemTextEncoding(); + rtl_TextEncoding eEnc = rSymbol.Face.GetCharSet(); + if (RTL_TEXTENCODING_DONTKNOW == eEnc) + eEnc = RTL_TEXTENCODING_SYMBOL; rStream << ByteString::ConvertFromUnicode( rSymbol.Character, eEnc ); return rStream; @@ -186,14 +188,17 @@ SvStream& operator << (SvStream& rStream, const SmSym& rSymbol) SvStream& operator >> (SvStream& rStream, SmSym& rSymbol) { - rtl_TextEncoding eEnc = gsl_getSystemTextEncoding(); - rStream.ReadByteString(rSymbol.Name, eEnc); + rStream.ReadByteString( rSymbol.Name, gsl_getSystemTextEncoding() ); if (SF_Ident == SF_SM20IDENT) ReadSM20Font(rStream, rSymbol.Face); else rStream >> rSymbol.Face; sal_Char cTemp; rStream >> cTemp; + + rtl_TextEncoding eEnc = rSymbol.Face.GetCharSet(); + if (RTL_TEXTENCODING_DONTKNOW == eEnc) + eEnc = RTL_TEXTENCODING_SYMBOL; rSymbol.Character = ByteString::ConvertToUnicode( cTemp, eEnc ); return rStream; |