JavaScriptでバーコード生成

以前、講談社コミックスからバーコードが消えていた件で、書籍バーコードの生成を行う記事を書きました。

そのときはバーコードの生成によそ様のサイトを紹介したのですが、調べてみたらjQueryプラグインが公開されていました。

http://barcode-coder.com/

 

というわけで、JavaScriptでバーコード生成を行ってみました。

今回は書籍バーコードに特化して、13桁の数字に対してのみ生成を行っています。

なお、1111111111111のように入力しても1111111111116というバーコードが生成されますが、これはチェックディジットという仕組みです。

バーコードはいくつかの規格があり、それぞれに計算式が用意されています。

「JAN/EAN 13」では13桁の数字を以下のように計算し、バーコードとしての正当性をチェックしています。

チェックデジット計算方式 |JANコード登録│ 一般財団法人流通システム開発センター

  1. すべての偶数位置の数字を加算する。
  2. 1の結果を3倍する。
  3. すべての奇数位置の数字を加算する。
  4. 2の答えと3の答えを加算する。
  5. 最後に"121"*1の下1桁の数字を"10"から引く。この場合は"10"から"1"を引き算した答えの"9"がチェックデジットである。
  6. 下1桁が"0"となった場合は、チェックデジットはそのまま"0"となる。

つまり、最初の12桁が決まると最後の1桁は自動的に決まります。この13桁目をチェックディジットと呼びます。

 

 

これだけだと味気ないので、最近買った書籍のバーコードを載せてみます。

新約 とある魔術の禁書目録 (11)
 

オティヌス編が決着したあとの新刊ですが、どのようになるのか想像も付きませんでした。

今回は科学オンリーで過去に重きを置いた構成となっており、小休止+第5位の本格参戦の前振りといった感じでした。

 

六畳間の侵略者!? (17)
 

ここ数冊はバトルメインだったため、久しぶりの日常てんこもりの1冊でした。

アニメも無事終了し、一段落といったところです。

2期があるとすれば、いよいよ「白銀の姫と青き騎士」です。やってほしいなぁ。

関連:JavaScriptでQRコード生成

*1:項番1の99と項番3の22の合算値