macvim-dev / macvim-dev/macvim
opentype language tags for core text renderer
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Vim Script
- Sterne
- 7.9k
- Forks
- 691
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
apparently the Core text renderer supports activating language tags in advanced opentype fonts, https://en.wikipedia.org/wiki/Apple_Advanced_Typography
the iosevka font implements fancy ligatures on a per-programming-language basis using these language tags.
https://github.com/be5invis/Iosevka/issues/56
(see also the README of this repo for examples)
the atom editor supports this via the use of custom stylesheets afaiu.
i find this a saner solution than enabling a fixed set of ligatures globally for a gui font, since the set of ligatures that make sense depends on the programming language. for example, is <= an arrow or a comparison operator? does |> have a special meaning in the language? etc.
so, feature request: could MacVim allow setting language tags for the Core Text renderer in opentype gui fonts? ideally this would be a new setting that can be put into a filetype-specific autocommand.
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne damit, MacVims Core Text-Renderer und die von der Anfrage genannten Einstiegspunkte zum Festlegen der GUI-Schriftart zu lokalisieren. Verfolge, wie ein dateitypspezifischer Autocommand OpenType-Sprach-Tags bereitstellen könnte, und bestätige das erwartete Verhalten anhand der Iosevka-Beispiele und der verlinkten Referenzen. Als erledigt gilt die Aufgabe, wenn eine dokumentierte Einstellung Sprach-Tags pro Dateityp auf Core Text-Schriften anwenden kann.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- macos, vim
- Bereich
- desktop
- Issue-Typ
- Feature
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 25/100