summaryrefslogtreecommitdiff
path: root/writerfilter
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@suse.cz>2012-04-21 11:25:18 +0200
committerMiklos Vajna <vmiklos@suse.cz>2012-04-21 11:57:19 +0200
commitf8bda240a09b4ece1c3401874b3cc8f325dbcedb (patch)
tree3d59ce78a08694416a48d6005b916a09a923e8ca /writerfilter
parent2abba84aa7c639011956721a4922653130dd09a6 (diff)
fdo#48023 fix RTF import of Russian characters without an encoding specified
lcl_GetDefaultTextEncodingForRTF() in editeng did the same.
Diffstat (limited to 'writerfilter')
-rw-r--r--writerfilter/source/rtftok/rtfdocumentimpl.cxx15
1 files changed, 14 insertions, 1 deletions
diff --git a/writerfilter/source/rtftok/rtfdocumentimpl.cxx b/writerfilter/source/rtftok/rtfdocumentimpl.cxx
index 2527cefd0042..2b304819523a 100644
--- a/writerfilter/source/rtftok/rtfdocumentimpl.cxx
+++ b/writerfilter/source/rtftok/rtfdocumentimpl.cxx
@@ -513,13 +513,26 @@ sal_uInt32 RTFDocumentImpl::getColorTable(sal_uInt32 nIndex)
return 0;
}
+rtl_TextEncoding lcl_getDefaultTextEncoding()
+{
+
+ const OUString& rLanguage = Application::GetSettings().GetLocale().Language;
+
+ if (rLanguage == "ru" || rLanguage == "uk")
+ return RTL_TEXTENCODING_MS_1251;
+ if (rLanguage == "tr")
+ return RTL_TEXTENCODING_MS_1254;
+ else
+ return RTL_TEXTENCODING_MS_1252;
+}
+
rtl_TextEncoding RTFDocumentImpl::getEncoding(sal_uInt32 nFontIndex)
{
if (!m_pSuperstream)
{
if (nFontIndex < m_aFontEncodings.size())
return m_aFontEncodings[nFontIndex];
- return 0;
+ return lcl_getDefaultTextEncoding();
}
else
return m_pSuperstream->getEncoding(nFontIndex);