macvim-dev / macvim-dev/macvim

renderer strikethrough unicode code points off-by-one

Open
#1,141 7 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

Description
In MacVim 8.2.2127 (168) with Core Text Renderer on. This bug does not reproduce with Core Text Renderer off (legacy renderer on).

I believe what is happening is MacVim is displaying strikethrough unicode code points one character to the left of where they should appear, or something to that effect.

I'm using unicode control point "\u0336" for strikethrough

To Reproduce

Copy-paste and view this text in both renderers (in browser html textbox displays correctly but html preview/render appears incorrect).

this is some s̶t̶r̶i̶k̶e̶t̶h̶r̶o̶u̶g̶h̶ text

Expected behavior

Only "strikethrough" is struck.

Actual behavior

Strike extends before the word into the space. The final letter h is unstruck.

Screenshots

Screen Shot 2020-12-14 at 4 48 37 AM

Environment:
MacOS Big Sur 11.0.1 (20B29), and 11.1 (20C69)
MacVim 8.2.2127 (168) with Core Text Renderer on

if has("gui_macvim")
  set guifont=Courier:h12
  set transparency=0
  set blur=20
endif

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

The issue names no source files or tests. Reproduce the text with MacVim's Core Text Renderer enabled, compare it with the legacy renderer, and trace handling of the combining U+0336 strikethrough mark. Done means the strike begins and ends over the intended word, without shifting into the preceding space.

Written by the indexing model from the issue text.

Assessment

Tech stack
macos, vim
Domain
computer-graphics, desktop
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.