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