[26]
U+2028
LINE SEPARATOR
と
U+2029
PARAGRAPH SEPARATOR
は、
Unicode 平文において行の境界と段落の境界を示す既定の形と考えられるもの
>>18
と説明されています。
[25]
The Unicode Standard
では
U+2028
と
U+2029
は、
曖昧でない文字と説明されています
>>18。
何が曖昧でないのか曖昧な説明ですがw、
混乱していた改行文字の問題を解決しようと試みたものなのでしょう。
「既定の形」
という言葉に現れている通り、
既存の制御文字ではなく、
U+2028
と
U+2029
を使うのが
Unicode
設計当初のプレインテキストのあるべき姿だったのでしょう。
[27]
U+2028
の後から新しい行が始まります。
無条件に行を終わらせることを意味します。
>>18
[30] 段落間の書式付けは、 任意の方法によることができます。 例えば行を改め、 段落間の行送りを挿入し、 最初の行をインデントすることができます。 >>18
[31]
U+2028
は改行するべきことを示します。
段落は始めませんから、
段落間の行送りやインデントは適用しません。
>>18
[32] 確かに多くのシステムで改行と改段落の2つの概念はありますが、 一方又は両方が存在しないシステムや、 3つ以上の区別を持つシステムも少なくありません。 また改行の効果は明らかですが、 改段落の解釈とレンダリングには多種多様なものがあります。 この2つの区別を文字として記述しようとしたのは非常に意欲的といえますが、 勇み足とも思えます。
[33] 事実これらはほとんど使われていないか、少なくても相互運用性は極めて低いと言わざるを得ません。 Web で見られる用例のほとんどは誤用か、意図せぬ混入と思われるものです。 しかもプラットフォームによっては制御文字の可視化風に表示されてしまい、 意図した効果はまったく得られません。
[34]
段落分離子は、改行なしで「¶」や「◆」で表す手法もあるくらいですから、
「PS」 のように表示されたとしても「任意の方法」 (>>30) に過ぎないのかもしれませんがw、
行分離子が「
[36]
XML文書の改行の正規化処理において、
XML 1.0
は
U+2028
を扱っていませんでしたが、
XML 1.1
は
U+2028
を改行とみなすように変更しました。
これは他の改行文字である
U+0085
ととともに
XML 1.1
の目玉の1つで、焦点となって紛糾した問題でもありました。
この変更は、
XML 1.1
の事実上の後継である
XML 1.0 5e
で不採用となり、
失敗した
XML 1.1
と共に闇に葬られました。
[37]
U+2028
,
U+2029
は改行、
改段落という特殊性ゆえに、
JavaScript
の構文上も特別な扱いを受けていました。
それが原因となり、
JavaScript
から派生した
JSON
はこの2つの文字の扱いが
JavaScript
と違ってしまっていました。
そのため
JavaScript,
JSON,
JSONP
の間の互換性問題を引き起こし、
Web開発者を悩ませ続けました。
セキュリティー問題を引き起こす原因ともなりました。
LINE SEPARATOR
の混入事例[3] (多分意図せず) 普通の文章に混在していることがよくあります。積極的に使うツールか何かがあるのでしょうか。
[7] >>6 質問文の改行前後に謎の U+2028
が入っています。
[8] はてな () http://www.hatena.ne.jp/#s-question
は JSONP で
() http://q.hatena.ne.jp/api/hotlist?_via=250002&cnt=8&callback=PortalQuestionCallback
を読み込んでいますが、 JSON では認められていて JavaScript
では認められない U+2028
が混入し、 JavaScript 構文解析エラーになっているようです。
[10] Mackerelによる 簡単サーバー管理入門と発展形 () https://www.slideshare.net/stanaka/140929mackerel
[16] データ分析コンテストの 勝者解答から学ぶ // Speaker Deck () https://speakerdeck.com/smly/detafen-xi-kontesutofalse-sheng-zhe-jie-da-karaxue-bu
[1] IRC logs: freenode / #whatwg / 20101111 ( ( 版)) http://krijnhoetmer.nl/irc-logs/whatwg/20101111#l-281
[21] [css-text] Control characters · Issue #1990 · w3c/csswg-drafts () https://github.com/w3c/csswg-drafts/issues/1990