NAME
Encode::ISO2022 - ISO/IEC 2022 character encoding scheme
SYNOPSIS
package FooEncoding;
use Encode::ISO2022;
our @ISA = qw(Encode::ISO2022);
$Encode::Encoding{'foo-encoding'} = bless {
Name => 'foo-encoding',
CCS => [ {...CCS #1...}, {...CCS #2...}, ....]
} => __PACKAGE__;
DESCRIPTION
This module provides a character encoding scheme (CES) switching a set
of multiple coded character sets (CCS).
Instances of Encode::ISO2022 have following hash items.
Name => STRING
The name of this encoding as Encode::Encoding object.
CCS => [ FEATURE, FEATURE, ...]
List of features defining CCSs used by this encoding. Each item is a
hash reference containing following items.
bytes => NUMBER
Number of bytes to represent each character. Default is 1.
dec_only => BOOLEAN
If true value is set, this CCS will be used only for decoding.
encoding => ENCODING
Encode::Encoding object used as CCS. Mandatory.
Encodings used for CCS must provide "raw" conversion. Namely,
they must be stateless and fixed-length conversion over 94^n or
96^n code tables. Encode::ISO2022::CCS lists available CCSs.
gr => BOOLEAN
If true value is set, each character will be invoked to GR.
g => STRING
g_init => STRING
Working set this CCS may be designated to: 'g0', 'g1', 'g2' or
'g3'.
If "g_init" is set, this CCS will be designated at beginning of
coversion implicitly, and at end of conversion explicitly.
If "g" or "g_init" is set and neither of "ls" nor "ss" is not
set, this CCS will be invoked when it is designated.
If neither of "g", "g_init", "ls" nor "ss" is set, this CCS is
invoked always.
g_seq => STRING
Escape sequence to designate this CCS, if it can be designated
explicitly.
ls => STRING
ss => STRING
Escape sequence or control character to invoke this CCS, if it
should be invoked explicitly.
If "ss" is set, this CCS will be invoked for only one character.
LineInit => BOOLEAN
If it is true, designation and invokation states will be initialized
at beginning of lines.
SubChar => STRING
Unicode string to be used for substitution character.
To know more about use of this module, the source of Encode::ISO2022JP2
may be an example.
SEE ALSO
ISO/IEC 2022 *Information technology - Character code structure and
extension techniques*.
Encode, Encode::ISO2022::CCS.
AUTHOR
Hatuka*nezumi - IKEDA Soji, <
[email protected]>
COPYRIGHT AND LICENSE
Copyright (C) 2013 by Hatuka*nezumi - IKEDA Soji
This program is free software; you can redistribute it and/or modify it
under the same terms as Perl itself.