FreeType: Round glyph advances

The old code would simply add advances and store as a float with
individual glyph positioning using floor() based on the advance +
offset. This breaks rendering of infinite length ligatures at some font
sizes as they either under or overflow. Rounding the advances seems to
fix it. Dont know if it will have other ill-effects for non infinite
length ligatures. If it does we can test total ligature length and
use rounding only for long ligatures.

Fixes #3896
This commit is contained in:
Kovid Goyal
2021-08-04 08:35:51 +05:30
parent 8a6b51441c
commit 55319cd6d6
2 changed files with 13 additions and 1 deletions

View File

@@ -15,6 +15,8 @@ To update |kitty|, :doc:`follow the instructions <binary>`.
windows, allowing individual tabs/windows to have their own titles, even when
the OS Window has a fixed overall title (:iss:`3893`)
- Linux: Fix some very long ligatures being rendered incorrectly at some font
sizes (:iss:`3896`)
0.22.2 [2021-08-02]
----------------------