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
39 zcat $in | pcf2bdf | ./bdfnorm >$out
40 elif [ -e "$out.direct" ]; then
41 ./bdfnorm <"$out.direct" >"$out"
42 elif [ -e "$f/$pcf.sfd" ]; then
43 ./ffconvert.pe "$f/$pcf"
44 # fontforge writes a silly filename
45 ./bdfnorm <"$f/$pcf".BDF*.bdf >$out
47 echo >&2 "cannot make $out!"
56 next unless s/^BBX\s+//;
59 s/[-+]?\b\d+\b/ sprintf "%d", $& /ge;
60 m/^\d+\,(\d+)\b/ or die;
61 print "key=$_; height=$1\n" or die $!;
64 oldfoundry=`perl -ne '
65 next unless s/^FOUNDRY\s+\"?//;
70 case "$seenfoundries" in
71 */"$oldfoundry,$newfoundry"/*)
74 echo >&2 "inconsistent foundry mapping"
78 seenfoundries=$seenfoundries$oldfoundry,$newfoundry/
79 printf >>rules/foundries.new \
80 "%s %s\n" "$oldfoundry" "$newfoundry"
84 */"$newfoundry,$key"/*)
85 exec 3>>rules/$newfoundry,$key.rules
88 exec 3>rules/$newfoundry,$key.rules
89 echo >&3 '# -*- perl -*-'
90 echo >&3 '# autogenerated by mkrules'
92 seenrules=$seenrules$newfoundry,$key/
112 echo >&2 "??? $keyword"
119 case "$seenrules" in /) break ;; esac
120 seenrules=${seenrules#/}
121 rulefile=${seenrules%%/*}
122 seenrules=/${seenrules#*/}
123 echo "}" >>rules/$rulefile.rules
126 mv rules/foundries.new rules/foundries