macvim-dev / macvim-dev/macvim
renderer strikethrough unicode code points off-by-one
Nobody has claimed this yet.
- 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

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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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