Non-breaking space | |
See Also: | Other types of spaces |
In word processing and digital typesetting, a non-breaking space, also called NBSP, required space,[1] hard space, or fixed space (in most typefaces, it is not of fixed width), 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. Non-breaking space characters with other widths also exist.
Despite having layout and uses similar to those of whitespace, it differs in contextual behavior.[2] [3]
In contrast, non-breaking spaces are not merged with neighboring whitespace characters when displayed. They 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.
Other non-breaking variants, defined in Unicode:
;
, ?
, !
, »
, ›
and after «
, ‹
; today often (i.e. in French DTP, referred to[9] as new-school) also before :
) and in German between multi-part abbreviations (e.g., "z.B.", "d.h.", "v.l.n.r.").[10] When used with Mongolian, its width is usually one third of the normal space; in other contexts, its width is about 70% of the normal space but may resemble that of the thin space (U+2009), at least with some fonts.[11] Also starting from release 34 of Unicode Common Locale Data Repository (CLDR) the NNBSP is used in numbers as thousands group separator for French and Spanish locale.[12] [13] On browsers, resizing the window will demonstrate the effect of non-breaking spaces on the texts below.
To show the non-breaking effect of the non-breaking space, the following words have been separated with non-breaking spaces:
Lorem Ipsum Dolor Sit Amet Consectetur Adipiscing Elit Sed Do Eiusmod Tempor Incididunt Ut Labore Et Dolore Magna Aliqua Ut Enim Ad Minim Veniam Quis Nostrud Exercitation Ullamco Laboris Nisi Ut Aliquip Ex Ea Commodo Consequat Duis Aute
To show the non-collapsing behavior of the non-breaking space, the following words have been separated with an increasing number of non-breaking spaces:
Lorem Ipsum Dolor Sit Amet Consectetur Adipiscing Elit Sed Do Eiusmod Tempor Incididunt Ut Labore Et Dolore Magna Aliqua Ut Enim Ad Minim
In contrast, the following words are separated with ordinary spaces:
Lorem Ipsum Dolor Sit Amet Consectetur Adipiscing Elit Sed Do Eiusmod Tempor Incididunt Ut Labore Et Dolore Magna Aliqua Ut Enim Ad Minim Veniam Quis Nostrud Exercitation Ullamco Laboris Nisi Ut Aliquip Ex Ea Commodo Consequat Duis Aute
In Unicode, the byte order mark (BOM), U+FEFF, may be interpreted as a "zero width no-break space", but is a deprecated alternative to word joiner (U+2060).
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 SFS 5966, the non-breaking space can be entered with the key combination AltGr + Space.[14]
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 | + or + (does not always work) | |
macOS | ||
Linux or Unix using X11 | ,, or | |
AmigaOS | ||
GNU Emacs | ||
Vim | ,, ; or,, | |
Dreamweaver, LibreOffice, Microsoft Word, OpenOffice.org (since 3.0), AutoCAD | ||
FrameMaker, LyX (non-Mac), OpenOffice.org (before 3.0), WordPerfect | ||
Mac Adobe InDesign | ||
Python programming language | '\N{NO-BREAK SPACE}' [15] or '\xa0' /'\u00a0' |
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 code point 255
decimal (FF
hex) in codepage 437 and codepage 850 and code point 160
decimal (A0
hex) in codepage 1252.)