Skip to content

Cascadia Code ligature rendering issues #3504

@kgizdov

Description

@kgizdov

Describe the bug
Release 0.20.1 renders some ligatures incorrectly. For example:

###########################################

looks like this:
hashes
while:

>>--->--||--<<--|-->--||---<<---|

looks like:
dashes

There seems to be extra spaces here and there and some missing characters too.

To Reproduce
Steps to reproduce the behavior:

  1. install kitty 0.20.1
  2. install Cascadia Code 2102.25
  3. set Cascadia Code as default font family
  4. See error

Expected behavior
There should be no spaces or missing characters from the render.

Screenshots
It should look like so:
cascadia-code-reference

Environment details
OS: Arch Linux

$ kitty --debug-config
kitty 0.20.1 created by Kovid Goyal
Linux yavin4 5.11.15-arch1-2 #1 SMP PREEMPT Sat, 17 Apr 2021 00:22:30 +0000 x86_64
Arch Linux \r (\l)
LSB_VERSION=1.4
DISTRIB_ID=Arch
DISTRIB_RELEASE=rolling
DISTRIB_DESCRIPTION="Arch Linux"
Loaded config files: /home/gizdov/.config/kitty/kitty.conf
Running under: X11

Config options different from defaults:
bold_font             CascadiaCode Bold
bold_italic_font      CascadiaCode BoldItalic
cursor                Color(red=237, green=212, blue=0)
font_family           CascadiaCode
font_size             12.5
foreground            Color(red=237, green=212, blue=0)
italic_font           CascadiaCode Italic
scrollback_lines      20000
strip_trailing_spaces smart
symbol_map            {(8277, 8277): 'NotoColorEmoji'}
tab_bar_edge          1
Added shortcuts:
	alt+ctrl+- KeyAction(func='change_font_size', args=(True, '-', 2.0))
	alt+ctrl+= KeyAction(func='change_font_size', args=(True, '+', 2.0))
	alt+ctrl+backspace KeyAction(func='change_font_size', args=(True, None, 0.0))
Removed shortcuts:
	shift+ctrl+- KeyAction(func='change_font_size', args=(True, '-', 2.0))
	shift+ctrl+= KeyAction(func='change_font_size', args=(True, '+', 2.0))
	shift+ctrl+backspace KeyAction(func='change_font_size', args=(True, None, 0.0))

Additional context
This was working fine in 0.20.0 with this patch applied on top only.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions