Fixed dependencies in Makefile
[h316.git] / pc-tools / fontgen / data / hmpconvert.sh
1 #!/bin/bash
2
3 #if [ ! -f "$1" ]; then
4 # echo "Must supply an infile name!"
5 # exit 2
6 #fi
7
8 #infile="$1"
9
10 FILES=hmp/*.hmp
11
12 cat <<EOF
13 /* Automatically generated Hershey font mappings */
14
15 #include "fontgen.h"
16 #include <stdio.h>
17
18 EOF
19 unmangle(){
20 for n in `cat`; do
21 if echo $n | grep -q '-' ; then
22 from=`echo $n | sed 's/\([0-9]*\)-\([0-9]*\)/\1/g'`
23 to=`echo $n | sed 's/\([0-9]*\)-\([0-9]*\)/\2/g'`
24 i=$from
25 while [ $i -le $to ]; do
26 echo $i
27 i=$(($i+1))
28 done
29
30 else echo $n
31 fi
32 done
33 }
34
35 block(){
36 echo -e "\n/* Font map for $1 */"
37 numbers=`cat`
38 i=0
39 echo -ne "int $1_map[]=\n {"
40 for n in $numbers; do
41 echo -n "$n"
42 if [ $i != 95 ]; then
43 echo -n ","
44 if [ $(($i%8)) -eq 7 ]; then
45 echo -ne "\n "
46 fi
47 fi
48 i=$(($i+1))
49 done
50 echo "};"
51 }
52
53 for n in $FILES; do
54 name=`basename $n .hmp`
55 cat $n | unmangle | block $name
56 done
57
58 cat <<EOF
59
60
61 /* And now the ready to use fonts */
62 EOF
63
64 for n in $FILES; do
65 name=`basename $n .hmp`
66 echo "pl_font font_$name;"
67 done
68
69 cat <<EOF
70
71
72 /* Initialisation routine */
73
74 void font_init(){
75 EOF
76
77 for n in $FILES; do
78 name=`basename $n .hmp`
79 mapname=`basename $n .hmp`_map
80
81 echo " font_$name=assemble_font(' ',96,$mapname);"
82 done
83
84 echo -e "}\n/* End. */"