私はバーコードが好きだ。それも、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画像を読み取ったところ。ベンリに使えるかも
最新ニュース
はてなブックマーク - 新着エントリー - 総合 新着エントリー
- 京都府、40年前に廃線になった鉄道とは 「織物やニッケルを運んだ」詳しい地元住民が語る|京都新聞デジタル 京都・滋賀のニュースサイトon 2025年12月7日 at AM 7:48
京都・滋賀の暮らしや仕事に役立つニュースをお届けします。 無料会員向け記事が読める ニュースレターで最新情報を受け取れる プレゼント企画に応募が出来る サービス内容や料金をもっと詳しく
- 30年近く極秘の存在だった世界初のマイクロチップ「MP944」とは?on 2025年12月7日 at AM 7:00
世界で最初の民生用マイクロプロセッサはIntelとビジコンが1971年に開発したIntel 4004といわれています。しかし、軍用も含めるとジェット戦闘機・F-14に搭載されたこのMP944の方がわずかに早く登場しています。しかし、MP944は軍用ということで、30年近く機密事項となっていました。 World's First Microprocessor | 50...
- 幹事が選ぶべき居酒屋(決定版)on 2025年12月7日 at AM 6:14
酒クズ&永久幹事の俺が、新米幹事の皆さんに選ぶと良い店を教えたいと思う。 ダメな店は、この人が書いてくれてるので参考にしたら良いよ。 https://note.com/yumisakekasu/n/n2891015920bb ⚫︎和食編 ・刺身が美味い個人店 刺身が美味い店は、魚の質が良く、技術があるので揚げ物でも焼き物でも煮物でも何でも美味い。 ...
- 廃線の危機乗り越え、名松線開業90周年 伊勢奥津で記念列車出発式:朝日新聞on 2025年12月7日 at AM 6:13
三重県中部を走るJR名松(めいしょう)線が開業90周年を迎え、JR東海は7日、津市美杉町の伊勢奥津駅で記念列車の出発式を開いた。駅周辺では市主催の関連イベントもあり、災害による廃線の危機を乗り越えて…
- 「家族みんなが出かけたと思い込んで、ウキウキと饅頭を盗む犬」気付いた後の変化があからさますぎる(※食べてません)on 2025年12月7日 at AM 6:13
家族が出かけたと思い込み饅頭をくわえて逃げようとした犬。飼い主がまだいたと気づいた瞬間、固まったように表情と尻尾がしゅんと下がり、慌てて放す仕草を見せる。飼い主の叱責を想像してまずい!と思う顔や「偶然落ちてた」と言い訳しそうな間が愛らしく、視聴者は一斉に笑顔と共感を示している。今回の一件で犬は素...
- B’z東京ドーム公演で販売された「体感S席」が「見えづらい、聞こえづらい」レベル越えで通常のS席と同じ13,000円「別料金にするべきでは」on 2025年12月7日 at AM 6:05
B’z東京ドームの「体感S席」は、視界や音が著しく悪く、正規S席と同額の13,000円は不当と感じる声が相次ぐ。モニターが斜めで見えにくい、音がこもる・変化するなどの報告があり、席配置が過密で本来設けないはずの位置まで販売された疑いがあるとの指摘もある。区画によっては大幅に価値が下がるため、料金設定や販売方...
- 「エーッ、こんな事情があったのかい⁉️」正体不明のグラビアアイドルが数ヶ月後にAV女優へ転身、その背景にもAV新法の存在があったon 2025年12月7日 at AM 5:44
平 裕介 Yusuke TAIRA @YusukeTaira 弁護士JPさんの取材に回答した内容が記事として公表されました。よろしくお願いいたします! “AV新法”が招いた「地下化」と「現場の疲弊」 施行後2年で見直されるはずが…3年以上経過も“放置”続ける政府の不誠実さ【弁護士解説】|弁護士JPニュース編集部 (2025年12月5日) ben54.jp/n...
- 客は我々だけの焼肉屋で食べていたら店に電話が入り、電話を切った後店長が『もうラストオーダーにしなくちゃいけません』と言ってきた→その後の展開に納得しかなかったon 2025年12月7日 at AM 4:56
2人で貸切状態の焼肉店で食事中、店長が電話応対後に「ラストオーダーにしてください」と告げる。その後力士4人が来店し、店は肉が無くなるため早めの注文を促しただけだったと判明。最初は無礼に感じたが納得した。

