Unicodeにあるハイフン/マイナス/長音符/波線/チルダのコレクション

Unicodeにある文字の中からハイフンのような横棒と波線を集めてみました。複数あるのはわかっていたつもりでしたが、こんなにたくさんあるとは思いませんでした。

横線に関しては、ハイフンや長音符(カタカナの長音記号)、罫線など、線が横に延びているものです。縦方向や斜めの線は除きます。ほとんど横線だけどほんのちょっとだけ斜め(主観)になっているものは含みます。点線や矢印、線が2つ以上に分かれているものは除きます。途中で曲がっているものも除きます。横線が上の方だったり下の方だったり、太さが途中で変わるものも含めています。

波線に関しては、横方向の線が、直線ではなくS字カーブになっているもので、縦や斜めのS字を除きます。 S字カーブを超えて複雑な曲線も除いています。ただ、文字の名前に “wave” とか “dash” とか付いているものは複雑なカーブでもここに含めています。

横線/波線は自分の主観で簡単に分類しています。

文字の表示は、閲覧環境にあるフォントとブラウザのレンダリングに依存していますので、正しく表示されない文字も多いかもしれません。自分の環境でも半分ぐらい表示されません。結合文字もありますが、ブラウザでの表示でちゃんと結合してくれないものもありますね。結合文字というのは、”が”に付いている濁点や”Å”の上に付いている丸印など、直前の文字と結合して重なって表示させる文字で、前に結合できる文字があることが前提の記号類です。

これらで全部かどうかはわかりません。自分が目で探しただけなので、見落としもあると思います。

横線

ハイフン/マイナス

ハイフンとマイナスの両方の意味で使われるものです。

Unicodeでは、同じ形の文字でも別の意味や使われ方をするものは別の文字として区別されます。漢字は多少形が違っていても同じ文字であれば国を超えて統合されていますが、ひらがなの”へ”とカタカナの”ヘ”は同じ形でも別の文字として区別されていますよね。

同様にハイフンとマイナスも本来別の文字になりますので、ハイフンを意味する文字とマイナスを意味する文字と別々に存在します。しかしUnicode以前から使われていた文字コードの多くで 0x2Dがハイフンとマイナスの両方の意味で使われていましたので、Unicodeでは互換性のためにU+002Dとそれに関連するいくつかはハイフンとマイナスの両方の意味の文字になっており、引き続き両方の意味で広く使われています。

002D U+002D Hyphen-Minus: よく使われる普通の半角ハイフンマイナス
FE63 U+FE63 Small Hyphen-Minus: 小さいハイフンマイナス。NFKD/NFKC正規化で U+002D
FF0D U+FF0D Fullwidth Hyphen-Minus: 全角ハイフンマイナス。NFKD/NFKC正規化で U+002D

ハイフン

U+002Dが過去との互換性のためにハイフンとマイナスの両方の意味を持つのに対して、以下はもっぱらハイフンの意味を持ちます。

ソフトハイフンは、普段は表示されない見えない文字ですが、単語の中に埋め込むことでここで折り返しをしてもよいことを示し、折り返された場合にハイフンが表示されます。

00AD U+00AD Soft Hyphen: ソフトハイフン
2010 U+2010 Hyphen: U+002Dとは別の普通のハイフン
2011 U+2011 Non-Breaking Hyphen: 折り返しをしないハイフン。NFKD/NFKC正規化でU+2010になる
2043 U+2043 Hyphen Bullet: ビュレットとして使うハイフン(ビューレットとは箇条書きの先頭につける記号)

その他にヘブライ語のハイフン(U+05BE)などもありますが、その他の言語の文字として別途下の方に掲げております。

マイナス

ハイフンではなくもっぱらマイナスの意味で使われるものです。

02D7 U+02D7 Modifier Letter Minus Sign
2212 U+2212 Minus Sign: U+002Dとは別の普通のマイナス
29FF U+29FF Miny: (本当にマイナスなのかどうか詳細不明)
2796 U+2796 Heavy Minus Sign: 太いマイナス記号

ダッシュ

Unicode以前のISO-8859-1などの文字コードでは0x2Dを単独または2つ並べてダッシュとして使うこともありますが、ダッシュは本来ハイフン/マイナスとは違う意味なので、Unicodeでは別の文字として扱われます。

