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   * The SynodalP versification is essentially the KJV v11n, using its chapter counts, 
27   * but with a modified NT book order similar to those of the Synodal v11n
28   * and merged with verse counts similar to those of the Synodal v11n
29   *
30   *
31   * @see gnu.lgpl.License The GNU Lesser General Public License for details.
32   * @author DM Smith
33   */
34  public class SystemSynodalProt extends Versification {
35      /**
36       * Build the "SynodalP" Versification.
37       */
38      SystemSynodalProt() {
39          super(V11N_NAME, BOOKS_OT, BOOKS_NT, LAST_VERSE_OT, LAST_VERSE_NT);
40      }
41  
42      public static final String V11N_NAME = "SynodalProt";
43  
44      /* protected */ static final BibleBook[] BOOKS_OT = SystemDefault.BOOKS_OT;
45  
46      // The NT books are the SystemDefault.BOOKS_NT  in a different order
47      /* protected */ static final BibleBook[] BOOKS_NT =
48      {
49          BibleBook.MATT,
50          BibleBook.MARK,
51          BibleBook.LUKE,
52          BibleBook.JOHN,
53          BibleBook.ACTS,
54          BibleBook.JAS,
55          BibleBook.PET1,
56          BibleBook.PET2,
57          BibleBook.JOHN1,
58          BibleBook.JOHN2,
59          BibleBook.JOHN3,
60          BibleBook.JUDE,
61          BibleBook.ROM,
62          BibleBook.COR1,
63          BibleBook.COR2,
64          BibleBook.GAL,
65          BibleBook.EPH,
66          BibleBook.PHIL,
67          BibleBook.COL,
68          BibleBook.THESS1,
69          BibleBook.THESS2,
70          BibleBook.TIM1,
71          BibleBook.TIM2,
72          BibleBook.TITUS,
73          BibleBook.PHLM,
74          BibleBook.HEB,
75          BibleBook.REV,
76      };
77  
78      /* protected */ static final int[][] LAST_VERSE_OT =
79      {
80          // Genesis
81          {
82             31,  25,  24,  26,  32,  22,  24,  22,  29,  32,
83             32,  20,  18,  24,  21,  16,  27,  33,  38,  18,
84             34,  24,  20,  67,  34,  35,  46,  22,  35,  43,
85             55,  32,  20,  31,  29,  43,  36,  30,  23,  23,
86             57,  38,  34,  34,  28,  34,  31,  22,  33,  26,
87          },
88          // Exodus
89          {
90             22,  25,  22,  31,  23,  30,  25,  32,  35,  29,
91             10,  51,  22,  31,  27,  36,  16,  27,  25,  26,
92             36,  31,  33,  18,  40,  37,  21,  43,  46,  38,
93             18,  35,  23,  35,  35,  38,  29,  31,  43,  38,
94          },
95          // Leviticus
96          {
97             17,  16,  17,  35,  19,  30,  38,  36,  24,  20,
98             47,   8,  59,  56,  33,  34,  16,  30,  37,  27,
99             24,  33,  44,  23,  55,  46,  34,
100         },
101         // Numbers
102         {
103            54,  34,  51,  49,  31,  27,  89,  26,  23,  36,
104            35,  15,  34,  45,  41,  50,  13,  32,  22,  29,
105            35,  41,  30,  25,  18,  65,  23,  31,  39,  17,
106            54,  42,  56,  29,  34,  13,
107         },
108         // Deuteronomy
109         {
110            46,  37,  29,  49,  33,  25,  26,  20,  29,  22,
111            32,  32,  18,  29,  23,  22,  20,  22,  21,  20,
112            23,  30,  25,  22,  19,  19,  26,  68,  29,  20,
113            30,  52,  29,  12,
114         },
115         // Joshua
116         {
117            18,  24,  17,  24,  16,  26,  26,  35,  27,  43,
118            23,  24,  33,  15,  63,  10,  18,  28,  51,   9,
119            45,  34,  16,  33,
120         },
121         // Judges
122         {
123            36,  23,  31,  24,  31,  40,  25,  35,  57,  18,
124            40,  15,  25,  20,  20,  31,  13,  31,  30,  48,
125            25,
126         },
127         // Ruth
128         {
129            22,  23,  18,  22,
130         },
131         // I Samuel
132         {
133            28,  36,  21,  22,  12,  21,  17,  22,  27,  27,
134            15,  25,  23,  52,  35,  23,  58,  30,  24,  43,
135            15,  23,  28,  23,  44,  25,  12,  25,  11,  31,
136            13,
137         },
138         // II Samuel
139         {
140            27,  32,  39,  12,  25,  23,  29,  18,  13,  19,
141            27,  31,  39,  33,  37,  23,  29,  33,  43,  26,
142            22,  51,  39,  25,
143         },
144         // I Kings
145         {
146            53,  46,  28,  34,  18,  38,  51,  66,  28,  29,
147            43,  33,  34,  31,  34,  34,  24,  46,  21,  43,
148            29,  53,
149         },
150         // II Kings
151         {
152            18,  25,  27,  44,  27,  33,  20,  29,  37,  36,
153            21,  21,  25,  29,  38,  20,  41,  37,  37,  21,
154            26,  20,  37,  20,  30,
155         },
156         // I Chronicles
157         {
158            54,  55,  24,  43,  26,  81,  40,  40,  44,  14,
159            47,  40,  14,  17,  29,  43,  27,  17,  19,   8,
160            30,  19,  32,  31,  31,  32,  34,  21,  30,
161         },
162         // II Chronicles
163         {
164            17,  18,  17,  22,  14,  42,  22,  18,  31,  19,
165            23,  16,  22,  15,  19,  14,  19,  34,  11,  37,
166            20,  12,  21,  27,  28,  23,   9,  27,  36,  27,
167            21,  33,  25,  33,  27,  23,
168         },
169         // Ezra
170         {
171            11,  70,  13,  24,  17,  22,  28,  36,  15,  44,
172         },
173         // Nehemiah
174         {
175            11,  20,  32,  23,  19,  19,  73,  18,  38,  39,
176            36,  47,  31,
177         },
178         // Esther
179         {
180            22,  23,  15,  17,  14,  14,  10,  17,  32,   3,
181         },
182         // Job
183         {
184            22,  13,  26,  21,  27,  30,  21,  22,  35,  22,
185            20,  25,  28,  22,  35,  22,  16,  21,  29,  29,
186            34,  30,  17,  25,   6,  14,  23,  28,  25,  31,
187            40,  22,  33,  37,  16,  33,  24,  41,  35,  27,
188            26,  17,
189         },
190         // Psalms
191         {
192             6,  12,   9,   9,  13,  11,  18,  10,  39,   7,
193             9,   6,   7,   5,  11,  15,  51,  15,  10,  14,
194            32,   6,  10,  22,  12,  14,   9,  11,  13,  25,
195            11,  22,  23,  28,  13,  40,  23,  14,  18,  14,
196            12,   5,  27,  18,  12,  10,  15,  21,  23,  21,
197            11,   7,   9,  24,  14,  12,  12,  18,  14,   9,
198            13,  12,  11,  14,  20,   8,  36,  37,   6,  24,
199            20,  28,  23,  11,  13,  21,  72,  13,  20,  17,
200             8,  19,  13,  14,  17,   7,  19,  53,  17,  16,
201            16,   5,  23,  11,  13,  12,   9,   9,   5,   8,
202            29,  22,  35,  45,  48,  43,  14,  31,   7,  10,
203            10,   9,  26,   9,  10,   2,  29, 176,   7,   8,
204             9,   4,   8,   5,   6,   5,   6,   8,   8,   3,
205            18,   3,   3,  21,  26,   9,   8,  24,  14,  10,
206             7,  12,  15,  21,  10,  11,   9,  14,   9,   6,
207         },
208         // Proverbs
209         {
210            33,  22,  35,  27,  23,  35,  27,  36,  18,  32,
211            31,  28,  25,  35,  33,  33,  28,  24,  29,  30,
212            31,  29,  35,  34,  28,  28,  27,  28,  27,  33,
213            31,
214         },
215         // Ecclesiastes
216         {
217            18,  26,  22,  17,  19,  12,  29,  17,  18,  20,
218            10,  14,
219         },
220         // Song of Solomon
221         {
222            16,  17,  11,  16,  16,  12,  14,  14,
223         },
224         // Isaiah
225         {
226            31,  22,  25,   6,  30,  13,  25,  22,  21,  34,
227            16,   6,  22,  32,   9,  14,  14,   7,  25,   6,
228            17,  25,  18,  23,  12,  21,  13,  29,  24,  33,
229             9,  20,  24,  17,  10,  22,  38,  22,   8,  31,
230            29,  25,  28,  28,  25,  13,  15,  22,  26,  11,
231            23,  15,  12,  17,  13,  12,  21,  14,  21,  22,
232            11,  12,  19,  12,  25,  24,
233         },
234         // Jeremiah
235         {
236            19,  37,  25,  31,  31,  30,  34,  22,  26,  25,
237            23,  17,  27,  22,  21,  21,  27,  23,  15,  18,
238            14,  30,  40,  10,  38,  24,  22,  17,  32,  24,
239            40,  44,  26,  22,  19,  32,  21,  28,  18,  16,
240            18,  22,  13,  30,   5,  28,   7,  47,  39,  46,
241            64,  34,
242         },
243         // Lamentations
244         {
245            22,  22,  66,  22,  22,
246         },
247         // Ezekiel
248         {
249            28,  10,  27,  17,  17,  14,  27,  18,  11,  22,
250            25,  28,  23,  23,   8,  63,  24,  32,  14,  49,
251            32,  31,  49,  27,  17,  21,  36,  26,  21,  26,
252            18,  32,  33,  31,  15,  38,  28,  23,  29,  49,
253            26,  20,  27,  31,  25,  24,  23,  35,
254         },
255         // Daniel
256         {
257            21,  49,  33,  34,  31,  28,  28,  27,  27,  21,
258            45,  13,
259         },
260         // Hosea
261         {
262            11,  23,   5,  19,  15,  11,  16,  14,  17,  15,
263            12,  14,  15,  10,
264         },
265         // Joel
266         {
267            20,  32,  21,
268         },
269         // Amos
270         {
271            15,  16,  15,  13,  27,  14,  17,  14,  15,
272         },
273         // Obadiah
274         {
275            21,
276         },
277         // Jonah
278         {
279            16,  11,  10,  11,
280         },
281         // Micah
282         {
283            16,  13,  12,  13,  15,  16,  20,
284         },
285         // Nahum
286         {
287            15,  13,  19,
288         },
289         // Habakkuk
290         {
291            17,  20,  19,
292         },
293         // Zephaniah
294         {
295            18,  15,  20,
296         },
297         // Haggai
298         {
299            15,  23,
300         },
301         // Zechariah
302         {
303            21,  13,  10,  14,  11,  15,  14,  23,  17,  12,
304            17,  14,   9,  21,
305         },
306         // Malachi
307         {
308            14,  17,  18,   6,
309         },
310     };
311 
312     /* protected */ static final int[][] LAST_VERSE_NT =
313     {
314         // Matthew
315         {
316            25,  23,  17,  25,  48,  34,  29,  34,  38,  42,
317            30,  50,  58,  36,  39,  28,  27,  35,  30,  34,
318            46,  46,  39,  51,  46,  75,  66,  20,
319         },
320         // Mark
321         {
322            45,  28,  35,  41,  43,  56,  37,  38,  50,  52,
323            33,  44,  37,  72,  47,  20,
324         },
325         // Luke
326         {
327            80,  52,  38,  44,  39,  49,  50,  56,  62,  42,
328            54,  59,  35,  35,  32,  31,  37,  43,  48,  47,
329            38,  71,  56,  53,
330         },
331         // John
332         {
333            51,  25,  36,  54,  47,  71,  53,  59,  41,  42,
334            57,  50,  38,  31,  27,  33,  26,  40,  42,  31,
335            25,
336         },
337         // Acts
338         {
339            26,  47,  26,  37,  42,  15,  60,  40,  43,  48,
340            30,  25,  52,  28,  41,  40,  34,  28,  40,  38,
341            40,  30,  35,  27,  27,  32,  44,  31,
342         },
343         // James
344         {
345            27,  26,  18,  17,  20,
346         },
347         // I Peter
348         {
349            25,  25,  22,  19,  14,
350         },
351         // II Peter
352         {
353            21,  22,  18,
354         },
355         // I John
356         {
357            10,  29,  24,  21,  21,
358         },
359         // II John
360         {
361            13,
362         },
363         // III John
364         {
365            15,
366         },
367         // Jude
368         {
369            25,
370         },
371         // Romans
372         {
373            32,  29,  31,  25,  21,  23,  25,  39,  33,  21,
374            36,  21,  14,  26,  33,  24,
375         },
376         // I Corinthians
377         {
378            31,  16,  23,  21,  13,  20,  40,  13,  27,  33,
379            34,  31,  13,  40,  58,  24,
380         },
381         // II Corinthians
382         {
383            24,  17,  18,  18,  21,  18,  16,  24,  15,  18,
384            32,  21,  13,
385         },
386         // Galatians
387         {
388            24,  21,  29,  31,  26,  18,
389         },
390         // Ephesians
391         {
392            23,  22,  21,  32,  33,  24,
393         },
394         // Philippians
395         {
396            30,  30,  21,  23,
397         },
398         // Colossians
399         {
400            29,  23,  25,  18,
401         },
402         // I Thessalonians
403         {
404            10,  20,  13,  18,  28,
405         },
406         // II Thessalonians
407         {
408            12,  17,  18,
409         },
410         // I Timothy
411         {
412            20,  15,  16,  16,  25,  21,
413         },
414         // II Timothy
415         {
416            18,  26,  17,  22,
417         },
418         // Titus
419         {
420            16,  15,  15,
421         },
422         // Philemon
423         {
424            25,
425         },
426         // Hebrews
427         {
428            14,  18,  19,  16,  14,  20,  28,  13,  28,  39,
429            40,  29,  25,
430         },
431         // Revelation of John
432         {
433            20,  29,  22,  11,  14,  17,  17,  13,  21,  11,
434            19,  17,  18,  20,   8,  21,  18,  24,  21,  15,
435            27,  21
436         }
437     };
438 
439     /**
440      * Serialization ID
441      */
442     private static final long serialVersionUID = 2662552205377421107L;
443 }
444