DOS internationalization support (Developers)
I would like to make my programs (mTCP) more friendly for non-US users, but being from the US I have tunnel vision. ;-0 So I am asking for enlightenment ...
My understanding of DOS internationalization support is that I can tell DOS what country I am in, which affects the sorting order, date and time display, etc. I can also use CPI files to select alternate code pages for display and printing. Most systems have code page 437 built in, and in the case of CGA and MDA that is all that is available. EGA and better cards have loadable font support allowing for switchable code pages. Switching a code page changes the upper 128 of the 256 characters that are available; the lower 128 never change.
As the programs are now, if the user selects a different code page the program will use it. The only time this becomes a problem is if I used one of the graphics characters in CP437 and those characters are replaced. This is often a problem when programs assume CP437 and something different, like CP850 is used instead. But except for that glitch, this method works - the programs generally don't care how the 8 bits are drawn, it is just an 8 bit value.
For a program like IRC where you are exchanging data with other systems in real-time the character encoding matters; two systems with different character encodings may not agree on the same representation of a value. The standard solution for supporting additional characters in this case is Unicode, which gets embedded in the data stream as UTF-8.
When Unicode is used the problem then becomes a matter of mapping the Unicode character to a character that can be displayed on the current machine. This involves sensing the currently active display code page and then having a mapping table from Unicode to the characters available in the code page. Not everything can be mapped, so characters that can not be displayed have to be shown in some encoded format. (In a limited environment like on a real CGA or MDA card only CP437 is available.)
Is my understanding correct? If so, are there libraries that make the mapping of Unicode to code pages easier?
Regards,
Mike
---
mTCP - TCP/IP apps for vintage DOS machines!
http://www.brutman.com/mTCP
Complete thread:
- DOS internationalization support - mbbrutman, 25.11.2012, 01:06 (Developers)
- DOS internationalization support - Rugxulo, 25.11.2012, 04:19
- DOS internationalization support - mbbrutman, 25.11.2012, 19:52
- DOS internationalization support - marcov, 25.11.2012, 13:15
- DOS internationalization support - mbbrutman, 25.11.2012, 20:05
- DOS internationalization support - Rugxulo, 27.11.2012, 07:55
- DOS internationalization support - marcov, 27.11.2012, 09:35
- DOS internationalization support - mbbrutman, 25.11.2012, 20:05
- DOS internationalization support - Laaca, 25.11.2012, 14:41
- DOS internationalization support - Rugxulo, 25.11.2012, 04:19