私はバーコードが好きだ。それも、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年6月3日 at AM 5:28
くろまめ @toichicyan 私ガテン系の会社なんだけど、少年院出の子を受け入れてほしいと保護司さんから頼まれたとき、その方が言った「彼の罪名は明かせませんが性犯罪と子供への犯罪ではないです」が印象的だった やっぱり行く先々でその二つは断られるんだろうな x.com/DUKlZSyDq66999… 2025-06-02 20:35:38 🌧️🎶 @DUKlZSy...
- 全国銀行協会“貸金庫で現金預からない”方針へ 不祥事相次ぎ | NHKon 2025年6月3日 at AM 5:05
金融業界で貸金庫をめぐる不祥事が相次いだことから、全国銀行協会は近く、貸金庫では現金を預からないという「サービス規定のひな型」を示す方針です。巨額の窃盗事件があった三菱UFJ銀行も今後、現金を預からない方針を固め、全国の金融機関に同様の対応が広がる見通しです。 金融機関の貸金庫をめぐっては、三菱UFJ銀...
- テレビ番組用にディズニーのアナの衣装を貸して欲しいという連絡がきたが、見返りがクレジット掲載くらいだったので誰が大事な衣装貸すか、となった件on 2025年6月3日 at AM 4:51
ふー@6/8🌊6/22a! @maomikurashi 自分らで買えや なにがクレジット載せますだボケ 衣装壊れたら?どうすんや?お?あと単純に知らん人の汗染みつくのまじで無理無理無理 テレビってさ、一般人の映像を無償提供軽率に持ちかけたりまじで嫌いなんだよ 楽すんなよ 2025-06-02 12:44:51 ふー@6/8🌊6/22a! @maomikurashi 因...
- 剣道で「喧嘩は相手から目を逸らさない、目を見ると予備動作が見える」と父に教わった通りに実践したら先生に褒められた→実際は目を見るより全体をふんわりと見るらしい?on 2025年6月3日 at AM 3:56
オルガ・ド・エロチカ @orga_d_erotica 子供の頃、父親から「喧嘩のときは相手の目を見て、そらすな。手が出るか足が出るかと目線を外すと次の手が見えない。目を見てると予備動作が見える」と言われて、大学の体育の剣道で面ごしに先生をじっと見てたらお互い打ち込まずにじりじりして終わり、先生に「お前の殺気が一番...
- 訪日客を困らせる「ごみ箱がない」問題 清潔さは評価、でも最大の不満on 2025年6月3日 at AM 3:56
日本の観光地は公共のごみ箱が設置されていないにもかかわらず清潔に保たれている/Philip Fong/AFP/Getty Images (CNN) シンガポールで日本について教えている大学教授は、学生を連れて訪日するたびに必ず尋ねられることがある。「なぜごみ箱がどこにもないの?」 増え続ける欧米からの訪日客も首をかしげる。公共...
- 【速報】自民の別姓推進派が党議拘束かけぬよう要求on 2025年6月3日 at AM 3:49
自民党で選択的夫婦別姓制度の推進派として知られる井出庸生衆院議員は3日の党総務会で、党の「基本的な考え方」に推進派の意見が反映されていないと不満を示し、関連法案採決時に党議拘束をかけないよう求めた。
- 「google.co.jp」終了。Google検索の国別ドメイン名廃止がついに実施【やじうまWatch】on 2025年6月3日 at AM 3:19
「google.co.jp」終了。Google検索の国別ドメイン名廃止がついに実施【やじうまWatch】
- 「サブスクが無料になる裏ワザ」と言ってコマンド打たせる手口がtiktokなどで流れてくるらしい、子供とPC共有は危険かもon 2025年6月3日 at AM 3:16
嶋田大貴 @shimariso 「サブスクが無料になる裏ワザ」とか言ってPowerShellのコマンド打たせる手口があるのか。脳がシンプルな人たちをカモる方法はシンプルイズベストやな。 2025-06-02 10:13:09 嶋田大貴 @shimariso 昔から人の素朴さに付け入る騙しの手口自体はあったのだけど、ブラクラにしろHDD消去にしろ暴露ウィ...