Michael Neuhold Homepage
Start Page > Palm-PDA > Bible on Palm-PDA

Bible on Palm-PDA

This English version of my originally  German Palm on Bible page is provided for convenience of those who are interested in conv2pb but do not speak German. I apologize for my poor English.

Bible reader programs

Among the various projects which bring the Bible onto Palm handhelds I currently (March 2004) consider the following four as important:

Which BibleConverter?

Both converters identify Biblical books not on by their (language dependent) name but by a number. Poetry Poon's program has the disadvantage that its numbering scheme does not take into account apocryphic (i.e. not contained in the Hebrew OT) books which are not part of the Catholic canon. But this does only matter if you want to convert the Septuaginta or the Vulgata including these books. On the other hand BibleConverter can not only convert into the Bible Reader format but e.g. also into the format used by Crosswire's Sword project.

YCHBibleConverter uses a numbering scheme (invented by J.S. Park) that does not only take into account all the apocryphs but is at the same time open for books closely related to the Bible (e.g. Dead Sea scrolls, rabbinic literature, Josephus etc.). But it can (at least currently) only convert into the Bible+ format.


Who has BibleWorks has a lot of Bible translations in digital form at his hands which can be exported into a text file (File | Export, choose a Bible, file type is text). All he needs is a program which converts that export file into the source code format of (YCH)BibleConverter. On a long Saturday I startet writing such a program: conv2pb was born. It is written in Java and needs only a Java runtime environment (JRE) for execution.

Another source of Bible texts is  The Unbound Bible. So I enhanced my program to be able to use these files, too.

