NAME

Lingua::EO::Supersignoj - Convert Esperanto characters

SYNOPSIS

use Lingua::EO::Supersignoj;

my $transkodigilo = Lingua::EO::Supersignoj->nova(
    de => 'fronte',
    al => 'X',
    u  => 'u*'
);
print $transkodigilo->transkodigu('Mia ^suoj estas ankau* en la ^cambro.');
# prints: Mia sxuoj estas ankaux en la cxambro.

my $transkodigilo = Lingua::EO::Supersignoj->nova(de => 'X');

for (qw(X x H h poste fronte apostrofoj iso unikodo)) {
    $transkodigilo->al = $_;
    print $transkodigilo->transkodigu(
        'Laux Ludoviko Zamenhof bongustas ' .
        'fresxa cxecxa mangxajxo kun spicoj.'
    );
}

DESCRIPTION

Esperanto has 6 letters that ASCII doesn't have. These characters do exist in Unicode and ISO-8859-3. This object orientated module makes conversion easier.

Constructor

nova

Returns a converter object. Takes name => value pairs to populate object properties.

Properties

de

The character set to convert from. Must be one of the sets listed below.

al

The character set to convert to. Must be one of the sets listed below.

u

An alternative collection of surrogates for u with a caron to be converted. Must be either a single scalar or an array reference.

If any alternative for u-caron or U-caron is given, the ones from the source character set are not used.

To leave u's alone, assign a reference to an empty array: $objekto->u = [];.

U

Same as u, but for uppercase U.

Method

transkodigu

Takes one or more strings to convert and returns a list of converted strings.

Converts from X if $objekto->de has not been set.

Converts to unikodo if $objekto->al has not been set.

CHARACTER SETS

The character sets are array references in %Lingua::EO::Supersignoj::cxapeloj. Feel free to add your own.

h

Ch ch Gh gh Hh hh Jh jh Sh sh Uw uw

H

CH ch GH gh HH hh JH jh SH sh UW uw

x

Cx cx Gx gx Hx hx Jx jx Sx sx Ux ux

X

CX cx GX gx HX hx JX jx SX sx UX ux

poste

C^ c^ G^ g^ H^ h^ J^ j^ S^ s^ U^ u^

fronte

^C ^c ^G ^g ^H ^h ^J ^j ^S ^s ^U ^u

apostrofoj

C' c' G' g' H' h' J' j' S' s' U' u'

iso

198 230 216 248 166 182 172 188 222 254 221 253 (iso-8859-3/9)

unikodo

264 265 284 285 292 293 308 309 348 349 364 365

TODO / KNOWN ISSUES

There currently is no way to define an alternative u-caron to convert to.

Since converting bare u without diacritic would require a word list, this module does not provide such functionality.

AUTHOR

Juerd <juerd@cpan.org> <http://juerd.nl/>

SEE ALSO

perl, encoding, perlunicode.