Fonts Policy: различия между версиями
(Макросы) |
Ilis (обсуждение | вклад) Нет описания правки |
||
Строка 1: | Строка 1: | ||
{{h0|Шрифты}} | |||
{{DraftPolicy|responsible=lav}} | {{DraftPolicy|responsible=lav}} | ||
== Соглашения по размещению == | |||
Пакеты со шрифтами в ALT Linux устанавливают содержимое в подкаталоги каталога '''%_datadir/fonts/''' ('''/usr/share/fonts/'''), fontconfig по умолчанию настроен именно на этот каталог. | Пакеты со шрифтами в ALT Linux устанавливают содержимое в подкаталоги каталога '''%_datadir/fonts/''' ('''/usr/share/fonts/'''), fontconfig по умолчанию настроен именно на этот каталог. | ||
Строка 40: | Строка 38: | ||
на которые они указывают. | на которые они указывают. | ||
== Дополнение для локалезависимых bitmap-шрифтов == | |||
Локалезависимые bitmap-шрифты обычно имеют подкаталоги третьего уровня (%cname), | Локалезависимые bitmap-шрифты обычно имеют подкаталоги третьего уровня (%cname), | ||
примером может служить пакет fonts-bitmap-cyrillic: | примером может служить пакет fonts-bitmap-cyrillic: | ||
Строка 49: | Строка 46: | ||
'''bitmap-%fname-%cname:unscaled:pri=10''' | '''bitmap-%fname-%cname:unscaled:pri=10''' | ||
== Requires, BuildRequires == | |||
BuildRequires: | BuildRequires: | ||
* bitmap — '''xorg-x11-font-utils''' | * bitmap — '''xorg-x11-font-utils''' | ||
Строка 60: | Строка 56: | ||
'''fontconfig >= 2.4.2''' | '''fontconfig >= 2.4.2''' | ||
== fonts.scale, fonts.dir == | |||
Для bitmap-шрифтов fonts.dir обычно идет в комплекте или создается Makefile’ом, | Для bitmap-шрифтов fonts.dir обычно идет в комплекте или создается Makefile’ом, | ||
а fonts.scale не требуется. | а fonts.scale не требуется. | ||
Строка 71: | Строка 66: | ||
ln -s fonts.scale %buildroot%_fontsdir/%fname/fonts.dir</pre> | ln -s fonts.scale %buildroot%_fontsdir/%fname/fonts.dir</pre> | ||
== Макросы == | |||
Для упрощения упаковки на ряд типовых каталогов и действий в пакете rpm-build-fonts заведены макросы: | Для упрощения упаковки на ряд типовых каталогов и действий в пакете rpm-build-fonts заведены макросы: | ||
Строка 110: | Строка 104: | ||
Примеры спеков можно посмотреть здесь для [http://sisyphus.ru/srpm/fonts-ttf-gentium/spec TrueType] и [http://sisyphus.ru/srpm/fonts-type-church/spec Type1] шрифтов. | Примеры спеков можно посмотреть здесь для [http://sisyphus.ru/srpm/fonts-ttf-gentium/spec TrueType] и [http://sisyphus.ru/srpm/fonts-type-church/spec Type1] шрифтов. | ||
[[Категория:Packaging]] |
Версия от 21:16, 17 марта 2009
Шрифты
Соглашения по размещению
Пакеты со шрифтами в 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
Макросы
Для упрощения упаковки на ряд типовых каталогов и действий в пакете rpm-build-fonts заведены макросы:
Для обозначения каталогов с типами шрифтов:
%_bitmapfontsdir %_fontsdir/bitmap %_type1fontsdir %_fontsdir/type1 %_ttffontsdir %_fontsdir/ttf %_otffontsdir %_fontsdir/otf
Для обозначения каталога fontpath.d:
%_fontpathdir %_sysconfdir/X11/fontpath.d
С использованием пакета rpm-build-fonts спек для шрифтов ttf начинает выглядеть примерно так:
%define fname somefont Name: fonts-ttf-%fname ... BuildRequires: rpm-build-fonts >= 0.3 PreReq: fontconfig >= 2.4.2 Provides: %fname-fonts-ttf Obsoletes: %fname-fonts-ttf ... %install %ttf_fonts_install %fname %post %post_fonts %postun %postun_fonts %files -f %fname.files %doc ...
Примеры спеков можно посмотреть здесь для TrueType и Type1 шрифтов.