Don't panic!

 

Cry about...
MS-Windows Troubleshooting


English numerals appearing in Arabic text instead of Arabic numerals


Symptom:

When entering numeric data into a field that should contain Arabic, English digits appear instead of Arabic ones. However, other characters do come out in Arabic, and after typing Arabic characters subsequent numerals do appear in Arabic.

This has been observed on an Arabic NT Workstation that was set up to support both Arabic and English.

Cause:

In the Regional Settings (Control Panel > Regional Settings, under the ‘Number’ tab) ‘Digit Substitution’ is to to ‘Context’. This means that NT tries to work out whether the numeric characters should be English or Arabic.

Thus when some Arabic characters have been typed NT can deduce that numerals should be Arabic. However when the field is empty the rules it uses are:

Locale Reading Order Digits Used
Arabic Right-to-left Arabic
Thai Left-to-right Thai
All others Any No substitution, i.e. English

In all probability the reading order specified for the field is left-to-right and hence NT assumes English.

Remedy:

Only the software developer can resolve this problem. The reading order for the field should be specified explicitly as left-to-right.

Note:

  1. This also applies to printed documents. If an application prints numeric (Arabic) data and it appears in English then the left-to-right reading order should be specified for that printed field.
  2. If all numeric data is to be Arabic (i.e. no English numeric data) then setting the ‘Digit Substitution’ (under Control Panel > Regional Settings, under the ‘Number’ tab) to ‘Native’ will suffice if the locale is an Arabic locale. This will however mean that it will not then be possible to display any numeric data in English.

These notes have been tested with Windows NT4.



About the author: is a dedicated software developer and webmaster. For his day job he develops websites and desktop applications as well as providing IT services. He moonlights as a technical author and consultant.