annotate 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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
a6ddaa18e3c1 k14 unicode font kit
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
1 #!/usr/bin/perl
a6ddaa18e3c1 k14 unicode font kit
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
2 use strict;
a6ddaa18e3c1 k14 unicode font kit
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
3
a6ddaa18e3c1 k14 unicode font kit
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
4 my ($name,$encoding,@bitmap);
a6ddaa18e3c1 k14 unicode font kit
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
5
a6ddaa18e3c1 k14 unicode font kit
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
6 while(<>) {
a6ddaa18e3c1 k14 unicode font kit
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
7 last if (/^ENDPROP/);
a6ddaa18e3c1 k14 unicode font kit
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
8 }
a6ddaa18e3c1 k14 unicode font kit
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
9
a6ddaa18e3c1 k14 unicode font kit
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
10 my $dum = <>; # skip CHARS
a6ddaa18e3c1 k14 unicode font kit
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
11
a6ddaa18e3c1 k14 unicode font kit
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
12 while(<>) {
a6ddaa18e3c1 k14 unicode font kit
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
13 if(/^STARTCHAR\s+(.*)/) { &init(); $name=$1; print;
a6ddaa18e3c1 k14 unicode font kit
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
14 } elsif (/^ENCODING\s+(\d+)/) { $encoding=$1; print;
a6ddaa18e3c1 k14 unicode font kit
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
15 } elsif (/^SWIDTH (\d+) (\d+)/) { print;
a6ddaa18e3c1 k14 unicode font kit
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
16 } elsif (/^DWIDTH (\d+) (\d+)/) { print;
a6ddaa18e3c1 k14 unicode font kit
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
17 } elsif (/^BBX ([-+\d]+) ([-+\d]+) ([-+\d]+) ([-+\d]+)/) { print;
a6ddaa18e3c1 k14 unicode font kit
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
18 } elsif (/^BITMAP/) { print;
6
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
19 } elsif (/^ENDCHAR/) { &display(); print "ENDCHAR\n";
0
a6ddaa18e3c1 k14 unicode font kit
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
20 } elsif (/^[0-9a-zA-Z]/) { chop; push(@bitmap,$_);
a6ddaa18e3c1 k14 unicode font kit
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
21 }
a6ddaa18e3c1 k14 unicode font kit
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
22 }
a6ddaa18e3c1 k14 unicode font kit
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
23
a6ddaa18e3c1 k14 unicode font kit
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
24 sub display {
a6ddaa18e3c1 k14 unicode font kit
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
25 for my $hex (@bitmap) {
a6ddaa18e3c1 k14 unicode font kit
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
26 my $h = pack("H*",$hex);
a6ddaa18e3c1 k14 unicode font kit
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
27 my $b = unpack("B*",$h);
a6ddaa18e3c1 k14 unicode font kit
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
28 $b =~ s/./$&$&/g;
a6ddaa18e3c1 k14 unicode font kit
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
29 $b =~ tr/01/ */;
a6ddaa18e3c1 k14 unicode font kit
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
30 print "$b\n";
a6ddaa18e3c1 k14 unicode font kit
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
31 }
a6ddaa18e3c1 k14 unicode font kit
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
32 print "\n";
a6ddaa18e3c1 k14 unicode font kit
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
33 }
a6ddaa18e3c1 k14 unicode font kit
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
34
a6ddaa18e3c1 k14 unicode font kit
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
35 sub init {
a6ddaa18e3c1 k14 unicode font kit
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
36 $name = '';
a6ddaa18e3c1 k14 unicode font kit
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
37 $encoding = 0;
a6ddaa18e3c1 k14 unicode font kit
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
38 @bitmap= ();
a6ddaa18e3c1 k14 unicode font kit
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
39 }