[sword-devel] Unicode toUpper map working well!

Troy A. Griffitts scribe at crosswire.org
Sun Mar 14 15:44:55 EDT 2021


Hi Tobias,

SWORD + ICU integration offers more than just i18n support.  It can
provide on-the-fly transliteration support (e.g. Hebrew or Arabic to
roman script or IPA), it can provide a Unicode aware regex parser, and I
am sure other things I am forgetting.

Yes, I think we already have what you are suggesting: if ICU is not
available at build time, then i18n support falls back to use the new
toUpper map impl for StringMgr, so I would say we do work much better if
ICU is not available at build time.

Thanks for the report that you've found it working well!  I am happy to
hear,

Troy


On 3/14/21 11:49 AM, Tobias Klein wrote:
>
> Dear Troy,
>
> After doing some more tests I can say that the Unicode support based
> on the new toUpper map works pretty well! I tested with German,
> French, Spanish and I did not find any issues. This means that the
> next release of Ezra Project for Android will have full i18n support!
>
> I wonder whether this could be a general solution that allows to get
> rid of SWORD's ICU dependency ... (would reduce the size of my Windows
> installer quite significantly, too).
>
> Best regards,
> Tobias
>
> On 2/16/21 10:08 PM, Tobias Klein wrote:
>>
>> Dear Troy,
>>
>> I just generated a test build of Ezra Project using your latest SWORD
>> update including the new Unicode toUpper map.
>>
>> I tested with the German language setting on Android and it works!
>> The Umlauts are displayed correctly. Thank you for this change. I am
>> going to do some additional tests with other languages soon.
>>
>> Best regards,
>> Tobias
>>
>> On 2/14/21 7:49 PM, Troy A. Griffitts wrote:
>>>
>>> Dear Tobias,
>>>
>>> I have spent a bit of time this morning investigating the cost of
>>> including a Unicode toUpper map from an official source in the SWORD
>>> source.
>>>
>>> Using this URL from IBM:
>>> https://www.ibm.com/support/knowledgecenter/ssw_ibm_i_72/nls/rbagslowtoupmaptable.htm
>>>
>>> I have grabbed at least a UCS2 table (this includes all Unicode
>>> values which fit into 16bits) and the source file which is here:
>>>
>>> https://crosswire.org/svn/sword/trunk/include/swtoupperdata.h
>>>
>>> only results in about 14k and is only included is you aren't
>>> compiling with ICU support, so this shouldn't impact most all SWORD
>>> builds.
>>>
>>> I've updated the default StringMgr::upperUTF8 to use this map and
>>> the testsuite passes.
>>>
>>> If you want to skip calling back into your JavaScript env to do the
>>> toUpper, then you should be able to fallback to this.
>>>
>>> Hope this helps,
>>>
>>> Troy
>>>
>>>
>>> On 2/9/21 10:44 AM, Tobias Klein wrote:
>>>> Dear Troy,
>>>>
>>>> Thank you so much! This confirms my suspicion.
>>>>
>>>> Meanwhile I could reproduce this problem on one of my own devices
>>>> (a seven-year old Nexus 7 which runs on Android 6).
>>>> After reproducing it I made some adjustments in timeout parameters
>>>> <https://github.com/ezra-project/ezra-project/commit/cc0fbefa4f61effcd096a2659467cfd15a02dd98#diff-151bc226d42b8410bbe0cc9ecb805021141761158eb0210757605792c749ecd5>.
>>>> Timeouts can happen here because the respective functionality lives
>>>> on the Nodejs-side of things (a separate process), which is made
>>>> accessible in the Cordova Webview via IPC.
>>>>
>>>> I will submit an updated test version of Ezra Project later today,
>>>> which means you can have another look once this test version goes
>>>> live in the Play Store about two days from now. I will send another
>>>> note once it is available.
>>>>
>>>> Best regards,
>>>> Tobias
>>>>
>>>>
>>>>> Am 09.02.2021 um 02:42 schrieb Troy A. Griffitts
>>>>> <scribe at crosswire.org <mailto:scribe at crosswire.org>>:
>>>>>
>>>>> Dear Tobias,
>>>>>
>>>>> My apologies for taking so long to reply to your request. 
>>>>> Attached is the adb log when I run ezra and open the settings
>>>>> menu.  I did a grep for NODE as you requested, but didn't see
>>>>> anything unusual, so I am sending you the entire log.
>>>>>
>>>>> It may be as you suggested, the i18n system, as I noticed this line:
>>>>>
>>>>> 02-08 18:39:22.300 22969 22969 D SystemWebChromeClient:
>>>>> file:///android_asset/www/dist/ezra_init.js: Line 19823 : Did not
>>>>> get node response for i18n_get_translation
>>>>>
>>>>> This is a Samsung Galaxy Tab A (SM-T550), fully updated to what
>>>>> Samsung will update for this hardware: Android 7.1.1.
>>>>>
>>>>> Hope it's useful.  Let me know if there is anything I can test for
>>>>> you.
>>>>>
>>>>> Troy
>>>>>
>>>>>
>>>>> On 2/6/21 4:27 AM, Tobias Klein wrote:
>>>>>>
>>>>>> Hi Troy,
>>>>>>
>>>>>> Would you mind trying once more with the latest version (Beta 5),
>>>>>> which is available in the App Store now.
>>>>>> I made some fixes, but I am still not sure whether it will work
>>>>>> on your device. In case there are issues I'd be interested in the
>>>>>> adb debug log mentioned below.
>>>>>>
>>>>>> Best regards,
>>>>>> Tobias
>>>>>>
>>>>>> On 1/23/21 5:00 PM, Tobias Klein wrote:
>>>>>>>
>>>>>>> Hi Troy,
>>>>>>>
>>>>>>> Could you let me know which specific Android version you are
>>>>>>> using on your tablet.
>>>>>>>
>>>>>>> Also, would you mind sending me a debug log by:
>>>>>>> 1) Running adb logcat | grep NODE
>>>>>>> 2) Starting up the Ezra Project app
>>>>>>>
>>>>>>> Best regards,
>>>>>>> Tobias
>>>>>>>
>>>>>>> On 1/22/21 3:21 AM, Troy A. Griffitts wrote:
>>>>>>>> Hi Tobias! Excited you got things compiled. Some things work
>>>>>>>> for me on a Samsung Tab A and some things don't. They all seem
>>>>>>>> like details now that you have a full stack compiled and
>>>>>>>> deployed! Looking forward to see what becomes of it. Here's my
>>>>>>>> screenshot.
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> On January 21, 2021 12:39:32 PM MST, Tobias Klein
>>>>>>>> <contact at tklein.info> wrote:
>>>>>>>>
>>>>>>>>     Hi all,
>>>>>>>>
>>>>>>>>     I'm glad to announce the first working test candidate of Ezra Project on 
>>>>>>>>     Android (tagged Ezra Project 0.17.0-Beta3).
>>>>>>>>
>>>>>>>>     Here is a link to the app, which is now in the "open testing phase".
>>>>>>>>
>>>>>>>>     https://play.google.com/store/apps/details?id=de.ezraproject.cordova <https://play.google.com/store/apps/details?id=de.ezraproject.cordova>
>>>>>>>>
>>>>>>>>     Note that the app requires at least Android 7 and a 10" display.
>>>>>>>>
>>>>>>>>     Here's some technical background info:
>>>>>>>>
>>>>>>>>     The code base of Ezra Project only needed slight modifications to 
>>>>>>>>     support running with a Cordova wrapper as an Android app.
>>>>>>>>
>>>>>>>>     The pure cordova part now lives here: 
>>>>>>>>     https://github.com/ezra-project/ezra-project-cordova <https://github.com/ezra-project/ezra-project-cordova>
>>>>>>>>     That repository simply includes the main Ezra Project repository as a 
>>>>>>>>     submodule.
>>>>>>>>
>>>>>>>>     The following additional aspects were added on Android:
>>>>>>>>
>>>>>>>>     - Write permission handling on startup
>>>>>>>>     - Added an option to keep the screen on (it otherwise turns off after a 
>>>>>>>>     short time without user interaction)
>>>>>>>>     - Added platform-specific startup code
>>>>>>>>     - Added platform-specific full screen handling
>>>>>>>>
>>>>>>>>     There is still some work left to replace certain mouse-dependent 
>>>>>>>>     features with a touch-screen compatible UX.
>>>>>>>>
>>>>>>>>     Under the hood, a major refactoring of the "backend functionality" was 
>>>>>>>>     required first. All functionality that is directly interacting with the 
>>>>>>>>     filesystem was moved to a separate process (Sword, Settings, i18n, 
>>>>>>>>     Database). The architecture is the same in the Electron app and the 
>>>>>>>>     Cordova app. For each, frontend and backend are separated in two 
>>>>>>>>     different processes and interacting with each other via an IPC layer. 
>>>>>>>>     This IPC layer is in detail a bit different for Electron and Cordova, 
>>>>>>>>     but behaves the same from an interface perspective.
>>>>>>>>
>>>>>>>>     I'd be happy about feedback!
>>>>>>>>
>>>>>>>>     Best regards,
>>>>>>>>     Tobias
>>>>>>>>     ------------------------------------------------------------------------
>>>>>>>>     sword-devel mailing list: sword-devel at crosswire.org
>>>>>>>>     http://crosswire.org/mailman/listinfo/sword-devel <http://crosswire.org/mailman/listinfo/sword-devel>
>>>>>>>>     Instructions to unsubscribe/change your settings at above page
>>>>>>>>
>>>>>>>>
>>>>>>>> -- 
>>>>>>>> Sent from my Android device with K-9 Mail. Please excuse my
>>>>>>>> brevity. 
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> sword-devel mailing list: sword-devel at crosswire.org
>>>>>>> http://crosswire.org/mailman/listinfo/sword-devel
>>>>>>> Instructions to unsubscribe/change your settings at above page
>>>>>>
>>>>>> _______________________________________________
>>>>>> sword-devel mailing list: sword-devel at crosswire.org
>>>>>> http://crosswire.org/mailman/listinfo/sword-devel
>>>>>> Instructions to unsubscribe/change your settings at above page
>>>>> <ezra.log>_______________________________________________
>>>>> sword-devel mailing list: sword-devel at crosswire.org
>>>>> <mailto:sword-devel at crosswire.org>
>>>>> http://crosswire.org/mailman/listinfo/sword-devel
>>>>> <http://crosswire.org/mailman/listinfo/sword-devel>
>>>>> Instructions to unsubscribe/change your settings at above page
>>>>
>>>>
>>>> _______________________________________________
>>>> sword-devel mailing list: sword-devel at crosswire.org
>>>> http://crosswire.org/mailman/listinfo/sword-devel
>>>> Instructions to unsubscribe/change your settings at above page
>>>
>>> _______________________________________________
>>> sword-devel mailing list: sword-devel at crosswire.org
>>> http://crosswire.org/mailman/listinfo/sword-devel
>>> Instructions to unsubscribe/change your settings at above page
>>
>> _______________________________________________
>> sword-devel mailing list: sword-devel at crosswire.org
>> http://crosswire.org/mailman/listinfo/sword-devel
>> Instructions to unsubscribe/change your settings at above page
>
> _______________________________________________
> sword-devel mailing list: sword-devel at crosswire.org
> http://crosswire.org/mailman/listinfo/sword-devel
> Instructions to unsubscribe/change your settings at above page
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://crosswire.org/pipermail/sword-devel/attachments/20210314/1665735c/attachment-0001.html>


More information about the sword-devel mailing list