ノーブレークスペース

計算機による文字列処理において,その位置での自動改行を防ぐ空白文字

コンピュータにおいて、ノーブレークスペース: no-break space, non-breaking space, NBSP)は、スペースの箇所での自動的な改行を防ぐ特殊なスペースである。非分割空白[1] [2][注釈 1]とも呼ばれる。HTMLのように空白文字の並びを1つのスペースにまとめるシステムで、行内に複数のスペースを入れるために使うこともできる。

HTMLでは、通常のスペースの幅のノーブレークスペースは   または   と表される。Unicodeでは U+00A0 に割り当てられている。その他の幅のノーブレークスペースも存在する(#変種を参照)。

使用法 編集

改行の禁止 編集

英語などわかち書きをする言語において、文の途中で改行(行の折り返し)をする場合は単語と単語の間(スペース)で行う。テキスト処理ソフトは、スペースがある箇所はどこでも自動的な改行をしても良いものとみなすが、ノーブレークスペースはこれを防ぐ。例えば、文の途中に"100 km"という文言が行末に来て、長すぎて行に収まらない場合、ソフトウェアは"100"と"km"の間に改行を入れてしまうかもしれない。この好ましくないふるまいを避けるために、"100"と"km"の間にノーブレークスペースを入れる。ノーブレークスペースを使用した"100 km"はひと塊の単語のように扱われ、間に改行が入らないことが保証されており、行末にかかった場合はその前で改行されて次の行に表示される。

HTMLなどにおいて、通常のスペースでは日本語の文字の間が開かない場合があるためノーブレークスペースを使用されることがあるが、日本語の文字の間にあるスペースはスペースの箇所で改行されても問題ないスペースであるため使用すべきではない。通常は日本語間の間隔には和字間隔(全角スペース)を使用すべきである[注釈 2][注釈 3]

複数の連続するスペース 編集

SGML・HTML・TeXLaTeXなどのプレーンテキストのファイルフォーマットではレンダリングエンジンが連続する空白文字(スペース・改行・タブ・改ページなど)の並びを1つのスペースとして表示する[注釈 4]。 これは、最終的な表示結果とは関係なく、ソーステキストが見やすいように字下げや改行が入れられるようにするためである[3][4]

これに対して、ノーブレークスペースは表示時に周辺のホワイトスペース文字と統合されない。そのため、連続する複数のスペースを出力したいときにノーブレークスペースを使うことができる。

変種 編集

国際符号化文字集合 (ISO/IEC 10646) とUnicodeには、ノーブレークスペースの変種が存在する。

  • U+202F narrow no-break space (HTML:   NNBSP)(狭いノーブレークスペース) - Unicode 3.0でモンゴル語のために導入された[5]。単語の境界を示すことなく、接尾辞を語幹から切り離すのに使う[6]。また、フランス語(" ; ? ! » › " の前と " « ‹ " の後。今日では " : " の前も)やロシア語(" — "の前)の約物の前後、ドイツ語の複数語からなる省略語 (z. B., d. h., v. l. n. r.) においても使用される[7]。モンゴル語で使用する場合は通常のスペースの3分の1の幅、他の言語では70%の幅だが、いくつかのフォントではシンスペース英語版 (U+2009) と同じになっている[8]
  • U+2007 figure space (HTML:  )(図形間隔、数字間隔) - 数字(0–9)と同じ幅のスペース。
  • U+2060 word joiner (HTML: ⁠ WJ)(単語結合子) - Unicode 3.2から導入。スペースを表示せず、その場所での改行を防ぐ[注釈 5]

符号化 編集

規格 ノーブレークスペースの表現
UnicodeISO/IEC 10646 U+00A0   no-break space
UTF-8 C2 A0
ISO/IEC 8859 A0
JIS X 0213 1面9区2点(ラテン1互換)
CP1252(ほとんどのゲルマン諸語ロマンス諸語におけるWindowsのデフォルト) A0
KOI8-R 9A
EBCDIC 41 – RSP, Required Space
CP437, CP850, CP866 FF
HTMLWikitextを含む)  文字参照#文字実体参照(実体参照)

  または  文字参照#数値文字参照

TeX ~チルダ
ASCII (使用不可。ただし、拡張ASCIIのバージョンの中には、文字255 (0xFF) をノーブレークスペースとして提供しているものがある。)

入力方法 編集

ノーブレークスペースの入力法を定めた国家規格や国際規格はほとんどない。フィンランドで2008年にSFS 5966フィンランド語版スウェーデン語版として国家規格となった多言語用キーボードでは、ノーブレークスペースは AltGrキー + Space で入力できる[9]

キーボードドライバやアプリケーションプログラム(ワードプロセッサなど)の作成者は、ノーブレークスペースのためにそれぞれ独自のキーボード・ショートカットを導入した。

