Ok, so do you have any other idea of what could be the root cause? I realize that it could be a configuration error on my part, but I've narrowed several possibilities and still have the problem so it's a possibility that there's something else going on.
Two packages built on two different machines using the same installer code base (NSIS), it's the exactly the same NSIS because it's checked into soure control. The resultant packages are exactly the same size - 1201KB. One package doesn't work properly on Japanese Windows 98, the text and image doesn't show up on the MUI welcome and finish page, and any custom dialogs don't have any text show up. The other package works as expected.
Japanese
33 posts
I've run into a new problem creating packages with japanese fonts. When I specify the font in the Japanese language and build on a machine whose locale is set to EN_US, the installer comes out with large windows. When I specify the font in English on an English machine, it works fine except for Windows 98 as above. When I specify the font in Japanese on machine whose system locale is JP, such as:
; japanese font
!define MUI_FONT "‚l‚r ‚oƒSƒVƒbƒN"
!define MUI_FONT_TITLE "‚l‚r ‚oƒSƒVƒbƒN"
!define MUI_FONT_HEADER "‚l‚r ‚oƒSƒVƒbƒN"
!define MUI_FONTSIZE 8
SetFont "‚l‚r ‚oƒSƒVƒbƒN" 8
Everything works as expected. The only problem with this is that our build machine handles builds for multiple locales, and I can't (through an Automated process) switch the locale because it requires rebooting. I think the problem is the font names are in English when the system's locale is set to English, even using the MS Windows 2k MUI and setting the user's locale to Japanese, the font names are still in English and somehow when the dialog properties are set they are either set incorrectly or just don't display properly on machines whose font names are in Japanese.
Any suggestions?
Thanks.
; japanese font
!define MUI_FONT "‚l‚r ‚oƒSƒVƒbƒN"
!define MUI_FONT_TITLE "‚l‚r ‚oƒSƒVƒbƒN"
!define MUI_FONT_HEADER "‚l‚r ‚oƒSƒVƒbƒN"
!define MUI_FONTSIZE 8
SetFont "‚l‚r ‚oƒSƒVƒbƒN" 8
Everything works as expected. The only problem with this is that our build machine handles builds for multiple locales, and I can't (through an Automated process) switch the locale because it requires rebooting. I think the problem is the font names are in English when the system's locale is set to English, even using the MS Windows 2k MUI and setting the user's locale to Japanese, the font names are still in English and somehow when the dialog properties are set they are either set incorrectly or just don't display properly on machines whose font names are in Japanese.
Any suggestions?
Thanks.
The problem is that NSIS converts the font name (and other texts in the resources) from MBCS to Unicode using CP_ACP and not the local code page. I do intend to add some more parameters to the language files so they can specify the code page, and a font name. For now you can create a special build of NSIS where every CP_ACP in DialogTemplate.cpp is replaced with the appropriate code page (you can find a list of code pages here).