私はバーコードが好きだ。それも、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画像を読み取ったところ。ベンリに使えるかも
最新ニュース
はてなブックマーク - 新着エントリー - 総合 新着エントリー
- 「状態」ではなく「変化(イベント)」を保存したい2025年12月15日 に AM 9:31 に
はじめに Dress Code Advent Calendar 2025 の 15 日目の記事です。 Dress Code 株式会社で、プロダクト開発しながらアーキテクト、組織設計、採用、技術広報などなど担当しているかわうそです。 今日は「履歴」というデータを取り扱うことために考えていること・戦い方について整理してみたので、その内容を共有したい...
- 映画公開中の伊藤詩織さん「ファクトチェックなしに情報広がり残念」、東京新聞記者を名指し「謝罪がない」 - 弁護士ドットコムニュース2025年12月15日 に AM 9:07 に
ジャーナリストの伊藤詩織さんが12月15日、東京丸の内の「日本外国特派員協会」の記者会見に登壇した。 事実と異なる情報を発信したメディアの問題に言及。特に許諾の問題を指摘してきた元代理人弁護士らの言葉について「ファクトチェックなしに、彼らの言葉だけ広がってしまったことを残念に思いました」と語った。 会...
- 『鉄鍋のジャン!』アニメ化決定。週刊少年チャンピオンで連載された強烈料理バトル。ティザーPVにはジャン、キリコ、⼩此⽊たちの声も | ゲーム・エンタメ最新情報のファミ通.com2025年12月15日 に AM 8:53 に
この度、シリーズ累計発⾏部数1,000万部を超える⻄条真⼆が描く伝説の激ヤバ料理バトル漫画『鉄鍋のジャン!』(KADOKAWA刊)が2026年にTVアニメ化が決定しました。 当時「週刊少年チャンピオン」で連載が開始されるやいなや、「料理は勝負!」が信条の異⾊の主⼈公‧秋⼭醬と個性豊かなライバルたちとの型破りな料理バト...
- ゆうちょPay、1年後に終了 連携の横浜・福岡・沖縄・広島銀も(朝日新聞) - Yahoo!ニュース2025年12月15日 に AM 8:49 に
ゆうちょ銀行は15日、スマホ決済サービス「ゆうちょPay」を来年12月20日午後11時59分に終了すると発表した。翌21日から決済機能は使えなくなる。連携して地方銀行が提供していた「はまPay」などの決済サービスも同時に終了する。 【図解】郵便局長の依頼に「うまい仕組みだな」 局長による局舎取得の流れとは ゆうちょP...
- ロート製薬、新卒採用の書類選考を廃止 生成AI普及でES均質化 - 日本経済新聞2025年12月15日 に AM 7:49 に
ロート製薬は15日、2027年4月入社の新卒採用から、エントリーシートによる書類選考を廃止すると発表した。代わりに人事担当者との15分間の対話による選考を導入する。原則対面で実施し、その後に複数回の面接やグループワークを経て内定を出す。生成AI(人工知能)の普及で応募書類の内容が均質化しており、対話を通じて...
- 技術書読み放題「TechLib」開始 コードのコピペもOK、月3080円 翔泳社やインプレスなど対応2025年12月15日 に AM 7:45 に
インプレスと丸善CHIホールディングスが共同出資する企業・テックリブと、専門書のオンライン検索・閲覧サービスを提供するLegal Technologyは12月15日、ITエンジニア向けの技術書籍読み放題サービス「TechLib」の提供を始めた。 プログラミング言語やAI、情報処理資格試験など、ITエンジニアに必要な書籍を月額3080円で...
- 高校生男子が4人お泊まりに来たので、40人前のカレーを作りました2025年12月15日 に AM 7:43 に
猫オヤジ @oyaji_50dai @ijimechau555 ワイも高校生の頃が一番、食欲があったもんな。。。午前中の休憩時間に早弁して、お昼は高校学食でチャーハン大盛り、具うどん、野菜サラダを食べて、売店でパンとか2個入りおにぎりを買ってた。2個入りおにぎりは3時頃に進学クラスの補習授業開始前に食べる。 2025-12-14 13:42:16
- ルンバの米iRobotが破産。中国企業が買収へ2025年12月15日 に AM 7:18 に
ルンバの米iRobotが破産。中国企業が買収へ