ShiftJISの全角ダッシュ(0x815C)がUnicodeとの変換でよく混乱しているのは、ここにあるU+2014とU+2015です。

2012 U+2012 Figure Dash
2013 U+2013 En Dash: “n”と同じ横幅のダッシュ
2014 U+2014 Em Dash: “m”と同じ横幅のダッシュ
2015 U+2015 Horizontal Bar: クォーテーションダッシュ
2E3A U+2E3A Two-Em Dash: “m”の2倍の横幅のダッシュ
2E3B U+2E3B Three-Em Dash: “m”の3倍の横幅のダッシュ
FE58 U+FE58 Small Em Dash: NFKD/NFKC正規化でU+2014になる

この他にダッシュとして “︱“(U+FE31), “︲“(U+FE32) があるが縦書用で縦線になるので、ここには含めていません。

その他横線

23AF U+23AF Horizontal Line Extension
23E4 U+23E4 Straightness: 直線を表す技術的な記号(として本当に使われるのか不明)
268A U+268A Monogram for Yang: 中国の易経で使われる符号
1D116 U+1D116 Musical Symbol One-Line Staff: 五線譜にある5つの横線またはその上や下に書き足す横線(たぶん)
1D17D U+1D17D Musical Symbol Combining Tenuto: テヌート。音符の上や下に書き足す横線で、その音を十分に保つ印
1D369 U+1D369 Counting Rod Tens Digit One: 中国や日本の古くで計算に使われていた算木の10。似たものに算木の1(U+1D360)がありこれは縦棒。Unicode ConsortiumのPDFでは1が横で10が縦なのだが、算木では1を縦、10を横にすることが多いようで、多くのフォントも10を横線にしている。ここでは10を横線ということにした

罫線

Unicodeには罫線として使える縦や横やL字型の線がたくさんあり、以下はそのうちの横線です。

2500 U+2500 Box Drawings Light Horizontal
2501 U+2501 Box Drawings Heavy Horizontal
2574 U+2574 Box Drawings Light Left
2576 U+2576 Box Drawings Light Right
2578 U+2578 Box Drawings Heavy Left
257A U+257A Box Drawings Heavy Right
257C U+257C Box Drawings Light Left and Heavy Right
257E U+257E Box Drawings Heavy Left and Light Right

上付き横線(ハイフン/マイナスを含む)

00AF U+00AF Macron: NFKD/NFKC正規化で U+0020 U+0304
02C9 U+02C9 Modifier Letter Macron
203E U+203E Overline: NFKD/NFKC正規化で U+0020 U+0305
207B U+207B Superscript Minus: 上付きマイナス。NFKD/NFKC正規化で U+2212
23BA U+23BA Horizontal Scan Line-1
23BB U+23BB Horizontal Scan Line-3
2594 U+2594 Upper One Eighth Block: ブロック要素
FFE3 U+FFE3 Fullwidth Macron。NFKD/NFKC正規化で U+0020 U+0304

下付き横線(ハイフン/マイナスを含む)

005F U+005F Low Line: 半角アンダースコア(アンダーライン/アンダーバー/下線)
02CD U+02CD Modifier Letter Low Macron
208B U+208B Subscript Minus: 下付きマイナス。NFKD/NFKC正規化で U+2212
23BC U+23BC Horizontal Scan Line-7
23BD U+23BD Horizontal Scan Line-9
2581 U+2581 Lower One Eighth Block: ブロック要素
2582 U+2582 Lower One Quarter Block: ブロック要素
2583 U+2583 Lower Three Eighths Block: ブロック要素
2E0F U+2E0F Paragraphos
FF3F U+FF3F Fullwidth Low Line: 全角アンダースコア(アンダーライン/アンダーバー/下線)。NFKD/NFKC正規化で U+005F

この他に “︳“(U+FE33) があるが縦書用で縦線になるので、ここには含めていません。

横線の結合文字

0304 U+0304 Combining Macron: 結合文字
0305 U+0305 Combining Overline: 結合文字
0320 U+0320 Combining Minus Sign Below: 結合文字
0331 U+0331 Combining Macron Below: 結合文字
0332 U+0332 Combining Low Line: 結合文字
0335 U+0335 Combining Short Stroke Overlay: 結合文字
0336 U+0336 Combining Long Stroke Overlay: 結合文字
035E U+035E Combining Double Macron: 結合文字
035F U+035F Combining Double Macron Below: 結合文字
FE24 U+FE24 Combining Macron Left Half
FE25 U+FE25 Combining Macron Right Half
FE26 U+FE26 Combining Conjoining Macron

