From 303abc6249d8b8429599591eeaa10e52f5416f7d Mon Sep 17 00:00:00 2001 From: Ryan Oldenburg Date: Sun, 12 Sep 2021 15:43:26 -0500 Subject: [PATCH] fix multi-break long words --- src/pixie/fonts.nim | 1 + tests/fonts/diffs/basic8b.png | Bin 7664 -> 6203 bytes tests/fonts/rendered/basic8b.png | Bin 8294 -> 7405 bytes tests/test_fonts.nim | 2 +- 4 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/pixie/fonts.nim b/src/pixie/fonts.nim index 2f934f0..59687fb 100644 --- a/src/pixie/fonts.nim +++ b/src/pixie/fonts.nim @@ -272,6 +272,7 @@ proc typeset*( result.selectionRects[i].xy = vec2(at.x, at.y) at.x += advance(font, result.runes, i) dec lineStart + prevCanWrap = 0 result.lines[^1][1] = lineStart - 1 result.lines.add((lineStart, 0)) diff --git a/tests/fonts/diffs/basic8b.png b/tests/fonts/diffs/basic8b.png index 088423a71f45b821b3fcfa094e36c2dfa9c6ee75..f8f0e472009fcfced9ee5d532b04d03982a06f39 100644 GIT binary patch literal 6203 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 eyM;hzpz|-L;5X0sJE_S40000h-sNSjtgf(Fpj7 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 literal 8294 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 mK{h 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