Parent Directory
|
Revision Log
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; | ||