diff options
author | Miklos Vajna <vmiklos@suse.cz> | 2013-06-13 14:13:49 +0200 |
---|---|---|
committer | Miklos Vajna <vmiklos@suse.cz> | 2013-06-13 17:14:06 +0200 |
commit | 1f2e2563a60bfc3a4c5b81b99beb8eef674d13f2 (patch) | |
tree | 18248b3ef5beee959152f4f42ed513ceffcc2e5c | |
parent | 3af0114a295d2a6c600117adb5bcd6689c0c787e (diff) |
fdo#58819 initial VML export of ESCHER_Prop_gtextUNICODE
Change-Id: I67b5dc102fc264d0a643620bbdc5796bdaa46d82
-rw-r--r-- | oox/source/export/vmlexport.cxx | 23 |
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; |