summaryrefslogtreecommitdiff
path: root/vcl/source/text/ImplLayoutArgs.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'vcl/source/text/ImplLayoutArgs.cxx')
-rw-r--r--vcl/source/text/ImplLayoutArgs.cxx32
1 files changed, 31 insertions, 1 deletions
diff --git a/vcl/source/text/ImplLayoutArgs.cxx b/vcl/source/text/ImplLayoutArgs.cxx
index 80e85a66dc26..45b951a9845d 100644
--- a/vcl/source/text/ImplLayoutArgs.cxx
+++ b/vcl/source/text/ImplLayoutArgs.cxx
@@ -39,6 +39,7 @@ ImplLayoutArgs::ImplLayoutArgs(const OUString& rStr, int nMinCharPos, int nEndCh
, m_pTextLayoutCache(pLayoutCache)
, mpDXArray(nullptr)
, mpAltNaturalDXArray(nullptr)
+ , mpKashidaArray(nullptr)
, mnLayoutWidth(0)
, mnOrientation(0)
{
@@ -97,6 +98,11 @@ void ImplLayoutArgs::SetAltNaturalDXArray(double const* pDXArray)
mpAltNaturalDXArray = pDXArray;
}
+void ImplLayoutArgs::SetKashidaArray(sal_Bool const* pKashidaArray)
+{
+ mpKashidaArray = pKashidaArray;
+}
+
void ImplLayoutArgs::SetOrientation(Degree10 nOrientation) { mnOrientation = nOrientation; }
void ImplLayoutArgs::ResetPos() { maRuns.ResetPos(); }
@@ -269,7 +275,6 @@ std::ostream& operator<<(std::ostream& s, vcl::text::ImplLayoutArgs const& rArgs
TEST(DisableKerning);
TEST(KerningAsian);
TEST(Vertical);
- TEST(KashidaJustification);
TEST(ForFallback);
#undef TEST
s << "}";
@@ -333,6 +338,31 @@ std::ostream& operator<<(std::ostream& s, vcl::text::ImplLayoutArgs const& rArgs
else
s << "NULL";
+ s << ",KashidaArray=";
+ if (rArgs.mpKashidaArray)
+ {
+ s << "[";
+ int count = rArgs.mnEndCharPos - rArgs.mnMinCharPos;
+ lim = count;
+ if (lim > 10)
+ lim = 7;
+ for (int i = 0; i < lim; i++)
+ {
+ s << rArgs.mpKashidaArray[i];
+ if (i < lim - 1)
+ s << ",";
+ }
+ if (count > lim)
+ {
+ if (count > lim + 1)
+ s << "...";
+ s << rArgs.mpKashidaArray[count - 1];
+ }
+ s << "]";
+ }
+ else
+ s << "NULL";
+
s << ",LayoutWidth=" << rArgs.mnLayoutWidth;
s << "}";