Zero-width space

The zero-width space (), abbreviated ZWSP, is a non-printing character used in computerized typesetting to indicate word boundaries to text-processing systems in scripts that do not use explicit spacing, or after characters (such as the slash) that are not followed by a visible space but after which there may nevertheless be a line break. It is also used with languages without visible space between words, for example, Japanese.[1] Normally, it is not a visible separation, but it may expand in passages that are fully justified.[2]

Usage

In HTML pages, the zero-width space can be used to mark a potential line break without hyphenation, as can the HTML element <wbr>; for hyphenated line breaks, a soft hyphen is used. The zero-width space was not supported in some older web browsers.[3]

To show the effect of the zero-width space, the following words have been separated with zero-width spaces:

LoremIpsumDolorSitAmetConsecteturAdipiscingElitSedDoEiusmodTemporIncididuntUtLaboreEtDoloreMagnaAliquaUtEnimAdMinimVeniamQuisNostrudExercitationUllamcoLaborisNisiUtAliquipExEaCommodoConsequatDuisAuteIrureDolorInReprehenderitInVoluptateVelitEsseCillumDoloreEuFugiatNullaPariaturExcepteurSintOccaecatCupidatatNonProidentSuntInCulpaQuiOfficiaDeseruntMollitAnimIdEstLaborum

And the following words are not separated with these spaces:

LoremIpsumDolorSitAmetConsecteturAdipiscingElitSedDoEiusmodTemporIncididuntUtLaboreEtDoloreMagnaAliquaUtEnimAdMinimVeniamQuisNostrudExercitationUllamcoLaborisNisiUtAliquipExEaCommodoConsequatDuisAuteIrureDolorInReprehenderitInVoluptateVelitEsseCillumDoloreEuFugiatNullaPariaturExcepteurSintOccaecatCupidatatNonProidentSuntInCulpaQuiOfficiaDeseruntMollitAnimIdEstLaborum

On browsers supporting zero-width spaces, resizing the window will re-break the first text only at word boundaries, while the second text will not be broken at all.

Prohibition in domain names

ICANN rules prohibit domain names from containing non-displayed characters, including the zero-width space, and most browsers prohibit their use within domain names because they can be used to create a homograph attack, where a malicious URL is visually indistinguishable from a legitimate one.[4][5]

Encoding

The zero-width space character is encoded in Unicode as U+200B ZERO WIDTH SPACE,[6] and input in HTML as &ZeroWidthSpace;, &#8203; or &#x200B;. Contrary to what their names suggest, the character entities &NegativeThickSpace;, &NegativeMediumSpace;, &NegativeThinSpace;, and &NegativeVeryThinSpace; also refer to the zero-width space.[7]

The TeX representation is \hskip0pt; the LaTeX representation is \hspace{0pt};[8] and the groff representation is \:.[9]

Its semantics and HTML implementation are similar to the soft hyphen, except that soft hyphens display a hyphen character at the point where the line is broken.

See also

References

Citations

  1. "Zones spéciales et caractères de formatage" [Special areas and formatting characters] (PDF). Hapax Quebec (in French). p. 3. Archived from the original (PDF) on 27 December 2005. Retrieved 31 July 2019. Les espaces sans chasse sont conçues pour les langues qui ne séparent pas les mots à l'aide d'espaces visibles, comme le thaï ou le japonais.
  2. The Unicode Standard 6.1, p. 366
  3. Dunae, Alex. "Better Web Typography with Spaces and Hyphens". dunae.ca. Archived from the original on December 14, 2010. Retrieved December 3, 2009.
  4. "Network.IDN.blacklist_chars". mozillaZine. Retrieved 2018-02-07.
  5. "Unicode Character 'Zero Width Space'". FileFormat.Info. Retrieved 2018-02-07.
  6. "General Punctuation – Unicode" (PDF). Retrieved 2013-07-20.
  7. Entities/ZeroWidthSpace in MathML Version 2.0
  8. "The LaTeX Companion. Chapter 3: Basic Formatting Tools" (PDF). Retrieved 2019-07-16.
  9. "groff(7) – Linux manual page". Retrieved 2014-02-08.

Sources

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.