Skip to content

Support detailed ligatures and variants#5285

Merged
Tyriar merged 1 commit intoxtermjs:masterfrom
Tyriar:5284_detailed_liga
Jan 8, 2025
Merged

Support detailed ligatures and variants#5285
Tyriar merged 1 commit intoxtermjs:masterfrom
Tyriar:5284_detailed_liga

Conversation

@Tyriar
Copy link
Copy Markdown
Member

@Tyriar Tyriar commented Jan 8, 2025

Fixes #5284

This change does the following:

  • Updates the fallbackLigatures to align with the upstream source
  • Adds a fontFeatureSettings option to the ligatures addon which is passed on to the canvas
  • Moves the webgl texture atlas canvas element to be a child of the terminal such that it inherits font-feature-settings from CSS, thereby enabling the correct ligature set and variants to kick in for webgl
  • Recreates the webgl addon in the demo when ligatures is toggled. This is a little unfortunate that it's required at all, but other solutions to get the texture atlas updated immediately are more complicated

Fira Code ligatures disabled

image

Fira Code ligatures enabled

image

Fira Code ligatures enabled, fontFeatureSettings = "calt" on, "ss03" (see &)

image

Fira Code ligatures enabled, fontFeatureSettings = "calt" off, "ss03" (see &)

image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Ligatures should support detailed ligature types

1 participant