[sword-devel] Issues with German Umlaut characters in SWORD trunk?

Tobias Klein contact at tklein.info
Sat Oct 3 13:29:06 EDT 2020


Yes, I'm building SWORD with ICU. The build procedure has not changed 
recently.

This is the batch script that builds SWORD on Windows:

https://github.com/tobias-klein/sword-build-win32/blob/master/build_sword.bat

However, I just found some interesting warnings in the build output from 
the most recent build:

-- SEARCHING FOR SYTEM PACKAGES
5089 
<https://github.com/tobias-klein/sword-build-win32/runs/1145121405?check_suite_focus=true#step:6:5089>-- 
Found the following ICU libraries:
5090 
<https://github.com/tobias-klein/sword-build-win32/runs/1145121405?check_suite_focus=true#step:6:5090>-- 
i18n (required)
5091 
<https://github.com/tobias-klein/sword-build-win32/runs/1145121405?check_suite_focus=true#step:6:5091>-- 
uc (required)
5092 
<https://github.com/tobias-klein/sword-build-win32/runs/1145121405?check_suite_focus=true#step:6:5092>-- 
The following ICU libraries were not found:
5093 
<https://github.com/tobias-klein/sword-build-win32/runs/1145121405?check_suite_focus=true#step:6:5093>-- 
data (required)
5094 
<https://github.com/tobias-klein/sword-build-win32/runs/1145121405?check_suite_focus=true#step:6:5094>-- 
io (required)
5095 
<https://github.com/tobias-klein/sword-build-win32/runs/1145121405?check_suite_focus=true#step:6:5095>-- 
Failed to find all ICU components (missing: _ICU_REQUIRED_LIBS_FOUND) 
(found version "65.1")
5096 
<https://github.com/tobias-klein/sword-build-win32/runs/1145121405?check_suite_focus=true#step:6:5096>-- 
System regex.h: No
5097 
<https://github.com/tobias-klein/sword-build-win32/runs/1145121405?check_suite_focus=true#step:6:5097>-- 

5098 
<https://github.com/tobias-klein/sword-build-win32/runs/1145121405?check_suite_focus=true#step:6:5098>-- 
CONFIGURING SOURCE LIST
5099 
<https://github.com/tobias-klein/sword-build-win32/runs/1145121405?check_suite_focus=true#step:6:5099>-- 
ZLib: internal
5100 
<https://github.com/tobias-klein/sword-build-win32/runs/1145121405?check_suite_focus=true#step:6:5100>-- 
bzip2: system D:/a/sword-build-win32/sword-build-win32/dist/lib/libbz2.lib
5101 
<https://github.com/tobias-klein/sword-build-win32/runs/1145121405?check_suite_focus=true#step:6:5101>-- 
xz: system D:/a/sword-build-win32/sword-build-win32/dist/lib/liblzma.lib
5102 
<https://github.com/tobias-klein/sword-build-win32/runs/1145121405?check_suite_focus=true#step:6:5102>-- 
cURL: system 
D:\a\sword-build-win32\sword-build-win32\dist\lib\libcurl_imp.lib and 
D:/a/sword-build-win32/sword-build-win32/curl/include
5103 
<https://github.com/tobias-klein/sword-build-win32/runs/1145121405?check_suite_focus=true#step:6:5103>-- 
CLucene: no
5104 
<https://github.com/tobias-klein/sword-build-win32/runs/1145121405?check_suite_focus=true#step:6:5104>-- 
PkgConfig: no
5105 
<https://github.com/tobias-klein/sword-build-win32/runs/1145121405?check_suite_focus=true#step:6:5105>-- 
ICU: no
5106 
<https://github.com/tobias-klein/sword-build-win32/runs/1145121405?check_suite_focus=true#step:6:5106>-- 
Regex.h: internal
5107 
<https://github.com/tobias-klein/sword-build-win32/runs/1145121405?check_suite_focus=true#step:6:5107>-- 
Building Shared library.
5108 
<https://github.com/tobias-klein/sword-build-win32/runs/1145121405?check_suite_focus=true#step:6:5108>-- 
Building Static library.
5109 
<https://github.com/tobias-klein/sword-build-win32/runs/1145121405?check_suite_focus=true#step:6:5109>-- 
Setting SOVERSION to 1.8.900
5110 
<https://github.com/tobias-klein/sword-build-win32/runs/1145121405?check_suite_focus=true#step:6:5110>-- 
Setting link libraries to 
D:/a/sword-build-win32/sword-build-win32/dist/lib/libbz2.lib;D:/a/sword-build-win32/sword-build-win32/dist/lib/liblzma.lib;D:\a\sword-build-win32\sword-build-win32\dist\lib\libcurl_imp.lib

It says that certain ICU libraries were not found and then below under 
"CONFIGURING SOURCE LIST" it says ICU: no.
I guess that could be the explanation. Unfortunately I don't have access 
to the build logs from May any longer ... maybe I can reproduce it 
anyway, I will keep looking.

Best regards,
Tobias

On 10/3/20 1:44 PM, Troy A. Griffitts wrote:
> Hi Tobias, generally SWORD defaults to always return UTF-8. Depending 
> on what you do with the string returned from your function, in Windows 
> you may or may not get nice results. Also, to check, we do have 
> multiple locales for German. The de-utf8 locale is preferred if SWORD 
> is compiled with a StringMgr which understands Unicode. How are you 
> compiling SWORD on Windows? With ICU?
>
> On October 3, 2020 10:55:32 AM GMT+02:00, Tobias Klein 
> <contact at tklein.info> wrote:
>
>     Hi,
>
>     In node-sword-interface I have a method getSwordTranslation which
>     does the following:
>
>     std::stringtranslation =
>     std::string(this->_localeMgr->translate(originalString.c_str(),
>     localeCode.c_str()));
>
>     returntranslation;
>
>     I have just found that this method does not do the right thing on
>     Windows any longer.
>
>     When invoking my wrapper nsi.getSwordTranslation('Matthew', 'de')
>     I now get the following:
>
>     Matth�us
>
>     The expected result should be: Matthäus
>
>     So the result is issues with German Umlaut characters. I only have
>     this issue on Windows, though – the Umlaut’s are returned
>     correctly on Linux.
>
>     The last SWORD revision I’ve been using without this issue is SVN
>     Rev. 3747 (from May 18th 2020).
>
>     This would be a showstopper for me if it does turn out to be an
>     issue in SWORD.
>
>     Best regards,
>     Tobias
>
>
> -- 
> Sent from my Android device with K-9 Mail. Please excuse my brevity. 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://crosswire.org/pipermail/sword-devel/attachments/20201003/96c35f0e/attachment-0001.html>


More information about the sword-devel mailing list