Fonts Policy: различия между версиями
м («Fonts» переименована в «Drafts/Fonts»: it's a policy draft, after all) |
(wikification) |
||
Строка 1: | Строка 1: | ||
[[Category:Policy]] | [[Category:Policy]] | ||
== Шрифты == | == Шрифты == | ||
Строка 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 | * bitmap — 20; | ||
type1 | * type1 — 40; | ||
ttf | * ttf — 50; | ||
otf | * 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 | * bitmap — '''xorg-x11-font-utils''' | ||
type1 | * type1 — '''mkfontscale''' | ||
ttf | * ttf — '''mkfontscale''' | ||
otf | * otf — '''mkfontscale''' | ||
Requires: | Requires: | ||
fontconfig >= 2.4.2 | '''fontconfig >= 2.4.2''' | ||
=== fonts.scale, fonts.dir === | === fonts.scale, fonts.dir === | ||
Для bitmap шрифтов fonts.dir обычно идет в комплекте или создается | Для bitmap-шрифтов fonts.dir обычно идет в комплекте или создается Makefile’ом, | ||
а fonts.scale | а fonts.scale не требуется. | ||
Для type1, ttf, otf шрифтов fonts.scale создается с помощью '''mkfontscale''', | |||
fonts.dir | Для 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 | ||
% | %post_fonts | ||
%postun | %postun | ||
%postun_fonts | |||
</pre> | |||
Эти макросы содержатся в пакете [[Drafts/Fonts/RpmBuildFonts|rpm-build-fonts]]. |
Версия от 14: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.