Encode::Korean - Perl extension for Encoding of Korean: Transliterator Generator
use Encode::Korean::TransliteratorGenerator; my $coder = Encode::Korean::TransliteratorGenerator->new(); $coder->consonants(@CONSONANTS); $coder->vowels(@VOWELS); $coder->sep($SEP); $coder->make(); while($utf_input = <>) { print $coder->encode(decode 'utf8', $utf_input); }
This module provide a generic Korean transliterator class. You can define your own rules and create your own transliterator object.
The transliteration based encoding modules uses this class. See Encode::Korean.
@CONSONANT : array of 19 consonant letters @VOWEL : array of 21 vowel letters $EL : jongseong l $ELL : consecutive l's $NAUGHT : soundless choseong ieung $SEP : syllable separator $MODE : CamelCase, greedy_sep, smart_sep
eg. South Korean Standard
@CONSONANT = qw(g kk n d tt r m b pp s ss ng j jj ch k t p h); @VOWEL = qw(a ae ya yae eo e yeo ye o wa wae oe yo u wo we wi yu eu ui i); $EL = "l"; $ELL = "ll"; $NAUGHT = "'"; $SEP = "-";
Transliteration modes for ambiguous syllable boundary resolution.
Makes syllables capitalized. Ignores $NAUGHT and $SEP. Not yet implemented at all.
eg. 하나 -> HaNa, 한아 -> HanA
Insert $SEP between syllables. Implemented. The object can produces (when encode) transliteration with greedy separator mode and recognize (decode) it.
eg. 하나 -> ha.na, 한아 -> han'a, where $SEP = '.'; $NAUGHT = "'"; eg. 하나 -> ha.na, 한아 -> han.a, where $SEP = '.'; $NAUGHT = undef;
Insert $SEP when syllable boundaries are ambiguous in transliteration. Partially implemented. The object can recognize (decode) it but does not produce it.
If $NAUGHT is defined and is not null: insert $NAUGHT for the soundless head (choseong ieung) insert $SEP between consonant groups. eg. 하나 -> hana, 한아 -> han'a eg. 앉자 -> anc.ca, 안짜 -> an.cca else : insert $SEP for the soundless head and between consonant groups. eg. 하나 -> hana, 한아 -> han.a eg. 앉자 -> anc.ca, 안짜 -> an.cca 앉하 -> anc.ha, 안차 -> an.cha eg. 갂아 -> kakk.a, 각가 -> kak.ka, 가까 -> kakka 각까 -> kak.kka, 갂가 -> kakk.ka 갂까 -> kakk.kka
You Hyun Jo, <you at cpan dot org>
Copyright (C) 2007 by You Hyun Jo
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.8 or, at your option, any later version of Perl 5 you may have available.
To install Encode::Korean, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Encode::Korean
CPAN shell
perl -MCPAN -e shell install Encode::Korean
For more information on module installation, please visit the detailed CPAN module installation guide.