*** empty log message ***
[h316.git] / pc-tools / fontgen / data / hmpconvert.sh
CommitLineData
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
10cat <<EOF
11/* Automatically generated Hershey font mappings */
12
13#include "fontgen.h"
14#include <stdio.h>
15
16EOF
17unmangle(){
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
33block(){
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
51for n in *.hmp; do
52 name=`basename $n .hmp`
53 cat $n | unmangle | block $name
54done
55
56cat <<EOF
57
58
59/* And now the ready to use fonts */
60EOF
61
62for n in *.hmp; do
63 name=`basename $n .hmp`
64 echo "pl_font font_$name;"
65done
66
67cat <<EOF
68
69
70/* Initialisation routine */
71
72void font_init(){
73EOF
74
75for n in *.hmp; do
76 name=`basename $n .hmp`
77 mapname=`basename $n .hmp`_map
78
79 echo " font_$name=assemble_font(' ',96,$mapname);"
80done
81
82echo -e "}\n/* End. */"