Dear Myungjae,

Please take a look at commit 66118 and 66119. They introduced two new 
APIs evas_textblock_cursor_word_start and evas_textblock_cursor_word_end 
that move the cursor to the start and the end of the word respectively.

I've tested it and it works, but I can only test it to some extent, so 
please let me know if you find any issues. The implementation is based 
on the algorithm described in http://unicode.org/reports/tr29/ and was 
compared with the reference implementation that can be found at 
http://unicode.org/cldr/utility/breaks.jsp (choose word in the break 
options).

Enjoy,
Tom.

On 12/12/11 04:41, Myungjae Lee wrote:
> Thanks Tom and Vincent for your comments and sorry for late reply :)
>
> According to your comments I removed the API, just implemented the default
> incomplete word breaking and changed names and types as Vincent suggested..
> but I think this can conflict with what Tom is planning to implement inside
> textblock.
>
> So I'll be waiting for Tom's implementation and add what I need there.
>
> --
> Myungjae
>
>
> 2011/12/12 Tom Hacohen<tom.haco...@partner.samsung.com>
>
>> Update: I found some time to finally implement the word breaking
>> algorithm (excluding dictionary lookups). It's something I've been
>> postponing for a while now, and your email reminded me how needed it is.
>>
>> I'll hopefully get everything to a working state soon. Will update you
>> when I do.
>>
>> --
>> Tom.
>>
>> On 07/12/11 11:04, Tom Hacohen wrote:
>>> Dear MJ,
>>>
>>> Thanks a lot for the patch, this is a very needed feature, however I
>>> have a couple of comments on the implementation.
>>>
>>> The reason I was postponing implementing word selection for entry, is
>>> that it's not that trivial.
>>>
>>> There's a complete standard on word boundaries that has to be
>>> implemented (http://unicode.org/reports/tr29/#Word_Boundaries) for it to
>>> work correctly for all languages.
>>>
>>> I'm not against implementing an incomplete implementation (i.e one that
>>> just filters according to some chars) until we get around to doing the
>>> complete implementation, but in that case,
>>> edje_object_part_text_word_separators_set must be removed, as it won't
>>> be useful in the future. We need to make the incomplete implementation
>>> look like a complete implementation and just behave differently in the
>>> details. Personally, I prefer having an implementation inside textblock
>>> as it has more information, something like: "cursor_to_word_end" and
>>> "cursor_to_word_start".
>>>
>>> Also, I can see you changed the way _curs_back behaves, but judging from
>>> the textblock code, your change is not needed as it's already like that
>>> there... Also, I don't see how it relates to your change because a
>>> paragraph separator is a word separator anyway.
>>>
>>> The comments above are especially relevant for languages that don't use
>>> spaces that often, or that break words without hyphens.
>>>
>>> I believe that using the line breaking algorithm (that we already have)
>>> will give better results than working with delimiters (although it won't
>>> be perfect itself).
>>>
>>>
>>> In conclusion, I wouldn't mind applying a patch that just automatically
>>> handles this (without exposing any API to the user) as first step
>>> towards a complete implementation, but I do believe implementing it
>>> inside textblock as described above is a better solution.
>>> Therefore, this patch can't be applied in it's current form, but needs
>>> to be adjusted as Vincent suggested in his mails, and as I suggested
>> above.
>>>
>>>
>>> Waiting to hear your thoughts on the matter.
>>>
>>> --
>>> Tom.
>>
>>
>> ------------------------------------------------------------------------------
>> Learn Windows Azure Live!  Tuesday, Dec 13, 2011
>> Microsoft is holding a special Learn Windows Azure training event for
>> developers. It will provide a great way to learn Windows Azure and what it
>> provides. You can attend the event by watching it streamed LIVE online.
>> Learn more at http://p.sf.net/sfu/ms-windowsazure
>> _______________________________________________
>> enlightenment-devel mailing list
>> enlightenment-devel@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>>
> ------------------------------------------------------------------------------
> Learn Windows Azure Live!  Tuesday, Dec 13, 2011
> Microsoft is holding a special Learn Windows Azure training event for
> developers. It will provide a great way to learn Windows Azure and what it
> provides. You can attend the event by watching it streamed LIVE online.
> Learn more at http://p.sf.net/sfu/ms-windowsazure
> _______________________________________________
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>


------------------------------------------------------------------------------
Learn Windows Azure Live!  Tuesday, Dec 13, 2011
Microsoft is holding a special Learn Windows Azure training event for 
developers. It will provide a great way to learn Windows Azure and what it 
provides. You can attend the event by watching it streamed LIVE online.  
Learn more at http://p.sf.net/sfu/ms-windowsazure
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to