summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/oox/drawingml/drawingmltypes.hxx6
-rw-r--r--oox/source/vml/vmlformatting.cxx4
2 files changed, 7 insertions, 3 deletions
diff --git a/include/oox/drawingml/drawingmltypes.hxx b/include/oox/drawingml/drawingmltypes.hxx
index 6a4a99f426fe..0b1ea4be7c72 100644
--- a/include/oox/drawingml/drawingmltypes.hxx
+++ b/include/oox/drawingml/drawingmltypes.hxx
@@ -153,6 +153,7 @@ IndexRange GetIndexRange( const css::uno::Reference< css::xml::sax::XFastAttribu
const sal_Int32 EMU_PER_HMM = 360; /// 360 EMUs per 1/100 mm.
+const sal_Int32 EMU_PER_PT = 12700;
/** Converts the passed 32-bit integer value from 1/100 mm to EMUs. */
inline sal_Int64 convertHmmToEmu( sal_Int32 nValue )
@@ -167,6 +168,11 @@ inline sal_Int32 convertEmuToHmm( sal_Int64 nValue )
return getLimitedValue< sal_Int32, sal_Int64 >( (nValue + nCorrection) / EMU_PER_HMM, SAL_MIN_INT32, SAL_MAX_INT32 );
}
+/** Converts the passed 64-bit integer value from EMUs to Points. */
+inline float convertEmuToPoints( sal_Int64 nValue )
+{
+ return (float) nValue / EMU_PER_PT;
+}
/** A structure for a point with 64-bit integer components. */
struct EmuPoint
diff --git a/oox/source/vml/vmlformatting.cxx b/oox/source/vml/vmlformatting.cxx
index c52b48e6e674..cb7ea244c554 100644
--- a/oox/source/vml/vmlformatting.cxx
+++ b/oox/source/vml/vmlformatting.cxx
@@ -929,9 +929,7 @@ void TextpathModel::pushToPropMap(ShapePropertyMap& rPropMap, const uno::Referen
else if (aName == "font-size")
{
oox::OptValue<OUString> aOptString(aValue);
- sal_Int64 nEmu = lclGetEmu( rGraphicHelper, aOptString, 1 );
- // 1 point = 1/72 inch = 12,700 EMU
- float nSize = nEmu / 12700;
+ float nSize = drawingml::convertEmuToPoints(lclGetEmu(rGraphicHelper, aOptString, 1));
uno::Reference<beans::XPropertySet> xPropertySet(xShape, uno::UNO_QUERY);
xPropertySet->setPropertyValue("CharHeight", uno::makeAny(nSize));