<html><head> <meta http-equiv="content-type" content="text/html; charset=UTF-16"> </head><body> <script type="text/javascript"> function convert_to_unicode() { var array_one = new Array( "","",".","'m","]m","Fmf","Fm", ")","!","@","#","$","%","^","&","*","(", "k|m","em","km","Qm","qm","N", "","","1","2","4",">","?","B","I","Q","", "q"," ","9 ","" ",": ","","","","","", "","","","","","", "6","7","8","9", "","|", "8","9", "S","s","V","v","U","u","","3","", "R","r","5","H","h","0 ","","~", "`", "6","7","8","9","0", "T","t","Y","y","b","W","w","G","g", "K","k","","A","a","E", "e","D","d", "o","/","N","n","J", "j", "Z","z","i",":",";","X","x", "cf ","c f","cf}","cf]","cf","c","O{","O","pm","p","C","P]","P", "f ","\"","'","+","f","[","\\","]","}","F", "L","M", "M > ","M K ","M L "," K "," > "," H "," G ","> K ","> E ","> G ", " A ","G G "," H ","> G "," G "," > "," E ","> H ","H > "," C ", " > "," B ","G > "," G ") // Remove typing mistakes in the original file //"_","","","","","","","","","-","<","=") // Punctuation marks var array_two = new Array( "P ","= ","d ","m'","m]","mfF","mF", "f ","g ","h ","i ","j ","k ","l ","m ","n ","o ", "+ M 0 "," ","+ "," M $ "," M 0 ","2 ", " M  M ","& M  "," M  ","& M & ","& M ' ","6 M 0 ","0 A ","& M / "," M 7 M ","$ M $ ","& M . ", "$ M 0 ","' M 0 "," M  ","! M ! ","& M 0 "," M  ","! M " "," M ","0 B ","9 C ", " M  ","$ M 0 "," M  "," M  "," M ","& M 5 ", " M 0 "," M 0 ","! M 0 ","" M 0 ", "M / ","M 0 ", "\ ","] ", " M "," "," M "," "," M "," "," M "," ", " ", " M "," "," "," M "," "," M "," "," M ", " ", " "," ","! ","" ","# M ", "$ M ","$ ","% M ","% ","& ","' M ","' ","( M ","( ", "* M ","* ","+ M ",", M ",", ","- M ","- ",". M ",". ", "/ ","0 ","2 M ","2 ","5 M ","5 ","6 M ","6 ","7 M ","8 M ","8 ","9 M ","9 ", " "," "," "," "," "," "," "," "," "," "," "," "," ", "I ","B ","A "," ","> ","C ","M ","G ","H "," ","@ "," ", "","G ","H "," "," "," "," ","K ","I ","K ", "A  ","G "," H ","K "," G ",">  "," E ","L ","L ","C  ", ">  ","B  ","K ","G  ") // Remove typing mistakes in the original file // ")","=", ";", " ","!","%","."," ","+","(","?",".") // Punctuation marks //************************************************************************************** // The following two characters are to be replaced through proper checking of locations: //************************************************************************************** // "l", // "? ", // // "{" // "0 M " (reph) //************************************************************************************** var array_one_length = array_one.length ; if ( (document.getElementById("text_or_html")).selectedIndex == 0 ) // if the input is plain text { document.getElementById("unicode_text").value = "You have chosen SIMPLE TEXT in Preeti to convert into Unicode." ; var modified_substring = document.getElementById("legacy_text").value ; //**************************************************************************************** // Break the long text into small bunches of max. max_text_size characters each. //**************************************************************************************** var text_size = document.getElementById("legacy_text").value.length ; var processed_text = '' ; //blank //********************************************** // alert("text size = "+text_size); //********************************************** var sthiti1 = 0 ; var sthiti2 = 0 ; var chale_chalo = 1 ; var max_text_size = 6000; while ( chale_chalo == 1 ) { sthiti1 = sthiti2 ; if ( sthiti2 < ( text_size - max_text_size ) ) { sthiti2 += max_text_size ; while (document.getElementById("legacy_text").value.charAt ( sthiti2 ) != ' ') {sthiti2--;} } else { sthiti2 = text_size ; chale_chalo = 0 } // alert(" sthiti 1 = "+sthiti1); alert(" sthit 2 = "+sthiti2) var modified_substring = document.getElementById("legacy_text").value.substring ( sthiti1, sthiti2 ) ; Replace_Symbols( ) ; processed_text += modified_substring ; //**************************************************************************************** // Breaking part code over //**************************************************************************************** // processed_text = processed_text.replace( /mangal/g , "SUCHI-DEV-708 " ) ; document.getElementById("unicode_text").value = processed_text ; } } else // if input is HTML then { document.getElementById("unicode_text").value = "You have chosen HTML TEXT in SUCHI-DEV-708 to convert into Unicode." ; var remaining_text = document.getElementById("legacy_text").value ; var processed_text = "" ; //blank initially var position_of_current_opening_bracket = 0 ; var position_of_next_closing_bracket = 1 ; var idx = remaining_text.indexOf( "<p " ) // search starting from paragraphs. then search for sanskrit 99. idx = remaining_text.indexOf( "Sanskrit 99" , idx ) var idx2 = 0 // position_of_current_opening_bracket ">" var idx3 = 0 // position of "/span" var idx4 = 0 // postion of "span" only , ie span without "/" while ( idx != -1 ) // while-01 loop ; while "Sanskrit 99" is found.. { idx2 = remaining_text.indexOf( ">" , idx ) idx3 = remaining_text.indexOf( "/span" , idx2 ) idx4 = remaining_text.indexOf( "span" , idx2 ) while ( idx4 < idx3 ) // this loop to take care of nested span. { idx4 = remaining_text.indexOf( "span" , idx3+4 ) ; idx3 = remaining_text.indexOf( "/span" , idx3+4 ) ; } var modified_substring = remaining_text.substring( idx2 , idx3 ) ; modified_substring = modified_substring.replace( />/g , ">>" ) ; processed_text = processed_text + remaining_text.substring( 0 , idx2 ) + modified_substring + "/span" ; remaining_text = remaining_text.substring( idx3 + 5 ) ; //remaining_text excludes "/span" idx = remaining_text.indexOf( "Sanskrit 99" ) ; } //end of outermost while-01 processed_text = processed_text + remaining_text ; // ----------------------------- // This section for taking care of paragraphs marked class = MsoBodyText or class = MsoBodyText remaining_text = processed_text ; processed_text = "" ; //blank initially var position_of_start_of_paragraph = 0 ; var position_of_end_of_paragraph = 1 ; position_of_start_of_paragraph = remaining_text.indexOf("<p ") ; while ( position_of_start_of_paragraph != -1 ) //search for <p in the remaining_text { position_of_start_of_paragraph = remaining_text.indexOf("<p ") ; position_of_end_of_paragraph = remaining_text.indexOf("/p>") ; modified_substring = remaining_text.substring( position_of_start_of_paragraph + 3 , position_of_end_of_paragraph ) ; if ( modified_substring.indexOf( "MsoBodyText" ) != -1 ) { modified_substring = modified_substring.replace( />/g , ">>" ) ; // repace all ">" with ">>" in this paragraph idx = modified_substring.indexOf("font-family") ; // in Mybodytext, whereever font-family is found, it means it is roman text. idx2 = 0 ; // position of ">>" idx3 = 0 ; // position of "/span" idx4 = 0 ; // position of "span" only without "/" while ( idx != -1 ) // again change ">>" to ">" only those which occure immediately after font-family:"Times new Roman" { idx2 = modified_substring.indexOf( ">>" , idx ) ; idx3 = modified_substring.indexOf( "/span" , idx2 ) ; idx4 = modified_substring.indexOf( "span" , idx2 ) ; while ( idx4 < idx3 ) { idx4 = modified_substring.indexOf( "span" , idx3+4 ) ; idx3 = modified_substring.indexOf( "/span" , idx3+4 ) ; } modified_substring = modified_substring.substring( 0, idx2 ) + (modified_substring.substring( idx2 , idx3 )).replace( />>/g , ">" ) + modified_substring.substring( idx3 ) ; idx = modified_substring.indexOf( "font-family" , idx3 ) ; } // end of while inner loop } // end of if statement processed_text = processed_text + remaining_text.substring( 0 , position_of_start_of_paragraph + 3 ) + modified_substring + "/p>" ; remaining_text = remaining_text.substring( position_of_end_of_paragraph + 3 ) ; position_of_start_of_paragraph = remaining_text.indexOf("<p ") ; } // end of outer while loop processed_text = processed_text + remaining_text ; // ------------------------ // Now do actual font conversion of text occuring between all the pairs >> and < remaining_text = processed_text ; processed_text = "" ; idx2 = remaining_text.indexOf( ">>" ) ; while ( idx2 != -1 ) // while-01 loop (checks if ">>" is still present { position_of_current_opening_bracket = remaining_text.indexOf( ">>" , idx2 ) position_of_next_closing_bracket = remaining_text.indexOf( "<" , position_of_current_opening_bracket ) modified_substring = remaining_text.substring( position_of_current_opening_bracket + 2 , position_of_next_closing_bracket ) ; processed_text = processed_text + remaining_text.substring( 0 , position_of_current_opening_bracket + 1 ) ; // ">" included by using +1 here remaining_text = remaining_text.substring( position_of_next_closing_bracket + 1 ) ; //remaining_text excludes the closing bracket Replace_Symbols() ; // call the subroutine and replace the legacy symbols with corresponding Unicode. processed_text = processed_text + modified_substring + "<" ; idx2 = remaining_text.indexOf( ">>" ) ; } //end of outermost while-01 processed_text = processed_text + remaining_text ; // do follwing conversions which are still left or were done incorrectly due to unavoidable reasons. // processed_text = processed_text.replace( /Sanskrit 99/g , "mangal" ) ; // processed_text = processed_text.replace( /C 2 $ 7 /g , " " ) ; // processed_text = processed_text.replace( /C  A  $ 7 /g , " " ) ; // processed_text = processed_text.replace( /C > . * 7 /g , "C " ) ; // processed_text = processed_text.replace( /C  $ 7 /g , ":" ) ; // processed_text = processed_text.replace( /C ( , 8 * 7 /g , "/&nbsp" ) ; // processed_text = processed_text.replace( /> E /g , "I " ) ; // now put the processed text in the output box finally. document.getElementById("unicode_text").value = processed_text } // end of else loop for HTML case // -------------------------------------------------- function Replace_Symbols( ) { //substitute array_two elements in place of corresponding array_one elements if ( modified_substring != "" ) // if stringto be converted is non-blank then no need of any processing. { for ( input_symbol_idx = 0; input_symbol_idx < array_one_length; input_symbol_idx++ ) { // alert(" modified substring = "+modified_substring) //*********************************************************** // if (input_symbol_idx==106) // { alert(" input_symbol_idx = "+input_symbol_idx); // alert(" input_symbol_idx = "+input_symbol_idx) //; alert(" character =" + modified_substring.CharCodeAt(input_symbol_idx)) // alert(" character = "+modified_string.fromCharCode(input_symbol_idx)) // } // if (input_symbol_idx == 107) // { alert(" input_symbol_idx = "+input_symbol_idx); // alert(" character = ",+string.fromCharCode(input_symbol_idx)) // } //*********************************************************** idx = 0 ; // index of the symbol being searched for replacement while (idx != -1 ) //while-00 { modified_substring = modified_substring.replace( array_one[ input_symbol_idx ] , array_two[input_symbol_idx] ) idx = modified_substring.indexOf( array_one[input_symbol_idx] ) } // end of while-00 loop // alert(" end of while loop") } // end of for loop // alert(" end of for loop") // alert(" modified substring2 = "+modified_substring) //******************************************************* var position_of_i = modified_substring.indexOf( "l" ) while ( position_of_i != -1 ) //while-02 { var charecter_next_to_i = modified_substring.charAt( position_of_i + 1 ) var charecter_to_be_replaced = "l" + charecter_next_to_i modified_substring = modified_substring.replace( charecter_to_be_replaced , charecter_next_to_i + "? " ) position_of_i = modified_substring.search( /l/ , position_of_i + 1 ) // search for i ahead of the current position. } // end of while-02 loop //********************************************************************************** // End of Code for Replacing four Special glyphs //********************************************************************************** // following loop to eliminate 'chhotee ee kee maatraa' on half-letters as a result of above transformation. var position_of_wrong_ee = modified_substring.indexOf( "? M " ) while ( position_of_wrong_ee != -1 ) //while-03 { var consonent_next_to_wrong_ee = modified_substring.charAt( position_of_wrong_ee + 2 ) var charecter_to_be_replaced = "? M " + consonent_next_to_wrong_ee modified_substring = modified_substring.replace( charecter_to_be_replaced , "M " + consonent_next_to_wrong_ee + "? " ) position_of_wrong_ee = modified_substring.search( /? M / , position_of_wrong_ee + 2 ) // search for 'wrong ee' ahead of the current position. } // end of while-03 loop // following loop to eliminate 'chhotee ee kee maatraa' on half-letters as a result of above transformation. var position_of_wrong_ee = modified_substring.indexOf( "?  M " ) while ( position_of_wrong_ee != -1 ) //while-03 { var consonent_next_to_wrong_ee = modified_substring.charAt( position_of_wrong_ee + 3 ) var charecter_to_be_replaced = "?  M " + consonent_next_to_wrong_ee modified_substring = modified_substring.replace( charecter_to_be_replaced , "M " + consonent_next_to_wrong_ee + "?  " ) position_of_wrong_ee = modified_substring.search( /?  M / , position_of_wrong_ee + 3 ) // search for 'wrong ee' ahead of the current position. } // end of while-03 loop // Eliminating reph "" and putting 'half - r' at proper position for this. set_of_matras = "> ? @ A B C G H K L  :  E " var position_of_R = modified_substring.indexOf( "{" ) while ( position_of_R > 0 ) // while-04 { probable_position_of_half_r = position_of_R - 1 ; var charecter_at_probable_position_of_half_r = modified_substring.charAt( probable_position_of_half_r ) // trying to find non-maatra position left to current O (ie, half -r). while ( set_of_matras.match( charecter_at_probable_position_of_half_r ) != null ) // while-05 { probable_position_of_half_r = probable_position_of_half_r - 1 ; charecter_at_probable_position_of_half_r = modified_substring.charAt( probable_position_of_half_r ) ; } // end of while-05 charecter_to_be_replaced = modified_substring.substr ( probable_position_of_half_r , ( position_of_R - probable_position_of_half_r ) ) ; new_replacement_string = "0 M " + charecter_to_be_replaced ; charecter_to_be_replaced = charecter_to_be_replaced + "{" ; modified_substring = modified_substring.replace( charecter_to_be_replaced , new_replacement_string ) ; position_of_R = modified_substring.indexOf( "{" ) ; } // end of while-04 // global conversion of punctuation marks // "=","_","",""," ","","","","","","","-","<", // ".",")","=", ";","& ", " ","!","%"," "," ","+","(","?", modified_substring = modified_substring.replace( /=/g , "." ) ; modified_substring = modified_substring.replace( /_/g , ")" ) ; modified_substring = modified_substring.replace( //g , "=" ) ; modified_substring = modified_substring.replace( //g , ";" ) ; modified_substring = modified_substring.replace( /& /g , " " ) ; modified_substring = modified_substring.replace( //g , " " ) ; modified_substring = modified_substring.replace( //g , "!" ) ; modified_substring = modified_substring.replace( //g , "%" ) ; modified_substring = modified_substring.replace( //g , " " ) ; modified_substring = modified_substring.replace( //g , " " ) ; modified_substring = modified_substring.replace( //g , "+" ) ; modified_substring = modified_substring.replace( /-/g , "(" ) ; modified_substring = modified_substring.replace( /</g , "?" ) ; } // end of IF statement meant to supress processing of blank string. } // end of the function Replace_Symbols } // end of legacy_to_unicode function </script> <!-- ---------------------------------------------------------------------------------- body of the HTML starts here. one text box is provided each for input and output. --> <form name="form1">$ 2  K ,  M 8 . > * M 0 @ $ ? + ( M   >   M 7 0 * G 8 M   0 M ( A 9 K 8 M : <br><br><textarea STYLE="color: green;font-family: preeti; font-size:20px; width: 100%" id="legacy_text" rows="7" cols="60" name="TextToConvert"></textarea> <div> <select id="text_or_html"> <option selected="selected">* M 0 @ $ ?  >   M 7 0 9 0 B    M 0 G  @ . > & G  ? ( G  ( M d </option> </select> </div> <br> <div align="left"><input accesskey="c" id="converter" title=". > % @  K ,  M 8 . > * M 0 @ $ ? + ( M  0 >  ? 8  G *  ? / 9 >   M 2 ?   0 M ( A 9 K 8 M " onclick="convert_to_unicode();" value=" / A ( ?  K ! " name="converter" type="button"> </div><br>. > % @  K * M 0 @ $ ? + ( M   ( A 8 > 0  K / A ( ?  K ! , / K ,  M 8 . > 9 G 0 M ( A 9 K 8 M : <br><textarea id="unicode_text" style="width: 100%; color: green" rows="13" cols="60" name="ConvertedText"></textarea> <br><br></form></body></html>