[bt-devel] ICU update

Daniel Glassey bt-devel@crosswire.org
Wed, 17 Jul 2002 01:12:04 +0100


well, I've just checked in my ICU work and it seems to work, or at least the 
current version of tlitmgrtest works, and I've integrated the work from that 
into the lib but it still needs tested.

For the frontend, all you need to know
SWMgr has a static bool isICU that lets you know at runtime if ICU has been 
enabled in sword
ICU SWMgr now loads a UTF8Transliterator filter as a global filter by default
- a comment in the code says that it wants to be handled differently but I 
can't see BibleCS doing that
(talking of which if this default stays biblecsmgr.cpp will need to be 
updated).

Transliteration is the conversion of text from one alphabetic script to 
another generally to try and make the text pronouncable if not 
understandable. e.g. logos is the greek for word transliterated into roman 
script.

for anyone interested in stuff below the hood:
the filter on construction loads the list of what sword transliterators are 
available from data into a map
then when the filter finds it needs to use one it asks ICU if one has already 
been created, if so it uses it.
otherwise it will use the stored info to load the transliteration rules from 
the data file and create a transliterator from that. then it passes it onto 
ICU to manage so next time it'll just be there.

sbedtime now, but I've just thought, we ought to make the SWTransMap static 
and make sure that Load() only gets done once.

also need to do a few things to autotool system like set sword icu data 
directory (defaults currently to /usr/local/lib/sword)

Let me know if theres anything more I can say.
Regards,
Daniel