私はバーコードが好きだ。それも、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画像を読み取ったところ。ベンリに使えるかも
最新ニュース
はてなブックマーク - 新着エントリー - 総合 新着エントリー
- 転用を断念したEVバス100台超 大阪メトロが「墓場」からの移動開始 移送先は非公表2026年5月19日 に AM 4:03 に
2025年の大阪・関西万博でトラブルが相次いだEVモーターズ・ジャパン(EV社、北九州市)の電気自動車(EV)バスについて、大阪メトロは5月18日、保管している大阪市城東区の同社敷地からトラックで移送を始めたと明らかにした。台数は100台を超えるが、移送先は「明らかにできない」としている。
- 船長「生徒にハンドル持たせた」 辺野古沖転覆、事故前の乗船中に:朝日新聞2026年5月19日 に AM 3:51 に
沖縄県名護市辺野古沖で、小型船舶が転覆して高校生ら2人が死亡した事故で、乗船中に船長が生徒にハンドルを持たせる場面があったことが関係者への取材でわかった。第11管区海上保安本部は18日までに船に乗っ…
- 中国で「世界初」の洋上風力発電を利用した海中データセンターが本格稼働を開始2026年5月19日 に AM 3:26 に
海面下約10mに約2000台のサーバーを置いた海中データセンターが中国で誕生しました。陸上でサーバーを冷やすよりエネルギー効率が高いとのことです。 海风直连海底数据中心:“数字心脏”绿色脉动_能源频道_央视网(cctv.com) https://energy.cctv.com/2026/04/03/ARTIlSLgzgLu6cekjxsVpFLn260403.shtml Why is China putti...
- ヤンキーって何だっけ…?とゲシュタルト崩壊が起きるレベルの変人大博覧会な話題の漫画『BOY』、実は90年代の流行や文化が色濃く反映されていて勉強になる【Kindleセール中】2026年5月19日 に AM 3:22 に
電ファミニコゲーマー @denfaminicogame マンガ『BOY』Kindle版全20巻が各100円で購入可能なセールが開催中。全巻買っても「2000円」 news.denfaminicogamer.jp/news/260518e 世界征服の野望を持つ高校1年・日々野晴矢と画家志望の岡本清志朗、バンドマン一条誠らが巻き起こす痛快無比な日常が描かれる pic.x.com/EfWkfG...
- 「そばアレルギーだから限定の天ぷら蕎麦のそばをうどんにして」という客がいたが、厨房から「そばもうどんも同じ鍋で茹でるからうどんも食べないほうが良い」の返答→「じゃあ蕎麦でいいです」???2026年5月19日 に AM 3:19 に
「そばアレルギーだから限定の天ぷら蕎麦のそばをうどんにして」という客がいたが、厨房から「そばもうどんも同じ鍋で茹でるからうどんも食べないほうが良い」の返答→「じゃあ蕎麦でいいです」???
- 重要なお知らせ(通信障害等) : 【第二報:継続して確認中】携帯電話サービスがご利用しづらい可能性について(5月19日 午前11時30分時点) | お知らせ | NTTドコモ2026年5月19日 に AM 3:08 に
お客さまの設定により、お客さま情報が「非表示」となっております。お客さま情報を表示するにはdアカウントでログインしてください。 お客さま情報表示についてへ お客さま情報表示についてへ Tweet 【第二報:継続して確認中】携帯電話サービスがご利用しづらい可能性について(5月19日 午前11時30分時点) 2026年5月1...
- 緊急事態の聴取、自民認めずと主張 立民、衆院法制局のイメージ案で:時事ドットコム2026年5月19日 に AM 3:07 に
緊急事態の聴取、自民認めずと主張 立民、衆院法制局のイメージ案で 時事通信 政治部2026年05月19日11時53分配信 立憲民主党の小西洋之憲法調査会長=4月15日、国会内 立憲民主党の小西洋之憲法調査会長は19日の党会合で、憲法改正を巡り、衆院法制局などがまとめた緊急事態条項の「イメージ案」の説明聴取を、自...
- 【速報】食品容器大手一斉値上げ 中東情勢で原料急騰 6月出荷分から - 日本食糧新聞・電子版2026年5月19日 に AM 3:01 に
食品容器大手のエフピコ、シーピー化成、中央化学、リスパックは6月1日出荷分から全製品の価格を引き上げると発表した。値上げ幅はエフピコが20%以上、シーピー化成とリスパックが25%以上、中央化学は30%以上と、大幅な改定 投稿 【速報】食品容器大手一斉値上げ 中東情勢で原料急騰 6月出荷分から は 日本食糧...

