/[pub]/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.1 by wakaba, Sun Sep 15 04:15:11 2002 UTC revision 1.5 by wakaba, Fri Sep 20 14:01:45 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/);  __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)  (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 59  sub __2022_decode ($) { Line 60  sub __2022_decode ($) {
60  package Encode::ISO2022::SevenBit::JP;  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/);  __PACKAGE__->Define (qw/iso-2022-jp junet-code japanese-iso-7bit csiso2022jp
64     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))  (Alias: junet-code, japanese-iso-7bit (emacsen), csISO2022JP (IANA))
71    
72  =cut  =cut
73    
# Line 88  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 96  sub __2022_encode ($) { Line 99  sub __2022_encode ($) {
99  package Encode::ISO2022::SevenBit::JP1978IRV;  package Encode::ISO2022::SevenBit::JP1978IRV;
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/);
104    
105  =item iso-2022-jp-1978-irv  =item iso-2022-jp-1978-irv
106    
# Line 107  ISO/IEC 2022 based 7-bit encoding for Ja Line 111  ISO/IEC 2022 based 7-bit encoding for Ja
111    
112  sub __2022_encode ($) {  sub __2022_encode ($) {
113    my $C = shift->__2022__common;    my $C = shift->__2022__common;
114      $C->{GR} = undef;
115    $C->{option}->{designate_to}->{G94}->{"\x4A"} = -1;   ## JIS X 0201 roman    $C->{option}->{designate_to}->{G94}->{"\x4A"} = -1;   ## JIS X 0201 roman
116    $C->{option}->{designate_to}->{G94n}->{"\x42"} = -1;  ## JIS X 0208-1983    $C->{option}->{designate_to}->{G94n}->{"\x42"} = -1;  ## JIS X 0208-1983
117    $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 186  sub __2022__common ($) { Line 191  sub __2022__common ($) {
191  package Encode::ISO2022::SevenBit::SS2;  package Encode::ISO2022::SevenBit::SS2;
192  use vars qw/@ISA/;  use vars qw/@ISA/;
193  push @ISA, 'Encode::ISO2022::SevenBit';  push @ISA, 'Encode::ISO2022::SevenBit';
194  __PACKAGE__->Define (qw/iso-2022-7bit-ss2 x-iso-2022-jp-2/);  __PACKAGE__->Define (qw/iso-2022-7bit-ss2 x-iso-2022-jp-2 iso-2022-ss2-7
195       jis_encoding csjisencoding/);
196    
197  =item iso-2022-7bit-ss2  =item iso-2022-7bit-ss2
198    
199  ISO/IEC 2022 based 7-bit encoding using SS2 for 96-charset  ISO/IEC 2022 based 7-bit encoding using SS2 for 96-charset
200  (Alias: x-iso-2022-jp-2)  (Alias: x-iso-2022-jp-2, iso-2022-ss2-7 (emacsen))
201    
202  =cut  =cut
203    
# Line 206  sub __2022__common ($) { Line 212  sub __2022__common ($) {
212  package Encode::ISO2022::SevenBit::JP2;  package Encode::ISO2022::SevenBit::JP2;
213  use vars qw/@ISA/;  use vars qw/@ISA/;
214  push @ISA, 'Encode::ISO2022::SevenBit::SS2';  push @ISA, 'Encode::ISO2022::SevenBit::SS2';
215  __PACKAGE__->Define (qw/iso-2022-jp-2/);  __PACKAGE__->Define (qw/iso-2022-jp-2 csiso2022jp2/);
216    
217  =item iso-2022-jp-2  =item iso-2022-jp-2
218    
219  ISO/IEC 2022 based 7-bit multilingual encoding, defined by  ISO/IEC 2022 based 7-bit multilingual encoding, defined by
220  RFC 1554.  A subset of iso-2022-7bit-ss2.  RFC 1554.  A subset of iso-2022-7bit-ss2.  (Alias: csISO2022JP2 (IANA))
221    
222  =cut  =cut
223    
# Line 237  sub __2022__common ($) { Line 243  sub __2022__common ($) {
243  }  }
244  sub __2022_encode ($) {  sub __2022_encode ($) {
245    my $C = shift->__2022__common;    my $C = shift->__2022__common;
246      $C->{GR} = undef;
247    $C->{C1} = $Encode::ISO2022::CHARSET{C1}->{"\x7E"};   ## empty set    $C->{C1} = $Encode::ISO2022::CHARSET{C1}->{"\x7E"};   ## empty set
248    $C->{G1} = $Encode::ISO2022::CHARSET{G96}->{"\x7E"};  ## empty set    $C->{G1} = $Encode::ISO2022::CHARSET{G96}->{"\x7E"};  ## empty set
249    $C;    $C;
# Line 260  sub __2022__common ($) { Line 267  sub __2022__common ($) {
267    $C;    $C;
268  }  }
269    
270    package Encode::ISO2022::SevenBit::INT;
271    use vars qw/@ISA/;
272    push @ISA, 'Encode::ISO2022::SevenBit';
273    __PACKAGE__->Define (qw/iso-2022-int iso-2022-int-*  iso-2022-int-2/);
274    
275    =item iso-2022-int
276    
277    ISO/IEC 2022 based 7-bit encoding using G1 and locking-shift for
278    KS X 1001 and 96-charset.  See draft-ohta-text-encoding.
279    (Alias: iso-2022-int-*)
280    
281    =cut
282    
283    sub __2022__common ($) {
284      my $C = shift->SUPER::__2022__common;
285      $C->{option}->{designate_to}->{G96}->{default} = 1;
286      $C->{option}->{designate_to}->{G96n}->{default} = 1;
287      $C->{option}->{designate_to}->{G94n}->{"\x43"} = 1;   ## KS X 1001
288      $C;
289    }
290    sub __2022_encode ($) {
291      my $C = shift->__2022__common;
292      $C->{GR} = undef;
293      $C->{C1} = $Encode::ISO2022::CHARSET{C1}->{"\x7E"};   ## empty set
294      $C->{G1} = $Encode::ISO2022::CHARSET{G96}->{"\x7E"};  ## empty set
295      $C;
296    }
297    sub __2022_decode ($) {
298      my $C = shift->__2022__common;
299      $C->{G1} = $Encode::ISO2022::CHARSET{G94n}->{"\x43"}; ## KS X 1001
300      $C;
301    }
302    
303  package Encode::ISO2022::SevenBit::KR;  package Encode::ISO2022::SevenBit::KR;
304  use vars qw/@ISA/;  use vars qw/@ISA/;
305  push @ISA, 'Encode::ISO2022::SevenBit';  push @ISA, 'Encode::ISO2022::SevenBit';
306  __PACKAGE__->Define (qw/iso-2022-kr korean-iso-7bit/);  __PACKAGE__->Define (qw/iso-2022-kr korean-iso-7bit csiso2022kr cp50225 kr2022/);
307    
308  =item iso-2022-kr  =item iso-2022-kr
309    
310  An ISO/IEC 2022 based 7-bit encoding for Korean,  An ISO/IEC 2022 based 7-bit encoding for Korean,
311  defined by RFC 1557 (Alias: korean-iso-7bit (emacsen))  defined by RFC 1557 (Alias: korean-iso-7bit (emacsen),
312    csISO2022KR (IANA), CP50225 (M$), KR2022)
313    
314  =cut  =cut
315    
# Line 286  sub __2022__common ($) { Line 327  sub __2022__common ($) {
327  }  }
328  sub __2022_encode ($) {  sub __2022_encode ($) {
329    my $C = shift->__2022__common;    my $C = shift->__2022__common;
330      $C->{GR} = undef;
331    $C->{C1} = $Encode::ISO2022::CHARSET{C1}->{"\x7E"};   ## empty set    $C->{C1} = $Encode::ISO2022::CHARSET{C1}->{"\x7E"};   ## empty set
332    $C->{G1} = $Encode::ISO2022::CHARSET{G96}->{"\x7E"};  ## empty set    $C->{G1} = $Encode::ISO2022::CHARSET{G96}->{"\x7E"};  ## empty set
333    $C;    $C;
# Line 329  sub __2022__common ($) { Line 371  sub __2022__common ($) {
371  }  }
372  sub __2022_encode ($) {  sub __2022_encode ($) {
373    my $C = shift->__2022__common;    my $C = shift->__2022__common;
374      $C->{GR} = undef;
375    $C->{C1} = $Encode::ISO2022::CHARSET{C1}->{"\x7E"};   ## empty set    $C->{C1} = $Encode::ISO2022::CHARSET{C1}->{"\x7E"};   ## empty set
376    $C->{G1} = $Encode::ISO2022::CHARSET{G96}->{"\x7E"};  ## empty set    $C->{G1} = $Encode::ISO2022::CHARSET{G96}->{"\x7E"};  ## empty set
377    $C;    $C;
# Line 365  sub __2022__common ($) { Line 408  sub __2022__common ($) {
408    $C->{option}->{designate_to}->{G94n}->{"\x4B"} = 3;   ## CNS 11643 plane 5    $C->{option}->{designate_to}->{G94n}->{"\x4B"} = 3;   ## CNS 11643 plane 5
409    $C->{option}->{designate_to}->{G94n}->{"\x4C"} = 3;   ## CNS 11643 plane 6    $C->{option}->{designate_to}->{G94n}->{"\x4C"} = 3;   ## CNS 11643 plane 6
410    $C->{option}->{designate_to}->{G94n}->{"\x4D"} = 3;   ## CNS 11643 plane 7    $C->{option}->{designate_to}->{G94n}->{"\x4D"} = 3;   ## CNS 11643 plane 7
411      $C->{option}->{designate_to}->{G94n}->{P0_0} = 1;     ## GB 12345
412      $C->{option}->{designate_to}->{G94n}->{P0_1} = 2;     ## GB 7589
413      $C->{option}->{designate_to}->{G94n}->{P0_2} = 2;     ## GB 13131
414      $C->{option}->{designate_to}->{G94n}->{P0_3} = 3;     ## GB 7590
415      $C->{option}->{designate_to}->{G94n}->{P0_4} = 3;     ## GB 13132
416    $C;    $C;
417  }  }
418  sub __2022_decode ($) {  sub __2022_decode ($) {
# Line 376  sub __2022_decode ($) { Line 424  sub __2022_decode ($) {
424  package Encode::ISO2022::SevenBit::CN;  package Encode::ISO2022::SevenBit::CN;
425  use vars qw/@ISA/;  use vars qw/@ISA/;
426  push @ISA, 'Encode::ISO2022::SevenBit';  push @ISA, 'Encode::ISO2022::SevenBit';
427  __PACKAGE__->Define (qw/iso-2022-cn chinese-iso-7bit/);  __PACKAGE__->Define (qw/iso-2022-cn chinese-iso-7bit  iso2022cn-cns iso2022cn-gb/);
428    
429  =item iso-2022-cn  =item iso-2022-cn
430    
# Line 401  sub __2022__common ($) { Line 449  sub __2022__common ($) {
449  }  }
450  sub __2022_encode ($) {  sub __2022_encode ($) {
451    my $C = shift->__2022__common;    my $C = shift->__2022__common;
452      $C->{GR} = undef;
453    $C->{C1} = $Encode::ISO2022::CHARSET{C1}->{"\x7E"};   ## empty set    $C->{C1} = $Encode::ISO2022::CHARSET{C1}->{"\x7E"};   ## empty set
454    $C->{G1} = $Encode::ISO2022::CHARSET{G96}->{"\x7E"};  ## empty set    $C->{G1} = $Encode::ISO2022::CHARSET{G96}->{"\x7E"};  ## empty set
455    $C;    $C;
# Line 426  sub __2022__common ($) { Line 475  sub __2022__common ($) {
475    $C->{option}->{designate_to}->{G94n}->{"\x4B"} = 3;   ## CNS 11643 plane 5    $C->{option}->{designate_to}->{G94n}->{"\x4B"} = 3;   ## CNS 11643 plane 5
476    $C->{option}->{designate_to}->{G94n}->{"\x4C"} = 3;   ## CNS 11643 plane 6    $C->{option}->{designate_to}->{G94n}->{"\x4C"} = 3;   ## CNS 11643 plane 6
477    $C->{option}->{designate_to}->{G94n}->{"\x4D"} = 3;   ## CNS 11643 plane 7    $C->{option}->{designate_to}->{G94n}->{"\x4D"} = 3;   ## CNS 11643 plane 7
478      $C->{option}->{designate_to}->{G94n}->{P0_0} = 1;     ## GB 12345
479      $C->{option}->{designate_to}->{G94n}->{P0_1} = 2;     ## GB 7589
480      $C->{option}->{designate_to}->{G94n}->{P0_2} = 2;     ## GB 13131
481      $C->{option}->{designate_to}->{G94n}->{P0_3} = 3;     ## GB 7590
482      $C->{option}->{designate_to}->{G94n}->{P0_4} = 3;     ## GB 13132
483      $C->{option}->{designate_to}->{G94n}->{P1_0} = 3;     ## CNS 11643 plane 8
484      $C->{option}->{designate_to}->{G94n}->{P1_1} = 3;     ## CNS 11643 plane 9
485      $C->{option}->{designate_to}->{G94n}->{P1_2} = 3;     ## CNS 11643 plane 10
486      $C->{option}->{designate_to}->{G94n}->{P1_3} = 3;     ## CNS 11643 plane 11
487      $C->{option}->{designate_to}->{G94n}->{P1_4} = 3;     ## CNS 11643 plane 12
488      $C->{option}->{designate_to}->{G94n}->{P1_5} = 3;     ## CNS 11643 plane 13
489      $C->{option}->{designate_to}->{G94n}->{P1_6} = 3;     ## CNS 11643 plane 14
490      $C->{option}->{designate_to}->{G94n}->{P2_0} = 3;     ## CNS 11643 plane 15
491      $C->{option}->{designate_to}->{G94n}->{P2_1} = 3;     ## CNS 11643 plane 16
492    $C;    $C;
493  }  }
494    
# Line 436  __END__ Line 499  __END__
499    
500  =head1 LICENSE  =head1 LICENSE
501    
502  Copyright 2002 wakaba <w@suika.fam.cx>  Copyright 2002 Wakaba <w@suika.fam.cx>
503    
504  This library is free software; you can redistribute it  This library is free software; you can redistribute it
505  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.1  
changed lines
  Added in v.1.5

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24