Вопрос или проблема
Я пользовался VSCode на Ubuntu 20.04 с шрифтом Cascadia Code с лигатурами. Мне особенно нравится рендеринг лигатур для “==” и “->”, где два знака равенства соединены в один длинный, а стрелка короче и острее:
Потом я обновился до Ubuntu 24.04, и они рендерятся по-другому:
Когда я использовал Ubuntu 20.04, я также заметил, что CLion рендерит лигатуры так же. Что происходит и как мне получить предпочтительный рендеринг на новой системе?
Ответ или решение
После обновления до Ubuntu 24.04 многие пользователи, включая вас, заметили изменения в рендеринге лигатур в Visual Studio Code, особенно для символов, таких как "==" и "->". Это явление может быть связано с рядом факторов, включая изменения в системных шрифтах, конфигурации рендеринга текста и настройки самой среды разработки.
1. Изменения в системных шрифтах
Ubuntu 24.04 может использовать более новые версии системных шрифтов или списков, что может повлиять на рендеринг лигатур. В данном случае, Cascadia Code может оказаться недостаточно настроенным для новой версии среды. Чтобы вернуть желаемую рендеринг, вы можете попробовать:
- Переустановить шрифт: Убедитесь, что у вас установлена последняя версия Cascadia Code с поддержкой лигатур.
sudo apt install fonts-cascadia-code
2. Настройки рендеринга текста
Рендеринг текста в Ubuntu включает несколько вариантов, таких как антиалиасинг и настройки сглаживания. Изменения в этих параметрах могут повлиять на то, как отображаются лигатуры. Вы можете изменить настройки рендеринга в вашей системе через файл конфигурации ~/.config/fontconfig/fonts.conf
. Например, попробуйте добавить следующее:
<match target="font">
<edit name="hinting" mode="assign">
<int>slight</int>
</edit>
<edit name="antialias" mode="assign">
<int>1</int>
</edit>
</match>
После внесения изменений перезапустите систему или запустите fc-cache -fv
для обновления кэша шрифтов.
3. Конфигурация Visual Studio Code
Проверьте настройки вашего VS Code. Иногда обновления могут сбросить пользовательские настройки. Убедитесь, что у вас включена опция лигатур. Откройте настройки (Ctrl + ,) и поиском введите "ligatures". Убедитесь, что свойство editor.fontLigatures
включено:
"editor.fontLigatures": true
Также проверьте, что editor.fontFamily
указывает на правильный шрифт:
"editor.fontFamily": "'Cascadia Code', monospace"
4. Кросс-платформенные различия
Вы заметили, что CLion также представляется с другими лигатурами. Это может быть связано с тем, что разные текстовые редакторы используют разные механизмы рендеринга, и могут быть подразумеваемые настройки для конкретного редактора. Если у вас есть возможность настроить CLion, постарайтесь обеспечить согласованность шрифтов и их параметров.
Заключение
Еще раз проверьте установку шрифтов, настройки рендеринга и конфигурацию в VS Code. В случае если предыдущие шаги не приносят результата, стоит попробовать очистить кэш VS Code и переустановить редактор. Профилактика таких проблем — это применение актуальных версий шрифтов и оптимизация системы под визуальные предпочтения. Надеюсь, указанные решения помогут вам восстановить желаемый рендеринг лигатур.