sinhala-unicode-coverter
Version:
A library to translate between sinhala unicode and legacy fonts
253 lines (252 loc) • 6.94 kB
JavaScript
;
exports.__esModule = true;
exports.singlishToUnicode = void 0;
var nVowels;
var consonants = new Array();
var consonantsUni = new Array();
var vowels = new Array();
var vowelsUni = new Array();
var vowelModifiersUni = new Array();
var specialConsonants = new Array();
var specialConsonantsUni = new Array();
var specialCharUni = new Array();
var specialChar = new Array();
vowelsUni[0] = 'ඌ';
vowels[0] = 'oo';
vowelModifiersUni[0] = 'ූ';
vowelsUni[1] = 'ඕ';
vowels[1] = 'o\\)';
vowelModifiersUni[1] = 'ෝ';
vowelsUni[2] = 'ඕ';
vowels[2] = 'oe';
vowelModifiersUni[2] = 'ෝ';
vowelsUni[3] = 'ආ';
vowels[3] = 'aa';
vowelModifiersUni[3] = 'ා';
vowelsUni[4] = 'ආ';
vowels[4] = 'a\\)';
vowelModifiersUni[4] = 'ා';
vowelsUni[5] = 'ඈ';
vowels[5] = 'Aa';
vowelModifiersUni[5] = 'ෑ';
vowelsUni[6] = 'ඈ';
vowels[6] = 'A\\)';
vowelModifiersUni[6] = 'ෑ';
vowelsUni[7] = 'ඈ';
vowels[7] = 'ae';
vowelModifiersUni[7] = 'ෑ';
vowelsUni[8] = 'ඊ';
vowels[8] = 'ii';
vowelModifiersUni[8] = 'ී';
vowelsUni[9] = 'ඊ';
vowels[9] = 'i\\)';
vowelModifiersUni[9] = 'ී';
vowelsUni[10] = 'ඊ';
vowels[10] = 'ie';
vowelModifiersUni[10] = 'ී';
vowelsUni[11] = 'ඊ';
vowels[11] = 'ee';
vowelModifiersUni[11] = 'ී';
vowelsUni[12] = 'ඒ';
vowels[12] = 'ea';
vowelModifiersUni[12] = 'ේ';
vowelsUni[13] = 'ඒ';
vowels[13] = 'e\\)';
vowelModifiersUni[13] = 'ේ';
vowelsUni[14] = 'ඒ';
vowels[14] = 'ei';
vowelModifiersUni[14] = 'ේ';
vowelsUni[15] = 'ඌ';
vowels[15] = 'uu';
vowelModifiersUni[15] = 'ූ';
vowelsUni[16] = 'ඌ';
vowels[16] = 'u\\)';
vowelModifiersUni[16] = 'ූ';
vowelsUni[17] = 'ඖ';
vowels[17] = 'au';
vowelModifiersUni[17] = 'ෞ';
vowelsUni[18] = 'ඇ';
vowels[18] = '/\a';
vowelModifiersUni[18] = 'ැ';
vowelsUni[19] = 'අ';
vowels[19] = 'a';
vowelModifiersUni[19] = '';
vowelsUni[20] = 'ඇ';
vowels[20] = 'A';
vowelModifiersUni[20] = 'ැ';
vowelsUni[21] = 'ඉ';
vowels[21] = 'i';
vowelModifiersUni[21] = 'ි';
vowelsUni[22] = 'එ';
vowels[22] = 'e';
vowelModifiersUni[22] = 'ෙ';
vowelsUni[23] = 'උ';
vowels[23] = 'u';
vowelModifiersUni[23] = 'ු';
vowelsUni[24] = 'ඔ';
vowels[24] = 'o';
vowelModifiersUni[24] = 'ො';
vowelsUni[25] = 'ඓ';
vowels[25] = 'I';
vowelModifiersUni[25] = 'ෛ';
nVowels = 26;
specialConsonantsUni[0] = 'ං';
specialConsonants[0] = /\\n/g;
specialConsonantsUni[1] = 'ඃ';
specialConsonants[1] = /\\h/g;
specialConsonantsUni[2] = 'ඞ';
specialConsonants[2] = /\\N/g;
specialConsonantsUni[3] = 'ඍ';
specialConsonants[3] = /\\R/g;
//special characher Repaya
specialConsonantsUni[4] = 'ර්' + '\u200D';
specialConsonants[4] = /R/g;
specialConsonantsUni[5] = 'ර්' + '\u200D';
specialConsonants[5] = /\\r/g;
consonantsUni[0] = 'ඬ';
consonants[0] = 'nnd';
consonantsUni[1] = 'ඳ';
consonants[1] = 'nndh';
consonantsUni[2] = 'ඟ';
consonants[2] = 'nng';
consonantsUni[3] = 'ථ';
consonants[3] = 'Th';
consonantsUni[4] = 'ධ';
consonants[4] = 'Dh';
consonantsUni[5] = 'ඝ';
consonants[5] = 'gh';
consonantsUni[6] = 'ඡ';
consonants[6] = 'Ch';
consonantsUni[7] = 'ඵ';
consonants[7] = 'ph';
consonantsUni[8] = 'භ';
consonants[8] = 'bh';
consonantsUni[9] = 'ශ';
consonants[9] = 'sh';
consonantsUni[10] = 'ෂ';
consonants[10] = 'Sh';
consonantsUni[11] = 'ඥ';
consonants[11] = 'GN';
consonantsUni[12] = 'ඤ';
consonants[12] = 'KN';
consonantsUni[13] = 'ළු';
consonants[13] = 'Lu';
consonantsUni[14] = 'ද';
consonants[14] = 'dh';
consonantsUni[15] = 'ච';
consonants[15] = 'ch';
consonantsUni[16] = 'ඛ';
consonants[16] = 'kh';
consonantsUni[17] = 'ත';
consonants[17] = 'th';
consonantsUni[18] = 'ට';
consonants[18] = 't';
consonantsUni[19] = 'ක';
consonants[19] = 'k';
consonantsUni[20] = 'ඩ';
consonants[20] = 'd';
consonantsUni[21] = 'න';
consonants[21] = 'n';
consonantsUni[22] = 'ප';
consonants[22] = 'p';
consonantsUni[23] = 'බ';
consonants[23] = 'b';
consonantsUni[24] = 'ම';
consonants[24] = 'm';
consonantsUni[25] = 'ය';
consonants[25] = '\\u005C' + 'y';
consonantsUni[26] = 'ය';
consonants[26] = 'Y';
consonantsUni[27] = 'ය';
consonants[27] = 'y';
consonantsUni[28] = 'ජ';
consonants[28] = 'j';
consonantsUni[29] = 'ල';
consonants[29] = 'l';
consonantsUni[30] = 'ව';
consonants[30] = 'v';
consonantsUni[31] = 'ව';
consonants[31] = 'w';
consonantsUni[32] = 'ස';
consonants[32] = 's';
consonantsUni[33] = 'හ';
consonants[33] = 'h';
consonantsUni[34] = 'ණ';
consonants[34] = 'N';
consonantsUni[35] = 'ළ';
consonants[35] = 'L';
consonantsUni[36] = 'ඛ';
consonants[36] = 'K';
consonantsUni[37] = 'ඝ';
consonants[37] = 'G';
consonantsUni[38] = 'ඨ';
consonants[38] = 'T';
consonantsUni[39] = 'ඪ';
consonants[39] = 'D';
consonantsUni[40] = 'ඵ';
consonants[40] = 'P';
consonantsUni[41] = 'ඹ';
consonants[41] = 'B';
consonantsUni[42] = 'ෆ';
consonants[42] = 'f';
consonantsUni[43] = 'ඣ';
consonants[43] = 'q';
consonantsUni[44] = 'ග';
consonants[44] = 'g';
//last because we need to ommit this in dealing with Rakaransha
consonantsUni[45] = 'ර';
consonants[45] = 'r';
specialCharUni[0] = 'ෲ';
specialChar[0] = 'ruu';
specialCharUni[1] = 'ෘ';
specialChar[1] = 'ru';
//specialCharUni[2]='්ර'; specialChar[2]='ra';
exports.singlishToUnicode = function (text) {
var s, r, v;
//special consonents
for (var i = 0; i < specialConsonants.length; i++) {
text = text.replace(specialConsonants[i], specialConsonantsUni[i]);
}
//consonents + special Chars
for (var i = 0; i < specialCharUni.length; i++) {
for (var j = 0; j < consonants.length; j++) {
s = consonants[j] + specialChar[i];
v = consonantsUni[j] + specialCharUni[i];
r = new RegExp(s, "g");
text = text.replace(r, v);
}
}
//consonants + Rakaransha + vowel modifiers
for (var j = 0; j < consonants.length; j++) {
for (var i = 0; i < vowels.length; i++) {
s = consonants[j] + "r" + vowels[i];
v = consonantsUni[j] + "්ර" + vowelModifiersUni[i];
r = new RegExp(s, "g");
text = text.replace(r, v);
}
s = consonants[j] + "r";
v = consonantsUni[j] + "්ර";
r = new RegExp(s, "g");
text = text.replace(r, v);
}
//consonents + vowel modifiers
for (var i = 0; i < consonants.length; i++) {
for (var j = 0; j < nVowels; j++) {
s = consonants[i] + vowels[j];
v = consonantsUni[i] + vowelModifiersUni[j];
r = new RegExp(s, "g");
text = text.replace(r, v);
}
}
//consonents + HAL
for (var i = 0; i < consonants.length; i++) {
r = new RegExp(consonants[i], "g");
text = text.replace(r, consonantsUni[i] + "්");
}
//vowels
for (var i = 0; i < vowels.length; i++) {
r = new RegExp(vowels[i], "g");
text = text.replace(r, vowelsUni[i]);
}
return text;
};