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