what do you mean this?
"split the whole part name to a different textblock."

could you please  explain it more detail?

------------------------------------
-Regards, Hermet-

-----Original Message-----
From: "Tom Hacohen"<t...@stosb.com> 
To: "Enlightenment developer list"<enlightenment-devel@lists.sourceforge.net>; 
Cc: 
Sent: 2014-03-15 (토) 01:52:43
Subject: Re: [E-devel] [EGIT] [core/efl] master 01/01: Evas textblock: Fix 
clipping issues with some texts with width > advance.

It looks weird because you split it. If you'd like to make it look less
weird, split the whole part name to a different textblock. This way it'll
ellipsize correctly and you'll have spacing from both size.


On Fri, Mar 14, 2014 at 4:18 PM, ChunEon Park <hermet>@naver.com> wrote:

> The reason was to apply eliipsis only for the name but not bracket.
>
> Regardless of the Splitting tb, it's true that the geometry is incorrect
> anyway.
> it's not reasonable.
>
> Anyway, it still looks wierd.
>
> ------------------------------------
> -Regards, Hermet-
>
> -----Original Message-----
> From: "Tom Hacohen"<tom.hacohen>@samsung.com>
> To: <enlightenment-devel>@lists.sourceforge.net>;
> Cc:
> Sent: 2014-03-14 (금) 21:55:45
> Subject: Re: [E-devel] [EGIT] [core/efl] master 01/01: Evas textblock: Fix
> clipping issues with some texts with width > advance.
>
> On 14/03/14 12:07, Tom Hacohen wrote:
> > I just took a look with clouseau. Why do you create textblocks in such a
> > weird way and split it in such a weird way? For example, splitting the
> > closing ] from the rest of the group textblock?
> >
> > Anyway, what you are doing is wrong, and is expected to break at some
> > point (even if not now). The spacing between characters is different to
> > the spacing between a characters to the right of a textblock + space
> > between a character and the left of a textblock.
> >
> > I will take a look and see if something broke with textblock, or is more
> > correct.
> >
>
> Fixed in 2eaf9049b9f97bf95461c77a7d351222fc457e49.
> It still has extra spacing (same way it had before my patch that made it
> worse) because of what I said in my previous email. You shouldn't split
> this to two textblocks.
>
> Please let me know if it solved it for you.
>
> --
> Tom.
>
> > --
> > Tom.
> >
> > On 14/03/14 11:54, ChunEon Park wrote:
> >> ignore message.
> >> just press F10
> >>
> >> ------------------------------------
> >> -Regards, Hermet-
> >>
> >> -----Original Message-----
> >> From: "Tom Hacohen"<tom.hacohen>@samsung.com>
> >> To: <enlightenment-devel>@lists.sourceforge.net>;
> >> Cc:
> >> Sent: 2014-03-14 (금) 19:53:55
> >> Subject: Re: [E-devel] [EGIT] [core/efl] master 01/01: Evas textblock:
> Fix clipping issues with some texts with width > advance.
> >>
> >> Hey,
> >>
> >> I don't have a status bar with enventor. Also, I get:
> >> ERR<12643>: ../../../src/bin/config_data.c:116 config_load() Cannot load
> >> a config file "/home/tom/.config/enventor/config.eet"
> >>
> >> --
> >> Tom.
> >>
> >> On 14/03/14 09:17, ChunEon Park wrote:
> >>> Tom, after this commit,
> >>> i found a side effect in the enventor.
> >>>
> >>> As you launch the enventor,
> >>> you see the group name (in the bottom status bar) has a one white
> space leftover.
> >>>
> >>> Looks weird.
> >>>
> >>> Could you please check the commit again?
> >>>
> >>> ------------------------------------
> >>> -Regards, Hermet-
> >>>
> >>> -----Original Message-----
> >>> From: "Tom Hacohen"<tom>@stosb.com>
> >>> To: <git>@lists.enlightenment.org>;
> >>> Cc:
> >>> Sent: 2014-03-10 (월) 23:58:31
> >>> Subject: [EGIT] [core/efl] master 01/01: Evas textblock: Fix clipping
> issues with some texts with width > advance.
> >>>
> >>> tasn pushed a commit to branch master.
> >>>
> >>>
> http://git.enlightenment.org/core/efl.git/commit/?id=d175b8aa69c31fc155f05269350f6703e81886b7
> >>>
> >>> commit d175b8aa69c31fc155f05269350f6703e81886b7
> >>> Author: Tom Hacohen <tom>@stosb.com>
> >>> Date:   Thu Feb 27 10:39:52 2014 +0000
> >>>
> >>>        Evas textblock: Fix clipping issues with some texts with width
> > advance.
> >>>
> >>>        This happens with many texts. The issue occurs when the width
> of the
> >>>        last char is larger than it's advance. Before this patch, we
> didn't the
> >>>        width into account when calculating width, thus causing
> clipping issues
> >>>        in some cases.
> >>> ---
> >>>     src/lib/evas/canvas/evas_object_textblock.c  12 +++++++++---
> >>>     src/lib/evas/common/evas_font_query.c         6 ++++--
> >>>     src/tests/evas/evas_test_textblock.c         15 +++++++++------
> >>>     3 files changed, 22 insertions(+), 11 deletions(-)
> >>>
> >>> diff --git a/src/lib/evas/canvas/evas_object_textblock.c
> b/src/lib/evas/canvas/evas_object_textblock.c
> >>> index 1298a82..4956ac9 100644
> >>> --- a/src/lib/evas/canvas/evas_object_textblock.c
> >>> +++ b/src/lib/evas/canvas/evas_object_textblock.c
> >>> @@ -3350,7 +3350,7 @@ loop_advance:
> >>>             it->x = x;
> >>>             x += it->adv;
> >>>
> >>> -        if ((it->x + it->adv) > c->ln->w) c->ln->w = it->x + it->adv;
> >>> +        if ((it->w > 0) && ((it->x + it->w) > c->ln->w)) c->ln->w =
> it->x + it->w;
> >>>          }
> >>>
> >>>        c->ln->y = c->y - c->par->y;
> >>> @@ -4595,7 +4595,7 @@ _layout_par(Ctxt *c)
> >>>             /* Check if we need to wrap, i.e the text is bigger than
> the width,
> >>>                or we already found a wrap point. */
> >>>             if ((c->w >= 0) &&
> >>> -              (((c->x + it->adv) >
> >>> +              (((c->x + it->w) >
> >>>                     (c->w - c->o->style_pad.l - c->o->style_pad.r -
> >>>                      c->marginl - c->marginr))  (wrap > 0)))
> >>>               {
> >>> @@ -10304,7 +10304,7 @@ static void
> >>>     _size_native_calc_line_finalize(const Evas_Object *eo_obj,
> Eina_List *items,
> >>>           Evas_Coord *ascent, Evas_Coord *descent, Evas_Coord *w,
> Textblock_Position position)
> >>>     {
> >>> -   Evas_Object_Textblock_Item *it;
> >>> +   Evas_Object_Textblock_Item *it, *last_it = NULL;
> >>>        Eina_List *i;
> >>>
> >>>        it = eina_list_data_get(items);
> >>> @@ -10358,7 +10358,13 @@ _size_native_calc_line_finalize(const
> Evas_Object *eo_obj, Eina_List *items,
> >>>
> >>>     loop_advance:
> >>>             *w += it->adv;
> >>> +
> >>> +        if (!last_it  (it->visual_pos > last_it->visual_pos))
> >>> +           last_it = it;
> >>>          }
> >>> +
> >>> +   if (last_it)
> >>> +      *w += last_it->w - last_it->adv;
> >>>     }
> >>>
> >>>     /* FIXME: doc */
> >>> diff --git a/src/lib/evas/common/evas_font_query.c
> b/src/lib/evas/common/evas_font_query.c
> >>> index eebab70..1c219ee 100644
> >>> --- a/src/lib/evas/common/evas_font_query.c
> >>> +++ b/src/lib/evas/common/evas_font_query.c
> >>> @@ -822,7 +822,8 @@ evas_common_font_query_last_up_to_pos(RGBA_Font
> *fn, const Evas_Text_Props *text
> >>>                       if (gli->index == 0) continue;
> >>>                       if ((x >= pen_x) &&
> >>>                             (((i == 0) && (x <= full_adv))
> >>> -                         (x <= (full_adv - (gli[-1].pen_after -
> start_pen)))) &&
> >>> +                         (x < (full_adv - (gli[-1].pen_after -
> start_pen))
> >>> +                         (x <= (pen_x + gli->width)))) &&
> >>>                             (y >= -asc) && (y <= desc))
> >>>                         {
> >>>     #ifdef OT_SUPPORT
> >>> @@ -848,7 +849,8 @@ evas_common_font_query_last_up_to_pos(RGBA_Font
> *fn, const Evas_Text_Props *text
> >>>                  if (!EVAS_FONT_WALK_IS_VISIBLE) continue;
> >>>
> >>>                  if ((x >= EVAS_FONT_WALK_PEN_X) &&
> >>> -                 (x <= (EVAS_FONT_WALK_PEN_X_AFTER)) &&
> >>> +                   ((x < (EVAS_FONT_WALK_PEN_X_AFTER))
> >>> +                   (x <= (EVAS_FONT_WALK_PEN_X + _glyph_itr->width)))
> &&
> >>>                      (y >= -asc) && (y <= desc))
> >>>                    {
> >>>                       ret = EVAS_FONT_WALK_POS;
> >>> diff --git a/src/tests/evas/evas_test_textblock.c
> b/src/tests/evas/evas_test_textblock.c
> >>> index dfddefa..7836e2e 100644
> >>> --- a/src/tests/evas/evas_test_textblock.c
> >>> +++ b/src/tests/evas/evas_test_textblock.c
> >>> @@ -484,7 +484,7 @@ START_TEST(evas_textblock_cursor)
> >>>                  evas_textblock_cursor_pen_geometry_get(cur, &x, &y,
> &w, &h);
> >>>                  fail_if(0 != evas_textblock_cursor_line_geometry_get(
> >>>                           cur, &lx, &ly, &lw, &lh));
> >>> -             fail_if((x < lx)  (x + w > lx + lw)
> >>> +             fail_if((x < lx)
> >>>                        (y < ly)  (y + h > ly + lh));
> >>>                  fail_if((lx != plx)  (ly != ply)  (lw != plw)  (lh !=
> plh));
> >>>
> >>> @@ -505,7 +505,7 @@ START_TEST(evas_textblock_cursor)
> >>>                  evas_textblock_cursor_pen_geometry_get(cur, &x, &y,
> &w, &h);
> >>>                  fail_if(1 != evas_textblock_cursor_line_geometry_get(
> >>>                           cur, &lx, &ly, &lw, &lh));
> >>> -             fail_if((x < lx)  (x + w > lx + lw)
> >>> +             fail_if((x < lx)
> >>>                        (y < ly)  (y + h > ly + lh));
> >>>                  fail_if((lx != plx)  (ly != ply)  (lw != plw)  (lh !=
> plh));
> >>>
> >>> @@ -1596,6 +1596,7 @@ START_TEST(evas_textblock_wrapping)
> >>>        evas_object_resize(tb, bw + 1, bh);
> >>>        evas_object_textblock_size_formatted_get(tb, &w, &h);
> >>>        /* Wrap to minimum */
> >>> +   ck_assert_int_eq(w, bw);
> >>>        fail_if(w != bw);
> >>>        fail_if(h <= bh);
> >>>
> >>> @@ -1607,7 +1608,8 @@ START_TEST(evas_textblock_wrapping)
> >>>        evas_object_textblock_size_native_get(tb, &nw, &nh);
> >>>        evas_object_resize(tb, nw, nh);
> >>>        evas_object_textblock_size_formatted_get(tb, &w, &h);
> >>> -   fail_if((w != nw)  (h != nh));
> >>> +   ck_assert_int_eq(w, nw);
> >>> +   ck_assert_int_eq(h, nh);
> >>>
> >>>        /* Reduce size until reaching the minimum, making sure we don't
> >>>         * get something wrong along the way */
> >>> @@ -1760,13 +1762,13 @@ START_TEST(evas_textblock_wrapping)
> >>>        evas_object_textblock_text_markup_set(tb,
> "<wrap>=word><keyword>return</keyword> <number>0</number>;</wrap>");
> >>>
> >>>        evas_object_textblock_size_formatted_get(tb, &w, &h);
> >>> -   ck_assert_int_eq(w, 33);
> >>> +   ck_assert_int_eq(w, 32);
> >>>        ck_assert_int_eq(h, 25);
> >>>
> >>>        evas_object_resize(tb, 400, 400);
> >>>
> >>>        evas_object_textblock_size_formatted_get(tb, &w, &h);
> >>> -   ck_assert_int_eq(w, 45);
> >>> +   ck_assert_int_eq(w, 44);
> >>>        ck_assert_int_eq(h, 16);
> >>>
> >>>        /* Complex compound clusters using Devanagari. */
> >>> @@ -2663,6 +2665,7 @@ START_TEST(evas_textblock_style)
> >>>           evas_object_textblock_line_number_geometry_get(tb, 1, &x[1],
> &y[1], &w2[1], &h2[1]);
> >>>
> >>>           // check line 1 geometry relatively to line 0
> >>> +      ck_assert_int_eq(w2[0], w2[1]);
> >>>           fail_if((x[0] != x[1])  ((y[0] + h2[0]) != y[1])  (w2[0] !=
> w2[1])  (h2[0] != h2[1]));
> >>>
> >>>           evas_object_textblock_text_markup_set(tb, "Test
> >>> <style>=glow>Test</>
> >>> Test");
> >>> @@ -2672,7 +2675,7 @@ START_TEST(evas_textblock_style)
> >>>           evas_object_textblock_line_number_geometry_get(tb, 2, &x[4],
> &y[4], &w2[4], &h2[4]);
> >>>
> >>>           // check line 1 geometry relatively to line 0
> >>> -      fail_if((x[2] != x[3])  ((y[2] + h2[2]) != y[3])  (w2[2] !=
> w2[3])  (h2[2] != h2[3]));
> >>> +      fail_if((x[2] != x[3])  ((y[2] + h2[2]) != y[3])  (w2[2] >
> w2[3])  (h2[2] != h2[3]));
> >>>
> >>>           // check padding is correct
> >>>           fail_if((x[2] != (x[0] + l))  (y[2] != (y[0] + t)));
> >>>
> >>
> >>
> >>
> >>
> >>
> ------------------------------------------------------------------------------
> >> Learn Graph Databases - Download FREE O'Reilly Book
> >> "Graph Databases" is the definitive new guide to graph databases and
> their
> >> applications. Written by three acclaimed leaders in the field,
> >> this first edition is now available. Download your free book today!
> >> http://p.sf.net/sfu/13534_NeoTech
> >> _______________________________________________
> >> enlightenment-devel mailing list
> >> enlightenment-devel@lists.sourceforge.net
> >> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
> >>
> ------------------------------------------------------------------------------
> >> Learn Graph Databases - Download FREE O'Reilly Book
> >> "Graph Databases" is the definitive new guide to graph databases and
> their
> >> applications. Written by three acclaimed leaders in the field,
> >> this first edition is now available. Download your free book today!
> >> http://p.sf.net/sfu/13534_NeoTech
> >> _______________________________________________
> >> enlightenment-devel mailing list
> >> enlightenment-devel@lists.sourceforge.net
> >> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
> >>
> >
> >
> >
> >
> >
> ------------------------------------------------------------------------------
> > Learn Graph Databases - Download FREE O'Reilly Book
> > "Graph Databases" is the definitive new guide to graph databases and
> their
> > applications. Written by three acclaimed leaders in the field,
> > this first edition is now available. Download your free book today!
> > http://p.sf.net/sfu/13534_NeoTech
> > _______________________________________________
> > enlightenment-devel mailing list
> > enlightenment-devel@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
> >
>
>
>
>
>
> ------------------------------------------------------------------------------
> Learn Graph Databases - Download FREE O'Reilly Book
> "Graph Databases" is the definitive new guide to graph databases and their
> applications. Written by three acclaimed leaders in the field,
> this first edition is now available. Download your free book today!
> http://p.sf.net/sfu/13534_NeoTech
> _______________________________________________
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>
> ------------------------------------------------------------------------------
> Learn Graph Databases - Download FREE O'Reilly Book
> "Graph Databases" is the definitive new guide to graph databases and their
> applications. Written by three acclaimed leaders in the field,
> this first edition is now available. Download your free book today!
> http://p.sf.net/sfu/13534_NeoTech
> _______________________________________________
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>
------------------------------------------------------------------------------
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and their
applications. Written by three acclaimed leaders in the field,
this first edition is now available. Download your free book today!
http://p.sf.net/sfu/13534_NeoTech
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
------------------------------------------------------------------------------
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and their
applications. Written by three acclaimed leaders in the field,
this first edition is now available. Download your free book today!
http://p.sf.net/sfu/13534_NeoTech
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to