/[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.3 by wakaba, Mon Sep 16 02:17:48 2002 UTC revision 1.10 by wakaba, Sat Oct 12 07:27:01 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 iso-2022-7 jis junet jis7/);  __PACKAGE__->Define (qw/iso-2022-7bit iso-2022-7 jis junet jis7
19      7bit-jis/);
20  require Encode::ISO2022;  require Encode::ISO2022;
21    
22  sub encode ($$;$) {  sub encode ($$;$) {
23    my ($obj, $str, $chk) = @_;    my ($obj, $str, $chk) = @_;
24    $_[1] = '' if $chk;    $_[1] = '' if $chk;
25      if (!defined $obj->{_encode_mapping} || $obj->{_encode_mapping}) {
26        require Encode::Table;
27        $str = Encode::Table::convert ($str, $obj->__encode_map,
28          -autoload => defined $obj->{_encode_mapping_autoload} ?
29                       $obj->{_encode_mapping_autoload} : 1);
30      }
31    $str = &Encode::ISO2022::internal_to_iso2022 ($str, $obj->__2022_encode);    $str = &Encode::ISO2022::internal_to_iso2022 ($str, $obj->__2022_encode);
32    return $str;    $str;
33  }  }
34    
35  sub decode ($$;$) {  sub decode ($$;$) {
36    my ($obj, $str, $chk) = @_;    my ($obj, $str, $chk) = @_;
37    $_[1] = '' if $chk;    $_[1] = '' if $chk;
38    return &Encode::ISO2022::iso2022_to_internal ($str, $obj->__2022_decode);    $str = &Encode::ISO2022::iso2022_to_internal ($str, $obj->__2022_decode);
39      if (!defined $obj->{_decode_mapping} || $obj->{_decode_mapping}) {
40        require Encode::Table;
41        $str = Encode::Table::convert ($str, $obj->__decode_map,
42          -autoload => defined $obj->{_decode_mapping_autoload} ?
43                       $obj->{_decode_mapping_autoload} : 1);
44      }
45      $str;
46  }  }
47    
48    sub __clone ($) {
49      my $self = shift;
50      bless {%$self}, ref $self;
51    };
52    
53  =item iso-2022-7bit  =item iso-2022-7bit
54    
55  ISO/IEC 2022 based 7-bit encoding using only G0  ISO/IEC 2022 based 7-bit encoding using only G0
56  (Alias: junet, jis, jis7, iso-2022-7)  (Alias: junet (emacsen), jis, jis7, iso-2022-7 (emacsen), 7bit-jis (perl))
57    
58  =cut  =cut
59    
# Line 47  sub __2022__common ($) { Line 66  sub __2022__common ($) {
66  }  }
67  sub __2022_encode ($) {  sub __2022_encode ($) {
68    my $C = shift->__2022__common;    my $C = shift->__2022__common;
69      $C->{GR} = undef;
70    $C->{G1} = $Encode::ISO2022::CHARSET{G96}->{"\x7E"};  ## empty set    $C->{G1} = $Encode::ISO2022::CHARSET{G96}->{"\x7E"};  ## empty set
71    $C;    $C;
72  }  }
# Line 55  sub __2022_decode ($) { Line 75  sub __2022_decode ($) {
75        
76    $C;    $C;
77  }  }
78    sub __encode_map ($) {
79      [];
80    }
81    sub __decode_map ($) {
82      [];
83    }
84    
85  package Encode::ISO2022::SevenBit::JP;  package Encode::ISO2022::SevenBit::JP;
86  use vars qw/@ISA/;  use vars qw/@ISA/;
87  push @ISA, 'Encode::ISO2022::SevenBit';  push @ISA, 'Encode::ISO2022::SevenBit';
88  __PACKAGE__->Define (qw/iso-2022-jp junet-code japanese-iso-7bit csiso2022jp  __PACKAGE__->Define (qw/iso-2022-jp junet-code japanese-iso-7bit csiso2022jp
89   cp50220 iso2022jp/);   iso2022jp/);
90    
91  =item iso-2022-jp  =item iso-2022-jp
92    
93  ISO/IEC 2022 based 7-bit encoding for Japanese.  ISO/IEC 2022 based 7-bit encoding for Japanese.
94  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.
95  (Alias: junet-code, japanese-iso-7bit (emacsen), csISO2022JP (IANA),  (Alias: junet-code, japanese-iso-7bit (emacsen), csISO2022JP (IANA))
 CP50220 (M$))  
