summaryrefslogtreecommitdiff
path: root/svx/source/svdraw
diff options
context:
space:
mode:
Diffstat (limited to 'svx/source/svdraw')
-rw-r--r--svx/source/svdraw/svdotextdecomposition.cxx14
-rw-r--r--svx/source/svdraw/svdotextpathdecomposition.cxx5
2 files changed, 19 insertions, 0 deletions
diff --git a/svx/source/svdraw/svdotextdecomposition.cxx b/svx/source/svdraw/svdotextdecomposition.cxx
index 666c20d48f5a..f5955eb7d869 100644
--- a/svx/source/svdraw/svdotextdecomposition.cxx
+++ b/svx/source/svdraw/svdotextdecomposition.cxx
@@ -234,6 +234,18 @@ namespace
}
}
+ ::std::vector< sal_Bool > aKashidaArray;
+
+ if(!rInfo.mpKashidaArray.empty() && rInfo.mnTextLen)
+ {
+ aKashidaArray.reserve(rInfo.mnTextLen);
+
+ for(sal_Int32 a=0; a < rInfo.mnTextLen; a++)
+ {
+ aKashidaArray.push_back(rInfo.mpKashidaArray[a]);
+ }
+ }
+
// create complex text primitive and append
const Color aFontColor(rInfo.mrFont.GetColor());
const basegfx::BColor aBFontColor(aFontColor.getBColor());
@@ -316,6 +328,7 @@ namespace
rInfo.mnTextStart,
rInfo.mnTextLen,
std::vector(aDXArray),
+ std::vector(aKashidaArray),
aFontAttribute,
rInfo.mpLocale ? *rInfo.mpLocale : css::lang::Locale(),
aBFontColor,
@@ -344,6 +357,7 @@ namespace
rInfo.mnTextStart,
rInfo.mnTextLen,
std::vector(aDXArray),
+ std::vector(aKashidaArray),
std::move(aFontAttribute),
rInfo.mpLocale ? *rInfo.mpLocale : css::lang::Locale(),
aBFontColor,
diff --git a/svx/source/svdraw/svdotextpathdecomposition.cxx b/svx/source/svdraw/svdotextpathdecomposition.cxx
index 99a7169c1fe6..7537625b2a26 100644
--- a/svx/source/svdraw/svdotextpathdecomposition.cxx
+++ b/svx/source/svdraw/svdotextpathdecomposition.cxx
@@ -58,6 +58,7 @@ namespace
sal_Int32 mnParagraph;
SvxFont maFont;
::std::vector< double > maDblDXArray; // double DXArray, font size independent -> unit coordinate system
+ ::std::vector< sal_Bool > maKashidaArray;
lang::Locale maLocale;
bool mbRTL : 1;
@@ -70,6 +71,7 @@ namespace
mnTextLength(rInfo.mnTextLen),
mnParagraph(rInfo.mnPara),
maFont(rInfo.mrFont),
+ maKashidaArray(rInfo.mpKashidaArray.begin(), rInfo.mpKashidaArray.end()),
maLocale(rInfo.mpLocale ? *rInfo.mpLocale : lang::Locale()),
mbRTL(!rInfo.mrFont.IsVertical() && rInfo.IsRTL())
{
@@ -107,6 +109,7 @@ namespace
const SvxFont& getFont() const { return maFont; }
bool isRTL() const { return mbRTL; }
const ::std::vector< double >& getDoubleDXArray() const { return maDblDXArray; }
+ const ::std::vector< sal_Bool >& getKashidaArray() const { return maKashidaArray; }
const lang::Locale& getLocale() const { return maLocale; }
sal_Int32 getPortionIndex(sal_Int32 nIndex, sal_Int32 nLength) const
@@ -497,6 +500,7 @@ namespace
nPortionIndex,
nNextGlyphLen,
std::vector(aNewDXArray),
+ std::vector(pCandidate->getKashidaArray()),
aCandidateFontAttribute,
pCandidate->getLocale(),
aRGBShadowColor) );
@@ -514,6 +518,7 @@ namespace
nPortionIndex,
nNextGlyphLen,
std::move(aNewDXArray),
+ std::vector(pCandidate->getKashidaArray()),
aCandidateFontAttribute,
pCandidate->getLocale(),
aRGBColor) );