Talk:Zero-width non-joiner

Add topic
Active discussions
WikiProject Typography (Rated Start-class, Low-importance)
WikiProject iconThis article is within the scope of WikiProject Typography, a collaborative effort to improve the coverage of articles related to Typography on Wikipedia. If you would like to participate, please visit the project page, where you can join the discussion and see a list of open tasks.
Start This article has been rated as Start-Class on the quality scale.
 Low  This article has been rated as Low-importance on the importance scale.
WikiProject Computing (Rated Start-class, Low-importance)
WikiProject iconThis article is within the scope of WikiProject Computing, a collaborative effort to improve the coverage of computers, computing, and information technology on Wikipedia. If you would like to participate, please visit the project page, where you can join the discussion and see a list of open tasks.
Start This article has been rated as Start-Class on the project's quality scale.
 Low  This article has been rated as Low-importance on the project's importance scale.

Clarification, pleaseEdit

a ZWNJ causes them to be printed in their final and initial forms, respectively

What does "final and initial forms" mean? An example might be useful. —Preceding unsigned comment added by (talk) 12:13, 10 March 2010 (UTC)

  • AGREE - "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." Could we please have a very clear, single example of this, with pictures, understandable to ppl like me who are good in American English but have no knowledge of other letterforms. Perhaps an example using ff, fi, or something similar.
    kcylsnavS{screechharrass} 14:07, 17 April 2012 (UTC)

Simply, understand ZWNJ as a hidden separator code that is used to intervene between two character codes that otherwise would cause the font to generate a ligature giving a new shape (glyph) for the combined two letters. The terms 'final', 'initial' explain the visible result of this in individual orthographies. I added the comment about US control code that does the same job as ZWNJ.JC (talk) 17:40, 29 June 2014 (UTC)


My hebrew is old and broken, but there's no vav in the second variant in the hebrew example at all. I'd fix it, but I'm not sure what correct is. (talk) 20:58, 6 April 2009 (UTC)

A ZWNJ of your very ownEdit

>‌< Between these arrows.

usage in Latin scriptEdit

I found that in Windows Vista's Notepad, both zero-width joiner and zero-width non joiner cause to break the fi ligature, while according to this article, only ZWNJ should do so. Is it desired behaviour, or probably a bug in Vista text rendering engine?--Azarien (talk) 18:54, 23 June 2009 (UTC)

(Late entry for late readers) Great question. Actually, ZWNJ and ZWJ were designed to help with the so-called complex scripts. The fonts of these languages understand what ZWJ means. It tells the font to join the two glyphs on either side if they have a ligature. (The first one entered could be a glyph of a ligature and the second a Unicode character). ZWNJ is simply a dummy hidden character that makes in the eyes of the font that they are not adjoining ones that may form a ligature.

What we need in Latin scripts is anything hidden that keeps two letters apart that might otherwise combine into a ligature. The better one to use for Latin is the single-byte control code US, Unit Separator. Add it to your keyboard if you type Fraktur or any such.JC (talk) 17:55, 29 June 2014 (UTC)

No, ZWNJ is applicable for Latin script also. The German keyboard standard DIN 2137 (2012 edition) has a key combination for this (AltGr + ".") on its extended T2 layout. It is not only applicable for Fraktur but also for Roman, as ligatures like "fi" are subject to German orthography rules (they must not occur at the boundaries of constituents within composite words). -- Karl432 (talk) 19:03, 29 June 2014 (UTC)
I understand, what I say is that US does it too. I had ZWNJ for Singhala for like a decade at AltGr-/. Then when few days back I saw that I could type US directly in HTML editors, I changed that position to US. Anyway, it is individual preference, and I respect yours most humbly.JC (talk) 19:25, 29 June 2014 (UTC)

Malayalam WikipediaEdit

In Malayalam Wikipedia, many articles using ZWNJ sign. Why? Triwikanto (talk) 14:05, 25 December 2009 (UTC)

The German sampleEdit

I have changed the German sample so it now really uses the ZWNJ. Before, it used the precomposed ligature characters U+FB01 Latin Small Ligature fi (fi) and U+FB03 Latin Small Ligature ffi (ffi). While this was obviously an attempt to force the displayal of the effect of the ZWNJ, I think this was bad practice. For one, the use of those precomposed ligature characters is discouraged by Unicode. They serve the only purpose of compatibility with legacy character encodings. But more important, this article is about the ZWNJ, so I think an example of the ZWNJ's effect should really be an example of the ZWNJ.

