I have a dropdown for language in my application. I use the
CultureInfo.NativeName to display the language in the dropdown list (combo
box) (CultureInfo is a .NET class)
However, on a US English copy of Windows, if I do not have the East Asian
fonts installed (via Control Panel), then the native name for Chinese is
displayed as a series of square boxes.
What I would like to do is to be able to tell from my .NET code whether or
not I'm going to get square boxes shown in my dropdown list (i.e. the
correct fonts are not installed). If they are not installed, I can easily
write something like "Chinese (font installation required)" in the dropdown
list, which would look much nicer than a series of square boxes.
By the way, I can't simply "make users install the East Asian fonts" - not
everyone reads the manual!!
Thanks
Michael S. Kaplan [MSFT] - 20 Apr 2007 03:44 GMT
You can pinvoke to the IsValidLocale function, using any East Asian LCID
(make sure to use the "installed" flag and not the "supported" flag).

Signature
MichKa [Microsoft]
NLS Collation/Locale/Keyboard Technical Lead
Globalization Infrastructure, Fonts, and Tools
Blog: http://blogs.msdn.com/michkap
This posting is provided "AS IS" with
no warranties, and confers no rights.
>I have a dropdown for language in my application. I use the
>CultureInfo.NativeName to display the language in the dropdown list (combo
[quoted text clipped - 14 lines]
>
> Thanks
Hugh Robinson - 20 Apr 2007 20:02 GMT
Great - that did just what I needed. Thanks for the pointer!
Hugh
> You can pinvoke to the IsValidLocale function, using any East Asian LCID
> (make sure to use the "installed" flag and not the "supported" flag).