| SystemLXX.java |
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 * LXX a compromise versification system, intended to allow encoding of Bibles using
27 * a number of slightly varying LXX-based versification systems. In particular, it was
28 * produced in consultation with OTs:
29 * <ul>
30 * <li>Rahlfs', </li>
31 * <li>Swete's, </li>
32 * <li>Tischendorf's, and Thomson's editions of the LXX</li>
33 * <li>the NETS, </li>
34 * <li>SAAS (OSB OT), </li>
35 * <li>Brenton, and </li>
36 * <li>Asser translations</li>
37 * <li>R. H. Charles' and James H. Charlesworth's anthologies of Apocrypha and Pseudepigrapha</li>
38 * <li>Henry E. J. Howard's Pentateuch and R. R. Ottley's Isaiah translations from the LXX.</li>
39 * </ul>
40 * In addition to the LXX OT, the GNT has been included in this system to facilitate production
41 * of modern Bibles such as the OSB, which are translated from the LXX but include the NT as well.
42 * The following NTs were consulted in producing this versification system:
43 * <ul>
44 * <li>Antoniades' Patriarchal GNT and its translation, </li>
45 * <li>the EOB</li>
46 * <li>the NKJV (OSB NT) and</li>
47 * <li>NRSV translations</li>
48 * </ul>
49 *
50 * All of these Bibles & texts should be accommodated by this versification definition without
51 * requiring that any extra verses be appended; as a consequence, no Bible will include every
52 * verse of this system.
53 *
54 * @see gnu.lgpl.License The GNU Lesser General Public License for details.
55 * @author DM Smith
56 */
57 public class SystemLXX extends Versification {
58 /**
59 * Build the "LXX" Versification.
60 */
61 /* protected */ SystemLXX() {
62 super(V11N_NAME, BOOKS_OT, BOOKS_NT, LAST_VERSE_OT, LAST_VERSE_NT);
63 }
64
65 public static final String V11N_NAME = "LXX";
66
67 /* protected */ static final BibleBook[] BOOKS_OT =
68 {
69 BibleBook.GEN,
70 BibleBook.EXOD,
71 BibleBook.LEV,
72 BibleBook.NUM,
73 BibleBook.DEUT,
74 BibleBook.JOSH,
75 BibleBook.JUDG,
76 BibleBook.RUTH,
77 BibleBook.SAM1,
78 BibleBook.SAM2,
79 BibleBook.KGS1,
80 BibleBook.KGS2,
81 BibleBook.CHR1,
82 BibleBook.CHR2,
83 BibleBook.ESD1,
84 BibleBook.EZRA,
85 BibleBook.NEH,
86 BibleBook.ESTH,
87 BibleBook.JDT,
88 BibleBook.TOB,
89 BibleBook.MACC1,
90 BibleBook.MACC2,
91 BibleBook.MACC3,
92 BibleBook.MACC4,
93 BibleBook.PS,
94 BibleBook.PR_MAN,
95 BibleBook.PROV,
96 BibleBook.ECCL,
97 BibleBook.SONG,
98 BibleBook.JOB,
99 BibleBook.WIS,
100 BibleBook.SIR,
101 BibleBook.PSALM_SOL,
102 BibleBook.HOS,
103 BibleBook.AMOS,
104 BibleBook.MIC,
105 BibleBook.JOEL,
106 BibleBook.OBAD,
107 BibleBook.JONAH,
108 BibleBook.NAH,
109 BibleBook.HAB,
110 BibleBook.ZEPH,
111 BibleBook.HAG,
112 BibleBook.ZECH,
113 BibleBook.MAL,
114 BibleBook.ISA,
115 BibleBook.JER,
116 BibleBook.BAR,
117 BibleBook.LAM,
118 BibleBook.EP_JER,
119 BibleBook.EZEK,
120 BibleBook.PR_AZAR,
121 BibleBook.SUS,
122 BibleBook.DAN,
123 BibleBook.BEL,
124 BibleBook.EN1,
125 BibleBook.ODES,
126 };
127
128 /* protected */ static final BibleBook[] BOOKS_NT = SystemDefault.BOOKS_NT;
129
130 /** Constant for the max verse number in each chapter */
131 /* protected */ static final int[][] LAST_VERSE_OT =
132 {
133 // Genesis
134 {
135 31, 25, 25, 26, 32, 23, 24, 22, 29, 32,
136 32, 20, 18, 24, 21, 16, 27, 33, 39, 18,
137 34, 24, 20, 67, 34, 35, 46, 22, 35, 43,
138 55, 33, 20, 31, 29, 44, 36, 30, 23, 23,
139 57, 39, 34, 34, 28, 34, 31, 22, 33, 26,
140 },
141 // Exodus
142 {
143 22, 25, 22, 31, 23, 30, 29, 32, 35, 29,
144 10, 51, 22, 31, 27, 36, 16, 27, 25, 26,
145 37, 31, 33, 18, 40, 37, 21, 43, 46, 38,
146 18, 35, 23, 35, 35, 40, 21, 29, 23, 38,
147 },
148 // Leviticus
149 {
150 17, 16, 17, 35, 26, 40, 38, 36, 24, 20,
151 47, 8, 59, 57, 33, 34, 16, 30, 37, 27,
152 24, 33, 44, 23, 55, 46, 34,
153 },
154 // Numbers
155 {
156 54, 34, 51, 49, 31, 27, 89, 26, 23, 36,
157 35, 16, 34, 45, 41, 50, 28, 32, 22, 29,
158 35, 41, 30, 25, 18, 65, 23, 31, 40, 17,
159 54, 42, 56, 29, 34, 13,
160 },
161 // Deuteronomy
162 {
163 46, 37, 29, 49, 33, 25, 26, 20, 29, 22,
164 32, 32, 19, 29, 23, 22, 20, 22, 21, 20,
165 23, 30, 26, 24, 19, 19, 27, 69, 29, 20,
166 30, 52, 29, 12,
167 },
168 // Joshua
169 {
170 18, 24, 17, 24, 16, 27, 26, 35, 33, 43,
171 23, 24, 33, 15, 64, 10, 18, 28, 54, 9,
172 49, 34, 16, 36,
173 },
174 // Judges
175 {
176 36, 23, 31, 24, 32, 40, 25, 35, 57, 18,
177 40, 15, 25, 20, 20, 31, 13, 32, 30, 48,
178 25,
179 },
180 // Ruth
181 {
182 22, 23, 18, 22,
183 },
184 // I Samuel
185 {
186 28, 36, 21, 22, 12, 21, 17, 22, 27, 27,
187 15, 25, 23, 52, 35, 23, 58, 30, 24, 43,
188 16, 23, 29, 23, 44, 25, 12, 25, 11, 32,
189 13,
190 },
191 // II Samuel
192 {
193 27, 32, 39, 12, 26, 23, 29, 18, 13, 19,
194 27, 31, 39, 33, 37, 23, 29, 33, 44, 26,
195 22, 51, 41, 25,
196 },
197 // I Kings
198 {
199 53, 71, 39, 34, 32, 38, 51, 66, 28, 33,
200 44, 54, 34, 31, 34, 42, 24, 46, 21, 43,
201 43, 54,
202 },
203 // II Kings
204 {
205 22, 25, 27, 44, 27, 35, 20, 29, 37, 36,
206 21, 22, 25, 29, 38, 20, 41, 37, 37, 21,
207 26, 20, 37, 20, 30,
208 },
209 // I Chronicles
210 {
211 54, 55, 24, 43, 41, 81, 40, 40, 44, 14,
212 47, 41, 14, 17, 29, 43, 27, 17, 19, 8,
213 30, 19, 32, 31, 31, 32, 34, 21, 30,
214 },
215 // II Chronicles
216 {
217 18, 18, 17, 23, 14, 42, 22, 18, 31, 19,
218 23, 16, 23, 15, 19, 14, 19, 34, 11, 37,
219 20, 12, 21, 27, 28, 23, 9, 27, 36, 27,
220 21, 33, 25, 33, 31, 31,
221 },
222 // I Esdras
223 {
224 58, 30, 24, 63, 73, 34, 15, 96, 55,
225 },
226 // Ezra
227 {
228 11, 70, 13, 24, 17, 22, 28, 36, 15, 44,
229 },
230 // Nehemiah
231 {
232 11, 20, 37, 23, 19, 19, 73, 18, 38, 40,
233 36, 47, 31,
234 },
235 // Esther
236 {
237 22, 23, 15, 17, 22, 14, 10, 17, 35, 13,
238 17, 7, 30, 19, 24, 24,
239 },
240 // Judith
241 {
242 16, 28, 10, 15, 24, 21, 32, 36, 14, 23,
243 23, 20, 20, 19, 14, 25,
244 },
245 // Tobit
246 {
247 22, 14, 17, 21, 23, 19, 18, 21, 6, 14,
248 19, 22, 19, 15,
249 },
250 // I Maccabees
251 {
252 64, 70, 60, 61, 68, 63, 50, 32, 73, 89,
253 74, 53, 54, 49, 41, 24,
254 },
255 // II Maccabees
256 {
257 36, 32, 40, 50, 27, 31, 42, 36, 29, 38,
258 38, 46, 26, 46, 39,
259 },
260 // III Maccabees
261 {
262 29, 33, 30, 21, 51, 41, 23,
263 },
264 // IV Maccabees
265 {
266 35, 24, 21, 26, 38, 35, 25, 29, 32, 21,
267 27, 20, 27, 20, 32, 25, 24, 24,
268 },
269 // Psalms
270 {
271 6, 13, 9, 9, 13, 11, 18, 10, 40, 8,
272 9, 6, 7, 6, 11, 15, 51, 15, 10, 14,
273 32, 6, 10, 22, 12, 14, 9, 11, 13, 25,
274 11, 22, 23, 28, 13, 40, 23, 14, 18, 14,
275 12, 6, 27, 18, 12, 10, 15, 21, 23, 21,
276 11, 7, 9, 24, 14, 12, 12, 19, 14, 9,
277 13, 12, 11, 14, 20, 8, 36, 37, 7, 24,
278 20, 28, 23, 11, 13, 21, 72, 13, 20, 17,
279 8, 19, 13, 14, 17, 7, 19, 53, 17, 16,
280 16, 5, 23, 11, 13, 12, 9, 9, 5, 8,
281 29, 22, 36, 45, 48, 43, 14, 31, 7, 10,
282 10, 9, 26, 18, 19, 2, 29, 176, 7, 8,
283 9, 4, 8, 5, 7, 5, 6, 8, 8, 3,
284 18, 3, 3, 21, 26, 9, 8, 24, 15, 10,
285 8, 12, 15, 22, 10, 11, 20, 14, 9, 6,
286 7,
287 },
288 // Prayer of Manasses
289 {
290 15,
291 },
292 // Proverbs
293 {
294 35, 23, 38, 28, 23, 40, 28, 37, 25, 33,
295 31, 31, 27, 36, 38, 33, 30, 24, 29, 30,
296 31, 31, 36, 77, 31, 29, 29, 30, 49, 35,
297 31,
298 },
299 // Ecclesiastes
300 {
301 18, 26, 22, 17, 20, 12, 30, 17, 18, 20,
302 10, 14,
303 },
304 // Song of Solomon
305 {
306 17, 17, 11, 16, 17, 13, 14, 15,
307 },
308 // Job
309 {
310 22, 18, 26, 21, 27, 30, 22, 22, 35, 22,
311 20, 25, 28, 22, 35, 23, 16, 21, 29, 29,
312 34, 30, 17, 25, 6, 14, 23, 28, 25, 31,
313 40, 22, 33, 37, 16, 34, 24, 41, 35, 32,
314 34, 22,
315 },
316 // Wisdom
317 {
318 16, 25, 19, 20, 24, 27, 30, 21, 19, 21,
319 27, 27, 19, 31, 19, 29, 21, 25, 22,
320 },
321 // Sirach
322 {
323 30, 18, 31, 31, 15, 37, 36, 19, 18, 31,
324 34, 18, 26, 27, 20, 30, 32, 33, 31, 32,
325 28, 27, 28, 34, 26, 29, 30, 26, 28, 40,
326 31, 26, 33, 31, 26, 31, 31, 35, 35, 30,
327 27, 27, 33, 24, 26, 20, 25, 25, 16, 29,
328 30,
329 },
330 // Psalms of Solomon
331 {
332 8, 41, 16, 29, 22, 9, 10, 40, 20, 9,
333 9, 8, 12, 10, 15, 15, 51, 14,
334 },
335 // Hosea
336 {
337 11, 25, 5, 19, 15, 12, 16, 14, 17, 15,
338 12, 15, 16, 10,
339 },
340 // Amos
341 {
342 15, 16, 15, 13, 27, 15, 17, 14, 15,
343 },
344 // Micah
345 {
346 16, 13, 12, 14, 15, 16, 20,
347 },
348 // Joel
349 {
350 20, 32, 21, 21,
351 },
352 // Obadiah
353 {
354 21,
355 },
356 // Jonah
357 {
358 17, 11, 10, 11,
359 },
360 // Nahum
361 {
362 15, 14, 19,
363 },
364 // Habakkuk
365 {
366 17, 20, 19,
367 },
368 // Zephaniah
369 {
370 18, 15, 21,
371 },
372 // Haggai
373 {
374 15, 24,
375 },
376 // Zechariah
377 {
378 21, 17, 11, 14, 11, 15, 14, 23, 17, 12,
379 17, 14, 9, 21,
380 },
381 // Malachi
382 {
383 14, 17, 24, 6,
384 },
385 // Isaiah
386 {
387 31, 22, 26, 6, 30, 13, 25, 23, 21, 34,
388 16, 6, 22, 32, 9, 14, 14, 7, 25, 6,
389 17, 25, 18, 23, 12, 21, 13, 29, 24, 33,
390 9, 20, 24, 17, 10, 22, 38, 22, 8, 31,
391 29, 25, 28, 28, 26, 13, 15, 22, 26, 11,
392 23, 15, 12, 17, 13, 12, 21, 14, 21, 22,
393 11, 12, 20, 12, 25, 24,
394 },
395 // Jeremiah
396 {
397 19, 37, 25, 31, 31, 30, 34, 23, 26, 25,
398 23, 17, 27, 22, 21, 21, 27, 23, 15, 18,
399 14, 30, 42, 10, 39, 28, 46, 64, 31, 33,
400 47, 44, 24, 22, 19, 32, 24, 40, 44, 26,
401 22, 22, 32, 30, 28, 28, 16, 44, 38, 46,
402 63, 34,
403 },
404 // Baruch
405 {
406 22, 35, 38, 37, 9,
407 },
408 // Lamentations
409 {
410 22, 22, 66, 22, 22,
411 },
412 // Epistle of Jeremiah
413 {
414 73,
415 },
416 // Ezekiel
417 {
418 28, 13, 27, 17, 17, 14, 27, 18, 11, 22,
419 25, 28, 23, 23, 8, 63, 24, 32, 14, 49,
420 37, 31, 49, 27, 17, 21, 36, 26, 21, 26,
421 18, 32, 33, 31, 15, 38, 28, 23, 29, 49,
422 26, 20, 27, 31, 25, 24, 23, 35,
423 },
424 // Prayer of Azariah
425 {
426 68,
427 },
428 // Susanna
429 {
430 64,
431 },
432 // Daniel
433 {
434 21, 49, 100, 37, 31, 29, 28, 27, 27, 21,
435 45, 13,
436 },
437 // Bel and the Dragon
438 {
439 42,
440 },
441 // I Enoch
442 {
443 9, 3, 1, 1, 10, 8, 6, 4, 11, 22,
444 2, 6, 10, 25, 12, 4, 8, 16, 3, 8,
445 10, 14, 4, 6, 7, 6, 5, 3, 2, 3,
446 3, 6, 4, 3, 1, 4, 6, 6, 14, 10,
447 9, 3, 4, 1, 6, 8, 4, 10, 4, 5,
448 5, 9, 7, 10, 4, 8, 3, 6, 3, 25,
449 13, 16, 12, 2, 12, 3, 13, 5, 30, 4,
450 17, 37, 8, 17, 9, 14, 9, 17, 6, 8,
451 10, 20, 11, 6, 10, 6, 4, 3, 77, 43,
452 19, 17, 14, 11, 7, 8, 10, 16, 16, 13,
453 9, 11, 15, 13, 2, 19, 3, 15,
454 },
455 // Odes
456 {
457 19, 43, 10, 20, 20, 19, 45, 88, 79, 88,
458 55, 32, 79, 46,
459 },
460 };
461
462 /* protected */ static final int[][] LAST_VERSE_NT =
463 {
464 // Matthew
465 {
466 25, 23, 17, 25, 48, 34, 29, 34, 38, 42,
467 30, 50, 58, 36, 39, 28, 27, 35, 30, 34,
468 46, 46, 39, 51, 46, 75, 66, 20,
469 },
470 // Mark
471 {
472 45, 28, 35, 41, 43, 56, 37, 38, 50, 52,
473 33, 44, 37, 72, 47, 20,
474 },
475 // Luke
476 {
477 80, 52, 38, 44, 39, 49, 50, 56, 62, 42,
478 54, 59, 35, 35, 32, 31, 37, 43, 48, 47,
479 38, 71, 56, 53,
480 },
481 // John
482 {
483 52, 25, 36, 54, 47, 71, 53, 59, 41, 42,
484 57, 50, 38, 31, 27, 33, 26, 40, 42, 31,
485 25,
486 },
487 // Acts
488 {
489 26, 47, 26, 37, 42, 15, 60, 40, 43, 48,
490 30, 25, 52, 28, 41, 40, 34, 28, 41, 38,
491 40, 30, 35, 27, 27, 32, 44, 31,
492 },
493 // Romans
494 {
495 32, 29, 31, 25, 21, 23, 25, 39, 33, 21,
496 36, 21, 14, 26, 33, 27,
497 },
498 // I Corinthians
499 {
500 31, 16, 23, 21, 13, 20, 40, 13, 27, 33,
501 34, 31, 13, 40, 58, 24,
502 },
503 // II Corinthians
504 {
505 24, 17, 18, 18, 21, 18, 16, 24, 15, 18,
506 33, 21, 14,
507 },
508 // Galatians
509 {
510 24, 21, 29, 31, 26, 18,
511 },
512 // Ephesians
513 {
514 23, 22, 21, 32, 33, 24,
515 },
516 // Philippians
517 {
518 30, 30, 21, 23,
519 },
520 // Colossians
521 {
522 29, 23, 25, 18,
523 },
524 // I Thessalonians
525 {
526 10, 20, 13, 18, 28,
527 },
528 // II Thessalonians
529 {
530 12, 17, 18,
531 },
532 // I Timothy
533 {
534 20, 15, 16, 16, 25, 21,
535 },
536 // II Timothy
537 {
538 18, 26, 17, 22,
539 },
540 // Titus
541 {
542 16, 15, 15,
543 },
544 // Philemon
545 {
546 25,
547 },
548 // Hebrews
549 {
550 14, 18, 19, 16, 14, 20, 28, 13, 28, 39,
551 40, 29, 25,
552 },
553 // James
554 {
555 27, 26, 18, 17, 20,
556 },
557 // I Peter
558 {
559 25, 25, 22, 19, 14,
560 },
561 // II Peter
562 {
563 21, 22, 18,
564 },
565 // I John
566 {
567 10, 29, 24, 21, 21,
568 },
569 // II John
570 {
571 13,
572 },
573 // III John
574 {
575 15,
576 },
577 // Jude
578 {
579 25,
580 },
581 // Revelation of John
582 {
583 20, 29, 22, 11, 14, 17, 17, 13, 21, 11,
584 19, 18, 18, 20, 9, 21, 18, 24, 21, 15,
585 27, 21
586 },
587 };
588
589 /**
590 * Serialization ID
591 */
592 private static final long serialVersionUID = 3365882007485277007L;
593 }
594