Fonts (Russian)
From ArchWiki
Article summary |
---|
Установка и настройка шрифтов в Arch Linux. |
Доступно на следующих языках |
English |
Italiano |
繁體中文 |
Español} |
Русский |
См. также |
MS Fonts |
Xorg Font Configuration (Русский) |
Contents |
Установка шрифтов
Основной каталог размещения шрифтов:
-
/usr/share/fonts
Шрифты, расположенные в этих каталогах, будут доступны всем пользователям системы. Однако, установка в эти каталоги требует привилегий суперпользователя. Если у вас нет таких полномочий — Вы можете установить шрифты в каталог:
-
~/.fonts
Все шрифты, находящиеся в ~/.fonts
будут доступны только его владельцу.
Установка шрифтов при помощи менеджера пакетов Pacman
Просмотреть все доступные для установки шрифты можно командой:
$ pacman -Ss fonts
Установить необходимый шрифт можно командой pacman -S <имя-пакета>
. Например:
# pacman -S ttf-dejavu
Эта команда установит шрифт Bitstream Vera в каталог /usr/share/fonts/TTF
.
Ручная установка шрифтов
Для установки шрифтов вручную необходимо:
- Скачать необходимые шрифты
- Создать каталог хранения шрифтов, установленных вручную. Например:
# mkdir /usr/share/fonts/TTFmisc
- Скопировать/разархивировать в него необходимые шрифты
- Создать/пересоздать список псевдонимов для имён шрифтов, который необходим X-серверу:
# cd /usr/share/fonts/TTFmisc # rm ./fonts.scale # mkfontscale
- Создать/пересоздать список имён шрифтов в данном каталоге и файлов, в которых они содержатся (необходим X-серверу):
# cd /usr/share/fonts/TTFmisc # rm ./fonts.dir # mkfontdir
- Пересоздать файлы описания fonts.cache-NN для каталогов со шрифтами:
# fc-cache -fv
Рекомендации по выбору шрифтов
В качестве основного шрифта рабочего окружения можно рекомендовать либо Droid Fonts, либо Bitstream Vera Fonts, либо Red Hats Liberation Fonts. Однако стоит заметить, что начертание некоторых букв шрифта Red Hats Liberation Fonts на данный момент желает быть лучше, поэтому его, в отличии от Bitstream Vera Fonts, необходимо устанавливать вручную, а не из репозитория.
Установка Droid Fonts
Настоятельно советую присмотреться к этому шрифту - очень симпатичный.
Установка:
$ yaourt -S ttf-droid
Настройка:
Для полной интеграции этого шрифта в систему необходимо подредактировать два файла следующим образом:
Файл /etc/fonts/conf.avail/45-latin.conf
:
<!-- Serif faces --> <alias> <family>Droid Serif</family> <!-- ДОБАВИТЬ ЭТУ СТРОЧКУ --> <family>Bitstream Vera Serif</family> <family>DejaVu Serif</family> <family>Liberation Serif</family> <family>Times New Roman</family> <family>Times</family> ... </alias> <!-- Sans-serif faces --> <alias> <family>Droid Sans</family> <!-- ДОБАВИТЬ ЭТУ СТРОЧКУ --> <family>Bitstream Vera Sans</family> <family>DejaVu Sans</family> <family>Liberation Sans</family> <family>Arial</family> ... </alias> <!-- Monospace faces --> <alias> <family>Droid Sans Mono</family> <!-- ДОБАВИТЬ ЭТУ СТРОЧКУ --> <family>Bitstream Vera Sans Mono</family> <family>DejaVu Sans Mono</family> <family>Liberation Mono</family> ... </alias> ...
Файл /etc/fonts/conf.avail/60-latin.conf
- аналогично предыдущему.
Обратите внимание на то, что порядок следования строк между тэгами <alias>...</alias>
влияет на выбор того или иного шрифта системой. Так если у Вас установлены Droid Sans Mono и DejaVu Sans Mono, то в этом примере Droid Sans Mono будет иметь бОльший приоритет для моноширинных шрифтов.
Примечание: После обновления/переустановки пакета fontconfig
файлы 45-latin.conf и 60-latin.conf будут переписаны, и Вам нужно будет заново добавить в них вышеуказанные строки. Можно создать копии этих файлов, внести в них нужные изменения и создать символические ссылки на них:
# ln -s /etc/fonts/conf.avail/<имя-копии-файла-45-latin>.conf /etc/fonts/conf.d/46-latin.conf # ln -s /etc/fonts/conf.avail/<имя-копии-файла-45-latin>.conf /etc/fonts/conf.d/61-latin.conf
Теперь после обновления/переустановки пакета fontconfig
достаточно будет пересоздать символические ссылки на эти два файла так, как описано выше.
Не будет лишним после этого проверить разницу между файлами пакета и Вашими.
Установка Bitstream Vera Fonts
# pacman -S ttf-dejavu
Установка Red Hats Liberation Fonts
# mkdir /usr/share/fonts/TTFmisc # cd /usr/share/fonts/TTFmisc # wget -O ./liberation-fonts.tar.gz https://bugzilla.redhat.com/attachment.cgi?id=290976 # tar -xf ./liberation-fonts.tar.gz # cp ./liberation-fonts/*.ttf ./ # rm -R ./liberation-fonts/ # rm -R liberation-fonts.tar.gz # mkfontscale # mkfontdir
Установка шрифтов Microsoft®
Так как в пакете ttf-ms-fonts присутствуют некоторые шрифты, начертание которых на данный момент оставляет желать лучшего, можно воспользоваться альтернативным вариантом их установки, который заключается в выборочной инсталляции только необходимых шрифтов.
Необходимые шрифты Вы можете скачать на этой странице веб-сайта SourceForge.net
Не рекомендуется скачивать шрифт Arial, т.к. Red Hats Liberation Fonts, загруженный с сайта Red Hat Bugzilla, имеет схожее начертание и более чёткие линии.
После того, как Вы скачали все необходимые exe-файлы — из них нужно извлечь шрифты в соответствующую папку (напр., /usr/share/fonts/TTFmisc
):
# cabextract -F *.TTF -d /usr/share/fonts/TTFmisc <имя-пакета>.exe # cd /usr/share/fonts/TTFmisc # mkfontscale # mkfontdir
Шрифты с включенным LCD фильтром
"LCD" пакеты
Установка:
Удалите оригинальные пакеты:
# pacman -Rd libxft cairo
Установите патченные пакеты из AUR (с использованием пакета yaourt):
$ yaourt -S fontconfig-lcd $ yaourt -S cairo-lcd # pacman -S libxft-lcd
Перезапустите Xorg (Ctrl+Alt+Backspace)
Удаление:
# pacman -Rd libxft-lcd cairo-lcd fontconfig-lcd # pacman -S libxft cairo
"LCD" пакеты c патчами Ubuntu
Установка:
Процесс установки этих пакетов несколько отличается от вышеописанных. Для быстрой и успешной инсталляции все действия должны производиться в такой последовательности:
$ yaourt -S freetype2-ubuntu
НО! После сборки пакета отказаться от его установки.
Файл будет сохранён в папке /tmp/yaourt-tmp-<имя-пользователя>
Теперь его нужно установить, предварительно удалив конфликтующий пакет:
# pacman -Rd freetype # pacman -U /tmp/yaourt-tmp-<имя-пользователя>/freetype2-ubuntu-<...>.pkg.tar.gz
Аналогично устанавливаются остальные пакеты. Порядок установки пакетов должен быть таким:
1. freetype2-ubuntu 2. fontconfig-ubuntu 3. libxft-ubuntu 4. cairo-ubuntu
Конфигурация
Общие понятия
Настройки, касающиеся отрисовки шрифтов в Xorg, находятся в:
- папке
/etc/fonts
- файле
/etc/X11/Xresources
(содержимое ниже)
Содержимое /etc/fonts
:
- папка conf.avail - содержит доступные файлы конфигураций
- папка conf.d - содержит символические ссылки на файлы конфигураций (из папки
/etc/fonts/conf.d
), определяющие параметры шрифтов (отрисовка, замена одних шрифтов другими и т.д.) - файл fonts.dtd
- файл fonts.conf
Например, для применения автохинтинга шрифтов Free Type необходимо создать в папке /etc/fonts/conf.d
символическую ссылку на файл /etc/fonts/conf.avail/10-autohint.conf
:
# ln -s /etc/fonts/conf.avail/10-autohint.conf /etc/fonts/conf.d/10-autohint.conf
Примечание: В настоящее время не все шрифты с автохинтингом выглядят приемлемо, поэтому рекомендуется его использовать либо для отрисовки шрифтов малого размера, либо не использовать вообще.
Как можно заметить, для файлов конфигурации применяется следующий формат именования:
<xx>-<sometext>.conf
, где:
<sometext>
- любой текст, описывающий параметры, находящиеся в этом файле (напр.: "hinting-full");
<xx>
- двузначное число от 00 до 99, влияет на позицию файла при сортировке по имени, а, соответственно, и на его приоритет: чем больше число - тем выше приоритет.
Например: если в дирректории будут находится два файла с именами 11-hinting-slight.conf
(применение слабого сглаживания) и 10-hinting-medium.conf
(применение среднего сглаживания), то файл 11-hinting-slight.conf
"перекроет" файл 10-hinting-medium.conf
и при отрисовке шрифтов будет использоваться слабое сглаживание.
Примечание: В файле /etc/fonts/conf.d/README
Вы можете более подробно узнать о префиксном нумеровании, применяемого для этих файлов.
Рекомендации по настройке
Здесь приведено содержимое конфигурационных файлов/каталогов, так или иначе влияющих на начертание шрифтов в системе.
Файл /etc/X11/Xresources
:
Xft.dpi: 96 ! hintnone, hintslight, hintmedium, hintfull Xft.hintstyle: hintfull Xft.hinting: true ! lcdnone, lcddefault, lcdlight, lcdlegacy Xft.lcdfilter: lcddefault Xft.rgba: rgb
Каталог /etc/fonts/conf.d/
:
lrwxrwxrwx 1 root root 31 Апр 9 10:48 10-antialias.conf -> ../conf.avail/10-antialias.conf lrwxrwxrwx 1 root root 42 Апр 17 13:18 10-hinting-full.conf -> /etc/fonts/conf.avail/10-hinting-full.conf lrwxrwxrwx 1 root root 29 Апр 9 10:48 10-hinting.conf -> ../conf.avail/10-hinting.conf lrwxrwxrwx 1 root root 43 Апр 8 18:17 10-sub-pixel-rgb.conf -> /etc/fonts/conf.avail/10-sub-pixel-rgb.conf lrwxrwxrwx 1 root root 51 Апр 17 13:14 11-lcd-filter-lcddefault.conf -> /etc/fonts/conf.avail/11-lcd-filter-lcddefault.conf ... lrwxrwxrwx 1 root root 41 Апр 9 10:49 45-latin.conf -> /etc/fonts/conf.avail/45-latin.conf-droid ... lrwxrwxrwx 1 root root 41 Апр 9 10:49 60-latin.conf -> /etc/fonts/conf.avail/60-latin.conf-droid ... lrwxrwxrwx 1 root root 34 Апр 8 18:18 99-misc.conf -> /etc/fonts/conf.avail/99-misc.conf
Файл /etc/fonts/conf.d/10-antialias.conf
:
<?xml version="1.0"?> <!DOCTYPE fontconfig SYSTEM "fonts.dtd"> <fontconfig> <!-- Use the Antialiasing --> <match target="font"> <edit name="antialias" mode="assign"><bool>true</bool></edit> </match> </fontconfig>
Файл /etc/fonts/conf.d/10-hinting-full.conf
:
<?xml version="1.0"?> <!DOCTYPE fontconfig SYSTEM "fonts.dtd"> <fontconfig> <!-- Use Full Hinting --> <match target="font"> <edit name="hintstyle" mode="assign"><const>hintfull</const></edit> </match> </fontconfig>
Файл /etc/fonts/conf.d/10-hinting.conf
:
<?xml version="1.0"?> <!DOCTYPE fontconfig SYSTEM "fonts.dtd"> <fontconfig> <!-- Use Hinting --> <match target="font"> <edit name="hinting" mode="assign"><bool>true</bool></edit> </match> </fontconfig>
Файл /etc/fonts/conf.d/10-sub-pixel-rgb.conf
:
<?xml version="1.0"?> <!DOCTYPE fontconfig SYSTEM "fonts.dtd"> <fontconfig> <!-- Enable sub-pixel rendering --> <match target="font"> <edit name="rgba" mode="assign"><const>rgb</const></edit> </match> </fontconfig>
Файл /etc/fonts/conf.d/11-lcd-filter-lcddefault.conf
:
<?xml version="1.0"?> <!DOCTYPE fontconfig SYSTEM "fonts.dtd"> <!-- conf.d/lcd-filter-lcddefault.conf --> <fontconfig> <!-- Use lcddefault as default for LCD filter --> <match target="font"> <edit mode="assign" name="lcdfilter"> <const>lcddefault</const> </edit> </match> </fontconfig>
Файл /etc/fonts/conf.d/45-latin.conf-droid
:
<?xml version="1.0"?> <!DOCTYPE fontconfig SYSTEM "fonts.dtd"> <fontconfig> <!-- Mark common families with their generics so we'll get something reasonable --> <!-- Serif faces --> <alias> <family>Droid Serif</family> <family>Bitstream Vera Serif</family> <family>DejaVu Serif</family> <family>Liberation Serif</family> <family>Times New Roman</family> <family>Times</family> <family>Nimbus Roman No9 L</family> <family>Luxi Serif</family> <family>Thorndale AMT</family> <family>Thorndale</family> <default><family>serif</family></default> </alias> <!-- Sans-serif faces --> <alias> <family>Droid Sans</family> <family>Bitstream Vera Sans</family> <family>DejaVu Sans</family> <family>Liberation Sans</family> <family>Arial</family> <family>Helvetica</family> <family>Verdana</family> <family>Albany AMT</family> <family>Albany</family> <family>Nimbus Sans L</family> <family>Luxi Sans</family> <default><family>sans-serif</family></default> </alias> <!-- Monospace faces --> <alias> <family>Droid Sans Mono</family> <family>Bitstream Vera Sans Mono</family> <family>DejaVu Sans Mono</family> <family>Liberation Mono</family> <family>Courier New</family> <family>Courier</family> <family>Andale Mono</family> <family>Luxi Mono</family> <family>Cumberland AMT</family> <family>Cumberland</family> <family>Nimbus Mono L</family> <default><family>monospace</family></default> </alias> <!-- Fantasy faces --> <alias> <family>Impact</family> <family>Copperplate Gothic Std</family> <family>Cooper Std</family> <family>Bauhaus Std</family> <default><family>fantasy</family></default> </alias> <!-- Cursive faces --> <alias> <family>ITC Zapf Chancery Std</family> <family>Zapfino</family> <family>Comic Sans MS</family> <default><family>cursive</family></default> </alias> </fontconfig>
Файл /etc/fonts/conf.d/60-latin.conf
:
<?xml version="1.0"?> <!DOCTYPE fontconfig SYSTEM "fonts.dtd"> <fontconfig> <alias> <family>serif</family> <prefer> <family>Droid Serif</family> <family>DejaVu Serif</family> <family>Bitstream Vera Serif</family> <family>Times New Roman</family> <family>Thorndale AMT</family> <family>Luxi Serif</family> <family>Nimbus Roman No9 L</family> <family>Times</family> </prefer> </alias> <alias> <family>sans-serif</family> <prefer> <family>Droid Sans</family> <family>DejaVu Sans</family> <family>Bitstream Vera Sans</family> <family>Verdana</family> <family>Arial</family> <family>Albany AMT</family> <family>Luxi Sans</family> <family>Nimbus Sans L</family> <family>Helvetica</family> <family>Lucida Sans Unicode</family> <family>BPG Glaho International</family> <!-- lat,cyr,arab,geor --> <family>Tahoma</family> <!-- lat,cyr,greek,heb,arab,thai --> </prefer> </alias> <alias> <family>monospace</family> <prefer> <family>Droid Sans Mono</family> <family>DejaVu Sans Mono</family> <family>Bitstream Vera Sans Mono</family> <family>Andale Mono</family> <family>Courier New</family> <family>Cumberland AMT</family> <family>Luxi Mono</family> <family>Nimbus Mono L</family> <family>Courier</family> </prefer> </alias> <!-- Fantasy faces --> <alias> <family>fantasy</family> <prefer> <family>Impact</family> <family>Copperplate Gothic Std</family> <family>Cooper Std</family> <family>Bauhaus Std</family> </prefer> </alias> <!-- Cursive faces --> <alias> <family>cursive</family> <prefer> <family>ITC Zapf Chancery Std</family> <family>Zapfino</family> <family>Comic Sans MS</family> </prefer> </alias> </fontconfig>
Файл /etc/fonts/conf.d/99-misc.conf
:
<?xml version="1.0"?> <!DOCTYPE fontconfig SYSTEM "fonts.dtd"> <fontconfig> <!-- Enable sub-pixel rendering --> <match target="font"> <test qual="all" name="rgba"> <const>unknown</const> </test> <edit name="rgba" mode="assign"> <const>rgb</const> </edit> </match> <!--Enable Autohint--> <match target="font"> <test name="size" compare="less_eq"> <double>8</double> </test> <edit name="autohint" mode="assign"> <bool>true</bool> </edit> </match> <!-- Change hintstyle to hintslight for bold fonts--> <!-- except small (till 9th size) --> <match target="font"> <!--<test name="weight" compare="more_eq"> <const>medium</const> </test>--> <test name="size" compare="more"> <double>10</double> </test> <edit name="hintstyle" mode="assign"> <const>hintslight</const> </edit> </match> <!-- Disable Anti Aliasing for Tahoma ()--> <!--<match target="font"> <test name="family"> <string>Tahoma</string> </test> <test compare="less" name="size" qual="any"> <double>12</double> </test> <edit mode="assign" name="antialias"> <bool>false</bool> </edit> </match>--> <!-- Autohint for Tahoma (bold 6th size) --> <match target="font"> <test name="family"> <string>Tahoma</string> </test> <test name="size" compare="eq"> <double>6</double> </test> <test name="weight" compare="more_eq"> <const>medium</const> </test> <edit name="autohint" mode="assign"> <bool>true</bool> </edit> </match> </fontconfig>
Примечание: Рекомендации по настройке характерны для системы, в которой установлены следующие пакеты:
cairo-ubuntu Cairo vector graphics library, with Ubuntu's LCD rendering patches fontconfig-ubuntu A library for configuring and customizing font access, with Ubuntu's LCD rendering patches freetype2-ubuntu TrueType font rendering library, with Ubuntu's LCD rendering patches libxft-ubuntu FreeType-based font drawing library for X, with Ubuntu's LCD rendering patches ttf-droid A font created by Ascender Corporation for use by the Open Handset Alliance platform, Android.