summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@suse.cz>2013-06-13 14:13:49 +0200
committerMiklos Vajna <vmiklos@suse.cz>2013-06-13 17:14:06 +0200
commit1f2e2563a60bfc3a4c5b81b99beb8eef674d13f2 (patch)
tree18248b3ef5beee959152f4f42ed513ceffcc2e5c
parent3af0114a295d2a6c600117adb5bcd6689c0c787e (diff)
fdo#58819 initial VML export of ESCHER_Prop_gtextUNICODE
Change-Id: I67b5dc102fc264d0a643620bbdc5796bdaa46d82
-rw-r--r--oox/source/export/vmlexport.cxx23
1 files changed, 22 insertions, 1 deletions
diff --git a/oox/source/export/vmlexport.cxx b/oox/source/export/vmlexport.cxx
index ca5e625cbfa3..e2df5cfb6669 100644
--- a/oox/source/export/vmlexport.cxx
+++ b/oox/source/export/vmlexport.cxx
@@ -27,6 +27,7 @@
#include <tools/stream.hxx>
#include <svx/svdotext.hxx>
#include <vcl/cvtgrf.hxx>
+#include <filter/msfilter/msdffimp.hxx>
#include <cstdio>
@@ -688,6 +689,26 @@ void VMLExport::Commit( EscherPropertyContainer& rProps, const Rectangle& rRect
}
}
break;
+ case ESCHER_Prop_gtextUNICODE:
+ {
+ SvMemoryStream aStream;
+ aStream.Write(it->pBuf, it->nPropSize);
+ aStream.Seek(0);
+ OUString aTextPathString = SvxMSDffManager::MSDFFReadZString(aStream, it->nPropSize, true);
+
+ m_pSerializer->singleElementNS( XML_v, XML_path,
+ XML_textpathok, "t",
+ FSEND );
+
+ m_pSerializer->singleElementNS( XML_v, XML_textpath,
+ XML_on, "t",
+ XML_fitshape, "t",
+ XML_string, OUStringToOString(aTextPathString, RTL_TEXTENCODING_UTF8),
+ FSEND );
+
+ bAlreadyWritten[ESCHER_Prop_gtextUNICODE] = true;
+ }
+ break;
default:
#if OSL_DEBUG_LEVEL > 0
fprintf( stderr, "TODO VMLExport::Commit(), unimplemented id: %d, value: %" SAL_PRIuUINT32 ", data: [%" SAL_PRIuUINT32 ", %p]\n",
@@ -851,7 +872,7 @@ sal_Int32 VMLExport::StartShape()
// now check if we have some text and we have a text exporter registered
const SdrTextObj* pTxtObj = PTR_CAST(SdrTextObj, m_pSdrObject);
- if (pTxtObj && m_pTextExport)
+ if (pTxtObj && m_pTextExport && m_nShapeType != ESCHER_ShpInst_TextPlainText)
{
const OutlinerParaObject* pParaObj = 0;
bool bOwnParaObj = false;