Пользовательские лигатуры шрифтов

Я использую Visual Studio Code и вижу все эти классные лигатуры шрифтов для двойного и тройного равенства, стрелок и т. д., и я не могу не задаться вопросом, есть ли способ добавить новые пользовательские лигатуры в шрифт или VS Code. Я попытался выполнить поиск в Интернете, но, похоже, ничего не нашел.

Например, когда я работаю на Python, я хочу, чтобы ключевое слово lambda отображалось как настоящий лямбда-символ λ. Возможно ли это?


person Kris10an    schedule 07.12.2020    source источник


Ответы (1)


Эти функции разработаны и встроены в сам файл шрифта, а не имеют ничего общего с каким-либо конкретным редактором кода.

Если шрифт, к которому вы планируете их добавить, доступен по открытой лицензии или иным образом разрешает модификации программного обеспечения, их можно добавить.

Популярным примером этого является Fira Code, который представляет собой модифицированную версию Fira Mono под лицензией OFL. но с лигатурными глифами, нарисованными специально для проекта.

Существует сценарий для автоматического использования этих глифов в других шрифтах и ​​генерации кода функции для шрифтов, в которые лицензия допускает модификации: https://github.com/ToxicFrog/Ligaturizer

README описывает, как вы можете включить или отключить новые лигатуры. Ваш вариант должен быть возможен, потому что лямбда-глиф «λ», вероятно, уже существует в Fira Code — в противном случае вам также пришлось бы рисовать новый глиф.

Конфигурация, которую вам нужно добавить в ligatures.py:

{
    # When the text has l+a+m+b+d+a…
    'chars': ['l', 'a', 'm', 'b', 'd', 'a'],

    # Use the existing `lambda` glyph from Fira Code, rather than one of the
    # custom drawn coding ligature glyphs
    'firacode_ligature_name': 'lambda',
},
person kennethormandy    schedule 07.12.2020