Я по-прежнему использую core X11 fonts.
В свете того, что из Debian выпилили xfs, а пересобрать libxft2 с нужными ключами и опакетить оба компонента под Debian 9 я так и не собрался (готов дать денег тому, кто сделает это за меня либо сэкономит моё время, проведя через адъ утилит dh_*
и бюрократию WNPP), фрагмент моего 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"
FontPath "/usr/share/fonts/opentype/fonts-prociono"
FontPath "/usr/share/fonts/opentype/freefont"
FontPath "/usr/share/fonts/opentype/linux-libertine"
FontPath "/usr/share/fonts/opentype/radisnoir"
FontPath "/usr/share/fonts/opentype/scheherazade"
FontPath "/usr/share/fonts/opentype/stix"
FontPath "/usr/share/fonts/opentype/stix-word"
FontPath "/usr/share/fonts/opentype/yozvox-yozfont"
FontPath "/usr/share/fonts/sortsmill"
FontPath "/usr/share/fonts/truetype"
FontPath "/usr/share/fonts/truetype/adf"
FontPath "/usr/share/fonts/truetype/aenigma"
FontPath "/usr/share/fonts/truetype/alee"
FontPath "/usr/share/fonts/truetype/ancient-scripts"
FontPath "/usr/share/fonts/truetype/anonymous-pro"
FontPath "/usr/share/fonts/truetype/arundina"
FontPath "/usr/share/fonts/truetype/baekmuk"
FontPath "/usr/share/fonts/truetype/dejavu"
FontPath "/usr/share/fonts/truetype/denemo"
FontPath "/usr/share/fonts/truetype/droid"
FontPath "/usr/share/fonts/truetype/engadget"
FontPath "/usr/share/fonts/truetype/femkeklaver"
FontPath "/usr/share/fonts/truetype/fifthhorseman"
FontPath "/usr/share/fonts/truetype/fonts-arabeyes"
FontPath "/usr/share/fonts/truetype/fonts-atarismall"
FontPath "/usr/share/fonts/truetype/fonts-georgewilliams"
FontPath "/usr/share/fonts/truetype/fonts-prociono"
FontPath "/usr/share/fonts/truetype/fonts-tiresias"
FontPath "/usr/share/fonts/truetype/freefarsi"
FontPath "/usr/share/fonts/truetype/freefont"
FontPath "/usr/share/fonts/truetype/gentium"
FontPath "/usr/share/fonts/truetype/gentium-basic"
FontPath "/usr/share/fonts/truetype/hanazono"
FontPath "/usr/share/fonts/truetype/isabella"
FontPath "/usr/share/fonts/truetype/jsmath"
FontPath "/usr/share/fonts/truetype/junicode"
FontPath "/usr/share/fonts/truetype/kacst"
FontPath "/usr/share/fonts/truetype/kacst-one"
FontPath "/usr/share/fonts/truetype/lato"
FontPath "/usr/share/fonts/truetype/liberation"
FontPath "/usr/share/fonts/truetype/lyx"
FontPath "/usr/share/fonts/truetype/mikachan"
FontPath "/usr/share/fonts/truetype/mph-2b-damase"
FontPath "/usr/share/fonts/truetype/mplus"
FontPath "/usr/share/fonts/truetype/msttcorefonts"
FontPath "/usr/share/fonts/truetype/noto"
FontPath "/usr/share/fonts/truetype/openoffice"
FontPath "/usr/share/fonts/truetype/sjfonts"
FontPath "/usr/share/fonts/truetype/tlwg"
FontPath "/usr/share/fonts/truetype/tomsontalks"
FontPath "/usr/share/fonts/truetype/ttf-bitstream-vera"
FontPath "/usr/share/fonts/truetype/ttf-dejavu"
FontPath "/usr/share/fonts/truetype/ttf-essays"
FontPath "/usr/share/fonts/truetype/ttf-liberation"
FontPath "/usr/share/fonts/truetype/ttf-marvosym"
FontPath "/usr/share/fonts/truetype/ttf-staypuft"
FontPath "/usr/share/fonts/truetype/ttf-summersby"
FontPath "/usr/share/fonts/truetype/ttf-tagbanwa"
FontPath "/usr/share/fonts/truetype/ttf-xfree86-nonfree"
FontPath "/usr/share/fonts/truetype/ttf-xfree86-nonfree-syriac"
FontPath "/usr/share/fonts/truetype/unifont"
FontPath "/usr/share/fonts/truetype/wqy"
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 и ранее) всем этим занимался _Defom_a (1, 2), но метаинформацию ему предоставляли сопровождающие пакетов со шрифтами (чего сейчас они делать, вестимо, не будут).
Сейчас я посмотрел на соотв. триггеры в 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
тоже не хочется.