/[pub]/test/oldencodeutils/lib/Encode/ISO2022/RFC1345.pm
Suika

Contents of /test/oldencodeutils/lib/Encode/ISO2022/RFC1345.pm

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.4 - (hide annotations) (download)
Sat Oct 12 07:27:01 2002 UTC (23 years, 9 months ago) by wakaba
Branch: MAIN
CVS Tags: HEAD
Changes since 1.3: +7 -2 lines
2002-10-12  Nanashi-san

	* SJIS.pm: New module.
	* SJIS/: New directory.
	(Commited by Wakaba <w@suika.fam.cx>)

1 wakaba 1.1 =head1 NAME
2    
3     Encode::ISO2022::RFC1345 --- Encode and decode of ISO/IEC 2022
4     based encodings described in IETF RFC 1345 (and not defined by
5 wakaba 1.3 any other standards)
6 wakaba 1.1
7     =head1 ENCODINGS
8    
9     =over 4
10    
11     =cut
12    
13     require 5.7.3;
14     use strict;
15     package Encode::ISO2022::RFC1345;
16     use vars qw($VERSION);
17 wakaba 1.4 $VERSION=do{my @r=(q$Revision: 1.3 $=~/\d+/g);sprintf "%d."."%02d" x $#r,@r};
18 wakaba 1.1 use base qw(Encode::Encoding);
19     require Encode::ISO2022;
20    
21     sub encode ($$;$) {
22     my ($obj, $str, $chk) = @_;
23     $_[1] = '' if $chk;
24     $str = &Encode::ISO2022::internal_to_iso2022 ($str, $obj->__2022_encode);
25     return $str;
26     }
27    
28     sub decode ($$;$) {
29     my ($obj, $str, $chk) = @_;
30     $_[1] = '' if $chk;
31     return &Encode::ISO2022::iso2022_to_internal ($str, $obj->__2022_decode);
32     }
33    
34     sub __2022__common ($) {
35     my $C = Encode::ISO2022->new_object;
36     $C->{option}->{designate_to}->{C0}->{default} = -1;
37     $C->{option}->{designate_to}->{C1}->{default} = -1;
38     $C->{option}->{designate_to}->{G94}->{default} = -1;
39     $C->{option}->{designate_to}->{G94}->{B} = -1;
40     $C->{option}->{designate_to}->{G94n}->{default} = -1;
41     $C->{option}->{designate_to}->{G96}->{default} = -1;
42     $C->{option}->{designate_to}->{G96n}->{default} = -1;
43     $C->{G1} = $Encode::ISO2022::CHARSET{G94}->{"\x7E"}; ## empty
44     $C->{option}->{reset}->{Gdesignation} = 0;
45     $C->{option}->{reset}->{Ginvoke} = 0;
46     $C;
47     }
48     sub __2022_encode ($) {
49     my $C = shift->__2022__common;
50     $C->{GR} = undef;
51     $C;
52     }
53     sub __2022_decode ($) {
54     my $C = shift->__2022__common;
55     $C;