Encode::UTR22 - Implement Unicode TR22 complex conversions


Implements all of UTR22 except: validity, header, bidirectional re-ordering, history, v attribute for versioning, aliases - that's the job of another module fbu and fub are treated synonymously with single directional a, with equal priority

Supports UTR22c extensions including: contexts, reordering



Hash containing attributes from the <characterMapping> element.


Two element array containing, in order, the bytes and Unicode replacement characters


Hash, indexed by classname, returning Encode::UTR22::Regexp::class object.


Array of rules, each rule being a hash.


Hash, indexed by contextname, returning Encode::UTR22::Regexp::group object representing a context expression.


Hash, indexed by 'bytes' or 'unicode', returning hash containing ordering elements 'b', 'u', 'bctxt', 'actxt'


new( $infile [, %parms ] )

Create new instance, parsing and compiling the UTR22 xml

process_file( $infile [, %params ] )

Create and return a new instance, and parse (but do not compile) a UTR22 xml file

compile( [ %params ] )

Compile a UTR22 object. Parameters recognized


Determines which direction that map will be compiled. True = compile for Unicode to Bytes. False = compile for Bytes to Unicode. Default is both.


Turn on debugging.

decode( $sourceByteString [, CHECK] )

Perform Bytes to Unicode conversion.

encode( $sourceUnicodeString [, CHECK])

Perform Unicode to Bytes conversion.


This module is copyright SIL International and is distributed under the same terms as Perl itself.

1 POD Error

The following errors were encountered while parsing the POD:

Around line 1317:

You forgot a '=back' before '=head1'