PragmataPro est une fonte livrée avec un certain nombre de ligatures de programmation . D'après ce que j'ai compris, il s'agit de ligatures OpenType Face (OTF).
Je suis conscient qu'Emacs prend en charge le remplacement par programme des combinaisons de caractères (par exemple ->
to ⟶
ou lambda
to λ
). Cependant, ce sont des fausses ligatures unicode, car elles ont leurs propres points de code, ce que ne font pas les vraies ligatures.
Ai-je raison de dire qu'Emacs (à la date du 25) ne prend pas automatiquement en charge les ligatures FTO? À un niveau inférieur, existe-t-il des options permettant de spécifier manuellement les mappages de glyphes?
Si les ligatures ne sont pas supportées, que doit-on faire pour qu'Emacs prenne en charge les ligatures?
haskell-mode
est détaillée dans cet article .prettify-symbols-mode
, et cela fonctionne plutôt bien avec PragmataPro 0.822.Réponses:
Pour le moment, emacs ne prend pas en charge les ligatures (sous OSX, il existe un support, mais pas sur d'autres plates-formes). Cependant, emacs 24.4+ prend
prettify-symbols-mode
en charge, à certains égards, un support supérieur à celui des ligatures normales.Ce mode permet de substituer à l’affichage de toute expression rationnelle n’importe quel glyphe.
J'utilise personnellement cet extrait pour que les ligatures Fira Code fonctionnent dans emacs sous linux.(EDIT: malheureusement, le lien est maintenant mort, la politique de stackoverflow pour toujours copier en ligne est évidemment la bonne ...)Le lien que j'ai mis à l'origine est mort et je ne sais pas exactement ce qu'il contient, mais je pense que ces liens doivent être bons: https://github.com/tonsky/FiraCode/wiki/Emacs-instructions#using-prettify-symbols et https://github.com/tonsky/FiraCode/issues/312#issuecomment-262878734
Compte tenu du problème des liens morts, je mets le code en ligne cette fois-ci:
J'ai dit qu'à certains égards, c'est mieux que des ligatures normales ... C'est parce que c'est "à la carte". Vous pouvez mélanger et assortir, ne prenez que les symboles que vous aimez. Vous pouvez dire, je veux le ";;" ligature, SAUF si le caractère suivant est à nouveau ";" dans ce cas, je ne le veux pas ... Et pour mélanger et assortir ... J'utilise la police "Fira Mono", ainsi que les ligatures "Fira Code". Vous n'avez pas à acheter dans la police entière.
C'est pire que les ligatures pures parce que cela ne fonctionne pas immédiatement et que la police doit être ajustée d'une certaine manière pour que cela soit possible.
la source
Si vous utilisez OS XI, croyez que le port Carbon Mac Emacs prend en charge les ligatures.
la source