Archive: bug: Strange combobox bug in NSIS 2.0b1


bug: Strange combobox bug in NSIS 2.0b1
This is the problem happend on SimpCHINESE sytem.

About picture appeared ??? questions marks, seems like unicode paste into ascii based program. But this is not the reason.


originial descpion (in Chinese) see here (incl picturess)
http://bbs.hanzify.org/bbs/cgi-bin/t...pic=689&show=0


this one would be fail with ???? charactor

InstType "$(DESC_InstTypeStandard)"
InstType "$(DESC_InstTypeMinimum)"

;test1: fail
; LangString DESC_InstTypeMinimum ${LANG_SIMPCHINESE} "×îС°²×°"
; LangString DESC_InstTypeStandard ${LANG_SIMPCHINESE} "±ê×¼°²×°"


if try add a space, it seems problems on "×î" become ??? question mark. but "С °² ×°" is normal.

;test2: fail
; LangString DESC_InstTypeMinimum ${LANG_SIMPCHINESE} "×î С °² ×°"
; LangString DESC_InstTypeStandard ${LANG_SIMPCHINESE} "±ê ×¼ °² ×°"

related picture, see it here.
http://bbs.hanzify.org/bbs/cgi-bin/t...pic=689&show=0


change all the text, OK.

test3: OK
LangString DESC_InstTypeMinimum ${LANG_SIMPCHINESE} "˜OС°²×°"
LangString DESC_InstTypeStandard ${LANG_SIMPCHINESE} "˜ËœÊ°²×°"

So, in the combobox will "EAT" specifical East Asian charactors?

related picture, see it here.
http://bbs.hanzify.org/bbs/cgi-bin/t...pic=689&show=0


This condition only happened on ${LANG_SIMPCHINESE}

If on ${LANG_TRADCHINESE}, seems never happend on some charactors.


Because it's difficult for us to test this, can you please test when this bug was introduced (which CVS build of makensis.exe).

Thanks


MMM... I used the 2.0b1 CVS version. makxnsis.exe 361,984 bytes 2003-01-09

I will try today's CVS version.

upload the *.NSI for your reference. You can try to find

$(DESC_InstTypeStandard)"
LangString DESC_InstTypeStandard

as keywords


Tested with today's CVS version, makensis.exe 360,960 bytes, 2003-02-10.

Result: the same error happened again.


So it did work right with beta 0?

Can you try in which CVS build (use Browse Files from nsis.sf.net) the problem was introduced?


1.No, I cannot make very sure with you, becuase I wrote this script only for 2.0b1.

If run under 2.0b0, will got many erros. condition is not the same.

2.But if only forced to display such as "×îС" "±ê×¼" charactors on combobox, (INSTTYPE)

==> YESS , it worked well. No ??? question mark at all.

I understand this result is hard to have a explanation. makensis.exe 359,424 bytes, 2002-12-08.
-------

forget above testing. This test no use of LangString InstType function.


Sorry, I should make this bug clear.

1.If just write text directly , (no use with LangSting), all text will not cuase question mark, such as:

InstType "×îС°²×°"
InstType "±ê×¼°²×°"

2.If wirte INSTTYPE with varibale, (ONLY some) charactor will get ??? question marks. such as.

InstType "$(DESC_InstTypeStandard)"
InstType "$(DESC_InstTypeMinimum)"

LangString DESC_InstTypeMinimum ${LANG_SIMPCHINESE} "×îС°²×°"
LangString DESC_InstTypeStandard ${LANG_SIMPCHINESE} "±ê×¼°²×°"
LangString DESC_InstTypeMinimum ${LANG_TRADCHINESE} "......

Some charactor passes, some make ???? marks.

3.If want to combine, such as.

InstType "±ê×¼ $(DESC_InstTypeStandard)"
InstType "×îС $(DESC_InstTypeMinimum)"

LangString DESC_InstTypeMinimum ${LANG_SIMPCHINESE} "×îС°²×°"
LangString DESC_InstTypeStandard ${LANG_SIMPCHINESE} "±ê×¼°²×°"
LangString DESC_InstTypeMinimum ${LANG_TRADCHINESE} "......

the following variabels $(DESC_InstTypeStandard) will became true text and no use at all. No ???? marks happened. The same effect with item 1.


Hmm...

Note: If you see squares between letters in the string when you use LangString use LangStringUP (LangString for unprocessed string such as InstType)
I never thought about the possibilty it might be something else than squares in other fonts. I will add that to the docs. But it does still say InstType, so you should have seen it... :)

Thanks, LangStringUP, it works. ^_^