その他の東アジアの横線のような文字

単独で普通の文字となりえるのは漢数字の”一”と仮名長音符”ー”だけだと思いますが、その他に漢字の部首、漢字の筆画、ハングル字母、漢文の返り点があります。

1173 U+1173 Hangul Jungseong Eu: ハングルのウの発音を表す字母
2F00 U+2F00 Kangxi Radical One: 漢字の部首としての”一”。NFKD/NFKC正規化でU+4E00になる
30FC U+30FC Katakana-Hiragana Prolonged Sound Mark: ひらがなカタカナの長音記号(長音符)
3161 U+3161 Hangul Letter Eu: ハングルのウの発音を表す字母。NFKD/NFKC正規化でU+1173になる
3192 U+3192 Ideographic Annotation One Mark: 日本での漢文の返り点”一”。NFKD/NFKC正規化でU+4E00になる
31D0 U+31D0 Cjk Stroke H: 漢字の筆画としての”一”
4E00 U+4E00 Cjk Unified Ideograph-4E00: 漢数字の”一”
FF70 U+FF70 Halfwidth Katakana-Hiragana Prolonged Sound Mark: 半角カタカナ長音記号(長音符)。NFKD/NFKC正規化で全角の長音記号(U+30FC)になる
FFDA U+FFDA Halfwidth Hangul Letter Eu: ハングルのウの発音の字母の半角。NFKD/NFKC正規化でU+1173になる

その他の言語の横線のような文字

ラテン文字やCJK以外の各言語にもたくさんありすぎて、1つ1つ詳細を調べきれていません。多くは文字というよりはダイアクリティカルマークのようなものや句読点のような使われ方なのだとは思います。自分の環境ではほとんどがフォントがなくて表示できません。

