b17cb324 |
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. */" |