vcl/source/fontsubset/sft.cxx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
New commits: commit d3e0ab976a5bbf63d1673422035def67ba9f4838 Author: Stephan Bergmann <sberg...@redhat.com> Date: Mon Jun 19 11:19:19 2017 +0200 Avoid -fsanitize=shift-base about left-shift of negative values ...assuming these values are indeed intended to be negative (and <https: //developer.apple.com/fonts/TrueType-Reference-Manual/RM06/Chap6.html#Types>) mentions a "Fixed: 16.16-bit sgined fixed-point number" type, apparently represented here by F16Dot16, so the assumption looks plausible). During CppunitTest_vcl_pdfexport, encountered negative values -1184 and -22 with instdir/share/fonts/truetype/Carlito-Regular.ttf and -8 with instdir/share/fonts/truetype/LiberationSans-Bold.ttf. Change-Id: Ia07c61aebc2c9c67d0ed6173ecac94bab2abb2a8 diff --git a/vcl/source/fontsubset/sft.cxx b/vcl/source/fontsubset/sft.cxx index 20620ea19f1f..b925846dac14 100644 --- a/vcl/source/fontsubset/sft.cxx +++ b/vcl/source/fontsubset/sft.cxx @@ -620,9 +620,9 @@ static int GetCompoundTTOutline(TrueTypeFont *ttf, sal_uInt32 glyphID, ControlPo cp.flags = nextComponent[i].flags; const sal_uInt16 x = nextComponent[i].x; const sal_uInt16 y = nextComponent[i].y; - t = fixedMulDiv(a, x << 16, m) + fixedMulDiv(c, y << 16, m) + (e << 16); + t = fixedMulDiv(a, x << 16, m) + fixedMulDiv(c, y << 16, m) + sal_Int32(sal_uInt16(e) << 16); cp.x = (sal_Int16)(fixedMul(t, m) >> 16); - t = fixedMulDiv(b, x << 16, n) + fixedMulDiv(d, y << 16, n) + (f << 16); + t = fixedMulDiv(b, x << 16, n) + fixedMulDiv(d, y << 16, n) + sal_Int32(sal_uInt16(f) << 16); cp.y = (sal_Int16)(fixedMul(t, n) >> 16); myPoints.push_back( cp ); _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits