tonsky / tonsky/FiraCode

Simplify ligatures code

Open
#1,355 1 comment 4 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Clojure
Stars
82k
Forks
3.2k
PR merge metrics
No merged PRs in 30d

Description

Originally Fira Code uses scheme with spacer + single-space ligature that extends beyond its bounding box:

Screenshot 2022-01-18 at 14 11 47

This was done to allow editors to “step inside” the ligature.

Since the original release, many editors now acknowledge the existence of ligatures and don’t need that trick. Maybe ligature code could be simplified?

Potential upsides:

  • Much simple ligature code
  • Ligatures could be assigned code points and used in e.g. Emacs #211
  • Fix ligatures inside RTL

photo_2022-01-18 14 15 07

Questions to check:

  • Check which editors will not “step into” ligatures
  • Check if Linux will be ok with double-, triple- etc size glyphs #1073

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by investigating which editors do not step into ligatures and whether Linux supports double-, triple-, and larger-size glyphs, as listed in the issue. Review the existing ligature scheme, along with the related concerns in #1073 and #211; done means the compatibility questions are answered and a simplified scheme is specified.

Written by the indexing model from the issue text.

Assessment

Tech stack
clojure
Domain
design
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.