|
our $VERSION = version->declare( 'v0.27.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(NFD) ,
},
],
},
{
type => 'conversion' ,
data => [
{
before => q() ,
after => q() ,
replace => q((?^u:x) ),
result => q() ,
revisit => 2,
},
{
before => q() ,
after => q() ,
replace => q((?^u:X) ),
result => q() ,
revisit => 2,
},
{
before => q((?^u:\p{UppercaseLetter}[\p{Mark} '] *) ),
after => q() ,
replace => q((?^u:X) ),
result => q() ,
revisit => 2,
},
{
before => q() ,
after => q((?^u:[\p{Mark} '] *\p{UppercaseLetter}) ),
replace => q((?^u:X) ),
result => q() ,
revisit => 2,
},
{
before => q() ,
after => q() ,
replace => q((?^u:W) ),
result => q() ,
revisit => 1,
},
{
before => q() ,
after => q() ,
replace => q((?^u:w) ),
result => q() ,
revisit => 1,
},
{
before => q() ,
after => q() ,
replace => q((?^u:Q) ),
result => q() ,
revisit => 1,
},
{
before => q() ,
after => q() ,
replace => q((?^u:q) ),
result => q() ,
revisit => 1,
},
{
before => q() ,
after => q() ,
replace => q((?^u:Y) ),
result => q(Ы) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q((?^u:y) ),
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:C) ),
result => q(Ц) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q((?^u:c) ),
result => q(ц) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q((?^u:H) ),
result => q(Х) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q((?^u:h) ),
result => q(х) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q((?^u:F) ),
result => q(Ф) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q((?^u:f) ),
result => q(ф) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q((?^u:U) ),
result => q(У) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q((?^u:u) ),
result => q(у) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q((?^u:T) ),
result => q(Т) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q((?^u:t) ),
result => q(т) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q((?^u:S) ),
result => q(С) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q((?^u:s) ),
result => q(с) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q((?^u:R) ),
result => q(Р) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q((?^u:r) ),
result => q(р) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q((?^u:P) ),
result => q(П) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q((?^u:p) ),
result => q(п) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q((?^u:O) ),
result => q(О) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q((?^u:o) ),
result => q(о) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q((?^u:N) ),
result => q(Н) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q((?^u:n) ),
result => q(н) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q((?^u:M) ),
result => q(М) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q((?^u:m) ),
result => q(м) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q((?^u:L) ),
result => q(Л) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q((?^u:l) ),
result => q(л) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q((?^u:K) ),
result => q(К) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q((?^u:k) ),
result => q(к) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q((?^u:Kˌ) ),
result => q(Қ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q((?^u:kˌ) ),
result => q(қ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q((?^u:I) ),
result => q(И) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q((?^u:i) ),
result => q(и) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q((?^u:J) ),
result => q(Й) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q((?^u:j) ),
result => q(й) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q((?^u:Z) ),
result => q(З) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q((?^u:z) ),
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:E) ),
result => q(Е) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q((?^u:e) ),
result => q(е) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q((?^u:Z̦) ),
result => q(Ҙ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q((?^u:z̦) ),
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:D) ),
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:g) ),
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:G̀) ),
result => q(Ґ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q((?^u:g̀) ),
result => q(ґ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q((?^u:V) ),
result => q(В) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q((?^u:v) ),
result => q(в) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q((?^u:B) ),
result => q(Б) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q((?^u:b) ),
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:A) ),
result => q(А) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q((?^u:a) ),
result => q(а) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q((?^u:D̂) ),
result => q(Џ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q((?^u:d̂) ),
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:N̂) ),
result => q(Њ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q((?^u:n̂) ),
result => q(њ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q((?^u:L̂) ),
result => q(Љ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q((?^u:l̂) ),
result => q(љ) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q((?^u:J̌) ),
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() ,
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,
},
],
},
{
type => 'transform' ,
data => [
{
from => q(Any) ,
to => q(NFC) ,
},
]
},
] },
);
no Moose;
__PACKAGE__->meta->make_immutable;
1;
|