* 仕様書

[REFS[
- [14] [CITE@en[RFC 7613 - Preparation, Enforcement, and Comparison of Internationalized Strings Representing Usernames and Passwords]] ([TIME[2015-10-23 06:11:01 +09:00]] 版) <https://tools.ietf.org/html/rfc7613#section-2>
]REFS]

* 意味

[24] 
[CODE(charname)@en[SPACE]] は[[空白]]という[[図形文字]]的性質と、
1文字分進むという[[制御文字]]的性質を持っています。
しかも高度な[[レンダリング]]機構では、
[[justify]] のために適度に[[空白]]幅を調整したり、
[[word wrap]] のため[[改行]]に置き換えられたり、
といったそれに留まらない機能性も有しています。

[25] 
そのために歴代の[[文字コード]]規格や[[応用]]規格、実装では他のどの[[文字]]とも違った特殊な意味、
特殊な位置付け、特殊な機能を [CODE(charname)@en[SPACE]] に与えています。

[15] [DFN[[RUBYB[ASCII間隔]@en[ASCII space]]]]は、 [CODE(char)[[[U+0020]]]]
です [SRC[>>14]]。

[8]
,規格	,名前	,略号	,[[日本語通用名称]]	,種類	,備考
,[[ISO/IEC2022]]:1994	,SPACE	,SP	,	,図図
,[[JISX0211]]-1994	,SPACE	,	,スペース
,[[JISX0201]]:1997	,SPACE	,SP	,スペース	,図図
,[[JISX0208]]:1997	,SPACE	,SP	,スペース	,図図
,[[JISX0202]]:1998	,SPACE	,SP	,スペース	,図図
,[[JISX0213]]:2000	,SPACE	,SP	,スペース	,図図
,[[JISX0221]]-1:2001	,SPACE	,	,スペース	,
[[#form:'%text(label=>規格,id=>std,size=>10);%text(label=>名前,id=>name,size=>4);(%text(size=>2,id=>abbr);) %text(label=>日本語通用名称,id=>janame); %text(label=>種類,default=>図図,size=>4,id=>type); %text(size=>10,id=>comment);%submit(label=>追加);':',%text(source=>std);,%text(source=>name);,%text(source=>abbr);,%text(source=>janame);,%text(source=>type);,%text(source=>comment);']]

※図図 = [[図形記号]]をもたない[[図形文字]]

[16] [[JIS X 6002-1980]] は、[CODE(charname)@en[SP]] を[[制御文字]]に分類しています。



** ISO/IEC 2022 における [CODE(charname)@en[SPACE]] の意味

[7]

> '''6.2.3 [CODE(charname)[SPACE]] ([CODE(jcharname)[スペース]]) 文字'''
> 名前 : [CODE(charname)[SPACE]] ([CODE(jcharname)[スペース]])
略号 : [CODE(charname)[SP]] 符号化表現 : [CODE(char)[02/00]]
> [CODE(charname)[SPACE]] は、[[図形文字]]とする。これは、
[[図形記号]]のない[[可視表現]]をもつ。これは、
[[現在位置]]を、1[[文字]]分進める。
[SRC[[[JIS X 0202]]:1998]]

[10]

> '''5.3 文字 SPACE (スペース)'''
[[文字]] [CODE(charname)@en[[[SPACE]]]]
([CODE(jcharname)[[[スペース]]]]) は、[[略号]]を
[CODE(charname)@en[[[SP]]]] とし、[[ビット組合せ]]
[CODE(char)[2/0]] で[[表現]]する。
> [CODE(charname)@en[[[SPACE]]]] は、
[[図形記号]]をもたない[[図形文字]]とする。
[SRC@en[[[JIS X 0201]]:1997 5.3]]


- [1] 2002-11-07 (木) 17:02 ''[[名無しさん]]'' (実際には ISO/IEC にはないと思いますが、) 現実の「[[文字]]」が[[符号化文字集合]]では[[図形文字]]に相当するという原則を考えるなら、 ''SPACE'' が図形文字であるのはよくありませんね...
- [2] >>1 確かに実際、 [CODE(char)[SP]] は両端揃えのための語間調節で自由自在に幅が変わるし、自動改行とかで見た目上消滅したりもするし。図形文字というよりは制御文字のような気もしなくは無い。
- [3] >>2 続き。とはいうものの [[ISO/IEC10646]] では図形文字 (のようなもの) でもそういう単純なタイプライタ的文字とは違う文字属性を持つ文字がたくさんあるし、 [[ISO/IEC8859]] の時点でも [[SHY]] という機能的図形文字が存在する。
- [4] >>2-3 の一方で、 [[HTAB]] は最初から最後まで制御文字だったりする。また、 ISO/IEC 10646 の、 code chart の字形が文字名称の略称になってるような文字は、制御文字なんだか図形文字なんだかよくわからん。 (話があちこちとんですまん。) 結局何がいいたいかというと、細かい点で制御文字か図形文字かが微妙な文字がどちらに分類されているかというのはそう定義したということくらいにしか依存していないのではないですかね。
- [5] space は間隔であって空白ではないというかなんというか・・・



* 名前

[19] [[空白]]参照。

* レンダリング

[18] [[文字のレンダリング]]も参照。

** 代替記号

[17] [[␣]]

* [N[2/0]] と [CODE(charname)@en[SPACE]] の結合性

** ISO/IEC 2022 において [N[2/0]] が [CODE(charname)@en[SPACE]] でないケース

[9] 
[[ISO/IEC 2022]] 環境下では [CODE(charname)[[[SPACE]]]] は[[固定符号化文字]]で、
常に[[ビット組合せ]] [CODE(char)[02/00]] で[[表現]]されます。
但し[[逆]]は必ずしも[[真]]ではなく、 [[96図形文字集合]]が
[[G1]] か [[G2]] か [[G3]] に[[指示]]され、それが
[[GL]] に[[呼出]]されたり [CODE(charname)[[[SS2]]]] や
[CODE(charname)[[[SS3]]]] が使われたりすると[[ビット組合せ]]
[CODE(char)[02/00]] が [CODE(charname)[SPACE]]
以外の[[文字]] (の一部又は全部) を[[表現]]することがあります。
あるいは[[エスケープ・シーケンス]]などの一部を構成することもあります。

[26] 
[[GB 8045]]
の[[7ビット符号]]では 
[N[2/0]]
に
[CODE(charname)@en[MSP]]
が配置されます。


[22] 
[[ISIRI 2900]] や [[ISIRI 3342]] では [N[0x20]] と [N[0xA0]] にあります。
前者が [[ltr]], 後者が [[rtl]]。



[23] [CITE[008-1.pdf]], [TIME[2022-11-02T03:16:04.000Z]], [TIME[2022-12-10T03:41:59.836Z]] <https://itscj.ipsj.or.jp/ir/008-1.pdf>

[[94集合]]ですが、 [N[4/0]], [N[6/0]] の[[空白]]との区別のため 
[N[2/0]] の[[空白]]の意味も定めています。


** [N[2/0]] 以外に置かれた [CODE(charname)@en[SPACE]]

[21] 
[[ISO/IEC 2022]] 環境で使う[[符号化図形文字集合]]にあっては、
[CODE(charname)@en[SPACE]] を含んではなりません。
[SRC[>>20]]

[27] 
[[CNS 11643]] は第8字面1区1点に
[CODE@en[U+0020]] [CODE(charname)@en[SPACE]]
を対応付けています。

* 文脈

[28] [[空白]]も参照。

* いろいろな空白文字

[SEE[ [[空白文字]] ]]

* 歴史

[6]
:[[名前]]:[CODE(charname)[SPACE]]
:[[略号]]:[CODE(charname)[SP]]
:[[日本語通用名称]]:[CODE(jcharname)[スペース]]
[SRC@en[[[JIS X 0202]]:1998, [[JIS X 0201]]:1997 4.3]]
:[[符号化表現]]:[CODE(char)[02/00]]



- [20] [CITE[ECMA-35_6th_edition_december_1994.pdf]], [TIME[2021-01-16T09:57:02.000Z]], [TIME[2022-04-29T04:36:01.735Z]] <https://www.ecma-international.org/wp-content/uploads/ECMA-35_6th_edition_december_1994.pdf#page=20>



[11] 【[[SGML]]】 [[具象構文]]で[[割当]]てられ、間隔を[[表現]]する[[機能文字]]。 Space。 ([[JISX4151]]‐1992 定義 (39))

[12] [CITE@en[Test of em, en, thin, and hair spaces]] ([TIME[2006-07-17 03:00:14 +09:00]] 版) <http://joeclark.org/standards/spacetest.html>

[29] [[JIS TR X 0010:1998]]

>3.1 アキ (space)
>  隣接する文字の仮想ボディの間隔又は隣接する行の仮想ボディの間隔。


[13] [CITE@ja[日本語組版処理の要件(日本語版)]]
( ([[Japanese Layout Task Force]] 著, [TIME[2012-03-23 20:19:12 +09:00]] 版))
<http://www.w3.org/TR/jlreq/ja/#term.space>




