[devel] XFS - кому он нужен? или продожение шрифтовой темы
Sergey Vlasov
=?iso-8859-1?q?vsu_=CE=C1_altlinux=2Eru?=
Пт Мар 24 12:58:29 MSK 2006
On Fri, Mar 24, 2006 at 11:20:12AM +0300, Valery V. Inozemtsev wrote:
> В сообщении от 22 марта 2006 22:35 Dmitry V. Levin написал(a):
> > On Wed, Mar 22, 2006 at 09:38:13PM +0300, Valery V. Inozemtsev wrote:
> > > > > > *term вроде пока актуальны, а у нас не все столько за собой
> > > > > > таскают, как xterm. aterm полегче будет. Надо, в общем.
> > > > >
> > > > > во-первых, мне не хотелось бы в %post делать такой скрипт,
> > > >
> > > > Ну так он вообще напоминает макрос (или helper для него).
> > >
> > > скрипт в атаче. кто нибудь, объясните в двух словах как из него сделать
> > > макрос,
> >
> > Записать скрипт в файл и в макросе вызывать его.
>
> в атаче файлы с макросами и с хелпером к нему, исправления/добвления
> приветствуются
>
> --
> Valery V. Inozemtsev
> %_fontsdir %_datadir/fonts
>
> %_bitmapfontsdir %_fontsdir/bitmap
> %_type1fontsdir %_fontsdir/type1
> %_ttffontsdir %_fontsdir/ttf
> %_otffontsdir %_fontsdir/otf
> %_speedofontsdir %_fontsdir/speedo
>
> %add_bitmapfont_path() %_bindir/mkfontdir %1; \
> %_bindir/fc-cache %1; \
> %prefix/lib/rpm/xfontpath.sh -a %1 \
';' здесь писать не нужно - '\' после обработки макросов превратится в
конец строки, который потом и попадёт в shell.
Кроме того, не лучше ли будет засунуть все эти команды в скрипт, добавив к
нему опции, указывающие тип шрифта?
И стоит ли экономить '_' - не лучше ли назвать этот макрос
%add_bitmap_font_path ?
> %add_type1font_path() %_bindir/mkfontscale %1; \
> %_bindir/mkfontdir %1; \
> %_bindir/fc-cache %1; \
> %prefix/lib/rpm/xfontpath.sh -a %1
>
> %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?
> %add_otffont_path() %add_ttffont_path
>
> %add_bitmapfont_path_first() %_bindir/mkfontdir %1; \
> %_bindir/fc-cache %1; \
> %prefix/lib/rpm/xfontpath.sh -fa %1
>
> %remove_font_path() %prefix/lib/rpm/xfontpath.sh -r %1
> #!/bin/sh
>
> PROG="${0##*/}"
>
> XFS=
> USEXFS=0
> XSET=
> ADD=0
> FONTPATH=
> CHKFONTPATH=
>
> Usage()
> {
> [ "$1" = 0 ] || exec >&2
> cat <<EOF
> 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
Выглядит как набор кривых хаков :(
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип : application/pgp-signature
Размер : 189 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url : <http://lists.altlinux.org/pipermail/devel/attachments/20060324/ad0c861d/attachment-0001.bin>
Подробная информация о списке рассылки Devel