コンテンツにスキップ

空白文字

出典: フリー百科事典『ウィキペディア(Wikipedia)』

空白文字(くうはくもじ、英: whitespace)は、タイポグラフィやプログラミングにおいて水平方向または垂直方向の空白を表す文字である。

文字が描画されるとき、多くの空白文字はある程度の幅を有するが、ほとんどの図形文字と違い通常は目に見えない。空白文字として最も代表的なU+0020   spaceは、語と語の区切りを表し、ラテン文字、ギリシア文字、キリル文字などの西洋文字で使用される。

概要

[編集]
Image
Unicodeにおけるさまざまな空白文字の幅の相対比

多くのキーボード配列では、 スペース を押すことで空白文字を入力できる。スペースの長さは異なる場合があるが、多くのキーボードでは ⭾ Tab キーで水平方向の空白も入力できる。垂直方向の空白は、 Return で入力できる。これにより、ほとんどのプログラムで改行コードシーケンスが作成される。 ⏎ Enter が別の意味を持つシステムもあれば、2つが統合されているシステムもある。初期のコンピュータゲームの多くは、画面を描画するために空白文字を使用していた(例:Kingdom of Kroz(英語版))。

空白という用語は、普通の紙の文字の外観に基づいている。ただし、アプリケーション内では、空白文字は他の文字コードと同じ方法で処理でき、異なるプログラムが文字に対して独自のセマンティクスを定義する場合がある。

Unicode

[編集]

次の表は、Unicode文字データベースで空白文字("WSpace=Y", "WS")として定義されている25文字の一覧である[1]。

注:次の表を表示するために使用するブラウザとフォントによっては、すべてのスペースが正しく表示されない場合がある。

