Non-breaking space 2026-11-05
A non-breaking space is a separating character intended to keep adjacent text together during ordinary line breaking. The common Unicode character is U+00A0 NO-BREAK SPACE. It has line-break class GL; the surrounding rules determine which boundaries are prohibited.[ref]
Unicode Line Breaking Algorithm by the Unicode Consortium. §5.1, GL class; rules LB12 and LB12a
For an example,
25\u00a0µm is a visible spelling of an escape notation for a number, U+00A0, and a micrometre symbol. The actual text 25 µm keeps the number and unit together at that separator. Ordinary 25 µm instead uses U+0020 SPACE and can provide a wrap opportunity there. Neither choice fixes the physical width of the gap in every computer font.The rule is local. In the sequence
A\u0020\u00a0B, a break after the ordinary space can still be allowed, leaving the non-breaking space on the following line. Thus inserting U+00A0 does not make an entire text paragraph unbreakable.[ref]Unicode Line Breaking Algorithm by the Unicode Consortium. GL description: SPACE before NO-BREAK SPACE; LB12a exception
Soft hyphen 2026-11-05
A soft hyphen, or SHY, is the Unicode character U+00AD. It marks a preferred optional division inside a word and normally has no visible shape when that division is unused. Selecting it invokes the language-appropriate presentation for an intraword break, which can involve more than adding one hyphen.[ref]
Unicode Line Breaking Algorithm by the Unicode Consortium. §5.4: invisible format character and language-dependent break presentation
For example, a suitable renderer can show
ex followed by SHY and ample as example on one line, or as ex- and ample on successive lines. The visible hyphen then belongs to the chosen layout. In languages with spelling changes at a division, the layout implementation may also need to modify the divided parts.[ref]Unicode Line Breaking Algorithm by the Unicode Consortium. §5.4: spelling changes and responsibility of the line-breaking implementation
A soft hyphen supplies a hyphenation opportunity; it does not force the line breaking algorithm to use it. The algorithm can retain the unbroken word when its typesetting line width and paragraph cost permit that choice.
Word separator 2026-11-05
A word separator is a text unit whose primary role is to separate words. Unicode SPACE U+0020 and non-breaking space U+00A0 are common examples. In CSS, the word-separator classification helps determine where word spacing is applied after white-space processing.[ref]
CSS Text Module Level 3 by World Wide Web Consortium. §7.1: word-separator characters and extra spacing
Separation and line breaking are related but distinct. In a suitable ordinary text context, a normal space between
10 and kg provides a possible break. Using a non-breaking space there keeps the number and unit together at that boundary. Both characters can still provide visible separation.[ref]Unicode Line Breaking Algorithm by the Unicode Consortium. Line-breaking properties: GL class and rules LB12/LB12a
A language can also write words without visible separators, so a count of space characters is not a universal word-counting method. Text shaping, word spacing and permitted breaks must follow the appropriate text-processing rules. A separator's stored character and the selected glyph advance jointly participate in the geometry.