鈴木です。ラズパイ部がやや休止中気味です。私の久しぶりの記事は、Unicodeにある横棒のコレクションです。
ハイフンとかダッシュとか、半角と全角とか、複数あることはご存じの方も多いと思います。Shift-JISとの変換で悩まされるケースもありますよね。
Unicodeにあるハイフンとかマイナスとかダッシュとか、横線に見える文字をある程度を一覧にしたブログなどはたくさん見つかるのですが、結構漏れがあったりします。自分で納得できるレベルにまで網羅した横線一覧がなかなか見つからなかったので、自分で作りました。せっかくなのでここに公開しておきます。
ハイフンやカタカナの長音記号など、直線が横に延びているものが対象で、縦方向や斜めの線は除きます。
ほとんど横方向だけどちょっとだけ傾いているものや、端にちょっとしたハネとかうろことか付いているもの、太さが途中で変わっているものは含めました。横線の場所が上の方だったり下の方だったりするものもあります。
線が切れている箇所があって2つ以上に分かれているものや点線は除きます。
途中で線が大きく曲がっているものも除きますが、多少カーブしているだけのものは含めています。
これらの基準はある程度主観が入りますし、フォントによっても違ってきますので、あくまで自分の主観に基づくコレクションです。
以下の一覧はある程度わかりやすいように分類していますが、この分類は直交していないし、Unicodeの仕様に基づく分類ではありません。各分類ごとに文字をUnicodeのコードポイント順に並べております。
説明中にあるU+002Dなどの”U+”で始まる16進数はUnicodeのコードポイントを表し、Unicodeにある文字を特定できます。この数字から一定のロジックによりバイト列に変換したものがUTF-8などになります。
文字の表示は、閲覧環境にあるフォントとブラウザのレンダリングに依存していますので、正しく表示されない文字も多いかもしれません。全部表示できる環境なんてあるのでしょうか。文字をクリックすると、外部サイトですがローカルにフォントがなくてもWebフォントでその文字を表示してくれるページに行けるようにしています。
波線も集めてあるのですが、長くなってしまうので、次の記事で公開することにします。
ということで、以下はUnicodeにある全横線の一覧です。
ハイフン/マイナス
ハイフンとマイナスの両方の意味で使われる記号です。
Unicodeでは、同じ形の文字でも別の意味や使われ方をするものは別の文字として区別されています。例えば、ひらがなの”へ”とカタカナの”ヘ”が区別されています。同様にハイフンとマイナスもUnicodeとしては本来別の文字になりますが、Unicode以前から広く使われてきたASCIIやISO-8859-*などの文字コードでは0x2Dがハイフンとマイナスの両方の意味で使われていましたので、Unicodeでは互換性のためにU+002Dとそれに関連するいくつかはハイフンとマイナスの両方の意味の文字になっております。別途、ハイフンだけの意味を持つ文字やマイナスだけの意味を持つ文字もあります。
- U+002D Hyphen-Minus: よく使われる普通の半角ハイフンマイナス
﹣ U+FE63 Small Hyphen-Minus: 小さいハイフンマイナス。どういうときに使うんだろう?
- U+FF0D Fullwidth Hyphen-Minus: 全角ハイフンマイナス
ハイフン
U+002Dが過去との互換性のためにハイフンとマイナスの両方の意味を持つのに対して、以下はもっぱらハイフンの意味を持ちます。
ソフトハイフン(U+00AD)は、普段は表示されない見えない文字ですが、単語の中に埋め込むことで折り返しをしてもよい箇所であることを示し、折り返された場合にハイフンが表示されます。
U+00AD Soft Hyphen: ソフトハイフン
‐ U+2010 Hyphen: U+002Dとは別の普通のハイフン
‑ U+2011 Non-Breaking Hyphen: 折り返しをしないハイフン
⁃ U+2043 Hyphen Bullet: ビュレットとして使うハイフン(ビューレットとは箇条書きの先頭につける記号)
その他にヘブライ語のハイフン(U+05BE)などもあります。その他の言語の文字として別途下の方に掲げております。
マイナス
ハイフンではなくもっぱらマイナスの意味で使われるものです。
˗ U+02D7 Modifier Letter Minus Sign
− U+2212 Minus Sign: U+002Dとは別の普通のマイナス
⧿ U+29FF Miny: 本当にマイナスなのかどうか詳細不明
➖ U+2796 Heavy Minus Sign: 太いマイナス記号
ダッシュ
Unicode以前のISO-8859-1などの文字コードでは0x2Dを単独または2つ並べてダッシュとして使うこともありますが、ダッシュは本来ハイフンやマイナスとは違う意味なので、Unicodeでは別の文字として扱われます。
ShiftJISの全角ダッシュ(0x815C)がUnicodeとの変換でよく混乱しているのは、ここにあるU+2014とU+2015です。
‒ U+2012 Figure Dash
– U+2013 En Dash: “n”と同じ横幅のダッシュ
— U+2014 Em Dash: “m”と同じ横幅のダッシュ
― U+2015 Horizontal Bar: クォーテーションダッシュ
⸺ U+2E3A Two-Em Dash: “m”の2倍の横幅のダッシュ
⸻ U+2E3B Three-Em Dash: “m”の3倍の横幅のダッシュ
﹘ U+FE58 Small Em Dash
罫線
Unicodeには罫線として使える縦や横や十字やL字の線がたくさんあり、以下はそのうちの横線です。太さが途中で変わるものもあります。
─ U+2500 Box Drawings Light Horizontal
━ U+2501 Box Drawings Heavy Horizontal
╴ U+2574 Box Drawings Light Left
╶ U+2576 Box Drawings Light Right
╸ U+2578 Box Drawings Heavy Left
╺ U+257A Box Drawings Heavy Right
╼ U+257C Box Drawings Light Left and Heavy Right
╾ U+257E Box Drawings Heavy Left and Light Right
その他横線
⎯ U+23AF Horizontal Line Extension
⏤ U+23E4 Straightness: 直線を表す技術的な記号(として本当に使われるのか不明)
⚊ U+268A Monogram for Yang: 中国の易経で使われる符号
𝄖 U+1D116 Musical Symbol One-Line Staff: 五線譜にある5つの横線、またはドより低い音や高いラよりも高い音を表すときに書き足す横線(たぶん)
𝅽 U+1D17D Musical Symbol Combining Tenuto: テヌート。音符の上や下に書き足す横線で、その音を十分に保つ印
𝍩 U+1D369 Counting Rod Tens Digit One: 中国や日本の古くで計算に使われていた算木の10。似たものに算木の1(U+1D360)がありこれは縦棒。Unicode ConsortiumのPDFでは1が横で10が縦なのだが、算木では1を縦、10を横にすることが多いようで、多くのフォントも10を横線にしている。ここでは10を横線ということにした
上付き横線
上の方に偏っている横線たち。ハイフンやマイナスを含む。
¯ U+00AF Macron
ˉ U+02C9 Modifier Letter Macron
‾ U+203E Overline
⁻ U+207B Superscript Minus: 上付きマイナス
⎺ U+23BA Horizontal Scan Line-1
⎻ U+23BB Horizontal Scan Line-3
▔ U+2594 Upper One Eighth Block: ブロック要素
 ̄ U+FFE3 Fullwidth Macron
