diff options
Diffstat (limited to 'oox')
-rw-r--r-- | oox/source/vml/vmltextbox.cxx | 10 | ||||
-rw-r--r-- | oox/source/vml/vmltextboxcontext.cxx | 10 |
2 files changed, 20 insertions, 0 deletions
diff --git a/oox/source/vml/vmltextbox.cxx b/oox/source/vml/vmltextbox.cxx index 553b6f05a34c..fbd821727883 100644 --- a/oox/source/vml/vmltextbox.cxx +++ b/oox/source/vml/vmltextbox.cxx @@ -20,6 +20,7 @@ #include "oox/vml/vmltextbox.hxx" #include <rtl/ustrbuf.hxx> +#include <svx/unopage.hxx> #include <com/sun/star/awt/FontWeight.hpp> #include <com/sun/star/beans/XPropertySet.hpp> #include <com/sun/star/drawing/TextHorizontalAdjust.hpp> @@ -92,6 +93,15 @@ void TextBox::convert(uno::Reference<drawing::XShape> xShape) const aPropertyValue.Value = uno::makeAny(double(rFont.monSize.get()) / 2.); aPropVec.push_back(aPropertyValue); } + if (rFont.monSpacing.has()) + { + aPropertyValue.Name = "CharKerning"; + // Value is not converted to mm100: SvxKerningItem::PutValue() gets + // called with nMemberId = 0, so no mm100 -> twips conversion will + // be done there. + aPropertyValue.Value = uno::makeAny(sal_Int16(rFont.monSpacing.get())); + aPropVec.push_back(aPropertyValue); + } if (rParagraph.moParaAdjust.has()) { style::ParagraphAdjust eAdjust = style::ParagraphAdjust_LEFT; diff --git a/oox/source/vml/vmltextboxcontext.cxx b/oox/source/vml/vmltextboxcontext.cxx index 2720450698a2..5c7e2f751ffb 100644 --- a/oox/source/vml/vmltextboxcontext.cxx +++ b/oox/source/vml/vmltextboxcontext.cxx @@ -132,6 +132,16 @@ void TextPortionContext::onStartElement(const AttributeList& rAttribs) case OOX_TOKEN(doc, color): maFont.moColor = rAttribs.getString( OOX_TOKEN(doc, val) ); break; + case OOX_TOKEN(doc, spacing): + maFont.monSpacing = rAttribs.getInteger(OOX_TOKEN(doc, val)); + break; + case OOX_TOKEN(doc, r): + case OOX_TOKEN(doc, rPr): + case OOX_TOKEN(doc, t): + break; + default: + SAL_INFO("oox", "unhandled: 0x" << std::hex<< getCurrentElement()); + break; } } |