Hi all, Although the commit (and log) gives enough information by itself, I decided to write this post to further clarify the subject.
This commit changed the font engine, textblock object and text object to use Eina_Unicode instead of utf8 internally. This commit does not affect API in any way (except for engine writing API which is pretty internal). There are a couple of reasons for this commit: 1. With utf8 you can't jump to specific string indexes for example: the 4th letter of a string. 2. All the internal font functions already work with Unicode code points, so we had to convert encodings all the time. 3. The BiDi algorithm in general and fribidi in specific, require the text to be encoded in Unicode because jumping between text positions, resolving visual<->logical indexes and reordering letters are pretty common there. 4. This cleaned the code quite a lot, because retrieving specific indexes was now made easier. In this commit I also started relying on the "new" FriBiDi version (0.19.2 which was released an year and a half ago) as implied in my previous mail about BiDi. This commit also includes a bit of renaming, evas_intl_* got renamed to evas_bidi_*, evas_common_font_utf8_* got renamed to evas_common_encoding_utf8_* (the previous ones still exist but marked as deprecated). Currently, the changes I did in the font engine are pretty clean, though I can't say same about the textblock object. In the textblock object I still do stuff as if the string is stored in utf8, that is, I still kept the current design and didn't do any major changes (that change flow too dramatically). The code works, and it's not uglier than it was, it's just not a clean as it will be once I get over with it. I had to commit now in order to allow raster to "uncrustify" everything, let other people continue to work on other parts of Evas without a merging hell, and because it's better than how it was. I will overhaul the textblock object in the following weeks (hopefully will do a small API breaking commit tomorrow in order to make get it in efl 1.0) and after that will redesign textblock to work more naturally with unicode. I did a lot of testing, but I still can't be sure everything works ok, to me it seemed that everything is exactly as it was except for the bugs I fixed. If you find anything fishy, please let me know. Sorry for the big commit, but it includes many interdependent changes. It's also time to mention I did *not* test on Mac OS/Windows/Exotic engines, although I did modify the code where needed, I can't assure it works there, so again, if you find anything, drop me an email. If you have any questions, please let me know, Tom. ------------------------------------------------------------------------------ The Palm PDK Hot Apps Program offers developers who use the Plug-In Development Kit to bring their C/C++ apps to Palm for a share of $1 Million in cash or HP Products. Visit us here for more details: http://ad.doubleclick.net/clk;226879339;13503038;l? http://clk.atdmt.com/CRS/go/247765532/direct/01/ _______________________________________________ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel