-
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Description
Environment
Kitty version: 0.14.6
OS: Arch Linux
Font: Ubuntu Mono
Symbol Map: U+E000-U+FFFF 3270Narrow Nerd Font
Reproduction:
Script with two lines:
- Line 1:
echo -e 'M \uf111 M' - Line 2:
echo -e 'M\uf111M'
Run the script in a fresh terminal instance.
Actual Behaviour
Depending on the order of lines in the script, the rendering for all instances of the character u+f111 changes.
If they are the other way around:

The chosen size of the symbol seems to be sticky (i.e. once the character is rendered a certain size, it is always rendered in that size). The only way to force rendering of the other version is to restart kitty.
Expected Behaviour
The first render of an ambiguous width character should not determine the character to use for all renders.
I like the behaviour of rendering a larger version of the character if there is enough space to allow it, but this should be dynamically determined, rather than being cached after the first instance of the character.
Using a symbol map of 3270Narrow Nerd Font Mono fixes this issue by forcing the small version of all characters to be rendered, but I would rather be able to dynamically use the bigger version.
