sinhala-unicode-coverter
Version:
A library to translate between sinhala unicode and legacy fonts
252 lines (251 loc) • 6.95 kB
JavaScript
;
exports.__esModule = true;
exports.singlishPhoneticToUnicode = 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] = 'jh';
consonantsuni[10] = 'ෂ';
consonants[10] = 'sh';
consonantsuni[11] = 'ඥ';
consonants[11] = 'gn';
consonantsuni[12] = 'ඤ';
consonants[12] = 'kn';
consonantsuni[13] = 'ළු';
consonants[13] = 'lu';
consonantsuni[14] = 'ඛ';
consonants[14] = 'kh';
consonantsuni[15] = 'ඨ';
consonants[15] = 'th';
consonantsuni[16] = 'ඪ';
consonants[16] = 'dh';
consonantsuni[17] = 'ශ';
consonants[17] = 's';
consonantsuni[18] = 'ද';
consonants[18] = 'd';
consonantsuni[19] = 'ච';
consonants[19] = 'c';
consonantsuni[20] = 'ත';
consonants[20] = 't';
consonantsuni[21] = 'ට';
consonants[21] = 't';
consonantsuni[22] = 'ක';
consonants[22] = 'k';
consonantsuni[23] = 'ඩ';
consonants[23] = 'd';
consonantsuni[24] = 'න';
consonants[24] = 'n';
consonantsuni[25] = 'ප';
consonants[25] = 'p';
consonantsuni[26] = 'බ';
consonants[26] = 'b';
consonantsuni[27] = 'ම';
consonants[27] = 'm';
consonantsuni[28] = 'ය';
consonants[28] = '\\u005c' + 'y';
consonantsuni[29] = 'ය';
consonants[29] = 'y';
consonantsuni[30] = 'ය';
consonants[30] = 'y';
consonantsuni[31] = 'ජ';
consonants[31] = 'j';
consonantsuni[32] = 'ල';
consonants[32] = 'l';
consonantsuni[33] = 'ව';
consonants[33] = 'v';
consonantsuni[34] = 'ව';
consonants[34] = 'w';
consonantsuni[35] = 'ස';
consonants[35] = 's';
consonantsuni[36] = 'හ';
consonants[36] = 'h';
consonantsuni[37] = 'ණ';
consonants[37] = 'n';
consonantsuni[38] = 'ළ';
consonants[38] = 'l';
consonantsuni[39] = 'ඛ';
consonants[39] = 'k';
consonantsuni[40] = 'ඝ';
consonants[40] = 'g';
consonantsuni[41] = 'ඵ';
consonants[41] = 'p';
consonantsuni[42] = 'ඹ';
consonants[42] = 'b';
consonantsuni[43] = 'ෆ';
consonants[43] = 'f';
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.singlishPhoneticToUnicode = 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;
};