私はバーコードが好きだ。それも、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月10日 at AM 6:40
イスラエルのカッツ国防相は10日、地中海で拘束したスウェーデン出身の環境活動家、グレタ・トゥーンベリさんらに対し、パレスチナ自治区ガザ地区のイスラム組織ハマスによる虐殺の動画を見せたと明らかにした。イスラエルメディアが報じた。グレタさんらは途中で見るのを拒否したとし、カッツ氏は「彼らは真実から目を...
- Luupが訪日中国人向け施策を強化 WeChatから一部サービス利用可能にon 2025年6月10日 at AM 5:03
中国人観光客向けビザの発給要件を緩和する政府の方針を踏まえた施策。これまでは中国人観光客がよく使う決済手段をサポートしておらず、増加するニーズに対応できていなかったところ、WeChatからの支払いを可能にし、需要に応えるという。 関連記事 電動キックボード初の死亡事故、車両はLuup 同社が声明 「ルール順...
- 性犯罪再犯の川口クルド人「無理やり何もしていない」公判で全面否認 妻とアリバイ工作も 「移民」と日本人on 2025年6月10日 at AM 4:57
埼玉県川口市内で女子中学生に性的暴行をして執行猶予中に、別の少女に再び性的暴行をしたとして不同意性交の罪に問われたトルコ国籍のクルド人で無職、ハスギュル・アッバス被告(22)の第5回公判が9日、さいたま地裁(室橋雅仁裁判長)で開かれ、同被告は被告人質問で「無理やり何もしていない」などと起訴内容を全面...
- トランプ氏、グレタさんに「怒りの制御学べ」 因縁の相手に再び:朝日新聞on 2025年6月10日 at AM 4:48
トランプ米大統領は9日、スウェーデンの環境活動家グレタ・トゥンベリさん(22)について「アンガー・マネジメント(怒りの制御)の教室に通うべきだ」などと揶揄(やゆ)した。トランプ氏は1期目もグレタさん…
- ケネディ米保健福祉省長官、ワクチン諮問委員17人全員解任 「利益相反ある」on 2025年6月10日 at AM 4:41
米上院保健教育労働年金委員会で証言する保健福祉省のロバート・ケネディ・ジュニア長官=5月20日/Tasos Katopodis/Getty Images/File (CNN) 米保健福祉省のロバート・ケネディ・ジュニア長官は9日、疾病対策センター(CDC)の予防接種実施諮問委員会(ACIP)の全委員17人を解任し、新たなメンバーに...
- 「なろうで軍記物を書きたいです。兵站についておしえてください」→作家や軍人達は「俺が知りてえわ」とツッコみ、歴史上の名将達も「兵站チョットワカル」となるくらいの難問にみんなで頭を悩ませるon 2025年6月10日 at AM 4:11
サムハラ @meizi_samuhara Q.なろうで軍記物を書きたいです。兵站について教えてください。 軍記物作家「俺が知りてえわ」 ミリオタ「俺が知りてえわ」 自衛官「俺が知りてえわ」 諸外国軍人「俺が知りてえわ」 2025-06-09 12:41:15
- [第37話] スライム聖女 - 八緒あいら/午子 | となりのヤングジャンプon 2025年6月10日 at AM 4:07
スライム聖女 八緒あいら/午子 人間に憧れた最弱魔物(スライム)が転生した先は、 聖女だけど性格最悪な極悪令嬢…!? 恨まれ嫌われている最底辺ステータスから、 正体がバレたら即終了のスライムが 安心安全に暮らすために愛され聖女に成り上がる…!
- 医療現場で子どもたちに寄り添う ポケモンの小児向けMRI検査説明用動画|株式会社ポケモン|The Pokémon Companyon 2025年6月10日 at AM 4:07
医療を受ける子どもたちを、ポケモンの力でサポートしたい。そんな思いから、ポケモンはキヤノンメディカルシステムズと共同で、小児向けのMRI検査説明用動画『ポケモンといっしょにMRIけんさのようすをみてみよう!』を制作しました。 以前から、小児医療の現場には大きな課題がありました。そのひとつが、子どもたちが...