Zero-width space

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by KolbertBot (talk | contribs) at 21:31, 23 March 2018 (Bot: HTTP→HTTPS (v485)). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

The zero-width space (ZWSP) is a non-printing character used in computerized typesetting to indicate word boundaries to text processing systems when using 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. Normally, it is not a visible separation, but it may expand in passages that are fully justified.[1]

Usage

In HTML pages, the zero-width space can be used as a potential line-break in long words as an alternative to the <wbr> element. However, the zero-width space is not supported in some web browsers such as old versions of Internet Explorer (versions 6 and earlier).[2]

To show the effect of the zero-width space, the following words have been separated with zero-width 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​Irure​Dolor​In​Reprehenderit​In​Voluptate​Velit​Esse​Cillum​Dolore​Eu​Fugiat​Nulla​Pariatur​Excepteur​Sint​Occaecat​Cupidatat​Non​Proident​Sunt​In​Culpa​Qui​Officia​Deserunt​Mollit​Anim​Id​Est​Laborum

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.

Blacklisting in URLs

ICANN rules prohibit domain names from including non-displayed characters such as zero-width space, and most browsers blacklist 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.[3][4]

Encoding

The zero-width space character is encoded in Unicode as U+200B ZERO WIDTH SPACE (&NegativeMediumSpace;, &NegativeThickSpace;, &NegativeThinSpace;, &NegativeVeryThinSpace;, &ZeroWidthSpace;).[5]

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

Its semantics and HTML implementation are similar to the soft hyphen.

See also

References

  1. ^ The Unicode Standard 6.1, p. 366
  2. ^ "Alex Dunae » Better Web Typography with Spaces and Hyphens". Archived from the original on December 14, 2010. Retrieved December 3, 2009. {{cite web}}: Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  3. ^ "Network.IDN.blacklist_chars - mozillaZine". Retrieved 2018-02-07.
  4. ^ "Unicode Character 'ZERO WIDTH SPACE' - FileFormat.Info". Retrieved 2018-02-07.
  5. ^ "General Punctuation – Unicode" (PDF). Retrieved 2013-07-20.
  6. ^ "The LaTeX Companion. Chapter 3: Basic Formatting Tools" (PDF). Retrieved 2014-02-08.
  7. ^ "groff(7) – Linux manual page". Retrieved 2014-02-08.