|
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/(?^um:\G.)/ ,
{
type => 'transform' ,
data => [
],
},
{
type => 'conversion' ,
data => [
{
before => q() ,
after => q() ,
replace => q(([က-အ]) ်ၤ),
result => q(င်္$1\u103B) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(([က-အ]) ၤ),
result => q(င်္$1) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(ၤ) ,
result => q(င်္) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(([က-အ]) ႋ),
result => q(င်္$1\u102D) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(([က-အ]) ႌ),
result => q(င်္$1\u102E) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(([က-အ]) ႍ),
result => q(င်္$1\u1036) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(([က-အ]) ်ဳႋ),
result => q(င်္$1\u103B\u102D\u102F) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(([က-အ]) ်ႋ),
result => q(င်္$1\u103B\u102D) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(([က-အ]) ်ႌ),
result => q(င်္$1\u103B\u102E) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(([က-အ]) ်ႍ),
result => q(င်္$1\u103B\u1036) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(([က-အ]) ်ႎ),
result => q($1\u103B\u102D\u1036) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(ႋ) ,
result => q(င်္\u102D) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(ႌ) ,
result => q(င်္\u102E) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(ႍ) ,
result => q(င်္\u1036) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(ၪ) ,
result => q(\u1009) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(ၫ) ,
result => q(\u100A) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(ႏ) ,
result => q(\u1014) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(႐) ,
result => q(\u101B) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(ႆ) ,
result => q(\u103F) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q([်|ၽ]) ,
result => q(\u103B) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(([ျၾ-ႄ]) +),
result => q(\u103C) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(ြ*ႊ) ,
result => q(\u103D\u103E) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(ြ) ,
result => q(\u103D) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q([ွ|ႇ]) ,
result => q(\u103E) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(ႈ) ,
result => q(\u103E\u102F) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(ႉ) ,
result => q(\u103E\u1030) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(ဳ) ,
result => q(\u102F) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(ဴ) ,
result => q(\u1030) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(္) ,
result => q(\u103A) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q([႔႕]) ,
result => q(\u1037) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(ဥ္) ,
result => q(\u1009\u103a) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(ဥၡ) ,
result => q(\u1009\u1039\u1001) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(ဥၢ) ,
result => q(\u1009\u1039\u1002) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(ဥၥ) ,
result => q(\u1009\u1039\u1005) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(ဥၨ) ,
result => q(\u1009\u1039\u1007) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(ဥၶ) ,
result => q(\u1009\u1039\u1013) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(ဥၸ) ,
result => q(\u1009\u1039\u1015) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(ဥၺ) ,
result => q(\u1009\u1039\u1017) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(ဥၹ) ,
result => q(\u1009\u1039\u1016) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(ၚ) ,
result => q(\u102B\u103A) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(ၠ) ,
result => q(\u1039\u1000) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(ၡ) ,
result => q(\u1039\u1001) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(ၢ) ,
result => q(\u1039\u1002) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(ၣ) ,
result => q(\u1039\u1003) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(ၥ) ,
result => q(\u1039\u1005) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q([ၦၧ]) ,
result => q(\u1039\u1006) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(ၨ) ,
result => q(\u1039\u1007) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(ၩ) ,
result => q(\u1039\u1008) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(ၬ) ,
result => q(\u1039\u100B) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(ၭ) ,
result => q(\u1039\u100C) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(ၰ) ,
result => q(\u1039\u100F) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q([ၱၲ]) ,
result => q(\u1039\u1010) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(႖) ,
result => q(\u1039\u1010\u103D) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q([ၳၴ]) ,
result => q(\u1039\u1011) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(ၵ) ,
result => q(\u1039\u1012) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(ၶ) ,
result => q(\u1039\u1013) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(ၷ) ,
result => q(\u1039\u1014) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(ၸ) ,
result => q(\u1039\u1015) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(ၹ) ,
result => q(\u1039\u1016) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(ၺ) ,
result => q(\u1039\u1017) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q([ၻ႓]) ,
result => q(\u1039\u1018) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(ၼ) ,
result => q(\u1039\u1019) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(ႅ) ,
result => q(\u1039\u101C) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(ႎ) ,
result => q(\u102D\u1036) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(ၮ) ,
result => q(\u100D\u1039\u100D) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(ၯ) ,
result => q(\u100D\u1039\u100E) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(႑) ,
result => q(\u100F\u1039\u100D) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(႒) ,
result => q(\u100B\u1039\u100C) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(႗) ,
result => q(\u100B\u1039\u100B) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(၎) ,
result => q(\u104E\u1004\u103A\u1038) ,
revisit => 0,
},
],
},
{
type => 'transform' ,
data => [
{
from => q(Any) ,
to => q(Null) ,
},
],
},
{
type => 'conversion' ,
data => [
{
before => q() ,
after => q() ,
replace => q(^၀([^၀-၉]) ),
result => q(\u101D$1) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(^၄([^၀-၉]) ),
result => q() ,
revisit => 8,
},
{
before => q() ,
after => q() ,
replace => q(([^၀-၉]) ၀$),
result => q($1\u101D) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(([^၀-၉]) ၄$),
result => q($1\u104e) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(([ါ-ဿ]) ၀([^၀-၉])),
result => q($1\u101d$2) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(([ါ-ဿ]) ၄([^၀-၉])),
result => q($1\u104E$2) ,
revisit => 0,
},
],
},
{
type => 'transform' ,
data => [
{
from => q(Any) ,
to => q(Null) ,
},
],
},
{
type => 'conversion' ,
data => [
{
before => q() ,
after => q() ,
replace => q(([ - ]+) ([ါ-ူဲ-ျွှ])),
result => q($2) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(့+) ,
result => q(\u1037) ,
revisit => 0,
},
],
},
{
type => 'transform' ,
data => [
{
from => q(Any) ,
to => q(Null) ,
},
],
},
{
type => 'conversion' ,
data => [
{
before => q() ,
after => q() ,
replace => q(ဦ) ,
result => q(\u1026) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(့်) ,
result => q(\u1037\u103A) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(ံ([ျ-ှ]*) ([ါ-ူဲ]+)),
result => q($1$2\u1036) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(([ါာုူ]) ([ိီဲ])),
result => q($2$1) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(ြ([က-အ]) ),
result => q($1\u103C) ,
revisit => 0,
},
],
},
{
type => 'transform' ,
data => [
{
from => q(Any) ,
to => q(Null) ,
},
],
},
{
type => 'conversion' ,
data => [
{
before => q() ,
after => q() ,
replace => q(ြ်္([က-အ]) ),
result => q(\u103A\u1039$1\u103C) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(ံ([ျ-ှ]+) ),
result => q($1\u1036) ,
revisit => 0,
},
],
},
{
type => 'transform' ,
data => [
{
from => q(Any) ,
to => q(Null) ,
},
],
},
{
type => 'conversion' ,
data => [
{
before => q() ,
after => q() ,
replace => q(([ြွှ]+) ျ),
result => q(\u103B$1) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(([ွှ]+) ြ),
result => q(\u103C$1) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(ှွ) ,
result => q(\u103D\u103E) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(([ေ]+) ([ါ-ူဲ]*)္([က-အ])),
result => q(\u1039$3$1$2) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(([ါ-ူဲ]+) ္([က-အ])),
result => q(\u1039$2$1) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(([ျ-ှ]*) ([ေ]+)([ျ-ှ]*)),
result => q($1$3$2) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(့([ိ-ူဲံျ-ှ]+) ),
result => q($1\u1037) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(([ါ-ူဲ]+) ([ျ-ှ]+)),
result => q($2$1) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(([က-အ]) ([ါ-ဲံျ-ှ])်([က-အ])),
result => q($1\u103A$2$3) ,
revisit => 0,
},
],
},
{
type => 'transform' ,
data => [
{
from => q(Any) ,
to => q(Null) ,
},
],
},
{
type => 'conversion' ,
data => [
{
before => q() ,
after => q() ,
replace => q(စျ) ,
result => q(\u1008) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(([ါ-ဲ]) ([ျ-ှ])),
result => q($2$1) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(([ြွှ]) ျ),
result => q(\u103B$1) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(([ွှ]) ြ),
result => q(\u103C$1) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(ှွ) ,
result => q(\u103D\u103E) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(း([ါ-ူဲ\1u36့်-ဿ]) ),
result => q($1\u1038) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(ံု) ,
result => q(\u102f\u1036) ,
revisit => 0,
},
],
},
{
type => 'transform' ,
data => [
{
from => q(Any) ,
to => q(Null) ,
},
],
},
{
type => 'conversion' ,
data => [
{
before => q() ,
after => q() ,
replace => q(ိိ+) ,
result => q(\u102D) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(ီီ+) ,
result => q(\u102E) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(ုု+) ,
result => q(\u102F) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(ူူ+) ,
result => q(\u1030) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(ဲဲ+) ,
result => q(\u1032) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(ံံ+) ,
result => q(\u1036) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(့့+) ,
result => q(\u1037) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(္္+) ,
result => q(\u1039) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(််+) ,
result => q(\u103a) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(ျျ+) ,
result => q(\u103b) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(ြြ+) ,
result => q(\u103c) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(ွွ+) ,
result => q(\u103d) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(ှှ+) ,
result => q(\u103e) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(ု[ူ်]) ,
result => q(\u102F) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(ိီ) ,
result => q(\u102E) ,
revisit => 0,
},
{
before => q() ,
after => q() ,
replace => q(([ - ]) +([ါ-ဲံ-ှ])),
result => q($2) ,
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(\u200b) ,
revisit => 0,
},
]
},
] },
);
no Moo;
1;
|