Non-breaking space

In word processing and digital typesetting, a non-breaking space (" ") (also called no-break space, non-breakable space (NBSP), hard space, or fixed space) is a space character that prevents an automatic line break at its position. In some formats, including HTML, it also prevents consecutive whitespace characters from collapsing into a single space.

In HTML, the common non-breaking space, which is the same width as the ordinary space character, is encoded as   or  . In Unicode, it is encoded as U+00A0.

Non-breaking space characters with other widths also exist.

Uses and variations

Despite having layout and uses similar to those of whitespace, it differs in contextual behavior.[1][2]

Non-breaking behavior

Text-processing software typically assumes that an automatic line break may be inserted anywhere a space character occurs; a non-breaking space prevents this from happening (provided the software recognizes the character). For example, if the text "100 km" will not quite fit at the end of a line, the software may insert a line break between "100" and "km". An editor who finds this behaviour undesirable may choose to use a non-breaking space between "100" and "km". This guarantees that the text "100 km" will not be broken: if it does not fit at the end of a line, it is moved in its entirety to the next line.

Non-collapsing behavior

A second common application of non-breaking spaces is in plain text file formats such as SGML, HTML, TeX and LaTeX, whose rendering engines are programmed to treat sequences of whitespace characters (space, newline, tab, form feed, etc.) as if they were a single character (but this behavior can be overridden). Such "collapsing" of whitespace allows the author to neatly arrange the source text using line breaks, indentation and other forms of spacing without affecting the final typeset result.[3][4]

In contrast, non-breaking spaces are not merged with neighboring whitespace characters when displayed, and can therefore be used by an author to simply insert additional visible space in the resulting output without using spans styled with peculiar values of the CSS “white-space” property. Conversely, indiscriminate use (see the recommended use in style guides), in addition to a normal space, gives extraneous space in the output.

Width variation

Other non-breaking variants, defined in Unicode:

Encodings

Format Representation of non-breaking space
Unicode and ISO/IEC 10646 U+00A0   NO-BREAK SPACE
UTF-8 C2 A0
ISO/IEC 8859 A0
CP1252 (Windows's default in most Germanic or Romance locales.) A0
KOI8-R 9A
EBCDIC 41 – RSP, Required Space
CP437, CP850, CP866 FF
HTML (including Wikitext)   (character entity reference)

  or   (numeric character references)

TeX ~ (tilde)
ASCII Not available

Unicode defines several other non-break space characters. See #Width variation. Encoding remarks:

Keyboard entry methods

It is rare for national or international standards on keyboard layouts to define an input method for the non-breaking space. An exception is the Finnish multilingual keyboard, accepted as the national standard SFS 5966 in 2008. According to the SFS setting, the non-breaking space can be entered with the key combination AltGr + Space.[9]

Typically, authors of keyboard drivers and application programs (e.g., word processors) have devised their own keyboard shortcuts for the non-breaking space. For example:

System/application Entry method
Microsoft Windows Alt+0+1+6+0 or Alt+2+5+5 (doesn't always work)
Apple Mac OS X Opt+Space
Linux or Unix using X11 Compose, Space, Space
AmigaOS Alt+Space
GNU Emacs Ctrl+X 8 Space
Vim Ctrl+K, Space, Space; or Ctrl+K, Shift+N, ⇧ Shift+S
Dreamweaver, LibreOffice, Microsoft Word,
OpenOffice.org (since 3.0)
Ctrl+⇧ Shift+Space
FrameMaker, LyX (non-Mac), OpenOffice.org (before 3.0),
WordPerfect
Ctrl+Space
Mac Adobe InDesign ⌥ Opt+⌘ Cmd+X

Apart from this, applications and environments often have methods of entering unicode entities directly via their code point, e.g. via the Alt Numpad input method. (Non-breaking space has codepoint 255 decimal (FF hex) in codepage 437 and codepage 850, and codepoint 160 decimal (A0 hex) in codepage 1252.)

See also

References

  1. "Justify Just or Just Justify", M. Elyaakoubi and A. Lazrek. Journal of Electronic Publishing, vol. 13, issue 1, 2010. DOI 10.3998/3336451.0013.105.
  2. "Special Characters". The Chicago Manual of Style Online.
  3. "Structure", HTML 4.01, W3, 1999-12-24.
  4. "Text", CSS 2.1, W3.
  5. ISO/IEC 10646-1:1993/FDAM 29:1999(E)
  6. Mongolian NNBSP-connected suffixes
  7. Solbrig, Amelie (1 February 2008). "Zweisprachige Mikrotypografie" (PDF) (in German). Hochschule für Technik, Wirtschaft und Kultur Leipzig. p. 58 (PDF p. 113). Retrieved 11 October 2015. 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. Retrieved 2014-11-02.
  9. Kotoistus (2006-12-28), Uusi näppäinasettelu [Status of the new keyboard layout] (presentation) (in Finnish and English), CSC – IT Center for Science. Drafts of the Finnish multilingual keyboard.
This article is issued from Wikipedia - version of the 12/4/2016. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.