96    
97  =cut  =cut
98    
# Line 90  sub __2022__common ($) { Line 115  sub __2022__common ($) {
115  }  }
116  sub __2022_encode ($) {  sub __2022_encode ($) {
117    my $C = shift->__2022__common;    my $C = shift->__2022__common;
118      $C->{GR} = undef;
119    $C->{C1} = $Encode::ISO2022::CHARSET{C1}->{"\x7E"};   ## empty set    $C->{C1} = $Encode::ISO2022::CHARSET{C1}->{"\x7E"};   ## empty set
120    $C->{G1} = $Encode::ISO2022::CHARSET{G96}->{"\x7E"};  ## empty set    $C->{G1} = $Encode::ISO2022::CHARSET{G96}->{"\x7E"};  ## empty set
121    $C;    $C;
122  }  }
123    sub __encode_map ($) {
124      [qw/ucs_to_ascii ucs_to_jisx0208_1983 ucs_to_jisx0208_1990 ucs_to_jisx0208_1978 ucs_to_jisx0201_latin/];
125    }
126    sub __decode_map ($) {
127      [qw/jisx0208_1983_to_ucs jisx0208_1990_to_ucs jisx0208_1978_to_ucs jisx0201_latin_to_ucs/];
128    }
129    
130  package Encode::ISO2022::SevenBit::JP1978IRV;  package Encode::ISO2022::SevenBit::JP1978IRV;
131  use vars qw/@ISA/;  use vars qw/@ISA/;
132  push @ISA, 'Encode::ISO2022::SevenBit::JP';  push @ISA, 'Encode::ISO2022::SevenBit::JP';
133  __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
134    x-obsoleted-iso-2022-jp/);    x-obsoleted-iso-2022-jp jis78/);
135    
136  =item iso-2022-jp-1978-irv  =item iso-2022-jp-1978-irv
137    
138  ISO/IEC 2022 based 7-bit encoding for Japanese.  ISO/IEC 2022 based 7-bit encoding for Japanese,
139  (Alias: japanese-iso-7bit-1978-irv (emacsen), old-jis (emacsen))  using JIS X 0208-1978.
140    (Alias: japanese-iso-7bit-1978-irv (emacsen), old-jis (emacsen),
141    jis78)
142    
143  =cut  =cut
144    
145  sub __2022_encode ($) {  sub __2022_encode ($) {
146    my $C = shift->__2022__common;    my $C = shift->__2022__common;
147      $C->{GR} = undef;
148    $C->{option}->{designate_to}->{G94}->{"\x4A"} = -1;   ## JIS X 0201 roman    $C->{option}->{designate_to}->{G94}->{"\x4A"} = -1;   ## JIS X 0201 roman
149    $C->{option}->{designate_to}->{G94n}->{"\x42"} = -1;  ## JIS X 0208-1983    $C->{option}->{designate_to}->{G94n}->{"\x42"} = -1;  ## JIS X 0208-1983
150    $C->{option}->{designate_to}->{G94n}->{"\x42\x40"} = -1;      ## JIS X 0208-1990    $C->{option}->{designate_to}->{G94n}->{"\x42\x40"} = -1;      ## JIS X 0208-1990
151    $C;    $C;
152  }  }
153    sub __encode_map ($) {
154      [qw/ucs_to_ascii ucs_to_jisx0208_1978 ucs_to_jisx0201_latin/];
155    }
156    sub __decode_map ($) {
157      [qw/jisx0208_1983_to_ucs jisx0208_1990_to_ucs jisx0208_1978_to_ucs jisx0201_latin_to_ucs/];
158    }
159    
160  package Encode::ISO2022::SevenBit::JP1;  package Encode::ISO2022::SevenBit::JP1;
161  use vars qw/@ISA/;  use vars qw/@ISA/;
162  push @ISA, 'Encode::ISO2022::SevenBit::JP';  push @ISA, 'Encode::ISO2022::SevenBit::JP';
163  __PACKAGE__->Define (qw/iso-2022-jp-1/);  __PACKAGE__->Define (qw/iso-2022-jp-1 iso2022jp-1/);
164    
165  =item iso-2022-jp-1  =item iso-2022-jp-1
166    
167  ISO/IEC 2022 based 7-bit encoding for Japanese,  ISO/IEC 2022 based 7-bit encoding for Japanese,
168  defined by RFC 2237  defined by RFC 2237.  (Alias: iso2022jp-1)
169    
170  =cut  =cut
171    
# Line 134  sub __2022__common ($) { Line 175  sub __2022__common ($) {
175    $C->{option}->{designate_to}->{G94n}->{"\x42\x40"} = -1;      ## JIS X 0208-1990    $C->{option}->{designate_to}->{G94n}->{"\x42\x40"} = -1;      ## JIS X 0208-1990
176    $C;    $C;
177  }  }
178    sub __encode_map ($) {
179      [qw/ucs_to_ascii ucs_to_jisx0208_1983 ucs_to_jisx0212_1990 ucs_to_jisx0208_1978 ucs_to_jisx0201_latin/];
180    }
181    sub __decode_map ($) {
182      [qw/jisx0208_1983_to_ucs jisx0212_1990_to_ucs jisx0208_1978_to_ucs jisx0201_latin_to_ucs/];
183    }
184    
185  package Encode::ISO2022::SevenBit::JP3;  package Encode::ISO2022::SevenBit::JP3;
186  use vars qw/@ISA/;  use vars qw/@ISA/;
187  push @ISA, 'Encode::ISO2022::SevenBit::JP';  push @ISA, 'Encode::ISO2022::SevenBit::JP';
188  __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 iso2022jp-3
189     jis0213/);
190    
191  =item iso-2022-jp-3  =item iso-2022-jp-3
192    
193  ISO/IEC 2022 based 7-bit encoding for Japanese,  ISO/IEC 2022 based 7-bit encoding for Japanese,
194  defined by JIS X 0213:2000 Appendix 2.  defined by JIS X 0213:2000 Appendix 2.
195  (Alias: x-iso-2022-jp-3)  (Alias: x-iso-2022-jp-3, iso2022jp-3, jis0213)
   
 =item iso-2022-jp-3-compatible  
   
 ISO/IEC 2022 based 7-bit encoding for Japanese  
   
 =item iso-2022-jp-3-strict  
   
 ISO/IEC 2022 based 7-bit encoding for Japanese.  
 A subset of iso-2022-jp-3.  
