[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
case-folded.
--Chris
More information about the sword-devel
mailing list