Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Zero-width non-joiner
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Non-printing character that separates two normally joined characters}} [[File:IEC 60417 - Ref-No 6077-1.svg|thumb|upright|ISO keyboard symbol for ZWNJ]] [[File:ZWNJ example with tilde.svg|thumb|upright|A ZWNJ between the double-wide tilde and the acute accent centers the acute over the tilde, instead of over the ''eͤ'' as it would appear otherwise.<ref>Navarro Tomás (1962) Atlas lingüístico de la la Península Ibérica (ALPI), tomo 1 ‘Fonética.’ Consejo superior de investigaciones científicas, Madrid. From map 69, location 240.</ref>]] The '''zero-width non-joiner''' ('''ZWNJ''', {{IPAc-en|z|w|ɪ|n|dʒ}}; rendered: {{Not a typo|{{kbd|‌}}}}; [[HTML entity]]: {{kbd|&zwnj;}} or {{kbd|&#8204;}}) is a [[non-printing character]] used in the computerization of [[writing system]]s that make use of [[Typographic ligature|ligatures]]. For example, in writing systems that feature initial, medial and final letter-forms, such as the [[Persian alphabet]], when a ZWNJ is placed between two characters that would otherwise be joined into a ligature, it instead prevents the ligature and causes them to be printed in their final and initial forms, respectively. This is also an effect of a [[Space (punctuation)|space character]], but a ZWNJ is used when it is desirable to keep the characters closer together or to connect a word with its morpheme. The ZWNJ is encoded in [[Unicode]] as {{unichar|200C|ZERO WIDTH NON-JOINER|html=}}. == Use of ZWNJ for correct typography == In certain languages, the ZWNJ is necessary for unambiguously specifying the correct typographic form of a character sequence. {|class="wikitable" style="font-variant-ligatures: common-ligatures discretionary-ligatures;" !colspan="3"| Correct (with ZWNJ) !colspan="3"| Incorrect !rowspan="2"| Meaning |- ! Display ! Picture ! Code ! Display ! Picture ! Code |- | {{script/Arabic|size=200%|attributes=lang="fa"|میخواهم}} | [[File:Correct display of Persian with ZWNJ.svg|class=skin-invert-image]] | <code>می&zwnj;خواهم</code><br /><br /><small>''(rendered from right to left):''<br /></small><div dir="rtl"><code>می<span dir="ltr">&zwnj;</span>خواهم</code></div> | {{script/Arabic|size=200%|attributes=lang="fa"|میخواهم}} | [[File:Incorrect display of Persian without ZWNJ.svg|class=skin-invert-image]] | <code>میخواهم</code> | [[Persian language|Persian]] 'I want to' |- | {{script/Arabic|size=200%|attributes=lang="ms"|سا{{Jawi-HamzaThreeQuarter|8}}ينس}} | [[File:Correct display of Malay with ZWNJ.svg|74px|class=skin-invert-image]] | <code>ساءين&zwnj;س</code><br /><br /><small>''(rendered from right to left):''<br /></small><div dir="rtl"><code>ساءين<span dir="ltr">&zwnj;</span>س</code></div> | {{script/Arabic|size=200%|attributes=lang="fa"|سا{{Jawi-HamzaThreeQuarter|8}}ينس}} | [[File:Incorrect display of Malay without ZWNJ.svg|74px|class=skin-invert-image]] | <code>ساءينس</code> | [[Malay language|Malay]] 'science' |- | {{Script/Hebrew|size=150%|attributes=lang="hbo"|הֱֽיֹות}} | [[File:Correct Hebrew metag with hataf with ZWNJ.svg|class=skin-invert-image]] | <code>הֱ&zwnj;ֽיֹות</code><br /><br /><small>''(rendered from right to left):''<br /></small><div dir="rtl"><code>הֱ<span dir="ltr">&zwnj;</span>ֽיֹות</code></div> | {{Script/Hebrew|size=150%|attributes=lang="hbo"|הֱֽיֹות}} | [[File:Incorrect Hebrew metag with hataf without ZWNJ.svg|class=skin-invert-image]] | <code>הֱֽיֹות</code> | [[Biblical Hebrew|Old Hebrew]] 'be' |- | {{lang|de|2=<span style="font-family:serif; font-size:x-large;">Auflage</span>|italic=no}} | [[File:Correct display of German with ZWNJ.svg|class=skin-invert-image]] | <code>Auf&zwnj;lage</code> | {{lang|de|2=<span style="font-family:serif; font-size:x-large;">Auflage</span>|italic=no}} | [[File:Incorrect display of German without ZWNJ.svg|class=skin-invert-image]] | <code>Auflage</code> | [[German language|German]] 'edition' ([[Compound (linguistics)|compound]] of "{{lang|de|auf}}"+"{{lang|de|Lage}}") |- | {{script|de-Latf|2=<span style="font-size:x-large;">Brotzeit</span>}} | [[File:Correct display of Fraktur with ZWNJ.svg|class=skin-invert-image]] | <code>Brot&zwnj;zeit</code> | {{script|de-Latf|2=<span style="font-size:x-large;">Brotzeit</span>}} | [[File:Incorrect display of Fraktur without ZWNJ.svg|class=skin-invert-image]] | <code>Brotzeit</code> | German (regional) '(kind of) snack'<br />(compound noun "{{lang|de|Brot}}"+"{{lang|de|Zeit}}" = 'bread time'),<br /> shown in [[Fraktur]] |- | <span style="font-family:serif; font-size:x-large;">deafly</span> | [[File:Correct display of English word “deafly” with ZWNJ.svg|class=skin-invert-image]] | <code>deaf&zwnj;ly</code> | <span style="font-family:serif; font-size:x-large;">deafly</span> | [[File:Incorrect display of English word “deafly” without ZWNJ.svg|class=skin-invert-image]] | <code>deafly</code> | Not a compound of "dea"+"fly", but the adverb of "deaf" |- | {{lang|ne|2=<span style="font-family:serif; font-size:x-large">श्रीमान्को</span>}} | | <code>श्रीमान्&zwnj;को</code> | {{lang|ne|2=<span style="font-family:serif; font-size:x-large">श्रीमान्को</span>}} | | <code>श्रीमान्को</code> | In [[Nepali language|Nepali]] "of husband" or "of respected person" according as what "श्रीमान्" is used to represent (husband or respected person). |- | {{lang|bn|2=<span style="font-family:serif; font-size:x-large">উদ্যাপন</span>}} |[[File:উদ্যাপন.png|164px|class=skin-invert-image]] | <code>উদ্&zwnj;যাপন</code> | {{lang|bn|2=<span style="font-family:serif; font-size:x-large">উদ্যাপন</span>}} |[[File:উদ্যাপন.png|148px|class=skin-invert-imagex]] | <code>উদ্যাপন</code> |[[Bengali language|Bengali]] meaning of celebration. |- | {{lang|ne|2=<span style="font-family:serif; font-size:x-large">अय्लाः</span>}} | | <code>अय्&zwnj;लाः</code> | {{lang|ne|2=<span style="font-family:serif; font-size:x-large">अय्लाः</span>}} | | <code>अय्लाः</code> | Wine in [[Newar language|Nepalbhasa]] |- | {{lang|te|2=<span style="font-family:serif; font-size:x-large">హైద్రాబాదు</span>}} | [[File:Hyderabad with ZWNJ in Telugu.png|123px|class=skin-invert-image]] | <code>హైద్&zwnj;రాబాదు</code> | {{lang|te|2=<span style="font-family:serif; font-size:x-large">హైద్రాబాదు</span>}} | | <code>హైద్రాబాదు</code> | Hyderabad written in [[Telugu language|Telugu]] |} The picture shows how the code looks when it is ''rendered'' correctly, and in every row the correct and incorrect pictures should be different. On a system which not configured to display the Unicode correctly, the correct display and the incorrect one may look the same, or either of them may be significantly different from the corresponding picture. In this [[Biblical Hebrew]] example, the placement of the {{lang|he-Latn|[[meteg]]}} to the left of the {{lang|he-Latn|[[segol]]}} is correct, which has a {{lang|he-Latn|shva}} sign written as two vertical dots to denote short vowel. If a {{lang|he-Latn|meteg}} were placed to the left of {{lang|he-Latn|shva}}, it would be erroneous. In [[Modern Hebrew]], there is no reason to use the {{lang|he-Latn|meteg}} for spoken language, so it is rarely used in Modern Hebrew typesetting. In German typography, ligatures may not cross the constituent boundaries within [[compound (linguistics)|compounds]]. Thus, in the first German example, the prefix {{lang|de|Auf-}} is separated from the rest of the word to prohibit the ligature ''fl''. Similarly, in English, some argue ligatures should not cross [[morpheme]] boundaries.<ref>{{cite web |url=https://english.stackexchange.com/questions/50660/when-should-i-not-use-a-ligature-in-english-typesetting#answer-50957 |title=When should I not use a ligature in English typesetting? |work=english.stackexchange.org }}</ref>{{Better source needed|date=November 2018}} For example, in some words ''fly'' and ''fish'' are morphemes but in others they're not; therefore, by their reasoning, words like ''{{not a typo|deaf‌ly}}'' and ''{{not a typo|self‌ish}}'' (here shown with the non-joiner) 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.<ref>{{cite web |url=http://persian.nmelrc.org/persianword/zwnj.htm |title=The Zero-Width-Non-Joiner |work=National Middle East Language Resource Center|archive-url=https://web.archive.org/web/20120708235820/http://persian.nmelrc.org/persianword/zwnj.htm |archive-date=July 8, 2012}}</ref> It is necessary for disambiguating compounds from non-compound words, which use a full space. In the [[Jawi alphabet|Jawi script]] of [[Malay language|Malay]], ZWNJ is used whenever more than one consonants are written at the end of any phrase ({{lang|ms-Arab|سا{{Jawi-HamzaThreeQuarter}}ينس}}, Malay for 'science' or {{lang|ms|sains}} in Latin script, pronounced /ˈsa.ɪ'''ns'''/.) It is used to signify that there are no vowels (specifically 'a' or 'ə') in between the two consonant letters as {{lang|ms-Arab|سا{{Jawi-HamzaThreeQuarter}}ينس}} would otherwise be pronounced either /ˈsa.ɪnas/ or /ˈsa.ɪnəs/. A space would separate the phrase into different words, where phrases such as {{lang|ms-Arab|سا{{Jawi-HamzaThreeQuarter}}ين س}} would now mean 'to sign the Arabic letter [[samekh|sin]]' ({{lang|ms|sain sin}} in Latin script.) == Use of ZWNJ to display alternative forms == [[File:Zero Width (Non)Joiner.svg|thumb|Use of ZWNJ and {{control code link|ZWJ}} to select alternative forms of [[Devanagari]], [[Tamil script|Tamil]], [[Kannada script|Kannada]], [[Sinhala script|Sinhala]] and [[emoji]].]] 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:<ref>{{Cite web|url=https://www.unicode.org/faq/indic.html#17|title=FAQ - Indic Scripts and Languages|website=www.unicode.org|access-date=2020-03-15}}</ref> In [[Devanagari]], the characters {{script|Deva|क्}} and {{script|Deva|ष}} typically combine to form {{script|Deva|क्ष}}, but when a ZWNJ is inserted between them, {{script|Deva|क्ष}} (code: <code>क्&zwnj;ष</code>) is seen instead. In [[Kannada]], the characters ನ್ and ನ combine to form ನ್ನ, but when a ZWNJ is inserted between them, ನ್ನ is displayed. That style is typically used to write foreign words in Kannada script: "[[Facebook]]" is written as ಫೇಸ್ಬುಕ್, though it can be written as ಫೇಸ್ಬುಕ್. [[:kn:ಡಾ.ರಾಜ್ಕುಮಾರ್|ರಾಜ್ಕುಮಾರ್]] and ರಾಮ್ಗೊಪಾಲ್ are examples of other proper nouns that need ZWNJ. To insert a ZWNJ in Kannada, use Shift-V on [[Linux]] ([[Intelligent Input Bus|iBus]], InScript). On [[Windows]] ([[InScript]]), you can produce a ZWNJ with Ctrl+Shift+2 or Alt+0157. For the LipikaIME on [[MacOS|Mac]], the caret returns a ZWNJ. In [[Bengali language|Bengali]], when the Bengali letter য occurs at the end of a consonant cluster—i.e., য preceded by a ◌্ (''[[Virama|hôsôntô]]'')—it appears in a special shape, [[File:Japhala.png|alt=Rendering of Bengali Ja-phala|frameless|x15px]], known as the য-ফলা (''ja-phala''), such as in ক্য (ক ্ য). Thus, when we want to write উদ্যাপন (correct Bengali spelling for celebration), it becomes উদ্যাপন (which is incorrect). Here ZWNJ works. If we want to write উদ্যাপন, we have to write in the following sequence (code: <code>উদ্</code>&zwnj;<code>যাপন</code>),<ref name=":0">{{Cite web |title=Bengali FAQ in Unicode. |url=https://www.unicode.org/faq/bengali.html#6}}</ref><ref name=":1">Also see the Unicode chapter 12, Bengali (Bangla) between page 475 to 479 here in [https://www.unicode.org/versions/latest/ch12.pdf#G664195 PDF].</ref> then we will get the proper rendering and the correct spelling. In [[Bengali language|Bengali]], the ''hôsôntô'' is used for making any conjuncts and falas (such as ra-fala, ba-fala etc)''.'' Where the ''hôsôntô'' needs to be displayed explicitly, it is required to insert ZWNJ after the ''hôsôntô''. Also in [[Bengali language|Bengali]], when the Bengali letter র occurs at the beginning of a consonant cluster—i.e., র succeeded by a hôsôntô—it appears in a special shape, known as the রেফ (reph). Thus, the sequence র ্ য is rendered by default as র্য. When the য-ফলা shape needs to be retained rather than the রেফ shape, the ZWJ {{unichar|200D|ZERO WIDTH JOINER|html=}} is inserted right after র, i.e., র&zwj;্য to render র্য.<ref name=":0" /><ref name=":1" /> র্য is commonly used for loanwords from English such as র্যাম (RAM), র্যান্ডম (random) etc. == Symbol == [[File:German-T2-Keyboard-Prototype-May-2012-part.jpg|thumb|[[German keyboard layout|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 [[International Electrotechnical Commission|IEC]] 60417 ''"Graphical Symbols for use on Equipment"'' as symbol no. IEC 60417-6177-2. == See also == * [[Zero-width joiner]] * [[Zero-width space]] * [[Word divider]] == References == {{Reflist}} == External links == * [http://sartre2.byu.edu/persian/persianword/zwnj.htm Using the ZWNJ in Persian] * [http://archives.miloush.net/michkap/archive/2006/02/15/532394.html Every character has a story #19: U+200c and U+200d (ZERO WIDTH <nowiki>[NON]</nowiki> JOINER)] {{Unicode navigation}} [[Category:Control characters]] [[Category:Persian orthography]] [[Category:Typography]] [[Category:Unicode formatting code points]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:Better source needed
(
edit
)
Template:Cite web
(
edit
)
Template:Control code link
(
edit
)
Template:IPAc-en
(
edit
)
Template:Kbd
(
edit
)
Template:Lang
(
edit
)
Template:Not a typo
(
edit
)
Template:Reflist
(
edit
)
Template:Script
(
edit
)
Template:Script/Arabic
(
edit
)
Template:Script/Hebrew
(
edit
)
Template:Short description
(
edit
)
Template:Unichar
(
edit
)
Template:Unicode navigation
(
edit
)