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