Mercurial > hg > Applications > 14x14ja
annotate findUnicode.pl @ 14:e925195b3aa8 default tip
...
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 26 Apr 2021 08:06:46 +0900 |
parents | a8642503caae |
children |
rev | line source |
---|---|
1 | 1 #!/usr/bin/perl |
2 | |
3 # find used unicode | |
4 use strict; | |
5 use utf8; | |
6 use open qw(:std :utf8); # input/output default encoding will be UTF-8, it looks like default | |
7 | |
8 my %used; | |
12
a8642503caae
import fix on http://vega.pgw.jp/~kabe/vsd/k14/
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
9
diff
changeset
|
9 # my @fonts = <[0-9]*.bdf> ; |
a8642503caae
import fix on http://vega.pgw.jp/~kabe/vsd/k14/
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
9
diff
changeset
|
10 my @fonts = @ARGV; |
6 | 11 |
12 use Getopt::Std; | |
13 our ($opt_f); | |
12
a8642503caae
import fix on http://vega.pgw.jp/~kabe/vsd/k14/
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
9
diff
changeset
|
14 our ($opt_d); |
6 | 15 |
12
a8642503caae
import fix on http://vega.pgw.jp/~kabe/vsd/k14/
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
9
diff
changeset
|
16 getopts('f:d'); |
a8642503caae
import fix on http://vega.pgw.jp/~kabe/vsd/k14/
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
9
diff
changeset
|
17 my $fd; |
6 | 18 if ($opt_f) { |
12
a8642503caae
import fix on http://vega.pgw.jp/~kabe/vsd/k14/
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
9
diff
changeset
|
19 open $fd,"<",$opt_f or die "can't open $opt_f"; |
a8642503caae
import fix on http://vega.pgw.jp/~kabe/vsd/k14/
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
9
diff
changeset
|
20 } else { |
a8642503caae
import fix on http://vega.pgw.jp/~kabe/vsd/k14/
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
9
diff
changeset
|
21 print "$0 -f file *.bdf\n"; |
a8642503caae
import fix on http://vega.pgw.jp/~kabe/vsd/k14/
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
9
diff
changeset
|
22 exit 0; |
6 | 23 } |
1 | 24 |
12
a8642503caae
import fix on http://vega.pgw.jp/~kabe/vsd/k14/
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
9
diff
changeset
|
25 while(<$fd>) { |
1 | 26 for my $ch ( /(.)/g ) { |
2 | 27 next if (ord($ch)<128); |
4 | 28 # next if (ord($ch)>=12288); # ignore CJKV |
1 | 29 $used{ord($ch)}++; |
30 } | |
31 } | |
32 | |
12
a8642503caae
import fix on http://vega.pgw.jp/~kabe/vsd/k14/
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
9
diff
changeset
|
33 my %has; |
6 | 34 for my $bdf ( @fonts ) { |
1 | 35 open(my $f,"<",$bdf); |
36 while(<$f>) { | |
37 if (/^ENCODING\s+(\d+)/) { | |
38 my $encoding=$1; | |
12
a8642503caae
import fix on http://vega.pgw.jp/~kabe/vsd/k14/
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
9
diff
changeset
|
39 $has{$encoding} = []; |
a8642503caae
import fix on http://vega.pgw.jp/~kabe/vsd/k14/
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
9
diff
changeset
|
40 push @{$has{$encoding}} , $bdf; |
1 | 41 } |
42 } | |
12
a8642503caae
import fix on http://vega.pgw.jp/~kabe/vsd/k14/
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
9
diff
changeset
|
43 } |
a8642503caae
import fix on http://vega.pgw.jp/~kabe/vsd/k14/
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
9
diff
changeset
|
44 |
a8642503caae
import fix on http://vega.pgw.jp/~kabe/vsd/k14/
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
9
diff
changeset
|
45 |
a8642503caae
import fix on http://vega.pgw.jp/~kabe/vsd/k14/
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
9
diff
changeset
|
46 my %no; |
a8642503caae
import fix on http://vega.pgw.jp/~kabe/vsd/k14/
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
9
diff
changeset
|
47 |
a8642503caae
import fix on http://vega.pgw.jp/~kabe/vsd/k14/
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
9
diff
changeset
|
48 for my $ch ( sort {$a<=>$b} (keys %used )) { |
a8642503caae
import fix on http://vega.pgw.jp/~kabe/vsd/k14/
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
9
diff
changeset
|
49 if (! defined $has{$ch}) { |
2 | 50 my $hex = sprintf("%x",$ch); |
12
a8642503caae
import fix on http://vega.pgw.jp/~kabe/vsd/k14/
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
9
diff
changeset
|
51 print chr($ch)," $ch 0x$hex is not found\n"; |
a8642503caae
import fix on http://vega.pgw.jp/~kabe/vsd/k14/
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
9
diff
changeset
|
52 } else { |
a8642503caae
import fix on http://vega.pgw.jp/~kabe/vsd/k14/
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
9
diff
changeset
|
53 for my $f ( @{$has{$ch}} ) { |
a8642503caae
import fix on http://vega.pgw.jp/~kabe/vsd/k14/
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
9
diff
changeset
|
54 if ($f eq "14x14ja-new.bdf" or $f eq "7x14-new.bdf" or $f eq "7x14B-new.bdf") { |
a8642503caae
import fix on http://vega.pgw.jp/~kabe/vsd/k14/
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
9
diff
changeset
|
55 # already defined |
a8642503caae
import fix on http://vega.pgw.jp/~kabe/vsd/k14/
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
9
diff
changeset
|
56 if ($opt_d) { |
a8642503caae
import fix on http://vega.pgw.jp/~kabe/vsd/k14/
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
9
diff
changeset
|
57 my $hex = sprintf("%x",$ch); |
a8642503caae
import fix on http://vega.pgw.jp/~kabe/vsd/k14/
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
9
diff
changeset
|
58 print chr($ch)," $ch 0x$hex is in $f\n"; |
a8642503caae
import fix on http://vega.pgw.jp/~kabe/vsd/k14/
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
9
diff
changeset
|
59 } |
a8642503caae
import fix on http://vega.pgw.jp/~kabe/vsd/k14/
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
9
diff
changeset
|
60 } else { |
a8642503caae
import fix on http://vega.pgw.jp/~kabe/vsd/k14/
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
9
diff
changeset
|
61 my $hex = sprintf("%x",$ch); |
a8642503caae
import fix on http://vega.pgw.jp/~kabe/vsd/k14/
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
9
diff
changeset
|
62 print chr($ch)," $ch 0x$hex is in $f\n"; |
a8642503caae
import fix on http://vega.pgw.jp/~kabe/vsd/k14/
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
9
diff
changeset
|
63 } |
a8642503caae
import fix on http://vega.pgw.jp/~kabe/vsd/k14/
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
9
diff
changeset
|
64 } |
a8642503caae
import fix on http://vega.pgw.jp/~kabe/vsd/k14/
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
9
diff
changeset
|
65 } |
1 | 66 } |
12
a8642503caae
import fix on http://vega.pgw.jp/~kabe/vsd/k14/
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
9
diff
changeset
|
67 |