summaryrefslogtreecommitdiff
path: root/packages/qpf-fonts/files/update-qtfontdir
blob: 857dc6c0d54ee21c0fe298190fb38192173e1819 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
#!/bin/sh

usage()
{
	echo "usage: $0 [font directory, defaults to \$QTDIR/lib/fonts]"
	exit 1
}

setVar()
{
	eval "$1='$2'"
}

getVar()
{
	eval "echo \$$1"
}

handleQPF()
{
	base=`basename $1`
	family=`echo $base|cut -d_ -f1`
	pt=`echo $base|cut -d_ -f2`
	weight=`echo $base|cut -d_ -f3|sed -e 's,i$,,'`
	if (echo $base|cut -d_ -f3|grep -q 'i$'); then
		italic="y"
	else
		italic="n"
	fi
	echo "$family $base.qpf QPF $italic $weight $pt u"
}

if [ "$1" = "-f" ]; then
	FORCE=1
	shift
else
	FORCE=0
fi

if [ -z "$1" ]; then
	if [ -n "$QTDIR" ]; then
		fontdir=$QTDIR/lib/fonts
	else
		fontdir=/opt/QtPalmtop/lib/fonts
	fi
else
	fontdir=$1
fi
	
if ! [ -d $fontdir ]; then
	echo Error: $fontdir not a directory
	exit 1
fi

if [ -e $fontdir/fontdir ]; then
	if find $fontdir -newer $fontdir/fontdir | grep -q "\(qpf\|ttf\)"; then
		#echo "fontdir needs updating..."
		:
	elif [ "$FORCE" = "0" ]; then
		#echo "fontdir already up to date - exiting"
		exit 0
	fi
	cat $fontdir/fontdir | grep -v '\.qpf' > $fontdir/fontdir.new
fi

(
	for file in `ls $fontdir/*.qpf 2>/dev/null |sed -e's,\.qpf$,,; s,_t[^_]*$,,;'|sort -u`; do
		handleQPF $file
	done
) >> $fontdir/fontdir.new

mv $fontdir/fontdir.new $fontdir/fontdir

exit 0