13 foreach my $path (@rulespath) {
14 my $script="$path/$key.rules";
15 $!=0; $@=''; my $f = do $script;
20 die "$! $? $script" unless $! == &ENOENT;
22 return $cache{$key}=undef;
26 my ($inbdf,$outbdf) = @_;
28 my ($donefoundry,$donefont);
29 my ($w,$h,$xo,$yo,$y,$bitmap,$glyph);
31 if ($state eq 'bitmap' && $y==$h) {
32 local ($_) = uc $glyph;
33 my $key= sprintf "%d,%d,%d,%d", $w,$h,$xo,$yo;
34 my $rules= loadrules($key);
38 print $outbdf $_,"\n" or die $!
39 foreach split /\;/, $_; # /;
42 if ($state eq 'bitmap') {
43 m/^([0-9a-fA-F]+)\s+$/ or die $y;
44 length($1) == (($w+7 >> 3) << 1) or die "$1 $w";
49 if ($state eq 'idle' && m/^FOUNDRY\s+/) {
50 return 0 unless m/^FOUNDRY\s+\"[Mm]isc\"\s+/;
54 if ($state eq 'idle' && m/^FONT\s+/) {
55 return 0 unless s/^(FONT\s+)\-[Mm]isc\-/$1-Trad-/;
58 if ($state eq 'idle' && m/^STARTCHAR\s/) {
59 die unless $donefoundry;
64 if ($state eq 'startchar') {
65 if (m/^BBX\s+(\+?\d+)\s+(\+?\d+)\s+([-+]?\d+)\s+([-+]?\d+)\s+$/) {
66 ($w,$h,$xo,$yo) = ($1,$2,$3,$4);
69 die unless defined $w;
75 print $outbdf $_ or die $!;
77 die $! if $inbdf->error;
78 die $! if $outbdf->error or !$outbdf->flush;
79 die unless $state eq 'idle';
82 processbdf((new IO::File '<&STDIN'),
83 (new IO::File '>&STDOUT'));
86 # 70 zcat /usr/share/fonts/X11/misc/6x13.pcf.gz |pcf2bdf >in.bdf
87 # 71 ./utility <in.bdf >out.bdf
88 # 83 bdftopcf out.bdf >out.pcf
90 # 85 cp out.pcf.gz /usr/share/fonts/X11/misc/
91 # really mkfontdir /usr/share/fonts/X11/misc/