デザイン上、白抜きで文字をレイアウトしたいことがよくあります。背景が濃色の時は白枠をつけない限りそのようなデザインにします。ただし、バーコード類は、濃色と淡色を逆転することはできないのです。
いただいたおみやげ品の開封の儀の途中、カードが出てきてQRコードが入っているなということはすぐに見えましたが、赤いカードに白抜きでコードが印刷されいるのです。読めないだろうと直感的に思いましたので早速試してみました。
まあ、読めなくても不思議は無いのですが、誰も試さなかったのでしょうか。それとも、担当者の端末ではたまたま読めちゃったのかな(そうかもしれない)。ちなみに、デジタル的に反転して表示させたものは読めました。ちゃんとしたコードでよかったですが、もし誰もチェックしないままスルーして世に放たれてしまったものとすると、悪意を持ったとんでもないコードであっても、誰かが被害に遭うまで気づかないってことですよね。
やばすぎ。
濃色背景へのコード表示は白背景を付ける
今ではQRコードは JIS なり ISO なり規格化されていますので、必要な方は個別に入手してください(有料)。というわけで規格を見たことがないので経験だけで申しあげますが、正しくコードを読み取らせるためには白背景にスミ100%で表示しておくことが望ましいようです。
いくら再現性の高いQRコードとはいえ、例示の左側のように、コードを反転してもまず読み取れませんので、右側のように白背景(クワイエットゾーン)をつけるのが正しい表示方法です。これは2次元コードに限らず、1次元のバーコード等でも同じです。
なお、回転方向や左右反転などは同じコードとして読み取れます
※ コードリーダーの進化により、明暗反転でも読み取れるものが多くなりました。低コントラストなものはやはり読み取れないことがあるようです。赤色光照射して読み込むリーダーでは、赤色で印刷されたコードは低コントラストと判定され、かなり読み取りにくい傾向のようです。
たまたま手近にあった品物についていたコードはやはり白枠がついています。
1色刷りの場合は、できるだけコントラストを付けなければ読み取られない覚悟も必要です。そんな覚悟をするくらいなら、手近な端末を使ってテストしてみて、ダメなら諦めたり他の方法を考えたりするのが建設的と思います。
簡単に済むチェックを怠りませぬよう
先に述べたように、ちょっと手持ちの端末で確かめてみれば、読める読めないの判断はできるものと思います。せっかく配置したコードが使われない無意味なものになっては、ただの模様になっちゃいますからね!
ただ模様になってるだけならまだしも、悪意のある何者かによってとんでもないコードを埋め込まれたりしたらそのダメージは小さくないかもしれません。
JIS規格を閲覧するには本気じゃないと見られないビミョーな値付けです。
ISO規格は30000円。誰もが気にせず無視して成立している規格を閲覧するには躊躇どころではない。
参照できるサイトもあります
※ 2023年に追記した