[devel] XFS - кому он нужен? или продожение шрифтовой темы

Valery V. Inozemtsev =?iso-8859-1?q?shrek_=CE=C1_freesource=2Einfo?=
Пт Мар 24 13:35:58 MSK 2006


> > %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 <<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
>
> Выглядит как набор кривых хаков :(

мне оно тоже не нравится, поэтому я и предлагал не заморачиваться с 
доступностью шрифтов скразу после установки в прогах не поддерживающих 
fontconfig. однако оно работает

-- 
Valery V. Inozemtsev
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 191 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20060324/f7b1c8bc/attachment-0001.bin>


Подробная информация о списке рассылки Devel