0
|
1 #!/usr/bin/perl
|
|
2 #
|
|
3 # 309 19:56 xfd -fn '-Misc-Fixed-Medium-R-Normal-ja-13-120-75-75-C-120-ISO10646-1'
|
|
4
|
|
5 use NKF;
|
|
6
|
|
7 sub to_ucs
|
|
8 {
|
|
9 # my $jis_no = 0x3126;
|
|
10 my ($jis_no) = @_;
|
|
11
|
|
12 my $jis = chr($jis_no/256+0x80).chr($jis_no%256+0x80);
|
|
13 # print $jis,"\n";
|
|
14
|
|
15 my $ucs = nkf("-E","-w16",$jis);
|
|
16 # print length($ucs),"\n";
|
|
17
|
|
18 my $ucs_no = ord(substr($ucs,0,1))*256+ord(substr($ucs,1,1));
|
|
19
|
|
20 # print "HEX:",unpack("H*",$ucs),"\n";
|
|
21
|
|
22 return $ucs_no
|
|
23 }
|
|
24
|
|
25 sub to_jis
|
|
26 {
|
|
27 my ($ucs_no) = @_;
|
|
28
|
|
29 my $ucs = chr($ucs_no/256).chr($ucs_no%256);
|
|
30 # print $jis,"\n";
|
|
31
|
|
32 my $jis = nkf("-W16","-e",$ucs);
|
|
33 # print length($ucs),"\n";
|
|
34
|
|
35 my $jis_no = (ord(substr($jis,0,1))-0x80)*256+
|
|
36 ord(substr($jis,1,1))-0x80;
|
|
37
|
|
38 # print "HEX:",unpack("H*",$ucs),"\n";
|
|
39 return undef if ($jis_no==-32896);
|
|
40 return $jis_no
|
|
41 }
|
|
42
|
|
43 # printf "%x\n", &to_ucs(0x3126);
|
|
44 # printf "%x\n", &to_jis(0x53f3);
|
|
45
|
|
46 1;
|