apocrypha.h

00001 /******************************************************************************
00002  * apocrypha.h - Apocryphal text information to be included by VerseKey.cpp
00003  *
00004  * $Id: apocrypha.h 1688 2005-01-01 04:42:26Z scribe $
00005  *
00006  * Copyright 1998 CrossWire Bible Society (http://www.crosswire.org)
00007  *      CrossWire Bible Society
00008  *      P. O. Box 2528
00009  *      Tempe, AZ  85280-2528
00010  *
00011  * This program is free software; you can redistribute it and/or modify it
00012  * under the terms of the GNU General Public License as published by the
00013  * Free Software Foundation version 2.
00014  *
00015  * This program is distributed in the hope that it will be useful, but
00016  * WITHOUT ANY WARRANTY; without even the implied warranty of
00017  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00018  * General Public License for more details.
00019  *
00020  */
00021 
00022 /******************************************************************************
00023  * [a]tbooks - initialize static instance for all canonical text names
00024  *              and chapmax
00025  */
00026 
00027 #include <defs.h>
00028 //SWORD_NAMESPACE_START
00029 
00030 //Data based on NRSVA unless otherwise noted; this book ordering is not necessarily optimal.
00031 
00032 struct sbook
00033 VerseKey::otbooks[] = {
00034   //Catholic Deuterocanon
00035   {"Tobit", "Tob", 14},                        //67
00036   {"Judith", "Jdt", 16},                       //68
00037   {"Wisdom", "Wis", 19},                       //69
00038   {"Sirach", "Sir", 51},                       //70   //51 or 52? count prologue as separate book or just chapter?
00039   {"Baruch", "Bar", 5},                        //71   //5 or 6?  (see next line)
00040   {"Letter of Jeremiah", "EpJer", 1},          //72   //1 or 6?  EpJer is ch6 of Baruch
00041   {"1 Esdras", "1Esd", 9},                     //73
00042   {"2 Esdras", "2Esd", 16},                    //74
00043   {"1 Maccabees", "1Macc", 16},                //75
00044   {"2 Maccabees", "2Macc", 15},                //76
00045 
00046   //LXX
00047   {"3 Maccabees", "3Macc", 7},                 //77
00048   {"4 Maccabees", "4Macc", 18},                //78
00049   {"Odes", "Odes", 14},                        //79   //based on LXX
00050   {"Psalms of Solomon", "PssSol", 18},         //80   //based on LXX
00051 
00052   //Protestant Apocrypha
00053   {"Additions to Esther", "AddEsth", 6},       //81   //based on Charles/NRSVA   //6 or F or 16?  If you're Catholic, you have a 16 chapter canonical book called Esther (ie Greek Esther); if you're Protestant you have a 10 chapter canonical book called Esther (ie Hebrew Esther) plus a 6 "chapter" set of "Additions" in an apocryphal book called Additions to Esther, which are "numbered" A through F or continue from chapter 10 through 16.
00054   {"Prayer of Azariah", "PrAzar", 1},          //82
00055   {"Susanna", "Sus", 1},                       //83
00056   {"Bel and the Dragon", "Bel", 1},            //84
00057   {"Prayer of Manasses", "PrMan", 1},          //85
00058   {"Psalm 151", "Ps151", 1},                   //86
00059 
00060   //Vulgate
00061   {"Epistle to the Laodiceans", "EpLao", 1},   //87   //based on Vulgate
00062 
00063   //Other books may follow at a later date (e.g. Jub, 1En)
00064 };
00065 
00066 /******************************************************************************
00067  *      Abbreviations - MUST be in alphabetical order & by PRIORITY
00068  *              RULE: first match of entire key
00069  *                      (e.g. key: "1CH"; match: "1CHRONICLES")
00070  */
00071 
00072 const struct abbrev
00073   VerseKey::builtin_abbrevs[] = {
00074   {"1 ESDRAS", 73},
00075   {"1 MACCABEES", 75},
00076   {"1ESDRAS", 73},
00077   {"1MACCABEES", 75},
00078   {"2 ESDRAS", 74},
00079   {"2 MACCABEES", 76},
00080   {"2ESDRAS", 74},
00081   {"2MACCABEES", 76},
00082   {"3 MACCABEES", 77},
00083   {"3MACCABEES", 77},
00084   {"4 MACCABEES", 78},
00085   {"4MACCABEES", 78},
00086   {"ADDESTHER", 81},
00087   {"ADDITIONS TO ESTHER", 81},
00088   {"BARUCH", 71},
00089   {"BEL AND THE DRAGON", 84},
00090   {"BEN SIRACH", 70},
00091   {"ECCLESIASTICUS", 70},
00092   {"EPISTLE OF JEREMIAH", 72},
00093   {"EPISTLE TO THE LAODICEANS", 87},
00094   {"EPJER", 72},
00095   {"EPLAO", 87},
00096   {"I ESDRAS", 73},
00097   {"I MACCABEES", 75},
00098   {"IESDRAS", 73},
00099   {"II ESDRAS", 74},
00100   {"II MACCABEES", 76},
00101   {"IIESDRAS", 74},
00102   {"III MACCABEES", 77},
00103   {"IIII MACCABEES", 78},
00104   {"IIIIMACCABEES", 78},
00105   {"IIIMACCABEES", 77},
00106   {"IIMACCABEES", 76},
00107   {"IMACCABEES", 75},
00108   {"IV MACCABEES", 78},
00109   {"IVMACCABEES", 78},
00110   {"JDT", 68},
00111   {"JESUS BEN SIRACH", 70},
00112   {"JUDITH", 68},
00113   {"LAODICEANS", 87},
00114   {"LETTER OF JEREMIAH", 72},
00115   {"MANASSEH", 85},
00116   {"MANASSES", 85},
00117   {"ODES", 79},
00118   {"PRAYER OF AZARIAH", 82},
00119   {"PRAYER OF MANASSEH", 85},
00120   {"PRAYER OF MANASSES", 85},
00121   {"PRAZAR", 82},
00122   {"PRMAN", 85},
00123   {"PS151", 86},
00124   {"PSALM151", 86},
00125   {"PSALMS OF SOLOMON", 80},
00126   {"PSSOL", 80},
00127   {"PSSSOL", 80},
00128   {"SIRACH", 70},
00129   {"SUSANNA", 83},
00130   {"TOBIT", 67},
00131   {"WISDOM OF JESUS BEN SIRACH", 70},
00132   {"WISDOM", 69},
00133   {"", -1}
00134 };
00135 
00136 
00137 /******************************************************************************
00138  *      Maximum verses per chapter
00139  */
00140 
00141 int
00142 VerseKey::vm[] = {
00143   //Catholic Deuterocanon
00144   //Tobit 14                        //67
00145   22, 14, 17, 21, 21, 17, 18, 21, 6, 12,
00146   19, 22, 18, 15,
00147   //Judith 16                       //68
00148   16, 28, 10, 15, 24, 21, 32, 36, 14, 23,
00149   23, 20, 20, 19, 13, 25,
00150   //Wisdom 19                       //69
00151   16, 24, 19, 20, 23, 25, 30, 21, 18, 21,
00152   26, 27, 19, 31, 19, 29, 21, 25, 22,
00153   //Sirach 51                       //70      //Prologue has 36 vv. in LXX, 1 v. in NRSVA
00154   30, 18, 31, 31, 15, 37, 36, 19, 18, 31,
00155   34, 18, 26, 27, 20, 30, 32, 33, 30, 32,
00156   28, 27, 27, 34, 26, 29, 30, 26, 28, 25,
00157   31, 24, 31, 26, 20, 26, 31, 34, 35, 30,
00158   23, 25, 33, 23, 26, 20, 25, 25, 16, 29,
00159   30,
00160   //Baruch 5                        //71
00161   21, 35, 37, 37, 9,
00162   //Letter of Jeremiah 1            //72
00163   73,
00164   //1 Esdras 9                      //73
00165   58, 30, 24, 63, 73, 34, 15, 96, 55,
00166   //2 Esdras 16                     //74
00167   40, 48, 36, 52, 56, 59, 140, 63, 47, 59,
00168   46, 51, 58, 48, 63, 78,
00169   //1 Maccabees 16                  //75
00170   64, 70, 60, 61, 68, 63, 50, 32, 73, 89,
00171   74, 53, 53, 49, 41, 24,
00172   //2 Maccabees 15                  //76
00173   36, 32, 40, 50, 27, 31, 42, 36, 29, 38,
00174   38, 45, 26, 46, 39,
00175 
00176   //LXX
00177   //3 Maccabees 7                   //77
00178   29, 33, 30, 21, 51, 41, 23,
00179   //4 Maccabees 18                  //78
00180   35, 24, 21, 26, 38, 35, 23, 29, 32, 21,
00181   27, 19, 27, 20, 32, 25, 24, 24,
00182   //Odes            14              //79
00183   19, 43, 10, 19, 20, 10, 45, 88, 79, 9,
00184   20, 15, 32, 46,
00185   //Psalms of Solomon 18            //80
00186   8, 37, 12, 25, 19, 6, 10, 34, 11, 8,
00187   9, 6, 12, 10, 13, 15, 46, 12,
00188 
00189   //Protestant Apocrypha
00190   //Additions to Esther 6           //81
00191   17, 7, 30, 16, 24, 11
00192   //Prayer of Azariah 1             //82
00193   68,
00194   //Susanna 1                       //83
00195   64,
00196   //Bel and the Dragon 1            //84
00197   42,
00198   //Prayer of Manasses 1            //85
00199   15,
00200   //Psalm 151 1                     //86
00201   7,
00202 
00203   //Vulgate
00204   //Epistle to the Laodiceans 1     //87
00205   20,
00206 };
00207 
00208 
00209 long
00210   VerseKey::atbks[] = {
00211 0, 1, 16, 33, 53, 105, 111, 113, 123, 140, 157, 173, 181, 200, 215, 234, 241, 243, 245, 247, 249, 251
00212 };
00213 
00214 long
00215   VerseKey::atcps[] = {
00216 0, 2, 3, 26, 41, 59, 81, 103, 121, 140, 162, 169, 183, 203, 226, 245, 262, 279, 308, 319, 335, 360, 382, 415, 452, 467, 492, 516, 537, 558, 578, 592, 619, 636, 661, 681, 702, 726, 752, 783, 805, 824, 847, 874, 902, 922, 954, 974, 1004, 1026, 1052, 1076, 1107, 1126, 1158, 1190, 1206, 1244, 1281, 1301, 1320, 1353, 1388, 1407, 1434, 1462, 1483, 1514, 1547, 1581, 1612, 1646, 1675, 1703, 1731, 1766, 1793, 1823, 1854, 1881, 1910, 1937, 1969, 1994, 2026, 2053, 2074, 2101, 2133, 2168, 2204, 2236, 2260, 2286, 2320, 2344, 2371, 2392, 2418, 2444, 2461, 2492, 2524, 2546, 2582, 2620, 2658, 2669, 2744, 2803, 2834, 2859, 2923, 2997, 3032, 3048, 3145, 3202, 3243, 3292, 3329, 3382, 3439, 3499, 3640, 3704, 3752, 3813, 3860, 3912, 3971, 4020, 4084, 4164, 4229, 4300, 4361, 4423, 4492, 4556, 4607, 4640, 4714, 4805, 4880, 4934, 4988, 5038, 5080, 5106, 5143, 5176, 5217, 5268, 5296, 5328, 5371, 5408, 5438, 5478, 5517, 5563, 5590, 5637, 5678, 5708, 5742, 5773, 5795, 5847, 5889, 5914, 5950, 5975, 5997, 6024, 6063, 6099, 6123, 6153, 6186, 6209, 6237, 6257, 6285, 6306, 6339, 6365, 6390, 6416, 6436, 6480, 6491, 6511, 6532, 6543, 6589, 6678, 6758, 6769, 6790, 6806, 6839, 6887, 6896, 6934, 6947, 6973, 6993, 7000, 7011, 7046, 7058, 7068, 7078, 7085, 7098, 7109, 7123, 7139, 7186, 7200, 7270, 7336, 7380, 7397, 7406
00217 };
00218 
00219 //SWORD_NAMESPACE_END