もうね、ひたすら脱力。
ややこしいデータで、ヒットしない(その名称が含まれない)可能性は色々考えられたので、あれやこれや調べていた。その後だっただけに尚更。
で、その
日本語の横棒記号に絶望した - taichino.com
----------引用ココから
まず半角記号の’-'はハイフンマイナス(0x2d)と呼ばれていて、ハイフンとマイナスの意味を包含した記号になっています。ASCIIコードのビット数の制限があった事を考えても、センスの良さが光る決定だと思います。文脈でハイフンかマイナスかは容易に判断できる訳です。ハイフンとマイナスを別々にしていたら、今頃マイナスのつもりで書いたハイフンに対するコンパイルエラーで世界中のプログラマのイライラは100%水増しと言った状況なわけです。世界平和に繋がっているといっても過言ではありません。
一方でJIS記号由来でunicodeに採用されている一連のマルチバイトな横棒のセンスのなさと言ったらありません。色んな文脈で使われる横棒を全部別々に定義してしまっています。
----------引用ココまで
一般論として、文字の意味を分けて定義しておくというのは、間違った選択ではないと思うんですよね。
統合されたものを分離し直すより、分離されているものを統合し直すほうが遥かに楽なわけです。前者にはなにがしかの判断が(それが「容易」なものであれ)必ず必要ですが、後者は機械的におこなうことができますから。
ただし、ここまで見た目が紛らわしい文字を、ここまで細かく分けて定義してしまっているというのは、間違いなく悪手でしょうね。
ユーザの選択能力を過大評価したのか、単に何も考えていなかったのか…。
慣れた人でも注意深く使い分けないといけないので、慣れていない人の場合は推して知るべし。
さらに、PC上の文字はコードにより抽象化されているということを知らない人の場合、説明しても「見た目は同じなんだから、なんでダメなの?」となってしまうのです。んがくく…。
ちなみに、自分の場合は「-(半角ハイフン マイナス)」、「-(全角ハイフン マイナス)」、「ー(長音)」、「一(漢数字の 1)」を "注意深く" 使い分けるので手一杯です。それ以外は意識的に無視して使わないようにしています。
もっとも、それだけに今回は「―(ダッシュ)」に考えが及ぶのが遅れたんですが…はぁ…。