> > %add_bitmapfont_path() %_bindir/mkfontdir %1; \ > > %_bindir/fc-cache %1; \ > > %prefix/lib/rpm/xfontpath.sh -a %1 \ > > ';' здесь писать не нужно - '\' после обработки макросов превратится в > конец строки, который потом и попадёт в shell. угу, исправлю > > Кроме того, не лучше ли будет засунуть все эти команды в скрипт, добавив к > нему опции, указывающие тип шрифта? да, надо подумать > > И стоит ли экономить '_' - не лучше ли назвать этот макрос > %add_bitmap_font_path ? думаю не стоит, исправлю > > %add_ttffont_path() %_sbindir/ttmkfdir -d %1 -o %1/fonts.dir 2>/dev/null; > > \ %_sbindir/ttmkfdir -d %1 -o %1/fonts.scale 2>/dev/null; \ > > %_bindir/fc-cache %1; \ > > %prefix/lib/rpm/xfontpath.sh -a %1 > > А что мешает здесь сначала сгенерировать fonts.scale с помощью ttmkfdir, а > потом, как и в других случаях, вызвать mkfontdir? тоже верно, исправлю > > #!/bin/sh > > > > PROG="${0##*/}" > > > > XFS= > > USEXFS=0 > > XSET= > > ADD=0 > > FONTPATH= > > CHKFONTPATH= > > > > Usage() > > { > > [ "$1" = 0 ] || exec >&2 > > cat < > Usage: $PROG option[s] directory > > > > Valid options are: > > -a, --add=DIRECTORY Add directory to font path > > -r, --remove=DIRECTORY Remove directory from font path > > Именно так - с параметром? Или всё-таки --add или --remove для задания > режима работы, а каталог отдельно? не думаю что это принципиально > > > -f, --first Make --add to put the directory first (not last) > > in the path > > EOF > > > > [ -n "$1" ] && exit "$1" || exit > > } > > > > [ -n "$*" ] || Usage > > > > TEMP=`getopt -n "$PROG" -o a:r:f -l add:,remove:,first -- "$@"` || Usage > > eval set -- "$TEMP" > > > > if [ -r /etc/sysconfig/xfs ]; then > > source /etc/sysconfig/xfs > > case "$XFS" in > > yes|Yes|YES|true|True|TRUE|on|On|ON|Y|y|1) > > USEXFS=1 > > ;; > > esac > > fi > > > > while :; do > > case "$1" in > > -a|--add) > > shift > > [ -n "$XSET" ] || XSET="fp+" > > ADD=1 > > [ -n "$CHKFONTPATH" ] || CHKFONTPATH="-q -a" > > FONTPATH="$1" > > shift > > ;; > > -r|--remove) > > shift > > XSET="-fp" > > ADD=0 > > CHKFONTPATH="-q -r" > > FONTPATH="$1" > > shift > > ;; > > -f|--first) > > XSET="+fp" > > ADD=1 > > CHKFONTPATH="-q -fa" > > shift > > ;; > > --) > > shift > > break > > ;; > > esac > > done > > > > eval /usr/sbin/chkfontpath "$CHKFONTPATH" "$FONTPATH" >/dev/null 2>&1 > > > > if [ "$USEXFS" = 0 ]; then > > XPID=`pidof X` > > if [ -n "$XPID" ]; then > > for n in $XPID; do > > SERVER=`awk -F: '{print(substr($2,1,1))}' /proc/$n/cmdline` > > [ -n "$SERVER" ] || continue > > AUTH=`awk -F-auth '{print($2)}' /proc/$n/cmdline` > > [ -r "$AUTH" ] || continue > > export XAUTHORITY="$AUTH" > > FP=`xset -display :"$SERVER" q | grep -q "$FONTPATH"; echo $?` > > if [ "$FP" = 1 -o "$ADD" = 0 ]; then > > xset -display :"$SERVER" "$XSET" "$FONTPATH" > /dev/null 2>&1 > > fi > > xdpyinfo -display :"$SERVER" | grep -q FontCache && > > xset -display :"$SERVER" fp rehash > > done > > fi > > fi > > Выглядит как набор кривых хаков :( мне оно тоже не нравится, поэтому я и предлагал не заморачиваться с доступностью шрифтов скразу после установки в прогах не поддерживающих fontconfig. однако оно работает -- Valery V. Inozemtsev