1   /**
2    * Distribution License:
3    * JSword is free software; you can redistribute it and/or modify it under
4    * the terms of the GNU Lesser General Public License, version 2.1 as published by
5    * the Free Software Foundation. This program is distributed in the hope
6    * that it will be useful, but WITHOUT ANY WARRANTY; without even the
7    * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
8    * See the GNU Lesser General Public License for more details.
9    *
10   * The License is available on the internet at:
11   *       http://www.gnu.org/copyleft/lgpl.html
12   * or by writing to:
13   *      Free Software Foundation, Inc.
14   *      59 Temple Place - Suite 330
15   *      Boston, MA 02111-1307, USA
16   *
17   * Copyright: 2012
18   *     The copyright to this program is held by it's authors.
19   *
20   * ID: $Id: SystemSynodal.java 2223 2012-01-26 21:28:02Z dmsmith $
21   */
22  package org.crosswire.jsword.versification.system;
23  
24  import org.crosswire.jsword.versification.BibleBook;
25  import org.crosswire.jsword.versification.Versification;
26  
27  /**
28   * The Synodal versification data is based on the Synodal and Slavonic
29   * translations from rusbible dot ru (of early 2009) and the BFBS Synodal database,
30   * as supplied by Konstantin Maslyuk. The three data sets were compared. The two
31   * Synodal sets were in agreement on all substantive matters. The Slavonic data
32   * set had numerous deviations from the Synodal sets, so all points of
33   * disagreement were verified against a printed Synodal translation (from the
34   * Judson Press, printed 1900) and demonstrated that the two Synodal data sets
35   * were in all cases correct (and also showed that the printed edition itself
36   * has some errors in verse numbers). In select instances, printed editions of a
37   * Polish translation and an OCS Bible, which employ very similar
38   * versifications, were also consulted.
39   *
40   * Some details that may not be immediately obvious: <br/>
41   * The Prologue to Sirach is neither a separate book nor a separate chapter of
42   * Sirach. It should be placed within the introduction of Sirach (Sir.0.0). <br/>
43   * The Prayer of Manasseh (PrMan) is a separate book, following 2Chr. This is
44   * primarily for referencing purposes, but also because PrMan is explicitly NOT
45   * the final chapter of 2Chr, though it is often printed as an appendix to that
46   * book. <br/>
47   * The first, second, and third books of Ezra or Esdras (so named according to
48   * Slavonic Orthodox tradition) have the OSIS names Ezra, 1Esd, and 2Esd,
49   * respectively. This is due to the strange history of the books of Ezra/Esdras
50   * in the eastern & western Churches and the standard naming conventions
51   * proscribed by the SBL (which BTG & OSIS follow). <br/>
52   * The Epistle of Jeremiah and Baruch are two separate books.
53   *
54   *
55   * @see gnu.lgpl.License for license details.<br>
56   *      The copyright to this program is held by it's authors.
57   * @author DM Smith [dmsmith555 at yahoo dot com]
58   */
59  public class SystemSynodal extends Versification {
60      /**
61       * Build the "Synodal" Versification.
62       */
63      /* protected */ SystemSynodal() {
64          super(V11N_NAME, BOOKS_OT, BOOKS_NT, LAST_VERSE_OT, LAST_VERSE_NT);
65      }
66  
67      public static final String V11N_NAME = "Synodal";
68  
69      // The books are the SystemDefault.BOOKS_NT
70      // in a different order
71      /* protected */ static final BibleBook[] BOOKS_NT =
72      {
73          BibleBook.MATT,
74          BibleBook.MARK,
75          BibleBook.LUKE,
76          BibleBook.JOHN,
77          BibleBook.ACTS,
78          BibleBook.JAS,
79          BibleBook.PET1,
80          BibleBook.PET2,
81          BibleBook.JOHN1,
82          BibleBook.JOHN2,
83          BibleBook.JOHN3,
84          BibleBook.JUDE,
85          BibleBook.ROM,
86          BibleBook.COR1,
87          BibleBook.COR2,
88          BibleBook.GAL,
89          BibleBook.EPH,
90          BibleBook.PHIL,
91          BibleBook.COL,
92          BibleBook.THESS1,
93          BibleBook.THESS2,
94          BibleBook.TIM1,
95          BibleBook.TIM2,
96          BibleBook.TITUS,
97          BibleBook.PHLM,
98          BibleBook.HEB,
99          BibleBook.REV,
100     };
101 
102     /* protected */ static final int[][] LAST_VERSE_NT =
103     {
104         // Matthew
105         {
106                25,    23,    17,    25,    48,    34,    29,    34,    38,
107                42,    30,    50,    58,    36,    39,    28,    27,    35,    30,
108                34,    46,    46,    39,    51,    46,    75,    66,    20,
109         },
110         // Mark
111         {
112                45,    28,    35,    41,    43,    56,    37,    38,    50,
113                52,    33,    44,    37,    72,    47,    20,
114         },
115         // Luke
116         {
117                80,    52,    38,    44,    39,    49,    50,    56,    62,
118                42,    54,    59,    35,    35,    32,    31,    37,    43,    48,
119                47,    38,    71,    56,    53,
120         },
121         // John
122         {
123                51,    25,    36,    54,    47,    71,    53,    59,    41,
124                42,    57,    50,    38,    31,    27,    33,    26,    40,    42,
125                31,    25,
126         },
127         // Acts
128         {
129                26,    47,    26,    37,    42,    15,    60,    40,    43,
130                48,    30,    25,    52,    28,    41,    40,    34,    28,    40,
131                38,    40,    30,    35,    27,    27,    32,    44,    31,
132         },
133         // James
134         {
135                27,    26,    18,    17,    20,
136         },
137         // I Peter
138         {
139                25,    25,    22,    19,    14,
140         },
141         // II Peter
142         {
143                21,    22,    18,
144         },
145         // I John
146         {
147                10,    29,    24,    21,    21,
148         },
149         // II John
150         {
151                13,
152         },
153         // III John
154         {
155                15,
156         },
157         // Jude
158         {
159                25,
160         },
161         // Romans
162         {
163                32,    29,    31,    25,    21,    23,    25,    39,    33,
164                21,    36,    21,    14,    26,    33,    24,
165         },
166         // I Corinthians
167         {
168                31,    16,    23,    21,    13,    20,    40,    13,    27,
169                33,    34,    31,    13,    40,    58,    24,
170         },
171         // II Corinthians
172         {
173                24,    17,    18,    18,    21,    18,    16,    24,    15,
174                18,    32,    21,    13,
175         },
176         // Galatians
177         {
178                24,    21,    29,    31,    26,    18,
179         },
180         // Ephesians
181         {
182                23,    22,    21,    32,    33,    24,
183         },
184         // Philippians
185         {
186                30,    30,    21,    23,
187         },
188         // Colossians
189         {
190                29,    23,    25,    18,
191         },
192         // I Thessalonians
193         {
194                10,    20,    13,    18,    28,
195         },
196         // II Thessalonians
197         {
198                12,    17,    18,
199         },
200         // I Timothy
201         {
202                20,    15,    16,    16,    25,    21,
203         },
204         // II Timothy
205         {
206                18,    26,    17,    22,
207         },
208         // Titus
209         {
210                16,    15,    15,
211         },
212         // Philemon
213         {
214                25,
215         },
216         // Hebrews
217         {
218                14,    18,    19,    16,    14,    20,    28,    13,    28,
219                39,    40,    29,    25,
220         },
221         // Revelation of John
222         {
223                20,    29,    22,    11,    14,    17,    17,    13,    21,
224                11,    19,    17,    18,    20,     8,    21,    18,    24,    21,
225                15,    27,    21
226         }
227     };
228 
229     // Contains deuterocanonical books
230     /* protected */ static final BibleBook[] BOOKS_OT =
231     {
232         BibleBook.GEN,
233         BibleBook.EXOD,
234         BibleBook.LEV,
235         BibleBook.NUM,
236         BibleBook.DEUT,
237         BibleBook.JOSH,
238         BibleBook.JUDG,
239         BibleBook.RUTH,
240         BibleBook.SAM1,
241         BibleBook.SAM2,
242         BibleBook.KGS1,
243         BibleBook.KGS2,
244         BibleBook.CHR1,
245         BibleBook.CHR2,
246         BibleBook.PR_MAN,
247         BibleBook.EZRA,
248         BibleBook.NEH,
249         BibleBook.ESD1,
250         BibleBook.TOB,
251         BibleBook.JDT,
252         BibleBook.ESTH,
253         BibleBook.JOB,
254         BibleBook.PS,
255         BibleBook.PROV,
256         BibleBook.ECCL,
257         BibleBook.SONG,
258         BibleBook.WIS,
259         BibleBook.SIR,
260         BibleBook.ISA,
261         BibleBook.JER,
262         BibleBook.LAM,
263         BibleBook.EP_JER,
264         BibleBook.BAR,
265         BibleBook.EZEK,
266         BibleBook.DAN,
267         BibleBook.HOS,
268         BibleBook.JOEL,
269         BibleBook.AMOS,
270         BibleBook.OBAD,
271         BibleBook.JONAH,
272         BibleBook.MIC,
273         BibleBook.NAH,
274         BibleBook.HAB,
275         BibleBook.ZEPH,
276         BibleBook.HAG,
277         BibleBook.ZECH,
278         BibleBook.MAL,
279         BibleBook.MACC1,
280         BibleBook.MACC2,
281         BibleBook.MACC3,
282         BibleBook.ESD2,
283     };
284 
285     /* protected */ static final int[][] LAST_VERSE_OT =
286     {
287         // Genesis
288         {
289                31,    25,    24,    26,    32,    22,    24,    22,    29,
290                32,    32,    20,    18,    24,    21,    16,    27,    33,    38,
291                18,    34,    24,    20,    67,    34,    35,    46,    22,    35,
292                43,    55,    32,    20,    31,    29,    43,    36,    30,    23,
293                23,    57,    38,    34,    34,    28,    34,    31,    22,    33,
294                26,
295         },
296         // Exodus
297         {
298                22,    25,    22,    31,    23,    30,    25,    32,    35,
299                29,    10,    51,    22,    31,    27,    36,    16,    27,    25,
300                26,    36,    31,    33,    18,    40,    37,    21,    43,    46,
301                38,    18,    35,    23,    35,    35,    38,    29,    31,    43,
302                38,
303         },
304         // Leviticus
305         {
306                17,    16,    17,    35,    19,    30,    38,    36,    24,
307                20,    47,     8,    59,    56,    33,    34,    16,    30,    37,
308                27,    24,    33,    44,    23,    55,    46,    34,
309         },
310         // Numbers
311         {
312                54,    34,    51,    49,    31,    27,    89,    26,    23,
313                36,    35,    15,    34,    45,    41,    50,    13,    32,    22,
314                29,    35,    41,    30,    25,    18,    65,    23,    31,    39,
315                17,    54,    42,    56,    29,    34,    13,
316         },
317         // Deuteronomy
318         {
319                46,    37,    29,    49,    33,    25,    26,    20,    29,
320                22,    32,    32,    18,    29,    23,    22,    20,    22,    21,
321                20,    23,    30,    25,    22,    19,    19,    26,    68,    29,
322                20,    30,    52,    29,    12,
323         },
324         // Joshua
325         {
326                18,    24,    17,    24,    16,    26,    26,    35,    27,
327                43,    23,    24,    33,    15,    63,    10,    18,    28,    51,
328                 9,    45,    34,    16,    36,
329         },
330         // Judges
331         {
332                36,    23,    31,    24,    31,    40,    25,    35,    57,
333                18,    40,    15,    25,    20,    20,    31,    13,    31,    30,
334                48,    25,
335         },
336         // Ruth
337         {
338                22,    23,    18,    22,
339         },
340         // I Samuel
341         {
342                28,    36,    21,    22,    12,    21,    17,    22,    27,
343                27,    15,    25,    23,    52,    35,    23,    58,    30,    24,
344                43,    15,    23,    28,    23,    44,    25,    12,    25,    11,
345                31,    13,
346         },
347         // II Samuel
348         {
349                27,    32,    39,    12,    25,    23,    29,    18,    13,
350                19,    27,    31,    39,    33,    37,    23,    29,    33,    43,
351                26,    22,    51,    39,    25,
352         },
353         // I Kings
354         {
355                53,    46,    28,    34,    18,    38,    51,    66,    28,
356                29,    43,    33,    34,    31,    34,    34,    24,    46,    21,
357                43,    29,    53,
358         },
359         // II Kings
360         {
361                18,    25,    27,    44,    27,    33,    20,    29,    37,
362                36,    21,    21,    25,    29,    38,    20,    41,    37,    37,
363                21,    26,    20,    37,    20,    30,
364         },
365         // I Chronicles
366         {
367                54,    55,    24,    43,    26,    81,    40,    40,    44,
368                14,    47,    40,    14,    17,    29,    43,    27,    17,    19,
369                 8,    30,    19,    32,    31,    31,    32,    34,    21,    30,
370         },
371         // II Chronicles
372         {
373                17,    18,    17,    22,    14,    42,    22,    18,    31,
374                19,    23,    16,    22,    15,    19,    14,    19,    34,    11,
375                37,    20,    12,    21,    27,    28,    23,     9,    27,    36,
376                27,    21,    33,    25,    33,    27,    23,
377         },
378         // Prayer of Manasses
379         {
380                12,
381         },
382         // Ezra
383         {
384                11,    70,    13,    24,    17,    22,    28,    36,    15,
385                44,
386         },
387         // Nehemiah
388         {
389                11,    20,    32,    23,    19,    19,    73,    18,    38,
390                39,    36,    47,    31,
391         },
392         // I Esdras
393         {
394                58,    31,    24,    63,    70,    34,    15,    92,    55,
395         },
396         // Tobit
397         {
398                22,    14,    17,    21,    22,    18,    17,    21,     6,
399                13,    18,    22,    18,    15,
400         },
401         // Judith
402         {
403                16,    28,    10,    15,    24,    21,    32,    36,    14,
404                23,    23,    20,    20,    19,    14,    25,
405         },
406         // Esther
407         {
408                22,    23,    15,    17,    14,    14,    10,    17,    32,
409                 3,
410         },
411         // Job
412         {
413                22,    13,    26,    21,    27,    30,    21,    22,    35,
414                22,    20,    25,    28,    22,    35,    22,    16,    21,    29,
415                29,    34,    30,    17,    25,     6,    14,    23,    28,    25,
416                31,    40,    22,    33,    37,    16,    33,    24,    41,    35,
417                27,    26,    17,
418         },
419         // Psalms
420         {
421                 6,    12,     9,     9,    13,    11,    18,    10,    39,
422                 7,     9,     6,     7,     5,    11,    15,    51,    15,    10,
423                14,    32,     6,    10,    22,    12,    14,     9,    11,    13,
424                25,    11,    22,    23,    28,    13,    40,    23,    14,    18,
425                14,    12,     5,    27,    18,    12,    10,    15,    21,    23,
426                21,    11,     7,     9,    24,    14,    12,    12,    18,    14,
427                 9,    13,    12,    11,    14,    20,     8,    36,    37,     6,
428                24,    20,    28,    23,    11,    13,    21,    72,    13,    20,
429                17,     8,    19,    13,    14,    17,     7,    19,    53,    17,
430                16,    16,     5,    23,    11,    13,    12,     9,     9,     5,
431                 8,    29,    22,    35,    45,    48,    43,    14,    31,     7,
432                10,    10,     9,    26,     9,    10,     2,    29,   176,     7,
433                 8,     9,     4,     8,     5,     6,     5,     6,     8,     8,
434                 3,    18,     3,     3,    21,    26,     9,     8,    24,    14,
435                10,     7,    12,    15,    21,    10,    11,     9,    14,     9,
436                 6,     7,
437         },
438         // Proverbs
439         {
440                33,    22,    35,    29,    23,    35,    27,    36,    18,
441                32,    31,    28,    26,    35,    33,    33,    28,    25,    29,
442                30,    31,    29,    35,    34,    28,    28,    27,    28,    27,
443                33,    31,
444         },
445         // Ecclesiastes
446         {
447                18,    26,    22,    17,    19,    12,    29,    17,    18,
448                20,    10,    14,
449         },
450         // Song of Solomon
451         {
452                16,    17,    11,    16,    16,    12,    14,    14,
453         },
454         // Wisdom
455         {
456                16,    24,    19,    20,    24,    27,    30,    21,    19,
457                21,    27,    28,    19,    31,    19,    29,    20,    25,    21,
458         },
459         // Sirach
460         {
461                30,    18,    31,    35,    18,    37,    39,    22,    23,
462                34,    34,    18,    32,    27,    20,    31,    31,    33,    28,
463                31,    31,    31,    37,    37,    29,    27,    33,    30,    31,
464                27,    37,    25,    33,    26,    23,    29,    34,    39,    42,
465                32,    29,    26,    36,    27,    31,    23,    31,    28,    18,
466                31,    38,
467         },
468         // Isaiah
469         {
470                31,    22,    25,     6,    30,    13,    25,    22,    21,
471                34,    16,     6,    22,    32,     9,    14,    14,     7,    25,
472                 6,    17,    25,    18,    23,    12,    21,    13,    29,    24,
473                33,     9,    20,    24,    17,    10,    22,    38,    22,     8,
474                31,    29,    25,    28,    28,    25,    13,    15,    22,    26,
475                11,    23,    15,    12,    17,    13,    12,    21,    14,    21,
476                22,    11,    12,    19,    12,    25,    24,
477         },
478         // Jeremiah
479         {
480                19,    37,    25,    31,    31,    30,    34,    22,    26,
481                25,    23,    17,    27,    22,    21,    21,    27,    23,    15,
482                18,    14,    30,    40,    10,    38,    24,    22,    17,    32,
483                24,    40,    44,    26,    22,    19,    32,    21,    28,    18,
484                16,    18,    22,    13,    30,     5,    28,     7,    47,    39,
485                46,    64,    34,
486         },
487         // Lamentations
488         {
489                22,    22,    66,    22,    22,
490         },
491         // Epistle of Jeremiah
492         {
493                72,
494         },
495         // Baruch
496         {
497                22,    35,    38,    37,     9,
498         },
499         // Ezekiel
500         {
501                28,    10,    27,    17,    17,    14,    27,    18,    11,
502                22,    25,    28,    23,    23,     8,    63,    24,    32,    14,
503                49,    32,    31,    49,    27,    17,    21,    36,    26,    21,
504                26,    18,    32,    33,    31,    15,    38,    28,    23,    29,
505                49,    26,    20,    27,    31,    25,    24,    23,    35,
506         },
507         // Daniel
508         {
509                21,    49,   100,    34,    31,    28,    28,    27,    27,
510                21,    45,    13,    64,    42,
511         },
512         // Hosea
513         {
514                11,    23,     5,    19,    15,    11,    16,    14,    17,
515                15,    12,    14,    15,    10,
516         },
517         // Joel
518         {
519                20,    32,    21,
520         },
521         // Amos
522         {
523                15,    16,    15,    13,    27,    14,    17,    14,    15,
524         },
525         // Obadiah
526         {
527                21,
528         },
529         // Jonah
530         {
531                16,    11,    10,    11,
532         },
533         // Micah
534         {
535                16,    13,    12,    13,    15,    16,    20,
536         },
537         // Nahum
538         {
539                15,    13,    19,
540         },
541         // Habakkuk
542         {
543                17,    20,    19,
544         },
545         // Zephaniah
546         {
547                18,    15,    20,
548         },
549         // Haggai
550         {
551                15,    23,
552         },
553         // Zechariah
554         {
555                21,    13,    10,    14,    11,    15,    14,    23,    17,
556                12,    17,    14,     9,    21,
557         },
558         // Malachi
559         {
560                14,    17,    18,     6,
561         },
562         // I Maccabees
563         {
564                64,    70,    60,    61,    68,    63,    50,    32,    73,
565                89,    74,    53,    53,    49,    41,    24,
566         },
567         // II Maccabees
568         {
569                36,    33,    40,    50,    27,    31,    42,    36,    29,
570                38,    38,    45,    26,    46,    39,
571         },
572         // III Maccabees
573         {
574                25,    24,    22,    16,    36,    37,    20,
575         },
576         // II Esdras
577         {
578                40,    48,    36,    52,    56,    59,    70,    63,    47,
579                60,    46,    51,    58,    48,    63,    78,
580         },
581     };
582 
583    /**
584     * Serialization ID
585     */
586    private static final long serialVersionUID = -6281906491023123413L;
587 }
588