boot-maker: Fix warnings (missing header file)
[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
8dc281af 10FILES=hmp/*.hmp
11
b17cb324 12cat <<EOF
13/* Automatically generated Hershey font mappings */
14
15#include "fontgen.h"
16#include <stdio.h>
17
18EOF
19unmangle(){
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
35block(){
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
8dc281af 53for n in $FILES; do
b17cb324 54 name=`basename $n .hmp`
55 cat $n | unmangle | block $name
56done
57
58cat <<EOF
59
60
61/* And now the ready to use fonts */
62EOF
63
8dc281af 64for n in $FILES; do
b17cb324 65 name=`basename $n .hmp`
66 echo "pl_font font_$name;"
67done
68
69cat <<EOF
70
71
72/* Initialisation routine */
73
74void font_init(){
75EOF
76
8dc281af 77for n in $FILES; do
b17cb324 78 name=`basename $n .hmp`
79 mapname=`basename $n .hmp`_map
80
81 echo " font_$name=assemble_font(' ',96,$mapname);"
82done
83
84echo -e "}\n/* End. */"