line |
stmt |
bran |
cond |
sub |
pod |
time |
code |
1
|
|
|
|
|
|
|
## ---------------------------------------------------------------------------- |
2
|
|
|
|
|
|
|
# Encode::Unicode::Japanese |
3
|
|
|
|
|
|
|
# ----------------------------------------------------------------------------- |
4
|
|
|
|
|
|
|
# Mastering programmed by YAMASHINA Hio |
5
|
|
|
|
|
|
|
# |
6
|
|
|
|
|
|
|
# Copyright 2006 YAMASHINA Hio |
7
|
|
|
|
|
|
|
# ----------------------------------------------------------------------------- |
8
|
|
|
|
|
|
|
# $Id: Japanese.pm 4 2006-06-15 15:49:18Z hio $ |
9
|
|
|
|
|
|
|
# ----------------------------------------------------------------------------- |
10
|
|
|
|
|
|
|
package Encode::Unicode::Japanese; |
11
|
3
|
|
|
3
|
|
88164
|
use warnings; |
|
3
|
|
|
|
|
7
|
|
|
3
|
|
|
|
|
89
|
|
12
|
3
|
|
|
3
|
|
18
|
use strict; |
|
3
|
|
|
|
|
6
|
|
|
3
|
|
|
|
|
213
|
|
13
|
|
|
|
|
|
|
our $VERSION = '0.02'; |
14
|
|
|
|
|
|
|
|
15
|
3
|
|
|
3
|
|
14
|
use base qw(Encode::Encoding); |
|
3
|
|
|
|
|
17
|
|
|
3
|
|
|
|
|
3370
|
|
16
|
3
|
|
|
3
|
|
51039
|
use Unicode::Japanese; |
|
3
|
|
|
|
|
15236
|
|
|
3
|
|
|
|
|
18
|
|
17
|
|
|
|
|
|
|
|
18
|
|
|
|
|
|
|
&_register_encodings; |
19
|
|
|
|
|
|
|
|
20
|
|
|
|
|
|
|
1; |
21
|
|
|
|
|
|
|
|
22
|
|
|
|
|
|
|
# ----------------------------------------------------------------------------- |
23
|
|
|
|
|
|
|
# Methods. |
24
|
|
|
|
|
|
|
# ----------------------------------------------------------------------------- |
25
|
|
|
|
|
|
|
|
26
|
|
|
|
|
|
|
sub new($ $) |
27
|
|
|
|
|
|
|
{ |
28
|
36
|
|
|
36
|
1
|
49
|
my $pkg = shift; |
29
|
36
|
|
|
|
|
161
|
my $code = shift; |
30
|
36
|
|
|
|
|
255
|
bless \$code, $pkg; |
31
|
|
|
|
|
|
|
} |
32
|
|
|
|
|
|
|
|
33
|
|
|
|
|
|
|
sub encode($$;$) |
34
|
|
|
|
|
|
|
{ |
35
|
9
|
|
|
9
|
1
|
8019
|
my ($obj, $str, $chk) = @_; |
36
|
9
|
|
|
|
|
31
|
my $code = $$obj; |
37
|
9
|
|
|
|
|
323
|
$str = Unicode::Japanese->new($str)->conv($code); |
38
|
9
|
50
|
|
|
|
32020
|
$_[1] = '' if $chk; # this is what in-place edit means |
39
|
9
|
|
|
|
|
35
|
return $str; |
40
|
|
|
|
|
|
|
} |
41
|
|
|
|
|
|
|
|
42
|
|
|
|
|
|
|
sub decode($$;$) |
43
|
|
|
|
|
|
|
{ |
44
|
6
|
|
|
6
|
1
|
4648
|
my ($obj, $buf, $chk) = @_; |
45
|
6
|
|
|
|
|
12
|
my $code = $$obj; |
46
|
6
|
|
|
|
|
28
|
$buf = Unicode::Japanese->new($buf, $code)->getu; |
47
|
6
|
50
|
|
|
|
2048
|
$_[1] = '' if $chk; # this is what in-place edit means |
48
|
6
|
|
|
|
|
294
|
return $buf; |
49
|
|
|
|
|
|
|
} |
50
|
|
|
|
|
|
|
|
51
|
|
|
|
|
|
|
sub _register_encodings |
52
|
|
|
|
|
|
|
{ |
53
|
|
|
|
|
|
|
# triple Japanese encodings. |
54
|
|
|
|
|
|
|
# |
55
|
3
|
|
|
3
|
|
19
|
__PACKAGE__->new("sjis")->Define('unijp-sjis'); |
56
|
3
|
|
|
|
|
65
|
__PACKAGE__->new("euc" )->Define('unijp-euc'); |
57
|
3
|
|
|
|
|
52
|
__PACKAGE__->new("jis" )->Define('unijp-jis'); |
58
|
|
|
|
|
|
|
|
59
|
|
|
|
|
|
|
# emoji, and variation. |
60
|
|
|
|
|
|
|
# ex. imode, imode1, imode2 |
61
|
3
|
|
|
|
|
38
|
__PACKAGE__->new("sjis-imode" )->Define("unijp-sjis-imode"); |
62
|
3
|
|
|
|
|
40
|
__PACKAGE__->new("sjis-imode1")->Define("unijp-sjis-imode1"); |
63
|
3
|
|
|
|
|
38
|
__PACKAGE__->new("sjis-imode2")->Define("unijp-sjis-imode2"); |
64
|
3
|
|
|
|
|
41
|
__PACKAGE__->new("sjis-jsky" )->Define("unijp-sjis-jsky"); |
65
|
3
|
|
|
|
|
37
|
__PACKAGE__->new("sjis-jsky1")->Define("unijp-sjis-jsky1"); |
66
|
3
|
|
|
|
|
38
|
__PACKAGE__->new("sjis-jsky2")->Define("unijp-sjis-jsky2"); |
67
|
|
|
|
|
|
|
|
68
|
|
|
|
|
|
|
# unicode variation. |
69
|
3
|
|
|
|
|
46
|
__PACKAGE__->new('utf8' )->Define("unijp-utf8"); |
70
|
3
|
|
|
|
|
56
|
__PACKAGE__->new('ucs2' )->Define("unijp-ucs2"); |
71
|
3
|
|
|
|
|
38
|
__PACKAGE__->new('utf16')->Define("unijp-utf16"); |
72
|
|
|
|
|
|
|
} |
73
|
|
|
|
|
|
|
|
74
|
|
|
|
|
|
|
__END__ |