X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?a=blobdiff_plain;f=update-xfonts-traditional;h=5e291333a2c17e30ec30b24ac8839a98399cfaf5;hb=e6fbf840b937b069c31182eb6c5de4fb51ebbefa;hp=839cc1827cf678d595e3a43d1b8e7d6f6ad8c365;hpb=6dd0b06bb8ff014a315446417c91c7b5ce9e3132;p=xfonts-traditional.git diff --git a/update-xfonts-traditional b/update-xfonts-traditional index 839cc18..5e29133 100755 --- a/update-xfonts-traditional +++ b/update-xfonts-traditional @@ -21,6 +21,7 @@ our %foundrymap; our $verbose=0; our $reportfh; our $foundryinfo; +our %props; sub reportloaded { return unless $verbose; @@ -55,6 +56,7 @@ sub processbdf ($$$$) { my ($foundry,$font); my ($w,$h,$xo,$yo,$y,$bitmap,$glyph); my $modified=0; + %props = (); while (<$inbdf>) { if ($state eq 'bitmap' && $y==$h) { $glyph = uc $glyph; @@ -97,6 +99,10 @@ sub processbdf ($$$$) { $state='startchar'; $w=undef; } + if (($state eq 'idle' || $state eq 'startchar') && + m/^([A-Z_]+)\s+(.*\S)\s+$/) { + $props{$1}=$2; + } if ($state eq 'startchar') { if (m/^BBX\s+(\+?\d+)\s+(\+?\d+)\s+([-+]?\d+)\s+([-+]?\d+)\s+$/) { ($w,$h,$xo,$yo) = ($1,$2,$3,$4); @@ -156,13 +162,13 @@ sub loadfoundries () { sub processpcfgz ($$$$) { my ($inpcfgz,$outpcfgz,$logfile,$what) = @_; - + print $reportfh "processing $inpcfgz to $outpcfgz\n" if $verbose>=2; my $current = new IO::File $inpcfgz, '<' or die "$inpcfgz $!"; my ($usread,$uswrite); my ($reader,$writer); my @children; foreach my $proc (['gunzip'], ['pcf2bdf'], [], - ['bdftopcf'],['',qw(gzip -1)]) { + ['bdftopcf'],['',qw(gzip -1 -n)]) { my $isfinal = (@$proc && $proc->[0] eq ''); if (!$isfinal) { $reader = new IO::Handle or die $!; @@ -231,8 +237,7 @@ sub processfontdir ($) { my $olddone = do "$fontdir/$donefile"; if (!$olddone) { die "$fontdir $! $@ " unless $!==&ENOENT; - } - if ($olddone && $olddone->{''} ne $foundryinfo) { + } elsif ($olddone->{''} ne $foundryinfo) { our $repro_reported; print $reportfh "reprocessing fonts (rules updated)\n" or die $! unless $repro_reported++;