reArranceUnicodeTextForASCI method
Implementation
String reArranceUnicodeTextForASCI(String str){
var cY = 0;
var i = 0;
while (i < mb_strlen(str)){
if(i<mb_strlen(str) && isBanglaPreKar(mbCharAt(str,i))){
var j=1;
while (isBanglaBanjonborno(mbCharAt(str,i-j))){
if ((i-j)<0){
break;
}
if ((i-j)<=cY) {
break;
}
if (isBanglaHalant(mbCharAt(str,i-j-1))) {
j += 2;
} else {
break;
}
}
var R = subString(str,0, i-j);
R += mbCharAt(str,i);
R += subString(str,i-j, i);
R += subString(str,i+1, mb_strlen(str));
str = R;
cY= i+1;
continue;
}
if (i<(mb_strlen(str)-1) && isBanglaHalant(mbCharAt(str,i)) && mbCharAt(str,i-1)=='র' && !isBanglaHalant(mbCharAt(str,i-2))) {
var j=1;
var aZ=0;
while (true){
if (isBanglaBanjonborno(mbCharAt(str,i+j)) && isBanglaHalant(mbCharAt(str,i+j+1))){
j+=2;
}
else if (isBanglaBanjonborno(mbCharAt(str,i+j)) && isBanglaPreKar(mbCharAt(str,i+j+1))){
aZ=1;
break;
}
else{
break;
}
}
var R = subString(str,0, i-1);
R += subString(str, i+j+1, i+j+aZ+1);
R += subString(str, i+1, i+j+1);
R += mbCharAt(str, i-1);
R += mbCharAt(str, i);
R += subString(str, i+j+aZ+1, mb_strlen(str));
str = R;
i+=(j+aZ);
cY=i+1;
continue;
}
i += 1;
}
return str;
}