A few issues: - the way this is divided, all of the code will get pulled into every app that calls any of these methods. - this is incomplete and doesn't have the other properties, such as getDirection, toLower, etc.
I had written a full implementation a while ago (it is still available in svn at changes/jat/ucd), which encoded each table separately with a combination of run-length encoding and huffman coding the runs, which got the size of individual tables down to a few hundred bytes each, and you only paid for the tables that were used. The decompression code was of course larger, so maybe there is room for a simpler encoding mechanism that takes less code even if the data is larger. That effort was complete but was never merged in because some people objected to the code size increase. Given the synchronous nature of the API, it isn't feasible to fetch the tables on-demand from a server, so they have to be downloaded with the code (they can go into different runAsync fragments though). I hope to work on that and other i18n issues next quarter, but I am not sure how much time I will have to work on it. http://gwt-code-reviews.appspot.com/226801 -- http://groups.google.com/group/Google-Web-Toolkit-Contributors