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