Zero-width joiner

Today, Zero-width joiner is a topic that has acquired unusual relevance in today's society. Whether due to its impact on popular culture, its influence on the global economy or its importance in the scientific field, Zero-width joiner has become a topic of interest for a wide spectrum of audiences. This is due, in part, to the speed with which news and information spreads in the digital age, which has allowed Zero-width joiner to feature prominently in everyday conversations. In this article, we will explore the different dimensions of Zero-width joiner and its impact on our daily lives, as well as the possible implications this could have in the future.
ISO keyboard symbol for ZWJ

The zero-width joiner (ZWJ, /ˈzwɪ/) (‍) is a non-printing character used in the computerized typesetting of writing systems in which the shape or positioning of a grapheme depends on its relation to other graphemes (complex scripts), such as the Arabic script or any Indic script. Sometimes the Roman script is to be counted as complex, e.g. when using a Fraktur typeface. When placed between two characters that would otherwise not be connected, a ZWJ causes them to be printed in their connected forms.

The exact behaviour of the ZWJ varies depending on whether the use of a conjunct consonant or ligature (where multiple characters are shown with a single glyph) is expected by default; for instance, it suppresses the use of conjuncts in Devanagari (whilst still allowing the use of the individual joining form of a dead consonant, as opposed to a halant form as would be required by the zero-width non-joiner), but induces the use of conjuncts in Sinhala (which does not use them by default). Similarly to Sinhala, when a ZWJ is placed between two emoji characters (or interspersed between multiple), it can result in a single glyph being shown, such as the family emoji, made up of two adult emoji and one or two child emoji.

In some cases, such as the second Devanagari example below, the ZWJ can be used to display a joining form in isolation, when included after the character and combining halant code.

The character's code point is U+200D ZERO WIDTH JOINER (‍). In the InScript keyboard layout for Indian languages, it is typed by the key combination Ctrl+Shift+1. However, many layouts use the position of QWERTY's ']' key for this character.

Examples

Use of ZWNJ and ZWJ to select alternative forms of Devanagari, Tamil, Kannada, Sinhala and emoji.
Bengali
Character sequence Appearance
র্য
র‍্য
Devanagari
Character sequence Appearance
क्
क्‍
क्ष
क्‍ष
Kannada
Character sequence Appearance
ರ್ಕ
ರ‍್ಕ
Sinhala
Character sequence Appearance
ශ්ර
ශ්‍ර
Malayalam
(Until Unicode 5.0; in later editions, specific code points are allotted)
Character sequence Appearance
ണ്‍
ന്‍
ര്‍
ല്‍
ള്‍
Emoji
Character sequence Appearance Description
👨‍👩‍👦 Family: Man, Woman, Boy
🏳️‍🌈 Rainbow Flag
🏃🏻‍♀️ Woman Running: Light Skin Tone
🏃🏿‍♀️ Woman Running: Dark Skin Tone
👨‍🦰 Man: Red Hair
👨‍🌾 Farmer

See also

References

  1. ^ "113 New Unicode Emoji (plus skin tones)". Unicode Blog. 2016-11-28. Retrieved 2021-01-14.
  2. ^ Constable, Peter (2004-06-30). "Proposal on Clarification and Consolidation of the Function of ZERO WIDTH JOINER in Indic Scripts" (PDF). Unicode Consortium. UTC L2/04-279, Public Review Issue #37.
  3. ^ "Zero Width Joiner". Emojipedia. Retrieved 2015-09-21.
  4. ^ "ചിത്രം:Inscript.jpg – Malayalam Computing" (in Malayalam). Malayalam.kerala.gov.in. Archived from the original on 2011-10-11. Retrieved 2011-10-22.
  5. ^ "Changes related to Malayalam in Unicode 5.1.0 from 5.0" (PDF). Unicode.org. Retrieved 2015-06-12.

External links