Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
Encode::ISO2022(3)    User Contributed Perl Documentation   Encode::ISO2022(3)

NAME
       Encode::ISO2022 - ISO/IEC 2022 character	encoding scheme

SYNOPSIS
	 package FooEncoding;
	 use base qw(Encode::ISO2022);

	 __PACKAGE__->Define(
	   Name	=> 'foo-encoding',
	   CCS => [ {...CCS one...}, {...CCS two...}, ....]
	 );

DESCRIPTION
       This module provides a character	encoding scheme	(CES) switching	a set
       of multiple coded character sets	(CCS).

       A class method Define() may take	following arguments.

       Alias =>	REGEX
	   The regular expression representing alias of	this encoding, if any.

       Name => STRING
	   The name of this encoding as	Encode::Encoding object.  Mandatory.

       CCS => [	FEATURE, FEATURE, ...]
	   List	of features defining CCSs used by this encoding.  Mandatory.
	   Each	item is	a hash reference containing following items.

	   bytes => NUMBER
	       Number of bytes to represent each character.  Default is	1.

	   cl => BOOLEAN
	       If true value is	set, this CCS includes map to/from code	points
	       between 0/0 and 1/15.  There should be one CCS with this	flag
	       to reset	broken designation.

	   dec_only => BOOLEAN
	       If true value is	set, this CCS will be used only	for decoding.

	   encoding => STRING |	ENCODING
	       Encode::Encoding	object used as CCS, or its name.  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.

	   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 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.

	   gr => BOOLEAN
	       If true value is	set, this CCS will be invoked to GR using
	       7-bit conversion	table.

	   ls => STRING
	   ss => STRING
	       Escape sequence or control character to invoke this CCS,	if it
	       should be invoked explicitly.

	       If "ls" is set, this CCS	will be	invoked	by locking-shift.  If
	       "ss" is set, this CCS will be invoked by	single-shift.

	   range => STRING
	       Possible	range of encoded bytes.	 General value is '\x21-\x7E',
	       '\x20-\x7F', '\xA1-\xFE'	or '\xA0-\xFF'.	 This is required for
	       multibyte CCSs to detect	broken multibyte sequences.

       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.

CAVEATS
       This module implements small subset of the features defined by ISO/IEC
       2022.  Each encoding recognizes only several predefined designation and
       invokation functions.  It can handle limited number of coded character
       sets.  Variable length multibyte	coded character	sets aren't supported.
       And so on.

SEE ALSO
       ISO/IEC 2022 Information	technology - Character code structure and
       extension techniques.

       Encode, Encode::ISO2022::CCS.

AUTHOR
       Hatuka*nezumi - IKEDA Soji, <nezumi@cpan.org>

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.

perl v5.32.1			  2013-09-23		    Encode::ISO2022(3)

NAME | SYNOPSIS | DESCRIPTION | CAVEATS | SEE ALSO | AUTHOR | COPYRIGHT AND LICENSE

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=Encode::ISO2022&sektion=3&manpath=FreeBSD+13.0-RELEASE+and+Ports>

home | help