The output file of conv2pb can be used as input file for (YCH)BibleConverter. You can invoke Conv2PB (be aware of the letter case) on the command line or use the GUI interface program CpbGui. The GUI program is a Swing application (i.e. it uses the graphical controls of Sun's Swing classes).

conv2pb can convert accented Greek text into GreekKeys format at the same time (which additionally needs the package greekconverter). Who has no BibleWorks can use the UTF-8 files, that are provided for free download by The Unbound Bible ( Greek NT,  Septuagint).

Everyone has to find out for himself if using this program with BibleWorks export files violates copyright laws. Although I regard it as strange that using and spreading the Bible is hindered by copyright, I do not want to instigate anyone to violate laws.


Download  current program version (conv2pb).

Download  source code (GPL applies).

Download  greekconverter.

What is going on?

Changes from 0.7 to 071125:

Changes from 0.6 to 0.7:

Changes from 0.5 to 0.6:

Changes from 0.4 to 0.5:

Changes from 0.3 to 0.4:

Technical details

The format that (YCH)BibleConverter needs to create text modules for Bible+ uses HTML-like tags. Which implies that the Bible text must not contain angle brackets. Prov 31,30 - Eccl 1,1 [KJV]:

<VERSE>Favour is deceitful, and beauty is vain: but a woman that feareth the LORD, she shall be praised.</VERSE>
<VERSE>Give her of the fruit of her hands; and let her own works praise her in the gates.</VERSE>
<BOOK NAME="Ecclesiastes" NUMBER="250" SHORTCUT="Eccl">
<VERSE><BOOKTEXT>Ecclesiastes<VERSTEXT> The words of the Preacher, the son of David, king in Jerusalem.</VERSE>

In the BibleWorks export files each verse is a line of its own, at its beginning book, chapter and verse number are cited:

Pro 31:30 Favour is deceitful, and beauty is vain: but a woman that feareth the LORD, she shall be praised.
Pro 31:31 Give her of the fruit of her hands; and let her own works praise her in the gates.
Ecc 1:1 The words of the Preacher, the son of David, king in Jerusalem.

From the  Online-Bibles comes the feature of intermediate headlines: conv2pb converts a line that starts with # into a DESCTEXT tag. I.e.

# Praise of the virtuous woman
Pro 31:10 Who can find a virtuous woman? for her price is far above rubies.


<VERSE><DESCTEXT>Praise of the virtuous woman<VERSTEXT>Who can find a virtuous woman? for her price is far above rubies.</VERSE>

conv2pb cook book

First of all: carefully read the documentation on Bible+ and conv2pb.

conv2pb and (YCH)BibleConverter are written in Java. For their execution a Java runtime environment ist needed. It can be downloaded from  Sun (look around at their Java server).

If you want to use conv2pb you must download the zip archive and extract it onto your computer (does not matter where). If you want Greek accented texts converted into GreekKeys encoding you additionally must download  greekconverter and copy the class files into a subdirectory of the directory where the conv2pb class files are located. This subdirectory must be named greekconverter (make sure to match the case).

Open a console (DOS prompt) window and navigate into the directory where the conv2pb files reside (using the cd command).

Start the graphical frontend by typing java CpbGui. java[.exe] has to be in your search path, otherwise you must specify the full path, e.g. c:\programs\Javasoft\jdk1.3.1\bin\java CpbGui.

Be aware of the following things:

Screenshot of the GUI interface

Bible short name
Usually a three letter acronym, that is displayed in the version selection dropdown listbox of the Goto dialog (Navigate | Goto...) of Bible+.
Bible version info
Text displayed in the version info dialog (Options | Version Info...).
Source file name
File name of the Bible text source file.
Destination file name
File name of the target file.
Book description file name
File name of a book description file, if none provided the English file will be used. If you want localized Bible book names and abbreviations, then you should write your own book description file (using the English file as a starting point). I can only provide German, Latin and Greek book description files. If the filename has the extension .utf8 (case does not matter) then it is opened als UTF-8 file, in all other cases it is opened using the local character set. The book description files are located in the bookdesc subdirectory.
Chapter text prefix
(YCH)BibleConverter can create chapter headlines like "Chapter 1". The prefix is the text that is inserted before every chapter number (e.g. "Chapter"). With the checkbox you can switch on and off creation of chapter headlines.
Use Greek conversion
If you have Greek Bible texts (GNT, LXX) you can convert them into GreekKeys encoding on-the-fly. Bible+ has the fonts needed to display the Greek text already built into.
Input file encoding
Here you can choose the encoding of your Bible text source file. BibleWorks export files use the local (Windows) character set. The Unbound Bible provides a lot of UTF-8 files (UTF is Unicode Transformation Format). If you need an encoding that is not in the list you must use the command line program Conv2PB.
Output file encoding
Here you can choose the encoding of your destination file. For some reasons it might be useful to have the (YCH)BibleConverter source file in UTF-8 format.
Book correlation
The Bible+ program uses numbers to identify Bible books. BibleWorks export files use a three letter abbreviation (like "Gen", "Exo" etc.). Unbound Bible texts files use a number followed by one of the characters O (Old Testament), N (New Testament) or A (Apocryphs). The correlation between them is stored in correlation (plain text) files. Maybe you want convert files that use other abbreviations or numbers. Then you can write your own correlation files.
Correlation file name
If you want a correlation file of your own or if, for some reasons, CpbGui cannot find the correlation file for BibleWorks (./correl/bw35.txt) or Unbound Bible (./correl/ub.txt) you can provide the path and file name here.

When you are done click the Convert button. Have an eye at the messages in the console window.

Known problems

More than once users reported the error message "Exception in thread main java.lang.NoClassDefFoundError: CpbGui", although they were in the right directory and CpbGui.class was definitely there. Peter Kuhn has solved the problem by extending the classpath by the conv2pb directory using the option -cp when invoking java:
java -cp c:\somewhere\conv2pb CpbGui

Wolfgang Palaver pointed out to me that in some Bible texts (e.g. BibleWorks 5: New Revised Standard Version) angle brackets occur. They cause an Unexpected-token-exception in BibleConverter, because the expression within the brackets is interpreted as a tag. Simple remedial measure: before conversion with Conv2PB replace all angle brackets by square brackets or parentheses using a text editor.

Several times I have been pointed at allegedly missing verses. But the according warning messages of BibleConverter may be safely ignored. The verses are not missing but are counted in another way in German Bible versions than BibleConverter expects.

A. Rahlfs' edition of the Septuaginta provides two versions for some books (Jos 15;18;19, Jdg, Tob, Dan, Sus, Bel). These versions are exported as separate books (book grammalogues Jsa, Jda, Tbs, Dat, Sut, Bet). Because they are not really separate books there are no book numbers for them in Bible+. Currently there is not programmatic solution for this. Best thing is to create an extra Bible from these particular books an have both of the versions displayed in dual display mode.

In the Vulgate BibleWorks 3.5 exports the grammalogue "4es" for 4 Esra, but in the King James version "4Es" (as in the correlation file). Simply change the entry "4Es" in the file correl/bw35.txt to "4es" before exporting the Vulgate.

Things to mention

You are encouraged to write your own book description file. If you have done so I would ask you to send them to me so that I can provide them to the public.

Too lazy for all this trouble?

If you are interested in Bible+ texts in accented Greek, Hebrew or Latin, then visit  Joseph S. Park's Palm page. Mr. Park provides ready-made PDB files (and also Greek and Hebrew high resolution fonts for Sony Clié).

Would I send you the text?

Sometimes users ask me to send them the ready-made text. Would I be willing to do that, I could put the text for download onto my homepage as well. Which would be a blatant violation of copyright. Although I do not approve of the legal situation in every detail: no, I will not send the text to anybody.


If you put your cat into the microwave to dry it and your cat burns to death - who is to blame? Of course the producer of the microwave, he should have warned you. Sue him and your lack of common sense can earn you a lot of money. Unfortunately I do not have any money, so use your common sense instead.

This software is distributed in the hope that it will be useful, but without any warranty; without even the implied warranty of merchantibility or fitness for a particular purpose. It is especially not designed to operate aeroplanes, nuclear power stations or life supporting systems. And currently it is in beta state and needs to be tested thoroughly. This is the price for using it: if you discover any errors (and you will discover them), report them to me as soon as possible.

Author: Michael Neuhold (contact by e-mail)
Last change: Nov 25th, 2007