Zero-width non-joiner

From Wikipedia, the free encyclopedia
  (Redirected from Zero-Width Non-Joiner)
Jump to: navigation, search
ISO keyboard symbol for ZWNJ

The zero-width non-joiner (ZWNJ) is a non-printing character used in the computerization of writing systems that make use of ligatures. When placed between two characters that would otherwise be connected into a ligature, a ZWNJ causes them to be printed in their final and initial forms, respectively. This is also an effect of a space character, but a ZWNJ is used when it is desirable to keep the words closer together or to connect a word with its morpheme.

The ZWNJ is encoded in Unicode as U+200C ZERO WIDTH NON-JOINER (HTML ‌ · ‌).

Use of ZWNJ and unit separator for correct typography[edit]

In certain languages, the ZWNJ is necessary for unambiguously specifying the correct typographic form of a character sequence.

The ASCII control code unit separator was formerly used.[dubious ]

Correct (with ZWNJ) Incorrect Meaning
Display Picture Code Display Picture Code
می‌خواهم Correct display of Persian with ZWNJ.svg می‌خواهم

(rendered from right to left):
میخواهم Incorrect display of Persian without ZWNJ.svg میخواهم Persian 'I want to'
עֲו‌ֹנֹת Correct Hebrew Vav with Holam haser with ZWNJ.svg עֲו‌ֹנֹת

(rendered from right to left):
עֲוֹנֹת Incorrect Hebrew Vav with Holam male without ZWNJ.svg עֲוֹנֹת Old Hebrew 'transgressions'
Auf‌lage Correct display of German with ZWNJ.svg Auf‌lage Auflage Incorrect display of German without ZWNJ.svg Auflage German 'edition' (compound of "auf"+"Lage")
Brot‌zeit Correct display of Fraktur with ZWNJ.svg Brot‌zeit Brotzeit Incorrect display of Fraktur without ZWNJ.svg Brotzeit German (regional) '(kind of) snack'
(compound noun "Brot"+"Zeit" = 'bread time'),
shown in Fraktur
deaf‌ly deaf‌ly deafly deafly Not a compound of "dea"+"fly", but the adverb of "deaf"
श्रीमान्‌को श्रीमान्‌को श्रीमान्को श्रीमान्को In Nepali "of husband" or "of respected person" according as what "श्रीमान्" is used to represent (husband or respected person).
র‌্যাম র‌্যাম র্যাম র্যাম র‍্যাম means RAM. There is a vowel in Bengali (অ্যা) which is used to write foreign words such as RAM, Bat, Fan etc. It hasn't its own character.

In the Biblical Hebrew example, the placement of the holam dot to the left of the letter vavו‎⟩ is correct. If a dot were placed over the ⟨ו‎⟩, it would resemble ⟨עוֹנוֹת‎⟩, "seasons". In Modern Hebrew, there is no reason to use the ḥolam after the vav, and the ligature is not needed, so it is rarely used in Modern Hebrew typesetting.

In German typography, ligatures may not cross the constituent boundaries within compounds. Thus, in the first German example, the prefix Auf- is separated from the rest of the word to prohibit the ligature fl. Similarly in English, ligatures should not cross morpheme boundaries.[1][2] For example, in some words 'fly' and 'fish' are morphemes but in others they're not; therefore words like 'deafly' and 'selfish' should not have ligatures (respectively of fl and fi) while 'dayfly' and 'catfish' should have them.

Persian uses this character extensively for certain prefixes, suffixes and compound words,[3] and is necessary to disambiguate between non-compound words, which uses a full space.

Use of ZWNJ to display alternate forms[edit]

In Indic scripts, insertion of a ZWNJ after a consonant either with a halant or before a dependent vowel prevents the characters from being joined properly:

In Devanagari, the characters क् and typically combine to form क्ष, but when a ZWNJ is inserted between them, क्‌ष (code: क्‌ष) is seen instead.

In Kannada, the characters ನ್ and ನ combine to from ನ್ನ, but when a ZWNJ is inserted between them, ನ್‌ನ would be seen. That style is typically used to write non-Kannada words in Kannada script:Facebook is written as ಫೇಸ್‌ಬುಕ್ though it can be written as ಫೇಸ್ಬುಕ್. ರಾಜ್‌ಕುಮಾರ್ and ರಾಮ್‌ಗೊಪಾಲ್ are examples of other proper nouns that needs ZWNJ.

In Bengali, the characters র (consonant) and the অ্যা (vowel) combined to র্য which is a conjugate glyph of র and য. Because অ্যা isn't a character rather it is written by 3 letters (অ্,য,া). To fix the problem ZWNJ is used. Examples: The words র‌্যাব, র‍্যান্ডম etc are (borrowed from English) fixed by inserting ZWNJ. Without ZWNJ they are shown as র্যাব, র্যান্ডম. Besides, to write the words উদ্‌ঘাটন (code: উদ্‌ঘাটন), ইক্‌রা, etc need ZWNJ too.


German T2 keyboard (detail), showing the ZWNJ symbol on the “.” key

The symbol to be used on keyboards which enable the input of the ZWNJ directly is standardized in Amendment 1 (2012) of ISO/IEC 9995-7:2009 "Information technology – Keyboard layouts for text and office systems – Symbols used to represent functions" as symbol number 81, and in IEC 60417 "Graphical Symbols for use on Equipment" as symbol no. IEC 60417-6177-2.

See also[edit]


  1. ^ "When should I not use a ligature in English typesetting?". 
  2. ^ Robert Bringhurst (2008). The Elements of Typographic Style. Section 3.3 'Ligatures' (pp 50-53). Hartley & Marks.
  3. ^ "The Zero-Width-Non-Joiner". Archived from the original on July 8, 2012. 

External links[edit]