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