From: Ian Jackson Date: Mon, 9 Jan 2012 22:21:48 +0000 (+0000) Subject: do not mess with high-codepoint quotes X-Git-Tag: debian/1.2~25 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?p=xfonts-traditional.git;a=commitdiff_plain;h=5ab700e88a1462059c491eaba1b573d52f980d8d do not mess with high-codepoint quotes --- diff --git a/mkrules b/mkrules index ea3afeb..5b07879 100755 --- a/mkrules +++ b/mkrules @@ -70,6 +70,9 @@ while read keyword rest; do partial=1 chars ;; + verbatim) + echo >&3 " $rest" + ;; *) echo >&2 "??? $keyword" exit 1 diff --git a/specs b/specs index f84ae6d..a705c19 100644 --- a/specs +++ b/specs @@ -2,8 +2,15 @@ # font data from the bdfs to the rules files, so you may need to # update the copyright. -pcf 6x13 -rules Trad -partial a -entire [ ] ( ) { } ` ' d42 & W +pcf 6x13 +rules Trad +partial a +entire [ ] ( ) { } d42 & W + +verbatim if ($props{'CHARSET_REGISTRY'} =~ m/iso8859|utf/i && +verbatim $props{'ENCODING'} <= 127) { +entire ` ' +verbatim } + + endrules diff --git a/update-xfonts-traditional b/update-xfonts-traditional index e2fb14f..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 $!;