Archive: NSIS non-Unicode Chinese with special location settings


NSIS non-Unicode Chinese with special location settings
Hi,

I have an NSIS installer running for driver installation with support for
about 24 languages including Traditional and Simplified Chinese.

Now a customer in Singapore complained about unreadable parts of the dialogs.

We found out, that setting the Location in "Control Panel| Regional and language options"
to Chinese (Singapore) (Regional Options Tab and Advanced Tab) and will lead to this.

Reason: Chinese (Taiwan) and Chinese (PRC) are the language codes supported by Traditional
and Simplified Chinese Language files.
All other "SubLanguages" with different language code get displayed incorrectly.
(Tested even on a native chinese Windows System)

As a workaround I duplicated the Simplified and Traditional Chinese Language files (nlf/nsh)
and set the correct Language code in the header, and added these language variants.

TradChinese_MC (Macau), TradChinese_HK (Hongkong) and SimpChinese_SP (Singapore).

!insertmacro MUI_LANGUAGE "SimpChinese"
!insertmacro MUI_LANGUAGE "SimpChinese_SP"
!insertmacro MUI_LANGUAGE "TradChinese"
!insertmacro MUI_LANGUAGE "TradChinese_MC"
!insertmacro MUI_LANGUAGE "TradChinese_HK"
This workaround works fine except for one thing:

On non-Vista systems the Dialog Title of the Welcome Dialog shows 2 strange signs
instead of the chinese characters for "Setup" in the ^SetupCaption string.
This happens only on non-Vista (W2K, WXP, W2k3) systems.

Is this a "Feature" of Windows before Vista or another reasonable explanation.
If it can be fixed - HOW?

Remark: I know that most probably the Unicode Version of NSIS will fix this too,
but the (internal) requirement that the installer needs a complete re-test led to the
decision to stay with the non-Unicode version at the moment.

Have you tried to open the nlf/nsh files on an XP system? Do they show up unusually in a text editor like Notepad too, or is it only during an installation?

Also, have you tried to change those to other characters to see if it has something to do with those specific characters or just with that particular caption? (I know it's not likely, especially if they DO show up if the more standard region is used, but perhaps a different font is being used for that region?)