/[pub]/suikawiki/wikidata/page/48544D4C.ns/B6F5C7F2.txt
Suika

Contents of /suikawiki/wikidata/page/48544D4C.ns/B6F5C7F2.txt

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.2 - (hide annotations) (download)
Tue May 18 02:05:56 2004 UTC (20 years, 5 months ago) by wakaba
Branch: MAIN
Changes since 1.1: +40 -1 lines
File MIME type: text/plain
auto-committed

1 wakaba 1.1 #?SuikaWiki/0.9
2     [2] HTML 4 <IW:HTML4:"struct/text.html#whitespace">
3     は、次を[DFN[[RUBYB[[[空白]]] [white space]]文字]]としています。
4     - [[ASCII]] [[間隔]] ([CODE(char)[U+0020]] [CODE(char)[[[SPACE]]]]))
5     - ASCII [[タブ]] ([CODE(char)[U+0009]] [CODE(char)[HORIZONTAL TAB]])
6     - ASCII [[改頁]] ([[書式送り]]) ([CODE(char)[U+000C]] [CODE(char)[FORM FEED]])
7     - [[零幅間隔]] ([CODE(char)[U+200C]] [CODE(char)[ZERO-WIDTH SPACE]])
8     - [RUBYB[[[改行]]] [line break]]
9     -- [[復帰]] ([CODE(char)[U+000D]] [CODE(char)[CARRIAGE RETURN]])
10     -- 改行 ([[行送り]]) ([CODE(char)[U+000A]] [CODE(char)[LINE FEED]])
11     -- 復帰改行組 ([CODE(char)[[[CRLF]]]])
12    
13     です。 HTML 4 の[[文書文字集合]]には他にも定義によっては空白文字に属する[[文字]]が色々含まれていますが、
14     HTML 4 の空白は上記だけです。
15     HTML 4 仕様書は、他の種類の空白の扱いについては規定せず、
16     [[著者]]は空白制御のためには適切な[[要素]]や[[スタイル]]を使うべき (should)
17     としています。
18    
19     [3] [CODE(HTMLe)[[[pre]]]] 以外の HTML 要素では、
20     空白が「[DFN[語]]」を分離します。
21     (ここで、語とは、非空白文字の連続体のことです。)
22     [[UA]] は、[[書式付け]]に際して、その[[言語]]・[[用字系]]および対象[[媒体]]の慣習に従って語を識別し、これを配置するべきです
23     (should)。
24    
25     語間に間隔 ([DFN[[RUBYB[語間] [inter-word]]間隔]]) を挿入すると見た目が向上するかもしれません。
26     しかし、間隔の取り方に関する慣習は言語・用字系により種々です。
27     HTML 4 仕様書が挙げている例では、
28     - [[ラテン文字]]では間隔を挿入する
29     - [[タイ文字]]では零幅間隔を挿入する
30     -- 注: [[タイ語]]は、日本語や中文のように語間間隔を入れずに表記します。
31     だけど零幅間隔を使えば単語境界を機械的に識別できるじゃん! という文脈でよく例になります。
32     (しかしながら、 [[TIS620]] には零幅間隔はないと思うし、本当に使われているんだか。)
33     - [[日本語]]や[[中文]]では全く語間間隔を表示しない
34    
35     [[原始文書]]中の空白列は、全く異なって[[レンダリング]]されるかもしれないことに注意が必要です。
36     UA は、原始文書中の空白列をレンダリングするときにはまとめて1つ分の語間間隔にするべきです。
37     これは、自然言語情報 ([CODE(HTMLa)[[[lang]]]] 属性や上位プロトコルからの値)
38     が得られないときでも行うことができ、また行うべき
39     (can & should) とされています。
40     空白が重要なときには、 [CODE(HTMLe)[pre]] 要素型を使います。
41    
42     [4] [[SGML]] の規定や既存 UA 実装の問題から、
43     [[開始タグ]]直後や[[終了タグ]]直前の空白が表示されることを当てにするべきではありません
44     (should not)。
45    
46     たとえば、 [SAMP(HTML)[I <a>love</a> you.]]
47     を [SAMP(HTML)[I<a> love </a>you.]] と書いてしまうと、
48     意図とは異なることが多いでしょう。
49    
50     SGML の問題は、[[記録開始]]や[[記録終了]]の無視に関する規則のことで、
51     [[タグ]]の前後に改行があるときに注意が必要です。
52 wakaba 1.2 詳しくは [CODE(SGML)[[[SGML//空白]]]]を参照。
53    
54     [[#comment]]
55    
56     * FORM FEED
57    
58     [5] HTML 4 は、 >>2 の通り、 [CODE(char)[U+000C]]
59     [CODE(char)[FORM FEED]] ([[改頁]]) を空白の一種としています。
60    
61     ところが、 HTML 4 の [[SGML宣言]]
62     <http://www.w3.org/TR/html4/sgml/sgmldecl.html>
63     は、 [CODE(char)[U+000C]] を [CODE(SGML)[[[UNUSED]]]]
64     としています。もちろん [CODE(SGML)[[[s]]]] にも含まれません。
65    
66     SGML 宣言を信じるとすると、 [CODE(char)[U+000C]]
67     は HTML 4 では使用できず、 >>2 の規定は無駄になります。
68    
69     [6] ''XHTML 1.0 C.15. White Space Characters in HTML vs. XML'' <http://www.w3.org/TR/xhtml1/#C_15>
70     は、 HTML では [CODE(char)[U+000C]]
71     を使えるが、 XHTML では使えないと言っています。
72    
73     [7] 本文が正しく、 [CODE(char)[U+000C]] が使えたとしても、
74     [CODE(SGML)[s]] には含まれないので、 HTML 文書の本文では >>2
75     の通りの扱いを受けますが、 SGML 的には空白として使えません
76     (例えば[[属性指定]]の間には使えません)。
77    
78     [[#comment]]
79    
80     * ZWSP
81    
82     [8] [CODE(char)[U+200C]] [CODE(char)[ZERO-WIDTH SPACE]]
83     は >>2 の通り HTML で空白として扱われます。
84     しかし、 SGML 宣言によれば、 [CODE(SGML)[s]]
85     には含まれません。ですから、 HTML 文書の本文では >>2
86     の通りの扱いを受けますが、 SGML 的には空白として使えません
87     (例えば属性指定の間には使えません)。
88    
89     [[#comment]]
90    
91     * メモ

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24