Unicode for hindi printing on Zebra ZDR series printer - unicode

I am trying to print Unicode (for Hindi printing) using ZPL on Zebra printer ZDR500R. I am sending unicode file through 'Send file' in 'Tools' properties of Zebra printer. I have used various fonts like 'NT20WGL4.FNT', 'NK20WGL4.FNT', 'MONOBD15.FNT', H24.FNT', 'H12.FNT' etc. But none of them worked to print Hindi.
I am using following code for printing.
----------------------------------------------
^XA
^LH100,150
^CWT,E:MONOBD1524.FNT
^CFT,30,30
^CI28
^FT0,0^FH^FDTesting 1 2 3^FS
^FT0,50^FH^FD_905_924_93E_930_93F^FS
^FT0,100^B3^FDAAA001^FS
^XZ
-------------------------------------------
Here 905, 924, 93E, 930, 93F are unicode for hindi characters.
Plz help , how can i print Hindi characters of Unicode? Which Zebra font (.FNT) should i use?
Thanks & Regards.

The fonts you mentioned may not have the Hindi characters in them. Convert a TrueType font that has them (e.g., Mangal) to a Zebra FNT. The Zebra setup utility should be able to convert a TTF to an FNT for you.
Mangal comes with Windows. If you're not running Windows, you can find free Devanagari fonts lots of places online.

Related

Zebra printer not printing unicode characters

I'm having some issues with a Zebra printer iMZ220, that when trying to print Unicode characters it simply skips the tag ^CI28 and doesn't print them. What is strange is that it was working at some point but it just doesn't seem to. Here's my ZPL testing code:
^XA
^PR14,14,14
^PW406
^LL70
^PON
^CI28
^FO20,20
^CF0,50
^FDTéste Acentós € £ $^FS
^XZ
Any help would be grateful. Thank you.

Print Chinese / Japanese character in Zebra Printer with ZPL

I have loaded the Mono Chinese/ Japanese font onto my ZM400 printer. So far I have no success printing both Chinese & English together on the same field.
Here is some example code:
^XA^CW1,B:ANMDS.TTF
^SEB:GB.DAT^CI14
^FO100,100^A1,50,50^FD中文English Here^FS
^XZ
Since I change the international code to 14 (with ^CI14), it only prints the Chinese text without the English text.
I have also try using the ^FL command, but can't seen to get it to work.
Does anyone have a working example of printing Chinese / Japanese text along with English text on the same FD (data field)?
You should probably use ^CI28 (UTF-8), and make sure that your labels are encoded in UTF-8.
As far as I know, ^CI14 only supports Asian encodings.
If anyone is looking at how to do this, I imagine what I did for Japanese will work for Chinese.
Firstly, I didn't want to purchase the Asian Font Pack because I think it's a bit of a ripoff, so I found an appropriate open source Japanese Unitype Font. I then uploaded this to the printer using Zebra Tools... make sure you upload it as a file, NOT using the font upload.
Then I managed to get it printing by escaping the characters.
So my final ZPL is
^XA
^LL150
^CI28^A#N,60,60,E:OSAKA.TTF
^FO0,0
^FH
^FD_5F_E3_81_93_E3_82_8C_E3_81_AF_E4_BD_95_E3_81_A8_E8_A8_80_E3_81_A3_E3_81_A6_E3_81_84_E3_81_BE_E3_81_99^FS
^XZ
Essentially you have to escape the bytes of each value (original Japanese これは何と言っています)
You also have to put ^FH in front of ^FD so it knows you're escaping characters.
Hopefully this helps the poster and anyone else who is looking to overcome problems with ZPL and Unicode fonts / characters.
I have figured out why. The Chinese text needs to be in gibberish format.
What I meant by gibberish is that. When you use Chinese in ZPL code, it needs to be in the windows codepage format text. This windows codepage format Text that is Chinese will be displayed as gibberish in English environment.
For example. In ZPL Code, your code might look like this:
^H ~!!####$ (this gibberish is actual the ASCII representation of Chinese text in windows code page format)
However, you can't type in unicode Chinese because ZPL would not print it.
^H 中文 (this is Chinese text in unicode format)

