Link to home
Start Free TrialLog in
Avatar of EylonM

asked on

Running a dos program with arab dos fonts under windows 7

I have been show an antiquated program that ran in the dos box under windows 3.11 for workgroups.   The arab characters were stored in ascii 224 and above.   I am trying to find a way to run the program in the windows 7 command window - everything works except  displaying  the arab characters.  I tried arab simplified fixed font in the command window, but this maps to unicode.  Any suggestions?
Avatar of ☠ MASQ ☠
☠ MASQ ☠

Link to home
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
There are at least two problems to overcome:

Finding a fixed-pitch font which supports the required Arabic glyphs (character shapes).

The Windows command-prompt session will only use fixed-pitch fonts; proportionally-spaced fonts cannot be used.

The only such fonts I've found on my Windows 7 Professional 64-bit system are Simplified Arabic Fixed (as you've mentioned), which apparently contains 86 of the 235 Arabic glyphs in the Unicode table, and Courier New, which contains all 235.

To add such a font to the list allowed with the command-prompt session, you'd have to add a new (String) entry in the registry key HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Console\TrueTypeFont, as you've presumably done to test the Simplified Arabic Fixed font.

Finding an appropriate CodePage (for use with the DOS CHCP command) which maps the extended-ASCII 8-bit codepoints (0xa0 and above) to the Unicode codepoints used in TrueType fonts.

The most appropriate would appear to be CP 1256 (Windows Latin/Arabic), CP 708 (MS-DOS Arabic ASMO), CP 720 (IBM Arabic ?), CP 864 (PC-864 Latin/Arabic).

Something else?

I've added this point, as I've tried using the Courier New font (I added it with name "000" in the registry key mentioned above, then rebooted) with all of the above code pages, and none of them display any Arabic characters (I'm using a test text file which contains all of the 8-bit code-points from 0x20-> 0xff).
So something else is obviously involved - but what I don't know.
Avatar of EylonM


Incredibly, this solved all aspects of the problem.  I still have parts of the program that ran under a wfw 3.11 shell, but I wrote a small batch file to take care of it.