Fonts Policy

Материал из ALT Linux Wiki

(Различия между версиями)
Перейти к: навигация, поиск
м Fonts» переименована в «Drafts/Fonts»: it's a policy draft, after all)
(wikification)
Строка 1: Строка 1:
[[Category:Policy]]
[[Category:Policy]]
-
{{MovedFromFreesourceInfo|AltLinux/Policy/Fonts}}
 
== Шрифты ==
== Шрифты ==
Строка 6: Строка 5:
=== Соглашения по размещению ===
=== Соглашения по размещению ===
-
Пакеты со шрифтами в ALT Linux устанавливают содержимое в подкаталоги каталога '''%_datadir/fonts/''',
+
Пакеты со шрифтами в ALT Linux устанавливают содержимое в подкаталоги каталога '''%_datadir/fonts/''' ('''/usr/share/fonts/'''), fontconfig по умолчанию настроен именно на этот каталог.
-
fontconfig по умолчанию настроен именно на этот каталог.
+
Подкаталог первого уровня определяется типом шрифта и выбирается из:
Подкаталог первого уровня определяется типом шрифта и выбирается из:
-
'''type1''' — Type 1;
+
* '''type1''' — Type 1;
-
'''ttf''' — TrueType;
+
* '''ttf''' — TrueType;
-
'''otf''' — OpenType;
+
* '''otf''' — OpenType;
-
'''bitmap''' — растровые;
+
* '''bitmap''' — растровые;
-
'''speedo''' — растровые в формате Speedo (давно не используются и
+
* '''speedo''' — растровые в формате Speedo (давно не используются и сборка соответствующего модуля в xorg-server отключена).
-
сборка соответствующего модуля в xorg-server отключена).
+
-
Подкаталог второго уровня — сообразно имени шрифта (fname).
+
Подкаталог второго уровня — сообразно имени шрифта (%fname).
-
X сервер не использует fontconfig, у него своя схема загрузки шрифтов,
+
 
 +
X-сервер не использует fontconfig, у него своя схема загрузки шрифтов,
по умолчанию использующая каталог '''%_sysconfdir/X11/fontpath.d/''',
по умолчанию использующая каталог '''%_sysconfdir/X11/fontpath.d/''',
-
в который размещаются символические ссылки на подкаталог второго уровня.
+
в который помещаются символические ссылки на подкаталог второго уровня.
-
Имена символических ссылок имеют вид '''%type-%fname[:unscaled]:pri=XX'''.
+
Имена символических ссылок имеют вид '''%type-%fname[:unscaled]:pri=XX'''
Примеры создания таких ссылок в spec-файлах:
Примеры создания таких ссылок в spec-файлах:
Строка 33: Строка 31:
     %buildroot%_sysconfdir/X11/fontpath.d/ttf-dejavu:pri=50</pre>
     %buildroot%_sysconfdir/X11/fontpath.d/ttf-dejavu:pri=50</pre>
-
где ''':pri=XX''' -- это приоритет загрузки шрифтов, который зависит от типа шрифта:
+
где ''':pri=XX''' это приоритет загрузки шрифтов, который зависит от типа шрифта:
-
bitmap -- 20;
+
* bitmap 20;
-
type1 -- 40;
+
* type1 40;
-
ttf -- 50;
+
* ttf 50;
-
otf -- 50
+
* otf 50.
Символические ссылки должны быть запакованы в пакет вместе с каталогами,
Символические ссылки должны быть запакованы в пакет вместе с каталогами,
на которые они указывают.
на которые они указывают.
-
=== Дополнение для локалезависимых bitmap шрифтов ===
+
=== Дополнение для локалезависимых bitmap-шрифтов ===
-
Локалезависимые bitmap шрифты обычно имеют подкаталоги третьего уровня (cname),
+
Локалезависимые bitmap-шрифты обычно имеют подкаталоги третьего уровня (%cname),
примером может служить пакет fonts-bitmap-cyrillic:
примером может служить пакет fonts-bitmap-cyrillic:
'''%_datadir/fonts/bitmap/%fname/%cname'''
'''%_datadir/fonts/bitmap/%fname/%cname'''
 +
Символическая ссылка в /etc/X11/fontpath.d будет иметь имя
Символическая ссылка в /etc/X11/fontpath.d будет иметь имя
'''bitmap-%fname-%cname:unscaled:pri=10'''
'''bitmap-%fname-%cname:unscaled:pri=10'''
Строка 53: Строка 52:
BuildRequires:
BuildRequires:
-
bitmap -- '''xorg-x11-font-utils'''
+
* bitmap '''xorg-x11-font-utils'''
-
type1 -- '''mkfontscale'''
+
* type1 '''mkfontscale'''
-
ttf -- '''mkfontscale'''
+
* ttf '''mkfontscale'''
-
otf -- '''mkfontscale'''
+
* otf '''mkfontscale'''
Requires:
Requires:
-
fontconfig >= 2.4.2
+
'''fontconfig >= 2.4.2'''
=== fonts.scale, fonts.dir ===
=== fonts.scale, fonts.dir ===
-
Для bitmap шрифтов fonts.dir обычно идет в комплекте или создается Makefile'ом,
+
Для bitmap-шрифтов fonts.dir обычно идет в комплекте или создается Makefile’ом,
-
а fonts.scale для bitmap шрифтов не нужен.
+
а fonts.scale не требуется.
-
Для type1, ttf, otf шрифтов fonts.scale создается с помощью '''mkfontscale''',
+
 
