私はバーコードが好きだ。それも、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 2025年7月26日 at PM 10:56
7月中旬、国土交通省や経済産業省など関係府省が個別に、国内のイベント主催者に向けた緊急通知を出した。仮設トイレを設置する際は男女で混雑の程度に差が生じないよう「バランスのとれた設置数」を求める内容だった。長く見過ごされてきた「不平等」の是正に政府がようやく本腰を入れ始めた。イベント会場や映画館など...
- 世界中で物議のクレカ表現規制にマンガ家も懸念、Steamの一件で急浮上した団体とは?on 2025年7月26日 at PM 10:52
先日、PCゲームの販売プラットフォームであるSteamでアダルト作品の一部が販売停止となりました。いわゆる“クレカ表現規制”の一環ですが、ここにある非営利団体の名前が浮上。しかも、この団体の過去の活動について報じた海外メディアの記事が削除されるという、きな臭い事案も起きています。 「Detroit: Become Human(...
- ジャングリアの料金が『一般』と『国内在住者』と別れており良いアイデアだと思った「インバウンドに悩む観光地で取り入れて欲しいロジック」on 2025年7月26日 at PM 10:42
妖星 @Yousay_ 今日開園したジャングリアの料金がしゃれてる 外人料金なんてやるとまた差別ガーって騒ぐ奴がいるけど、「一般」「国内在住者」って分けることで、国内在住の外人は普通の日本人と同じ料金だから差別になってないもんね インバウンドに悩む観光地で取り入れて欲しいロジックだ pic.x.com/eVauqPT277 2025-...
- 「差別語」を考えてみる・その1~参政党代表発言からon 2025年7月26日 at PM 10:19
参政党代表からある差別語が飛び出しました。すぐ「ごめんなさい」と謝りましたが、その表情は明るく、聴衆から笑いさえ漏れました。そこで今回から、校閲にとって避けられないテーマでありながら今まであまり取り上げてこなかった「差別語」について考えます。 参院選で躍進した参政党がなにかと話題になっていますが、...
- 離島で野生化したネコ 渡り鳥約3万5000羽捕食か 生態系に影響 | NHKon 2025年7月26日 at PM 8:39
日本近海で繁殖するオオミズナギドリの最大の繁殖地、伊豆諸島の御蔵島で野生化したネコが年間およそ3万5000羽のオオミズナギドリを捕食しているとする試算を森林総合研究所などの研究グループがまとめました。 オオミズナギドリは、日本近海で繁殖する渡り鳥で、最大の繁殖地として知られる伊豆諸島の御蔵島では1970年...
- 参政党 またも「報道特集」に抗議「捻じ曲げ」 2放送連続抗議の異常事態 前回はBPO→今回「偏向報道の抗議に仕返しするかのような報道」 取材回答期限1日だったと内幕/デイリースポーツ onlineon 2025年7月26日 at PM 6:20
参政党 またも「報道特集」に抗議「捻じ曲げ」 2放送連続抗議の異常事態 前回はBPO→今回「偏向報道の抗議に仕返しするかのような報道」 取材回答期限1日だったと内幕 拡大 参政党・神谷宗幣代表が26日夜にX(ツイッター)投稿で、同日のTBS「報道特集」の放送内容に対して「先日、BPOに申し立てをした...
- 佐賀・玄海原発にドローン3機が侵入 設備に異常なし 県警捜査 | 毎日新聞on 2025年7月26日 at PM 5:06
九州電力の玄海原発1号機(手前右)、2号機(同左)、3号機(奥右)、4号機(同左)=佐賀県玄海町で2024年4月24日、本社ヘリから 原子力規制委員会は27日、九州電力玄海原子力発電所(佐賀県)の構内で26日午後9時ごろ、ドローン3機の飛行が確認されたと発表した。「原子力施設の運転に影響を及ぼす恐れがある核物質防...
- 京極夏彦「魍魎の匣」を読んで「ハコ」を表す漢字って主に5つあるけど、どう違うのかと思ったら、それぞれに意味が違うon 2025年7月26日 at PM 4:07
道民の人@8/17(日) C106 東5【セ-21b】|『侘び旅寂び宿』(二見書房)全国書店発売中! @North_ern2 そういえば「ハコ」を表す漢字って主に箱・函・匣・筐・筥の5つあるけどどう違うんだろうと思ったら 箱→よくあるハコ 函→物をしまっておく四角いハコ。櫃のこと 匣→フタがついたハコ、または小さいハコ 筐(筺)→服や食料...