|
our $VERSION = version->declare( 'v0.40.0' );
use if $^V ge v5.12.0, feature => 'unicode_strings' ;
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\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(\') ,
result => q(。) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(\') ,
result => q(、) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(va) ,
result => q(ヷ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(vi) ,
result => q(ヸ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(ve) ,
result => q(ヹ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(vo) ,
result => q(ヺ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(\') ,
result => q(ヵ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(\') ,
result => q(ヶ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(a) ,
result => q(ア) ,
revisit => 0,
},
{
before => q() ,
after => q([aeiou]) ,
replace => q(by) ,
result => q(ビ) ,
revisit => 2,
},
{
before => q() ,
after => q() ,
replace => q(ba) ,
result => q(バ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(bi) ,
result => q(ビ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(bu) ,
result => q(ブ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(be) ,
result => q(ベ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(bo) ,
result => q(ボ) ,
revisit => 0,
},
{
before => q() ,
after => q(i) ,
replace => q(c) ,
result => q() ,
revisit => 1,
},
{
before => q() ,
after => q(e) ,
replace => q(c) ,
result => q() ,
revisit => 1,
},
{
before => q() ,
after => q() ,
replace => q(da) ,
result => q(ダ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(di) ,
result => q(ディ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(du) ,
result => q(デゥ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(de) ,
result => q(デ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(do) ,
result => q(ド) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(dzu) ,
result => q(ヅ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(dji) ,
result => q(ヂ) ,
revisit => 0,
},
{
before => q() ,
after => q([aeiou]) ,
replace => q(dj) ,
result => q(ヂ) ,
revisit => 2,
},
{
before => q() ,
after => q() ,
replace => q(chi) ,
result => q(チ) ,
revisit => 0,
},
{
before => q() ,
after => q([aeiou]) ,
replace => q(ch) ,
result => q(チ) ,
revisit => 2,
},
{
before => q() ,
after => q() ,
replace => q(e) ,
result => q(エ) ,
revisit => 0,
},
{
before => q() ,
after => q([aeiou]) ,
replace => q(gy) ,
result => q(ギ) ,
revisit => 2,
},
{
before => q() ,
after => q() ,
replace => q(ga) ,
result => q(ガ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(gi) ,
result => q(ギ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(gu) ,
result => q(グ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(ge) ,
result => q(ゲ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(go) ,
result => q(ゴ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(i) ,
result => q(イ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(ja) ,
result => q(ジャ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(ju) ,
result => q(ジュ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(je) ,
result => q(ジェ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(jo) ,
result => q(ジョ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(ji) ,
result => q(ジ) ,
revisit => 0,
},
{
before => q() ,
after => q([aeiou]) ,
replace => q(ky) ,
result => q(キ) ,
revisit => 2,
},
{
before => q() ,
after => q() ,
replace => q(ka) ,
result => q(カ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(ki) ,
result => q(キ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(ku) ,
result => q(ク) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(ke) ,
result => q(ケ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(ko) ,
result => q(コ) ,
revisit => 0,
},
{
before => q() ,
after => q([aeiou]) ,
replace => q(my) ,
result => q(ミ) ,
revisit => 2,
},
{
before => q() ,
after => q() ,
replace => q(ma) ,
result => q(マ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(mi) ,
result => q(ミ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(mu) ,
result => q(ム) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(me) ,
result => q(メ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(mo) ,
result => q(モ) ,
revisit => 0,
},
{
before => q() ,
after => q([pbfv]) ,
replace => q(m) ,
result => q(ン) ,
revisit => 0,
},
{
before => q() ,
after => q([aeiou]) ,
replace => q(ny) ,
result => q(ニ) ,
revisit => 2,
},
{
before => q() ,
after => q() ,
replace => q(na) ,
result => q(ナ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(ni) ,
result => q(ニ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(nu) ,
result => q(ヌ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(ne) ,
result => q(ネ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(no) ,
result => q(ノ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(o) ,
result => q(オ) ,
revisit => 0,
},
{
before => q() ,
after => q([aeiou]) ,
replace => q(py) ,
result => q(ピ) ,
revisit => 2,
},
{
before => q() ,
after => q() ,
replace => q(pa) ,
result => q(パ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(pi) ,
result => q(ピ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(pu) ,
result => q(プ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(pe) ,
result => q(ペ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(po) ,
result => q(ポ) ,
revisit => 0,
},
{
before => q() ,
after => q([aeiou]) ,
replace => q(hy) ,
result => q(ヒ) ,
revisit => 2,
},
{
before => q() ,
after => q() ,
replace => q(ha) ,
result => q(ハ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(hi) ,
result => q(ヒ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(hu) ,
result => q(ヘゥ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(he) ,
result => q(ヘ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(ho) ,
result => q(ホ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(fa) ,
result => q(ファ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(fi) ,
result => q(フィ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(fe) ,
result => q(フェ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(fo) ,
result => q(フォ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(fu) ,
result => q(フ) ,
revisit => 0,
},
{
before => q() ,
after => q([aeiou]) ,
replace => q(ry) ,
result => q(リ) ,
revisit => 2,
},
{
before => q() ,
after => q() ,
replace => q(ra) ,
result => q(ラ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(ri) ,
result => q(リ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(ru) ,
result => q(ル) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(re) ,
result => q(レ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(ro) ,
result => q(ロ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(za) ,
result => q(ザ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(zi) ,
result => q(ゼィ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(zu) ,
result => q(ズ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(ze) ,
result => q(ゼ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(zo) ,
result => q(ゾ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(sa) ,
result => q(サ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(si) ,
result => q(セィ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(su) ,
result => q(ス) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(se) ,
result => q(セ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(so) ,
result => q(ソ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(shi) ,
result => q(シ) ,
revisit => 0,
},
{
before => q() ,
after => q([aeiou]) ,
replace => q(sh) ,
result => q(シ) ,
revisit => 2,
},
{
before => q() ,
after => q() ,
replace => q(ta) ,
result => q(タ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(ti) ,
result => q(ティ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(tu) ,
result => q(テゥ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(te) ,
result => q(テ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(to) ,
result => q(ト) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(tsu) ,
result => q(ツ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(vu) ,
result => q(ヴ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(u) ,
result => q(ウ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(wa) ,
result => q(ワ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(wi) ,
result => q(ヰ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(wu) ,
result => q(ウ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(we) ,
result => q(ヱ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(wo) ,
result => q(ヲ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(ya) ,
result => q(ヤ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(yi) ,
result => q(イ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(yu) ,
result => q(ユ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(ye) ,
result => q(エ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(yo) ,
result => q(ヨ) ,
revisit => 0,
},
{
before => q() ,
after => q(sh) ,
replace => q(s) ,
result => q(ッ) ,
revisit => 0,
},
{
before => q() ,
after => q(ch) ,
replace => q(t) ,
result => q(ッ) ,
revisit => 0,
},
{
before => q() ,
after => q(j) ,
replace => q(j) ,
result => q(ッ) ,
revisit => 0,
},
{
before => q() ,
after => q(b) ,
replace => q(b) ,
result => q(ッ) ,
revisit => 0,
},
{
before => q() ,
after => q(d) ,
replace => q(d) ,
result => q(ッ) ,
revisit => 0,
},
{
before => q() ,
after => q(g) ,
replace => q(g) ,
result => q(ッ) ,
revisit => 0,
},
{
before => q() ,
after => q(p) ,
replace => q(p) ,
result => q(ッ) ,
revisit => 0,
},
{
before => q() ,
after => q(z) ,
replace => q(z) ,
result => q(ッ) ,
revisit => 0,
},
{
before => q() ,
after => q(v) ,
replace => q(v) ,
result => q(ッ) ,
revisit => 0,
},
{
before => q() ,
after => q(k) ,
replace => q(k) ,
result => q(ッ) ,
revisit => 0,
},
{
before => q() ,
after => q(m) ,
replace => q(m) ,
result => q(ッ) ,
revisit => 0,
},
{
before => q() ,
after => q(n) ,
replace => q(n) ,
result => q(ッ) ,
revisit => 0,
},
{
before => q() ,
after => q(h) ,
replace => q(h) ,
result => q(ッ) ,
revisit => 0,
},
{
before => q() ,
after => q(f) ,
replace => q(f) ,
result => q(ッ) ,
revisit => 0,
},
{
before => q() ,
after => q(r) ,
replace => q(r) ,
result => q(ッ) ,
revisit => 0,
},
{
before => q() ,
after => q(t) ,
replace => q(t) ,
result => q(ッ) ,
revisit => 0,
},
{
before => q() ,
after => q(s) ,
replace => q(s) ,
result => q(ッ) ,
revisit => 0,
},
{
before => q() ,
after => q(w) ,
replace => q(w) ,
result => q(ッ) ,
revisit => 0,
},
{
before => q() ,
after => q(y) ,
replace => q(y) ,
result => q(ッ) ,
revisit => 0,
},
{
before => q() ,
after => q(x) ,
replace => q(x) ,
result => q(ッ) ,
revisit => 0,
},
{
before => q() ,
after => q(k) ,
replace => q(c) ,
result => q(ッ) ,
revisit => 0,
},
{
before => q() ,
after => q(c) ,
replace => q(c) ,
result => q(ッ) ,
revisit => 0,
},
{
before => q() ,
after => q(q) ,
replace => q(c) ,
result => q(ッ) ,
revisit => 0,
},
{
before => q() ,
after => q(l) ,
replace => q(l) ,
result => q(ッ) ,
revisit => 0,
},
{
before => q() ,
after => q(q) ,
replace => q(q) ,
result => q(ッ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(̄) ,
result => q(ー) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(\') ,
result => q(ァ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(\') ,
result => q(ィ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(\') ,
result => q(ゥ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(\') ,
result => q(ェ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(\') ,
result => q(ォ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(\') ,
result => q(ッ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(\') ,
result => q(ヮ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(\') ,
result => q(ャ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(\') ,
result => q(ィ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(\') ,
result => q(ュ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(\') ,
result => q(ェ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(\') ,
result => q(ョ) ,
revisit => 0,
},
{
before => q([ァ-オカキクケコサシスセソタチッツテトナ-ノハヒフヘホマ-ヲヵヶ][゙゚]?) ,
after => q() ,
replace => q(h) ,
result => q(ー) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(cy) ,
result => q(セィ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(dy) ,
result => q(ディ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(hy) ,
result => q(ヒ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(sy) ,
result => q(セィ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(ty) ,
result => q(ティ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(zy) ,
result => q(ゼィ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(h) ,
result => q(ヘ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(ch) ,
result => q(チ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(sh) ,
result => q(シ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(dz) ,
result => q(ヅ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(dj) ,
result => q(ヂ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(b) ,
result => q(ブ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(d) ,
result => q(デ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(g) ,
result => q(グ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(k) ,
result => q(ク) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(m) ,
result => q(ム) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(n) ,
result => q(ン) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(p) ,
result => q(プ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(r) ,
result => q(ル) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(s) ,
result => q(ス) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(t) ,
result => q(テ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(y) ,
result => q(イ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(z) ,
result => q(ズ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(v) ,
result => q(ヴ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(f) ,
result => q(フ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(j) ,
result => q(ジ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(w) ,
result => q(ウ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(ß) ,
result => q() ,
revisit => 2,
},
{
before => q() ,
after => q() ,
replace => q(æ) ,
result => q() ,
revisit => 1,
},
{
before => q() ,
after => q() ,
replace => q(ð) ,
result => q() ,
revisit => 1,
},
{
before => q() ,
after => q() ,
replace => q(ø) ,
result => q() ,
revisit => 1,
},
{
before => q() ,
after => q() ,
replace => q(þ) ,
result => q() ,
revisit => 2,
},
{
before => q() ,
after => q() ,
replace => q(c) ,
result => q() ,
revisit => 1,
},
{
before => q() ,
after => q() ,
replace => q(l) ,
result => q() ,
revisit => 1,
},
{
before => q() ,
after => q() ,
replace => q(q) ,
result => q() ,
revisit => 1,
},
{
before => q() ,
after => q() ,
replace => q(x) ,
result => q() ,
revisit => 2,
},
{
before => q() ,
after => q() ,
replace => q(\') ,
result => q() ,
revisit => 0,
},
{
before => q(\p{Katakana}) ,
after => q(\p{Latin}) ,
replace => q(') ,
result => q() ,
revisit => 0,
},
],
},
{
type => 'transform' ,
data => [
{
from => q(Any) ,
to => q(NFC) ,
},
]
},
] },
);
no Moo;
1;
|