システム・アプリケーション 入力方法
Microsoft Windows Alt+0+1+6+0 または Alt+2+5+5
macOS Opt+Space
X11Linux または Unix Compose, Space, Space
AmigaOS Alt+Space
Emacs Ctrl+X 8 Space
Vim Ctrl+K, Space, Space
Ctrl+K, Shift+N, Shift+S
Dreamweaver, LibreOffice, Microsoft Word,
OpenOffice.org(3.0以降)
Ctrl+ Shift+Space[注釈 6]
FrameMaker, LyX, OpenOffice.org(3.0以前)
WordPerfect
Ctrl+Space
Mac Adobe InDesign Opt+ Cmd+X

多くの日本語環境ではキーボードから直接入力では入力できないため文字コード表などを使用して、一覧から入力する必要がある[注釈 7]

符号位置 編集

記号 Unicode JIS X 0213 文字参照 名称
  U+00A0 1-9-2  
 
 
ノーブレークスペース

関連項目 編集

脚注 編集

注釈 編集

  1. ^ ノンブレーキングスペース (non-breaking space)、ハードスペース (hard space)、固定スペース (fixed space) とも呼ばれる。
  2. ^ HTMLでは、和字間隔を使用する方法以外に、CSSのwhite-space: pre-wrap;で日本語の文字の間のスペースを使用した間隔を有効にすることができる。
  3. ^ Wikipediaにおいては、和字間隔が必要な説明文などを除いて使用するべきではなく、通常のスペースを使用するのが望ましい。表記ガイドを参照。
  4. ^ ただし、preタグの中や、CSSでwhite-space属性をpreに設定されたタグの中は、この限りではない。
  5. ^ 元々U+FEFF zero width no-break space (HTML:  ZWNBSP)(ゼロ幅ノーブレークスペース)がこの目的で使用されていたが、このコードはUCSバイト順マーク(略語:BOM)としても使われるため、単語結合子が別に定義された。RFC 3629では「シグネチャ機能を除いてU+FEFFと正確に同じ意味と使用法を持つ新しい文字U+2060 “WORD JOINER” がUnicode 3.2で追加された。単語結合の意味では新しい文字だけを使うことを強く推奨する」と説明している。
  6. ^ WordのCTRL+SHIFT+SPACEの組み合わせに相当するような、ノーブレークスペースを入力するのに便利なショートカットキーが、Microsoft PowerPointには存在しないようである。しかしながらALT+0160か「挿入」→「記号と特殊文字...」ダイアログボックスを使うという2つの方法がある。後者の場合、ラテン1補助の中でチルダ (~) の直後に置かれている。
  7. ^ Windowsでは文字コード表の他、IMEパッドなども使用できる。macOSでは文字パレットを使用する。

出典 編集

  1. ^ Ken Lunde『CJKV日中韓越情報処理』小松 章・逆井 克己、2002年12月。ISBN 4-87311-108-0https://books.google.com/books?id=U36IQGjmfqMC&pg=PA9882019年9月12日閲覧 988頁
  2. ^ JIS X 0023:1995「情報処理用語(テキスト処理)」日本産業標準調査会経済産業省)用語番号23.04.23
  3. ^ “Structure”, HTML 4.01, W3, (1999-12-24), http://www.w3.org/TR/1999/REC-html401-19991224/struct/text.html#h-9.1 .
  4. ^ “Text”, CSS 2.1, W3, http://www.w3.org/TR/CSS21/text.html#white-space-prop .
  5. ^ ISO/IEC 10646-1:1993/FDAM 29:1999(E)
  6. ^ Mongolian NNBSP-connected suffixes
  7. ^ Zweisprachige Mikrotypografie” (PDF) (German). Hochschule für Technik, Wirtschaft und Kultur Leipzig. p. 58 (PDF p. 113) (2008年2月1日). 2015年10月11日閲覧。 “Alle Abkürzungen mit Binnenpunkten werden im Deutschen mit einem gFL [geschütztes flexibles Leerzeichen] spationiert. ... Die englische Schreibweise sieht keine Abstände zwischen einzelnen Buchstaben vor. Nach einem Binnenpunkt folgt demnach ohne gFL sofort der nächste Buchstabe.”
  8. ^ Writing Systems and Punctuation” (PDF). The Unicode Standard 7.0. Unicode Inc. (2014年). 2014年11月2日閲覧。
  9. ^ Kotoistus (2006-12-28) (Finnish, English), Uusi näppäinasettelu [Status of the new keyboard layout] (presentation), CSC – IT Center for Science, オリジナルの2011年7月27日時点におけるアーカイブ。, https://web.archive.org/web/20110727024039/http://www.csc.fi/sivut/kotoistus/nappaimisto.htm . Drafts of the Finnish multilingual keyboard.