[sword-devel] Greek dictionary - input needed

Chris Little chrislit at crosswire.org
Wed Jan 21 00:56:34 MST 2009

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 

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/.


More information about the sword-devel mailing list