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