PostgreSQL Source Code  git master
ISBN.h
Go to the documentation of this file.
1 /*
2  * ISBN.h
3  * PostgreSQL type definitions for ISNs (ISBN, ISMN, ISSN, EAN13, UPC)
4  *
5  * Information recompiled by Kronuz on June 20, 2006
6  * http://www.isbn-international.org/
7  * http://www.isbn.org/
8  *
9  * IDENTIFICATION
10  * contrib/isn/ISBN.h
11  *
12  * 0-393-04002-X => 039304002(X) <=> 039304002 <=> (978)039304002 <=> 978039304002(9) <=> 978-0-393-04002-9
13  *
14  *
15  * ISBN 0 3 9 3 0 4 0 0 2
16  * Weight 10 9 8 7 6 5 4 3 2
17  * Product 0 + 27 + 72 + 21 + 0 + 20 + 0 + 0 + 4 = 144
18  * 144 / 11 = 13 remainder 1
19  * Check digit 11 - 1 = 10 = X
20  * => 0-393-04002-X
21  *
22  * ISBN 9 7 8 0 3 9 3 0 4 0 0 2
23  * Weight 1 3 1 3 1 3 1 3 1 3 1 3
24  * Product 9 + 21 + 8 + 0 + 3 + 27 + 3 + 0 + 4 + 0 + 0 + 6 = 81
25  * 81 / 10 = 8 remainder 1
26  * Check digit 10 - 1 = 9
27  * => 978-0-393-04002-9
28  *
29  */
30 
31 /*
32  * For ISBN with prefix 978
33  * Range Table as of 2010-Jul-29
34  */
35 
36 /* where the digit set begins, and how many of them are in the table */
37 static const unsigned ISBN_index[10][2] = {
38  {0, 6},
39  {6, 6},
40  {12, 8},
41  {20, 14},
42  {34, 6},
43  {40, 19},
44  {59, 68},
45  {127, 5},
46  {132, 60},
47  {192, 718},
48 };
49 
50 static const char *ISBN_range[][2] = {
51  {"0-00", "0-19"},
52  {"0-200", "0-699"},
53  {"0-7000", "0-8499"},
54  {"0-85000", "0-89999"},
55  {"0-900000", "0-949999"},
56  {"0-9500000", "0-9999999"},
57  {"1-00", "1-09"},
58  {"1-100", "1-399"},
59  {"1-4000", "1-5499"},
60  {"1-55000", "1-86979"},
61  {"1-869800", "1-998999"},
62  {"1-9990000", "1-9999999"},
63  {"2-00", "2-19"},
64  {"2-200", "2-349"},
65  {"2-35000", "2-39999"},
66  {"2-400", "2-699"},
67  {"2-7000", "2-8399"},
68  {"2-84000", "2-89999"},
69  {"2-900000", "2-949999"},
70  {"2-9500000", "2-9999999"},
71  {"3-00", "3-02"},
72  {"3-030", "3-033"},
73  {"3-0340", "3-0369"},
74  {"3-03700", "3-03999"},
75  {"3-04", "3-19"},
76  {"3-200", "3-699"},
77  {"3-7000", "3-8499"},
78  {"3-85000", "3-89999"},
79  {"3-900000", "3-949999"},
80  {"3-9500000", "3-9539999"},
81  {"3-95400", "3-96999"},
82  {"3-9700000", "3-9899999"},
83  {"3-99000", "3-99499"},
84  {"3-99500", "3-99999"},
85  {"4-00", "4-19"},
86  {"4-200", "4-699"},
87  {"4-7000", "4-8499"},
88  {"4-85000", "4-89999"},
89  {"4-900000", "4-949999"},
90  {"4-9500000", "4-9999999"},
91  {"5-00", "5-19"},
92  {"5-200", "5-420"},
93  {"5-4210", "5-4299"},
94  {"5-430", "5-430"},
95  {"5-4310", "5-4399"},
96  {"5-440", "5-440"},
97  {"5-4410", "5-4499"},
98  {"5-450", "5-699"},
99  {"5-7000", "5-8499"},
100  {"5-85000", "5-89999"},
101  {"5-900000", "5-909999"},
102  {"5-91000", "5-91999"},
103  {"5-9200", "5-9299"},
104  {"5-93000", "5-94999"},
105  {"5-9500000", "5-9500999"},
106  {"5-9501", "5-9799"},
107  {"5-98000", "5-98999"},
108  {"5-9900000", "5-9909999"},
109  {"5-9910", "5-9999"},
110  {"600-00", "600-09"},
111  {"600-100", "600-499"},
112  {"600-5000", "600-8999"},
113  {"600-90000", "600-99999"},
114  {"601-00", "601-19"},
115  {"601-200", "601-699"},
116  {"601-7000", "601-7999"},
117  {"601-80000", "601-84999"},
118  {"601-85", "601-99"},
119  {"602-00", "602-19"},
120  {"602-200", "602-799"},
121  {"602-8000", "602-9499"},
122  {"602-95000", "602-99999"},
123  {"603-00", "603-04"},
124  {"603-05", "603-49"},
125  {"603-500", "603-799"},
126  {"603-8000", "603-8999"},
127  {"603-90000", "603-99999"},
128  {"604-0", "604-4"},
129  {"604-50", "604-89"},
130  {"604-900", "604-979"},
131  {"604-9800", "604-9999"},
132  {"605-01", "605-09"},
133  {"605-100", "605-399"},
134  {"605-4000", "605-5999"},
135  {"605-60000", "605-89999"},
136  {"605-90", "605-99"},
137  {"606-0", "606-0"},
138  {"606-10", "606-49"},
139  {"606-500", "606-799"},
140  {"606-8000", "606-9199"},
141  {"606-92000", "606-99999"},
142  {"607-00", "607-39"},
143  {"607-400", "607-749"},
144  {"607-7500", "607-9499"},
145  {"607-95000", "607-99999"},
146  {"608-0", "608-0"},
147  {"608-10", "608-19"},
148  {"608-200", "608-449"},
149  {"608-4500", "608-6499"},
150  {"608-65000", "608-69999"},
151  {"608-7", "608-9"},
152  {"609-00", "609-39"},
153  {"609-400", "609-799"},
154  {"609-8000", "609-9499"},
155  {"609-95000", "609-99999"},
156  {"612-00", "612-29"},
157  {"612-300", "612-399"},
158  {"612-4000", "612-4499"},
159  {"612-45000", "612-49999"},
160  {"612-50", "612-99"},
161  {"613-0", "613-9"},
162  {"614-00", "614-39"},
163  {"614-400", "614-799"},
164  {"614-8000", "614-9499"},
165  {"614-95000", "614-99999"},
166  {"615-00", "615-09"},
167  {"615-100", "615-499"},
168  {"615-5000", "615-7999"},
169  {"615-80000", "615-89999"},
170  {"616-00", "616-19"},
171  {"616-200", "616-699"},
172  {"616-7000", "616-8999"},
173  {"616-90000", "616-99999"},
174  {"617-00", "617-49"},
175  {"617-500", "617-699"},
176  {"617-7000", "617-8999"},
177  {"617-90000", "617-99999"},
178  {"7-00", "7-09"},
179  {"7-100", "7-499"},
180  {"7-5000", "7-7999"},
181  {"7-80000", "7-89999"},
182  {"7-900000", "7-999999"},
183  {"80-00", "80-19"},
184  {"80-200", "80-699"},
185  {"80-7000", "80-8499"},
186  {"80-85000", "80-89999"},
187  {"80-900000", "80-999999"},
188  {"81-00", "81-19"},
189  {"81-200", "81-699"},
190  {"81-7000", "81-8499"},
191  {"81-85000", "81-89999"},
192  {"81-900000", "81-999999"},
193  {"82-00", "82-19"},
194  {"82-200", "82-699"},
195  {"82-7000", "82-8999"},
196  {"82-90000", "82-98999"},
197  {"82-990000", "82-999999"},
198  {"83-00", "83-19"},
199  {"83-200", "83-599"},
200  {"83-60000", "83-69999"},
201  {"83-7000", "83-8499"},
202  {"83-85000", "83-89999"},
203  {"83-900000", "83-999999"},
204  {"84-00", "84-14"},
205  {"84-15000", "84-19999"},
206  {"84-200", "84-699"},
207  {"84-7000", "84-8499"},
208  {"84-85000", "84-89999"},
209  {"84-9000", "84-9199"},
210  {"84-920000", "84-923999"},
211  {"84-92400", "84-92999"},
212  {"84-930000", "84-949999"},
213  {"84-95000", "84-96999"},
214  {"84-9700", "84-9999"},
215  {"85-00", "85-19"},
216  {"85-200", "85-599"},
217  {"85-60000", "85-69999"},
218  {"85-7000", "85-8499"},
219  {"85-85000", "85-89999"},
220  {"85-900000", "85-979999"},
221  {"85-98000", "85-99999"},
222  {"86-00", "86-29"},
223  {"86-300", "86-599"},
224  {"86-6000", "86-7999"},
225  {"86-80000", "86-89999"},
226  {"86-900000", "86-999999"},
227  {"87-00", "87-29"},
228  {"87-400", "87-649"},
229  {"87-7000", "87-7999"},
230  {"87-85000", "87-94999"},
231  {"87-970000", "87-999999"},
232  {"88-00", "88-19"},
233  {"88-200", "88-599"},
234  {"88-6000", "88-8499"},
235  {"88-85000", "88-89999"},
236  {"88-900000", "88-949999"},
237  {"88-95000", "88-99999"},
238  {"89-00", "89-24"},
239  {"89-250", "89-549"},
240  {"89-5500", "89-8499"},
241  {"89-85000", "89-94999"},
242  {"89-950000", "89-999999"},
243  {"90-00", "90-19"},
244  {"90-200", "90-499"},
245  {"90-5000", "90-6999"},
246  {"90-70000", "90-79999"},
247  {"90-800000", "90-849999"},
248  {"90-8500", "90-8999"},
249  {"90-90", "90-90"},
250  {"90-910000", "90-939999"},
251  {"90-94", "90-94"},
252  {"90-950000", "90-999999"},
253  {"91-0", "91-1"},
254  {"91-20", "91-49"},
255  {"91-500", "91-649"},
256  {"91-7000", "91-7999"},
257  {"91-85000", "91-94999"},
258  {"91-970000", "91-999999"},
259  {"92-0", "92-5"},
260  {"92-60", "92-79"},
261  {"92-800", "92-899"},
262  {"92-9000", "92-9499"},
263  {"92-95000", "92-98999"},
264  {"92-990000", "92-999999"},
265  {"93-00", "93-09"},
266  {"93-100", "93-499"},
267  {"93-5000", "93-7999"},
268  {"93-80000", "93-94999"},
269  {"93-950000", "93-999999"},
270  {"94-000", "94-599"},
271  {"94-6000", "94-8999"},
272  {"94-90000", "94-99999"},
273  {"950-00", "950-49"},
274  {"950-500", "950-899"},
275  {"950-9000", "950-9899"},
276  {"950-99000", "950-99999"},
277  {"951-0", "951-1"},
278  {"951-20", "951-54"},
279  {"951-550", "951-889"},
280  {"951-8900", "951-9499"},
281  {"951-95000", "951-99999"},
282  {"952-00", "952-19"},
283  {"952-200", "952-499"},
284  {"952-5000", "952-5999"},
285  {"952-60", "952-65"},
286  {"952-6600", "952-6699"},
287  {"952-67000", "952-69999"},
288  {"952-7000", "952-7999"},
289  {"952-80", "952-94"},
290  {"952-9500", "952-9899"},
291  {"952-99000", "952-99999"},
292  {"953-0", "953-0"},
293  {"953-10", "953-14"},
294  {"953-150", "953-549"},
295  {"953-55000", "953-59999"},
296  {"953-6000", "953-9499"},
297  {"953-95000", "953-99999"},
298  {"954-00", "954-28"},
299  {"954-2900", "954-2999"},
300  {"954-300", "954-799"},
301  {"954-8000", "954-8999"},
302  {"954-90000", "954-92999"},
303  {"954-9300", "954-9999"},
304  {"955-0000", "955-1999"},
305  {"955-20", "955-49"},
306  {"955-50000", "955-54999"},
307  {"955-550", "955-799"},
308  {"955-8000", "955-9499"},
309  {"955-95000", "955-99999"},
310  {"956-00", "956-19"},
311  {"956-200", "956-699"},
312  {"956-7000", "956-9999"},
313  {"957-00", "957-02"},
314  {"957-0300", "957-0499"},
315  {"957-05", "957-19"},
316  {"957-2000", "957-2099"},
317  {"957-21", "957-27"},
318  {"957-28000", "957-30999"},
319  {"957-31", "957-43"},
320  {"957-440", "957-819"},
321  {"957-8200", "957-9699"},
322  {"957-97000", "957-99999"},
323  {"958-00", "958-56"},
324  {"958-57000", "958-59999"},
325  {"958-600", "958-799"},
326  {"958-8000", "958-9499"},
327  {"958-95000", "958-99999"},
328  {"959-00", "959-19"},
329  {"959-200", "959-699"},
330  {"959-7000", "959-8499"},
331  {"959-85000", "959-99999"},
332  {"960-00", "960-19"},
333  {"960-200", "960-659"},
334  {"960-6600", "960-6899"},
335  {"960-690", "960-699"},
336  {"960-7000", "960-8499"},
337  {"960-85000", "960-92999"},
338  {"960-93", "960-93"},
339  {"960-9400", "960-9799"},
340  {"960-98000", "960-99999"},
341  {"961-00", "961-19"},
342  {"961-200", "961-599"},
343  {"961-6000", "961-8999"},
344  {"961-90000", "961-94999"},
345  {"962-00", "962-19"},
346  {"962-200", "962-699"},
347  {"962-7000", "962-8499"},
348  {"962-85000", "962-86999"},
349  {"962-8700", "962-8999"},
350  {"962-900", "962-999"},
351  {"963-00", "963-19"},
352  {"963-200", "963-699"},
353  {"963-7000", "963-8499"},
354  {"963-85000", "963-89999"},
355  {"963-9000", "963-9999"},
356  {"964-00", "964-14"},
357  {"964-150", "964-249"},
358  {"964-2500", "964-2999"},
359  {"964-300", "964-549"},
360  {"964-5500", "964-8999"},
361  {"964-90000", "964-96999"},
362  {"964-970", "964-989"},
363  {"964-9900", "964-9999"},
364  {"965-00", "965-19"},
365  {"965-200", "965-599"},
366  {"965-7000", "965-7999"},
367  {"965-90000", "965-99999"},
368  {"966-00", "966-14"},
369  {"966-1500", "966-1699"},
370  {"966-170", "966-199"},
371  {"966-2000", "966-2999"},
372  {"966-300", "966-699"},
373  {"966-7000", "966-8999"},
374  {"966-90000", "966-99999"},
375  {"967-00", "967-29"},
376  {"967-300", "967-499"},
377  {"967-5000", "967-5999"},
378  {"967-60", "967-89"},
379  {"967-900", "967-989"},
380  {"967-9900", "967-9989"},
381  {"967-99900", "967-99999"},
382  {"968-01", "968-39"},
383  {"968-400", "968-499"},
384  {"968-5000", "968-7999"},
385  {"968-800", "968-899"},
386  {"968-9000", "968-9999"},
387  {"969-0", "969-1"},
388  {"969-20", "969-39"},
389  {"969-400", "969-799"},
390  {"969-8000", "969-9999"},
391  {"970-01", "970-59"},
392  {"970-600", "970-899"},
393  {"970-9000", "970-9099"},
394  {"970-91000", "970-96999"},
395  {"970-9700", "970-9999"},
396  {"971-000", "971-015"},
397  {"971-0160", "971-0199"},
398  {"971-02", "971-02"},
399  {"971-0300", "971-0599"},
400  {"971-06", "971-09"},
401  {"971-10", "971-49"},
402  {"971-500", "971-849"},
403  {"971-8500", "971-9099"},
404  {"971-91000", "971-98999"},
405  {"971-9900", "971-9999"},
406  {"972-0", "972-1"},
407  {"972-20", "972-54"},
408  {"972-550", "972-799"},
409  {"972-8000", "972-9499"},
410  {"972-95000", "972-99999"},
411  {"973-0", "973-0"},
412  {"973-100", "973-169"},
413  {"973-1700", "973-1999"},
414  {"973-20", "973-54"},
415  {"973-550", "973-759"},
416  {"973-7600", "973-8499"},
417  {"973-85000", "973-88999"},
418  {"973-8900", "973-9499"},
419  {"973-95000", "973-99999"},
420  {"974-00", "974-19"},
421  {"974-200", "974-699"},
422  {"974-7000", "974-8499"},
423  {"974-85000", "974-89999"},
424  {"974-90000", "974-94999"},
425  {"974-9500", "974-9999"},
426  {"975-00000", "975-00999"},
427  {"975-01", "975-01"},
428  {"975-02", "975-24"},
429  {"975-250", "975-599"},
430  {"975-6000", "975-9199"},
431  {"975-92000", "975-98999"},
432  {"975-990", "975-999"},
433  {"976-0", "976-3"},
434  {"976-40", "976-59"},
435  {"976-600", "976-799"},
436  {"976-8000", "976-9499"},
437  {"976-95000", "976-99999"},
438  {"977-00", "977-19"},
439  {"977-200", "977-499"},
440  {"977-5000", "977-6999"},
441  {"977-700", "977-999"},
442  {"978-000", "978-199"},
443  {"978-2000", "978-2999"},
444  {"978-30000", "978-79999"},
445  {"978-8000", "978-8999"},
446  {"978-900", "978-999"},
447  {"979-000", "979-099"},
448  {"979-1000", "979-1499"},
449  {"979-15000", "979-19999"},
450  {"979-20", "979-29"},
451  {"979-3000", "979-3999"},
452  {"979-400", "979-799"},
453  {"979-8000", "979-9499"},
454  {"979-95000", "979-99999"},
455  {"980-00", "980-19"},
456  {"980-200", "980-599"},
457  {"980-6000", "980-9999"},
458  {"981-00", "981-11"},
459  {"981-1200", "981-1999"},
460  {"981-200", "981-289"},
461  {"981-2900", "981-9999"},
462  {"982-00", "982-09"},
463  {"982-100", "982-699"},
464  {"982-70", "982-89"},
465  {"982-9000", "982-9799"},
466  {"982-98000", "982-99999"},
467  {"983-00", "983-01"},
468  {"983-020", "983-199"},
469  {"983-2000", "983-3999"},
470  {"983-40000", "983-44999"},
471  {"983-45", "983-49"},
472  {"983-50", "983-79"},
473  {"983-800", "983-899"},
474  {"983-9000", "983-9899"},
475  {"983-99000", "983-99999"},
476  {"984-00", "984-39"},
477  {"984-400", "984-799"},
478  {"984-8000", "984-8999"},
479  {"984-90000", "984-99999"},
480  {"985-00", "985-39"},
481  {"985-400", "985-599"},
482  {"985-6000", "985-8999"},
483  {"985-90000", "985-99999"},
484  {"986-00", "986-11"},
485  {"986-120", "986-559"},
486  {"986-5600", "986-7999"},
487  {"986-80000", "986-99999"},
488  {"987-00", "987-09"},
489  {"987-1000", "987-1999"},
490  {"987-20000", "987-29999"},
491  {"987-30", "987-49"},
492  {"987-500", "987-899"},
493  {"987-9000", "987-9499"},
494  {"987-95000", "987-99999"},
495  {"988-00", "988-16"},
496  {"988-17000", "988-19999"},
497  {"988-200", "988-799"},
498  {"988-8000", "988-9699"},
499  {"988-97000", "988-99999"},
500  {"989-0", "989-1"},
501  {"989-20", "989-54"},
502  {"989-550", "989-799"},
503  {"989-8000", "989-9499"},
504  {"989-95000", "989-99999"},
505  {"9927-00", "9927-09"},
506  {"9927-100", "9927-399"},
507  {"9927-4000", "9927-4999"},
508  {"9928-00", "9928-09"},
509  {"9928-100", "9928-399"},
510  {"9928-4000", "9928-4999"},
511  {"9929-0", "9929-3"},
512  {"9929-40", "9929-54"},
513  {"9929-550", "9929-799"},
514  {"9929-8000", "9929-9999"},
515  {"9930-00", "9930-49"},
516  {"9930-500", "9930-939"},
517  {"9930-9400", "9930-9999"},
518  {"9931-00", "9931-29"},
519  {"9931-300", "9931-899"},
520  {"9931-9000", "9931-9999"},
521  {"9932-00", "9932-39"},
522  {"9932-400", "9932-849"},
523  {"9932-8500", "9932-9999"},
524  {"9933-0", "9933-0"},
525  {"9933-10", "9933-39"},
526  {"9933-400", "9933-899"},
527  {"9933-9000", "9933-9999"},
528  {"9934-0", "9934-0"},
529  {"9934-10", "9934-49"},
530  {"9934-500", "9934-799"},
531  {"9934-8000", "9934-9999"},
532  {"9935-0", "9935-0"},
533  {"9935-10", "9935-39"},
534  {"9935-400", "9935-899"},
535  {"9935-9000", "9935-9999"},
536  {"9936-0", "9936-1"},
537  {"9936-20", "9936-39"},
538  {"9936-400", "9936-799"},
539  {"9936-8000", "9936-9999"},
540  {"9937-0", "9937-2"},
541  {"9937-30", "9937-49"},
542  {"9937-500", "9937-799"},
543  {"9937-8000", "9937-9999"},
544  {"9938-00", "9938-79"},
545  {"9938-800", "9938-949"},
546  {"9938-9500", "9938-9999"},
547  {"9939-0", "9939-4"},
548  {"9939-50", "9939-79"},
549  {"9939-800", "9939-899"},
550  {"9939-9000", "9939-9999"},
551  {"9940-0", "9940-1"},
552  {"9940-20", "9940-49"},
553  {"9940-500", "9940-899"},
554  {"9940-9000", "9940-9999"},
555  {"9941-0", "9941-0"},
556  {"9941-10", "9941-39"},
557  {"9941-400", "9941-899"},
558  {"9941-9000", "9941-9999"},
559  {"9942-00", "9942-89"},
560  {"9942-900", "9942-994"},
561  {"9942-9950", "9942-9999"},
562  {"9943-00", "9943-29"},
563  {"9943-300", "9943-399"},
564  {"9943-4000", "9943-9999"},
565  {"9944-0000", "9944-0999"},
566  {"9944-100", "9944-499"},
567  {"9944-5000", "9944-5999"},
568  {"9944-60", "9944-69"},
569  {"9944-700", "9944-799"},
570  {"9944-80", "9944-89"},
571  {"9944-900", "9944-999"},
572  {"9945-00", "9945-00"},
573  {"9945-010", "9945-079"},
574  {"9945-08", "9945-39"},
575  {"9945-400", "9945-569"},
576  {"9945-57", "9945-57"},
577  {"9945-580", "9945-849"},
578  {"9945-8500", "9945-9999"},
579  {"9946-0", "9946-1"},
580  {"9946-20", "9946-39"},
581  {"9946-400", "9946-899"},
582  {"9946-9000", "9946-9999"},
583  {"9947-0", "9947-1"},
584  {"9947-20", "9947-79"},
585  {"9947-800", "9947-999"},
586  {"9948-00", "9948-39"},
587  {"9948-400", "9948-849"},
588  {"9948-8500", "9948-9999"},
589  {"9949-0", "9949-0"},
590  {"9949-10", "9949-39"},
591  {"9949-400", "9949-899"},
592  {"9949-9000", "9949-9999"},
593  {"9950-00", "9950-29"},
594  {"9950-300", "9950-849"},
595  {"9950-8500", "9950-9999"},
596  {"9951-00", "9951-39"},
597  {"9951-400", "9951-849"},
598  {"9951-8500", "9951-9999"},
599  {"9952-0", "9952-1"},
600  {"9952-20", "9952-39"},
601  {"9952-400", "9952-799"},
602  {"9952-8000", "9952-9999"},
603  {"9953-0", "9953-0"},
604  {"9953-10", "9953-39"},
605  {"9953-400", "9953-599"},
606  {"9953-60", "9953-89"},
607  {"9953-9000", "9953-9999"},
608  {"9954-0", "9954-1"},
609  {"9954-20", "9954-39"},
610  {"9954-400", "9954-799"},
611  {"9954-8000", "9954-9999"},
612  {"9955-00", "9955-39"},
613  {"9955-400", "9955-929"},
614  {"9955-9300", "9955-9999"},
615  {"9956-0", "9956-0"},
616  {"9956-10", "9956-39"},
617  {"9956-400", "9956-899"},
618  {"9956-9000", "9956-9999"},
619  {"9957-00", "9957-39"},
620  {"9957-400", "9957-699"},
621  {"9957-70", "9957-84"},
622  {"9957-8500", "9957-8799"},
623  {"9957-88", "9957-99"},
624  {"9958-0", "9958-0"},
625  {"9958-10", "9958-49"},
626  {"9958-500", "9958-899"},
627  {"9958-9000", "9958-9999"},
628  {"9959-0", "9959-1"},
629  {"9959-20", "9959-79"},
630  {"9959-800", "9959-949"},
631  {"9959-9500", "9959-9999"},
632  {"9960-00", "9960-59"},
633  {"9960-600", "9960-899"},
634  {"9960-9000", "9960-9999"},
635  {"9961-0", "9961-2"},
636  {"9961-30", "9961-69"},
637  {"9961-700", "9961-949"},
638  {"9961-9500", "9961-9999"},
639  {"9962-00", "9962-54"},
640  {"9962-5500", "9962-5599"},
641  {"9962-56", "9962-59"},
642  {"9962-600", "9962-849"},
643  {"9962-8500", "9962-9999"},
644  {"9963-0", "9963-2"},
645  {"9963-30", "9963-54"},
646  {"9963-550", "9963-734"},
647  {"9963-7350", "9963-7499"},
648  {"9963-7500", "9963-9999"},
649  {"9964-0", "9964-6"},
650  {"9964-70", "9964-94"},
651  {"9964-950", "9964-999"},
652  {"9965-00", "9965-39"},
653  {"9965-400", "9965-899"},
654  {"9965-9000", "9965-9999"},
655  {"9966-000", "9966-199"},
656  {"9966-20", "9966-69"},
657  {"9966-7000", "9966-7499"},
658  {"9966-750", "9966-959"},
659  {"9966-9600", "9966-9999"},
660  {"9967-00", "9967-39"},
661  {"9967-400", "9967-899"},
662  {"9967-9000", "9967-9999"},
663  {"9968-00", "9968-49"},
664  {"9968-500", "9968-939"},
665  {"9968-9400", "9968-9999"},
666  {"9970-00", "9970-39"},
667  {"9970-400", "9970-899"},
668  {"9970-9000", "9970-9999"},
669  {"9971-0", "9971-5"},
670  {"9971-60", "9971-89"},
671  {"9971-900", "9971-989"},
672  {"9971-9900", "9971-9999"},
673  {"9972-00", "9972-09"},
674  {"9972-1", "9972-1"},
675  {"9972-200", "9972-249"},
676  {"9972-2500", "9972-2999"},
677  {"9972-30", "9972-59"},
678  {"9972-600", "9972-899"},
679  {"9972-9000", "9972-9999"},
680  {"9973-00", "9973-05"},
681  {"9973-060", "9973-089"},
682  {"9973-0900", "9973-0999"},
683  {"9973-10", "9973-69"},
684  {"9973-700", "9973-969"},
685  {"9973-9700", "9973-9999"},
686  {"9974-0", "9974-2"},
687  {"9974-30", "9974-54"},
688  {"9974-550", "9974-749"},
689  {"9974-7500", "9974-9499"},
690  {"9974-95", "9974-99"},
691  {"9975-0", "9975-0"},
692  {"9975-100", "9975-399"},
693  {"9975-4000", "9975-4499"},
694  {"9975-45", "9975-89"},
695  {"9975-900", "9975-949"},
696  {"9975-9500", "9975-9999"},
697  {"9976-0", "9976-5"},
698  {"9976-60", "9976-89"},
699  {"9976-900", "9976-989"},
700  {"9976-9900", "9976-9999"},
701  {"9977-00", "9977-89"},
702  {"9977-900", "9977-989"},
703  {"9977-9900", "9977-9999"},
704  {"9978-00", "9978-29"},
705  {"9978-300", "9978-399"},
706  {"9978-40", "9978-94"},
707  {"9978-950", "9978-989"},
708  {"9978-9900", "9978-9999"},
709  {"9979-0", "9979-4"},
710  {"9979-50", "9979-64"},
711  {"9979-650", "9979-659"},
712  {"9979-66", "9979-75"},
713  {"9979-760", "9979-899"},
714  {"9979-9000", "9979-9999"},
715  {"9980-0", "9980-3"},
716  {"9980-40", "9980-89"},
717  {"9980-900", "9980-989"},
718  {"9980-9900", "9980-9999"},
719  {"9981-00", "9981-09"},
720  {"9981-100", "9981-159"},
721  {"9981-1600", "9981-1999"},
722  {"9981-20", "9981-79"},
723  {"9981-800", "9981-949"},
724  {"9981-9500", "9981-9999"},
725  {"9982-00", "9982-79"},
726  {"9982-800", "9982-989"},
727  {"9982-9900", "9982-9999"},
728  {"9983-80", "9983-94"},
729  {"9983-950", "9983-989"},
730  {"9983-9900", "9983-9999"},
731  {"9984-00", "9984-49"},
732  {"9984-500", "9984-899"},
733  {"9984-9000", "9984-9999"},
734  {"9985-0", "9985-4"},
735  {"9985-50", "9985-79"},
736  {"9985-800", "9985-899"},
737  {"9985-9000", "9985-9999"},
738  {"9986-00", "9986-39"},
739  {"9986-400", "9986-899"},
740  {"9986-9000", "9986-9399"},
741  {"9986-940", "9986-969"},
742  {"9986-97", "9986-99"},
743  {"9987-00", "9987-39"},
744  {"9987-400", "9987-879"},
745  {"9987-8800", "9987-9999"},
746  {"9988-0", "9988-2"},
747  {"9988-30", "9988-54"},
748  {"9988-550", "9988-749"},
749  {"9988-7500", "9988-9999"},
750  {"9989-0", "9989-0"},
751  {"9989-100", "9989-199"},
752  {"9989-2000", "9989-2999"},
753  {"9989-30", "9989-59"},
754  {"9989-600", "9989-949"},
755  {"9989-9500", "9989-9999"},
756  {"99901-00", "99901-49"},
757  {"99901-500", "99901-799"},
758  {"99901-80", "99901-99"},
759  {"99903-0", "99903-1"},
760  {"99903-20", "99903-89"},
761  {"99903-900", "99903-999"},
762  {"99904-0", "99904-5"},
763  {"99904-60", "99904-89"},
764  {"99904-900", "99904-999"},
765  {"99905-0", "99905-3"},
766  {"99905-40", "99905-79"},
767  {"99905-800", "99905-999"},
768  {"99906-0", "99906-2"},
769  {"99906-30", "99906-59"},
770  {"99906-600", "99906-699"},
771  {"99906-70", "99906-89"},
772  {"99906-90", "99906-94"},
773  {"99906-950", "99906-999"},
774  {"99908-0", "99908-0"},
775  {"99908-10", "99908-89"},
776  {"99908-900", "99908-999"},
777  {"99909-0", "99909-3"},
778  {"99909-40", "99909-94"},
779  {"99909-950", "99909-999"},
780  {"99910-0", "99910-2"},
781  {"99910-30", "99910-89"},
782  {"99910-900", "99910-999"},
783  {"99911-00", "99911-59"},
784  {"99911-600", "99911-999"},
785  {"99912-0", "99912-3"},
786  {"99912-400", "99912-599"},
787  {"99912-60", "99912-89"},
788  {"99912-900", "99912-999"},
789  {"99913-0", "99913-2"},
790  {"99913-30", "99913-35"},
791  {"99913-600", "99913-604"},
792  {"99914-0", "99914-4"},
793  {"99914-50", "99914-89"},
794  {"99914-900", "99914-999"},
795  {"99915-0", "99915-4"},
796  {"99915-50", "99915-79"},
797  {"99915-800", "99915-999"},
798  {"99916-0", "99916-2"},
799  {"99916-30", "99916-69"},
800  {"99916-700", "99916-999"},
801  {"99917-0", "99917-2"},
802  {"99917-30", "99917-89"},
803  {"99917-900", "99917-999"},
804  {"99918-0", "99918-3"},
805  {"99918-40", "99918-79"},
806  {"99918-800", "99918-999"},
807  {"99919-0", "99919-2"},
808  {"99919-300", "99919-399"},
809  {"99919-40", "99919-69"},
810  {"99919-900", "99919-999"},
811  {"99920-0", "99920-4"},
812  {"99920-50", "99920-89"},
813  {"99920-900", "99920-999"},
814  {"99921-0", "99921-1"},
815  {"99921-20", "99921-69"},
816  {"99921-700", "99921-799"},
817  {"99921-8", "99921-8"},
818  {"99921-90", "99921-99"},
819  {"99922-0", "99922-3"},
820  {"99922-40", "99922-69"},
821  {"99922-700", "99922-999"},
822  {"99923-0", "99923-1"},
823  {"99923-20", "99923-79"},
824  {"99923-800", "99923-999"},
825  {"99924-0", "99924-1"},
826  {"99924-20", "99924-79"},
827  {"99924-800", "99924-999"},
828  {"99925-0", "99925-3"},
829  {"99925-40", "99925-79"},
830  {"99925-800", "99925-999"},
831  {"99926-0", "99926-0"},
832  {"99926-10", "99926-59"},
833  {"99926-600", "99926-999"},
834  {"99927-0", "99927-2"},
835  {"99927-30", "99927-59"},
836  {"99927-600", "99927-999"},
837  {"99928-0", "99928-0"},
838  {"99928-10", "99928-79"},
839  {"99928-800", "99928-999"},
840  {"99929-0", "99929-4"},
841  {"99929-50", "99929-79"},
842  {"99929-800", "99929-999"},
843  {"99930-0", "99930-4"},
844  {"99930-50", "99930-79"},
845  {"99930-800", "99930-999"},
846  {"99931-0", "99931-4"},
847  {"99931-50", "99931-79"},
848  {"99931-800", "99931-999"},
849  {"99932-0", "99932-0"},
850  {"99932-10", "99932-59"},
851  {"99932-600", "99932-699"},
852  {"99932-7", "99932-7"},
853  {"99932-80", "99932-99"},
854  {"99933-0", "99933-2"},
855  {"99933-30", "99933-59"},
856  {"99933-600", "99933-999"},
857  {"99934-0", "99934-1"},
858  {"99934-20", "99934-79"},
859  {"99934-800", "99934-999"},
860  {"99935-0", "99935-2"},
861  {"99935-30", "99935-59"},
862  {"99935-600", "99935-699"},
863  {"99935-7", "99935-8"},
864  {"99935-90", "99935-99"},
865  {"99936-0", "99936-0"},
866  {"99936-10", "99936-59"},
867  {"99936-600", "99936-999"},
868  {"99937-0", "99937-1"},
869  {"99937-20", "99937-59"},
870  {"99937-600", "99937-999"},
871  {"99938-0", "99938-1"},
872  {"99938-20", "99938-59"},
873  {"99938-600", "99938-899"},
874  {"99938-90", "99938-99"},
875  {"99939-0", "99939-5"},
876  {"99939-60", "99939-89"},
877  {"99939-900", "99939-999"},
878  {"99940-0", "99940-0"},
879  {"99940-10", "99940-69"},
880  {"99940-700", "99940-999"},
881  {"99941-0", "99941-2"},
882  {"99941-30", "99941-79"},
883  {"99941-800", "99941-999"},
884  {"99942-0", "99942-4"},
885  {"99942-50", "99942-79"},
886  {"99942-800", "99942-999"},
887  {"99943-0", "99943-2"},
888  {"99943-30", "99943-59"},
889  {"99943-600", "99943-999"},
890  {"99944-0", "99944-4"},
891  {"99944-50", "99944-79"},
892  {"99944-800", "99944-999"},
893  {"99945-0", "99945-5"},
894  {"99945-60", "99945-89"},
895  {"99945-900", "99945-999"},
896  {"99946-0", "99946-2"},
897  {"99946-30", "99946-59"},
898  {"99946-600", "99946-999"},
899  {"99947-0", "99947-2"},
900  {"99947-30", "99947-69"},
901  {"99947-700", "99947-999"},
902  {"99948-0", "99948-4"},
903  {"99948-50", "99948-79"},
904  {"99948-800", "99948-999"},
905  {"99949-0", "99949-1"},
906  {"99949-20", "99949-89"},
907  {"99949-900", "99949-999"},
908  {"99950-0", "99950-4"},
909  {"99950-50", "99950-79"},
910  {"99950-800", "99950-999"},
911  {"99952-0", "99952-4"},
912  {"99952-50", "99952-79"},
913  {"99952-800", "99952-999"},
914  {"99953-0", "99953-2"},
915  {"99953-30", "99953-79"},
916  {"99953-800", "99953-939"},
917  {"99953-94", "99953-99"},
918  {"99954-0", "99954-2"},
919  {"99954-30", "99954-69"},
920  {"99954-700", "99954-999"},
921  {"99955-0", "99955-1"},
922  {"99955-20", "99955-59"},
923  {"99955-600", "99955-799"},
924  {"99955-80", "99955-89"},
925  {"99955-90", "99955-99"},
926  {"99956-00", "99956-59"},
927  {"99956-600", "99956-859"},
928  {"99956-86", "99956-99"},
929  {"99957-0", "99957-1"},
930  {"99957-20", "99957-79"},
931  {"99957-800", "99957-999"},
932  {"99958-0", "99958-4"},
933  {"99958-50", "99958-94"},
934  {"99958-950", "99958-999"},
935  {"99959-0", "99959-2"},
936  {"99959-30", "99959-59"},
937  {"99959-600", "99959-999"},
938  {"99960-0", "99960-0"},
939  {"99960-10", "99960-94"},
940  {"99960-950", "99960-999"},
941  {"99961-0", "99961-3"},
942  {"99961-40", "99961-89"},
943  {"99961-900", "99961-999"},
944  {"99962-0", "99962-4"},
945  {"99962-50", "99962-79"},
946  {"99962-800", "99962-999"},
947  {"99963-00", "99963-49"},
948  {"99963-500", "99963-999"},
949  {"99964-0", "99964-1"},
950  {"99964-20", "99964-79"},
951  {"99964-800", "99964-999"},
952  {"99965-0", "99965-3"},
953  {"99965-40", "99965-79"},
954  {"99965-800", "99965-999"},
955  {"99966-0", "99966-2"},
956  {"99966-30", "99966-69"},
957  {"99966-700", "99966-799"},
958  {"99967-0", "99967-1"},
959  {"99967-20", "99967-59"},
960  {"99967-600", "99967-899"},
961  {NULL, NULL},
962 };
963 
964 /*
965  * For ISBN with prefix 979
966  * Range Table as of 2010-Jul-29
967  */
968 
969 /* where the digit set begins, and how many of them are in the table */
970 static const unsigned ISBN_index_new[10][2] = {
971  {0, 0},
972  {0, 5},
973  {5, 0},
974  {5, 0},
975  {5, 0},
976  {5, 0},
977  {5, 0},
978  {5, 0},
979  {5, 0},
980  {5, 0},
981 };
982 
983 static const char *ISBN_range_new[][2] = {
984  {"10-00", "10-19"},
985  {"10-200", "10-699"},
986  {"10-7000", "10-8999"},
987  {"10-90000", "10-97599"},
988  {"10-976000", "10-999999"},
989  {NULL, NULL},
990 };
static const char * ISBN_range[][2]
Definition: ISBN.h:50
static const unsigned ISBN_index[10][2]
Definition: ISBN.h:37
static const unsigned ISBN_index_new[10][2]
Definition: ISBN.h:970
static const char * ISBN_range_new[][2]
Definition: ISBN.h:983