Fonts Policy

Материал из ALT Linux Wiki
Версия от 14:12, 8 сентября 2008; MichaelShigorin (обсуждение | вклад) Fonts» переименована в «Drafts/Fonts»: it's a policy draft, after all)
Freesource-logo.png Blue Glass Arrow.svg MediaWiki logo.png
Эта страница была перемещена с freesource.info.
Эта страница наверняка требует чистки и улучшения — смело правьте разметку и ссылки.
Просьба по окончанию убрать этот шаблон со страницы.


Шрифты

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

Пакеты со шрифтами в ALT Linux устанавливают содержимое в подкаталоги каталога %_datadir/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 для bitmap шрифтов не нужен. Для 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
%_bindir/fc-cache %_fontsdir/%fname ||:

%postun
if [ "$1" = "0" ]; then
    %_bindir/fc-cache --system-only ||:
fi

Упрощение сборки шрифтов

Для упрощения жизни мантейнеру шрифтов и скрытия деталей упаковки созданы макросы в пакете rpm-build-fonts.