From 912c46fc57362d3bd2a2f82b4b0a2ef939d6e1ec Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Mon, 15 Feb 2021 10:36:07 +0530 Subject: [PATCH] Fix rendering of ligatures in the latest release of Cascadia code For some reason it puts empty glyphs after the ligature glyph rather than before it. There is a possibility this fix might break something else, we will see. Fixes #3313 --- docs/changelog.rst | 4 ++++ kitty/fonts.c | 7 +++++-- kitty_tests/CascadiaCode-Regular.otf | Bin 0 -> 156552 bytes kitty_tests/fonts.py | 29 ++++++++++++++++++--------- 4 files changed, 29 insertions(+), 11 deletions(-) create mode 100644 kitty_tests/CascadiaCode-Regular.otf diff --git a/docs/changelog.rst b/docs/changelog.rst index 52c523891..43e821b88 100644 --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -64,6 +64,10 @@ To update |kitty|, :doc:`follow the instructions `. - Fix OS window sizes under 100px resulting in scaled display (:iss:`3307`) +- Fix rendering of ligatures in the latest release of Cascadia code, which for + some reason puts empty glyphs after the ligature glyph rather than before it + (:iss:`3313`) + 0.19.3 [2020-12-19] ------------------- diff --git a/kitty/fonts.c b/kitty/fonts.c index 59ee6d692..702cbeb18 100644 --- a/kitty/fonts.c +++ b/kitty/fonts.c @@ -767,7 +767,7 @@ typedef struct { typedef struct { unsigned int first_glyph_idx, first_cell_idx, num_glyphs, num_cells; - bool has_special_glyph, is_space_ligature; + bool has_special_glyph, is_space_ligature, started_with_empty_glyph; } Group; typedef struct { @@ -905,6 +905,7 @@ shape_run(CPUCell *first_cpu_cell, GPUCell *first_gpu_cell, index_type num_cells * Ligature fonts, take two common approaches: * 1. ABC becomes EMPTY, EMPTY, WIDE GLYPH this means we have to render N glyphs in N cells (example Fira Code) * 2. ABC becomes WIDE GLYPH this means we have to render one glyph in N cells (example Operator Mono Lig) + * 3. ABC becomes WIDE GLYPH, EMPTY, EMPTY this means we have to render N glyphs in N cells (example Cascadia Code) * * We rely on the cluster numbers from harfbuzz to tell us how many unicode codepoints a glyph corresponds to. * Then we check if the glyph is a ligature glyph (is_special_glyph) and if it is an empty glyph. These three @@ -933,7 +934,8 @@ shape_run(CPUCell *first_cpu_cell, GPUCell *first_gpu_cell, index_type num_cells add_to_current_group = true; } else { if (is_special) { - add_to_current_group = G(prev_was_empty); + if (current_group->started_with_empty_glyph) add_to_current_group = G(prev_was_empty); + else add_to_current_group = is_empty; } else { add_to_current_group = !G(prev_was_special); } @@ -941,6 +943,7 @@ shape_run(CPUCell *first_cpu_cell, GPUCell *first_gpu_cell, index_type num_cells if (current_group->num_glyphs >= MAX_GLYPHS_IN_GROUP || current_group->num_cells >= MAX_GLYPHS_IN_GROUP) add_to_current_group = false; if (!add_to_current_group) { G(group_idx)++; current_group = G(groups) + G(group_idx); } + if (is_empty && !current_group->num_glyphs) current_group->started_with_empty_glyph = true; if (!current_group->num_glyphs++) { current_group->first_glyph_idx = G(glyph_idx); current_group->first_cell_idx = G(cell_idx); diff --git a/kitty_tests/CascadiaCode-Regular.otf b/kitty_tests/CascadiaCode-Regular.otf new file mode 100644 index 0000000000000000000000000000000000000000..72f46556aebde4f40962707f7a483799aa57f3d9 GIT binary patch literal 156552 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 UKSLgkf%MJkxA3mTKKzOQ2hwMF{r~^~ literal 0 HcmV?d00001 diff --git a/kitty_tests/fonts.py b/kitty_tests/fonts.py index eea9feaa9..2052d011c 100644 --- a/kitty_tests/fonts.py +++ b/kitty_tests/fonts.py @@ -4,6 +4,7 @@ import sys import unittest +from functools import partial from kitty.constants import is_macos from kitty.fast_data_types import ( @@ -71,19 +72,29 @@ class Rendering(BaseTest): def test_shaping(self): - def groups(text, path=None): - return [x[:2] for x in shape_string(text, path=path)] + def ss(text, font=None): + path = f'kitty_tests/{font}' if font else None + return shape_string(text, path=path) + + def groups(text, font=None): + return [x[:2] for x in ss(text, font)] self.ae(groups('abcd'), [(1, 1) for i in range(4)]) - self.ae(groups('A=>>B!=C', path='kitty_tests/FiraCode-Medium.otf'), [(1, 1), (3, 3), (1, 1), (2, 2), (1, 1)]) - self.ae(groups('F--a--', path='kitty_tests/FiraCode-Medium.otf'), [(1, 1), (2, 2), (1, 1), (2, 2)]) - self.ae(groups('==!=<>==<><><>', path='kitty_tests/FiraCode-Medium.otf'), [(2, 2), (2, 2), (2, 2), (2, 2), (2, 2), (2, 2), (2, 2)]) - colon_glyph = shape_string('9:30', path='kitty_tests/FiraCode-Medium.otf')[1][2] - self.assertNotEqual(colon_glyph, shape_string(':', path='kitty_tests/FiraCode-Medium.otf')[0][2]) + self.ae(groups('A=>>B!=C', font='FiraCode-Medium.otf'), [(1, 1), (3, 3), (1, 1), (2, 2), (1, 1)]) + self.ae(groups('==!=<>==<><><>', font='FiraCode-Medium.otf'), [(2, 2), (2, 2), (2, 2), (2, 2), (2, 2), (2, 2), (2, 2)]) + + for font in ('FiraCode-Medium.otf', 'CascadiaCode-Regular.otf'): + g = partial(groups, font=font) + self.ae(g('A===B!=C'), [(1, 1), (3, 3), (1, 1), (2, 2), (1, 1)]) + self.ae(g('F--a--'), [(1, 1), (2, 2), (1, 1), (2, 2)]) + self.ae(g('===--<>=='), [(3, 3), (2, 2), (2, 2), (2, 2)]) + colon_glyph = ss('9:30', font='FiraCode-Medium.otf')[1][2] + self.assertNotEqual(colon_glyph, ss(':', font='FiraCode-Medium.otf')[0][2]) self.ae(colon_glyph, 998) - self.ae(groups('9:30', path='kitty_tests/FiraCode-Medium.otf'), [(1, 1), (1, 1), (1, 1), (1, 1)]) + self.ae(groups('9:30', font='FiraCode-Medium.otf'), [(1, 1), (1, 1), (1, 1), (1, 1)]) + self.ae(groups('|\U0001F601|\U0001F64f|\U0001F63a|'), [(1, 1), (2, 1), (1, 1), (2, 1), (1, 1), (2, 1), (1, 1)]) - self.ae(groups('He\u0347\u0305llo\u0337,', path='kitty_tests/LiberationMono-Regular.ttf'), + self.ae(groups('He\u0347\u0305llo\u0337,', font='LiberationMono-Regular.ttf'), [(1, 1), (1, 3), (1, 1), (1, 1), (1, 2), (1, 1)]) def test_emoji_presentation(self):