lilypond-1.5.7
[lilypond.git] / buildscripts / tfmtoafm.sh
blob3b4f224822d31fd7aed4189da903a3ac8f32b099
1 #!@SHELL@
2 # tfmtoafm.sh --urg
4 tfm=$1
5 font=`basename $1 .tfm`
7 if [ $# -ne 1 -o "$tfm" = "$font" ]; then
8 echo "Usage: tfmtoafm TFM-FILE"
9 echo
10 echo "example: tfmtoafm cmr10.tfm"
11 exit 2
14 size=`echo $font | sed "s/[^0-9]*//"`
15 afm=$font.afm
16 fontfile=`kpsewhich $font.tfm`
17 t1=/tmp/tfmtoafm1-$$
18 t2=/tmp/tfmtoafm2-$$
19 rm -f $t1 $t2 $font $afm
21 for i in `seq 1 127`; do printf "%d Character-%d\n" $i $i >> $t1; done
22 tfmtodit $fontfile $t1 $font
23 rm $t1
24 scaling=`awk -v OFMT='%.5f' '/designsize/ {print $2/'$size/1000} $font`
25 tail -127 $font | cut -f 1-2 > $t1
26 cat $t1 | cut -d, -f 1-2 > $t2
27 rm $t1
28 #nl -ba $t2 | awk -F '[ \t,]+' '{print "C "$2";\t"$3";\tB 0.00 0.00 "$4/'"$scaling"'" "$5/'"$scaling"'";"}' > $t1
29 nl -ba $t2 | awk -F '[ \t,]+' '{print "C "$2" ; WX 0 ; N "$3" ; B 0.00 0.00 "$4/'"$scaling"'" "$5/'"$scaling"'" ;"}' > $t1
31 count=`cat $t1 | wc -l`
32 count=$((count + 1))
33 cat > $afm <<EOF
34 FontName cmr
35 StartFontMetrics
36 StartCharMetrics $count
37 EOF
38 # urg 0 is difficult but we need it
39 head -1 $t1 | sed -e "s/C 1 ;/C 0 ;/" -e "s/-1 ;/-0 ;/" >> $afm
40 cat $t1 >> $afm
41 cat >> $afm <<EOF
42 EndCharMetrics
43 EndFontMetrics
44 EOF
45 rm $t1 $t2 $font