名前 符号点 幅 NBSP IDN 用字 ブロック 一般カテゴリ 注釈
character tabulationU+00099 Yes非対応 共通基本ラテン文字Other,
control
水平タブ(Horizontal Tab; HT)。HTMLの文字実体参照及びXMLの実体参照では	、LaTeXでは\tab、C言語の文字列リテラル中におけるエスケープシーケンスでは\tと表記する。
line feedU+000A10 行が変わる 共通基本ラテン文字Other,
control
改行(Line feed; LF)。HTMLの文字実体参照及びXMLの実体参照では
、C言語の文字列リテラル中におけるエスケープシーケンスでは\nと表記する。
line tabulationU+000B11 行が変わる 共通基本ラテン文字Other,
control
垂直タブ(Vertical Tab; VT)。C言語の文字列リテラル中におけるエスケープシーケンスでは\vと表記する。
form feedU+000C12 行が変わる 共通基本ラテン文字Other,
control
書式送り(英語版)(Form feed; FF)。 C言語の文字列リテラル中におけるエスケープシーケンスでは\fと表記する。
carriage returnU+000D13 行が変わる 共通基本ラテン文字Other,
control
復帰(Carriage return; CR)。C言語の文字列リテラル中におけるエスケープシーケンスでは\rと表記する。
spaceU+002032 Yes非対応 共通基本ラテン文字Separator,
space
最も代表的な空白文字。LaTeXでは\ と表記する。
next lineU+0085133 行が変わる 共通ラテン1補助Other,
control
改行(New Line; NEL)。LaTeXでは\\と表記する。
no-break spaceU+00A0160  No非対応 共通ラテン1補助Separator,
space
ノーブレークスペース。U+0020   en spaceと同等だが、その空白文字の箇所での自動的な改行を防ぐ。HTMLの文字実体参照及びXMLの実体参照では ,   LaTeXでは~と表記する。
ogham space markU+16805760  Yes非対応 オガム文字オガム文字Separator,
space
オガム文字で書かれた文章のわかち書きに使用される。通常、縦書きでは縦線、横書きでは横線だが、横線のない(stemless)フォントでは空白の場合もある。
en quadU+20008192  Yes非対応 共通一般句読点Separator,
space
1 enと等しい文字幅を有する空白文字。和文組版では二分アキに相当する。U+2002   en spaceは標準的にこの文字と同等であり、使用にはU+2002   en spaceが推奨される。
em quadU+20018193  Yes非対応 共通一般句読点Separator,
space
1 emと等しい文字幅を有する空白文字。英語圏では“mutton quad”としても知られる。和文組版では全角アキに相当する。U+2003   em spaceは標準的にこの文字と同等であり、使用にはU+2003   em spaceが推奨される。
en spaceU+20028194  Yes非対応 共通一般句読点Separator,
space
1 enと等しい文字幅を有する空白文字。英語圏では“nut”としても知られる。和文組版では二分アキに相当する。U+2000   en quadは標準的にこの文字と同等であり、使用にはU+2002   en spaceが推奨される。HTMLの文字実体参照及びXMLの実体参照では 、LaTeXでは\enspace(ただしLaTeXのenスペースはノーブレークスペース)と表記する。
em spaceU+20038195  Yes非対応 共通一般句読点Separator,
space
1 emと等しい文字幅を有する空白文字。英語圏では“mutton”としても知られる。和文組版では全角アキに相当する。U+2001   em quadは標準的にこの文字と同等であり、使用にはU+2003   em spaceが推奨される。HTMLの文字実体参照及びXMLの実体参照では 、LaTeXでは\quadと表記する。
three-per-em spaceU+20048196  Yes非対応 共通一般句読点Separator,
space
⅓ emと等しい文字幅を有する空白文字。英語圏では“thick space”としても知られる。和文組版では三分アキに相当する。HTMLの文字実体参照及びXMLの実体参照では , LaTeXでは\;(ただしLaTeXのemスペースはノーブレークスペース)と表記する。
four-per-em spaceU+20058197  Yes非対応 共通一般句読点Separator,
space
¼ emと等しい文字幅を有する空白文字。英語圏では“mid space”としても知られる。和文組版では四分アキに相当する。HTMLの文字実体参照及びXMLの実体参照では と表記する。
six-per-em spaceU+20068198  Yes非対応 共通一般句読点Separator,
space
⅙ emと等しい文字幅を有する空白文字。和文組版では六分アキに相当する。U+2009   thin spaceと同等とされることもある。
figure spaceU+20078199  No非対応 共通一般句読点Separator,
space
図形間隔。単一の数字と同一の印字間隔を占める植字単位(英語版)である。HTMLの文字実体参照及びXMLの実体参照では と表記する。
punctuation spaceU+20088200  Yes非対応 共通一般句読点Separator,
space
フォント内の狭い句読点と同じ幅、つまりピリオドまたはカンマの送り幅と同じ幅を占める[2]。HTMLの文字実体参照及びXMLの実体参照では と表記する。
thin spaceU+20098201  Yes非対応 共通一般句読点Separator,
space
⅕ em(場合によっては⅙ em)と等しい文字幅を有する空白文字。国際単位系の桁区切りとして使用を推奨する。U+2002   en spaceからU+2008   punctuation spaceとは異なり、その幅は植字時に調整される可能性がある[3]。HTMLの文字実体参照及びXMLの実体参照では 、 、LaTeXでは\, (the LaTeX thin space is a no-break space)と表記する。
hair spaceU+200A8202  Yes非対応 共通一般句読点Separator,
space
U+2009   thin spaceよりも狭い空白文字。HTMLの文字実体参照及びXMLの実体参照では   (ただしすべてのブラウザに対応していない)と表記する。
line separatorU+20288232 行が変わる 共通一般句読点Separator,
line
paragraph separatorU+20298233 行が変わる 共通一般句読点Separator,
paragraph
narrow no-break spaceU+202F8239  No非対応 共通一般句読点Separator,
space
ノーブレークスペース。機能的にはU+00A0   no-break spaceと同様。モンゴル語で使用する場合、その幅は通常のスペースの3分の1になる。他の文脈では、その幅はU+2009   thin spaceの幅に近い場合がある。LaTeXでは\,と表記する。
medium mathematical spaceU+205F8287  Yes非対応 共通一般句読点Separator,
space
MMSP。数式で使用される。4⁄18 emの幅を占める[4]。数学的なタイポグラフィでは、スペースの幅は通常、1⁄18 emの整数倍で指定され、4⁄18 emは、たとえば、式a + bにおいてa と + の間、および + と b の間など、さまざまな状況で使用されることがある[5]。HTMLの文字実体参照及びXMLの実体参照では 、LaTeXでは\:(ただしLaTexではノーブレークスペース)と表記する。
ideographic spaceU+300012288  Yes非対応 共通CJKの記号及び句読点Separator,
space
単一のCJK文字と同一の印字間隔を占める。和字間隔、文組版の全角アキと同等。字下げや擡頭で使用される。
 名前  符号点 幅 NBSP IDN 用字 ブロック 一般カテゴリ 注釈
