Товарищи, здравствуйте. Я по-прежнему использую 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 тоже не хочется. Всем заранее спасибо. С уважением, Андрей.
Attachment:
signature.asc
Description: OpenPGP digital signature