ISBNコードの10桁13桁相互変換ルーチンを作ってみた 〜その4〜

日本以外でも正しいハイフンになるよう編集してみる
myrmecoleonさんのブックマークコメントを理解せずトンチンカンなコメントを返していました。
確かにチェックディットの計算は正しいですが、ハイフンの挿入位置はダメでしたね。
ということで、とりあえず英語圏、フランス語圏、ドイツ語圏、日本、旧ソビエト連邦(主にロシア)、中国(台湾、香港、マカオを除く)について対応してみました。
範囲の資料としてhttp://www.isbn-international.org/converter/ranges.htmを使用しています。
範囲を調べるのに「ISBN US DASH Position」とかキーワードにしてググってもさっぱりで、結局http://ja.wikipedia.org/wiki/ISBNで国際ISBN機関のサイトを発見、Rangesの項を見たらそのものずばりでした。

テストパターン

(グループコード + 範囲の前後の出版社コード + 0、1、2の順で桁数を調整した数値)を関数に与え、ISBN-10、ISBN-13とも正しい編集になっているか確認を行った
件数が多いのでハードコピーとかは無しの方向で
例)グループコード:0(英語圏1)の場合
019012345は出版社コードが2桁、020012345は3桁である

スプリプトのダウンロード先

http://natu.blue.coocan.jp/data/naisbn.js

動作確認用テストページのURL

入力フォームにグループコード(0〜5、または7) + 出版者記号 + 書名記号の9桁を入力する
http://natu.blue.coocan.jp/CheckISBN.htm

雑感

残りのグループコードについてどうするか思案中、このぐらいのグループコード(言語圏、国、地域)で全体の書籍数の大多数をフォローできているような気が…
個人的には、後は「92:International Publishers (Unesco, EU), European Community Organizations」ぐらいあればいいんじゃないかと
それと「93:India - no ranges fixed yet」が激しく気になる、何処にハイフンが来るか決まってないよってことなのかしら
あと、「はてなパーカー欲しい!」ってことで