私はバーコードが好きだ。それも、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画像を読み取ったところ。ベンリに使えるかも
最新ニュース
はてなブックマーク - 新着エントリー - 総合 新着エントリー
- 家庭科のピザで搬送された中学生、原因は…塩「3つまみ」を理解できずに調理し塩分過多かon 2026年2月11日 at AM 2:22
【読売新聞】 北九州市八幡西区の本城中で、家庭科の授業で調理したピザを食べた複数の生徒が体調不良を訴え、6人が病院に搬送された事案で、市教育委員会は10日、塩分の摂取過多が原因と推察されると発表した。 市教委学校教育課によると、1月
- 自転車で信号待ち中に隣にいたおばさんが子乗せ部分を覗き込んで「マァ可愛いわね~でも寒そう」って声をかけてきて愛想笑いでやり過ごしたが後になって恐ろしいことに気付いたon 2026年2月11日 at AM 1:34
自転車で信号待ち中、隣にいた女性が子乗せ部分を覗いて「可愛いけど寒そう」と声をかけてきた。愛想笑いでやり過ごし保育園で娘を乗せた瞬間、さっきは子乗せが空だったことに気づく。最初はただの迷惑な声かけだと思っていたが、最後の一件で背筋が凍る。女性は何を見ていたのか、見間違いだったのか、それとも他には...
- マツコ・デラックスさんの手術成功でたぶん日本中の麻酔科医たちが心からのリスペクトを送りつつ同じ体型の人が来たらどうするか議論したはず「体位変換を一体どうやって...」on 2026年2月11日 at AM 1:08
オリコンニュース @oricon マツコ・デラックス、手術で入院 「首の神経が圧迫されちゃって…」 oricon.co.jp/news/2435465/f… きょう、TOKYO MX『5時に夢中!』に電話出演。手に痺れが出たため受診したところ、首の脊髄が圧迫されており、急いで手術をしたほうがいいと言われたという。すでに手術を終え入院中だと元気な...
- 中道、小選挙区で勝ち上がった「7人の侍」 逆風はね返した勝因は:朝日新聞on 2026年2月11日 at AM 1:06
衆院選で惨敗し、49議席の獲得にとどまった中道改革連合。小選挙区の候補者202人のうち勝ち上がったのは立憲民主党出身の前職7人だけだった。「7人の侍」(党関係者)が「高市人気」の逆風をはね返した勝因…
- 中学生6人搬送の調理実習 原因は"ピザの生地に規定量以上の食塩" 作ったのは1コマ前の別クラス生徒「少しくらい多くても…」 | TBS NEWS DIGon 2026年2月11日 at AM 1:05
1月23日、北九州市八幡西区の中学校で行われた家庭科の授業で、ピザを食べた生徒6人が病院に運ばれた問題で、市の教育委員会は「ピザの生地に規定量以上の食塩を入れていたことが原因とみられる」と明らかにしまし…
- 昭和の家によくあるこのつぶつぶのカーテンを通るたびにメガネに当たるんだけどこれって一体なんのメリットがあるの?→見た目以上に役に立っていたらしいon 2026年2月11日 at AM 1:03
昭和によく見られた珠暖簾は、そろばんの玉などを連ねたインテリア兼間仕切りで、風通しを保ちつつ視線や空間を緩く遮る役割がある。台所の出入口などで家の内外や部屋同士の区切りをつくるために使われ、ハエ除けという説明は台所で使われることからの誤解にすぎない。現在は減り希少な昭和の風物。
- 中国の半導体技術獲得、韓国と台湾が草刈り場に 米国からの召喚策も - 日本経済新聞on 2026年2月11日 at AM 12:49
2025年10月、韓国のソウル中央地検はサムスン電子の元役員ら3人を起訴した。起訴事実は、産業技術保護法違反と不正競争防止法違反。サムスンが持つ半導体メモリーの生産技術を中国DRAM大手の長鑫存儲技術(CXMT)に流出させ、サムスンと韓国に経済的被害を与えたというものだ。韓国メディアによると、元役員らはCXMTから...
- サーティワンの持ち帰り、ドライアイス不足の影響で保冷材に変わっていた…案の定アイスはやわやわ「夏は完全に買えないじゃん」on 2026年2月10日 at PM 11:44
サーティワンの持ち帰りでドライアイスが廃止され、代わりに保冷剤が渡されている。持ち帰り30分無料は維持されるが、保冷剤では真夏にすぐ溶けるため、バラエティパックなどの土産購入や持ち帰りが困難に。利用者はドライアイス復活を求めており、保冷バッグ持参や苦情を促す声が上がっている。

