ハイフンとダッシュ

テキスト中で単語の接続、範囲の表示、挿入句の区切りなどに使われる横線記号。ハイフン (-)、en ダッシュ (-)、em ダッシュ (-) は見た目が似ているが Unicode 上は別の文字。

ハイフンとダッシュは、見た目が似ているために混同されやすい横線記号です。Unicode では明確に区別されており、ハイフンマイナス (U+002D)、ハイフン (U+2010)、en ダッシュ (U+2013)、em ダッシュ (U+2014)、水平バー (U+2015) など、複数の横線文字が定義されています。それぞれ用途が異なり、正しく使い分けることが組版の品質を左右します。

ハイフンマイナス「-」(U+002D) は ASCII に含まれる唯一の横線文字で、キーボードから直接入力できます。プログラミングではマイナス演算子として、URL やファイル名では単語の区切りとして使われます。本来はハイフンとマイナス記号を兼用するための妥協的な文字ですが、実用上はこの 1 文字で大半の用途をカバーしています。

en ダッシュ「-」(U+2013) は数値の範囲 (例: 1990-2000、pp. 10-20) や対比 (例: Tokyo-Osaka) を表すのに使います。em ダッシュ「-」(U+2014) は挿入句の区切りや文の中断を示します。英語の出版物ではこの使い分けが厳密に守られますが、ウェブや日常的な文章ではハイフンマイナスで代用されることが多いのが実情です。

日本語では、ダッシュの代わりに全角ハイフン「-」(U+FF0D) や長音記号「ー」(U+30FC)、二倍ダッシュ「--」(U+2014 × 2) が使われます。日本語組版では、ダッシュは全角幅 (1em) または二倍幅 (2em) で使うのが標準です。半角のハイフンマイナスは日本語の文中では幅が狭すぎるため、全角ダッシュや全角ハイフンが好まれます。

文字数カウントの観点では、これらの横線文字はすべて 1 文字としてカウントされますが、バイト数は異なります。ハイフンマイナス (U+002D) は UTF-8 で 1 バイト、en ダッシュ (U+2013) と em ダッシュ (U+2014) は 3 バイトです。バイト数ベースの文字数制限では、ダッシュの種類によって消費するバイト数が異なることに注意が必要です。

プログラミングでは、ハイフンマイナスが識別子に使えるかどうかは言語によって異なります。CSS のクラス名やプロパティ名にはハイフンが使えますが (kebab-case)、JavaScript の変数名には使えません。URL のパス部分ではハイフンが推奨され (SEO 上、アンダースコアよりハイフンが有利)、ドメイン名でもハイフンは使用可能です (ただし先頭と末尾は不可)。

この記事を共有