058A U+058A Armenian Hyphen: アルメニア語のハイフン
05BE U+05BE Hebrew Punctuation Maqaf: ヘブライ語でのハイフン
05BF U+05BF Hebrew Point Rafe: ヘブライ語での結合文字 פֿ
0640 U+0640 Arabic Tatweel: アラビア文字のカシーダ。カシーダとは、地図上の川や鉄道の名前など、レイアウトの関係で単語を横に長く引き延ばしたい場合に使う横線
0659 U+0659 Arabic Zwarakay: パシュトー語で使われるアラビア文字のダイアクリティカルマーク
06D4 U+06D4 Arabic Full Stop: ウルドゥー語のピリオド。ウルドゥー語はアラビア文字を使うが、この記号はアラビア文字の言語で共通に使われるものではなくウルドゥー語特有
07EB U+07EB Nko Combining Short High Tone: アフリカ西部のンコ文字
07FA U+07FA Nko Lajanyalan: アフリカ西部のンコ文字
0818 U+0818 Samaritan Mark Occlusion: サマリア文字
0821 U+0821 Samaritan Vowel Sign Overlong A: サマリア文字
0822 U+0822 Samaritan Vowel Sign Long A: サマリア文字
0823 U+0823 Samaritan Vowel Sign A: サマリア文字
085A U+085A Mandaic Vocalization Mark: マンダ文字
0952 U+0952 Devanagari Stress Sign Anudatta: インドのデーヴァナーガリー文字
0A41 U+0A41 Gurmukhi Vowel Sign U: グルムキー文字
0C7C U+0C7C Telugu Fraction Digit One for Even Powers of Four
108D U+108D Myanmar Sign Shan Council Emphatic Tone: ミャンマー文字
1397 U+1397 Ethiopic Tonal Mark Hidet: ゲエズ文字(エチオピア文字)
1428 U+1428 Canadian Syllabics Final Short Horizontal Stroke: カナダを中心とする北米のイヌイットの文字
1680 U+1680 Ogham Space Mark: オガム文字の空白。オガム文字は長い横線に縦や斜めの線を重ねる文字なので、横線だけだと空白の意味になる。縦書の場合は縦線になる。意味としては空白なのでコピペしたときに環境によっては空白(U+0020)になる
172D U+172D Hanunoo Letter Ra: フィリピンのハヌノオ文字
1732 U+1732 Hanunoo Vowel Sign I: フィリピンのハヌノオ文字
1733 U+1733 Hanunoo Vowel Sign U: フィリピンのハヌノオ文字
174D U+174D Buhid Letter Ra: フィリピンのブヒッド文字
1752 U+1752 Buhid Vowel Sign I: フィリピンのブヒッド文字
1753 U+1753 Buhid Vowel Sign U: フィリピンのブヒッド文字
17D1 U+17D1 Khmer Sign Viriam: カンボジアのクメール語のダイアクリティカルマーク
193B U+193B Limbu Sign Sa-I: インドやネパールのリンブ語の文字
1B6E U+1B6E Balinese Musical Symbol Combining Kempli: インドネシアのバリ島のバリ語の文字
1B78 U+1B78 Balinese Musical Symbol Left-Hand Open Pang: インドネシアのバリ島のバリ語の文字
1BC7 U+1BC7 Batak Letter Pa: インドネシアのスマトラ島のバタク語の文字
1BF0 U+1BF0 Batak Consonant Sign Ng: インドネシアのスマトラ島のバタク語の文字
1BF3 U+1BF3 Batak Panongonan: インドネシアのスマトラ島のバタク語の文字
1C33 U+1C33 Lepcha Consonant Sign T: インドなどでのレプチャ語の文字
1C7C U+1C7C Ol Chiki Phaarkaa: インドのサンタル語のオルチキ文字
1CD2 U+1CD2 Vedic Tone Prenkha: ヴェーダの記号
1CD4 U+1CD4 Vedic Sign Yajurvedic Midline Svarita: ヴェーダの記号
1CE2 U+1CE2 Vedic Sign Visarga Svarita: ヴェーダの記号
2CBA U+2CBA Coptic Capital Letter Dialect-P Ni: 近代エジプト語の文字
2CBB U+2CBB Coptic Small Letter Dialect-P Ni: 近代エジプト語の文字
2CEF U+2CEF Coptic Combining Ni Above: 近代エジプト語の文字
A6F1 U+A6F1 Bamum Combining Mark Tukwentis: カメルーンのバムン語の文字
A876 U+A876 Phags-Pa Mark Shad: 13世紀の元朝で使われたパスパ文字>
A8FB U+A8FB Devanagari Headstroke: インドのデーヴァナーガリー文字
ABED U+ABED Meetei Mayek Apun Iyek: インドのマニプリ語の文字
10110 U+10110 Aegean Number Ten: エーゲ文明で使われていた数字
10191 U+10191 Roman Uncia Sign: 古代ギリシャで使われていた長さや重さの単位の記号
10A38 U+10A38 Kharoshthi Sign Bar Above: 古代の南アジアで使われていたカローシュティー文字
11038 U+11038 Brahmi Vowel Sign Aa: 古代の南アジアで使われていたブラーフミー文字
1103C U+1103C Brahmi Vowel Sign U: 古代の南アジアで使われていたブラーフミー文字
11042 U+11042 Brahmi Vowel Sign E: 古代の南アジアで使われていたブラーフミー文字
11046 U+11046 Brahmi Virama: 古代の南アジアで使われていたブラーフミー文字
11049 U+11049 Brahmi Punctuation Dot: 古代の南アジアで使われていたブラーフミー文字
1104B U+1104B Brahmi Punctuation Line: 古代の南アジアで使われていたブラーフミー文字
11052 U+11052 Brahmi Number One: 古代の南アジアで使われていたブラーフミー文字
110BF U+110BF Kaithi Double Section Mark: インドのカイティー文字
11134 U+11134 Chakma Maayyaa: バングラディシュのチャクマ文字
111BC U+111BC Sharada Vowel Sign E: インドのシャーラダー文字
116B2 U+116B2 Takri Vowel Sign E: インドのドーグリー語の文字
13404 U+13404 Egyptian Hieroglyph Z016: 古代エジプトのヒエログリフ
16F54 U+16F54 Miao Vowel Sign A: 中国・ベトナム・ラオス・タイのミャオ語のポラード文字
1D01A U+1D01A Byzantine Musical Symbol Ison Archaion: ビザンティン音楽符号
1D047 U+1D047 Byzantine Musical Symbol Oligon Neo: ビザンティン音楽符号
1D05B U+1D05B Byzantine Musical Symbol Omalon: ビザンティン音楽符号

