Для программирования мне нравится отключать сглаживание шрифтов (то есть выбрать вариант «Монохромный»), потому что это делает текст терминала более четким при меньших размерах шрифта. Но тогда все в веб-браузере выглядит хуже.
Есть ли способ получить лучшее из обоих миров и иметь не сглаженные терминальные шрифты, но сглаженные шрифты веб-браузера?
Вы можете управлять сглаживанием шрифтов в ~/.fonts.conf
. Тем не менее, выполнение этого в индивидуальной программе требует некоторой хитрости.
<?xml version='1.0'?>
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
<fontconfig>
<dir>~/.fonts</dir>
<alias>
<family>XTerm</family>
<prefer><family>Envy Code R</family></prefer>
<default><family>monospace</family></default>
</alias>
<match target="pattern">
<test name="family">
<string>XTerm</string>
</test>
<edit mode="assign" name="family">
<string>Envy Code R</string>
</edit>
<edit mode="assign" name="antialias">
<bool>false</bool>
</edit>
</match>
</fontconfig>
Это создает псевдоним шрифта под названием XTerm
, который отображается на Envy Code R
, но отключает сглаживание. Запустите fc-cache ~/.fonts
, и вы сможете выбрать этот шрифт в терминале.
Если вы не возражаете (или даже предпочитаете), чтобы шрифт, используемый в Терминале, всегда был без сглаживания в любой программе, это будет немного проще:
<?xml version='1.0'?>
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
<fontconfig>
<dir>~/.fonts</dir>
<match target="pattern">
<test name="family">
<string>Envy Code R</string>
</test>
<edit mode="assign" name="antialias">
<bool>false</bool>
</edit>
</match>
</fontconfig>
, который не требует никаких других взломает шрифт и гарантирует, что Envy Code R
всегда сглаживается.
Вы также можете ограничить размеры шрифта, где может быть выполнено сглаживание:
<?xml version='1.0'?>
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
<fontconfig>
<dir>~/.fonts</dir>
<match target="pattern">
<test name="family">
<string>Envy Code R</string>
</test>
<test name="size" qual="any" compare="less">
<double>8</double>
</test>
<edit mode="assign" name="antialias">
<bool>false</bool>
</edit>
</match>
</fontconfig>
, чтобы предотвратить сглаживание для Envy Code R
, когда оно меньше 8 точек.
Эта статья на Arch Wiki показывает, как настроить шрифты более подробно. man fonts.conf
является ссылкой на язык конфигурации, но без особых практических примеров.
Я потратил много времени на шрифт с настройками шрифтов и системы, чтобы получить приличный не сглаженный шрифт в Ubuntu Terminal. Одним из решений было установить выделенный шрифт TrueType без сглаживания, такой как Terminus. Установите настройки терминала для использования шрифта Terminus 8 или используйте инструмент расширенных настроек Ubuntu для установки шрифта глобальной консоли на Terminus 8.
sudo apt-get install xfonts-terminus console-terminus
Мне еще предстоит найти решение, которое позволило бы мне использовать мой любимый шрифт (X11 6x13) в терминале. В то же время, я использую pterm и Putty вместо Terminal. Единственным недостатком является то, что Pterm и Putty не поддерживают вкладки.