wiki:настройка_шрифтов

Это старая версия документа.


Настройка шрифтов

Руководство работает на 8.04 LTS Hardy Heron 8.10 Intrepid Ibex 9.04 Jaunty Jackalope

Моноширинные шрифты X

FIXME

Стандартные ttf-шрифты на CRT мониторе

FIXME

Стандартные ttf-шрифты на LCD мониторе

"Чистая" система

Убедитесь что установлены DejaVu и Liberation шрифты

$ dpkg -l | grep dejavu        # DejaVu fonts
$ dpkg -l | grep liberation    # Liberation fonts

Если их нет, то поставьте:

$ sudo aptitude install ttf-dejavu        # DejaVu fonts
$ sudo aptitude install ttf-liberation    # Liberation fonts

Создайте /etc/fonts/local.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>
 
<!--  Use the Autohinter -->
  <match target="font">
    <edit name="autohint" mode="assign"><bool>false</bool></edit>
  </match>
 
<!--  Enable sub-pixel rendering -->
  <match target="font">
    <edit name="rgba" mode="assign"><const>rgb</const></edit>
  </match>
 
 
<!--  Use Full Hinting -->
  <match target="font">
    <edit name="hintstyle" mode="assign"><const>hintfull</const></edit>
  </match>
 
<!-- Включить автохинтинг в DejaVu шрифтах -->
    <match target="font">
        <test name="family">
            <string>DejaVu Sans</string>
        </test>
        <edit name="autohint">
            <bool>true</bool>
        </edit>
    </match>
 
    <match target="font">
        <test name="family">
            <string>DejaVu Serif</string>
        </test>
        <edit name="autohint">
            <bool>true</bool>
        </edit>
    </match>
 
    <match target="font">
        <test name="family">
            <string>DejaVu Sans Mono</string>
        </test>
        <edit name="autohint">
            <bool>true</bool>
        </edit>
    </match>
 
<!-- Map specifics to generics -->
 
        <!-- PostScript -->
        <alias binding="same">
          <family>Liberation Sans</family>
          <default>
          <family>Helvetica</family>
 
          </default>
        </alias>
 
        <alias binding="same">
          <family>Liberation Serif</family>
          <default>
          <family>Times</family>
          </default>
 
        </alias>
 
        <alias binding="same">
          <family>Liberation Mono</family>
          <default>
          <family>Courier</family>
          </default>
        </alias>
 
        <!-- Microsoft -->
        <alias binding="same">
          <family>Liberation Sans</family>
          <default>
          <family>Arial</family>
          </default>
        </alias>
 
        <alias binding="same">
          <family>Liberation Serif</family>
          <default>
          <family>Times New Roman</family>
          </default>
        </alias>
 
        <alias binding="same">
 
          <family>Liberation Mono</family>
          <default>
          <family>Courier New</family>
          </default>
        </alias>
 
<!-- Map generics to specifics -->
 
 
        <!-- PostScript -->
 
        <alias binding="same">
          <family>Helvetica</family>
          <accept>
          <family>Liberation Sans</family>
          </accept>
        </alias>
 
        <alias binding="same">
 
          <family>Times</family>
          <accept>
          <family>Liberation Serif</family>
          </accept>
        </alias>
 
        <alias binding="same">
          <family>Courier</family>
           <accept>
          <family>Liberation Mono</family>
          </accept>
        </alias>
 
        <!-- Microsoft -->
        <alias binding="same">
          <family>Arial</family>
 
          <accept>
          <family>Liberation Sans</family>
          </accept>
        </alias>
 
        <alias binding="same">
          <family>Times New Roman</family>
          <accept>
 
          <family>Liberation Serif</family>
          </accept>
        </alias>
 
        <alias binding="same">
          <family>Courier New</family>
          <accept>
          <family>Liberation Mono</family>
 
          </accept>
        </alias>
 
 
