Matthew Talbert wrote:
What does ICU do that glib doesn't? See, for example,
http://library.gnome.org/devel/glib/2.18/glib-Unicode-Manipulation.html.

glib appears to have a good selection of basic Unicode handling functions. However, I don't see any reference made to UCA or CLDR. I'm sure they're implementing the normalization algorithms correctly, but if they aren't specifically using UCA and CLDR for collation, collation won't be identical between glib and ICU. We really can't have some segment of Sword implementers using ICU for collation and another segment using glib if the two don't give the same results. (UCA is also notoriously difficult to implement, so it's probably worthwhile to contain ourselves to a single implementation if at all possible in order to eliminate problems stemming from differing interpretations of the algorithm.)

Another part of CLDR (which actually came from ICU's data) is a multitude of date & time formats, calendars, and language names, all translated into dozens of languages. Transliteration tables, another element of CLDR, are likewise not mentioned in the cited glib doc.

ICU also has a significantly more advanced regex implementation than we use currently in Sword, which would be a nice improvement. And its implementation of the Bidi algorithm may help us solve some of the issues we have regarding rendering of bidi languages like Hebrew, Arabic, Farsi, & Syriac.

The ICU home page has a quick summary of its features and a list of many products and organizations that use ICU: http://icu-project.org/.

--Chris

_______________________________________________
sword-devel mailing list: [email protected]
http://www.crosswire.org/mailman/listinfo/sword-devel
Instructions to unsubscribe/change your settings at above page

Reply via email to