Arabic Fonts

Hi, I am using Win2000 Proffesional and have enabled Arabic in it. Now in Attain 3.1 I am trying to display Arabic Font in a text field. Unfortunately when i type with the Arabic enabled field all I get is junk! I think the problem has to do with the Font installed. I was wondering if any one has had any luck in displaying Arabic Characters in Navision. regards Omair

Hmmm, Is the topic that difficult? Well just to add a little more to what i said. Basically i cant seem to display this سيشضصث in Navision. Instead i get this ÓíÔÖÕË any ideas on how to solve this or atleast why this happens. regards Omair

Well Omair, your example is hard to catch quickly as you need to go character by character. Coming to the Solution, the appearance of characters has a lot to do with Codepage, both for W2K and for SQL Server. So do check out the codepages for both. But trying to change codepage settings in Registry(nls Key) for W2K can have grave consequences so better test on a separate system and database. Regards

Thanks Rahim, Codepages? I dont understand. I thought the problem lies more with charachter mapping then with codepages. Navision displays Arabic when the Arabic letters Unicode is the same as the English Alphabets. For example “w” has the Unbicode U+0077 now a font (arabnaskh) which has “ﻭ” in the same place as U+0077 is displayed in the Navision. However Times New Roman “ﻭ” has Unicode U+FEED and is displayed in Navision as “?”. Now tell me does this still have to do with codepages and if yes can you explain a bit more clearly how? Thanks and regards Omair

The Unicode characters have no impact in Attain. Attain knows only about ANSI and OEM code pages and single byte characters (note also DBCS character are unknown but can often be faked); in particular the current system ANSI and OEM code pages on your client computer are relevant. For windows 2000 it is the System locale in the Regional Options control panel applet that governs the active OEM and ANSI code pages (e.g. giving 850 and 1252 respectively). Attain does ANSI<->OEM conversions internally, using CharToOem() and OemToChar() win32 functions (internally, characters are passed around as OEM until they reach an ‘interface’ that requires ANSI - such an interface is the UI itself, the ODBC driver for the SQL database, or a file). If your system ANSI/OEM code pages are not set up as you require, these conversions will yield nonsense characters. You are also right that the font plays a role. Since the display of all characters is through a font, ultimately how you see a character is dependent on the font’s support for it. Normally, this is not the problem with badly displayed characters though. I would check your system locale - Arabic has ANSI code page 1256 I think. Since you say the characters are junk when typing them in, it is also not a problem with Client/SQL Server character conversions (even if you are running SQL Server!).

Hi, Robert is right and the codepage for Arabic is 1256 as mentioned. Check the following in Registry: HKEY_LOCAL_MACHINE–>System–>ControlSet1–>Control–>nls–>Codepage and then key named ‘ACP’, check the value(data) change it to 1256. Similarly for ControlSet2, Restart your m/c and check. Regards

I understand what both of you are saying, but the issue that i am having is only with Navision. Why is it only in Navision that the Arabic is not being displayed, however it is working perfectly in a VB form? If it was an issue with the keyboard, or operatign system settings then I should generate the same error in any other application. Right? This does not happen. I didnt mention before but i am using standard FDB with 3.1 not Sql. For example, using Arabic transparent as the font, i open a form in VB change my setting to type in Arabic, and it does, but with Navision, all i get is JUNK. thanks and regards Omair

Hi Rahim, I did exactly what you said, I changed the code to 1256. After that I entered Arabic letters in the description field. Well Arabic is being displayed in the Blue status Bar in the Item card. However the description field is still showing junk. help would be greatly appreciated. regards Omair

Well guys, whats the verdict? regards Omair

What’s the code page for your SQL Server? You need to select while installing it, does it supports Arabic?

hi Rahim, I think i mentioned this before, but i am not using SQL. This is on FDB. regards Omair

In your Regional Settings for PC, Set Arabic as the default locale : Regional options–>General–>Your locale location(to be arabic) and then below Regional options–>General–>Language Setting for the System(Arabic), apart from that same place, in ‘Advanced’ options, do select ‘Arabic’. After applying the changes, restart your System. Regards

VB is not using OEM and not doing OEM/ANSI conversions - Navision is.

Hi Robert, I did change the codepage setting to 1256 is the system registry. I even changes the regional setting from US to Arabic, however teh characters are still appearing as junk. The only progress i made was by displaying Arabic in the Blue Status bar of the item card. Although the characters are junk in the description field, they appear in their true arabic form in the status bar. I changed both the ANSI/OEM properties. They are: ANSI = 1256 OEM = 864 Yet it is the same. Thanks and regards Omair

Hi Omair. That fact that is displays ok one place and not the other indicates a bug in Attain in character conversions. I can only suggest that you report the problem.