-
fonts.dir -- это символическая ссылка на fonts.scale:
+
Для type1-, ttf-, otf-шрифтов fonts.scale создается с помощью '''mkfontscale''',
 +
а fonts.dir это символическая ссылка на fonts.scale:
<pre>mkfontscale %buildroot%_fontsdir/%fname
<pre>mkfontscale %buildroot%_fontsdir/%fname
Строка 73: Строка 73:
=== post/postun ===
=== post/postun ===
-
post/postun для всех шрифтов одинаков:
+
%post/%postun для всех шрифтов одинаков:
-
 
+
<pre>
-
<pre>%post
+
%post
-
%_bindir/fc-cache %_fontsdir/%fname ||:
+
%post_fonts
%postun
%postun
-
if [ "$1" = "0" ]; then
+
%postun_fonts
-
    %_bindir/fc-cache --system-only ||:
+
</pre>
-
fi</pre>
+
-
 
+
-
=== Упрощение сборки шрифтов ===
+
-
Для упрощения жизни мантейнеру шрифтов и скрытия деталей упаковки созданы макросы в пакете [[Fonts/RpmBuildFonts|rpm-build-fonts]].
+
Эти макросы содержатся в пакете [[Drafts/Fonts/RpmBuildFonts|rpm-build-fonts]].

Версия 11:31, 8 сентября 2008


Содержание

Шрифты

Соглашения по размещению

Пакеты со шрифтами в ALT Linux устанавливают содержимое в подкаталоги каталога %_datadir/fonts/ (/usr/share/fonts/), fontconfig по умолчанию настроен именно на этот каталог.

Подкаталог первого уровня определяется типом шрифта и выбирается из:

  • type1 — Type 1;
  • ttf — TrueType;
  • otf — OpenType;
  • bitmap — растровые;
  • speedo — растровые в формате Speedo (давно не используются и сборка соответствующего модуля в xorg-server отключена).

Подкаталог второго уровня — сообразно имени шрифта (%fname).

X-сервер не использует fontconfig, у него своя схема загрузки шрифтов, по умолчанию использующая каталог %_sysconfdir/X11/fontpath.d/, в который помещаются символические ссылки на подкаталог второго уровня. Имена символических ссылок имеют вид %type-%fname[:unscaled]:pri=XX

Примеры создания таких ссылок в spec-файлах:

ln -s ../../..%_datadir/fonts/bitmap/misc \
    %buildroot%_sysconfdir/X11/fontpath.d/bitmap-misc:unscaled:pri=20

ln -s ../../..%_datadir/fonts/type1/urw \
    %buildroot%_sysconfdir/X11/fontpath.d/type1-urw:pri=40

ln -s ../../..%_datadir/fonts/ttf/dejavu \
    %buildroot%_sysconfdir/X11/fontpath.d/ttf-dejavu:pri=50

где :pri=XX — это приоритет загрузки шрифтов, который зависит от типа шрифта:

  • bitmap — 20;
  • type1 — 40;
  • ttf — 50;
  • otf — 50.

Символические ссылки должны быть запакованы в пакет вместе с каталогами, на которые они указывают.

Дополнение для локалезависимых bitmap-шрифтов

Локалезависимые bitmap-шрифты обычно имеют подкаталоги третьего уровня (%cname), примером может служить пакет fonts-bitmap-cyrillic: %_datadir/fonts/bitmap/%fname/%cname

Символическая ссылка в /etc/X11/fontpath.d будет иметь имя bitmap-%fname-%cname:unscaled:pri=10

Requires, BuildRequires

BuildRequires:

  • bitmap — xorg-x11-font-utils
  • type1 — mkfontscale
  • ttf — mkfontscale
  • otf — mkfontscale

Requires: fontconfig >= 2.4.2

fonts.scale, fonts.dir

Для bitmap-шрифтов fonts.dir обычно идет в комплекте или создается Makefile’ом, а fonts.scale не требуется.

Для type1-, ttf-, otf-шрифтов fonts.scale создается с помощью mkfontscale, а fonts.dir — это символическая ссылка на fonts.scale:

mkfontscale %buildroot%_fontsdir/%fname
ln -s fonts.scale %buildroot%_fontsdir/%fname/fonts.dir

post/postun

%post/%postun для всех шрифтов одинаков:

%post
%post_fonts

%postun
%postun_fonts

Эти макросы содержатся в пакете rpm-build-fonts.

 
Личные инструменты