[sword-devel] LD module casing & ICU (was: Personal commentary -- internal scripture xrefs)

Chris Little chrislit at crosswire.org
Wed Nov 12 23:01:42 MST 2008

Jonathan Morgan wrote:
> What could be more interesting is if users want mixed case dictionary
> entries, since all of our dictionaries currently appear to be
> uppercase (except daily devotional style modules), and I think that
> having mixed case in alphabetical order might end up violating the
> ordering requirement.

The LD drivers all force uppercasing. This is one of those cases where 
having ICU is absolutely necessary. ICU does all of the casing in the 
utilities. If LD modules are written by an application that doesn't have 
ICU, it will be incapable of doing the casing in any but the most basic 
cases. (Anything outside of Latin-1 probably won't work, but I'm not 
precisely sure what the fallback from ICU is.)

[As a further plug for ICU, much of the i18n and, especially, l10n that 
is now being attempted in Sword frontends would greatly benefit from 
using ICU. Unicode has a relatively new component called the Common 
Locale Data Repository (http://unicode.org/cldr/) that seeks to 
standardize much locale data in a way that can be repurposed by various 
apps. Much of this now standardized data (language names, dates/date 
formats, collation orders, etc.) has been present for years in ICU and 
was basically copied over into CLDR.]

Back to the issue of LD drivers, we will at some point need to add 
support for mixed case keys in LD modules. There is an important and 
requested Bible that we have permission to produce for sale by the 
publisher, but it needs to be accompanied by a morphological database 
(akin to Robinson & Packard) that has cased keys, which cannot simply be 


More information about the sword-devel mailing list