196    
197  =cut  =cut
198    
# Line 167  sub __2022__common ($) { Line 206  sub __2022__common ($) {
206    $C->{option}->{designate_to}->{G94n}->{"\x50"} = 0;   ## JIS X 0213:2000 plane 2    $C->{option}->{designate_to}->{G94n}->{"\x50"} = 0;   ## JIS X 0213:2000 plane 2
207    $C;    $C;
208  }  }
209    sub __encode_map ($) {
210      [qw/ucs_to_ascii ucs_to_jisx0213_2000_1 ucs_to_jisx0213_2000_2/];
211    }
212    sub __decode_map ($) {
213      [qw/jisx0213_2000_1_to_ucs jisx0212_0213_to_ucs jisx0208_1983_to_ucs jisx0208_1978_to_ucs jisx0201_latin_to_ucs/];
214    }
215    
216    package Encode::ISO2022::SevenBit::JP3Strict;
217    use vars qw/@ISA/;
218    push @ISA, 'Encode::ISO2022::SevenBit::JP3';
219    __PACKAGE__->Define (qw/iso-2022-jp-3-strict/);
220    
221    =item iso-2022-jp-3-strict
222    
223    ISO/IEC 2022 based 7-bit encoding for Japanese.
224    A subset of iso-2022-jp-3.
225    See <http://www.m17n.org/m17n2000_all_but_registration/proceedings/kawabata/jisx0213.html>.
226    
227    =cut
228    
229    sub __encode_map ($) {
230      [qw/ucs_to_ascii ucs_to_jisx0213_2000_1_esc_24_42 ucs_to_jisx0213_2000_1 ucs_to_jisx0213_2000_2/];
231    }
232    
233    package Encode::ISO2022::SevenBit::JP3Compatible;
234    use vars qw/@ISA/;
235    push @ISA, 'Encode::ISO2022::SevenBit::JP3';
236    __PACKAGE__->Define (qw/iso-2022-jp-3-compatible/);
237    
238    =item iso-2022-jp-3-compatible
239    
240    ISO/IEC 2022 based 7-bit encoding for Japanese.
241    See <http://www.m17n.org/m17n2000_all_but_registration/proceedings/kawabata/jisx0213.html>.
242    
243    =cut
244    
245    sub __encode_map ($) {
246      [qw/ucs_to_ascii ucs_to_jisx0208_1983 ucs_to_jisx0213_2000_1 ucs_to_jisx0213_2000_2/];
247    }
248    
249  package Encode::ISO2022::SevenBit::JP3Plane1;  package Encode::ISO2022::SevenBit::JP3Plane1;
250  use vars qw/@ISA/;  use vars qw/@ISA/;
# Line 185  sub __2022__common ($) { Line 263  sub __2022__common ($) {
263    $C->{option}->{designate_to}->{G94n}->{"\x50"} = -1;  ## JIS X 0213:2000 plane 2    $C->{option}->{designate_to}->{G94n}->{"\x50"} = -1;  ## JIS X 0213:2000 plane 2
264    $C;    $C;
265  }  }
266    sub __encode_map ($) {
267      [qw/ucs_to_ascii ucs_to_jisx0213_2000_1/];
268    }
269    sub __decode_map ($) {
270      [qw/jisx0213_2000_1_to_ucs jisx0208_1983_to_ucs/];
271    }
272    
273  package Encode::ISO2022::SevenBit::SS2;  package Encode::ISO2022::SevenBit::SS2;
274  use vars qw/@ISA/;  use vars qw/@ISA/;
# Line 210  sub __2022__common ($) { Line 294  sub __2022__common ($) {
294  package Encode::ISO2022::SevenBit::JP2;  package Encode::ISO2022::SevenBit::JP2;
295  use vars qw/@ISA/;  use vars qw/@ISA/;
296  push @ISA, 'Encode::ISO2022::SevenBit::SS2';  push @ISA, 'Encode::ISO2022::SevenBit::SS2';
297  __PACKAGE__->Define (qw/iso-2022-jp-2 csiso2022jp2/);  __PACKAGE__->Define (qw/iso-2022-jp-2 csiso2022jp2 iso2022jp-2/);
298    
299  =item iso-2022-jp-2  =item iso-2022-jp-2
300    
301  ISO/IEC 2022 based 7-bit multilingual encoding, defined by  ISO/IEC 2022 based 7-bit multilingual encoding, defined by
302  RFC 1554.  A subset of iso-2022-7bit-ss2.  (Alias: csISO2022JP2 (IANA))  RFC 1554.  A subset of iso-2022-7bit-ss2.  (Alias: iso2022jp-2,
303    csISO2022JP2 (IANA))
304    
305  =cut  =cut
306    
# Line 225  sub __2022__common ($) { Line 310  sub __2022__common ($) {
310    $C->{option}->{designate_to}->{C0}->{"\x40"} = 0;    $C->{option}->{designate_to}->{C0}->{"\x40"} = 0;
311    $C->{option}->{designate_to}->{C1}->{default} = -1;    $C->{option}->{designate_to}->{C1}->{default} = -1;
312    $C->{C1} = $Encode::ISO2022::CHARSET{C1}->{"\x47"};   ## Minimum C1    $C->{C1} = $Encode::ISO2022::CHARSET{C1}->{"\x47"};   ## Minimum C1
313    $C->{option}->{designate_to}->{C1}->{"\x47"} = 1;    $C->{option}->{designate_to}->{C1}->{"\x47"} = -1;
314    $C->{option}->{designate_to}->{G94}->{default} = -1;    $C->{option}->{designate_to}->{G94}->{default} = -1;
315    $C->{option}->{designate_to}->{G94n}->{default} = -1;    $C->{option}->{designate_to}->{G94n}->{default} = -1;
316    $C->{option}->{designate_to}->{G96}->{default} = -1;    $C->{option}->{designate_to}->{G96}->{default} = -1;
317    $C->{option}->{designate_to}->{G96n}->{default} = -1;    $C->{option}->{designate_to}->{G96n}->{default} = -1;
318    $C->{option}->{designate_to}->{G94}->{"\x4A"} = 0;    ## JIS X 0201 roman    $C->{option}->{designate_to}->{G94}->{"\x4A"} = 0;    ## JIS X 0201 roman
319    for ("\x40", "\x41", "\x42", "\x43") {    for ("\x40", "\x41", "\x42", "\x43", "\x44") {
320      $C->{option}->{designate_to}->{G94n}->{ $_ } = 0;      $C->{option}->{designate_to}->{G94n}->{ $_ } = 0;
321    }    }
322    for ("\x41", "\x46") {    for ("\x41", "\x46") {
# Line 241  sub __2022__common ($) { Line 326  sub __2022__common ($) {
326  }  }
327  sub __2022_encode ($) {  sub __2022_encode ($) {
328    my $C = shift->__2022__common;    my $C = shift->__2022__common;
329      $C->{GR} = undef;
330    $C->{C1} = $Encode::ISO2022::CHARSET{C1}->{"\x7E"};   ## empty set    $C->{C1} = $Encode::ISO2022::CHARSET{C1}->{"\x7E"};   ## empty set
331    $C->{G1} = $Encode::ISO2022::CHARSET{G96}->{"\x7E"};  ## empty set    $C->{G1} = $Encode::ISO2022::CHARSET{G96}->{"\x7E"};  ## empty set
332    $C;    $C;
333  }  }
334    sub __encode_map ($) {
335      [qw/ucs_to_ascii ucs_to_jisx0208_1983 ucs_to_jisx0212_1990 ucs_to_gb2312_1980 ucs_to_ksx1001_1992 ucs_to_jisx0208_1978 ucs_to_isoiec8859_1 ucs_to_isoiec8859_7 ucs_to_jisx0201_latin/];
336    }
337    sub __decode_map ($) {
338      [qw/jisx0208_1983_to_ucs jisx0208_1978_to_ucs jisx0201_latin_to_ucs gb2312_1980_to_ucs ksx1001_1992_to_ucs isoiec8859_7_to_ucs/];
339    }
340    
341  package Encode::ISO2022::SevenBit::Lock;  package Encode::ISO2022::SevenBit::Lock;
342  use vars qw/@ISA/;  use vars qw/@ISA/;
# Line 286  sub __2022__common ($) { Line 378  sub __2022__common ($) {
378  }  }
379  sub __2022_encode ($) {  sub __2022_encode ($) {
380    my $C = shift->__2022__common;    my $C = shift->__2022__common;
381      $C->{GR} = undef;
382    $C->{C1} = $Encode::ISO2022::CHARSET{C1}->{"\x7E"};   ## empty set    $C->{C1} = $Encode::ISO2022::CHARSET{C1}->{"\x7E"};   ## empty set
383    $C->{G1} = $Encode::ISO2022::CHARSET{G96}->{"\x7E"};  ## empty set    $C->{G1} = $Encode::ISO2022::CHARSET{G96}->{"\x7E"};  ## empty set
384    $C;    $C;
# Line 299  sub __2022_decode ($) { Line 392  sub __2022_decode ($) {
392  package Encode::ISO2022::SevenBit::KR;  package Encode::ISO2022::SevenBit::KR;
393  use vars qw/@ISA/;  use vars qw/@ISA/;
394  push @ISA, 'Encode::ISO2022::SevenBit';  push @ISA, 'Encode::ISO2022::SevenBit';
395  __PACKAGE__->Define (qw/iso-2022-kr korean-iso-7bit csiso2022kr cp50225 kr2022/);  __PACKAGE__->Define (qw/iso-2022-kr korean-iso-7bit csiso2022kr cp50225 kr2022 korean-mail/);
396    
397  =item iso-2022-kr  =item iso-2022-kr
398    
399  An ISO/IEC 2022 based 7-bit encoding for Korean,  An ISO/IEC 2022 based 7-bit encoding for Korean,
400  defined by RFC 1557 (Alias: korean-iso-7bit (emacsen),  defined by RFC 1557 (Alias: korean-iso-7bit (emacsen),
401  csISO2022KR (IANA), CP50225 (M$), KR2022)  csISO2022KR (IANA), CP50225 (M$), KR2022, korean-mail (emacsen))
402    
403  =cut  =cut
404    
# Line 323  sub __2022__common ($) { Line 416  sub __2022__common ($) {
416  }  }
417  sub __2022_encode ($) {  sub __2022_encode ($) {
418    my $C = shift->__2022__common;    my $C = shift->__2022__common;
419      $C->{GR} = undef;
420    $C->{C1} = $Encode::ISO2022::CHARSET{C1}->{"\x7E"};   ## empty set    $C->{C1} = $Encode::ISO2022::CHARSET{C1}->{"\x7E"};   ## empty set
421    $C->{G1} = $Encode::ISO2022::CHARSET{G96}->{"\x7E"};  ## empty set    $C->{G1} = $Encode::ISO2022::CHARSET{G96}->{"\x7E"};  ## empty set
422    $C;    $C;
# Line 332  sub __2022_decode ($) { Line 426  sub __2022_decode ($) {
426    $C->{G1} = $Encode::ISO2022::CHARSET{G94n}->{"\x43"}; ## KS X 1001    $C->{G1} = $Encode::ISO2022::CHARSET{G94n}->{"\x43"}; ## KS X 1001
427    $C;    $C;
428  }  }
429    sub __encode_map ($) {
430      [qw/ucs_to_ascii ksx1001_1992_to_ucs/];
431    }
432    sub __decode_map ($) {
433      [qw/ksx1001_1992_to_ucs/];
434    }
435    
436  package Encode::ISO2022::SevenBit::INT1;  package Encode::ISO2022::SevenBit::INT1;
437  use vars qw/@ISA/;  use vars qw/@ISA/;
# Line 355  sub __2022__common ($) { Line 455  sub __2022__common ($) {
455    $C->{option}->{designate_to}->{G96}->{default} = -1;    $C->{option}->{designate_to}->{G96}->{default} = -1;
456    $C->{option}->{designate_to}->{G96n}->{default} = -1;    $C->{option}->{designate_to}->{G96n}->{default} = -1;
457    $C->{option}->{designate_to}->{G94}->{"\x4A"} = 0;    ## JIS X 0201 roman    $C->{option}->{designate_to}->{G94}->{"\x4A"} = 0;    ## JIS X 0201 roman
458    for ("\x40", "\x41", "\x42") {    for ("\x40", "\x41", "\x42", "\x44") {
459      $C->{option}->{designate_to}->{G94n}->{ $_ } = 0;      $C->{option}->{designate_to}->{G94n}->{ $_ } = 0;
460    }    }
461    $C->{option}->{designate_to}->{G94n}->{"\x43"} = 1;   ## KS X 1001    $C->{option}->{designate_to}->{G94n}->{"\x43"} = 1;   ## KS X 1001
# Line 366  sub __2022__common ($) { Line 466  sub __2022__common ($) {
466  }  }
467  sub __2022_encode ($) {  sub __2022_encode ($) {
468    my $C = shift->__2022__common;    my $C = shift->__2022__common;
469      $C->{GR} = undef;
470    $C->{C1} = $Encode::ISO2022::CHARSET{C1}->{"\x7E"};   ## empty set    $C->{C1} = $Encode::ISO2022::CHARSET{C1}->{"\x7E"};   ## empty set
471    $C->{G1} = $Encode::ISO2022::CHARSET{G96}->{"\x7E"};  ## empty set    $C->{G1} = $Encode::ISO2022::CHARSET{G96}->{"\x7E"};  ## empty set
472    $C;    $C;
# Line 375  sub __2022_decode ($) { Line 476  sub __2022_decode ($) {
476    $C->{G1} = $Encode::ISO2022::CHARSET{G94n}->{"\x43"}; ## KS X 1001    $C->{G1} = $Encode::ISO2022::CHARSET{G94n}->{"\x43"}; ## KS X 1001
477    $C;    $C;
478  }  }
479    sub __encode_map ($) {
480      [qw/ucs_to_ascii ucs_to_jisx0208_1983 ucs_to_gb2312_1980 ucs_to_ksx1001_1992 ucs_to_isoiec8859_1 ucs_to_isoiec8859_7 ucs_to_jisx0212_1990 ucs_to_jisx0208_1978 ucs_to_jisx0201_latin/];
481    }
482    sub __decode_map ($) {
483      [qw/jisx0208_1983_to_ucs jisx0208_1978_to_ucs jisx0201_latin_to_ucs gb2312_1980_to_ucs ksx1001_1992_to_ucs isoiec8859_7_to_ucs/];
484    }
485    
486  package Encode::ISO2022::SevenBit::LockSS2;  package Encode::ISO2022::SevenBit::LockSS2;
487  use vars qw/@ISA/;  use vars qw/@ISA/;
# Line 443  sub __2022__common ($) { Line 550  sub __2022__common ($) {
550  }  }
551  sub __2022_encode ($) {  sub __2022_encode ($) {
552    my $C = shift->__2022__common;    my $C = shift->__2022__common;
553      $C->{GR} = undef;
554    $C->{C1} = $Encode::ISO2022::CHARSET{C1}->{"\x7E"};   ## empty set    $C->{C1} = $Encode::ISO2022::CHARSET{C1}->{"\x7E"};   ## empty set
555    $C->{G1} = $Encode::ISO2022::CHARSET{G96}->{"\x7E"};  ## empty set    $C->{G1} = $Encode::ISO2022::CHARSET{G96}->{"\x7E"};  ## empty set
556    $C;    $C;
557  }  }
558    sub __encode_map ($) {
559      [qw/ucs_to_ascii ucs_to_gb2312_1980 ucs_to_cns11643_1 ucs_to_cns11643_2/];
560    }
561    sub __decode_map ($) {
562      [qw/gb2312_1980_to_ucs cns11643_1_to_ucs cns11643_2_to_ucs/];
563    }
564    
565  package Encode::ISO2022::SevenBit::CNExt;  package Encode::ISO2022::SevenBit::CNExt;
566  use vars qw/@ISA/;  use vars qw/@ISA/;
# Line 484  sub __2022__common ($) { Line 598  sub __2022__common ($) {
598    $C->{option}->{designate_to}->{G94n}->{P2_1} = 3;     ## CNS 11643 plane 16    $C->{option}->{designate_to}->{G94n}->{P2_1} = 3;     ## CNS 11643 plane 16
599    $C;    $C;
600  }  }
601    sub __encode_map ($) {
602      [qw/ucs_to_ascii ucs_to_gb2312_1980 ucs_to_iso_ir_165 ucs_to_cns11643_1 ucs_to_cns11643_2 ucs_to_cns11643_3 ucs_to_cns11643_4 ucs_to_cns11643_5 ucs_to_cns11643_6 ucs_to_cns11643_7/];
603    }
604    sub __decode_map ($) {
605      [qw/gb2312_1980_to_ucs iso_ir_165_to_ucs cns11643_1_to_ucs cns11643_2_to_ucs cns11643_3_to_ucs cns11643_4_to_ucs cns11643_5_to_ucs cns11643_6_to_ucs cns11643_7_to_ucs/];
606    }
607    
608  1;  1;
609  __END__  __END__
610    
611  =back  =back
612    
613    =head1 AUTHORS
614    
615    Wakaba <w@suika.fam.cx>
616    
617    Nanashi-san
618    
619  =head1 LICENSE  =head1 LICENSE
620    
621  Copyright 2002 wakaba <w@suika.fam.cx>  Copyright 2002 AUTHORS
622    
623  This library is free software; you can redistribute it  This library is free software; you can redistribute it
624  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.3  
changed lines
  Added in v.1.10

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24