<!--
  Mark common families with their generics so we'll get
  something reasonable
-->
<!--
  Serif faces
 -->
    <alias>
        <family>Liberation Serif</family>
        <default><family>serif</family></default>
    </alias>
 
<!--
  Sans-serif faces
 -->
    <alias>
        <family>Liberation Sans</family>
        <default><family>sans-serif</family></default>
    </alias>
<!--
  Monospace faces
 -->
    <alias>
        <family>Liberation Mono</family>
 
        <default><family>monospace</family></default>
    </alias>
<!--
  Fantasy faces
 -->
    <alias>
        <family>Liberation Sans</family>
        <default><family>fantasy</family></default>
    </alias>
<!--
  Cursive faces
  -->
 
    <alias>
        <family>Liberation Sans</family>
        <default><family>cursive</family></default>
    </alias>
 
<!-- Final config -->
 
        <alias>
                <family>serif</family>
 
                <prefer>
                        <family>Liberation Serif</family>
                </prefer>
        </alias>
        <alias>
                <family>sans-serif</family>
                <prefer>
                        <family>Liberation Sans</family>
 
                </prefer>
        </alias>
        <alias>
                <family>monospace</family>
                <prefer>
                        <family>Liberation Mono</family>
                </prefer>
        </alias>
 
        <alias>
                <family>fantasy</family>
                <prefer>
                        <family>Liberation Sans</family>
                </prefer>
        </alias>
        <alias>
                <family>cursive</family>
 
                <prefer>
                        <family>Liberation Sans</family>
                </prefer>
        </alias>
 
</fontconfig>

Система с установленными шрифтами Microsoft

Выше описана система, в которой используются только открытые шрифты. Если вы хотите использовать их как основные, но всё-же предпочитаете позволить веб-сайтам использовать шрифты от Microsoft, то вам во-первых следует в дополнение к предыдущим поставить пакет шрифтов от Microsoft:

$ sudo aptitude install msttcorefonts

А во вторых применить вот такой конфиг:

<?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>
 
<!--  Use the Autohinter -->
  <match target="font">
    <edit name="autohint" mode="assign"><bool>false</bool></edit>
  </match>
 
<!--  Enable sub-pixel rendering -->
  <match target="font">
    <edit name="rgba" mode="assign"><const>rgb</const></edit>
  </match>
 
 
<!--  Use Full Hinting -->
  <match target="font">
    <edit name="hintstyle" mode="assign"><const>hintfull</const></edit>
  </match>
 
<!-- Включить автохинтинг в DejaVu шрифтах -->
 
    <match target="font">
        <test name="family">
            <string>DejaVu Sans</string>
        </test>
        <edit name="autohint">
            <bool>true</bool>
        </edit>
    </match>
 
    <match target="font">
        <test name="family">
            <string>DejaVu Serif</string>
        </test>
        <edit name="autohint">
            <bool>true</bool>
        </edit>
    </match>
 
    <match target="font">
        <test name="family">
            <string>DejaVu Sans Mono</string>
        </test>
        <edit name="autohint">
            <bool>true</bool>
        </edit>
    </match>
 
 
 
<!-- Map specifics to generics -->
 
        <!-- PostScript -->
        <alias binding="same">
          <family>Liberation Sans</family>
          <default>
          <family>Helvetica</family>
 
          </default>
        </alias>
 
        <alias binding="same">
          <family>Liberation Serif</family>
          <default>
          <family>Times</family>
          </default>
 
        </alias>
 
        <alias binding="same">
          <family>Liberation Mono</family>
          <default>
          <family>Courier</family>
          </default>
        </alias>
 
<!-- Map generics to specifics -->
 
 
        <!-- PostScript -->
 
        <alias binding="same">
          <family>Helvetica</family>
          <accept>
          <family>Liberation Sans</family>
          </accept>
        </alias>
 
        <alias binding="same">
 
          <family>Times</family>
          <accept>
          <family>Liberation Serif</family>
          </accept>
        </alias>
 
        <alias binding="same">
          <family>Courier</family>
           <accept>
          <family>Liberation Mono</family>
          </accept>
        </alias>
 
