5e253818 |
1 | #!/bin/bash |
2 | |
3 | IFS=" |
4 | " |
5 | cat <<EOF |
6 | #include <stdio.h> |
7 | #include "fontgen.h" |
8 | |
9 | EOF |
10 | |
11 | glyphs= |
12 | no_glyphs=0 |
13 | number=31 |
14 | cont=1 |
15 | |
16 | if [ ! "$1" ]; then |
17 | name="hershey" |
18 | else |
19 | name=$1 |
20 | fi |
21 | |
22 | while [ $cont == 1 ] ; do |
23 | if ! line=`line`; then cont=0; fi |
24 | # number=$((`echo $line | cut -b 1-5`)) |
25 | number=$(($number+1)) |
26 | echo proc: $number 1>&2 |
27 | size=$((`echo $line | cut -b 6-8`)) |
28 | # echo "-$number-$size-" |
29 | plabel=`echo -n "points_"; echo -n "$name"; echo -n "_"; echo -n "$number"` |
30 | echo "static pl_point $plabel[]={" |
31 | i=0 |
32 | while [ $i -lt $size ]; do |
33 | c1=`echo $line | cut -b $((9+$i*2))| sed 's/\\\\/\\\\\\\\/g'` |
34 | c2=`echo $line | cut -b $((10+$i*2))| sed 's/\\\\/\\\\\\\\/g'` |
35 | |
36 | echo -n " {.p_data=(((int)'$c1')<<8)+('$c2')}" |
37 | if [ $i -lt $(($size-1)) ]; then |
38 | echo "," |
39 | fi |
40 | i=$(($i+1)) |
41 | done |
42 | echo -e "\n };" |
43 | |
44 | glyphs+=`echo -e "\n{.gl_size=$size,.gl_points=$plabel,.gl_number=$number}"` |
45 | no_glyphs=$(($no_glyphs+1)) |
46 | done |
47 | |
48 | echo -e "\n\npl_glyph ${name}_glyphs[]={" |
49 | g=0 |
50 | for n in $glyphs; do |
51 | g=$(($g+1)) |
52 | echo -n " $n" |
53 | if [ $g -eq $(($no_glyphs)) ]; then |
54 | echo |
55 | else |
56 | echo "," |
57 | fi |
58 | done |
59 | echo " };" |
60 | echo -e "\n\n" |
61 | |
62 | echo "pl_font font_$name={" |
63 | echo " .f_label=\"PL\$FNT\"," |
64 | echo " .f_size=$no_glyphs," |
65 | echo " .f_glyphs=${name}_glyphs" |
66 | echo " };" |
67 | |
68 | |
69 | echo -e "\n/* End. */" |