Difference between revisions of "Alternate Versification"

From CrossWire Bible Society
Jump to: navigation, search
m (Av11n test modules: removed a)
 
(119 intermediate revisions by 6 users not shown)
Line 1: Line 1:
''Disclaimer'': Alternate versification, though mostly implemented, is not yet complete in Sword and is by no means tested, at the time of this page's creation. The contents of this page will in some cases be correct, in some cases speculative, and possibly in some cases incorrect. We will try to keep things here updated to reflect Sword support for alternate versifications, but don't expect it to be entirely accurate until Sword 1.5.12 is released (or even 1.5.13).
+
The traditional '''versification''' of the Bible was first introduced by [https://en.wikipedia.org/wiki/William_Whittingham William Whittingham] in his New Testament published in Geneva in 1557.<ref>See page 89 of the OSIS 2.1 User Manual.</ref>
  
 
==Introduction==
 
==Introduction==
As of SWORD 1.5.11, there is only one supported versification: The KJV Old and New Testaments. This is represented in canon.h as a fixed, hard-coded system.
+
'''Alternate''' versification  is abbreviated as  '''av11n''' and covers both canon and versification different from KJV canon and versification previously default and only option in CrossWire applications.
 +
 
 +
* [http://en.wikipedia.org/wiki/Biblical_canon Canon] pertains to what is included in a version of the Bible.
 +
* [http://en.wikipedia.org/wiki/Versification Versification] deals with the naming and order of books, and the numbering of chapters and verses in a canon.
 +
 
 +
As of SWORD 1.5.11, there was only one supported canon and versification: The KJV Old and New Testaments. This is represented in canon.h as a fixed, hard-coded system.
  
 
Alternate versifications mean ultimately to allow Bible texts with arbitrary canon or versification schemes to coexist peacefully on the same SWORD installation and (ultimately) to map cleanly between each other via cross references or parallel display.
 
Alternate versifications mean ultimately to allow Bible texts with arbitrary canon or versification schemes to coexist peacefully on the same SWORD installation and (ultimately) to map cleanly between each other via cross references or parallel display.
 
Alternate versification is also known as dynamic versification and has been abbreviated as v11n, av11n and dv11n. (There are 11 letters between v and n in versification.)
 
  
 
There are technically 2 routes to support this under development:
 
There are technically 2 routes to support this under development:
Line 13: Line 16:
 
#genbook Bibles
 
#genbook Bibles
  
Both have been under development and 2 requires 1. 1 is nearly done and included in Sword 1.5.12. 2 will not be supported by Sword 1.5.12.
+
Both these routes have been under development and 2 requires 1.
 +
# has been completed and included from Sword 1.6.0.
 +
# is partially supported by Sword 1.6.x.
 +
 
 +
'''Note:'''
 +
<references/>
  
 
==Overview==
 
==Overview==
Line 19: Line 27:
 
Up until 1.5.11, the canon and the versification were hard coded into the engine in the form of the file <tt>canon.h</tt>, which offered book names and chapter + verse offsets to the engine. The new approach is that:
 
Up until 1.5.11, the canon and the versification were hard coded into the engine in the form of the file <tt>canon.h</tt>, which offered book names and chapter + verse offsets to the engine. The new approach is that:
  
# Each Bible module will carry a .conf entry identifying its versification from an supported list of versification systems. Absent this identification, the versification system will default to "KJV" for backward compatability.
+
# Each Bible module will carry a .conf entry identifying its versification from an supported list of versification systems. Without this identification, the versification system will default to "KJV" for backward compatibility.
 
# The engine will have, for each major canon and versification variety, a new header file similar to the previous <tt>canon.h</tt>.
 
# The engine will have, for each major canon and versification variety, a new header file similar to the previous <tt>canon.h</tt>.
 
# On system start, the engine will load, for each open KJV-divergent module, the relevant data presented in the relevant <tt>canon_{Versification].h</tt> into a table held in memory.  
 
# On system start, the engine will load, for each open KJV-divergent module, the relevant data presented in the relevant <tt>canon_{Versification].h</tt> into a table held in memory.  
 
# Subsequently, the relevant module will be accessible via the usual methods - which have not changed from 1.5.11.
 
# Subsequently, the relevant module will be accessible via the usual methods - which have not changed from 1.5.11.
# What does not work anymore is to assume that a book or chapter has a set (fixed) number of verses. Instead, 1.5.12 introduces new methods VerseKey::getChapterMax() and VerseKey::getVerseMax() to provide the relevant information for a given module--replacing VerseKey::books[testament][book].chapmax and .versemax members.
+
# What does not work anymore is to assume that a book or chapter has a set (fixed) number of verses. Instead, 1.6.0 introduces new methods VerseKey::getChapterMax() and VerseKey::getVerseMax() to provide the relevant information for a given module--replacing VerseKey::books[testament][book].chapmax and .versemax members.
 
# Similarly VerseKey::getBookName() and VerseKey::getBookAbbrev() replace the previous const char *name and const char *prefAbbrev respectively.
 
# Similarly VerseKey::getBookName() and VerseKey::getBookAbbrev() replace the previous const char *name and const char *prefAbbrev respectively.
# At a later stage (>1.5.12) the engine will allow for GenBook Bibles to automagically create arbitrary versification tables on the fly.
+
# At a later stage (>1.6.0) the engine will allow for GenBook Bibles to automatically create arbitrary versification tables on the fly.
# The final step (in >1.5.12)  will be to allow mappings between versification schemes to allow cross-referencing and parallel display of corresponding passages.
+
# The final step (in >1.6.0)  will be to allow mappings between versification schemes to allow cross-referencing and parallel display of corresponding passages.
 
 
== Canon Header Files ==
 
  
 
== GenBook Bibles ==
 
== GenBook Bibles ==
GenBook Bibles are Bibles stored in GenBook format. The are accessed via VerseKey which in turn calls TreeKey.
+
GenBook Bibles are Bibles stored in GenBook format. They are accessed via VerseKey, which in turn calls TreeKey.
  
The role of GenBook bibles will mainly be to allow alternative versifications and canons over and above those provided by alternative canon header files.
+
The role of GenBook Bibles will mainly be to allow alternative versifications and canons over and above those provided by alternative [[Alternate Versification/Canon Definition Format|canon header]] files.
  
 
== SWORD Versification Tools ==
 
== SWORD Versification Tools ==
 
The primary versification tools are:
 
The primary versification tools are:
* [http://www.crosswire.org/svn/sword-tools/trunk/versification/ v11nsys.pl] &ndash; Converts a v11n spec into a SWORD canon header file.
+
* [http://www.crosswire.org/svn/sword-tools/trunk/versification/ v11nsys.pl] &ndash; Converts a v11n spec into a SWORD [[Alternate Versification/Canon Definition Format|canon header]] file.
 
* [[osis2mod]] &ndash; The -v11n flag allows one to build a Bible or commentary SWORD module with a versification other than the KJV.
 
* [[osis2mod]] &ndash; The -v11n flag allows one to build a Bible or commentary SWORD module with a versification other than the KJV.
* [[imp2vs]] &ndash; The -v11n flag allows one to build a Bible or commentary SWORD module with a versification other than the KJV.
+
* [[File Formats#IMP|imp2vs]] &ndash; The -v11n flag allows one to build a Bible or commentary SWORD module with a versification other than the KJV.
Note: These are under development and may not work as expected until v11n is fully implemented.
+
 
 +
A secondary but relevant diagnostic tool is:
 +
* [[File Formats#Diagnostic_Tools|emptyvss]] &ndash; outputs a list of the verses missing from a given SWORD module, in relation to the v11n specified in the .conf file.
 +
 
 +
== How to Create Modules with Alternative Versifications ==
 +
# Set the relevant entries in the [[DevTools:conf Files| configuration file]]
 +
# If your module uses a versification or canon not yet present in SWORD you might have to create a [[Alternate Versification/Canon Definition Format|canon header]] file. Sword tools contain relevant scripts. Please be aware that we will not hard code every versification under the sun but only select and important ones. If your scheme is not one of those you will need either accept the limitations of any chosen existing one or go down the route of a GenBook Bible. Discuss on sword-devel what you are planning to do and you will get appropriate advice.
 +
# The importers work as usual. You specify a versification for the text to the import utility (imp2vs or osis2mod). It will pass the v11n value to the SWText constructor, which will instruct it to use the specified v11n.
 +
# Append works as usual. Append pertains to whether a text is overwritten or appended to, so its use can affect the stored order of verses, but won't affect where the engine thinks they belong for access/display purposes.
 +
# Each v11n specifies a book order, so different traditions that vary with respect to book order would have to be represented by different v11n definitions.
 +
 
 +
=== What happens to verses that fall outside the specified v11n? ===
 +
During module making, what happens to verses in the source text that fall outside the specified v11n?
 +
 
 +
There are a variety of v11n schemes which can be specified when you import a module.  Based on your selection, the tool will append extra verses to the previous canonical verse that has already been assigned content. Extra verses in a canonical chapter will be assigned to the last canonical verse that has been assigned content. Extra chapters in a canonical book will be assigned to the last canonical verse of the previous chapter that has been assigned content. Non-canonical books will be ignored or cause an error. The content for extra chapters and/or extra verses is appended as text only, without references.
 +
 
 +
== Supported versification systems ==
 +
 
 +
=== Pre-1.6.0 ===
 +
 
 +
* '''KJV'''        (The default v11n system in Sword)
 +
 
 +
=== 1.6.0 ===
 +
 
 +
* '''KJVA'''        (KJV + Apocrypha)
 +
 
 +
* '''NRSV'''        (This is a probable future replacement for KJV as the default v11n in Sword.)
 +
 
 +
* '''NRSVA'''      (NRSV + Apocrypha)
 +
 
 +
* '''MT'''          (Masoretic Text &ndash; for Hebrew Bibles)
 +
 
 +
* '''Leningrad'''  (The v11n of the Leningrad Codex, except that the book order is different)
 +
 
 +
=== 1.6.1 ===
 +
 
 +
* '''Synodal'''    (The v11n of the Russian Synodal Bible and related Bibles)
 +
 
 +
* '''Vulg'''        (Vulgate)
 +
 
 +
* '''Luther'''      (Luther)
 +
 
 +
* '''German'''      (Identical to Luther, but without the deuterocanonical books and with Vulgate/KJV book order.)
 +
 
 +
=== 1.6.2 ===
 +
 
 +
* '''Catholic'''    (The v11n of many Catholic Bibles, for those Bibles with 10 chapters in Esther)
  
== API Changes==
+
* '''Catholic2'''  (The v11n of many Catholic Bibles, for those Bibles with 16 chapters in Esther)
  
== Front End Problems ==
+
=== 1.7.2 ===
 +
* '''LXX''' &ndash; for the Greek LXX & translations of the LXX
 +
* '''Orthodox''' &ndash; based on the LXX v11n, but using a different book order and fewer books
 +
* '''SynodalProt''' &ndash; the ParaText Synodal Protestant v11n as used by IBT for Bibles containing protocanonical books only
  
== How to Create Modules with Alternative Versifications ==
+
=== 1.8.0 ===
# Set the relevant entries in the configuration file [[DevTools:confFiles| Configuration file]]
+
French Bible versifications<ref>See [[Survey of versification schemes in French Bibles#Canons_proposals_for_The_Sword_Project|French versifications]]''.</ref>:
# If your module uses a versification or canon not yet present in SWORD you might have to create a canon header file. Sword tools contains relevant scripts. Please be aware that we will not hard code every versification under the sun but only select and important ones. If your scheme is not one of those you will need to go down the route of a GenBook Bible. Discuss on sword-devel what you are planning to do and you will get appropriate advice.  
+
 
# The importers will work as usual. You'll specify a versification for the text to the import utility (imp2vs or osis2mod). It will pass the v11n value to the SWText constructor, which will instruct it to use the specified v11n.
+
* '''Calvin''' &ndash; French Bible d'Olivétan and followers, 1560+ Bible de Genève, 1707-1855, Bible D. Martin, Bible F. Ostervald...
# Append will also work as usual. Append pertains to whether a text is overwritten or appended to, so its use can affect the stored order of verses, but won't affect where the engine thinks they belong for access/display purposes.
+
* '''Darby_fr''' &ndash; French Bibles by J.N. Darby
# Each v11n will specify a book order, so different traditions that vary with respect to book order would have to be represented by different v11n definitions.
+
* '''Segond''' &ndash; French Bibles L. Segond 1880, 1910, 1978, 2002 (NBS), 2007 (SG21)
 +
 
 +
== v11n test modules ==
 +
Within the CrossWire repository for [[Official and Affiliated Module Repositories#Experimental_modules|Experimental modules]] are a number of "empty" test modules for each '''v11n'''. i.e. Each chapter and verse is allocated an OSIS reference, but there is no verse text or other content. ''The list of such modules may be incomplete''.
  
== Modules Requiring Alternate Versification ==
+
== See also ==
* '''Ohienko Ukrainian translation'''.<br>The existing module had discarded the original Ukrainian verse numbers. ua4ever has recently made an OSIS file in the KJV order, but with the original Ukrainian verse references in parentheses. Download RAR file from [http://www.box.net/shared/94eqh8kb8r]. For related discussions, see [http://jolon.org/vanillaforum/comments.php?DiscussionID=426]. ''Registration and login is required''.
+
* [[Alternate Versification/System Identification|System Identification for Alternate Versification]]
 +
* [[Alternate Versification/Canon Definition Format|Canon Definition Format for Alternate Versification]]
 +
* [[OSIS Book Abbreviations]] &ndash; which lists the books found the various canons
 +
* [[DevTools:Locale Files|Locale Files]] &ndash; most locale files lack support for deuterocanonical book names
 +
* [[Survey of versification schemes in French Bibles]] &ndash;Proposals for Alternate Versification
 +
* [[Sword library versions]]
 +
* [[Alternate Versification/Bibles needing av11n rebuilds]]
  
 
== Resources ==
 
== Resources ==
* [http://www.ccel.org/refsys/refsys.html Harry Plantinga's Mapping of Alternate Versifications] - a useful examination of various versification systems, based on data supplied by SIL, but due to numerous errors probably not a prospective source of data for Sword
+
* [http://www.ccel.org/refsys/refsys.html Harry Plantinga's Mapping of Alternate Versifications] - a useful examination of various versification systems, based on data supplied by WBT, but due to numerous errors probably not a prospective source of data for Sword
 +
 
 +
* [http://en.wikipedia.org/wiki/Books_of_the_Bible Books of the Bible] &ndash; a side-by-side comparison of Jewish, Catholic, Orthodox and Protestant canons. The scope of this article is the book order - it does not dive down to chapter and verse level.
 +
 
 +
* [http://en.wikipedia.org/wiki/Psalms Psalms] &ndash; this article includes a handy table showing how the organization and numbering of the Psalms differs slightly between the (Masoretic) Hebrew and the (Septuagint) Greek manuscripts.
 +
 
 +
* [http://gbgm-umc.org/umw/bible/canon.html The Bible : The Canon]
 +
 
 +
* ''Towards Canon-Neutral Bible Computer Applications'', presented at [http://www.bibletechconference.com/speakers/ BibleTech 2010] by Neil Rees of [http://lc.bfbs.org.uk/ bfbs linguistic computing].
 +
 
 +
* [http://bibliquest.org/Bibliquest/Bibliquest-Discordances_de_numerotation_des_versets.htm Répertoire des discordances de numérotations des versets de la Bible entre les différentes traductions] &ndash; main focus is on French Bible translations.
 +
 
 +
* [http://blog.logos.com/2007/07/books_chapters/ Books, Chapters and Verses, Oh My!] &ndash; by Vincent Setterholm on LogosTalk (July 2007).
 +
 
 +
* [http://en.wikipedia.org/wiki/Chapters_and_verses_of_the_Bible Chapters and verses of the Bible] &ndash; in Wikipedia.
 +
 
 +
* [https://github.com/openscriptures/BibleOrgSys BibleOrgSys] &ndash; Bible organisational system (an internationalised system for handling different Bible book/chapter/verse arrangements) [http://openscriptures.org/blog/2011/01/bible-organisational-system/].
 +
 
 +
* [http://en.wikipedia.org/wiki/List_of_major_textual_variants_in_the_New_Testament List of major textual variants in the New Testament]
 +
 
 +
== Reference ==
 +
<references/>
 +
 
 +
[[Category:Versification]]

Latest revision as of 18:02, 29 June 2020

The traditional versification of the Bible was first introduced by William Whittingham in his New Testament published in Geneva in 1557.[1]

Introduction

Alternate versification is abbreviated as av11n and covers both canon and versification different from KJV canon and versification previously default and only option in CrossWire applications.

  • Canon pertains to what is included in a version of the Bible.
  • Versification deals with the naming and order of books, and the numbering of chapters and verses in a canon.

As of SWORD 1.5.11, there was only one supported canon and versification: The KJV Old and New Testaments. This is represented in canon.h as a fixed, hard-coded system.

Alternate versifications mean ultimately to allow Bible texts with arbitrary canon or versification schemes to coexist peacefully on the same SWORD installation and (ultimately) to map cleanly between each other via cross references or parallel display.

There are technically 2 routes to support this under development:

  1. ripping out the hardcoded KJV canon.h offsets and replacing them with VerseMgr, which allows registration of canon.h-like v11n systems.
  2. genbook Bibles

Both these routes have been under development and 2 requires 1.

  1. has been completed and included from Sword 1.6.0.
  2. is partially supported by Sword 1.6.x.

Note:

  1. See page 89 of the OSIS 2.1 User Manual.

Overview

Up until 1.5.11, the canon and the versification were hard coded into the engine in the form of the file canon.h, which offered book names and chapter + verse offsets to the engine. The new approach is that:

  1. Each Bible module will carry a .conf entry identifying its versification from an supported list of versification systems. Without this identification, the versification system will default to "KJV" for backward compatibility.
  2. The engine will have, for each major canon and versification variety, a new header file similar to the previous canon.h.
  3. On system start, the engine will load, for each open KJV-divergent module, the relevant data presented in the relevant canon_{Versification].h into a table held in memory.
  4. Subsequently, the relevant module will be accessible via the usual methods - which have not changed from 1.5.11.
  5. What does not work anymore is to assume that a book or chapter has a set (fixed) number of verses. Instead, 1.6.0 introduces new methods VerseKey::getChapterMax() and VerseKey::getVerseMax() to provide the relevant information for a given module--replacing VerseKey::books[testament][book].chapmax and .versemax members.
  6. Similarly VerseKey::getBookName() and VerseKey::getBookAbbrev() replace the previous const char *name and const char *prefAbbrev respectively.
  7. At a later stage (>1.6.0) the engine will allow for GenBook Bibles to automatically create arbitrary versification tables on the fly.
  8. The final step (in >1.6.0) will be to allow mappings between versification schemes to allow cross-referencing and parallel display of corresponding passages.

GenBook Bibles

GenBook Bibles are Bibles stored in GenBook format. They are accessed via VerseKey, which in turn calls TreeKey.

The role of GenBook Bibles will mainly be to allow alternative versifications and canons over and above those provided by alternative canon header files.

SWORD Versification Tools

The primary versification tools are:

  • v11nsys.pl – Converts a v11n spec into a SWORD canon header file.
  • osis2mod – The -v11n flag allows one to build a Bible or commentary SWORD module with a versification other than the KJV.
  • imp2vs – The -v11n flag allows one to build a Bible or commentary SWORD module with a versification other than the KJV.

A secondary but relevant diagnostic tool is:

  • emptyvss – outputs a list of the verses missing from a given SWORD module, in relation to the v11n specified in the .conf file.

How to Create Modules with Alternative Versifications

  1. Set the relevant entries in the configuration file
  2. If your module uses a versification or canon not yet present in SWORD you might have to create a canon header file. Sword tools contain relevant scripts. Please be aware that we will not hard code every versification under the sun but only select and important ones. If your scheme is not one of those you will need either accept the limitations of any chosen existing one or go down the route of a GenBook Bible. Discuss on sword-devel what you are planning to do and you will get appropriate advice.
  3. The importers work as usual. You specify a versification for the text to the import utility (imp2vs or osis2mod). It will pass the v11n value to the SWText constructor, which will instruct it to use the specified v11n.
  4. Append works as usual. Append pertains to whether a text is overwritten or appended to, so its use can affect the stored order of verses, but won't affect where the engine thinks they belong for access/display purposes.
  5. Each v11n specifies a book order, so different traditions that vary with respect to book order would have to be represented by different v11n definitions.

What happens to verses that fall outside the specified v11n?

During module making, what happens to verses in the source text that fall outside the specified v11n?

There are a variety of v11n schemes which can be specified when you import a module. Based on your selection, the tool will append extra verses to the previous canonical verse that has already been assigned content. Extra verses in a canonical chapter will be assigned to the last canonical verse that has been assigned content. Extra chapters in a canonical book will be assigned to the last canonical verse of the previous chapter that has been assigned content. Non-canonical books will be ignored or cause an error. The content for extra chapters and/or extra verses is appended as text only, without references.

Supported versification systems

Pre-1.6.0

  • KJV (The default v11n system in Sword)

1.6.0

  • KJVA (KJV + Apocrypha)
  • NRSV (This is a probable future replacement for KJV as the default v11n in Sword.)
  • NRSVA (NRSV + Apocrypha)
  • MT (Masoretic Text – for Hebrew Bibles)
  • Leningrad (The v11n of the Leningrad Codex, except that the book order is different)

1.6.1

  • Synodal (The v11n of the Russian Synodal Bible and related Bibles)
  • Vulg (Vulgate)
  • Luther (Luther)
  • German (Identical to Luther, but without the deuterocanonical books and with Vulgate/KJV book order.)

1.6.2

  • Catholic (The v11n of many Catholic Bibles, for those Bibles with 10 chapters in Esther)
  • Catholic2 (The v11n of many Catholic Bibles, for those Bibles with 16 chapters in Esther)

1.7.2

  • LXX – for the Greek LXX & translations of the LXX
  • Orthodox – based on the LXX v11n, but using a different book order and fewer books
  • SynodalProt – the ParaText Synodal Protestant v11n as used by IBT for Bibles containing protocanonical books only

1.8.0

French Bible versifications[1]:

  • Calvin – French Bible d'Olivétan and followers, 1560+ Bible de Genève, 1707-1855, Bible D. Martin, Bible F. Ostervald...
  • Darby_fr – French Bibles by J.N. Darby
  • Segond – French Bibles L. Segond 1880, 1910, 1978, 2002 (NBS), 2007 (SG21)

v11n test modules

Within the CrossWire repository for Experimental modules are a number of "empty" test modules for each v11n. i.e. Each chapter and verse is allocated an OSIS reference, but there is no verse text or other content. The list of such modules may be incomplete.

See also

Resources

  • Books of the Bible – a side-by-side comparison of Jewish, Catholic, Orthodox and Protestant canons. The scope of this article is the book order - it does not dive down to chapter and verse level.
  • Psalms – this article includes a handy table showing how the organization and numbering of the Psalms differs slightly between the (Masoretic) Hebrew and the (Septuagint) Greek manuscripts.
  • BibleOrgSys – Bible organisational system (an internationalised system for handling different Bible book/chapter/verse arrangements) [1].

Reference

  1. See French versifications.