波線

ShiftJISの全角波ダッシュ(0x8160)がUnicodeとの変換でよく混乱しているのは、ここにあるU+301C(波線)とU+FF5E(全角チルダ)です。

007E U+007E Tilde: 半角チルダ
02DC U+02DC Small Tilde: NFKD/NFKC正規化でU+0020 U+0303になる
02F7 U+02F7 Modifier Letter Low Tilde
2053 U+2053 Swung Dash: よく辞書で用例中に現れる見出し語を示すのに使われる
223C U+223C Tilde Operator: 数学で Similar to の意味
223D U+223D Reversed Tilde
223E U+223E Inverted Lazy S
223F U+223F Sine Wave
301C U+301C Wave Dash: 波ダッシュ。ShiftJISの全角波ダッシュ(0x8160)がこれにマッピングされることがある
3030 U+3030 Wavy Dash
FE4B U+FE4B Wavy Overline: NFKD/NFKC正規化でU+0020 U+0305になる。U+0305は波線でなくて直線だから形が変わる
FE4F U+FE4F Wavy Low Line: NFKD/NFKC正規化でU+005F(アンダースコア)になり形が変わる
FF5E U+FF5E Fullwidth Tilde: 全角チルダ。ShiftJISの全角波ダッシュ(0x8160)がこれにマッピングされることがある

その他の波線のような文字

05AE U+05AE Hebrew Accent Zinor: ヘブライ語の文字
06E4 U+06E4 Arabic Small High Madda: アラビア文字
07EC U+07EC Nko Combining Short Low Tone: アフリカ西部のンコ文字
07F0 U+07F0 Nko Combining Long Low Tone: アフリカ西部のンコ文字
081A U+081A Samaritan Modifier Letter Epenthetic Yut サマリア文字
081B U+081B Samaritan Mark Epenthetic Yut: サマリア文字
1711 U+1711 Tagalog Letter Ha: フィリピンのタガログ語で使われていたバイバイン文字
1BC8 U+1BC8 Batak Letter Simalungun Pa: インドネシアのスマトラ島のバタク語の文字
1C32 U+1C32 Lepcha Consonant Sign R: インドなどでのレプチャ語の文字
1C7B U+1C7B Ol Chiki Relaa: インドのサンタル語のオルチキ文字
1017C U+1017C Greek Obol Sign: 古代ギリシャのパピルスの文字
10906 U+10906 Phoenician Letter Zai: 古代地中海沿岸のフェニキア語の文字
11040 U+11040 Brahmi Vowel Sign Vocalic L: 古代の南アジアで使われていたブラーフミー文字
13083 U+13083 Egyptian Hieroglyph D013: 古代エジプトのヒエログリフ
13216 U+13216 Egyptian Hieroglyph N035: 古代エジプトのヒエログリフ
16F68 U+16F68 Miao Vowel Sign Iu: 中国・ベトナム・ラオス・タイのミャオ語のポラード文字
16F9A U+16F9A Miao Letter Reformed Tone-1: 中国・ベトナム・ラオス・タイのミャオ語のポラード文字
1D007 U+1D007 Byzantine Musical Symbol Kathisti: ビザンティン音楽符号
1D008 U+1D008 Byzantine Musical Symbol Syrmatiki: ビザンティン音楽符号
1D066 U+1D066 Byzantine Musical Symbol Syrma: ビザンティン音楽符号

波線の結合文字

0303 U+0303 Combining Tilde: 結合文字
0330 U+0330 Combining Tilde Below: 結合文字
0334 U+0334 Combining Tilde Overlay: 結合文字
0342 U+0342 Combining Greek Perispomeni: 結合文字
0360 U+0360 Combining Double Tilde: 結合文字
1DC8 U+1DC8 Combining Grave-Acute-Grave: 結合文字 a᷈
1DC9 U+1DC9 Combining Acute-Grave-Acute: 結合文字 a᷉

このサイトは筆者(hydrocul)の個人メモの集合です。すべてのページは永遠に未完成です。