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