/[suikacvs]/test/oldencodeutils/lib/Encode/ISO2022/SevenBit.pm
Suika

Diff of /test/oldencodeutils/lib/Encode/ISO2022/SevenBit.pm

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.2 by wakaba, Sun Sep 15 05:08:13 2002 UTC revision 1.6 by wakaba, Sun Sep 22 11:08:23 2002 UTC
# Line 15  package Encode::ISO2022::SevenBit; Line 15  package Encode::ISO2022::SevenBit;
15  use vars qw($VERSION);  use vars qw($VERSION);
16  $VERSION=do{my @r=(q$Revision$=~/\d+/g);sprintf "%d."."%02d" x $#r,@r};  $VERSION=do{my @r=(q$Revision$=~/\d+/g);sprintf "%d."."%02d" x $#r,@r};
17  use base qw(Encode::Encoding);  use base qw(Encode::Encoding);
18  __PACKAGE__->Define (qw/iso-2022-7bit jis junet jis7/);  __PACKAGE__->Define (qw/iso-2022-7bit iso-2022-7 jis junet jis7/);
19  require Encode::ISO2022;  require Encode::ISO2022;
20    
21  sub encode ($$;$) {  sub encode ($$;$) {
# Line 34  sub decode ($$;$) { Line 34  sub decode ($$;$) {
34  =item iso-2022-7bit  =item iso-2022-7bit
35    
36  ISO/IEC 2022 based 7-bit encoding using only G0  ISO/IEC 2022 based 7-bit encoding using only G0
37  (Alias: junet, jis, jis7)  (Alias: junet, jis, jis7, iso-2022-7)
38    
39  =cut  =cut
40    
# Line 47  sub __2022__common ($) { Line 47  sub __2022__common ($) {
47  }  }
48  sub __2022_encode ($) {  sub __2022_encode ($) {
49    my $C = shift->__2022__common;    my $C = shift->__2022__common;
50      $C->{GR} = undef;
51    $C->{G1} = $Encode::ISO2022::CHARSET{G96}->{"\x7E"};  ## empty set    $C->{G1} = $Encode::ISO2022::CHARSET{G96}->{"\x7E"};  ## empty set
52    $C;    $C;
53  }  }
# Line 60  package Encode::ISO2022::SevenBit::JP; Line 61  package Encode::ISO2022::SevenBit::JP;
61  use vars qw/@ISA/;  use vars qw/@ISA/;
62  push @ISA, 'Encode::ISO2022::SevenBit';  push @ISA, 'Encode::ISO2022::SevenBit';
63  __PACKAGE__->Define (qw/iso-2022-jp junet-code japanese-iso-7bit csiso2022jp  __PACKAGE__->Define (qw/iso-2022-jp junet-code japanese-iso-7bit csiso2022jp
64   cp50220 iso2022jp/);   iso2022jp/);
65    
66  =item iso-2022-jp  =item iso-2022-jp
67    
68  ISO/IEC 2022 based 7-bit encoding for Japanese.  ISO/IEC 2022 based 7-bit encoding for Japanese.
69  Defined by Junet no tebiki, RFC 1468 and JIS X 0208:1997 Appendix 2.  Defined by Junet no tebiki, RFC 1468 and JIS X 0208:1997 Appendix 2.
70  (Alias: junet-code, japanese-iso-7bit (emacsen), csISO2022JP (IANA),  (Alias: junet-code, japanese-iso-7bit (emacsen), csISO2022JP (IANA))
 CP50220 (M$))  
71    
72  =cut  =cut
73    
# Line 90  sub __2022__common ($) { Line 90  sub __2022__common ($) {
90  }  }
91  sub __2022_encode ($) {  sub __2022_encode ($) {
92    my $C = shift->__2022__common;    my $C = shift->__2022__common;
93      $C->{GR} = undef;
94    $C->{C1} = $Encode::ISO2022::CHARSET{C1}->{"\x7E"};   ## empty set    $C->{C1} = $Encode::ISO2022::CHARSET{C1}->{"\x7E"};   ## empty set
95    $C->{G1} = $Encode::ISO2022::CHARSET{G96}->{"\x7E"};  ## empty set    $C->{G1} = $Encode::ISO2022::CHARSET{G96}->{"\x7E"};  ## empty set
96    $C;    $C;
# Line 99  package Encode::ISO2022::SevenBit::JP197 Line 100  package Encode::ISO2022::SevenBit::JP197
100  use vars qw/@ISA/;  use vars qw/@ISA/;
101  push @ISA, 'Encode::ISO2022::SevenBit::JP';  push @ISA, 'Encode::ISO2022::SevenBit::JP';
102  __PACKAGE__->Define (qw/iso-2022-jp-1978-irv japanese-iso-7bit-1978-irv old-jis  __PACKAGE__->Define (qw/iso-2022-jp-1978-irv japanese-iso-7bit-1978-irv old-jis
103    x-obsoleted-iso-2022-jp/);    x-obsoleted-iso-2022-jp jis78/);
104    
105  =item iso-2022-jp-1978-irv  =item iso-2022-jp-1978-irv
106    
107  ISO/IEC 2022 based 7-bit encoding for Japanese.  ISO/IEC 2022 based 7-bit encoding for Japanese,
108  (Alias: japanese-iso-7bit-1978-irv (emacsen), old-jis (emacsen))  using JIS X 0208-1978.
109    (Alias: japanese-iso-7bit-1978-irv (emacsen), old-jis (emacsen),
110    jis78)
111    
112  =cut  =cut
113    
114  sub __2022_encode ($) {  sub __2022_encode ($) {
115    my $C = shift->__2022__common;    my $C = shift->__2022__common;
116      $C->{GR} = undef;
117    $C->{option}->{designate_to}->{G94}->{"\x4A"} = -1;   ## JIS X 0201 roman    $C->{option}->{designate_to}->{G94}->{"\x4A"} = -1;   ## JIS X 0201 roman
118    $C->{option}->{designate_to}->{G94n}->{"\x42"} = -1;  ## JIS X 0208-1983    $C->{option}->{designate_to}->{G94n}->{"\x42"} = -1;  ## JIS X 0208-1983
119    $C->{option}->{designate_to}->{G94n}->{"\x42\x40"} = -1;      ## JIS X 0208-1990    $C->{option}->{designate_to}->{G94n}->{"\x42\x40"} = -1;      ## JIS X 0208-1990
# Line 138  sub __2022__common ($) { Line 142  sub __2022__common ($) {
142  package Encode::ISO2022::SevenBit::JP3;  package Encode::ISO2022::SevenBit::JP3;
143  use vars qw/@ISA/;  use vars qw/@ISA/;
144  push @ISA, 'Encode::ISO2022::SevenBit::JP';  push @ISA, 'Encode::ISO2022::SevenBit::JP';
145  __PACKAGE__->Define (qw/iso-2022-jp-3 x-iso-2022-jp-3   iso-2022-jp-3-compatible iso-2022-jp-3-strict/);  __PACKAGE__->Define (qw/iso-2022-jp-3 x-iso-2022-jp-3
146     jis0213   iso-2022-jp-3-compatible iso-2022-jp-3-strict/);
147    
148  =item iso-2022-jp-3  =item iso-2022-jp-3
149    
150  ISO/IEC 2022 based 7-bit encoding for Japanese,  ISO/IEC 2022 based 7-bit encoding for Japanese,
151  defined by JIS X 0213:2000 Appendix 2.  defined by JIS X 0213:2000 Appendix 2.
152  (Alias: x-iso-2022-jp-3)  (Alias: x-iso-2022-jp-3, jis0213)
153    
154  =item iso-2022-jp-3-compatible  =item iso-2022-jp-3-compatible
155    
# Line 189  sub __2022__common ($) { Line 194  sub __2022__common ($) {
194  package Encode::ISO2022::SevenBit::SS2;  package Encode::ISO2022::SevenBit::SS2;
195  use vars qw/@ISA/;  use vars qw/@ISA/;
196  push @ISA, 'Encode::ISO2022::SevenBit';  push @ISA, 'Encode::ISO2022::SevenBit';
197  __PACKAGE__->Define (qw/iso-2022-7bit-ss2 x-iso-2022-jp-2  jis_encoding csjisencoding/);  __PACKAGE__->Define (qw/iso-2022-7bit-ss2 x-iso-2022-jp-2 iso-2022-ss2-7
198       jis_encoding csjisencoding/);
199    
200  =item iso-2022-7bit-ss2  =item iso-2022-7bit-ss2
201    
202  ISO/IEC 2022 based 7-bit encoding using SS2 for 96-charset  ISO/IEC 2022 based 7-bit encoding using SS2 for 96-charset
203  (Alias: x-iso-2022-jp-2)  (Alias: x-iso-2022-jp-2, iso-2022-ss2-7 (emacsen))
204    
205  =cut  =cut
206    
# Line 240  sub __2022__common ($) { Line 246  sub __2022__common ($) {
246  }  }
247  sub __2022_encode ($) {  sub __2022_encode ($) {
248    my $C = shift->__2022__common;    my $C = shift->__2022__common;
249      $C->{GR} = undef;
250    $C->{C1} = $Encode::ISO2022::CHARSET{C1}->{"\x7E"};   ## empty set    $C->{C1} = $Encode::ISO2022::CHARSET{C1}->{"\x7E"};   ## empty set
251    $C->{G1} = $Encode::ISO2022::CHARSET{G96}->{"\x7E"};  ## empty set    $C->{G1} = $Encode::ISO2022::CHARSET{G96}->{"\x7E"};  ## empty set
252    $C;    $C;
# Line 263  sub __2022__common ($) { Line 270  sub __2022__common ($) {
270    $C;    $C;
271  }  }
272    
273    package Encode::ISO2022::SevenBit::INT;
274    use vars qw/@ISA/;
275    push @ISA, 'Encode::ISO2022::SevenBit';
276    __PACKAGE__->Define (qw/iso-2022-int iso-2022-int-*  iso-2022-int-2/);
277    
278    =item iso-2022-int
279    
280    ISO/IEC 2022 based 7-bit encoding using G1 and locking-shift for
281    KS X 1001 and 96-charset.  See draft-ohta-text-encoding.
282    (Alias: iso-2022-int-*)
283    
284    =cut
285    
286    sub __2022__common ($) {
287      my $C = shift->SUPER::__2022__common;
288      $C->{option}->{designate_to}->{G96}->{default} = 1;
289      $C->{option}->{designate_to}->{G96n}->{default} = 1;
290      $C->{option}->{designate_to}->{G94n}->{"\x43"} = 1;   ## KS X 1001
291      $C;
292    }
293    sub __2022_encode ($) {
294      my $C = shift->__2022__common;
295      $C->{GR} = undef;
296      $C->{C1} = $Encode::ISO2022::CHARSET{C1}->{"\x7E"};   ## empty set
297      $C->{G1} = $Encode::ISO2022::CHARSET{G96}->{"\x7E"};  ## empty set
298      $C;
299    }
300    sub __2022_decode ($) {
301      my $C = shift->__2022__common;
302      $C->{G1} = $Encode::ISO2022::CHARSET{G94n}->{"\x43"}; ## KS X 1001
303      $C;
304    }
305    
306  package Encode::ISO2022::SevenBit::KR;  package Encode::ISO2022::SevenBit::KR;
307  use vars qw/@ISA/;  use vars qw/@ISA/;
308  push @ISA, 'Encode::ISO2022::SevenBit';  push @ISA, 'Encode::ISO2022::SevenBit';
# Line 290  sub __2022__common ($) { Line 330  sub __2022__common ($) {
330  }  }
331  sub __2022_encode ($) {  sub __2022_encode ($) {
332    my $C = shift->__2022__common;    my $C = shift->__2022__common;
333      $C->{GR} = undef;
334    $C->{C1} = $Encode::ISO2022::CHARSET{C1}->{"\x7E"};   ## empty set    $C->{C1} = $Encode::ISO2022::CHARSET{C1}->{"\x7E"};   ## empty set
335    $C->{G1} = $Encode::ISO2022::CHARSET{G96}->{"\x7E"};  ## empty set    $C->{G1} = $Encode::ISO2022::CHARSET{G96}->{"\x7E"};  ## empty set
336    $C;    $C;
# Line 333  sub __2022__common ($) { Line 374  sub __2022__common ($) {
374  }  }
375  sub __2022_encode ($) {  sub __2022_encode ($) {
376    my $C = shift->__2022__common;    my $C = shift->__2022__common;
377      $C->{GR} = undef;
378    $C->{C1} = $Encode::ISO2022::CHARSET{C1}->{"\x7E"};   ## empty set    $C->{C1} = $Encode::ISO2022::CHARSET{C1}->{"\x7E"};   ## empty set
379    $C->{G1} = $Encode::ISO2022::CHARSET{G96}->{"\x7E"};  ## empty set    $C->{G1} = $Encode::ISO2022::CHARSET{G96}->{"\x7E"};  ## empty set
380    $C;    $C;
# Line 410  sub __2022__common ($) { Line 452  sub __2022__common ($) {
452  }  }
453  sub __2022_encode ($) {  sub __2022_encode ($) {
454    my $C = shift->__2022__common;    my $C = shift->__2022__common;
455      $C->{GR} = undef;
456    $C->{C1} = $Encode::ISO2022::CHARSET{C1}->{"\x7E"};   ## empty set    $C->{C1} = $Encode::ISO2022::CHARSET{C1}->{"\x7E"};   ## empty set
457    $C->{G1} = $Encode::ISO2022::CHARSET{G96}->{"\x7E"};  ## empty set    $C->{G1} = $Encode::ISO2022::CHARSET{G96}->{"\x7E"};  ## empty set
458    $C;    $C;
# Line 459  __END__ Line 502  __END__
502    
503  =head1 LICENSE  =head1 LICENSE
504    
505  Copyright 2002 wakaba <[email protected]>  Copyright 2002 Wakaba <[email protected]>
506    
507  This library is free software; you can redistribute it  This library is free software; you can redistribute it
508  and/or modify it under the same terms as Perl itself.  and/or modify it under the same terms as Perl itself.

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.6

[email protected]
ViewVC Help
Powered by ViewVC 1.1.24