|
our $VERSION = version->declare( 'v0.28.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/(?^um:\G.)/ ,
{
type => 'transform' ,
data => [
{
from => q(Any) ,
to => q(Lower) ,
},
{
from => q(Any) ,
to => q(NFC) ,
},
],
},
{
type => 'conversion' ,
data => [
{
before => q() ,
after => q() ,
replace => q((?^u:ae) ),
result => q(aj) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q((?^u:av) ),
result => q(aw) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q((?^u:æ) ),
result => q(aj) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q((?^u:ā) ),
result => q(aː) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q((?^u:[aáàă]) ),
result => q(a) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q((?^u:b) ),
result => q(b) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q((?^u:ch) ),
result => q(kʰ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q((?^u:c) ),
result => q(k) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q((?^u:d) ),
result => q(d) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q((?^u:ev) ),
result => q(ew) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q((?^u:ē) ),
result => q(eː) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q((?^u:[eéèĕ]) ),
result => q(ɛ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q((?^u:f) ),
result => q(f) ,
revisit => 0,
},
{
before => q() ,
after => q((?^u:n) ),
replace => q((?^u:g) ),
result => q(ŋ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q((?^u:g) ),
result => q(ɡ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q((?^u:h) ),
result => q(h) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q((?^u:ī) ),
result => q(iː) ,
revisit => 0,
},
{
before => q() ,
after => q((?^u:[aáàăāeéèĕēiíìĭīoóòŏōuúùŭūæœ]) ),
replace => q((?^u:[iíìĭ]) ),
result => q(j) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q((?^u:[iíìĭ]) ),
result => q(ɪ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q((?^u:k) ),
result => q(k) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q((?^u:l) ),
result => q(l) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q((?^u:m) ),
result => q(m) ,
revisit => 0,
},
{
before => q() ,
after => q((?^u:[bpfm]) ),
replace => q((?^u:n) ),
result => q(m) ,
revisit => 0,
},
{
before => q() ,
after => q((?^u:[gckq]) ),
replace => q((?^u:n) ),
result => q(ŋ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q((?^u:n) ),
result => q(n) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q((?^u:œ) ),
result => q(oj) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q((?^u:oe) ),
result => q(oj) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q((?^u:ō) ),
result => q(oː) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q((?^u:[oóòŏ]) ),
result => q(ɔ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q((?^u:ph) ),
result => q(pʰ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q((?^u:p) ),
result => q(p) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q((?^u:qu) ),
result => q(kʷ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q((?^u:qv) ),
result => q(kʷ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q((?^u:rh) ),
result => q(rʰ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q((?^u:r) ),
result => q(r) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q((?^u:s) ),
result => q(s) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q((?^u:th) ),
result => q(tʰ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q((?^u:t) ),
result => q(t) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q((?^u:ū) ),
result => q(uː) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q((?^u:[uúùŭ]) ),
result => q(ʊ) ,
revisit => 0,
},
{
before => q() ,
after => q((?^u:[aáàăāeéèĕēiíìĭīoóòŏōuúùŭūæœ]) ),
replace => q((?^u:v) ),
result => q(w) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q((?^u:v) ),
result => q(u) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q((?^u:xs) ),
result => q(ks) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q((?^u:x) ),
result => q(ks) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q((?^u:y) ),
result => q(y) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q((?^u:z) ),
result => q(d͡z) ,
revisit => 0,
},
],
},
{
type => 'transform' ,
data => [
{
from => q(Any) ,
to => q(Null) ,
},
],
},
{
type => 'conversion' ,
data => [
{
before => q() ,
after => q() ,
replace => q((?^u:bb) ),
result => q(bː) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q((?^u:dd) ),
result => q(dː) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q((?^u:ɡɡ) ),
result => q(ɡː) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q((?^u:hh) ),
result => q(hː) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q((?^u:kk) ),
result => q(kː) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q((?^u:ll) ),
result => q(lː) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q((?^u:mm) ),
result => q(mː) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q((?^u:nn) ),
result => q(nː) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q((?^u:pp) ),
result => q(pː) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q((?^u:rr) ),
result => q(rː) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q((?^u:ss) ),
result => q(sː) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q((?^u:tt) ),
result => q(tː) ,
revisit => 0,
},
{
before => q() ,
after => q((?^u:[^aeɛiouː]) ),
replace => q((?^u:l) ),
result => q(ɫ) ,
revisit => 0,
},
],
},
{
type => 'transform' ,
data => [
{
from => q(Any) ,
to => q(NFC) ,
},
]
},
] },
);
no Moose;
__PACKAGE__->meta->make_immutable;
1;
|