空白文字

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

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

概要[編集]

Unicodeにおけるさまざまな空白文字の幅の相対比

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

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

Unicode[編集]

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

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

名前 符号点 NBSP IDN 用字 ブロック 一般カテゴリ 注釈
character tabulation U+0009 9 Yes 非対応 共通 基本ラテン文字 Other,
control
水平タブ(Horizontal Tab; HT)。HTML文字実体参照及びXML実体参照では	LaTeXでは\tab、C言語の文字列リテラル中におけるエスケープシーケンスでは\tと表記する。
line feed U+000A 10 行が変わる 共通 基本ラテン文字 Other,
control
改行(Line feed; LF)。HTMLの文字実体参照及びXMLの実体参照では
、C言語の文字列リテラル中におけるエスケープシーケンスでは\nと表記する。
line tabulation U+000B 11 行が変わる 共通 基本ラテン文字 Other,
control
垂直タブ(Vertical Tab; VT)。C言語の文字列リテラル中におけるエスケープシーケンスでは\vと表記する。
form feed U+000C 12 行が変わる 共通 基本ラテン文字 Other,
control
書式送り英語版(Form feed; FF)。 C言語の文字列リテラル中におけるエスケープシーケンスでは\fと表記する。
carriage return U+000D 13 行が変わる 共通 基本ラテン文字 Other,
control
復帰(Carriage return; CR)。C言語の文字列リテラル中におけるエスケープシーケンスでは\rと表記する。
space U+0020 32 Yes 非対応 共通 基本ラテン文字 Separator,
space
最も代表的な空白文字。LaTeXではと表記する。
next line U+0085 133 行が変わる 共通 ラテン1補助 Other,
control
改行(New Line; NEL)。LaTeXでは\\と表記する。
no-break space U+00A0 160   No 非対応 共通 ラテン1補助 Separator,
space
ノーブレークスペースU+0020   en spaceと同等だが、その空白文字の箇所での自動的な改行を防ぐ。HTMLの文字実体参照及びXMLの実体参照では ,   LaTeXでは~と表記する。
ogham space mark U+1680 5760 Yes 非対応 オガム文字 オガム文字 Separator,
space
オガム文字で書かれた文章のわかち書きに使用される。通常、縦書きでは縦線、横書きでは横線だが、横線のない(stemless)フォントでは空白の場合もある。
en quad U+2000 8192   Yes 非対応 共通 一般句読点 Separator,
space
1 enと等しい文字幅を有する空白文字。和文組版では二分アキに相当する。U+2002 en spaceは標準的にこの文字と同等であり、使用にはU+2002 en spaceが推奨される。
em quad U+2001 8193 Yes 非対応 共通 一般句読点 Separator,
space
1 emと等しい文字幅を有する空白文字。英語圏では“mutton quad”としても知られる。和文組版では全角アキに相当する。U+2003 em spaceは標準的にこの文字と同等であり、使用にはU+2003 em spaceが推奨される。
en space U+2002 8194 Yes 非対応 共通 一般句読点 Separator,
space
1 enと等しい文字幅を有する空白文字。英語圏では“nut”としても知られる。和文組版では二分アキに相当する。U+2000   en quadは標準的にこの文字と同等であり、使用にはU+2002 en spaceが推奨される。HTMLの文字実体参照及びXMLの実体参照では 、LaTeXでは\enspace(ただしLaTeXのenスペースはノーブレークスペース)と表記する。
em space U+2003 8195 Yes 非対応 共通 一般句読点 Separator,
space
1 emと等しい文字幅を有する空白文字。英語圏では“mutton”としても知られる。和文組版では全角アキに相当する。U+2001 em quadは標準的にこの文字と同等であり、使用にはU+2003 em spaceが推奨される。HTMLの文字実体参照及びXMLの実体参照では 、LaTeXでは\quadと表記する。
three-per-em space U+2004 8196 Yes 非対応 共通 一般句読点 Separator,
space
⅓ emと等しい文字幅を有する空白文字。英語圏では“thick space”としても知られる。和文組版では三分アキに相当する。HTMLの文字実体参照及びXMLの実体参照では , LaTeXでは\;(ただしLaTeXのemスペースはノーブレークスペース)と表記する。
four-per-em space U+2005 8197 Yes 非対応 共通 一般句読点 Separator,
space
¼ emと等しい文字幅を有する空白文字。英語圏では“mid space”としても知られる。和文組版では四分アキに相当する。HTMLの文字実体参照及びXMLの実体参照では と表記する。
six-per-em space U+2006 8198 Yes 非対応 共通 一般句読点 Separator,
space
⅙ emと等しい文字幅を有する空白文字。和文組版では六分アキに相当する。U+2009 thin spaceと同等とされることもある。
figure space U+2007 8199 No 非対応 共通 一般句読点 Separator,
space
図形間隔。単一の数字と同一の印字間隔を占める植字単位英語版である。HTMLの文字実体参照及びXMLの実体参照では と表記する。
punctuation space U+2008 8200 Yes 非対応 共通 一般句読点 Separator,
space
フォント内の狭い句読点と同じ幅、つまりピリオドまたはカンマの送り幅と同じ幅を占める[2]。HTMLの文字実体参照及びXMLの実体参照では と表記する。
thin space U+2009 8201 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 space U+200A 8202 Yes 非対応 共通 一般句読点 Separator,
space
U+2009 thin spaceよりも狭い空白文字。HTMLの文字実体参照及びXMLの実体参照では   (ただしすべてのブラウザに対応していない)と表記する。
line separator U+2028 8232 行が変わる 共通 一般句読点 Separator,
line
paragraph separator U+2029 8233 行が変わる 共通 一般句読点 Separator,
paragraph
narrow no-break space U+202F 8239 No 非対応 共通 一般句読点 Separator,
space
ノーブレークスペース。機能的にはU+00A0   no-break spaceと同様。モンゴル語で使用する場合、その幅は通常のスペースの3分の1になる。他の文脈では、その幅はU+2009 thin spaceの幅に近い場合がある。LaTeXでは\,と表記する。
medium mathematical space U+205F 8287 Yes 非対応 共通 一般句読点 Separator,
space
MMSP。数式で使用される。418 emの幅を占める[4]。数学的なタイポグラフィでは、スペースの幅は通常、118 emの整数倍で指定され、418 emは、たとえば、式a + bにおいてa+ の間、および +b の間など、さまざまな状況で使用されることがある[5]。HTMLの文字実体参照及びXMLの実体参照では 、LaTeXでは\:(ただしLaTexではノーブレークスペース)と表記する。
ideographic space U+3000 12288   Yes 非対応 共通 CJKの記号及び句読点 Separator,
space
単一のCJK文字と同一の印字間隔を占める。和字間隔、文組版の全角アキと同等。字下げ擡頭で使用される。
 名前  符号点 NBSP IDN 用字 ブロック 一般カテゴリ 注釈
