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
<cont...@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.
_______________________________________________
sword-devel mailing list: sword-devel@crosswire.org
http://crosswire.org/mailman/listinfo/sword-devel
Instructions to unsubscribe/change your settings at above page