After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 619709 - Upgrade Inno Setup to 5.3.x to use utf-8 in .iss script.
Upgrade Inno Setup to 5.3.x to use utf-8 in .iss script.
Status: RESOLVED FIXED
Product: GnuCash
Classification: Other
Component: Windows
git-master
Other Windows
: Normal enhancement
: ---
Assigned To: Andreas Köhler
Christian Stimming
Depends on:
Blocks:
 
 
Reported: 2010-05-26 12:46 UTC by Tao Wang
Modified: 2018-06-29 22:39 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Upgrade Inno Setup for Windows to 5.3.x and Convert script to utf-8 (24.81 KB, patch)
2010-05-26 16:12 UTC, Tao Wang
committed Details | Review
Reply to the patch review (2.00 KB, patch)
2010-05-30 06:55 UTC, Tao Wang
committed Details | Review

Description Tao Wang 2010-05-26 12:46:40 UTC
The current 'packaging/win32/gnucash.iss.in' contains multiple encoding strings for different languages. It may caused mistakely modification for some characters during patching that file.

It would be good to use UTF-8 in the file to prevent that kind of the problem. Upgrade Inno Setup to 5.3.x will make it possible.
Comment 1 Tao Wang 2010-05-26 16:12:06 UTC
Created attachment 162032 [details] [review]
Upgrade Inno Setup for Windows to 5.3.x and Convert script to utf-8

I created a patch against r19207 for this problem. It contains following modifications:

1) It upgrades Inno Setup from 5.1.12 to 5.3.9-unicode.

2) Convert following file from its original encoding to Utf-8, and add UTF8 BOM to those file:

'packaging/win32/gnucash.iss.in' (multiple encoding to utf-8). It also fixed the encoding problem introduced by changeset r18718.
'doc/README-zh_CN.win32-bin.txt' (GBK=>utf-8)
'doc/README-fr.win32-bin.txt' (CP1252=>utf-8)
'doc/README-nl.win32-bin.txt' (CP1252=>utf-8)
'doc/README-it.win32-bin.txt' (CP1252=>utf-8)
'doc/README-de.win32-bin.txt' (CP1252=>utf-8)

One thing need to be noticed is that the UTF8 BOM should not be removed from above files, they are used by ISSC compiler to distinguish the encoding used by the file is UTF8 or ANSI. So, make sure the BOM is not removed for every time modify those files or make sure the BOM is not ignored by the patching tools.
Comment 2 Christian Stimming 2010-05-27 09:34:26 UTC
Comment on attachment 162032 [details] [review]
Upgrade Inno Setup for Windows to 5.3.x and Convert script to utf-8

Absolutely.
Comment 3 Geert Janssens 2010-05-29 09:38:28 UTC
Review of attachment 162032 [details] [review]:

I have built the gnucash installer locally on my test system. Here are my findings:
* Applying the patch simply with "patch -p0 < the-patch" fails to apply the patch for doc/README-zh_CN.win32-bin.txt. Using patch -l -p0 < the-patch" works. I suspect there is a line ending difference in this file (as we also encountered when applying patches for the website).
* The installer text displays properly in all languages except Greek, Japanese and Chinese. Each of these languages show weird characters. Once I installed Asian language support on Windows, the Japanese and Chinese languages appeared fine. Greek is still not ok. But it is problematic in all the previous installers as well, so there's no regression. Perhaps this is because there's no Greek readme file ?
* Assuming the Asion language support is not installed (which is on most PC's outside the Asian region). In the list of languages, I can read all language names, except for the Chinese one. This shows as all squares. Installing the Asian language support fixes this. This unreadable entry is no big deal in itself. If you don't have the Asian language support installed, you're unlikely to be interested in installing GnuCash in Chinese or Japanese. For non-asian people, it does however look a bit ugly, as if gnucash has a visual bug. To avoid this, I would propose to use "Simplified Chinese" in the dropdown menu instead of the localized name written in Chinese, just like the other languages do (Japanese and Greek). Once a language has been chosen, the installer can go on in that particular language.

So to conclude: the proposed changes work as advertised. The Greek translation was and still is a problem. As far as I'm concerned, this patch can be applied and we can worry about the Greek stuff later.

I can't apply this patch myself though, because for it to work, the current installation of iss-setup on the build server has to be removed. If we don't, the old installer will still be used for subsequent builds, yet using the utf-8 edition of the iss installer script and readme files.
Comment 4 Tao Wang 2010-05-30 06:55:59 UTC
Created attachment 162294 [details] [review]
Reply to the patch review

Thank you to review the patch, I agreed with you the languages list in the droplist of installer should not contain the character depends on Asian fonts. I created a patch for that.

And I checked the EOL problem. I think the reason might be missing the svn-property. I checked why the file 'doc/README-zh_CN.win32-bin.txt' is different from others. And I found the only difference is that 'svn:eol-style' is set to 'native', rather than 'CRLF'. I also checked other related files. I think the following files should set 'svn:eol-style' to 'CRLF':

'doc/README-zh_CN.win32-bin.txt'
'packaging/win32/gnucash.iss.in'
'packaging/win32/ChineseSimp-12-5.1.11isl'

I also checked the Greek issue, I thought it's the only font issue on my Chinese system, however, you said you cannot see it either, then, it's a problem.

I found the Greek script, 'packaging/win32/Greek-4-5.1.11.isl', doesn't contain LanguageCodePage directive line. That cause the Inno use current encoding to decode the file, which is definitely in wrong way. I add the line in this patch too.
Comment 5 Tao Wang 2010-05-30 08:10:42 UTC
One thing need to be noticed is that: *.isl files are still encoded as ANSI, rather than UTF-8, which is required by Inno Setup. So, please make sure the patch/svn tools will not break the encoding.
Comment 6 Christian Stimming 2010-06-03 19:58:38 UTC
Comment on attachment 162294 [details] [review]
Reply to the patch review

r19223, thanks a lot!
Comment 7 Geert Janssens 2010-06-17 19:02:02 UTC
Comment on attachment 162032 [details] [review]
Upgrade Inno Setup for Windows to 5.3.x and Convert script to utf-8

Committed in r19267.
Comment 8 John Ralls 2018-06-29 22:39:52 UTC
GnuCash bug tracking has moved to a new Bugzilla host. This bug has been copied to https://bugs.gnucash.org/show_bug.cgi?id=619709. Please update any external references or bookmarks.