aboutsummaryrefslogtreecommitdiffstats
path: root/recipes-qtopia/qpf-fonts/files/update-qtfontdir
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-qtopia/qpf-fonts/files/update-qtfontdir')
-rwxr-xr-xrecipes-qtopia/qpf-fonts/files/update-qtfontdir74
1 files changed, 74 insertions, 0 deletions
diff --git a/recipes-qtopia/qpf-fonts/files/update-qtfontdir b/recipes-qtopia/qpf-fonts/files/update-qtfontdir
new file mode 100755
index 0000000..34f2ffd
--- /dev/null
+++ b/recipes-qtopia/qpf-fonts/files/update-qtfontdir
@@ -0,0 +1,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=@palmtopdir@/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