Malayalam characters are not properly showing in iPhone , iPod

I want to publish a site in Malayalam, site is implemented in word press. In standard web publishing method all Malayalam characters are not properly shown in iPhone , iPod, Android . Now-a-days most of them are using some specific font (MLM-Panini) in Malayalam Unicode method. If we use this specific font in Unicode convert method there will not be any character issue in android and iPhone.
Like mathrubhumi website,they have published in normal Malayalam embedded method and there is some character issue on iPhone and iPad.
But in britishmalayali.co.uk they have converted Malayalam in some other format (Unicode conversion) and there is no character issue all devices.
So I have to do some thing like the above format. Please let me know if you can help me on this
Currently not all android devices & iOS device support malayalam unicode font. To display malayalam font in this devices using HTML follow two steps,
1. Convert unicode font to corresponding ascii fonts as mathrubhumi done for there website for handheld devices(iOS & android),(My suggestion is use ML_TTKARTHIKA font, becoz its unicode to ascii converter code is available here)
Refer this link for more information:
2.Use fontface tag to display ascii encoded text in HTML page, which will render all characters almost in malayalam.
String malayalamAsciiEncodedText=OriginlUnicodemalayalamText.toLowerCase().replaceAll("അ", "A").replaceAll("ആ","B")
.replaceAll("ഇ","C")
.replaceAll("ഈ","Cu")
.replaceAll("ഉ","D")
.replaceAll("ഊ","Du")
.replaceAll("ഋ","E")
.replaceAll("എ","F")
.replaceAll("ഏ","G")
.replaceAll("ഐ","sF")
.replaceAll("ഒ","H")
.replaceAll("ഓ","Hm")
.replaceAll("ഔ","Hu")
.replaceAll("ക്തേ","tà").replaceAll("ക്തെ","sà").replaceAll("ക്ത്യ","ày").replaceAll("ക്തൈ","ssà").replaceAll("ക്ത","à").replaceAll("ക്ഷ്യ","£y").replaceAll("ക്ഷെ","s£").replaceAll("ക്ഷേ","t£").replaceAll("ക്ഷൈ","ss£").replaceAll("ക്ഷ","£").replaceAll("ക്ടെ","sÎ").replaceAll("ക്ടേ","tÎ").replaceAll("ക്ട","Î").replaceAll("ങ്കെ","s¦").replaceAll("ങ്കേ","t¦").replaceAll("ങ്കൈ","ss¦").replaceAll("ങ്ക","¦").replaceAll("ക്ലെ","s¢").replaceAll("ക്ലേ","t¢").replaceAll("ക്ലൈ","ss¢").replaceAll("ക്ല","¢").replaceAll("ക്കേ","t¡").replaceAll("ക്കോ","t¡m").replaceAll("ക്കെ","s¡").replaceAll("കൊ","sIm").replaceAll("കെ","sI").replaceAll("കോ","tIm").replaceAll("കേ","tI").replaceAll("ക്വ","Iz").replaceAll("ക്രൈ","ss{I").replaceAll("ക്രോ","t{Im").replaceAll("ക്രേ","t{I").replaceAll("ക്രൊ","s{Im").replaceAll("ക്രെ","s{I").replaceAll("ക്ര","{I").replaceAll("ക്യ","Iy").replaceAll("ക്കൈ","ss¡").replaceAll("ക്ക","¡").replaceAll("കൈ","ssI").replaceAll("ക","I")
.replaceAll("ഖേ","tJ").replaceAll("ഖൈ","ssJ").replaceAll("ഖെ","sJ").replaceAll("ഖ്വ","Jz").replaceAll("ഖ്യ","Jy").replaceAll("ഖ","J")
.replaceAll("ഗ്ലെ","s¥").replaceAll("ഗ്ലേ","t¥").replaceAll("ഗ്ലൈ","ss¥").replaceAll("ഗ്ല","¥").replaceAll("ഗ്ഗേ","t¤").replaceAll("ഗ്ഗൈ","ss¤").replaceAll("ഗ്ഗെ","s¤").replaceAll("ഗൈ","ssK").replaceAll("ഗൊ","sKm").replaceAll("ഗെ","sK").replaceAll("ഗ്വ","Kz").replaceAll("ഗ്യ","Ky").replaceAll("ഗൃ","Kr").replaceAll("ഗ്രൈ","ss{K").replaceAll("ഗ്ര","{K").replaceAll("ഗ്ഗ","¤").replaceAll("ഗോ","tKm").replaceAll("ഗേ","tK").replaceAll("ഗ","K")
.replaceAll("ഘൈ","ssL").replaceAll("ഘൊ","sLm").replaceAll("ഘെ","sL").replaceAll("ഘോ","tLm").replaceAll("ഘേ","tL").replaceAll("ഘ","L")
.replaceAll("ങ്ങൈ","ss§").replaceAll("ങ്ങെ","s§").replaceAll("ങ്ങേ","t§").replaceAll("ങ്ങ്യ","§y").replaceAll("ങ്ങ","§").replaceAll("ങേ","tM").replaceAll("ങൈ","ssM").replaceAll("ങെ","sM").replaceAll("ങ","M")
.replaceAll("ഞ്ചൈ","ss©").replaceAll("ഞ്ചെ","s©").replaceAll("ഞ്ചേ","t©").replaceAll("ഞ്ച്യ","©y").replaceAll("ഞ്ച","©").replaceAll("ച്ചേ","t¨").replaceAll("ച്ചൈ","ss¨").replaceAll("ച്ചെ","s¨").replaceAll("ചോ","tNm").replaceAll("ചേ","tN").replaceAll("ചൈ","ssN").replaceAll("ചൊ","sNm").replaceAll("ചെ","sN").replaceAll("ച്ര","{N").replaceAll("ച്യ","Ny").replaceAll("ച്ച","¨").replaceAll("ച","N")
.replaceAll("ഛൈ","ssO").replaceAll("ഛെ","sO").replaceAll("ഛേ","tO").replaceAll("ഛ","O")
.replaceAll("ജ്ഞൈ","ssÚ").replaceAll("ജ്ഞെ","sÚ").replaceAll("ജ്ഞേ","tÚ").replaceAll("ജ്ഞ","Ú").replaceAll("ജ്ജേ","tÖ").replaceAll("ജ്ജൈ","ssÖ").replaceAll("ജ്ജെ","sÖ").replaceAll("ജ്ജ","Ö").replaceAll("ജൈ","ssP").replaceAll("ജൊ","sPm").replaceAll("ജെ","sP").replaceAll("ജ്വ","Pz").replaceAll("ജ്യ","Py").replaceAll("ജ്ര","{P").replaceAll("ജോ","tPm").replaceAll("ജേ","tP").replaceAll("ജ","P")
.replaceAll("ഝൈ","ssQ").replaceAll("ഝെ","sQ").replaceAll("ഝേ","tQ").replaceAll("ത്സ്യ","Qy").replaceAll("ഝ","Q")
.replaceAll("ഞ്ഞൈ","ssª").replaceAll("ഞ്ഞെ","sª").replaceAll("ഞ്ഞേ","tª").replaceAll("ഞ്ഞ","ª")
.replaceAll("ഞൈ","ssR").replaceAll("ഞെ","sR").replaceAll("ഞേ","tR").replaceAll("ഞ","R")
.replaceAll("ന്റെ","sâ").replaceAll("ന്റേ","tâ").replaceAll("ന്റ","â").replaceAll("ണ്ടൈ","ssî").replaceAll("ണ്ടെ","sî").replaceAll("ണ്ടേ","tî").replaceAll("ണ്ട്യ","îy").replaceAll("ണ്ട","î").replaceAll("ട്ട്യ","«y").replaceAll("ട്ടൈ","ss«").replaceAll("ട്ടെ","s«").replaceAll("ട്രൈ","ss{S").replaceAll("ട്രോ","t{Sm").replaceAll("ട്രേ","t{S").replaceAll("ട്രെ","s{S").replaceAll("ടൈ","ssS").replaceAll("ടൊ","sSm").replaceAll("ടെ","sS").replaceAll("ട്ര","{S").replaceAll("ട്വ","Sz").replaceAll("ട്യ","Sy").replaceAll("ട്ടോ","t«m").replaceAll("ട്ടേ","t«").replaceAll("ട്ട","«").replaceAll("ടോ","tSm").replaceAll("ടേ","tS").replaceAll("ട","S")
.replaceAll("ഠൈ","ssT").replaceAll("ഠെ","sT").replaceAll("ഠേ","tT").replaceAll("ഠ്യ","Ty").replaceAll("ഠ","T")
.replaceAll("ഡ്രൈ","ss{U").replaceAll("ഡ്രേ","t{U").replaceAll("ഡ്രെ","s{U").replaceAll("ഡൈ","ssU").replaceAll("ഡെ","sU").replaceAll("ഡ്ര","{U").replaceAll("ഡേ","tU").replaceAll("ഡോ","tUm").replaceAll("ഡ","U")
.replaceAll("ഢൈ","ssV").replaceAll("ഢെ","sV").replaceAll("ഢേ","tV").replaceAll("ഢ","V")
.replaceAll("ണ്മൈ","ss×").replaceAll("ണ്മെ","s×").replaceAll("ണ്മേ","t×").replaceAll("ണ്മ","×").replaceAll("ണ്ണൈ","ss®").replaceAll("ണ്ണെ","s®").replaceAll("ണൈ","ssW").replaceAll("ണെ","sW").replaceAll("ണ്‍","¬").replaceAll("ണ്ണേ","t®").replaceAll("ണ്ണ","®").replaceAll("ണേ","tW").replaceAll("ണ","W")
.replaceAll("ത്ഥൈ","ss°").replaceAll("ത്ഥെ","s°").replaceAll("ത്ഥേ","t°").replaceAll("ത്ഥ്യ","°y").replaceAll("ത്ഥ","°").replaceAll("ത്മൈ","ssß").replaceAll("ത്മെ","sß").replaceAll("ത്മേ","tß").replaceAll("ത്മ","ß").replaceAll("ത്തൈ","ss¯").replaceAll("ത്തെ","s¯").replaceAll("ന്തൈ","ss´").replaceAll("ന്തെ","s´").replaceAll("തൈ","ssX").replaceAll("തൊ","sXm").replaceAll("തെ","sX").replaceAll("ത്വ","Xz").replaceAll("ന്ത്ര","{´").replaceAll("ന്ത്യ","´y").replaceAll("ന്തേ","t´").replaceAll("ന്തോ","t´m").replaceAll("ന്ത","´").replaceAll("ത്യേ","tXy").replaceAll("ത്യ","Xy").replaceAll("തൃ","Xr").replaceAll("ത്രൈ","ss{X").replaceAll("ത്രോ","t{Xm").replaceAll("ത്രൊ","t{Xm").replaceAll("ത്രേ","t{X").replaceAll("ത്രെ","s{X").replaceAll("ത്ര","{X").replaceAll("ത്തേ","t¯").replaceAll("ത്ത","¯").replaceAll("തോ","tXm").replaceAll("തേ","tX").replaceAll("ത","X")
.replaceAll("ഥൈ","ssY").replaceAll("ഥെ","sY").replaceAll("ഥേ","tY").replaceAll("ഥ","Y")
.replaceAll("ദ്ധേ","t²").replaceAll("ദ്ധൈ","ss²").replaceAll("ദ്ധെ","s²").replaceAll("ദ്ധ","²").replaceAll("ബ്ദൈ","ssÐ").replaceAll("ബ്ദെ","sÐ").replaceAll("ബ്ദേ","tÐ").replaceAll("ബ്ദ","Ð").replaceAll("ന്ദൈ","ssµ").replaceAll("ന്ദെ","sµ").replaceAll("ന്ദേ","tµ").replaceAll("ന്ദ്രേ","t{µ").replaceAll("ന്ദ്രൈ","ss{µ").replaceAll("ന്ദ്രെ","s{µ").replaceAll("ന്ദ്ര","{µ").replaceAll("ന്ദ","µ").replaceAll("ദ്ദൈ","ss±").replaceAll("ദ്ദെ","s±").replaceAll("ദ്ദേ","t±").replaceAll("ദ്ദ","±").replaceAll("ദൈ","ssZ").replaceAll("ദെ","sZ").replaceAll("ദ്വൈ","ssZz").replaceAll("ദ്വേ","tZz").replaceAll("ദ്വ","Zz").replaceAll("ദ്യെ","sZy").replaceAll("ദ്യേ","tZy").replaceAll("ദ്യ","Zy").replaceAll("ദൃ","Zr").replaceAll("ദേ","tZ").replaceAll("ദ","Z")
.replaceAll("ബ്ധെ","sÏ").replaceAll("ബ്ധേ","tÏ").replaceAll("ബ്ധ","Ï").replaceAll("ന്ധ്രെ","s{Ô").replaceAll("ന്ധ്യ","Ôy").replaceAll("ന്ധ്ര","{Ô").replaceAll("ന്ധെ","sÔ").replaceAll("ന്ധേ","tÔ").replaceAll("ന്ധ","Ô").replaceAll("ധൈ","ss[").replaceAll("ധെ","s[").replaceAll("ധ്യ","[y").replaceAll("ധൃ","[r").replaceAll("ധേ","t[").replaceAll("ധ","[")
.replaceAll("ന്‍െറ","sâ").replaceAll("ന്‍േറ","tâ").replaceAll("ന്റെ","sâ").replaceAll("ന്റേ","tâ").replaceAll("ന്‍റ","â").replaceAll("ന്റ","â").replaceAll("ന്‍","³").replaceAll("ന്‍","³").replaceAll("ന്നൈ","ss¶").replaceAll("ന്നെ","s¶").replaceAll("ന്നേ","t¶").replaceAll("ന്ന","¶").replaceAll("ന്മൈ","ss∙").replaceAll("ന്മെ","s∙").replaceAll("ന്മേ","t∙").replaceAll("ന്മ","∙").replace("നൈ","ss\\").replace("നൊ","s\\m").replace("നെ","s\\").replace("ന്വേ","t\\z").replace("ന്വെ","s\\z").replace("ന്വ","\\z").replace("ന്യ","\\y").replace("നോ","t\\m").replace("നേ","t\\").replace("ന","\\")
.replaceAll("മ്പൈ","ss¼").replaceAll("മ്പെ","s¼").replaceAll("മ്പ്യ","¼y").replaceAll("മ്പേ","t¼").replaceAll("മ്പ","¼").replaceAll("ല്പെ","så").replaceAll("ല്പേ","tå").replaceAll("ല്പ","å").replaceAll("പ്ലേ","ts¹").replaceAll("പ്ലൈ","ss¹").replaceAll("പ്ലെ","s¹").replaceAll("പ്ല","¹").replaceAll("പ്പേ","t¸").replaceAll("പ്പൈ","ss¸").replaceAll("പ്പെ","s¸").replaceAll("പൈ","ss]").replaceAll("പൊ","s]m").replaceAll("പെ","s]").replaceAll("പ്യ","]y").replaceAll("പ്രേ","t{]").replaceAll("പ്രൈ","ss{]").replaceAll("പ്രെ","s{]").replaceAll("പ്ര","{]").replaceAll("പ്പേ","t¸").replaceAll("പ്പ","¸").replaceAll("പോ","t]m").replaceAll("പേ","t]").replaceAll("പ","]")
.replaceAll("ഫ്ലൈ","^vssf").replaceAll("ഫ്ലെ","^vsf").replaceAll("ഫ്ലേ","^vtf").replaceAll("ഫ്ല","^vf").replaceAll("ഫൈ","ss^").replaceAll("ഫൊ","s^m").replaceAll("ഫെ","s^").replaceAll("ഫോ","t^m").replaceAll("ഫേ","t^").replaceAll("ഫ്ര","{^").replaceAll("ഫ","^")
.replaceAll("ബ്ലൈ","ss»").replaceAll("ബ്ലെ","s»").replaceAll("ബ്ലേ","t»").replaceAll("ബ്ല","»").replaceAll("ബ്ബൈ","ssº").replaceAll("ബ്ബെ","sº").replaceAll("ബൈ","ss_").replaceAll("ബൊ","s_m").replaceAll("ബെ","s_").replaceAll("ബ്രേ","t{_").replaceAll("ബ്രൈ","ss{_").replaceAll("ബ്രെ","s{_").replaceAll("ബ്ര","{_").replaceAll("ബ്ബേ","tº").replaceAll("ബ്ബ","º").replaceAll("ബോ","t_m").replaceAll("ബേ","t_").replaceAll("ബ","_")
.replaceAll("ഭൈ","ss`").replaceAll("ഭെ","s`").replaceAll("ഭ്വ","`z").replaceAll("ഭ്ര","{`").replaceAll("ഭ്യ","`y").replaceAll("ഭൃ","`r").replaceAll("ഭേ","t`").replaceAll("ഭ","`")
.replaceAll("മ്മൈ","ss½").replaceAll("മ്മെ","s½").replaceAll("മൈ","ssa").replaceAll("മൊ","sam").replaceAll("മെ","sa").replaceAll("മ്യ","ay").replaceAll("മൃ","ar").replaceAll("മ്മേ","t½").replaceAll("മ്മ","½").replaceAll("മോ","tam").replaceAll("മേ","ta").replaceAll("മ","a")
.replaceAll("ല്യ","ey").replaceAll("ര്യ","cy").replaceAll("ഷ്യ","jy").replaceAll("ഹ്യ","ly").replaceAll("സ്യേ","tky").replaceAll("സ്യ","ky").replaceAll("ശ്യ","iy").replaceAll("വ്യ","hy").replaceAll("യ്യൈ","ss¿").replaceAll("യ്യെ","s¿").replaceAll("യോ","tbm").replaceAll("യൈ","ssb").replaceAll("യെ","sb").replaceAll("യ്യേ","t¿").replaceAll("യ്യ","¿").replaceAll("യേ","tb").replaceAll("യ","b")
.replaceAll("ഹ്ര","{l").replaceAll("സ്രേ","t{k").replaceAll("സ്ര","{k").replaceAll("വ്ര","{h").replaceAll("ശ്രേ","t{i").replaceAll("ശ്ര","{i").replaceAll("രൈ","ssc").replaceAll("രൊ","scm").replaceAll("രെ","sc").replaceAll("ര്വ","cz").replaceAll("ര്‍","À").replaceAll("ര്‍","À").replaceAll("ര്യ","cy").replaceAll("രോ","tcm").replaceAll("രേ","tc").replaceAll("ര","c")
.replaceAll("റ്റൈ","ssä").replaceAll("റ്റെ","sä").replaceAll("റ്റേ","tä").replaceAll("റ്റോ","täm").replaceAll("റ്റ","ä").replaceAll("റൈ","ssd").replaceAll("റെ","sd").replaceAll("റേ","td").replaceAll("റ","d")
.replaceAll("ഹ്ലെ","sË").replaceAll("ഹ്ലേ","tË").replaceAll("ഹ്ല","Ë").replaceAll("ശ്ലെ","sÇ").replaceAll("ശ്ലേ","tÇ").replaceAll("ശ്ല","Ç").replaceAll("ല്ലൈ","ssÃ").replaceAll("ല്ലൊ","sÃm").replaceAll("ല്ലെ","sÃ").replaceAll("ലൈ","sse").replaceAll("ലൊ","sem").replaceAll("ലെ","se").replaceAll("ല്ല്വ","Ãz").replaceAll("ല്ല","Ã").replaceAll("ല്‍","Â").replaceAll("ല്‍","Â").replaceAll("ല്ല്യ","Ãy").replaceAll("ല്ലോ","tÃm").replaceAll("ല്ലേ","tÃ").replaceAll("ല്ല","Ã").replaceAll("ലോ","tem").replaceAll("ലേ","te").replaceAll("ല","e")
.replaceAll("ള്ള","Å").replaceAll("ള്‍","Ä").replaceAll("ള്‍","Ä").replaceAll("ള്ളൈ","ssÅ").replaceAll("ള്ളെ","sÅ").replaceAll("ളൈ","ssf").replaceAll("ളെ","sf").replaceAll("ള്ള","Å").replaceAll("ള്ളേ","tÅ").replaceAll("ളേ","tf").replaceAll("ള","f")
.replaceAll("ഴൈ","ssg").replaceAll("ഴെ","sg").replaceAll("ഴേ","tg").replaceAll("ഴ","g")
.replaceAll("ഷ്വൈ","ssjz").replaceAll("ഷ്വെ","sjz").replaceAll("ഷ്വ","jz").replaceAll("ഹ്വ","lz").replaceAll("സ്വേ","tkz").replaceAll("സ്വൈ","sskz").replaceAll("സ്വെ","skz").replaceAll("സ്വ","kz").replaceAll("വ്വൈ","ssÆ").replaceAll("വ്വെ","sÆ").replaceAll("വൈ","ssh").replaceAll("വെ","sh").replaceAll("ശ്വേ","tiz").replaceAll("ശ്വ","iz").replaceAll("വ്വേ","tÆ").replaceAll("വ്വ","Æ").replaceAll("വേ","th").replaceAll("വോ","thm").replaceAll("വ","h")
.replaceAll("ശ്ശൈ","ssÈ").replaceAll("ശ്ശെ","sÈ").replaceAll("ശൈ","ssi").replaceAll("ശൊ","sim").replaceAll("ശെ","si").replaceAll("ശ്രേ","t{i").replaceAll("ശ്ര","{i").replaceAll("ശ്ശേ","tÈ").replaceAll("ശ്ശ","È").replaceAll("ശോ","tim").replaceAll("ശേ","ti").replaceAll("ശ","i")
.replaceAll("ഷൈ","ssj").replaceAll("ഷെ","sj").replaceAll("ഷേ","tj").replaceAll("ഷ","j")
.replaceAll("സ്സൈ","ssÊ").replaceAll("സ്സെ","sÊ").replaceAll("സൈ","ssk").replaceAll("സെ","sk").replaceAll("സ്സ","Ê").replaceAll("സ്സേ","tÊ").replaceAll("സേ","tk").replaceAll("സോ","tkm").replaceAll("സ","k")
.replaceAll("ഹൈ","ssl").replaceAll("ഹെ","sl").replaceAll("ഹേ","tl").replaceAll("ഹ","l")
.replaceAll("ാ","m")
.replaceAll("ി","n")
.replaceAll("ീ","o")
.replaceAll("ു","p")
.replaceAll("ൂ","q")
.replaceAll("ഃ","x")
.replaceAll("്","v")
.replaceAll("ം","w")
.replaceAll("ൗ","u")
.replaceAll("ൃ","r")
;
Example fontface tag in HTML page:
#font-face
{
font-family: Karthika;
src: url(karthika.TTF);
font-weight:bold;
}
Hopes This may help you.. Happy Coding.. :)

Convert non english characters into Unicode (UTF-8)

I copied large amount of text from another system to my PC. When I viewed the text in my PC, it looked weird. So I copied all the fonts from the other PC and installed them in mine too. Now the text looks okay, but actually it seems that is not in Unicode. For example, if I copy the text and paste in another UTF-8 supported editor such as Notepad++, I get English characters ("bgah;") only like shown below.
How to convert this whole text into unicode text, like the one below. So I can copy the text and paste anywhere else.
பெயர்
The above text was manually obtained using http://www.google.com/transliterate/indic/Tamil
I need this conversion to be done, so I can copy them into database tables.
'Ja-01' is a font with a custom 'visual encoding'.
That is to say, the sequence of characters really is "bgah;" and it only looks like Tamil to you because the font's shapes for the Latin characters bg look like பெ.
This is always to be avoided, because by storing the content as "bgah;" you lose the ability to search and process it as real Tamil, but this approach was common in the pre-Unicode days especially for less-widespread scripts without mature encoding standards. This application probably predates widespread use of TSCII.
Because it is a custom encoding not shared by any other font, it is very unlikely you will be able to find a tool to convert content in this encoding to proper Unicode characters. It does not appear to be any standard character ordering, so you will have to look at the font (eg in charmap.exe) and note down every character, find the matching character in Unicode and map between them.
For example here's a trivial Python script to replace characters in a file:
mapping= {
u'a': u'\u0BAF', # Tamil letter Ya
u'b': u'\u0BAA', # Tamil letter Pa
u'g': u'\u0BC6', # Tamil vowel sign E (combining)
u'h': u'\u0BB0', # Tamil letter Ra
u';': u'\u0BCD', # Tamil sign virama (combining)
# fill in the rest of the mapping information here!
}
with open('ja01data.txt', 'rb') as fp:
data= fp.read().decode('utf-8')
for char in mapping:
data= data.replace(char, mapping[char])
with open('utf8data.txt', 'wb') as fp:
fp.write(data.encode('utf-8'))
The font you found is getting you into trouble. The actual cell text is "bgah;", it gets rendered to பெயர் because you found a font that can work with 8-bit non-Unicode characters. So reading it or pasting it into Notepad++ is going to produce "bgah;" since that's the real text. It can only ever be rendered properly again by forcing the program that displays the string to use that same font.
Ditch the font and enter Unicode so it looks like this:
"bgah" looks like a Baamini based system, which is pre-unicode. It was popular in Canada (and the SL Tamil diaspora in general) in the 90s.
As the others mentioned, it looks like a custom visual encoding that mimics the performance of a foreign script while maintaining ASCII encoding.
Google "Baamini to unicode convertor". The University of Colombo seems to have put one up: http://www.ucsc.cmb.ac.lk/ltrl/services/feconverter/?maps=t_b-u.xml
Let me know if this works. If not, I can ask around and get something for you.
You could first check whether the encoding is TSCII, as this sounds most probable. It is an 8-bit encoding, and the fonts you copied are probably based on that encoding. Check out whether the TSCII to UTF-8 converter at SourceForge is suitable. The project there is called “Any Tamil Encoding to Unicode” but they say that only TSCII is supported for now.

Non unicode to Unicode conversion, for any font!

I have a html file with text encoded in a non-unicode font. I need to convert that file to unicode. I searched for a convertor. But, most of the convertors work for only a list of fonts, not for all fonts.
My font is very specific, text is in Devanagari script.
I have the file, I have the font, now, please suggest me a tool or technique. Thanks.
Unicode is not about fonts, it is about encoding. You need to find a converter that can convert your text to Unicode. What is the encoding of your text?
Apache Tika has the ability to pull text from PDF files via knowledge of font behavior. So if the file is in fact a PDF you have a chance. If you have a text file full of font indices in no particular encoding, you have a big programming job ahead of you.