# This file auto generated from Data\common\transforms\Latin-Katakana.xml
# on Fri 29 Apr 6:48:44 pm GMT
use version;
our $VERSION = version->declare('v0.29.0');
use v5.10.1;
use mro 'c3';
use utf8;
use if $^V ge v5.12.0, feature => 'unicode_strings';
use Types::Standard qw( Str Int HashRef ArrayRef CodeRef RegexpRef );
use Moo;
BEGIN {
die "Transliteration requires Perl 5.18 or above"
unless $^V ge v5.18.0;
}
no warnings 'experimental::regex_sets';
has 'transforms' => (
is => 'ro',
isa => ArrayRef,
init_arg => undef,
default => sub { [
qr/(?^umi:\G(?^u:\p{Latin}))/,
{
type => 'transform',
data => [
{
from => q(Any),
to => q(NFD),
},
{
from => q(Any),
to => q(Lower),
},
],
},
{
type => 'conversion',
data => [
{
before => q(),
after => q(),
replace => q((?^u:\')),
result => q(。),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:\')),
result => q(、),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:va)),
result => q(ヷ),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:vi)),
result => q(ヸ),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:ve)),
result => q(ヹ),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:vo)),
result => q(ヺ),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:\')),
result => q(ヵ),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:\')),
result => q(ヶ),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:a)),
result => q(ア),
revisit => 0,
},
{
before => q(),
after => q((?^u:[aeiou])),
replace => q((?^u:by)),
result => q(ビ),
revisit => 2,
},
{
before => q(),
after => q(),
replace => q((?^u:ba)),
result => q(バ),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:bi)),
result => q(ビ),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:bu)),
result => q(ブ),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:be)),
result => q(ベ),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:bo)),
result => q(ボ),
revisit => 0,
},
{
before => q(),
after => q((?^u:i)),
replace => q((?^u:c)),
result => q(),
revisit => 1,
},
{
before => q(),
after => q((?^u:e)),
replace => q((?^u:c)),
result => q(),
revisit => 1,
},
{
before => q(),
after => q(),
replace => q((?^u:da)),
result => q(ダ),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:di)),
result => q(ディ),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:du)),
result => q(デゥ),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:de)),
result => q(デ),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:do)),
result => q(ド),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:dzu)),
result => q(ヅ),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:dji)),
result => q(ヂ),
revisit => 0,
},
{
before => q(),
after => q((?^u:[aeiou])),
replace => q((?^u:dj)),
result => q(ヂ),
revisit => 2,
},
{
before => q(),
after => q(),
replace => q((?^u:chi)),
result => q(チ),
revisit => 0,
},
{
before => q(),
after => q((?^u:[aeiou])),
replace => q((?^u:ch)),
result => q(チ),
revisit => 2,
},
{
before => q(),
after => q(),
replace => q((?^u:e)),
result => q(エ),
revisit => 0,
},
{
before => q(),
after => q((?^u:[aeiou])),
replace => q((?^u:gy)),
result => q(ギ),
revisit => 2,
},
{
before => q(),
after => q(),
replace => q((?^u:ga)),
result => q(ガ),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:gi)),
result => q(ギ),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:gu)),
result => q(グ),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:ge)),
result => q(ゲ),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:go)),
result => q(ゴ),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:i)),
result => q(イ),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:ja)),
result => q(ジャ),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:ju)),
result => q(ジュ),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:je)),
result => q(ジェ),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:jo)),
result => q(ジョ),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:ji)),
result => q(ジ),
revisit => 0,
},
{
before => q(),
after => q((?^u:[aeiou])),
replace => q((?^u:ky)),
result => q(キ),
revisit => 2,
},
{
before => q(),
after => q(),
replace => q((?^u:ka)),
result => q(カ),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:ki)),
result => q(キ),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:ku)),
result => q(ク),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:ke)),
result => q(ケ),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:ko)),
result => q(コ),
revisit => 0,
},
{
before => q(),
after => q((?^u:[aeiou])),
replace => q((?^u:my)),
result => q(ミ),
revisit => 2,
},
{
before => q(),
after => q(),
replace => q((?^u:ma)),
result => q(マ),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:mi)),
result => q(ミ),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:mu)),
result => q(ム),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:me)),
result => q(メ),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:mo)),
result => q(モ),
revisit => 0,
},
{
before => q(),
after => q((?^u:[pbfv])),
replace => q((?^u:m)),
result => q(ン),
revisit => 0,
},
{
before => q(),
after => q((?^u:[aeiou])),
replace => q((?^u:ny)),
result => q(ニ),
revisit => 2,
},
{
before => q(),
after => q(),
replace => q((?^u:na)),
result => q(ナ),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:ni)),
result => q(ニ),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:nu)),
result => q(ヌ),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:ne)),
result => q(ネ),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:no)),
result => q(ノ),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:o)),
result => q(オ),
revisit => 0,
},
{
before => q(),
after => q((?^u:[aeiou])),
replace => q((?^u:py)),
result => q(ピ),
revisit => 2,
},
{
before => q(),
after => q(),
replace => q((?^u:pa)),
result => q(パ),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:pi)),
result => q(ピ),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:pu)),
result => q(プ),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:pe)),
result => q(ペ),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:po)),
result => q(ポ),
revisit => 0,
},
{
before => q(),
after => q((?^u:[aeiou])),
replace => q((?^u:hy)),
result => q(ヒ),
revisit => 2,
},
{
before => q(),
after => q(),
replace => q((?^u:ha)),
result => q(ハ),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:hi)),
result => q(ヒ),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:hu)),
result => q(ヘゥ),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:he)),
result => q(ヘ),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:ho)),
result => q(ホ),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:fa)),
result => q(ファ),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:fi)),
result => q(フィ),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:fe)),
result => q(フェ),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:fo)),
result => q(フォ),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:fu)),
result => q(フ),
revisit => 0,
},
{
before => q(),
after => q((?^u:[aeiou])),
replace => q((?^u:ry)),
result => q(リ),
revisit => 2,
},
{
before => q(),
after => q(),
replace => q((?^u:ra)),
result => q(ラ),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:ri)),
result => q(リ),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:ru)),
result => q(ル),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:re)),
result => q(レ),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:ro)),
result => q(ロ),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:za)),
result => q(ザ),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:zi)),
result => q(ゼィ),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:zu)),
result => q(ズ),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:ze)),
result => q(ゼ),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:zo)),
result => q(ゾ),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:sa)),
result => q(サ),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:si)),
result => q(セィ),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:su)),
result => q(ス),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:se)),
result => q(セ),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:so)),
result => q(ソ),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:shi)),
result => q(シ),
revisit => 0,
},
{
before => q(),
after => q((?^u:[aeiou])),
replace => q((?^u:sh)),
result => q(シ),
revisit => 2,
},
{
before => q(),
after => q(),
replace => q((?^u:ta)),
result => q(タ),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:ti)),
result => q(ティ),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:tu)),
result => q(テゥ),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:te)),
result => q(テ),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:to)),
result => q(ト),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:tsu)),
result => q(ツ),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:vu)),
result => q(ヴ),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:u)),
result => q(ウ),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:wa)),
result => q(ワ),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:wi)),
result => q(ヰ),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:wu)),
result => q(ウ),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:we)),
result => q(ヱ),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:wo)),
result => q(ヲ),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:ya)),
result => q(ヤ),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:yi)),
result => q(イ),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:yu)),
result => q(ユ),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:ye)),
result => q(エ),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:yo)),
result => q(ヨ),
revisit => 0,
},
{
before => q(),
after => q((?^u:sh)),
replace => q((?^u:s)),
result => q(ッ),
revisit => 0,
},
{
before => q(),
after => q((?^u:ch)),
replace => q((?^u:t)),
result => q(ッ),
revisit => 0,
},
{
before => q(),
after => q((?^u:j)),
replace => q((?^u:j)),
result => q(ッ),
revisit => 0,
},
{
before => q(),
after => q((?^u:b)),
replace => q((?^u:b)),
result => q(ッ),
revisit => 0,
},
{
before => q(),
after => q((?^u:d)),
replace => q((?^u:d)),
result => q(ッ),
revisit => 0,
},
{
before => q(),
after => q((?^u:g)),
replace => q((?^u:g)),
result => q(ッ),
revisit => 0,
},
{
before => q(),
after => q((?^u:p)),
replace => q((?^u:p)),
result => q(ッ),
revisit => 0,
},
{
before => q(),
after => q((?^u:z)),
replace => q((?^u:z)),
result => q(ッ),
revisit => 0,
},
{
before => q(),
after => q((?^u:v)),
replace => q((?^u:v)),
result => q(ッ),
revisit => 0,
},
{
before => q(),
after => q((?^u:k)),
replace => q((?^u:k)),
result => q(ッ),
revisit => 0,
},
{
before => q(),
after => q((?^u:m)),
replace => q((?^u:m)),
result => q(ッ),
revisit => 0,
},
{
before => q(),
after => q((?^u:n)),
replace => q((?^u:n)),
result => q(ッ),
revisit => 0,
},
{
before => q(),
after => q((?^u:h)),
replace => q((?^u:h)),
result => q(ッ),
revisit => 0,
},
{
before => q(),
after => q((?^u:f)),
replace => q((?^u:f)),
result => q(ッ),
revisit => 0,
},
{
before => q(),
after => q((?^u:r)),
replace => q((?^u:r)),
result => q(ッ),
revisit => 0,
},
{
before => q(),
after => q((?^u:t)),
replace => q((?^u:t)),
result => q(ッ),
revisit => 0,
},
{
before => q(),
after => q((?^u:s)),
replace => q((?^u:s)),
result => q(ッ),
revisit => 0,
},
{
before => q(),
after => q((?^u:w)),
replace => q((?^u:w)),
result => q(ッ),
revisit => 0,
},
{
before => q(),
after => q((?^u:y)),
replace => q((?^u:y)),
result => q(ッ),
revisit => 0,
},
{
before => q(),
after => q((?^u:x)),
replace => q((?^u:x)),
result => q(ッ),
revisit => 0,
},
{
before => q(),
after => q((?^u:k)),
replace => q((?^u:c)),
result => q(ッ),
revisit => 0,
},
{
before => q(),
after => q((?^u:c)),
replace => q((?^u:c)),
result => q(ッ),
revisit => 0,
},
{
before => q(),
after => q((?^u:q)),
replace => q((?^u:c)),
result => q(ッ),
revisit => 0,
},
{
before => q(),
after => q((?^u:l)),
replace => q((?^u:l)),
result => q(ッ),
revisit => 0,
},
{
before => q(),
after => q((?^u:q)),
replace => q((?^u:q)),
result => q(ッ),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:̄)),
result => q(ー),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:\')),
result => q(ァ),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:\')),
result => q(ィ),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:\')),
result => q(ゥ),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:\')),
result => q(ェ),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:\')),
result => q(ォ),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:\')),
result => q(ッ),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:\')),
result => q(ヮ),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:\')),
result => q(ャ),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:\')),
result => q(ィ),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:\')),
result => q(ュ),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:\')),
result => q(ェ),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:\')),
result => q(ョ),
revisit => 0,
},
{
before => q((?^u:[ァ-オカキクケコサシスセソタチッツテトナ-ノハヒフヘホマ-ヲヵヶ][゙゚]?)),
after => q(),
replace => q((?^u:h)),
result => q(ー),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:cy)),
result => q(セィ),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:dy)),
result => q(ディ),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:hy)),
result => q(ヒ),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:sy)),
result => q(セィ),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:ty)),
result => q(ティ),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:zy)),
result => q(ゼィ),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:h)),
result => q(ヘ),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:ch)),
result => q(チ),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:sh)),
result => q(シ),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:dz)),
result => q(ヅ),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:dj)),
result => q(ヂ),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:b)),
result => q(ブ),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:d)),
result => q(デ),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:g)),
result => q(グ),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:k)),
result => q(ク),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:m)),
result => q(ム),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:n)),
result => q(ン),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:p)),
result => q(プ),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:r)),
result => q(ル),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:s)),
result => q(ス),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:t)),
result => q(テ),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:y)),
result => q(イ),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:z)),
result => q(ズ),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:v)),
result => q(ヴ),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:f)),
result => q(フ),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:j)),
result => q(ジ),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:w)),
result => q(ウ),
revisit => 0,
},
{
before => q(),
after => q(),
replace => q((?^u:ß)),
result => q(),
revisit => 2,
},
{
before => q(),
after => q(),
replace => q((?^u:æ)),
result => q(),
revisit => 1,
},
{
before => q(),
after => q(),
replace => q((?^u:ð)),
result => q(),
revisit => 1,
},
{
before => q(),
after => q(),
replace => q((?^u:ø)),
result => q(),
revisit => 1,
},
{
before => q(),
after => q(),
replace => q((?^u:þ)),
result => q(),
revisit => 2,
},
{
before => q(),
after => q(),
replace => q((?^u:c)),
result => q(),
revisit => 1,
},
{
before => q(),
after => q(),
replace => q((?^u:l)),
result => q(),
revisit => 1,
},
{
before => q(),
after => q(),
replace => q((?^u:q)),
result => q(),
revisit => 1,
},
{
before => q(),
after => q(),
replace => q((?^u:x)),
result => q(),
revisit => 2,
},
{
before => q(),
after => q(),
replace => q((?^u:\')),
result => q(),
revisit => 0,
},
{
before => q((?^u:\p{Katakana})),
after => q((?^u:\p{Latin})),
replace => q((?^u:')),
result => q(),
revisit => 0,
},
],
},
{
type => 'transform',
data => [
{
from => q(Any),
to => q(NFC),
},
]
},
] },
);
no Moo;
1;
# vim: tabstop=4