「-」「−」「–」「—」「ー」は、似ていても別の文字です。単語をつなぐならハイフン、引き算ならマイナス、範囲ならダッシュ、音を伸ばすなら長音符と、まず用途で区別すると整理できます。
厄介なのは、キーボードから入力しやすい「-」が、ハイフンとマイナスの両方を兼ねて使われることです。印刷物での使い分けと、プログラムへの入力とでは、適切な文字が違う場合もあります。
似ている横棒の早見表
表の「U+」で始まる番号は、Unicodeで文字を区別するためのコードポイントです。同じ字体に見えても、番号が違えば文字データとしては別物です。
| 文字 | 名称 | 主な用途・例 | コードポイント |
|---|---|---|---|
| – | ハイフンマイナス HYPHEN-MINUS |
一般的なキーボード入力。英単語の連結や、プログラム中の減算など | U+002D |
| ‐ | ハイフン HYPHEN |
単語の連結など。well‐known | U+2010 |
| − | マイナス記号 MINUS SIGN |
減算・負の数。5 − 3、−2 | U+2212 |
| – | エンダッシュ EN DASH |
範囲や二項の関係。pp. 10–15 | U+2013 |
| — | エムダッシュ EM DASH |
文中の挿入・中断・区切り | U+2014 |
| ― | ホリゾンタルバー HORIZONTAL BAR |
一部の組版で引用の導入などに使用 | U+2015 |
| ー | 長音符 KATAKANA-HIRAGANA PROLONGED SOUND MARK |
母音を伸ばす。コーヒー、メール | U+30FC |
| - | 全角ハイフンマイナス FULLWIDTH HYPHEN-MINUS |
ハイフンマイナスの全角互換文字 | U+FF0D |
字形はフォントに左右されます。「長い方が必ずエムダッシュ」「中央にあるから必ずマイナス」という見た目だけの判定は確実ではありません。とくに「—」と「―」、「‐」と「-」は、表示環境によって非常によく似ます。
ハイフンは単語、マイナスは計算に使う
英語のハイフンは、well-known のような複合語や、行末で単語を分けるときなどに使います。ハイフン専用の文字「‐」もありますが、日常の英文入力では「-」が広く使われています。
一方、マイナス「−」は数学の記号です。5 − 3 のように二つの数の間に置けば減算、−2 のように数の前に置けば負の数を表します。数学用のフォントでは、プラス記号「+」と高さや幅がそろうように設計されるのが一般的です。
ここで「-」という名前が HYPHEN-MINUS であることが効いてきます。この文字は両方の役割を兼ねるため、普通のテキストで「5 - 3」と書くことまで一律に誤りとはいえません。ただし、数式をきちんと組版するときには、マイナスとして扱うのが適切です。
LaTeXなどの数式入力では、入力した - を数式エンジンがマイナスとして組版します。たとえば $5-3=2$ の入力に使う文字と、画面に現れる記号の形は、分けて考える必要があります。
エンダッシュとエムダッシュの違い
エンダッシュ「–」は、英語で数値やページなどの範囲を示すときによく使われます。10–15 は「10から15まで」、2020–2025 は「2020年から2025年まで」という具合です。日本語では「10〜15」のように波線で書くことも多いですね。
エムダッシュ「—」は、文の途中に説明を差し込んだり、流れを区切ったりする際に使います。たとえば The result—after three trials—was unchanged. は、「3回試した後でも」という補足を挟んだ文です。
ただし、出版物の表記規則によっては、このような挿入に、前後を空けたエンダッシュを使います。ダッシュの前後を空けるかどうかも、言語や媒体のルール次第です。「英文中の長い棒はすべて同じ」「この空け方だけが正しい」と覚えるのは避けましょう。
enとemは組版の長さに関係する名称ですが、文字の実際の長さはフォントの設計によって変わります。エムダッシュが、どんな画面でもエンダッシュのぴったり2倍に見えるわけではありません。
「コーヒー」の棒は長音符
「コーヒー」の「ー」は、直前の音の母音を伸ばす長音符です。英語の区切り記号でも、引き算の記号でもありません。
そのため、「メール」を「メ—ル」や「メ−ル」と入力すると、見た目が似ていても異なる文字列になります。人は読めても、完全一致による検索やデータ照合では一致しないことがあります。名前や商品名をコピーしても検索に出ないときには、この違いが手掛かりになります。
コピーした式やコマンドが動かないとき
プログラムやコマンドでは、見た目よりもその言語・入力欄が指定している文字を優先します。たとえばPythonの減算演算子は、半角の - です。文書用の「−」に置き換えた 5 − 3 を、そのままPythonの式として入力することはできません。
逆に、読み物中の数式を整えるつもりで、コード全体の「-」を「−」や「–」に一括置換すると、計算式やオプション名を壊すおそれがあります。文章・数式・コードを同じ置換規則で処理しないことが大切です。
- 英文の単語をつなぐ:ハイフン。通常の入力では
-が広く使われる。 - 数式を見やすく組版する:マイナス「−」、または数式エンジンを使う。
- 英文の範囲を表す:媒体の規則に沿ってエンダッシュ「–」などを使う。
- 日本語の音を伸ばす:長音符「ー」。
- コードや指定形式の入力:仕様で求められた文字を変えない。
参考資料
- Unicode Standard 17.0, Chapter 6:ハイフン・ダッシュ・マイナスの区別。
- Unicode Standard 17.0, Chapter 18:長音符と全角・半角の文字。
- Microsoft Style Guide:Em dashes, en dashes, hyphens, and minus signs:英文での用途と表記例。
- Python言語リファレンス:Lexical analysis:演算子として認められる文字。
文字の名称はUnicode 17.0を参照。資料確認:2026年10月2日。
