#!/usr/athena/bin/perl $sl = 4; $flag = 0; while (<>) { if ($flag) { if (/^ENDCHAR/) { $flag = 0; print; } else { $x = hex >> $m0; # if ($n > (2*$ht / 3)) { # $x <<= 2; # } elsif ($n > ($ht / 3)) { # $x <<= 1; # } $x <<= int($n/$sl); printf $fmt, $x << $m1; $n++; } } elsif (/^(BBX|FONTBOUNDINGBOX) (\d*) (\d*) (-?\d*) (-?\d*)/) { ($kwd,$wid,$ht,$xoff,$yoff) = ($1,$2,$3,$4,$5); $wid2 = $wid + int($ht/$sl); $m0 = (128-$wid)%8; $m1 = (128-$wid2)%8; #$mask = ((1<<$wid)-1)<<$m; $fmt = '%0' . int(($wid2+7)/8)*2 . "x\n"; #print STDERR $fmt; print "$kwd $wid2 $ht " . ($xoff - 1) . " $yoff\n"; } elsif (/^BITMAP/) { $flag = 1; $n = 0; print; } elsif (/^FONT ([^-]*-[^-]*-[^-]*-[^-]*-)[^-]*(.*)/) { print "FONT $1O$2\n"; } elsif (/^SLANT/) { print "SLANT \"O\"\n"; } else { print; } }