From f9f07e9001eed6bcc7860b9faf33ec0d51b16f2d Mon Sep 17 00:00:00 2001 From: Peter Nelson Date: Fri, 14 Jun 2024 16:32:31 +0100 Subject: [PATCH] Fix #12775: Text truncated incorrectly on Windows. (#12782) Caused by a -1 in the wrong place, which moved glyphs left one pixel. --- src/os/windows/string_uniscribe.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/os/windows/string_uniscribe.cpp b/src/os/windows/string_uniscribe.cpp index 0834fe6e56..7a4c0244d2 100644 --- a/src/os/windows/string_uniscribe.cpp +++ b/src/os/windows/string_uniscribe.cpp @@ -479,7 +479,7 @@ UniscribeParagraphLayout::UniscribeVisualRun::UniscribeVisualRun(const Uniscribe int advance = x; for (int i = 0; i < this->num_glyphs; i++) { int x_advance = range.advances[i]; - this->positions.emplace_back(range.offsets[i].du + advance - 1, range.offsets[i].du + advance + x_advance, range.offsets[i].dv); + this->positions.emplace_back(range.offsets[i].du + advance, range.offsets[i].du + advance + x_advance - 1, range.offsets[i].dv); advance += x_advance; }