<!--
  Mark common families with their generics so we'll get
  something reasonable
-->
<!--
  Serif faces
 -->
    <alias>
        <family>Liberation Serif</family>
        <default><family>serif</family></default>
    </alias>
 
<!--
  Sans-serif faces
 -->
    <alias>
        <family>Liberation Sans</family>
        <default><family>sans-serif</family></default>
    </alias>
<!--
  Monospace faces
 -->
    <alias>
        <family>Liberation Mono</family>
 
        <default><family>monospace</family></default>
    </alias>
<!--
  Fantasy faces
 -->
    <alias>
        <family>Liberation Sans</family>
        <default><family>fantasy</family></default>
    </alias>
<!--
  Cursive faces
  -->
 
    <alias>
        <family>Liberation Sans</family>
        <default><family>cursive</family></default>
    </alias>
 
<!-- Final config -->
 
        <alias>
                <family>serif</family>
 
                <prefer>
                        <family>Liberation Serif</family>
                </prefer>
        </alias>
        <alias>
                <family>sans-serif</family>
                <prefer>
                        <family>Liberation Sans</family>
 
                </prefer>
        </alias>
        <alias>
                <family>monospace</family>
                <prefer>
                        <family>Liberation Mono</family>
                </prefer>
        </alias>
 
        <alias>
                <family>fantasy</family>
                <prefer>
                        <family>Liberation Sans</family>
                </prefer>
        </alias>
        <alias>
                <family>cursive</family>
 
                <prefer>
                        <family>Liberation Sans</family>
                </prefer>
        </alias>
 
</fontconfig>

Виндовые шрифты на CRT мониторе

FIXME

Виндовые шрифты с антиалиасингом на LCD мониторе

Установите Microsoft core fonts:

$ sudo aptitude install msttcorefonts

Создайте /etc/fonts/local.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>
 
<!--  Use the Autohinter -->
  <match target="font">
    <edit name="autohint" mode="assign"><bool>false</bool></edit>
 
  </match>
 
<!--  Enable sub-pixel rendering -->
  <match target="font">
    <edit name="rgba" mode="assign"><const>rgb</const></edit>
  </match>
 
 
<!--  Use Full Hinting -->
  <match target="font">
    <edit name="hintstyle" mode="assign"><const>hintfull</const></edit>
  </match>
 
<!-- Включить автохинтинг в DejaVu шрифтах -->
    <match target="font">
        <test name="family">
            <string>DejaVu Sans</string>
        </test>
        <edit name="autohint">
            <bool>true</bool>
        </edit>
    </match>
 
    <match target="font">
        <test name="family">
            <string>DejaVu Serif</string>
        </test>
        <edit name="autohint">
            <bool>true</bool>
        </edit>
    </match>
 
    <match target="font">
        <test name="family">
            <string>DejaVu Sans Mono</string>
        </test>
        <edit name="autohint">
            <bool>true</bool>
        </edit>
    </match>
 
<!-- Map specifics to generics -->
 
        <!-- PostScript -->
        <alias binding="same">
          <family>Arial</family>
          <default>
          <family>Helvetica</family>
          </default>
        </alias>
 
        <alias binding="same">
          <family>Times New Roman</family>
          <default>
          <family>Times</family>
          </default>
 
        </alias>
 
        <alias binding="same">
          <family>Courier New</family>
          <default>
          <family>Courier</family>
          </default>
        </alias>
 
 
<!-- Map generics to specifics -->
 
 
        <!-- PostScript -->
 
        <alias binding="same">
          <family>Helvetica</family>
          <accept>
          <family>Arial</family>
          </accept>
        </alias>
 
        <alias binding="same">
 
          <family>Times</family>
          <accept>
          <family>Times New Roman</family>
          </accept>
        </alias>
 
        <alias binding="same">
          <family>Courier</family>
          <accept>
          <family>Courier New</family>
          </accept>
        </alias>
 