mongolian vowel separator U+180E 6158 Yes 非対応 モンゴル文字 モンゴル文字 Other,
Format
MVS。モンゴル語で単語の最後の2文字を異なる形にするために使用される狭いスペース文字[6]。以前のバージョンではスペース文字として分類されていたが、Unicode 6.3.0ではスペース文字(つまりZsカテゴリ)として分類されなくなった。
zero width space U+200B 8203 Yes 非対応 ? 一般句読点 Other,
Format
ゼロ幅スペース(zero width space; ZWSP)。明示的なスペースを使用しないときに、文書処理システムに対して語の切れ目を示すのに用いる。これはソフトハイフンに似ているが、音節の境界を示すために使用され、改行時に目に見えるハイフンを表示する必要があるという点が異なる。HTML文字実体参照及びXML実体参照では​と表記する[7][c]
zero width non-joiner U+200C 8204 Yes Context-dependent[12] ? 一般句読点 Other,
Format
ゼロ幅非接合子(zero-width non-joiner; ZWNJ)。本来ならば合字として連結される2つの文字の間にゼロ幅非接合子が置かれると、その2つの文字はそれぞれ末尾形および頭字形で表示される。HTMLの文字実体参照及びXMLの実体参照では‌と表記する。
zero width joiner U+200D 8205 Yes Context-dependent[13] ? 一般句読点 Other,
Format
ゼロ幅接合子(zero-width joiner; ZWJ)。本来ならば接合しない形で表示される文字の後ろにゼロ幅接合子が置かれると、接合する形で表示される。接合形を独立形で表示するためにも使用する。デフォルトで合字または接合が予期されるかどうかに応じて、(絵文字およびシンハラ文字のように)1つのグリフで置換させるか、(デーヴァナーガリーのように)抑制することができる。(ゼロ幅非接合子とは異なり)個々の接合形の使用を許可しながら、単一のグリフで置換する。HTMLの文字実体参照及びXMLの実体参照では‍と表記する。
word joiner U+2060 8288 No 非対応 ? 一般句読点 Other,
Format
単語結合子(word joiner; WJ)。U+200B zero width spaceに似ているが、その空白文字の箇所での自動的な改行を防ぐ。HTMLの文字実体参照及びXMLの実体参照では⁠と表記する。
zero width non-breaking space U+FEFF 65279  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 is a binary Unicode property.[14]
  2. ^ Unicode 15.0 UCD: PropList.txt” (2022年8月5日). 2022年9月16日閲覧。
  3. ^ Although ​ is one HTML5 named entity for U+200B, the additional names NegativeMediumSpaceNegativeThickSpaceNegativeThinSpace and NegativeVeryThinSpace (which are names used in the Wolfram Language for negative-advance spaces, which it maps to the Private Use Area)[8][9][10][11] are also defined by HTML5 as aliases for U+200B (e.g. ​).[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). https://www.unicode.org/versions/Unicode5.0.0/ch06.pdf 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. ^ a b Hickson, Ian. “12.5 Named character references”. HTML Standard. WHATWG. Template:Cite webの呼び出しエラー:引数 accessdate は必須です。
  8. ^ Wolfram. “\[NegativeThickSpace]”. Wolfram Language Documentation. Template:Cite webの呼び出しエラー:引数 accessdate は必須です。
  9. ^ Wolfram. “\[NegativeMediumSpace]”. Wolfram Language Documentation. Template:Cite webの呼び出しエラー:引数 accessdate は必須です。
  10. ^ Wolfram. “\[NegativeThinSpace]”. Wolfram Language Documentation. Template:Cite webの呼び出しエラー:引数 accessdate は必須です。
  11. ^ Wolfram. “\[NegativeVeryThinSpace]”. Wolfram Language Documentation. Template:Cite webの呼び出しエラー:引数 accessdate は必須です。
  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”. Template:Cite webの呼び出しエラー:引数 accessdate は必須です。

関連項目[編集]

外部リンク[編集]