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 Masoretic Text (MT) versification differs from the Leningrad Codex
27   * versification only in the placement of 1 and 2 Chronicles.
28   * The Masoretic Text puts it after Nehemiah at the end of the
29   * Old Testament, while the Leningrad Codex places them between
30   * Malachi and Psalms.
31   *
32   * @see gnu.lgpl.License The GNU Lesser General Public License for details.
33   * @author DM Smith
34   */
35  public class SystemMT extends Versification {
36      /**
37       * Build the "MT" Versification.
38       */
39      /* protected */ SystemMT() {
40          super(V11N_NAME, BOOKS_OT, BOOKS_NT, LAST_VERSE_OT, LAST_VERSE_NT);
41      }
42  
43      public static final String V11N_NAME = "MT";
44  
45      // Different ordering of SystemDefault.booksOT
46      /* protected */ static final BibleBook[] BOOKS_OT =
47      {
48          BibleBook.GEN,
49          BibleBook.EXOD,
50          BibleBook.LEV,
51          BibleBook.NUM,
52          BibleBook.DEUT,
53          BibleBook.JOSH,
54          BibleBook.JUDG,
55          BibleBook.SAM1,
56          BibleBook.SAM2,
57          BibleBook.KGS1,
58          BibleBook.KGS2,
59          BibleBook.ISA,
60          BibleBook.JER,
61          BibleBook.EZEK,
62          BibleBook.HOS,
63          BibleBook.JOEL,
64          BibleBook.AMOS,
65          BibleBook.OBAD,
66          BibleBook.JONAH,
67          BibleBook.MIC,
68          BibleBook.NAH,
69          BibleBook.HAB,
70          BibleBook.ZEPH,
71          BibleBook.HAG,
72          BibleBook.ZECH,
73          BibleBook.MAL,
74          BibleBook.PS,
75          BibleBook.JOB,
76          BibleBook.PROV,
77          BibleBook.RUTH,
78          BibleBook.SONG,
79          BibleBook.ECCL,
80          BibleBook.LAM,
81          BibleBook.ESTH,
82          BibleBook.DAN,
83          BibleBook.EZRA,
84          BibleBook.NEH,
85          BibleBook.CHR1,
86          BibleBook.CHR2,
87      };
88  
89      /* protected */ static final BibleBook[] BOOKS_NT = SystemDefault.BOOKS_NONE;
90  
91      /* protected */ static final int[][] LAST_VERSE_OT =
92      {
93          // Genesis
94          {
95             31,  25,  24,  26,  32,  22,  24,  22,  29,  32,
96             32,  20,  18,  24,  21,  16,  27,  33,  38,  18,
97             34,  24,  20,  67,  34,  35,  46,  22,  35,  43,
98             54,  33,  20,  31,  29,  43,  36,  30,  23,  23,
99             57,  38,  34,  34,  28,  34,  31,  22,  33,  26,
100         },
101         // Exodus
102         {
103            22,  25,  22,  31,  23,  30,  29,  28,  35,  29,
104            10,  51,  22,  31,  27,  36,  16,  27,  25,  26,
105            37,  30,  33,  18,  40,  37,  21,  43,  46,  38,
106            18,  35,  23,  35,  35,  38,  29,  31,  43,  38,
107         },
108         // Leviticus
109         {
110            17,  16,  17,  35,  26,  23,  38,  36,  24,  20,
111            47,   8,  59,  57,  33,  34,  16,  30,  37,  27,
112            24,  33,  44,  23,  55,  46,  34,
113         },
114         // Numbers
115         {
116            54,  34,  51,  49,  31,  27,  89,  26,  23,  36,
117            35,  16,  33,  45,  41,  35,  28,  32,  22,  29,
118            35,  41,  30,  25,  19,  65,  23,  31,  39,  17,
119            54,  42,  56,  29,  34,  13,
120         },
121         // Deuteronomy
122         {
123            46,  37,  29,  49,  33,  25,  26,  20,  29,  22,
124            32,  31,  19,  29,  23,  22,  20,  22,  21,  20,
125            23,  29,  26,  22,  19,  19,  26,  69,  28,  20,
126            30,  52,  29,  12,
127         },
128         // Joshua
129         {
130            18,  24,  17,  24,  15,  27,  26,  35,  27,  43,
131            23,  24,  33,  15,  63,  10,  18,  28,  51,   9,
132            45,  34,  16,  33,
133         },
134         // Judges
135         {
136            36,  23,  31,  24,  31,  40,  25,  35,  57,  18,
137            40,  15,  25,  20,  20,  31,  13,  31,  30,  48,
138            25,
139         },
140         // I Samuel
141         {
142            28,  36,  21,  22,  12,  21,  17,  22,  27,  27,
143            15,  25,  23,  52,  35,  23,  58,  30,  24,  42,
144            16,  23,  28,  23,  44,  25,  12,  25,  11,  31,
145            13,
146         },
147         // II Samuel
148         {
149            27,  32,  39,  12,  25,  23,  29,  18,  13,  19,
150            27,  31,  39,  33,  37,  23,  29,  32,  44,  26,
151            22,  51,  39,  25,
152         },
153         // I Kings
154         {
155            53,  46,  28,  20,  32,  38,  51,  66,  28,  29,
156            43,  33,  34,  31,  34,  34,  24,  46,  21,  43,
157            29,  54,
158         },
159         // II Kings
160         {
161            18,  25,  27,  44,  27,  33,  20,  29,  37,  36,
162            20,  22,  25,  29,  38,  20,  41,  37,  37,  21,
163            26,  20,  37,  20,  30,
164         },
165         // Isaiah
166         {
167            31,  22,  26,   6,  30,  13,  25,  23,  20,  34,
168            16,   6,  22,  32,   9,  14,  14,   7,  25,   6,
169            17,  25,  18,  23,  12,  21,  13,  29,  24,  33,
170             9,  20,  24,  17,  10,  22,  38,  22,   8,  31,
171            29,  25,  28,  28,  25,  13,  15,  22,  26,  11,
172            23,  15,  12,  17,  13,  12,  21,  14,  21,  22,
173            11,  12,  19,  11,  25,  24,
174         },
175         // Jeremiah
176         {
177            19,  37,  25,  31,  31,  30,  34,  23,  25,  25,
178            23,  17,  27,  22,  21,  21,  27,  23,  15,  18,
179            14,  30,  40,  10,  38,  24,  22,  17,  32,  24,
180            40,  44,  26,  22,  19,  32,  21,  28,  18,  16,
181            18,  22,  13,  30,   5,  28,   7,  47,  39,  46,
182            64,  34,
183         },
184         // Ezekiel
185         {
186            28,  10,  27,  17,  17,  14,  27,  18,  11,  22,
187            25,  28,  23,  23,   8,  63,  24,  32,  14,  44,
188            37,  31,  49,  27,  17,  21,  36,  26,  21,  26,
189            18,  32,  33,  31,  15,  38,  28,  23,  29,  49,
190            26,  20,  27,  31,  25,  24,  23,  35,
191         },
192         // Hosea
193         {
194             9,  25,   5,  19,  15,  11,  16,  14,  17,  15,
195            11,  15,  15,  10,
196         },
197         // Joel
198         {
199            20,  27,   5,  21,
200         },
201         // Amos
202         {
203            15,  16,  15,  13,  27,  14,  17,  14,  15,
204         },
205         // Obadiah
206         {
207            21,
208         },
209         // Jonah
210         {
211            16,  11,  10,  11,
212         },
213         // Micah
214         {
215            16,  13,  12,  14,  14,  16,  20,
216         },
217         // Nahum
218         {
219            14,  14,  19,
220         },
221         // Habakkuk
222         {
223            17,  20,  19,
224         },
225         // Zephaniah
226         {
227            18,  15,  20,
228         },
229         // Haggai
230         {
231            15,  23,
232         },
233         // Zechariah
234         {
235            17,  17,  10,  14,  11,  15,  14,  23,  17,  12,
236            17,  14,   9,  21,
237         },
238         // Malachi
239         {
240            14,  17,  24,
241         },
242         // Psalms
243         {
244             6,  12,   9,   9,  13,  11,  18,  10,  21,  18,
245             7,   9,   6,   7,   5,  11,  15,  51,  15,  10,
246            14,  32,   6,  10,  22,  12,  14,   9,  11,  13,
247            25,  11,  22,  23,  28,  13,  40,  23,  14,  18,
248            14,  12,   5,  27,  18,  12,  10,  15,  21,  23,
249            21,  11,   7,   9,  24,  14,  12,  12,  18,  14,
250             9,  13,  12,  11,  14,  20,   8,  36,  37,   6,
251            24,  20,  28,  23,  11,  13,  21,  72,  13,  20,
252            17,   8,  19,  13,  14,  17,   7,  19,  53,  17,
253            16,  16,   5,  23,  11,  13,  12,   9,   9,   5,
254             8,  29,  22,  35,  45,  48,  43,  14,  31,   7,
255            10,  10,   9,   8,  18,  19,   2,  29, 176,   7,
256             8,   9,   4,   8,   5,   6,   5,   6,   8,   8,
257             3,  18,   3,   3,  21,  26,   9,   8,  24,  14,
258            10,   8,  12,  15,  21,  10,  20,  14,   9,   6,
259         },
260         // Job
261         {
262            22,  13,  26,  21,  27,  30,  21,  22,  35,  22,
263            20,  25,  28,  22,  35,  22,  16,  21,  29,  29,
264            34,  30,  17,  25,   6,  14,  23,  28,  25,  31,
265            40,  22,  33,  37,  16,  33,  24,  41,  30,  32,
266            26,  17,
267         },
268         // Proverbs
269         {
270            33,  22,  35,  27,  23,  35,  27,  36,  18,  32,
271            31,  28,  25,  35,  33,  33,  28,  24,  29,  30,
272            31,  29,  35,  34,  28,  28,  27,  28,  27,  33,
273            31,
274         },
275         // Ruth
276         {
277            22,  23,  18,  22,
278         },
279         // Song of Solomon
280         {
281            17,  17,  11,  16,  16,  12,  14,  14,
282         },
283         // Ecclesiastes
284         {
285            18,  26,  22,  17,  19,  12,  29,  17,  18,  20,
286            10,  14,
287         },
288         // Lamentations
289         {
290            22,  22,  66,  22,  22,
291         },
292         // Esther
293         {
294            22,  23,  15,  17,  14,  14,  10,  17,  32,   3,
295         },
296         // Daniel
297         {
298            21,  49,  33,  34,  30,  29,  28,  27,  27,  21,
299            45,  13,
300         },
301         // Ezra
302         {
303            11,  70,  13,  24,  17,  22,  28,  36,  15,  44,
304         },
305         // Nehemiah
306         {
307            11,  20,  38,  17,  19,  19,  72,  18,  37,  40,
308            36,  47,  31,
309         },
310         // I Chronicles
311         {
312            54,  55,  24,  43,  41,  66,  40,  40,  44,  14,
313            47,  41,  14,  17,  29,  43,  27,  17,  19,   8,
314            30,  19,  32,  31,  31,  32,  34,  21,  30,
315         },
316         // II Chronicles
317         {
318            18,  17,  17,  22,  14,  42,  22,  18,  31,  19,
319            23,  16,  23,  14,  19,  14,  19,  34,  11,  37,
320            20,  12,  21,  27,  28,  23,   9,  27,  36,  27,
321            21,  33,  25,  33,  27,  23,
322         },
323     };
324 
325     /* protected */ static final int[][] LAST_VERSE_NT = SystemDefault.LAST_VERSE_NONE;
326 
327     /**
328      * Serialization ID
329      */
330     private static final long serialVersionUID = -3679238882055120660L;
331 }
332