diff options
author | Noel Grandin <noel.grandin@collabora.co.uk> | 2024-10-30 09:51:26 +0200 |
---|---|---|
committer | Noel Grandin <noel.grandin@collabora.co.uk> | 2024-10-31 12:10:52 +0100 |
commit | 11b15571475414ef853e21a6c96afa2ac81f848f (patch) | |
tree | e32da625489c121001e8436fb693b2a25a1e1b6e /svx/source/svdraw | |
parent | ef085d09e0c019f78a3d35f759c8fe567856b615 (diff) |
convert KernArray from sal_Int32 to double
which allows us to eliminate a bunch of rounding at various layers, and
consequently maintain a lot more precision
Change-Id: I911dedd7c041c1d67396c082e5695346ea689acb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175814
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'svx/source/svdraw')
-rw-r--r-- | svx/source/svdraw/svdotextdecomposition.cxx | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/svx/source/svdraw/svdotextdecomposition.cxx b/svx/source/svdraw/svdotextdecomposition.cxx index e228471b3433..2c04df143f8e 100644 --- a/svx/source/svdraw/svdotextdecomposition.cxx +++ b/svx/source/svdraw/svdotextdecomposition.cxx @@ -191,14 +191,14 @@ namespace } sal_Int32 nStartOffset = nSpanIdx - nIdx; - sal_Int32 nStartX = nStartOffset ? m_rInfo.mpDXArray[nStartOffset - 1] : 0; + double nStartX = nStartOffset ? m_rInfo.mpDXArray[nStartOffset - 1] : 0; Point aStartPos(m_rInfo.mrStartPos.X() + nStartX, m_rInfo.mrStartPos.Y()); - std::vector<sal_Int32> aDXArray; - aDXArray.reserve(nSpanLen); + KernArray aDXArray; + aDXArray.resize(nSpanLen); for (sal_Int32 i = 0; i < nSpanLen; ++i) - aDXArray.push_back(m_rInfo.mpDXArray[nStartOffset + i] - nStartX); + aDXArray[i] = m_rInfo.mpDXArray[nStartOffset + i] - nStartX; auto aKashidaArray = !m_rInfo.mpKashidaArray.empty() ? std::span<const sal_Bool>(m_rInfo.mpKashidaArray.data() + nStartOffset, nSpanLen) : |