私はバーコードが好きだ。それも、JAN-13/EAN-13形式限定で。理由はいくつかあるが、4種の太さのバーを4種の間隔に置くと13桁の数字を表現でき、それが世界中の企業や製品名とリンクしている、という情報量の少なさに比べたときの表現力の大きさに尽きる。バーの太さが重要な情報となるため、高い印刷精度...
私はバーコードが好きだ。それも、JAN-13/EAN-13形式限定で。理由はいくつかあるが、4種の太さのバーを4種の間隔に置くと13桁の数字を表現でき、それが世界中の企業や製品名とリンクしている、という情報量の少なさに比べたときの表現力の大きさに尽きる。バーの太さが重要な情報となるため、高い印刷精度と読取り精度が要求されるが、カメラを内蔵した携帯電話の普及やCCDの性能向上もあり、その活用範囲は拡がっている。
JAN-13/EAN-13の場合、最初の2桁は国コード(日本の場合49または45)、次の5桁(2001年以降は7桁)は商品メーカーコード、次の5桁(2001年以降は3桁)がメーカーが独自に決める商品アイテムコード、最後の1桁は読み取りが正しいかどうか判定するための情報(チェックデジット)とされている。
このJAN-13/EAN-13バーコードは、当コラムでいうところの「マッシュアップ」に使える素材だと考えている。そして最近、にわかにその必要性にかられているのだ。
というのも、CDの耐久性が気になり始めたから。一説にCDの寿命は数十年と言われるが、仮に30年が目安だとすると、自分のCDライブラリはそろそろヤバめということになる。プログレとかAORとか、GRP全盛期のフュージョンとか、購入から20年を経ているものが多いためだ。ふだんは湿気の少ない冷暗所(書斎ともいう)に保管しているが、それらが一斉に寿命を迎えたらかなりへこむ。
だから、CDが健全なうちにCD-Rへバックアップしようと考えている。数百枚は格納できるケースにCD-Rを収納し、PPシートへ管理タグ代わりにJAN-13/EAN-13バーコードを貼り付けよう、という計画なのだ。そのCDの情報が必要になったときは、スマートフォンのバーコード読み取りアプリを使えばいい。これも一種のマッシュアップと考えるが、いかがだろう?
肝心の方法だが……Rubyのバーコード生成ライブラリ「barby」を使うことにした。バーコードを生成してくれるWebサイトもあるが、さすがに数百枚ものCDを処理したくない。CD-Rへのバックアップは手作業にならざるをえないとして、チェックデジットを除いた12桁の数値をブラウザのテキストフィールドに手入力することは避けたい、そう考えれば自動処理を模索するのは必然だ。
準備はかんたん、Rubyを標準装備するOS Xの場合、TerminalからgemコマンドでBarbyとPNG出力用ライブラリをインストールすればOK。あとはスクリプトを用意すれば、バーコードを生成できるはずだ。
・BarbyおよびPNG出力用ライブラリのインストール $ sudo gem install barby $ sudo gem install barby-chunky_png
とりあえず作成したスクリプトは、ヘッダ部分を除き実質1行というかんたんなもの。それでも、引数として12桁の数値 — JAN-13/EAN-13バーコードの下にある数値の右端を除いた12桁 — を与え、出力先のPNGファイルを指定して実行すれば、立派なバーコードを作成できる。
今回はテストのためごく基本的な機能しか用意していないが、CSVファイルから数値を入力したり、複数のバーコードを帳票状に整形したりすれば、より実用的になるはず。マッシュアップは道半ば、引き続き改良を続けてみたい。
リスト1:バーコード生成用スクリプト(makeJAN13.rb) require 'rubygems' require 'barby' require 'barby/barcode/ean_13' require 'barby/outputter/png_outputter' print Barby::EAN13.new(ARGV[0]).to_png
コマンド実行例 $ ruby makeJAN13.rb 498800970102 > barcode.png
iPhoneでバーコード読み取りアプリ「ZBar Barcode Reader」を使い、今回用意したスクリプトで出力したPNG画像を読み取ったところ。ベンリに使えるかも
最新ニュース
はてなブックマーク - 新着エントリー - 総合 新着エントリー
- 運転免許試験の問題を事前に入手か ベトナム人女性のスマホから画像試験は当面中止 千葉2026年10月13日 に PM 8:13 に
ベトナム語で書かれた運転免許学科試験の問題が外部に流出したことが発覚したとして、千葉県警運転教育課は13日、ベトナム語の学科試験を一時中止すると発表した。中止するのは、16日から問題を再作成するまでの当面の間としている。 運転教育課によると、13日午前10時50分ごろ、千葉運転免許センター(千葉市美浜区)で...
- Redesigning source control at Anthropic2026年10月13日 に PM 5:17 に
Published Oct 13, 2026 As our merges per day grew more than tenfold, source control became our biggest development bottleneck. Here, we share how we migrated to an in-house version control system in five months. At Anthropic, coding is no longer the bottleneck to building systems or doing researc...
- 「使わない口座は、バイバイしようね!」三菱UFJ銀行と『プロセカ』コラボの冊子、キャラの発言がギョッとさせられる2026年10月13日 に PM 3:54 に
ののーぶ @nonobu21 俺「鳳えむのグッツください」 店員「転売対策の為に鳳えむのセリフをひとつ言ってください」 俺「使わない口座は使わなくなったらバイバイしようね!」 店員「お引き取りください」 x.com/trade_____only… 2026-10-13 01:46:23
- 「障がい児者への性暴力が認められる社会へ」法務省に提出されたNPOの報告書、内容は真面目だがタイトル単体で見るとおぞましい2026年10月13日 に PM 3:52 に
001310586.pdf 障がい児 者への 性 暴 力が 認められる社 会へ 障がい児者への性暴力に関するアドボカシー事業 [報告書] 特定非営利活動法人しあわせなみだ http://shiawasenamida.org/ … 1 user www.moj.go.jp
- [第六話]科科科科 - 牧野ムカデ | 少年ジャンプ+2026年10月13日 に PM 3:36 に
科科科科 牧野ムカデ <毎週水曜更新>日銭を稼いで生きる戸籍を持たない兄弟。科挙で成り上がる野望を持つ兄は、権力者の息子の科挙受験の替え玉に名乗り出るが…。筆一本で時代と権力を覆せ。17世紀中国・明が舞台の中華科挙復讐譚、開幕。
- ロシアが北海道新聞記者をスパイ容疑で拘束 国営タス通信 | NHKニュース2026年10月13日 に PM 3:33 に
ロシア国営タス通信は13日、ロシアの治安機関FSB=連邦保安庁が北海道新聞のユジノサハリンスク支局の日本人記者をスパイ容疑で拘束したと明らかにしたと報じました。
- [第15話]あわいの焔刃 - 丸梅千代子/溶五郎 | 少年ジャンプ+2026年10月13日 に PM 3:18 に
あわいの焔刃 丸梅千代子/溶五郎 <毎週水曜更新>火事で母親を失った少年・ヒカリと、事故の調査員・陽刃。とある事情で同居生活を営む2人の平穏な生活には、時折“何か”が現れる――…。怪異と日常の狭間を駆ける、ネオ・スタイリッシュアクション開幕!! [JC2巻12/4発売予定]
- おまけ / ロードマギアの弟子 - FLIPFLOPs | サンデーうぇぶり2026年10月13日 に PM 3:15 に
ロードマギアの弟子 FLIPFLOPs 幼い頃、魔術師に命を救われた傭兵の少年・ガルは魔器を盗んだ魔術師を討伐する騎士団への従軍の仕事を請け負う。しかし魔術師の元へ向かう途中で騎士団は魔術師に見つかり戦闘となる。圧倒的な力を持つ魔術師を前にガルは…!? 魔術と剣技がぶつかるバトルアクションファンタジー開幕!!