mongolian vowel separatorU+180E6158 ᠎Yes非対応 モンゴル文字モンゴル文字Other,
Format
MVS。モンゴル語で単語の最後の2文字を異なる形にするために使用される狭いスペース文字[6]。以前のバージョンではスペース文字として分類されていたが、Unicode 6.3.0ではスペース文字(つまりZsカテゴリ)として分類されなくなった。
zero width spaceU+200B8203 ​Yes非対応 ?一般句読点Other,
Format
ゼロ幅スペース(zero width space; ZWSP)。明示的なスペースを使用しないときに、文書処理システムに対して語の切れ目を示すのに用いる。これはソフトハイフンに似ているが、音節の境界を示すために使用され、改行時に目に見えるハイフンを表示する必要があるという点が異なる。HTMLの文字実体参照及びXMLの実体参照では​と表記する[7][c]。
zero width non-joinerU+200C8204 ‌Yes文脈依存[12] ?一般句読点Other,
Format
ゼロ幅非接合子(zero-width non-joiner; ZWNJ)。本来ならば合字として連結される2つの文字の間にゼロ幅非接合子が置かれると、その2つの文字はそれぞれ末尾形および頭字形で表示される。HTMLの文字実体参照及びXMLの実体参照では‌と表記する。
zero width joinerU+200D8205 ‍Yes文脈依存[13] ?一般句読点Other,
Format
ゼロ幅接合子(zero-width joiner; ZWJ)。本来ならば接合しない形で表示される文字の後ろにゼロ幅接合子が置かれると、接合する形で表示される。接合形を独立形で表示するためにも使用する。デフォルトで合字または接合が予期されるかどうかに応じて、(絵文字およびシンハラ文字のように)1つのグリフで置換させるか、(デーヴァナーガリーのように)抑制することができる。(ゼロ幅非接合子とは異なり)個々の接合形の使用を許可しながら、単一のグリフで置換する。HTMLの文字実体参照及びXMLの実体参照では‍と表記する。
word joinerU+20608288 ⁠No非対応 ?一般句読点Other,
Format
単語結合子(word joiner; WJ)。U+200B zero width spaceに似ているが、その空白文字の箇所での自動的な改行を防ぐ。HTMLの文字実体参照及びXMLの実体参照では⁠と表記する。
zero width non-breaking spaceU+FEFF65279 No非対応 ?Arabic
Presentation
Forms-B
Other,
Format
ゼロ幅ノーブレークスペース(zero width non-breaking space; ZWNBSP)。主にバイト順マーク(byte order mark; BOM)として使用される。Unicode 3.2では、壊れていないことを示すものとして使用することは推奨されず、代わりにU+2060 word joinerを使用する。
  1. ↑ White_Space はバイナリーUnicodeプロパティである[14]。
  2. ↑ “Unicode 15.0 UCD: PropList.txt” (2022年8月5日). 2022年9月16日閲覧。
  3. ↑ ​がHTML5でU+200Bを指す実体参照だが、ほかにも、NegativeMediumSpace、NegativeThickSpace、NegativeThinSpace、NegativeVeryThinSpace(私用領域にマップされた負の幅をもつ空白に対してWolfram言語で使われる名前)[8][9][10][11]もHTML5によってU+200Bを指すエイリアスとして定義されている(例: ​).[7]

ホワイトスペースとデジタルタイポグラフィ

[編集]

英語版を参照。

脚注

[編集]
  1. ↑ “The Unicode Standard”. Unicode Consortium. Template:Cite webの呼び出しエラー:引数 accessdate は必須です。
  2. ↑ “Character design standards – space characters”. Character design standards. Microsoft (1998年 - 1999年). 2000年8月23日時点のオリジナルよりアーカイブ。2009年5月18日閲覧。
  3. ↑ The Unicode Standard 5.0, printed edition, p. 205; also available at “Chapter 6 — Writing Systems and Punctuation”. The Unicode Standard 5.0, electronic edition. Unicode Consortium. (2006-07-14). p. 11 (205) 2022年12月22日閲覧。
  4. ↑ “General Punctuation”. The Unicode Standard 5.1. Unicode Inc (1991年 - 2008年). 2009年5月13日閲覧。
  5. ↑ Sargent, Murray III (2006年8月29日). “Unicode Nearly Plain Text Encoding of Mathematics (Version 2)”. Unicode Technical Note #28. Unicode Inc. pp. 19–20. 2009年5月19日閲覧。
  6. ↑ Gillam, Richard (2002). Unicode Demystified: A Practical Programmer's Guide to the Encoding Standard. Addison-Wesley. ISBN 0-201-70052-2
  7. 1 2 Hickson, Ian. “12.5 Named character references”. HTML Standard. WHATWG. 2026年9月23日閲覧。
  8. ↑ Wolfram. “\[NegativeThickSpace]”. Wolfram Language Documentation. 2026年9月23日閲覧。
  9. ↑ Wolfram. “\[NegativeMediumSpace]”. Wolfram Language Documentation. 2026年9月23日閲覧。
  10. ↑ Wolfram. “\[NegativeThinSpace]”. Wolfram Language Documentation. 2026年9月23日閲覧。
  11. ↑ Wolfram. “\[NegativeVeryThinSpace]”. Wolfram Language Documentation. 2026年9月23日閲覧。
  12. ↑ Faltstrom, P., ed. (August 2010). “Zero Width Non-Joiner”. The Unicode Code Points and Internationalized Domain Names for Applications (IDNA) (英語). IETF. sec. A.1. doi:10.17487/RFC5892. RFC 5892. 2019年9月4日閲覧.
  13. ↑ Faltstrom, P., ed. (August 2010). “Zero Width Joiner”. The Unicode Code Points and Internationalized Domain Names for Applications (IDNA) (英語). IETF. sec. A.2. doi:10.17487/RFC5892. RFC 5892. 2019年9月4日閲覧.
  14. “Unicode Standard Annex #44, Unicode Character Database”. 2026年9月23日閲覧。

関連項目

[編集]

外部リンク

[編集]