I know that many combinations of browsers and fonts will not be able to really show this distinction (actually, I think that of this moment, only recent Gecko browsers will be able to do ligatures). But if we want to make sure that the effect is illustrated regardless of browser and font settings, then we should not recur to a messy workaround with questionable characters, but to a picture. -- machᵗᵃˡᵏ 14:38, 18 June 2010 (UTC)

Agreed. The best way to show different renderings reliably is with an image. --Macrakis (talk) 14:58, 18 June 2010 (UTC)
if hardly any browser will show the effect of ZWNJ correctly, then a workaround should be used to display the effect, in my opinion. there is no point in having the example use the ZWNJ if its effects end up being invisible for the reader. (talk) 01:03, 18 July 2011 (UTC)
Sure, and as we have already said, the workaround should be pictures. So I am doing it now. -- mach 🙈🙉🙊 08:31, 18 July 2011 (UTC)
Thank you for this, this made the examples far clearer.Rody1990 (talk) 21:42, 23 July 2011 (UTC)

Since these posts are four years old, I am writing to clarify the ligature situation as I understand to update the current knowledge about fonts and ligatures and the role of ZWNJ. OpenType standard, now OpenFont standard, allows anyone to create ligatures anyway they wish -- make them in the Private Use Area (PUA). This is why Unicode discourages use of hard coded ligatures they had initially for English. I created a font for romanized Singhala that has over 2000 Sanskrit ligatures all in the PUA, used here:<a href=""></a>. Since Singhala orthography does not allow ligatures, you need to use a hidden character to keep the font from making ligatures when there is an overlap of Singhala and Sanskrit, though not too frequently. I used ZWNJ, but now realized that Unit Separator control code (US) is already there for Latin and it is easier to use when typing text anywhere and coding web pages.

Using graphics for ligatures is unnecessary. Now even IE shows ligatures correctly. Microsoft Word 2013 showed ligatures briefly and after an update reverted to inappropriately spacing words. This is just how technology progresses. Ligatures are not much of a issue for Latin script users, though most developers and more importantly, those who make standards and write programs belong to that group. This is why I romanized Singhala knowing that otherwise Indic scripts will never be used by the ordinary user threatening the existence of the scripts.JC (talk) 19:13, 29 June 2014 (UTC)

More on the tableEdit

What is the purpose of the 'display' columns? If they are rendered correctly, they are essentially the same as the 'picture' column. If they are rendered incorrectly, they do not show the effect of the zwnj and can only confuse the user. Wikipedia pages don't exist to help users find bugs in their browsers, after all....

As for the 'code' columns, they don't clearly show what is going on, since they show the text with ligature and LTR processing. They should have spaces (or maybe zwnj's) between all characters to indicate what the unprocessed character sequence is. --Macrakis (talk) 20:10, 29 June 2014 (UTC)

@Macrakis: In case the reader's display doesn't render the forms correctly, the Display columns show the reader how this code sequence would look in a proper display. I have added a note above the table to explain this, and also enlarged the Farsi and Hebrew Displays to make comparison easier. --Thnidu (talk) 19:31, 7 October 2017 (UTC)

External links modifiedEdit

Hello fellow Wikipedians,

I have just modified 2 external links on Zero-width non-joiner. Please take a moment to review my edit. If you have any questions, or need the bot to ignore the links, or the page altogether, please visit this simple FaQ for additional information. I made the following changes:

When you have finished reviewing my changes, please set the checked parameter below to true or failed to let others know (documentation at {{Sourcecheck}}).

This message was posted before February 2018. After February 2018, "External links modified" talk page sections are no longer generated or monitored by InternetArchiveBot. No special action is required regarding these talk page notices, other than regular verification using the archive tool instructions below. Editors have permission to delete these "External links modified" talk page sections if they want to de-clutter talk pages, but see the RfC before doing mass systematic removals. This message is updated dynamically through the template {{source check}} (last update: 18 January 2022).

  • If you have discovered URLs which were erroneously considered dead by the bot, you can report them with this tool.
  • If you found an error with any archives or the URLs themselves, you can fix them with this tool.

Cheers.—InternetArchiveBot (Report bug) 11:22, 21 July 2016 (UTC)