Товарищи, здравствуйте.
Я по-прежнему использую core X11 fonts.
В свете того, что из Debian исключили пакет xfs, а пересобрать libxft2 с
нужными ключами и опакетить оба компонента под Debian 9 я так и не
собрался, фрагмент моего xorg.conf сейчас выглядит так:
> Section "Files"
> ModulePath "/usr/lib/xorg/modules"
> FontPath "unix/:7100"
> FontPath "/usr/share/fonts/X11/misc"
> FontPath "/usr/share/fonts/X11/cyrillic"
> FontPath "/usr/share/fonts/X11/100dpi/:unscaled"
> FontPath "/usr/share/fonts/X11/75dpi/:unscaled"
> FontPath "/usr/share/fonts/X11/Type1"
> FontPath "/usr/share/fonts/X11/100dpi"
> FontPath "/usr/share/fonts/X11/75dpi"
> FontPath "built-ins"
> FontPath"/usr/share/fonts/opentype/cantarell"
>
> #
> # ... ещё 100+ строк аналогичного содержания
> #
>
> FontPath"/usr/share/fonts/truetype/yanone-kaffeesatz"
> EndSection
В каждом из каталогов из списка – сгенерённые fonts.dir и fonts.scale.
Хотя, если бы в системе был xfs, то весь этот зоопарк попал бы в
/etc/X11/fs/config, но от этого не перестал бы быть зоопарком.
И вот хочется этот процесс автоматизировать:
* автоматически регистрировать/дерегистрировать в xorg.conf и/или
/etc/X11/fs/config каталоги при установке и удалении шрифтов;
* автоматически создавать fonts.dir и fonts.scale при
установке/обновлении пакетов и удалять при удалении.
В Debian 6 и ранее всем этим занимался Defoma
(https://aty.sdsu.edu/bibliog/latex/debian/defoma.html,
https://wiki.debian.org/OldPkgRemovals), но метаинформацию ему
предоставляли сопровождающие пакетов со шрифтами (чего сейчас они
делать, естественно, не будут).
Сейчас я посмотрел на соотв. триггеры в Debian 9, но состояние там
малоутешительное: в /etc/X11/fonts/* можно создать свои
*.dir/*.scale/*.alias (через dh_installxfonts), но, во-первых, это
должен сделать сам сопровождающий пакета, и, во-вторых, это работает
только для шрифтов, устанавливаемых в /usr/share/fonts/X11/:
> # PROMISE: DH NOOP WITHOUT tmp(usr/share/fonts/X11)
>
> foreach my $package (@{$dh{DOPACKAGES}}) {
> my $tmp=tmpdir($package);
>
> # Find all font directories in the package build directory.
> my @fontdirs;
> foreach my $parentdir ("$tmp/usr/share/fonts/X11/") {
> opendir(DIR, $parentdir) || next;
> @fontdirs = grep { -d "$parentdir/$_" && !/^\./ } (readdir
> DIR);
> closedir DIR;
> }
>
> # ...
> }
Можно ли решить проблему через дебиановские триггеры? Может, я таки до
конца не разобрался?
Или какие альтернативы посоветуете?
Дебановских машин несколько (рабочая, домашняя, несколько мобильных),
поэтому подход "напиши на bash цикл и запускай его каждый раз после
обновления пакетов" не нравится.
Запускать виртуальную машину со старым Debian Squeeze и xfs и забирать
шрифты с tcp://squeeze-vm:7100 тоже не хочется.
Всем заранее спасибо.
С уважением,
Андрей.
signature.asc
Description: OpenPGP digital signature