<!--
  Mark common families with their generics so we'll get
  something reasonable
-->
<!--
  Serif faces
 -->
	<alias>
		<family>Times New Roman</family>
		<default><family>serif</family></default>
	</alias>
 
<!--
  Sans-serif faces
 -->
	<alias>
		<family>Arial</family>
		<default><family>sans-serif</family></default>
	</alias>
<!--
  Monospace faces
 -->
 	<alias>
		<family>Courier New</family>
 
		<default><family>monospace</family></default>
	</alias>
<!--
  Fantasy faces
 -->
 	<alias>
		<family>Impact</family>
		<default><family>fantasy</family></default>
	</alias>
<!--
  Cursive faces
  -->
 
	<alias>
		<family>Comic Sans MS</family>
		<default><family>cursive</family></default>
	</alias>
 
<!-- Final config -->
 
        <alias>
               	<family>serif</family>
 
                <prefer>
                        <family>Times New Roman</family>
                </prefer>
        </alias>
        <alias>
               	<family>sans-serif</family>
                <prefer>
                        <family>Arial</family>
 
                </prefer>
        </alias>
        <alias>
               	<family>monospace</family>
                <prefer>
                        <family>Courier New</family>
                </prefer>
        </alias>
 
        <alias>
               	<family>fantasy</family>
                <prefer>
                        <family>Impact</family>
                </prefer>
        </alias>
     	<alias>
               	<family>cursive</family>
 
                <prefer>
                        <family>Comic Sans MS</family>
                </prefer>
        </alias>
 
</fontconfig>

Настройки X.org для CRT монитра

FIXME

Настройки GNOME для CRT монитра

FIXME

Настройки KDE для CRT монитра

FIXME

Настройки XFCE для CRT монитра

FIXME

Настройки X.org для CRT монитра

FIXME

Настройки GNOME для LCD монитра

FIXME Изменить ЭТО на gconftool-2 FIXME

~/.gconf/apps/metacity/general/%gconf.xml следует дополнить/изменить следующим образом:

<?xml version="1.0"?>
<gconf>
        <entry name="titlebar_font" mtime="1236170515" type="string">
                <stringvalue>Liberation Sans Bold 8</stringvalue>
        </entry>
</gconf>

~/.gconf/desktop/gnome/font_rendering/%gconf.xml следует дополнить/изменить следующим образом:

<?xml version="1.0"?>
<gconf>
        <entry name="dpi" mtime="1236139981" type="float" value="96">
        </entry>
        <entry name="hinting" mtime="1236145205" type="string">
                <stringvalue>full</stringvalue>
        </entry>
        <entry name="antialiasing" mtime="1236145205" type="string">
                <stringvalue>rgba</stringvalue>
        </entry>
</gconf>

~/.gconf/desktop/gnome/interface/%gconf.xml следует дополнить/изменить следующим образом:

<?xml version="1.0"?>
<gconf>
         <entry name="monospace_font_name" mtime="1205580299" type="string">
                 <stringvalue>Monospace 8</stringvalue>
         </entry>
         <entry name="document_font_name" mtime="1205580287" type="string">
                 <stringvalue>Sans 8</stringvalue>
         </entry>
         <entry name="font_name" mtime="1205580284" type="string">
                 <stringvalue>Sans 8</stringvalue>
        </entry>
</gconf>

Настройки KDE для LCD монитора

FIXME

Настройки XFCE для LCD монитра

FIXME

Заключение

Вот и всё. Осталось перезапустить подсистему X (если не перезапустить, то некоторые приложения могут «не увидеть» новые настройки. Да и всё-равно все приложения использующие шрифтовую подсистему (например firefox) придётся перезапустить.