([[名無しさん]] [WEAK[2006-09-07 00:02:14 +00:00]])
[[#comment]]
*** 改行
[12] [CODE(HTMLe)[pre]] 内では、改行を改行 (次の行の先頭への移動)
として扱います。 (表示領域の先頭ではなく、
余白を考慮した行の先頭です。) [SRC[RFC 1866 5.5.2.]]
[14] 古い文書は [CODE(HTMLe)[pre]] の中で [CODE(HTMLe)[[[p]]]]
タグを使っています。 UA
はこれを改行と同じように扱うことが[RUBYB[推奨] [encourage]]されていました。
ただし、 [CODE(HTMLe)[p]] の後に改行が続く時には、
まとめて一つ分の改行とみなすべきとされていました。
[SRC[RFC 1866 5.5.2.]]
[17] '''Bidi''':
[[bidi]] に関しては、[[行]]ごとに bidi 算法を適用して各[[文字]]の表示位置を決定します
[SRC[SI 4281 6.1.1.2]]。
[[#comment]]
*** 水平タブ
[8] [[水平タブ]]文字 ([CODE(char)[0/9]], [CODE(char)[HORIZONTAL TAB]],
[CODE(char)[[[HTAB]]]]) を [CODE(HTMLe)[pre]]
内で使用することは避けるべきとされています。
HTML 2.0 (RFC 1866) では[Q[含める[RUBYB[べきではない] [should not]]]]、
HTML 4 では[Q[[RUBYB[強く非推奨] [strongly discouraged]]]]、
[[ISO-HTML]] では使用不能 (強制的に [CODE(char)[[[SP]]]]
に変換) と、時代が下るにつれ強い表現になっています。
UA はタブを8の倍数の[[文字位置]]までの分の間隔として解釈しなければなりません。
しかし実装は一貫していません。 [SRC[RFC 1866 5.5.2.]]
多くの視覚 UA は、8文字を一タブ幅としています。
ところが、 [[editor]] でタブ幅を好きな幅にすることはよく行われています。
だから、変てこな文書を作ってしまうことになります。 [SRC[HTML 4]]
[9] 多くのブラウザが8タブを採用しているのは事実で、
ブラウザに限らずとも8文字が優勢ですが、そうでなかったり、
設定で変えられる処理系も多々あります。
水平タブ文字は、数ある [[C0]] 制御文字のうちでは、文字自体はかなり安全に
(ほとんど必ず) 伝達してもらえるわずかな文字の一つではありますが、
意図した通りに表示してもらえる確率はかなり低くなりますから、
この判断は妥当だと思います。
[[#comment]]
** 例
[15] 整形済み文の例 [SRC[RFC 1866 5.5.2.]]
[PRE(HTML)[
Line 1.
Line 2 is to the right of line 1. abc
Line 3 aligns with line 2. def
]PRE]
[7] Shelly の[[詩]]『To a Skylark』 [SRC[HTML 4]]
[PRE(HTML)[
Higher still and higher
From the earth thou springest
Like a cloud of fire;
The blue deep thou wingest,
And singing still dost soar, and soaring ever singest.
]PRE]
レンダリング例:
[PRE[
Higher still and higher
From the earth thou springest
Like a cloud of fire;
The blue deep thou wingest,
And singing still dost soar, and soaring ever singest.
]PRE]
[[#comment]]
** メモ
[18]
[[libwww]]は1992年12月11日の1.1版で、当時の[[HTML]]仕様に追加されたばかりの[CODE(HTMLe)@en[[[pre]]]]を実装しました。
;; [CITE@en[Change History for W3C Sample Code Library]]
([[名無しさん]] [sage])
[20]
[CITE[EMail Msg <9212141318.AA03936@www3.cern.ch>]] ([TIME[2007-07-02 21:30:38 +09:00]] 版)
([[名無しさん]])
[[#comment]]
* メモ