[sword-devel] Versification
DM Smith
dmsmith555 at yahoo.com
Mon Jan 28 06:57:36 MST 2008
On Jan 28, 2008, at 6:36 AM, peter wrote:
> Barry Drake wrote:
>> Hi Peter ...........
>>
>> peter wrote:
>>> So could I - once that number mystery is understood - create a
>>> different
>>> canon.h file for e.g RC versification and recompile Sword ?
>>
>> I'm sure you could - but you'd break it as far as all existing
>> modules
>> are concerned!
>
> I appreciate that. Obviously.
>
> But if the code as such works without further reference to whichever
> versification scheme is used, but simply assumes the correct one is in
> place, then I think this file being at the root of the implementation
> should be made flexible rather than a whole new way of encoding
> Bibles +
> new GUI. Old modules would use teh KJV and newly added ones would be
> able to bring their own scheme along.
>
> There was a thread on that matter about 3-4 months agao and IIRC
> Troy +
> Dm seemed to think loosing it up by loading the versification would be
> the right way forward.
Just as a summary of this and many other threads.
As Chris mentioned, canon.h will not be changed. The idea is to create
a GenBook with a standard way of naming the keys, in the form
OSISBookAbbr/ChapterNum/VerseNum. Replacing the / with . would result
in an OSIS id.
The advantage of this scheme is that it is perfectly adaptable. If the
NASB wants to add 1 John 3:15 (as do many non KJV Bibles) it will work
perfectly.
Today's mechanism basically numbers the verses in the Bible from 1,
but also numbers introductions to Bible, Testament, Book and Chapter.
Each verse reference, say "Genesis 1:1" is converted into that number
and that number is used to lookup the verse in the module.
I'm not familiar with how Sword does things internally, but JSword
uses these numbers internally to also represent the results of a
search as a BitSet (where a 0 or 1 at the n-th position represents the
n-th verse).
In BibleDesktop, one can search one Bible and then show the verses in
another (perhaps this is the Parallel view). Because they have the
same versification, everything works as expected.
There are several fundamental problems that need to be solved.
1) Most, perhaps all, of the front-ends have a quick picker and/or
tree view of the Book, Chapters and perhaps verses in the Bible. This
will need to be adapted on a per versification scheme. I'm going to
guess that we will add an entry to the conf called Versification with
a default value of KJV.
2) The mechanism to do lookups by reference. The current mechanism is
very fast as it does not hit disk. For JSword, this means that the
BitSet will have to be replaced/modified for non-KJV versifications.
3) The mechanism to map one versification scheme to another, or at
least to provide a user experience that makes sense. Without a mapping
of one versification to another, this may simply be a warning.
What Troy and I discussed on IRC was the handling of the NASB
versification (i.e. it has 1 verse that is not in the KJV
versification) with a minor modification of the KJV versification,
using an exception table. We also talked about extending the KJV
versification with it's versification of the Apocrypha.
The challenge is to find developers who are committed to doing the
work. First for Sword and then as that implementation unfolds for
JSword.
This is not a complete discussion of the issue but hopefully it hits
the high points.
In Him,
DM
More information about the sword-devel
mailing list