下付き横線
下の方にずれている横線たち。ハイフンやマイナスを含む。
_ U+005F Low Line: 半角アンダースコア(アンダーライン/アンダーバー/下線)
ˍ U+02CD Modifier Letter Low Macron
₋ U+208B Subscript Minus: 下付きマイナス
⎼ U+23BC Horizontal Scan Line-7
⎽ U+23BD Horizontal Scan Line-9
▁ U+2581 Lower One Eighth Block: ブロック要素
▂ U+2582 Lower One Quarter Block: ブロック要素
▃ U+2583 Lower Three Eighths Block: ブロック要素
⸏ U+2E0F Paragraphos
_ U+FF3F Fullwidth Low Line: 全角アンダースコア(アンダーライン/アンダーバー/下線)
横線の結合文字
結合文字というのは、その前にある文字に重ねるように表示して一体となって文字を形成するためのパーツみたいなものです。
たとえば、鼻濁音を明示するために使われることもある “か゚” は、”か” の次に右上の丸を示す U+309A という結合文字を入れることで表現することができ、このときの U+309A を結合文字といいます。結合文字としてイメージしやすいように “a” の後ろにおいたときにどう表示されるかを各行右に入れています。
̄ U+0304 Combining Macron: 結合文字 ā
̅ U+0305 Combining Overline: 結合文字 a̅
̠ U+0320 Combining Minus Sign Below: 結合文字 a̠
̱ U+0331 Combining Macron Below: 結合文字 a̱
̲ U+0332 Combining Low Line: 結合文字 a̲
̵ U+0335 Combining Short Stroke Overlay: 結合文字 a̵
̶ U+0336 Combining Long Stroke Overlay: 結合文字 a̶
͞ U+035E Combining Double Macron: 結合文字 a͞
͟ U+035F Combining Double Macron Below: 結合文字 a͟
︤ U+FE24 Combining Macron Left Half: 結合文字 a︤
︥ U+FE25 Combining Macron Right Half: 結合文字 a︥
︦ U+FE26 Combining Conjoining Macron: 結合文字 a︦
東アジアの横線のような文字
漢字や仮名などの漢字文化圏の文字です。漢字だけで横線が4つもありました。全角半角の長音記号と漢数字(U+4E00)以外は、普段はあまり使われないのではないかと思います。
漢文の記号はともかく、それ以外の、部首、筆画、ハングル字母は単独の文字ではないですね。ハングル字母というのは、ハングルの文字を構成する母音または子音を表す記号です。ここにあるハングル字母は母音を表すもので、これだけでは文字にならず、”그”(ク)みたいに、少なくとも1つ以上の子音を表す記号と組み合わせないといけません。
ひらがな/カタカナの長音記号
ー U+30FC Katakana-Hiragana Prolonged Sound Mark: ひらがなカタカナの長音記号(長音符)
ー U+FF70 Halfwidth Katakana-Hiragana Prolonged Sound Mark: 半角カタカナ長音記号(長音符)
漢数字
⼀ U+2F00 Kangxi Radical One: 漢字の部首としての”一”
㆒ U+3192 Ideographic Annotation One Mark: 日本での漢文の返り点”一”
㇐ U+31D0 Cjk Stroke H: 漢字の筆画としての”一”
一 U+4E00 Cjk Unified Ideograph-4E00: 漢数字の”一”
ハングル
ᅳ U+1173 Hangul Jungseong Eu: ハングルのウの発音を表す字母
ㅡ U+3161 Hangul Letter Eu: ハングルのウの発音を表す字母
ᅳ U+FFDA Halfwidth Hangul Letter Eu: ハングルのウの発音の字母の半角
その他の言語の横線のような文字
ラテン文字や東アジア以外の各言語にある文字です。実際には文字というよりはダイアクリティカルマークや記号のようなものが多いかもしれませんが、たくさんありすぎて、1つ1つ詳細を調べきれていません。
自分の環境ではほとんどがフォントがなくて表示できません。
֊ U+058A Armenian Hyphen: アルメニア語のハイフン
־ U+05BE Hebrew Punctuation Maqaf: ヘブライ語でのハイフン
ֿ U+05BF Hebrew Point Rafe: ヘブライ語での結合文字 פֿ
ـ U+0640 Arabic Tatweel: アラビア文字のカシーダ。カシーダとは、地図上の川や鉄道の名前など、レイアウトの関係で単語を横に長く引き延ばしたい場合に使うアラビア文字特有の横線
ٙ U+0659 Arabic Zwarakay: パシュトー語で使われるアラビア文字のダイアクリティカルマーク
۔ U+06D4 Arabic Full Stop: ウルドゥー語のピリオド。ウルドゥー語はアラビア文字を使うが、この記号はアラビア文字の言語で共通に使われるものではなくウルドゥー語特有
߫ U+07EB Nko Combining Short High Tone: アフリカ西部のンコ文字
ߺ U+07FA Nko Lajanyalan: アフリカ西部のンコ文字
࠘ U+0818 Samaritan Mark Occlusion: サマリア文字
ࠡ U+0821 Samaritan Vowel Sign Overlong A: サマリア文字
ࠢ U+0822 Samaritan Vowel Sign Long A: サマリア文字
ࠣ U+0823 Samaritan Vowel Sign A: サマリア文字
࡚ U+085A Mandaic Vocalization Mark: マンダ文字
॒ U+0952 Devanagari Stress Sign Anudatta: インドのデーヴァナーガリー文字
ੁ U+0A41 Gurmukhi Vowel Sign U: グルムキー文字
౼ U+0C7C Telugu Fraction Digit One for Even Powers of Four
ႍ U+108D Myanmar Sign Shan Council Emphatic Tone: ミャンマー文字
᎗ U+1397 Ethiopic Tonal Mark Hidet: ゲエズ文字(エチオピア文字)
ᐨ U+1428 Canadian Syllabics Final Short Horizontal Stroke: カナダを中心とする北米のイヌイットの文字
U+1680 Ogham Space Mark: オガム文字の空白。オガム文字は長い横線に縦や斜めの線を重ねる文字なので、横線だけだと空白の意味になる。縦書の場合は縦線になる。意味としては空白なのでコピペしたときに環境によっては空白(U+0020)になる
ᜭ U+172D Hanunoo Letter Ra: フィリピンのハヌノオ文字
ᜲ U+1732 Hanunoo Vowel Sign I: フィリピンのハヌノオ文字
ᜳ U+1733 Hanunoo Vowel Sign U: フィリピンのハヌノオ文字
ᝍ U+174D Buhid Letter Ra: フィリピンのブヒッド文字
ᝒ U+1752 Buhid Vowel Sign I: フィリピンのブヒッド文字
ᝓ U+1753 Buhid Vowel Sign U: フィリピンのブヒッド文字
៑ U+17D1 Khmer Sign Viriam: カンボジアのクメール語のダイアクリティカルマーク
᤻ U+193B Limbu Sign Sa-I: インドやネパールのリンブ語の文字
᭮ U+1B6E Balinese Musical Symbol Combining Kempli: インドネシアのバリ島のバリ語の文字
᭸ U+1B78 Balinese Musical Symbol Left-Hand Open Pang: インドネシアのバリ島のバリ語の文字
ᯇ U+1BC7 Batak Letter Pa: インドネシアのスマトラ島のバタク語の文字
ᯰ U+1BF0 Batak Consonant Sign Ng: インドネシアのスマトラ島のバタク語の文字
᯳ U+1BF3 Batak Panongonan: インドネシアのスマトラ島のバタク語の文字
ᰳ U+1C33 Lepcha Consonant Sign T: インドなどでのレプチャ語の文字
ᱼ U+1C7C Ol Chiki Phaarkaa: インドのサンタル語のオルチキ文字
᳒ U+1CD2 Vedic Tone Prenkha: ヴェーダの記号
᳔ U+1CD4 Vedic Sign Yajurvedic Midline Svarita: ヴェーダの記号
᳢ U+1CE2 Vedic Sign Visarga Svarita: ヴェーダの記号
Ⲻ U+2CBA Coptic Capital Letter Dialect-P Ni: 近代エジプト語の文字
ⲻ U+2CBB Coptic Small Letter Dialect-P Ni: 近代エジプト語の文字
⳯ U+2CEF Coptic Combining Ni Above: 近代エジプト語の文字
꛱ U+A6F1 Bamum Combining Mark Tukwentis: カメルーンのバムン語の文字
꡶ U+A876 Phags-Pa Mark Shad: 13世紀の元朝で使われたパスパ文字>
ꣻ U+A8FB Devanagari Headstroke: インドのデーヴァナーガリー文字
꯭ U+ABED Meetei Mayek Apun Iyek: インドのマニプリ語の文字
𐄐 U+10110 Aegean Number Ten: エーゲ文明で使われていた数字
𐆑 U+10191 Roman Uncia Sign: 古代ギリシャで使われていた長さや重さの単位の記号
𐨸 U+10A38 Kharoshthi Sign Bar Above: 古代の南アジアで使われていたカローシュティー文字
𑀸 U+11038 Brahmi Vowel Sign Aa: 古代の南アジアで使われていたブラーフミー文字
𑀼 U+1103C Brahmi Vowel Sign U: 古代の南アジアで使われていたブラーフミー文字
𑁂 U+11042 Brahmi Vowel Sign E: 古代の南アジアで使われていたブラーフミー文字
𑁆 U+11046 Brahmi Virama: 古代の南アジアで使われていたブラーフミー文字
𑁉 U+11049 Brahmi Punctuation Dot: 古代の南アジアで使われていたブラーフミー文字
𑁋 U+1104B Brahmi Punctuation Line: 古代の南アジアで使われていたブラーフミー文字
𑁒 U+11052 Brahmi Number One: 古代の南アジアで使われていたブラーフミー文字
𑂿 U+110BF Kaithi Double Section Mark: インドのカイティー文字
𑄴 U+11134 Chakma Maayyaa: バングラディシュのチャクマ文字
𑆼 U+111BC Sharada Vowel Sign E: インドのシャーラダー文字
𑚲 U+116B2 Takri Vowel Sign E: インドのドーグリー語の文字
𓐄 U+13404 Egyptian Hieroglyph Z016: 古代エジプトのヒエログリフ
𖽔 U+16F54 Miao Vowel Sign A: 中国・ベトナム・ラオス・タイのミャオ語のポラード文字
𝀚 U+1D01A Byzantine Musical Symbol Ison Archaion: ビザンティン音楽符号
𝁇 U+1D047 Byzantine Musical Symbol Oligon Neo: ビザンティン音楽符号
𝁛 U+1D05B Byzantine Musical Symbol Omalon: ビザンティン音楽符号
まとめ
たくさんありすぎ。次は波線の一覧を投稿する予定です。