[sword-devel] Unicode Bible program

Joel Mawhorter sword-devel@crosswire.org
Thu, 24 Feb 2000 15:49:50 -0800


On Thu, 24 Feb 2000, Paul Gear wrote:
> Joel Mawhorter wrote:
> 
> > Hello everyone,
> >
> > As I've mentioned before on this list, I'm interested in a Bible program that
> > can used with languages that are not Latin based (i.e. don't use ASCII or
> > ISO-8895 encodings). I have the following options and I would appreciate
> > comments on them.
> >
> > 1. Find free Bible software that supports Unicode.
> > 2. Modify SWORD to support Unicode.
> > 3. Create a new Bible program that is focused on Unicode support.
> 
> My vote goes to 2: we can make the most impact by combining efforts.  Collaboration
> is to be valued more highly than individual effort in this area.

I agree that collaboration is a good idea. However, since using Unicode
versus ASCII is such a fundamental thing to software that deals with text, I
don't think there could be much code in common between the two programs.
Basically, to support Unicode I would have to write a Unicode text class,
all the functions to do searching/parsing/etc., and write a frontend. I not sure
what would be gained by sticking that code into SWORD. SWORD is a great
package for dealing with ASCII text since it is written in C++ and is therefore
fast. Most people that use SWORD will never need to use a Unicode text in their
life. Therefore it makes more sense to me to create two different programs. I
think collaboration would be best done in the area of obtaining permission to
use texts and that sort of thing.

> > I've looked for free Bible software that supports Unicode and I haven't been
> > able to find any. (If anyone here knows of a program that I've missed, please
> > let me know).
> 
> There is an effort called JBible.  I don't remember any more about it than that.
> Try a search on Google and you'll probably find them.

Thanks. I hadn't seen that one. I'll look into that to see if it could be
useful.

> > Since SWORD is written in C++, Unicode support would have to be done with a third
> > party library. Using a library would allow processing of Unicode text but there
> > isn't any consistent way to render Unicode text across platforms. I'm not really
> > familiar with the SWORD code; would anyone care to comment on how easy it would
> > be to subclass SWText to create a Unicode text class? Does anything in the
> > parent classes assume 8 bit chars?
> 
> I'll leave this to Troy for comment.
> 
> > Creating a new program has some potential. Java would be the obvious choice for
> > a language since Unicode support is native and it has a standard
> > cross-platform way to render Unicode text. Also, new software wouldn't burden
> > SWORD with a lot of code that would only be used for Unicode texts. Troy, would
> > it be possible to include new software like this under the SWORD umbrella?
> 
> Java is cool.  Java is neat.  Java is slow.  I wrote my first prototype frontend in
> Java and it killed the machine.  I'd be interested to see how it performs in the new
> GCC 2.95 compiler suite.  They have a Java compiler called gcj.  I've downloaded it,
> but haven't played around yet.

I agree that Java is slow. However, it's getting faster and so are the machines
it's being run on. The great thing about Java is that it supports
rendering Unicode in the same way across platforms. With C++, a different
frontend would have to be written for each OS that someone wanted the program
on. As well, the developers of Java actually thought about internationalization
of the interface when they designed the API. 

gcj looks like it is still in too early a stage of development to use for
something like this. As well, that wouldn't help for operating systems that
didn't have a port of gcj. One way to speed up a Java program is to write some
of the stuff in C and call it from Java (I think that can be done). When you
made your Java interface, did you use AWT or Swing?

> > I am curious what people think about this. Clearly there is a need for free
> > Bible software that handles non-European languages/scripts.
> 
> I couldn't agree more.  We need to make this happen so that Christian missions and
> non-English-speaking churches can have resources at their disposal without having to
> pay through the nose for products that they have no say about.

Exactly! The main problem is that many of the people that aren't well supported
by existing Bible software are also the people that can't afford to buy
expenive software (e.g. most of India, Asia and Africa)

Thanks for the comments.

Joel

> > What is the best
> > way to make it happen?
> 
> Find someone to pay you to work on it full time.  ;-)
> 
> Paul
> ---------
> "He must become greater; i must become less." - John 3:30
> http://www.bigfoot.com/~paulgear
> 
> P.S.  If people haven't heard, i've shut down my OpenBible project, which was to be
> a GNOME frontend for Sword.  See <http://gear.apana.org.au/OpenBible> for details.