[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