Encode::Korean::Yale - Perl extension for Encoding of Korean: Yale Romanization


Encode-Korean documentation Contained in the Encode-Korean distribution.

Index


Code Index:

NAME

Top

Encode::Korean::Yale - Perl extension for Encoding of Korean: Yale Romanization System for Koran Language

SYNOPSIS

Top

  use Encode::Korean::Yale;

  $string = decode 'yale', $octets;
  $octets = encode 'yale', $string;

  while($line = <>) {
    print encode 'utf8', decode 'yale', $line;
  }

DESCRIPTION

Top

Encode::Korean::Yale implements an encoding system based on the transliteration method of Yale Romanization for Korean Language, developed by S. Martin and his colleagues at Yale University. It is used mainly and only in academic litterature.

This module use Encode implementation base class Encode::Encoding. The conversion is carried by a transliterator object of Encode::Korean::TransliteratorGenerator (Encode::Korean::TransliteratorGenerator).

RULES

	Unicode name		Transliteration

	kiyeok			k
	ssangkieok		kk
	nieun			n
	tikeut			t
	ssangtikeut		tt
	rieul			l
	mieum			m
	pieup			p
	ssangpieup		pp
	sios			s
	ssangsios		ss
	ieung			ng
	cieuc			c
	ssangcieuc		cc
	chieuch			ch
	khieukh			kh
	thieuth			th
	phieuph			ph
	hieuh			h

	a			a
	ae			ay
	ya			ya
	yae			yay
	eo			e
	e			ey
	yeo			ye
	ye			yey
	o			o
	wa			wa
	wae			way
	oe			oy
	yo			yo
	u			wu
	weo			we
	we			wey
	wi			wi
	yu			yu
	eu			u
	yi			uy
	i			i




SEE ALSO

Top

Visit http://en.wikipedia.org/wiki/Yale_Romanization, for more information about Yale Romanization.

Visithttp://www.alanwood.net/unicode/hangul_jamo.html, if you want a list of Hangul Jamo in Unicode.

SeeEncode, Encode::Encoding, Encode::Korean, Encode::Korean::TransliteratorGenerator (Encode::Korean::TransliteratorGenerator), if you want to know more about relevant modules.

See Encode::KR, Lingua::KO::MacKorean, if you need common encodings.

SeeLingua::KO::Romanize::Hangul, if you need a common romanization (transcription method used in public).

AUTHOR

Top

You Hyun Jo, <you at cpan dot org>

COPYRIGHT AND LICENSE

Top


Encode-Korean documentation Contained in the Encode-Korean distribution.

# Encoding of Korean: Yale Romanization System for Korean Language

# $Id: Yale.pm,v 1.6 2007/11/29 14:25:31 you Exp $

package Encode::Korean::Yale;

our $VERSION = do { q$Revision: 1.6 $ =~ /\d+\.(\d+)/; sprintf "%.2f", $1 / 100  };

use 5.008008;

use strict;
use warnings;

use Encode::Encoding;
use base qw(Encode::Encoding);

__PACKAGE__->Define(qw/korean-yale yale/); 

sub import {
	require Encode;
	Encode->export_to_level(1,@_);
}


# == RULES ==
use Encode::Korean::TransliteratorGenerator;
my $yale = Encode::Korean::TransliteratorGenerator->new();

$yale->consonants(qw(k kk n t tt l m p pp s ss ng c cc ch kh th ph h));
$yale->vowels(qw(a ay ya yay e ey ye yey o wa way oy yo wu we wey wi yu u uy i));
#$yale->el('l');
#$yale->ell('ll');
$yale->naught('.');
$yale->sep('.');
$yale->make();


# == MODES ==
$yale->enmode('greedy');
$yale->demode('greedy');
sub enmode {
	my $class = shift;
	my($mode) = @_;
	$yale->enmode($mode);
}

sub demode {
	my $class = shift;
	my($mode) = @_;
	$yale->demode($mode);
}


# == METHODS ==
# === encode ===
# * encode($string [,$check])
# * Encodes unicode hangul syllables (Perl internal string) 
#   into transliterated (romanized) string
sub encode ($$;$) {
    my ($obj, $str, $chk) = @_;
	 my $tr = $yale->encode($str, $chk);
    $_[1] = '' if $chk;
    return $tr;
}

#
# === decode ===
# * decode($octets [,$check])
# * Decodes transliteration into unicode hangul syllables (Perl internal string)
sub decode ($$;$) {
    my ($obj, $str, $chk) = @_;
	 my $han = $yale->decode($str, $chk);
    $_[1] = '' if $chk;
    return $han;
}

# === cat_decode ===
# * Needs to work with encoding pragma
# * cat_decode($destination, $octets, $offset, $terminator [,$check])


1;
__END__