What The Heck is a Non-Joiner Character?

Sam wrote: I've discovered a new character in the context menu under Insert Special Characters > Other menu. It's called Non Joiner and I can't find what it does, or...

Sam wrote:

I’ve discovered a new character in the context menu under Insert Special Characters > Other menu. It’s called Non Joiner and I can’t find what it does, or when to use it.

We talked about the non-joiner character back in Episode 58 of the InDesignSecrets podcast, but given the number of requests for non-joiner information recently, perhaps it’s worth a review. The non-joiner character (or nonjoiner, which looks like it should be French), is a special zero-width, invisible character (Unicode <200C>) that tells InDesign not to join two characters, such as in a ligature or a script (cursive) typeface.

For example, in the following two words, you can see how adding a non-joiner character between the “Th” and the “fi” disables the ligatures:

nonjoiner

Of course, there are easier ways to turn off ligatures… you could simply disable the ligature feature in the Control panel flyout menu (or the OpenType submenu, in the case of Discretionary Ligatures). Or you could add 1 unit of kerning between the two characters.

Ultimately, the need for the non-joiner character is (or should be) exceedingly rare in our romantic-based languages. But in languages that are based on script faces, such as Arabic or Farsi, the non-joiner is very important.

Given how rare the non-joiner is, it’s quite amazing how much has been written on it (such as the BackChannel and Keith Gilbert’s trick on using the non-joiner in bulletted lists.)

Bookmark
Please login to bookmark Close

This article was last modified on December 18, 2021

Comments (25)

Leave a Reply

Your email address will not be published. Required fields are marked *

  1. June 25, 2024

    Thank you! What is the special character that looks like a non joiner flipped around? I can’t find it anywhere (except all throughout my document lol)

    1. David Blatner
      June 26, 2024

      Not sure… here’s a list of all the characters: https://creativepro.com/updated-guide-to-indesigns-special-characters/

  2. August 3, 2016

    When I wanted to write in Persian, I had to use MS word. Because I had problem with non-joiner in InCopy. Now I fix the ctrl+ shift+ – as my shortcut to use non-joiner instantly.

  3. April 2, 2016

    A non-joiner character is extremely useful when you are dealing with scripts that use a lot of ligatures (e.g., Indian languages).

    I was consciously looking for a such a character in Unicode since it would allow me to use the “Viram/Halant” character indepedently. A Viram/Halant is a character that links two letters and creates a ligature in many phonetic languages.

    However, some words require the Viran/Halant to be visible. Without the non-joiner, that’s not possible, since the rendering engine joins the characters by default.

    I stumbled upon this article and found it! Thanks a ton!!

    -Subodh

  4. Janet
    April 5, 2014

    I just found another spectacular use for the non-joiner.

    If your design has a drop cap, you can insert a non-joiner between the droppped cap and the next letter. This will allow you to kern the letter pair without affecting the line below.

    Finally! A way to close up the space around drop cap A’s!

    H/T to the Adobe forums: https://forums.adobe.com/message/2549089

  5. Sandee Cohen
    September 20, 2013

    Hi David,

    I’m doing some research for my column in InDesign magazine and was looking at the non-joiner character. I thought of a great use.

    Many designers want their fractions to be right up against the whole number they are paired with. For instance two and a half would have a large two and the fraction 1/2 right next to it.

    But it’s hard to format these correctly with Find/Change if the fraction has two digits in the numerator. For instance 2 and 11/16 could be formatted as 21 and 1/16.

    Using a non-joiner sets the whole number and the fraction apart without actually separating them.

    1. September 22, 2013

      Brilliant, Sandee!

  6. August 7, 2013

    Is there any way to make a shortcut to the non-joiner? It’s not listed in the Commands for Insert Special Character / Other

    1. August 7, 2013

      @Derek: You could use this script to insert the character but you would edit the script to use unicode 200C instead of the dotless i.

      1. August 7, 2013

        It should be: String.fromCharCode(0x200C)

      2. August 7, 2013

        Oops. I’m not a coder…would it be this? Just guessing.

        if (app.selection[0].constructor.name == “InsertionPoint”){
        with (app.selection[0].insertionPoints[0]){ // insertion point
        contents = String.fromUniCode(200C); // 200C
        }
        }
        //End of script.

      3. August 7, 2013

        Thanks David, that’s great. Something only you would know!

  7. June 27, 2013

    Hi Barb, you should be able to delete it by opening the story in Story Editor (Edit > Edit in Story Editor), making sure that Hidden Characters are showing. You’ll be able to spot it immediately and delete it there.

    1. Barb
      June 28, 2013

      Cool! thanks Anne-Marie

  8. June 27, 2013

    A non-joiner character has suddenly appeared in the middle of a sentance and made the rest of the text disappear off the following pages – I can’t delete it – any advice please?

  9. Tony Aguila
    October 15, 2011

    I have found another use for the non-joiner character. In this day and age we deal a lot with URLs and e-mail addresses. In order to prevent line breaks after the periods, I insert the non-joiner character right after–much like a non-breaking space but with zero escapement. The opposite of a discretionary line break character.

  10. September 25, 2011

    @Betty: Huh?! That’s weird. Check your shortcuts (edit > keyboard shortcuts), or rebuild your preferences. Make sure you’re updated to the newest free build. You’re not using that Swedish version of the program that had the messed up Enter key bug, are you? (It’s fixed in a free patch now, of course.)

  11. Betty J. Thomas
    September 25, 2011

    I am getting really frustrated when I drop text into a text box and hit ‘enter” to add more text, a non-joiner character appears and the cursor is dropped out of sight. I have to copy a paragraph marker from a previous paragraph before I can add the new text. How to I keep this from happening?

    1. Kenneth Darby
      March 4, 2014

      @Betty: Are you sure you are not using the number pad ‘enter’. That sends the ‘Column Break’ character. If you have invisibles showing the marker for the each is the same except for the position relative to the baseline.

  12. January 11, 2009

    @Mark: You can find the ligatures in the Glyphs panel and insert them at the text cursor by double-clicking on the glyph you want to insert. On the Mac, you can type them… for example, Option-Shift-5 is an “fi” ligature.

  13. Mark
    January 11, 2009

    So how can you make the opposite result, that is insert a ligature manually? On a line where the letters (such as fi) are separated because of wider spacing, I want to force the ligature to replace the letters anyway when the automatic ligature function won’t do it.

  14. November 18, 2007

    A quick update to that last comment. You can apply a character style directly to a non-joiner. It’s only if you try to do it with a nested style that it fails. Apparently the nested style logic ignores non-joiner characters.

  15. November 17, 2007

    Watch out applying character styles to non-joiners. I just tried to apply negative tracking to a non-joiner using a nested style applied to one character (I was hoping to find another way to get at Klaus’s Myriad head problem from another topic) and the style was applied not to the non joiner but to the character after it.

    Dave

  16. November 17, 2007

    I think the proper term is actually “romance languages,” though “romantic” sounds more pleasureable and is used sometimes.

  17. November 16, 2007

    I didn’t know about this little obscurity at all, so thanks for shedding light on it!

    But: “our romantic-based languages” — umm, isn’t “roman-based” the mostest rightest word here?