私はバーコードが好きだ。それも、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年1月7日 at PM 12:08
地元だよぉ。とっくの昔に脱出したけどなあ。 あまり話題にならない土地だが、話題になる時はろくなもんじゃないね。大昔のことだけど記憶に残ってるのは、公務員が海外に研修に行ったら利用したバスが交通事故に巻き込まれた事件。市役所の前にマスコミが中継に来て、ギャラリーの一般人の群れがイエーイ!ピースピース...
- 国連、イスラエルに西岸での「アパルトヘイト体制」是正要求on 2026年1月7日 at AM 11:50
この写真にはショッキングな表現、または18歳以上の年齢制限の対象となる内容が含まれます。 ご覧になる場合にはご了承の上、クリックしてください。 【1月7日 AFP】国連(UN)は7日、パレスチナ自治区ヨルダン川西岸で数十年にわたって続いている差別と分離が一層深刻化しているとして、イスラエルに「アパルトヘイト体...
- Macでロジクール製品に問題発生。Logi Options+とG HUBの障害でカスタマイズ機能が全停止on 2026年1月7日 at AM 11:29
Macでロジクール製品に問題発生。Logi Options+とG HUBの障害でカスタマイズ機能が全停止
- エベレストで見つかった人間の足、山岳界最大の謎解く手掛かりかon 2026年1月7日 at AM 11:26
見つかった登山靴はエベレスト初登頂を目指した登山家の最初の証拠となる可能性がある/Jimmy Chin/National Geographic/PA Media (CNN) 米誌ナショナル・ジオグラフィックのドキュメンタリーチームが2024年9月、エベレストの融解しかけた氷河から突き出た登山靴と靴下を発見したとき、彼らはその重要さをたちどころに...
- 中国の病院でAlibabaのAIツール「PANDA」を使い18万枚のCTスキャン画像を再検査し医師が見落とした約24件の膵臓がんを発見on 2026年1月7日 at AM 10:59
中国では、Alibabaの研究開発部門であるDamo Academyが開発した「PANDA(PANcreatic cancer Detection with Artificial intelligence)」というAIツールを用いて、医師が見逃しかねない致命的な腫瘍を特定する取り組みが進んでいます。このツールは、造影剤を使わない通常のCTスキャンから膵臓がんを検出するように訓練され...
- 次世代核融合炉「SPARC」のAIデジタルツインを構築し商業化への取り組みが加速、Commonwealth Fusion SystemsがNVIDIA・シーメンスと提携へon 2026年1月7日 at AM 10:56
核融合関連スタートアップのCommonwealth Fusion Systems(CFS)が、NVIDIAおよびシーメンスと提携し、2027年に稼働が予定されている実証用核融合炉「SPARC」の設計・開発をAIシステムで加速するデジタルツインを構築すると2026年1月6日に発表しました。また、SPARCに最初の磁石を設置したことも明らかにしています。 How ...
- バブル期に日本人との間に婚外子、音信不通になった相手 「もっと冷静だったら」フィリピン女性の記憶(共同通信) - Yahoo!ニュースon 2026年1月7日 at AM 10:53
フィリピン人のマリア(59)=仮名=は1986年、ダンサーとして日本にやって来た。二つの国を往復しながら働き、4回目の来日時に出会った日本人男性との間に長男をさずかった。「あの人は私と息子のためにマニラにアパートを買い、日本から何度も訪ねてきてくれました」。だが、その生活は長くは続かなかった。 1980年代...
- 義母は電話の終わりに必ず「アーメン」と言うのだが返し方がわからず切ろうとしたら夫から「アーメンって返しといて」と言われた、信者でないのに言ってもいいの?on 2026年1月7日 at AM 10:30
さつまいも🇨🇦🇯🇵 @satsumaimo007 義母は電話切る時に必ず「アーメン」と私に言うのだけど、最初はどう返していいのか分からずそのまま電話を切ろうとしたら夫が「アーメンと言われたらアーメンと返して」と言うので「私はプロテスタントではない」と返したが、失礼にあたる、ということでアーメンと返した。→ 2026-01-06 ...

