Re: [E-devel] [EGIT] [core/efl] master 01/01: evas_textblock: rainbow flag emoji treated as two clusters(update unibreak to version 4.2)
Hello. On 01.09.20 15:10, Ali Al-Zyoud wrote: Dear Stefan, Also, the static lib update should be a standalone patch and not mixed in with a evas feature. Actually updating static library alone is not possible unless you made some changes in Evas, since this will break compatibility (ninja test will fail too), so evas feature is related to updating the lib, and they need to done together. Fair enough. So the patch as-is can go in again after the freeze. regards Stefan Schmidt ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] EFL 1.25.0 beta 1
Hello Stefan, Le 31/08/2020 à 15:28, Stefan Schmidt a écrit : > Following our alpha release last week we are now in the beta phase, starting > with beta1. The focus is now fully on bug fixing and stabilization for the > release. > > **Fixes:** > * ecore con - curl - fix error map to map right enum > * eina - statgen (stat generation) - fix enable api to actually enable > * evas - image cache - fix loading with skip head on to load changed files > > **Download** > http://download.enlightenment.org/rel/libs/efl/efl-1.25.0-beta1.tar.xz > 32f68cd233199318b4c3639f868101088090276deb8c92360fc28c40b987ef2d Can you take a look at those meson fixes made for Buildroot? https://sourceforge.net/p/enlightenment/mailman/message/37075003/ https://sourceforge.net/p/enlightenment/mailman/message/37075016/ https://sourceforge.net/p/enlightenment/mailman/message/37075004/ Thanks! Best regards, Romain > > > > > ___ > enlightenment-devel mailing list > enlightenment-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] [EGIT] [core/efl] master 01/01: evas_textblock: rainbow flag emoji treated as two clusters(update unibreak to version 4.2)
Woops. Sorry for not checking the release schedule. I should have been more careful. Also, I'm sorry for making disturb your work. -Original Message- From: "Stefan Schmidt" To: "Enlightenment developer list"; "WooHyun Jung"; Cc: Sent: 2020-09-01 (화) 19:58:17 (GMT+09:00) Subject: Re: [E-devel] [EGIT] [core/efl] master 01/01: evas_textblock: rainbow flag emoji treated as two clusters(update unibreak to version 4.2) Hello WooHyun. We are in freeze for the release. Such patches are not going in at this stage. Same for the next one. Also, the static lib update should be a standalone patch and not mixed in with a evas feature. Please pay more attention on review and what is happening upstream. We expect that from all our committers. I am revertign thes etwo patches now. regards Stefan Schmidt On 01.09.20 12:38, AbdullehGhujeh wrote: > woohyun pushed a commit to branch master. > > http://git.enlightenment.org/core/efl.git/commit/?id=1ab71284db89dcc37da12dd56796e892bc50ae0a > > commit 1ab71284db89dcc37da12dd56796e892bc50ae0a > Author: AbdullehGhujeh > Date: Tue Sep 1 19:33:51 2020 +0900 > > evas_textblock: rainbow flag emoji treated as two clusters(update > unibreak to version 4.2) > > Summary: > if we have rainbow flag emoji (🏳️🌈) > we can use mouse/keyboard to move cursor inside it because we break it > into two clusters, we break on 1F308, > > This is wrong as we should treat emoji as a single cluster (based on > rules mentioned in Unicode segmentation standard “Do not break within emoji > modifier sequences or emoji ZWJ sequences” > (https://unicode.org/reports/tr29/#GB11 )). > > this issue happens because we don’t give 1F308 its correct grapheme > break property value, I think this is a bug in the unibreak library as this > Unicode 1F308 should have word break class value equals to Glue_After_ZWJ > (based on https://www.unicode.org/reports/tr29/tr29-31.html#Glue_After_Zwj_WB > and http://unicode.org/Public/emoji/5.0/emoji-zwj-sequences.txt) which will > not make it break and we will get a single cluster. > > I noticed that the current unibreak lib used in EFL seems to implement > Unicode 9 (latest is Unicode 13) which uses obsolete and unused grapheme > break property, such as E_Modifier & Glue_After_ZWJ, so if a new emoji > introduced (rainbow flag was introduced after Unicode 9) and based on > Unicode 9 it should use property E_Modifier or Glue_After_ZWJ we will have > issue with it. > > So I have updated unibreak lib using latest released version of unibreak > (4.2) which implement Unicode 12. > > I needed to remove **BREAK_AFTER(i)** to pass the tests in D1140 as > spaces do not break on latest update (also related to T995). > > {F3868712} > > this should fix T8665 & T8688 > > Reviewers: ali.alzyod, woohyun, bowonryu, zmike, segfaultxavi, bu5hm4n > > Reviewed By: ali.alzyod > > Subscribers: segfaultxavi, cedric, #reviewers, #committers > > Tags: #efl > > Maniphest Tasks: T8665 > > Differential Revision: https://phab.enlightenment.org/D11743 > --- > src/lib/evas/canvas/evas_object_textblock.c| 4 +- > src/static_libs/libunibreak/LICENCE| 8 +- > src/static_libs/libunibreak/NEWS | 14 +- > src/static_libs/libunibreak/README.md | 16 +- > src/static_libs/libunibreak/emojidata.c| 264 > + > .../libunibreak/{unibreakbase.c => emojidef.c} | 43 +++- > .../libunibreak/{unibreakbase.c => emojidef.h} | 28 ++- > src/static_libs/libunibreak/graphemebreak.c| 88 --- > src/static_libs/libunibreak/graphemebreak.h| 8 +- > src/static_libs/libunibreak/graphemebreakdata.c| 114 + > src/static_libs/libunibreak/graphemebreakdef.h | 18 +- > src/static_libs/libunibreak/linebreak.c| 66 -- > src/static_libs/libunibreak/linebreak.h| 8 +- > src/static_libs/libunibreak/linebreakdata.c| 225 +- > src/static_libs/libunibreak/linebreakdef.c | 17 +- > src/static_libs/libunibreak/linebreakdef.h | 25 +- > src/static_libs/libunibreak/meson.build| 2 + > src/static_libs/libunibreak/unibreakbase.c | 2 +- > src/static_libs/libunibreak/unibreakbase.h | 4 +- > src/static_libs/libunibreak/unibreakdef.h | 12 +- > src/static_libs/libunibreak/wordbreak.c| 92 +++ > src/static_libs/libunibreak/wordbreak.h| 11 +- > src/static_libs/libunibreak/wordbreakdata.c| 201 +++- > src/static_libs/libunibreak/wordbreakdef.h | 20 +- > src/tests/evas/evas_test_textblock.c | 4 + > 25 files changed, 928 insertions(+), 366 deletions(-) > > diff --git a/src/lib/evas/canvas/evas_objec
Re: [E-devel] [EGIT] [core/efl] master 01/01: evas_textblock: rainbow flag emoji treated as two clusters(update unibreak to version 4.2)
Hello WooHyun. On 01.09.20 13:03, woohyun wrote: Woops. Sorry for not checking the release schedule. I should have been more careful. Also, I'm sorry for making disturb your work. I reverted it so nothing to worry to much about. Just more attention next time and all is good. :-) regards Stefan Schmidt ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] API/ABI report review for 1.25 beta1
Hello. On 31.08.20 19:32, Stefan Schmidt wrote: Hello. Please help to review the report here: http://www.enlightenment.org/~stefan/objects_report/efl/1.24.3/1.25.0-beta1/report.html Let's have a start here. The good news is that no symbols have been removed (once lua is enabled again for this build). That means we can concentrate on the 25 new APIs. Ecore.h, libecore.so.1.25.0 _ecore_main_loop_wakeup_time_get ( ) -> Internal function. Looks sane. Ecore_X.h, libecore_x.so.1.25.0 _ecore_x_vxync_wakeup_time_get ( ) -> Internal function. Looks sane. Efreet_Mime.h, libefreet.so.1.25.0 efreet_mime_fallback_type_get ( char const* file ) efreet_mime_globs_type_get ( char const* file ) efreet_mime_init ( ) efreet_mime_magic_type_get ( char const* file ) efreet_mime_shutdown ( ) efreet_mime_special_type_get ( char const* file ) efreet_mime_type_cache_clear ( ) efreet_mime_type_cache_flush ( ) efreet_mime_type_get ( char const* file ) efreet_mime_type_icon_get ( char const* mime, char const* theme, unsigned int size ) Efreet_Trash.h, libefreet.so.1.25.0 efreet_trash_delete_uri ( Efreet_Uri* uri, int force_delete ) efreet_trash_dir_get ( char const* file ) efreet_trash_empty_trash ( ) efreet_trash_init ( ) efreet_trash_is_empty ( ) efreet_trash_ls ( ) efreet_trash_shutdown ( ) -> mime and trash are being merged into libefreet.so now (compat in place). So abi-checker detects them as new syombols in the .so eina_strbuf.h, libeina.so.1.25.0 eina_strbuf_replace_last ( Eina_Strbuf* buf, char const* str, char const* with ) -> Fine with me elm_textpath_legacy.h, libelementary.so.1.25.0 elm_textpath_text_user_style_set ( Eo* obj, char const* style ) -> Fine with me. Eolian.h, libeolian.so.1.25.0 eolian_expression_eval_fill ( Eolian_Expression const* expr, Eolian_Value* val ) eolian_expression_value_get_fill ( Eolian_Expression const* expr, Eolian_Value* val ) -> Fine with me. Evas_Common.h, libevas.so.1.25.0 evas_font_data_cache_get ( Evas_Font_Data_Cache options ) evas_font_data_cache_set ( Evas_Font_Data_Cache options, int bytes ) -> Looks sane To me this looks all fine, but I would like to have another set of reviews on this one. regards Stefan Schmidt ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] [EGIT] [core/efl] master 01/01: evas_textblock: rainbow flag emoji treated as two clusters(update unibreak to version 4.2)
Hello. On 01.09.20 12:58, Stefan Schmidt wrote: Hello WooHyun. We are in freeze for the release. Such patches are not going in at this stage. Same for the next one. The second one looks like a valid bug fix on a second review. I will leave it in and only revert the one with the libunibreak update. regards Stefan Schmidt ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] [EGIT] [core/efl] master 01/01: evas_textblock: rainbow flag emoji treated as two clusters(update unibreak to version 4.2)
Hello WooHyun. We are in freeze for the release. Such patches are not going in at this stage. Same for the next one. Also, the static lib update should be a standalone patch and not mixed in with a evas feature. Please pay more attention on review and what is happening upstream. We expect that from all our committers. I am revertign thes etwo patches now. regards Stefan Schmidt On 01.09.20 12:38, AbdullehGhujeh wrote: woohyun pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=1ab71284db89dcc37da12dd56796e892bc50ae0a commit 1ab71284db89dcc37da12dd56796e892bc50ae0a Author: AbdullehGhujeh Date: Tue Sep 1 19:33:51 2020 +0900 evas_textblock: rainbow flag emoji treated as two clusters(update unibreak to version 4.2) Summary: if we have rainbow flag emoji (🏳️🌈) we can use mouse/keyboard to move cursor inside it because we break it into two clusters, we break on 1F308, This is wrong as we should treat emoji as a single cluster (based on rules mentioned in Unicode segmentation standard “Do not break within emoji modifier sequences or emoji ZWJ sequences” (https://unicode.org/reports/tr29/#GB11 )). this issue happens because we don’t give 1F308 its correct grapheme break property value, I think this is a bug in the unibreak library as this Unicode 1F308 should have word break class value equals to Glue_After_ZWJ (based on https://www.unicode.org/reports/tr29/tr29-31.html#Glue_After_Zwj_WB and http://unicode.org/Public/emoji/5.0/emoji-zwj-sequences.txt) which will not make it break and we will get a single cluster. I noticed that the current unibreak lib used in EFL seems to implement Unicode 9 (latest is Unicode 13) which uses obsolete and unused grapheme break property, such as E_Modifier & Glue_After_ZWJ, so if a new emoji introduced (rainbow flag was introduced after Unicode 9) and based on Unicode 9 it should use property E_Modifier or Glue_After_ZWJ we will have issue with it. So I have updated unibreak lib using latest released version of unibreak (4.2) which implement Unicode 12. I needed to remove **BREAK_AFTER(i)** to pass the tests in D1140 as spaces do not break on latest update (also related to T995). {F3868712} this should fix T8665 & T8688 Reviewers: ali.alzyod, woohyun, bowonryu, zmike, segfaultxavi, bu5hm4n Reviewed By: ali.alzyod Subscribers: segfaultxavi, cedric, #reviewers, #committers Tags: #efl Maniphest Tasks: T8665 Differential Revision: https://phab.enlightenment.org/D11743 --- src/lib/evas/canvas/evas_object_textblock.c| 4 +- src/static_libs/libunibreak/LICENCE| 8 +- src/static_libs/libunibreak/NEWS | 14 +- src/static_libs/libunibreak/README.md | 16 +- src/static_libs/libunibreak/emojidata.c| 264 + .../libunibreak/{unibreakbase.c => emojidef.c} | 43 +++- .../libunibreak/{unibreakbase.c => emojidef.h} | 28 ++- src/static_libs/libunibreak/graphemebreak.c| 88 --- src/static_libs/libunibreak/graphemebreak.h| 8 +- src/static_libs/libunibreak/graphemebreakdata.c| 114 + src/static_libs/libunibreak/graphemebreakdef.h | 18 +- src/static_libs/libunibreak/linebreak.c| 66 -- src/static_libs/libunibreak/linebreak.h| 8 +- src/static_libs/libunibreak/linebreakdata.c| 225 +- src/static_libs/libunibreak/linebreakdef.c | 17 +- src/static_libs/libunibreak/linebreakdef.h | 25 +- src/static_libs/libunibreak/meson.build| 2 + src/static_libs/libunibreak/unibreakbase.c | 2 +- src/static_libs/libunibreak/unibreakbase.h | 4 +- src/static_libs/libunibreak/unibreakdef.h | 12 +- src/static_libs/libunibreak/wordbreak.c| 92 +++ src/static_libs/libunibreak/wordbreak.h| 11 +- src/static_libs/libunibreak/wordbreakdata.c| 201 +++- src/static_libs/libunibreak/wordbreakdef.h | 20 +- src/tests/evas/evas_test_textblock.c | 4 + 25 files changed, 928 insertions(+), 366 deletions(-) diff --git a/src/lib/evas/canvas/evas_object_textblock.c b/src/lib/evas/canvas/evas_object_textblock.c index d50592cc5d..1a46ea614c 100644 --- a/src/lib/evas/canvas/evas_object_textblock.c +++ b/src/lib/evas/canvas/evas_object_textblock.c @@ -10297,7 +10297,7 @@ evas_textblock_cursor_word_start(Efl_Text_Cursor_Handle *cur) if ((cur->pos > 0) && (cur->pos == len)) cur->pos--; - for (i = cur->pos ; _is_white(text[i]) && BREAK_AFTER(i) ; i--) + for (i = cur->pos ; _is_white(text[i]) ; i--) { if (i == 0) { @@ -10364,7 +10364,7 @@ evas_textblock_cursor_word_end(Efl_Text_Cursor_Handle *cur)