5 rm -f rules
/*.rules rules
/foundries.new
11 ord
=`perl -e 'print ord($ARGV[0]),"\n" or die $!' "$c"`
15 c
=`perl -e 'printf "%c", $ARGV[0]' "$ord"`
22 .
/printrule
>&3 "$bad" "$good" $height \
23 "^ENCODING $ord$" $partial "$c"
30 while read keyword rest
; do
37 zcat
$f/$pcf.pcf.gz | pcf2bdf
>$out
44 next unless s/^BBX\s+//;
47 s/[-+]?\b\d+\b/ sprintf "%d", $& /ge;
48 m/^\d+\,(\d+)\b/ or die;
49 print "key=$_; height=$1\n" or die $!;
52 oldfoundry
=`perl -ne '
53 next unless s/^FOUNDRY\s+\"?//;
58 case "$seenfoundries" in
59 */"$oldfoundry,$newfoundry"/*)
62 echo >&2 "inconsistent foundry mapping"
66 seenfoundries
=$seenfoundries$oldfoundry,$newfoundry/
67 printf >>rules
/foundries.new \
68 "%s %s\n" "$oldfoundry" "$newfoundry"
72 */"$newfoundry,$key"/*)
73 exec 3>>rules
/$newfoundry,$key.rules
76 exec 3>rules
/$newfoundry,$key.rules
77 echo >&3 '# -*- perl -*-'
78 echo >&3 '# autogenerated by mkrules'
80 seenrules
=$seenrules$newfoundry,$key/
100 echo >&2 "??? $keyword"
107 case "$seenrules" in /) break ;; esac
108 seenrules
=${seenrules#/}
109 rulefile
=${seenrules%%/*}
110 seenrules
=/${seenrules#*/}
111 echo "}" >>rules
/$rulefile.rules
114 mv rules
/foundries.new rules
/foundries