dbaccess/source/ui/misc/TokenWriter.cxx | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-)
New commits: commit 61e02561aa659d829a6786609fc57d99fd8652b4 Author: Mike Kaganski <mike.kagan...@collabora.com> AuthorDate: Thu Aug 15 22:02:20 2019 +0300 Commit: Mike Kaganski <mike.kagan...@collabora.com> CommitDate: Fri Aug 16 08:01:25 2019 +0200 tdf#126940: export ansicpg in RTF when copying database This allows correctly detect encoding of 8-bit characters on paste Change-Id: I586fd2ec140848e9097927818c492ab2fc7cf8ea Reviewed-on: https://gerrit.libreoffice.org/77545 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kagan...@collabora.com> diff --git a/dbaccess/source/ui/misc/TokenWriter.cxx b/dbaccess/source/ui/misc/TokenWriter.cxx index 5a56d78dcc18..fb82d00d1e77 100644 --- a/dbaccess/source/ui/misc/TokenWriter.cxx +++ b/dbaccess/source/ui/misc/TokenWriter.cxx @@ -22,6 +22,7 @@ #include <tools/diagnose_ex.h> #include <tools/stream.hxx> #include <osl/diagnose.h> +#include <rtl/tencinfo.h> #include <sal/log.hxx> #include <i18nlangtag/languagetag.hxx> #include <RtfReader.hxx> @@ -320,8 +321,12 @@ bool ORTFImportExport::Write() { ODatabaseImportExport::Write(); m_pStream->WriteChar( '{' ).WriteCharPtr( OOO_STRING_SVTOOLS_RTF_RTF ); - m_pStream->WriteCharPtr( OOO_STRING_SVTOOLS_RTF_ANSI ).WriteCharPtr( SAL_NEWLINE_STRING ); - rtl_TextEncoding eDestEnc = RTL_TEXTENCODING_MS_1252; + m_pStream->WriteCharPtr(OOO_STRING_SVTOOLS_RTF_ANSI); + if (sal_uInt32 nCpg = rtl_getWindowsCodePageFromTextEncoding(m_eDestEnc); nCpg && nCpg != 65001) + { + m_pStream->WriteCharPtr(OOO_STRING_SVTOOLS_RTF_ANSICPG).WriteUInt32AsString(nCpg); + } + m_pStream->WriteCharPtr(SAL_NEWLINE_STRING); bool bBold = ( css::awt::FontWeight::BOLD == m_aFont.Weight ); bool bItalic = ( css::awt::FontSlant_ITALIC == m_aFont.Slant ); @@ -333,11 +338,11 @@ bool ORTFImportExport::Write() m_xObject->getPropertyValue(PROPERTY_TEXTCOLOR) >>= nColor; ::Color aColor(nColor); - OString aFonts(OUStringToOString(m_aFont.Name, eDestEnc)); + OString aFonts(OUStringToOString(m_aFont.Name, RTL_TEXTENCODING_MS_1252)); if (aFonts.isEmpty()) { OUString aName = Application::GetSettings().GetStyleSettings().GetAppFont().GetFamilyName(); - aFonts = OUStringToOString(aName, eDestEnc); + aFonts = OUStringToOString(aName, RTL_TEXTENCODING_MS_1252); } m_pStream->WriteCharPtr( "{\\fonttbl" ); @@ -437,7 +442,7 @@ bool ORTFImportExport::Write() m_pStream->WriteCharPtr( "\\fs20\\f0\\cf0\\cb2" ); m_pStream->WriteChar( ' ' ); - RTFOutFuncs::Out_String(*m_pStream,sColumnName,eDestEnc); + RTFOutFuncs::Out_String(*m_pStream, sColumnName, m_eDestEnc); m_pStream->WriteCharPtr( OOO_STRING_SVTOOLS_RTF_CELL ); m_pStream->WriteChar( '}' ); _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits