How can I correct the Application Code to accept International Key-in Language?

pornsak

Registered
Many OSX Applications did not support Thai Unicode (Include others International Language). Anyone can give the idea or how to modify the code or make those Applications can accept Thai or Others language. I feel very awful when those Application never know other language except English.
I have some idea about it but still don't know where to correct the code. Some application just accept 7 bit Input Data input while International language want 8 bit Input Data. But this idea may work on 1Byte Ascii Code not sure in currently OSX which now accept Unicode (3 Byte code???).
 
Next time when your post leave all the poll options blank if you're not going to be using them...

Have you tried editing the nibs and Localizable.strings files and put in your Thai translations??
 
Thank you for your reply,Kainjow. Sorry for the poll ,it is my first time here,Kindly advise where is nibs and Localizable.strings file. As I found it stay in the printer / Language folder . But what I want is Thai key-in ,My Mac already Thai key-in support like Textedit and many Mac OSX Application (Keynote,iWork,etc) can key-in both Thai,Chinese,Japanese. But some application like freeware or Shareware or CommercialWare can't key-in Thai in Their text editor windows.
 
I am sure that altering the nibs will not help you. From your description it looks like programs that properly handle Unicode work fine. Poorly programmed shareware that does not properly interface with the text system is just broken and you cannot fix it yourself. Bug the developers.

In truth many of the application like that I have seen are usually old programs that have been "updated" to work on OS X. They had some system from the old language-code-page days that they hacked to kinda work on the new system.

Good Luck,
-Eric
 
I can give another sample like the Palm Desktop on Mac OSX. They can't show Thai on the Mac but the Thai code still there. When I restore the file form Mac to my Fresh Palm which have Thai support. all Thai character come out without any problem . I have ask my Thai Palm developer who sales Palm Thai OS to correct Palm Desktop for OS X and he just ask me to replace 4 files from Palm Hotsync which are AddressConduit,Datebook Conduit,Memo Conduit and Todo Conduit with his new modified and It can display Thai. But after I change my OSX from 10.3 to 10.4 .These new 4 files can't use anymore and that developer have close down the company. So I feel that It not hard to correct it but I don't have any idea where to start. I even try to look the hex code between Thai and no Thai files ( That they gave to me) I still no idea... :( :confused:
 
Were did you get those four replacement files from and why do you think that they are trivial to fix? In some rare instances there might exist a hack that will get you by but that would be a case specific exception.

The root cause of these problems comes from the fact that in the old days you could assume that 1 char = 1 byte and lots of code was written around that assumption. The problem with that is you could not mix Thai with Greek for instance because the both used the same bytes to represent different characters. Now Unicode solves those problems but now you have a new problem where you no longer have 1 char = 1 byte so all the old code has to be rewritten to be Unicode aware. This is generally not hard but it is not trivial either. If the company that made the software is out of business you really are out of luck.

Sorry,
-Eric
 
1.For those four files I got it from the one who sale the Thai Keyin language on Palm. It mean that only change some file in the Hotsync conduit file can display Thai.
2. for Thai and many Inter lang first they just replace The Grrek code to their Lang in case Their code have only 128 character. For this Unicode ,Any Idea like 7 bit 8 bit so I can have the idea to make it possible to display Thai?


Pornsak K.
 
Each Unicode "letter" is 32 bits but it can be written in an 8 bit and a 16 bit format where each letter is made up of more than one byte. In the case of the 8 bit format it is the same as ASCII where the two overlap.

In addition Unicode allows for all sorts of funky things like compositional characters that mean that the two different strings of bytes can yield the same glyph. There is not a one to one correspondence between characters and bytes so all the old code that assumes this is broken.

You simply cannot replace the Greek code with the Thai like you could in the old days; because, Unicode knows about both Thai and Greek and they are not just hacked onto ACSII. So it will not work. The fact that it did in the past was because two related hacks worked together. In the case of Unicode the hacks have been removed so you are stuck.

Again, you need to complain to the authors or find another source for your software, it just is not going to work.
 
Back
Top