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   *
28   *
29   * @see gnu.lgpl.License for license details.<br>
30   *      The copyright to this program is held by it's authors.
31   * @author DM Smith
32   */
33  public class SystemVulg extends Versification {
34      /**
35       * Build the "Vulg" Versification.
36       */
37      /* protected */ SystemVulg() {
38          super(V11N_NAME, BOOKS_OT, BOOKS_NT, LAST_VERSE_OT, LAST_VERSE_NT);
39      }
40  
41      public static final String V11N_NAME = "Vulg";
42  
43      // Start with SystemDefault.booksNT
44      // and follow with additional deuterocanonical books
45      /* protected */ static final BibleBook[] BOOKS_NT =
46      {
47          BibleBook.MATT,
48          BibleBook.MARK,
49          BibleBook.LUKE,
50          BibleBook.JOHN,
51          BibleBook.ACTS,
52          BibleBook.ROM,
53          BibleBook.COR1,
54          BibleBook.COR2,
55          BibleBook.GAL,
56          BibleBook.EPH,
57          BibleBook.PHIL,
58          BibleBook.COL,
59          BibleBook.THESS1,
60          BibleBook.THESS2,
61          BibleBook.TIM1,
62          BibleBook.TIM2,
63          BibleBook.TITUS,
64          BibleBook.PHLM,
65          BibleBook.HEB,
66          BibleBook.JAS,
67          BibleBook.PET1,
68          BibleBook.PET2,
69          BibleBook.JOHN1,
70          BibleBook.JOHN2,
71          BibleBook.JOHN3,
72          BibleBook.JUDE,
73          BibleBook.REV,
74          // Additional books
75          BibleBook.PR_MAN,
76          BibleBook.ESD1,
77          BibleBook.ESD2,
78          BibleBook.ADD_PS,
79          BibleBook.EP_LAO,
80      };
81  
82      /* protected */ static final int[][] LAST_VERSE_NT =
83      {
84          // Matthew
85          {
86                 25,    23,    17,    25,    48,    34,    29,    34,    38,
87                 42,    30,    50,    58,    36,    39,    28,    26,    35,    30,
88                 34,    46,    46,    39,    51,    46,    75,    66,    20,
89          },
90          // Mark
91          {
92                 45,    28,    35,    40,    43,    56,    37,    39,    49,
93                 52,    33,    44,    37,    72,    47,    20,
94          },
95          // Luke
96          {
97                 80,    52,    38,    44,    39,    49,    50,    56,    62,
98                 42,    54,    59,    35,    35,    32,    31,    37,    43,    48,
99                 47,    38,    71,    56,    53,
100         },
101         // John
102         {
103                51,    25,    36,    54,    47,    72,    53,    59,    41,
104                42,    57,    50,    38,    31,    27,    33,    26,    40,    42,
105                31,    25,
106         },
107         // Acts
108         {
109                26,    47,    26,    37,    42,    15,    59,    40,    43,
110                48,    30,    25,    52,    27,    41,    40,    34,    28,    40,
111                38,    40,    30,    35,    27,    27,    32,    44,    31,
112         },
113         // Romans
114         {
115                32,    29,    31,    25,    21,    23,    25,    39,    33,
116                21,    36,    21,    14,    23,    33,    27,
117         },
118         // I Corinthians
119         {
120                31,    16,    23,    21,    13,    20,    40,    13,    27,
121                33,    34,    31,    13,    40,    58,    24,
122         },
123         // II Corinthians
124         {
125                24,    17,    18,    18,    21,    18,    16,    24,    15,
126                18,    33,    21,    13,
127         },
128         // Galatians
129         {
130                24,    21,    29,    31,    26,    18,
131         },
132         // Ephesians
133         {
134                23,    22,    21,    32,    33,    24,
135         },
136         // Philippians
137         {
138                30,    30,    21,    23,
139         },
140         // Colossians
141         {
142                29,    23,    25,    18,
143         },
144         // I Thessalonians
145         {
146                10,    20,    13,    18,    28,
147         },
148         // II Thessalonians
149         {
150                12,    17,    18,
151         },
152         // I Timothy
153         {
154                20,    15,    16,    16,    25,    21,
155         },
156         // II Timothy
157         {
158                18,    26,    17,    22,
159         },
160         // Titus
161         {
162                16,    15,    15,
163         },
164         // Philemon
165         {
166                25,
167         },
168         // Hebrews
169         {
170                14,    18,    19,    16,    14,    20,    28,    13,    28,
171                39,    40,    29,    25,
172         },
173         // James
174         {
175                27,    26,    18,    17,    20,
176         },
177         // I Peter
178         {
179                25,    25,    22,    19,    14,
180         },
181         // II Peter
182         {
183                21,    22,    18,
184         },
185         // I John
186         {
187                10,    29,    24,    21,    21,
188         },
189         // II John
190         {
191                13,
192         },
193         // III John
194         {
195                15,
196         },
197         // Jude
198         {
199                25,
200         },
201         // Revelation of John
202         {
203                20,    29,    22,    11,    14,    17,    17,    13,    21,
204                11,    19,    18,    18,    20,     8,    21,    18,    24,    21,
205                15,    27,    21,
206         },
207         // Prayer of Manasses
208         {
209                15,
210         },
211         // I Esdras
212         {
213                58,    31,    24,    63,    73,    34,    15,    97,    56,
214         },
215         // II Esdras
216         {
217                40,    48,    36,    52,    56,    59,    140,    63,    47,
218                60,    46,    51,    58,    48,    63,    78,
219         },
220         // Additional Psalm
221         {
222                 7,
223         },
224         // Laodiceans
225         {
226                20,
227         }
228     };
229 
230     // Has all the SystemDefault.booksOT
231     // with deuterocanonical books mixed into
232     // a very distinctive order
233     /* protected */ static final BibleBook[] BOOKS_OT =
234     {
235         BibleBook.GEN,
236         BibleBook.EXOD,
237         BibleBook.LEV,
238         BibleBook.NUM,
239         BibleBook.DEUT,
240         BibleBook.JOSH,
241         BibleBook.JUDG,
242         BibleBook.RUTH,
243         BibleBook.SAM1,
244         BibleBook.SAM2,
245         BibleBook.KGS1,
246         BibleBook.KGS2,
247         BibleBook.CHR1,
248         BibleBook.CHR2,
249         BibleBook.EZRA,
250         BibleBook.NEH,
251         BibleBook.TOB,
252         BibleBook.JDT,
253         BibleBook.ESTH,
254         BibleBook.JOB,
255         BibleBook.PS,
256         BibleBook.PROV,
257         BibleBook.ECCL,
258         BibleBook.SONG,
259         BibleBook.WIS,
260         BibleBook.SIR,
261         BibleBook.ISA,
262         BibleBook.JER,
263         BibleBook.LAM,
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     };
282 
283     /* protected */ static final int[][] LAST_VERSE_OT =
284     {
285         // Genesis
286         {
287                31,    25,    24,    26,    31,    22,    24,    22,    29,
288                32,    32,    20,    18,    24,    21,    16,    27,    33,    38,
289                18,    34,    24,    20,    67,    34,    35,    46,    22,    35,
290                43,    55,    32,    20,    31,    29,    43,    36,    30,    23,
291                23,    57,    38,    34,    34,    28,    34,    31,    22,    32,
292                25,
293         },
294         // Exodus
295         {
296                22,    25,    22,    31,    23,    30,    25,    32,    35,
297                29,    10,    51,    22,    31,    27,    36,    16,    27,    25,
298                26,    36,    31,    33,    18,    40,    37,    21,    43,    46,
299                38,    18,    35,    23,    35,    35,    38,    29,    31,    43,
300                36,
301         },
302         // Leviticus
303         {
304                17,    16,    17,    35,    19,    30,    38,    36,    24,
305                20,    47,     8,    59,    57,    33,    34,    16,    30,    37,
306                27,    24,    33,    44,    23,    55,    45,    34,
307         },
308         // Numbers
309         {
310                54,    34,    51,    49,    31,    27,    89,    26,    23,
311                36,    34,    15,    34,    45,    41,    50,    13,    32,    22,
312                30,    35,    41,    30,    25,    18,    65,    23,    31,    39,
313                17,    54,    42,    56,    29,    34,    13,
314         },
315         // Deuteronomy
316         {
317                46,    37,    29,    49,    33,    25,    26,    20,    29,
318                22,    32,    32,    18,    29,    23,    22,    20,    22,    21,
319                20,    23,    30,    25,    22,    19,    19,    26,    68,    29,
320                20,    30,    52,    29,    12,
321         },
322         // Joshua
323         {
324                18,    24,    17,    25,    16,    27,    26,    35,    27,
325                43,    23,    24,    33,    15,    63,    10,    18,    28,    51,
326                 9,    43,    34,    16,    33,
327         },
328         // Judges
329         {
330                36,    23,    31,    24,    32,    40,    25,    35,    57,
331                18,    40,    15,    25,    20,    20,    31,    13,    31,    30,
332                48,    24,
333         },
334         // Ruth
335         {
336                22,    23,    18,    22,
337         },
338         // I Samuel
339         {
340                28,    36,    21,    22,    12,    21,    17,    22,    27,
341                27,    15,    25,    23,    52,    35,    23,    58,    30,    24,
342                43,    15,    23,    28,    23,    44,    25,    12,    25,    11,
343                31,    13,
344         },
345         // II Samuel
346         {
347                27,    32,    39,    12,    25,    23,    29,    18,    13,
348                19,    27,    31,    39,    33,    37,    23,    29,    33,    43,
349                26,    22,    51,    39,    25,
350         },
351         // I Kings
352         {
353                53,    46,    28,    34,    18,    38,    51,    66,    28,
354                29,    43,    33,    34,    31,    34,    34,    24,    46,    21,
355                43,    29,    54,
356         },
357         // II Kings
358         {
359                18,    25,    27,    44,    27,    33,    20,    29,    37,
360                36,    21,    21,    25,    29,    38,    20,    41,    37,    37,
361                21,    26,    20,    37,    20,    30,
362         },
363         // I Chronicles
364         {
365                54,    55,    24,    43,    26,    81,    40,    40,    44,
366                14,    46,    40,    14,    17,    29,    43,    27,    17,    19,
367                 7,    30,    19,    32,    31,    31,    32,    34,    21,    30,
368         },
369         // II Chronicles
370         {
371                17,    18,    17,    22,    14,    42,    22,    18,    31,
372                19,    23,    16,    22,    15,    19,    14,    19,    34,    11,
373                37,    20,    12,    21,    27,    28,    23,     9,    27,    36,
374                27,    21,    33,    25,    33,    27,    23,
375         },
376         // Ezra
377         {
378                11,    70,    13,    24,    17,    22,    28,    36,    15,
379                44,
380         },
381         // Nehemiah
382         {
383                11,    20,    31,    23,    19,    19,    73,    18,    38,
384                39,    36,    46,    31,
385         },
386         // Tobit
387         {
388                25,    23,    25,    23,    28,    22,    20,    24,    12,
389                13,    21,    22,    23,    17,
390         },
391         // Judith
392         {
393                12,    18,    15,    17,    29,    21,    25,    34,    19,
394                20,    21,    20,    31,    18,    15,    31,
395         },
396         // Esther
397         {
398                22,    23,    15,    17,    14,    14,    10,    17,    32,
399                13,    12,     6,    18,    19,    19,    24,
400         },
401         // Job
402         {
403                22,    13,    26,    21,    27,    30,    21,    22,    35,
404                22,    20,    25,    28,    22,    35,    23,    16,    21,    29,
405                29,    34,    30,    17,    25,     6,    14,    23,    28,    25,
406                31,    40,    22,    33,    37,    16,    33,    24,    41,    35,
407                28,    25,    16,
408         },
409         // Psalms
410         {
411                 6,    13,     9,    10,    13,    11,    18,    10,    39,
412                 8,     9,     6,     7,     5,    11,    15,    51,    15,    10,
413                14,    32,     6,    10,    22,    12,    14,     9,    11,    13,
414                25,    11,    22,    23,    28,    13,    40,    23,    14,    18,
415                14,    12,     6,    26,    18,    12,    10,    15,    21,    23,
416                21,    11,     7,     9,    24,    13,    12,    12,    18,    14,
417                 9,    13,    12,    11,    14,    20,     8,    36,    37,     6,
418                24,    20,    28,    23,    11,    13,    21,    72,    13,    20,
419                17,     8,    19,    13,    14,    17,     7,    19,    53,    17,
420                16,    16,     5,    23,    11,    13,    12,     9,     9,     5,
421                 8,    29,    22,    35,    45,    48,    43,    14,    31,     7,
422                10,    10,     9,    26,     9,    10,     2,    29,   176,     7,
423                 8,     9,     4,     8,     5,     7,     5,     6,     8,     8,
424                 3,    18,     3,     3,    21,    27,     9,     8,    24,    14,
425                10,     8,    12,    15,    21,    10,    11,     9,    14,     9,
426                 6,
427         },
428         // Proverbs
429         {
430                33,    22,    35,    27,    23,    35,    27,    36,    18,
431                32,    31,    28,    25,    35,    33,    33,    28,    24,    29,
432                30,    31,    29,    35,    34,    28,    28,    27,    28,    27,
433                33,    31,
434         },
435         // Ecclesiastes
436         {
437                18,    26,    22,    17,    19,    11,    30,    17,    18,
438                20,    10,    14,
439         },
440         // Song of Solomon
441         {
442                16,    17,    11,    16,    17,    12,    13,    14,
443         },
444         // Wisdom
445         {
446                16,    25,    19,    20,    24,    27,    30,    21,    19,
447                21,    27,    27,    19,    31,    19,    29,    20,    25,    20,
448         },
449         // Sirach
450         {
451                40,    23,    34,    36,    18,    37,    40,    22,    25,
452                34,    36,    19,    32,    27,    22,    31,    31,    33,    28,
453                33,    31,    33,    38,    47,    36,    28,    33,    30,    35,
454                27,    42,    28,    33,    31,    26,    28,    34,    39,    41,
455                32,    28,    26,    37,    27,    31,    23,    31,    28,    19,
456                31,    38,
457         },
458         // Isaiah
459         {
460                31,    22,    26,     6,    30,    13,    25,    22,    21,
461                34,    16,     6,    22,    32,     9,    14,    14,     7,    25,
462                 6,    17,    25,    18,    23,    12,    21,    13,    29,    24,
463                33,     9,    20,    24,    17,    10,    22,    38,    22,     8,
464                31,    29,    25,    28,    28,    26,    13,    15,    22,    26,
465                11,    23,    15,    12,    17,    13,    12,    21,    14,    21,
466                22,    11,    12,    19,    12,    25,    24,
467         },
468         // Jeremiah
469         {
470                19,    37,    25,    31,    31,    30,    34,    22,    26,
471                25,    23,    17,    27,    22,    21,    21,    27,    23,    15,
472                18,    14,    30,    40,    10,    38,    24,    22,    17,    32,
473                24,    40,    44,    26,    22,    19,    32,    20,    28,    18,
474                16,    18,    22,    13,    30,     5,    28,     7,    47,    39,
475                46,    64,    34,
476         },
477         // Lamentations
478         {
479                22,    22,    66,    22,    22,
480         },
481         // Baruch
482         {
483                22,    35,    38,    37,     9,    72,
484         },
485         // Ezekiel
486         {
487                28,     9,    27,    17,    17,    14,    27,    18,    11,
488                22,    25,    28,    23,    23,     8,    63,    24,    32,    14,
489                49,    32,    31,    49,    27,    17,    21,    36,    26,    21,
490                26,    18,    32,    33,    31,    15,    38,    28,    23,    29,
491                49,    26,    20,    27,    31,    25,    24,    23,    35,
492         },
493         // Daniel
494         {
495                21,    49,   100,    34,    31,    28,    28,    27,    27,
496                21,    45,    13,    65,    42,
497         },
498         // Hosea
499         {
500                11,    24,     5,    19,    15,    11,    16,    14,    17,
501                15,    12,    14,    15,    10,
502         },
503         // Joel
504         {
505                20,    32,    21,
506         },
507         // Amos
508         {
509                15,    16,    15,    13,    27,    15,    17,    14,    15,
510         },
511         // Obadiah
512         {
513                21,
514         },
515         // Jonah
516         {
517                16,    11,    10,    11,
518         },
519         // Micah
520         {
521                16,    13,    12,    13,    14,    16,    20,
522         },
523         // Nahum
524         {
525                15,    13,    19,
526         },
527         // Habakkuk
528         {
529                17,    20,    19,
530         },
531         // Zephaniah
532         {
533                18,    15,    20,
534         },
535         // Haggai
536         {
537                14,    24,
538         },
539         // Zechariah
540         {
541                21,    13,    10,    14,    11,    15,    14,    23,    17,
542                12,    17,    14,     9,    21,
543         },
544         // Malachi
545         {
546                14,    17,    18,     6,
547         },
548         // I Maccabees
549         {
550                67,    70,    60,    61,    68,    63,    50,    32,    73,
551                89,    74,    54,    54,    49,    41,    24,
552         },
553         // II Maccabees
554         {
555                36,    33,    40,    50,    27,    31,    42,    36,    29,
556                38,    38,    46,    26,    46,    40,
557         },
558     };
559 
560     /**
561      * Serialization ID
562      */
563     private static final long serialVersionUID = -2155122813160088809L;
564 }
565