NBS

NBS

[13] U+00A0 NBSP は、 スペースの一種です。

[14] 通常のスペース U+0020 に近いですが、 行末で改行に置き換えられたりしない空白を表す文字です。

仕様書

レンダリング

[20] U+00A0 NO-BREAK SPACE は、 U+0020 SPACE と同じを持ちます。 >>18

[21] U+00A0 は、 通常はそれと前後の文字との間で改行 (line break) が認められないことを表します。 ただし前後が行分離子段落分離子間隔零幅間隔の場合を除きます。 >>18

文字実体参照  

[10] HTML文字実体参照   は、 U+00A0 を表します HTML Standard

[1] HTML 4 IW:HTML4:"struct/text.html#nbsp" によると、   ==   ==   を使って、著者は、二つの語の間で改行が起こらないように指示できます。 常識的に考えて、参照ではない U+00A0 (NBSP) を使っても同じ結果を期待できるはずです。

[2] 当初は   の位置付けは不安定であり、 処理指令置換文である参照とすることや   の意味の参照とすることが提案されたこともありました。 処理指令案では属性値表記内で使えないという問題がありますし、 後者の案では SGML 的には生の SP と同義となり、連続する空白に関する HTML の表示規則の SGML 的立場が微妙となります。

結局 HTML の文書文字集合ISO/IEC 8859‐1 が選ばれ、同名の文字である NBSP の参照であるという解釈に落ち着きました。

[9] Toward Closure on HTML (1994-04-07 09:56:59 +09:00 版) http://www.w3.org/People/Connolly/drafts/html-direction.html

実装

[15] 勝手に U+0020 に置き換える実装があるので要注意です。

関連

[22] 零幅WORD JOINER もあります。当初は ZWNBSP がありました。

歴史

[16] ISO/IEC 8859 シリーズでビット組合せ 10/0 に割り当てられていました。 ISO/IEC 8859-1 からそのまま UnicodeU+00A0 に取り込まれました。

[19] JIS X 0213:2000 6.5.2 m) 2) ラテン1互換文字

備考 NO-BREAK SPACE (NBSP) は, ISO/IEC 8859 では, 空白で表示され, テキストを表示する際 に改行を禁止するために用いられるものと規定されているが, この規格では, テキストを表示 する際に改行を禁止する機能をもたなくてもよい。

sp 要素 (HTML)

[216] HTML要素概説
要素名
sp
日付
説明
Dave Raggettwww-talk への投稿で、 pre 外の non-breakable space の要望を受け付けている。 >>23
説明
HTML+ DTDsp があり、 unbreakable space と説明されている。 HTML+19930713 文字 NBSP に相当すると思われる。
出典
[54] HTML要素概説
要素名
sp
日付
説明
WWWWW で、 文字参照   の追加が合意された。 >>24 これを承けて sp は削除されたとみられる。
出典
[208] HTML要素概説
要素名
sp
日付
説明
時点で Emacs/W3 は、 sp を実装していた。 SPACE に置換される。
出典

メモ

[17] もしかすると、元々の役割的には、 東アジアIDSP欧米NBSP は同じだったのかもしれません。

[8] 日本語で使われることを想定していない (というより ISO/IEC 8859−1 か CP1251 辺りを想定している) HTML 著述器なり変換器なりをつかったらしく、シフトJIS第2バイト0xA0 文字化けしている古い HTML 文書が、ままよく見受けられます。

右半分バイトがすべて文字化けしていてもよさそうなものですが、なぜか 0xA0 だけのものが多いです。 おそらく、 NBSP は透明だから実体参照に変換しておいたほうがよいというお節介な設計のソフトウェアなのでしょう。
著者文書がきちんと見えることを確認しなかったのでしょうかね? それとも、システムの文字コードにかかわらず Latin-1符号位置そのままで出力していた古い時代の Webブラウザではきちんと見えたのでしょうかね?

(名無しさん)

[11] Tables in Netscape 1.1 (2007-07-01 20:32:43 +09:00 版) http://wp.netscape.com/assist/net_sites/tables.html

Blank cells which contain no displayable elements are not given borders. If you wish the appearance of an empty cell, but with borders, put either a blank line or a non-breaking space in the cell. (<td>&nbsp;</td> or <td><br></td>)

[12] Web Applications 1.0 r7076 Add &nbsp; to WebVTT. ( ( 版)) http://html5.org/tools/web-apps-tracker?from=7075&to=7076

[3] 前々から思ってたけど、 HTML で SP (U+0020; SPACE; 間隔) を表すのに &nbsp; (= U+00A0; NO-BREAK SPACE; NBSP; ノーブレークスペース *1) を使うのってどうなんでしょ。

注1 JIS では本当にこんな日本語通用名称なのだ。 もっとまともな命名はできんのか?

できればわたしも&nbsp;なんて使いたくないですが。 打つのめんどいから。

[4] &nbsp; が使われているほとんどの場合は、 CSS margin で代替すべき だとか。 (でもめんどくさいんだよねー) table の border のために 空セルに &nbsp; ってのもなんだかなあ。

&nbsp; が嫌だから(?), IDSP (U+3000; IDEOGRAPHIC SPACE; 和字間隔 *2) 使うってのも、ナニだよねえ。

注2 全角スペースって呼ぶ人もいるけど、全角スペースは EMSP (U+20... 何番だっけ?; EM SPACE; 全角間隔) だよねぇ。でも IDSP = 漢字間隔 ってのも意味不明。

[5] ブラウザ JavaScript ( 版) http://www.opera.com/docs/browserjs/

リッチテキストの編集に関連したバグの回避のために挿入された non-breaking space (nbsp) を削除

[6] RFC 7749 - The "xml2rfc" Version 2 Vocabulary ( 版) https://tools.ietf.org/html/rfc7749#section-4
non-breaking space (U+00A0)
Represents a space character where no line break should happen. This is frequently used in titles (by excluding certain space characters from the line-breaking algorithm, the processor will use the remaining whitespace occurrences for line breaks).
[7] 物件マニア賃貸売買版 [ 大阪 ] ( ()) http://www.b-mania.jp/

<p>元オフィスを 住居に&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;リノベーション &nbsp;&nbsp;&nbsp;&n..</p></a></div>

[25] 非分離スペースと非分離ハイフン、使っても問題ない? - 千里の道をまだまだ走る~ときどきひとやすみ~, https://senri-miraido.hatenablog.com/entry/2021/05/15/145405

フランス語の引用符は英語の引用符(" ")ではなく « » となり、« xxxxx » というように « の直後と » の直前にはスペースが必要になるため、« で改行されないように非分離スペースが入力されたりします。フランス語の翻訳上がりのデータではこのスペースが多く見られました。

医薬系の翻訳会社(複数)から、数字と単位の間の半角スペースや治験薬コード名のハイフンには「改行しないスペース/ハイフン」を使うように指示されているため、使うのが普通かと思っていた。