summaryrefslogtreecommitdiff
path: root/packages/qpf-fonts/files/update-qtfontdir
blob: 788c0b307d5fbe50f3ebc36b1049977e0348c977 (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
#!/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 [ -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 "\(qpf\|ttf\)"; then
                echo "fontdir needs updating..."                                  
        else                                                                      
                echo "fontdir already up to date - exiting"                       
                exit 0                                     
        fi 
    cat $fontdir/fontdir | grep -v '\.qpf' > $fontdir/fontdir.new
else
        echo "fontdir not existing. creating..."
fi

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

mv $fontdir/fontdir.new $fontdir/fontdir

exit 0

# vim:ai:et:sts=4:sw=4:tw=0: