私はバーコードが好きだ。それも、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年10月16日 at AM 8:45
ぴぃ&4歳+🥚 @pi_chan38 わたしは幼稚園の運動会にしても発表会にしても全部端っこでやらされてて、真ん中の先生の目の前の目立つところで踊れてる子たちが羨ましくて仕方なかった。 娘もいつも端っこだから運悪いなと思ってたら、昨日「先生がいなくても1人で動けて上手に踊れる子は端っこです」って言われて目から鱗。...
- 板垣伴信氏(『ニンジャガイデン』『デッドオアアライブ』)が逝去。Facebookに最期のメッセージが投稿される | ゲーム・エンタメ最新情報のファミ通.comon 2025年10月16日 at AM 8:43
『デッドオアアライブ』、『NINJA GAIDEN』などで知られるゲームクリエイターの板垣伴信氏が逝去した。関係者への取材により明らかになったもの。 板垣氏のFacebookアカウントには、死去後に公開されるよう設定されていたとみられる“最後のメッセージ”が投稿されており、ファンや関係者のあいだで大きな反響を呼んでいる...
- 板垣伴信氏、「私はもうこの世にはいない」と逝去を思わせるメッセージ公開。『NINJA GAIDEN』『デッド オア アライブ』を生み出したレジェンド。SNSに代理人が投稿したとみられ、「この文章が投稿されたということは、遂にその時が来たということだ。私はもうこの世にはいない」と記したon 2025年10月16日 at AM 8:37
『スプラトゥーン2』に“約3年ぶり”の更新データが配信。ニンテンドースイッチとスイッチ2、リーグマッチに両方の機種のプレイヤーがふくまれているとき、リーグパワーが変動しないことがある問題を修正
- ゲーミングPCてこんなに面倒なものだったんだなon 2025年10月16日 at AM 8:30
とにもかくにも高い その割にPS5とかと画質に大きな開きがない PS5の3倍以上の値段するのに画質の向上は何割もあるかどうかってレベル そして熱い 特に夏場は凄かった 電源入れる気も起きなかった そしてうるさい 職場のフロアの片隅にサーバーラックあるんだけど、あれと同じくらいのファンの音がずーっと鳴ってる そり...
- 秋の旅行の準備にぴったり!無印良品で見つけた、あると便利なトラベルアイテム - ソレドコon 2025年10月16日 at AM 8:30
暑さがやわらぎ、ようやく過ごしやすい季節になってきました。 10月〜11月は3連休も多く、旅行に出かける方も多いのではないでしょうか。 今回は面倒な荷造りや、旅先での宿泊を快適にしてくれる「無印良品の便利なトラベルアイテム」をご紹介します。 無印良品 ポーチとしても使える 撥水サコッシュ 無印良品 ポリエス...
- 日本のGDP、インドに抜かれ世界5位へ IMF2026年見通し - 日本経済新聞on 2025年10月16日 at AM 8:12
日本の名目GDP(国内総生産)が2026年にインドに抜かれる見通しとなった。国際通貨基金(IMF)が14日に発表した最新の推計によると、日本は26年に4兆4636億ドルと世界4位から5位に後退する。為替が円安傾向にあり、ドル建てでGDPが目減りしている影響が大きい。日本のGDPは24年に4兆193億ドルと米国、中国、ドイツに次い...
- 身に覚えのない容疑で逮捕され294日に及ぶ長期勾留のすえ、無罪が確定した元保育士男性の話… 逮捕の根拠となった「同僚2人の証言」にはすりあわされた疑いon 2025年10月16日 at AM 8:10
NHKニュース @nhk_news 元保育士の男性はある日、身に覚えのない容疑で逮捕されました 取り調べの中で「99.9%勝てないんだよ」などと言われ、「うそを言えば出してくれるのかな」と考えるほどに追い詰められていったと言います 長期勾留のすえ、無罪が確定した男性の証言です news.web.nhk/newsweb/na/na-… 2025-10-15 2...
- 結婚しました - 桐生あんずですon 2025年10月16日 at AM 8:02
桐生あんずです。 2025/10/16付で婚姻届を提出し、結婚しました。 この記事自体は10/13(月)に書いていて、それを予約投稿したものとなります。おそらく投稿される時には役所での提出が完了して書類不備がなければ受理されているはず。 今後も変わらずよろしくお願いします 自分の周りの人が出している結婚エントリを書い...