NAME

Encode::Arabic - Encodings of Arabic

REVISION

$Revision: 417 $        $Date: 2007-09-24 15:03:33 +0200 (Mon, 24 Sep 2007) $

SYNOPSIS

use Encode::Arabic;                 # imports just like 'use Encode' even with options would

while ($line = <>) {                # renders the ArabTeX notation for Arabic both in the ..

    print encode 'utf8', decode 'arabtex', $line;          # .. Arabic script proper and the
    print encode 'utf8', decode 'arabtex-zdmg', $line;     # .. Latin phonetic transcription
}

# 'use Encode::Arabic ":modes"' would export the functions controlling the conversion modes

Encode::Arabic::demode 'arabtex', 'default';
Encode::Arabic::enmode 'buckwalter', 'full', 'xml', 'strip off kashida';

# Arabic in lower ASCII transliterations <--> Arabic script in Perl's internal encoding

$string = decode 'ArabTeX', $octets;
$octets = encode 'Buckwalter', $string;

$string = decode 'Buckwalter', $octets;
$octets = encode 'ArabTeX', $string;

# Arabic in lower ASCII transliterations <--> Latin phonetic transcription, Perl's utf8

$string = decode 'Buckwalter', $octets;
$octets = encode 'ArabTeX', $string;

$string = decode 'ArabTeX-ZDMG', $octets;
$octets = encode 'utf8', $string;

DESCRIPTION

This module is a wrapper for various implementations of the encoding systems used for the Arabic language and covering even some non-Arabic extensions to the Arabic script. The included modules fit in the philosophy of Encode::Encoding and can be used directly with the Encode module.

LIST OF ENCODINGS

ArabTeX

ArabTeX multi-character notation for Arabic / Perl's internal format for the Arabic script

Encode::Arabic::ArabTeX, uses Encode::Mapper

ArabTeX-RE

Deprecated method using sequential regular-expression substitutions. Limited in scope over the ArabTeX notation and non-efficient in data processing, still, not requiring the Encode::Mapper module.

Encode::Arabic::ArabTeX::RE

ArabTeX-Verbatim

ArabTeX multi-character verbatim notation for Arabic / Perl's internal format for the Arabic script

Encode::Arabic::ArabTeX::Verbatim, uses Encode::Mapper

ArabTeX-ZDMG

ArabTeX multi-character notation for Arabic / Perl's internal format for the Latin phonetic trascription in the ZDMG style

Encode::Arabic::ArabTeX::ZDMG, uses Encode::Mapper

ArabTeX-ZDMG-RE

Deprecated method using sequential regular-expression substitutions. Limited in scope over the ArabTeX notation and non-efficient in data processing, still, not requiring the Encode::Mapper module.

Encode::Arabic::ArabTeX::ZDMG::RE

Buckwalter

Buckwalter one-to-one notation for Arabic / Perl's internal format for the Arabic script

Encode::Arabic::Buckwalter

Parkinson

Parkinson one-to-one notation for Arabic / Perl's internal format for the Arabic script

Encode::Arabic::Parkinson

There are generic aliases to these provided by Encode. Case does not matter and all characters of the class [ _-] are interchangable.

Note that the standard Encode module already deals with several other single-byte encoding schemes for Arabic popular with whichever operating system, be it *n*x, Windows, DOS or Macintosh. See Encode::Supported and Encode::Byte for their identification names and aliases.

EXPORTS & MODES

The module exports as if use Encode also appeared in the calling package. The import options are just delegated to Encode and imports performed properly, with the exception of the :modes option coming first in the list. In such a case, the following functions will be introduced into the namespace of the importing package:

enmode ($enc, @list)

Calls the enmode method associated with the given $enc encoding, and passes the @list to it. The idea is similar to the encode functions and methods of the Encode and Encode::Encoding modules, respectively. Used for control over the modes of conversion.

demode ($enc, @list)

Analogous to enmode, but calling the appropriate demode method. See the individual implementations of the listed encodings.

SEE ALSO

Encode::Arabic Online Interface http://ufal.mff.cuni.cz/~smrz/Encode/Arabic/

Encode Arabic Project http://sourceforge.net/projects/encode-arabic/

ElixirFM Project http://sourceforge.net/projects/elixir-fm/

Klaus Lagally's ArabTeX ftp://ftp.informatik.uni-stuttgart.de/pub/arabtex/arabtex.htm

Tim Buckwalter's Qamus http://www.qamus.org/

Arabeyes Arabic Unix Project http://www.arabeyes.org/

Lecture Notes on Arabic NLP http://ufal.mff.cuni.cz/~smrz/ANLP/anlp-lecture-notes.pdf

Encode, Encode::Encoding, Encode::Mapper, Encode::Byte

Locale::Recode

MARC::Charset

Lingua::AR::MacArabic, Lingua::AR::Word

Text::TransMetaphone

AUTHOR

Otakar Smrz, http://ufal.mff.cuni.cz/~smrz/

eval { 'E<lt>' . ( join '.', qw 'otakar smrz' ) . "\x40" . ( join '.', qw 'mff cuni cz' ) . 'E<gt>' }

Perl is also designed to make the easy jobs not that easy ;)

COPYRIGHT AND LICENSE

Copyright 2003-2007 by Otakar Smrz

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.