view bdf2ascii.pl @ 14:e925195b3aa8 default tip

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Mon, 26 Apr 2021 08:06:46 +0900
parents 4ed010b4a017
children
line wrap: on
line source

#!/usr/bin/perl
use strict;

my ($name,$encoding,@bitmap);

while(<>) {
    last if (/^ENDPROP/);
}

my $dum = <>; # skip CHARS

while(<>) {
    if(/^STARTCHAR\s+(.*)/) { &init(); $name=$1; print;
    } elsif (/^ENCODING\s+(\d+)/) {    $encoding=$1; print;
    } elsif (/^SWIDTH (\d+) (\d+)/) { print;
    } elsif (/^DWIDTH (\d+) (\d+)/) { print;
    } elsif (/^BBX ([-+\d]+) ([-+\d]+) ([-+\d]+) ([-+\d]+)/) { print;
    } elsif (/^BITMAP/) { print;
    } elsif (/^ENDCHAR/) {  &display(); print "ENDCHAR\n";
    } elsif (/^[0-9a-zA-Z]/) {  chop; push(@bitmap,$_);
    }
}

sub display {
    for my $hex (@bitmap) {
        my $h =  pack("H*",$hex);
        my $b = unpack("B*",$h);
        $b =~ s/./$&$&/g;
        $b =~ tr/01/ */;
        print "$b\n";
    }
    print "\n";
}

sub init {
    $name = '';
    $encoding = 0;
    @bitmap= ();
}