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 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 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 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 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 }; 991