views:

18

answers:

1

The Problem in Short: Localized text works perfect on my development machine(windows 7) but NOT when the app is deployed to some other machine(Win XP).

Details: I am writing a small, single form app. It must display text in Hindi. Below is my form in the Default Language.

couldnt post image coz im new

Here it is in Hindi:

couldnt post image coz im new

I have the Following code in the constructor of Form1

    public Form1()
    {
        Thread.CurrentThread.CurrentUICulture = new CultureInfo("hi-IN");
        Thread.CurrentThread.CurrentCulture = new CultureInfo("hi-IN");
        InitializeComponent();
    }

It works absolutely fine on my dev machine(Win 7). But when deployed to another machine(win xp) it looks like this. All the text in HINDI is shown as squares: Form when Run in win XP

Please Guide through this guys. Thanks in advance.

+1  A: 

Without seeing the screenshots, it's really difficult to say. But if you are seeing squares it seems like the Hindi fonts are not installed on the machine. The squares appear because the character set cannot be found. Your localized application, I think, is working just fine.

NinjaCat
Thanks NinjaCat! I had tried all fonts but Arial Unicode MS. Installed it and things started to work.
Does the Hindi text display correctly now? Usually, installing a font is not enough — you might see characters that look Hindi, but unless you can actually read it, you won’t know that it’s wrong. Devanagari is a complex script, and I believe in Windows XP you need to enable support for complex scripts in Control Panel → Regional and Language settings before Devanagari will be rendered correctly.
Timwi
@Timwi: You are right. I was sloppy in my response. Your suggestion is spot on. You need more than the font - you need the script support.
NinjaCat
You guys are right. I do have wrong text in some of my labels rather the text is syntactically correct but not how people usually write it.