X-Git-Url: https://git.distorted.org.uk/~mdw/xfonts-traditional/blobdiff_plain/5ab700e88a1462059c491eaba1b573d52f980d8d..HEAD:/mkrules diff --git a/mkrules b/mkrules index 5b07879..a0d08de 100755 --- a/mkrules +++ b/mkrules @@ -24,6 +24,9 @@ chars () { done } +seenrules=/ +seenfoundries=/ + while read keyword rest; do case "$keyword" in '#'|'') continue ;; @@ -52,14 +55,34 @@ while read keyword rest; do print or die $!; exit; ' <$good` - printf "%s %s" "$oldfoundry" "$newfoundry" >>rules/foundries.new - exec 3>rules/$newfoundry,$key.rules - echo >&3 '# -*- perl -*-' - echo >&3 '# autogenerated by mkrules' - echo >&3 'sub {' + case "$seenfoundries" in + */"$oldfoundry,$newfoundry"/*) + ;; + */"$oldfoundry,"*) + echo >&2 "inconsistent foundry mapping" + exit 1 + ;; + *) + seenfoundries=$seenfoundries$oldfoundry,$newfoundry/ + printf >>rules/foundries.new \ + "%s %s\n" "$oldfoundry" "$newfoundry" + ;; + esac + case "$seenrules" in + */"$newfoundry,$key"/*) + exec 3>>rules/$newfoundry,$key.rules + ;; + *) + exec 3>rules/$newfoundry,$key.rules + echo >&3 '# -*- perl -*-' + echo >&3 '# autogenerated by mkrules' + echo >&3 'sub {' + seenrules=$seenrules$newfoundry,$key/ + ;; + esac + echo >&3 " # $pcf" ;; endrules) - echo >&3 '}' exec 3>rules/$rulefile.rules +done + mv rules/foundries.new rules/foundries