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