macvim-dev / macvim-dev/macvim

CoreText garbles ligatures

Open
#520 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Vim Script
Stars
7.9k
Forks
691
PR merge metrics
No merged PRs in 30d

Description

Snapshot 134, macligatures is enabled. The font I am using is PragmataPro. It's hard to describe what I am experiencing, so let's have a look at two gifs.

Here is entering !== without CoreText:

not_coretext

As you can see, everything looks fine. Here is the same with CoreText enabled:

coretext

As you can see, something is quite off here. The ligature gets broken somehow during working on the line. However, when changing the line, everything looks normal. Obviously, disabling CoreText is a perfect workaround, but since scrolling performance is somewhat horrible, I'd love to know if there is anything anyone can do here to resolve this rendering weirdness.

Contributor guide

Open the contributing guide

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 reproducing the issue with CoreText and macligatures enabled, using PragmataPro and entering !==; compare the behavior with CoreText disabled. Done means ligatures remain correctly rendered while editing and scrolling performance is not regressed.

Written by the indexing model from the issue text.

Assessment

Tech stack
macos, vim
Domain
desktop, performance
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.