PragmataPro - это гарнитура, которая поставляется с рядом программных лигатур . Насколько я понимаю, это лигатуры OpenType face (OTF).
Я знаю , что Emacs поддерживает программную замену комбинации символов (например , ->
для ⟶
или lambda
в λ
). Тем не менее, это ложные лигатуры Юникода, так как они имеют свои собственные кодовые точки, чего нет у реальных лигатур.
Верно ли, что Emacs (по состоянию на 25) не поддерживает OTF-лигатуры автоматически? На более низком уровне доступны ли варианты для ручного указания сопоставлений глифов?
Если лигатуры не поддерживаются, то что нужно сделать, чтобы Emacs поддерживал лигатуры?
haskell-mode
подробно описано в этой сущности .prettify-symbols-mode
, и он довольно хорошо работает с PragmataPro 0.822.Ответы:
В настоящее время emacs не поддерживает лигатуры (в OSX есть некоторая поддержка, но не на других платформах). Однако, emacs 24.4+ поддерживает,
prettify-symbols-mode
что в некоторых отношениях лучше, чем обычные лигатуры.Этот режим позволяет заменить любое регулярное выражение на любой глиф.
Я лично использую этот фрагмент, чтобы заставить лигатуры Fira Code работать в emacs на linux.(РЕДАКТИРОВАТЬ: к сожалению, ссылка сейчас мертва, политика stackoverflow всегда копировать inline, очевидно, хорошая ...)Ссылка, которую я первоначально поместил, мертва, и я не уверен, что именно она содержала, но я думаю, что эти ссылки должны быть хорошими: https://github.com/tonsky/FiraCode/wiki/Emacs-instructions#using-prettify-symbols и https://github.com/tonsky/FiraCode/issues/312#issuecomment-262878734
Учитывая проблему неработающей ссылки, на этот раз я помещаю код в строку:
Я сказал, что в некотором смысле это лучше, чем обычные лигатуры .. Это потому, что это "а ля карт". Вы можете смешивать и сочетать, брать только те символы, которые вам нравятся. Вы можете сказать, я хочу ";;" лигатура, КРОМЕ, если следующий символ снова ";" в этом случае я не хочу этого ... И насчет смешивания и сопоставления ... Я использую шрифт "Fira Mono" вместе с лигатурами "Fira Code". Вам не нужно покупать весь шрифт.
Это хуже, чем чистые лигатуры, потому что это не работает из коробки и требует, чтобы шрифт был настроен определенным образом, чтобы сделать это возможным.
источник
Если вы работаете в OS XI, вы уверены, что порт Carbon Mac Emacs поддерживает лигатуры.
источник