ハイフンマイナス

ハイフンマイナス (hyphen-minus) あるいはアスキーハイフン () は、ラテン文字とともに使われる記号 (-) であり、通常は半角幅の横棒である。約物のハイフン (‐) や演算記号のマイナス (−) の意味で使われる記号である。ASCII、JIS X 0201などのISO/IEC 646系の文字コードや、ISO-8859-1などのISO/IEC 8859系の文字コード、UTF-8などのUnicode系の文字コードにおいて0x2Dの符号位置を持つ文字である。

概要 
ハイフンマイナスはタイプライター等の記号として入力が可能であった横棒の意味として、演算等で用いる（二項および単項）演算子のマイナスの用途と、欧文等で単語区切りに使用する約物のハイフン、単語途中での改行時に使用するソフトハイフン、区切りを表すダッシュなどの複数の意味で使用されていた。

その後汎用的なコンピュータなどが普及し始め、文字コードとしてその記号を1つの符号位置で表現するようになった。7ビットの文字コードとして標準化する際に ISO/IEC 646 では 0x2D の符号位置を規定した。一方で EBCDIC では多くの場合 0x60 の符号位置を与えていた。日本で標準化された JIS C 6226:1978 ではハイフン、マイナス、ダッシュのそれぞれに符号位置を与えた。8ビットの文字コードとして登場した ISO/IEC 8859 ではダッシュやソフトハイフンには別の符号位置を与えた文字集合も出てきたが、ハイフンおよびマイナスは区別されなかった。

その上で今まで 0x2D として存在した文字に対する意味づけをする必要が出てきたが、ハイフンにするのか、マイナスにするのかについて歴史的な資産や、技術的な問題、業界内の派閥の問題などにより一方だけに絞ることができなかった。そこで苦肉の策としてハイフンおよびマイナスを包摂した文字とすることとなり、hyphen-minus という名称を付けた。

その後、Unicode などが ISO/IEC 646 などと互換を取る形で制定されたが、U+002D の符号位置の文字はハイフンマイナスとなっている。

JIS X 0208 においては元々ハイフンとマイナスがそれぞれ別区点位置に与えられているためハイフンマイナスという文字は規定されなかったが、2000年に規格化された JIS X 0213 においては ISO/IEC 646 や 8859 といった国際規格との互換性のため、ソフトハイフンとともに符号位置を与えられるようになった。

ほとんどのプログラミング言語では文字集合が ASCII に限られているため、減算や負数を表すのにユニコードの  ではなくハイフンマイナスを用いる。

 (en dash, –) は歴史的には小文字の "n" と同じ幅を持つダッシュである。用法としては、範囲を表したり（例えば "2000–2004"）、形容詞の複合を表したり（例えば "Italian–American relations"、イタリアとアメリカの関係）する。エヌダッシュは通常ハイフンよりも長いが、固定幅フォントやタイプライターフォントでは差が無いこともある。2つのハイフンマイナスを連続して並べることでエヌダッシュを表すこともあり、これは後に TeX で用いられることとなる。

 (em dash, —) は歴史的には小文字の "m" と同じ幅を持つダッシュである。2つあるいは3つのハイフンマイナスを連続して並べることで表すこともあり、TeX は後者である。

これらの記号の幅は、ハイフンよりもマイナスやエヌダッシュの方が長く、エムダッシュはそれよりもさらに長い。ハイフンマイナスは、そのハイフンとしての用途から、ほとんどのフォントではマイナス記号との差異が明確に分かる。マイナス記号はプラス記号から縦棒を無くしたような形で、ハイフンマイナスとは高さや厚さも異なる。マイナス記号を表すのにハイフンマイナスよりもエヌダッシュの方が正しい長さに近いので好まれることがある。

符号位置

脚注

関連項目 
 ハイフン
 プラス記号とマイナス記号
 ダッシュ (記号)

約物
減法