[sword-devel] Unicode toUpper map working well!

Tobias Klein contact at tklein.info
Sun Mar 14 14:49:30 EDT 2021


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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://crosswire.org/pipermail/sword-devel/attachments/20210314/e4f7d2f3/attachment.html>


More information about the sword-devel mailing list