Talk:Zero-width non-joiner

Latest comment: 7 days ago by Adam Katz in topic Similarity to the Unit Separator character

Clarification, please edit

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 78.149.238.101 (talk) 12:13, 10 March 2010 (UTC)Reply

  • 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)Reply

Similarity to the Unit Separator character edit

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)Reply

JC has referred to U+001F (Unit Separator) here and in two other sections (see #usage in Latin script and #The German sample), but I see no evidence that this information separator was ever intended for any purpose other than delimiting data at the smallest of the four levels provided by information separators (think of CSVs, which only have two information separators, traditionally comma and line feed). (Looking at the revision history, Macrakis was also concerned with the lack of citation, adding the "dubious" marker.) Sure, any non-printing character can serve this purpose, but that doesn't mean it is supposed to. I have removed JC's paragraph about the Unit Separator character due to its lack of citations. I assume JS misinterpreted the name "Unit Separator", somehow concluding it referred to glyphs. Adam KatzΔ 22:43, 16 April 2024 (UTC)Reply

Comment edit

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. 98.216.109.205 (talk) 20:58, 6 April 2009 (UTC)Reply

A ZWNJ of your very own edit

>‌< Between these arrows.

usage in Latin script edit

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)Reply

(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)Reply

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)Reply
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)Reply

Malayalam Wikipedia edit

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

The German sample edit

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)Reply

Agreed. The best way to show different renderings reliably is with an image. --Macrakis (talk) 14:58, 18 June 2010 (UTC)Reply
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.82.176.211.89 (talk) 01:03, 18 July 2011 (UTC)Reply
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)Reply
Thank you for this, this made the examples far clearer.Rody1990 (talk) 21:42, 23 July 2011 (UTC)Reply

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="http://lovatasinhala.com/">lovatasinghala.com</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)Reply

More on the table edit

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)Reply

@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)Reply

External links modified edit

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)Reply