私はバーコードが好きだ。それも、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画像を読み取ったところ。ベンリに使えるかも
最新ニュース
はてなブックマーク - 新着エントリー - 総合 新着エントリー
- 以前、ゼミ生が卒論で「ある地方の路面電車がなぜ黒字なのか」をテーマにした。早速聞き取り調査を実施。なぜ黒字か角度を変えて質問しても「正直私達も分からない」「何もしなくてもお客さんが乗ってくれるんよ」との回答に終始。結論は「無理のない経営姿勢が無意識に浸透していた」となった話on 2026年3月9日 at AM 4:31
深見 聡 FUKAMI, Satoshi @SatoshiFukami 以前、ゼミ生が卒論で「ある地方の路面電車がなぜ黒字なのか」をテーマにした。 早速聞き取り調査を実施。なぜ黒字か角度を変えて質問しても「正直私達も分からない」「何もしなくてもお客さんが乗ってくれるんよ」との回答に終始。 結論は「無理のない経営姿勢が無意識に浸透し...
- 『ぽこ あ ポケモン』にて「ゆめしま破壊活動」が流行る。遠慮の必要なし、壊して奪い放題 - AUTOMATONon 2026年3月9日 at AM 4:06
株式会社ポケモンは3月5日、Nintendo Switch 2向けに『ぽこ あ ポケモン』を発売した。本作の「ゆめしま」にて“破壊行為”に夢中になるユーザーが増えているようだ。本稿には本作序盤のイベントに関する言及が含まれるため、閲覧には留意されたい。 『ぽこ あ ポケモン』は、ニンゲンのすがたにへんしんしたメタモンが主...
- なぜ炎上→謝罪…JALは何を読み違えた?「マイル修行」沖縄に殺到で露呈した大誤算(ビジネス+IT) - Yahoo!ニュースon 2026年3月9日 at AM 4:06
沖縄県の離島、多良間(たらま)島と宮古島を結ぶ空の便は、多良間島民にとって通院や行政手続き、生活物資の輸送を支える生命線である。しかし、2025年末ごろからこの路線で異常事態が発生した。JALグループのマイレージステータス獲得を目的とした、通称「マイル修行僧」が殺到し、島民が予約を取れない状況が続いたの...
- イラン攻撃の危険性忠告していたトランプ氏最側近ら、戦争支持に転換した経緯はon 2026年3月9日 at AM 4:04
(CNN) トランプ米大統領が初めてイランとの戦争の可能性を持ち出したとき、特に深刻な懸念のいくつかを示したのはトランプ政権のナンバー2だった。 外国での戦争を批判し政治家として台頭した元海兵隊員のバンス副大統領は、中東で予測不能な紛争を始める危険性について忠告した。 しかし、それでもトランプ氏が軍事行...
- サクラの伐採に猛反対する人がいたため、「もうサクラを植えるのはやめよう」と管理者に嫌われ街からサクラが減っていった?伐採と新植の適切なサイクルが大事on 2026年3月9日 at AM 4:01
公団ウォーカー 照井啓太 @codanwalker 本来サクラは短命な植物なのですが伐採に猛烈に反対する人がいます。結果どうなったかというと「苦情が面倒だからもう桜植えるのはやめよう」と管理者から嫌われるようになり街から桜が減っていったのです。大切なのは伐採と新植の適切なサイクルなのです。 fnn.jp/articles/-/101...
- 最近、イヤホン、ヘッドホンがワイヤレスから有線に回帰しつつあるんだそうな。理由は同じ性能でも有線の方が圧倒的に安い、充電しなくていい、音が途切れないっていう理由だけで無く、何と「コードがあった方がカッコいいから」って理由もある話on 2026年3月9日 at AM 4:00
高山瑞穂 @mizpi 最近、イヤホン、ヘッドホンがワイヤレスから有線に回帰しつつあるんだそうな。 理由は同じ性能でも有線の方が圧倒的に安い、充電しなくていい、音が途切れないっていう理由だけで無く、何と「コードがあった方がカッコいいから」って理由もあるんだとか。 2026-03-08 13:56:43
- 「Netflixの強みが日本では機能しない」WBC独占配信から見えてくる、日本の特殊な状況…コンテンツ力はあるが海外に対抗してまとまることができていないon 2026年3月9日 at AM 3:38
福岡静哉 Shizuya Fukuoka @fukuokas1 なぜ韓国でWBCの中継を見ることができているのか、よく分かりました。 深刻な事態ですね、、 WBCとNetflixが日本に突きつけた残酷な現実──日本のプロ野球とテレビ局に共通する病根(松谷創一郎) news.yahoo.co.jp/expert/article… 2026-03-07 13:36:58 リンク Yahoo!ニュース WBCとN...
- いじめ被害者が中学の卒業文集に被害体験を書いたら校長に「一つぐらいは楽しかったことがあるはずだ」と書き直しを要求される→「本人」のアカウントがXへ現れる事態にon 2026年3月9日 at AM 3:37
中学3年の女子が卒業文集に自身のいじめ被害を書いたところ、校長が「一つくらいは楽しかったことがあるはずだ」と書き換えを要求。生徒は不登校になり調査も行われず、被害の訴えを否定する対応が問題視されている。

