Display user-added soft hyphens when displaying invisible / non-printable characters is enabled

Basically what the title says. Hyphenation works great an all, but esp. in German we just looove merging words à la Dr Frankenstein and auto-hyphenation doesn’t recognize them. This leads to ugly display in e-Books as the whole word is shoved into the next line.

I’d like this to be controllable just like in Word. Of course, I can insert soft hyphens. The problem is remembering where I’ve already added them and where not, as I only “see” them by right-arrowing through a word and seeing the cursor halt two times between two letters.

I’d love to be just able to display soft hyphens just as in Microsoft Word for this. They have this character for it: ¬

1 Like

Logically, Show Invisible should allow you to see them.

How exactly do you insert them ?

Would be useful. My workaround for this is to highlight the letters before and after the soft hyphen (optional hyphen) and then have the compiler remove highlighting on compile. A pain, but at least they are easy to find in Scrivener.

Another way of finding soft hyphens is to copy from Scrivener and paste into an app that displays soft hyphens. Can Word see pasted soft hyphens from Scrivener? If it can’t, other apps (such as VS Code and Obsidian) can. Really helps with large amounts of text.

Not gonna lie I feel a bit mocked by the screenshot, as if I hadn’t thought of turning on invisibles? Here’s how Scrivener looks in my editor with all visible marks that I could think of.
Bildschirmfoto 2022-07-01 um 21.34.21
To answer your question: I insert soft hyphens by having a short text for the character that gets autoreplaced when Scrivener’s the active window (&shy,). If I did it manually, I’d go over the special characters menu and insert it. It’s character Unicode U+00AD, or in Calibre with &shy, (both times w/ the semicolon instead of comma, logically)
The reason I do it that way is that I’ve found the shortkey from Word not to be working (CTRL and Minus). Could you tell me how you insert them so they show up with invisibles turned on?

Yeah, it does, but soft hyphens don’t equate the thing that word displays as ¬. In Word, soft hyphens are printable characters. Would still be a pain, tho? I don’t wanna go into word, and in Affinity Publisher I can see them as well. I just need to make sure that they’re there, and best way to do that would just be able to glance at it and see the character.

1 Like

Totally agree. :+1:

We can dream…

It is a forum; although the answer might look intended for you specifically, other people will read too.
Nothing wrong with my screenshot.
(Especially since I only pointed out where the menu command is. After saying that it should logically make it visible. And that was it. – Else, no, I can’t yet accurately guess how advanced a user is based on his/her profile picture. But I am working hard on it.)

And this is what you’d get:
(Not invisible, as you can see (no pun intended.)) Which is why I asked how you were inserting it to begin with.

And I still can’t decipher your answer…

If you get it by auto-replace (at some point around compile, I would guess (no idea what that “Scrivener’s the active window” is supposed to mean or how that could relate to anything)), then why not use a visible character in the meantime ?
What’s wrong with U+00AD in that case ?
Or image ?

I have absolutely nothing against the request, but that could be a viable solution meanwhile.

1 Like

That’s interesting, because on my end the character is just… not there after inserting it as it is in your screenshot. No matter how I insert it, no matter the font (was on Lato originally, then tried Arial, Courier). Could it be a macOS vs. Windows issue? I’ve noticed you’re on Windows according to your screenshot, I’m on macOS rn, but haven’t gotten around to look at the file on my windows machine. I’ll get onto that and get back to this thread.

(My mistake of mentioning that, I wasn’t really necessary to describe the process. I meant that the string “shy;” only gets replaced while I type if I type it in Scrivener, as “shy” is an English word and I tend to overuse semicolons and don’t want to accidentally have it replaced in other programs.)

I actually didn’t consider just using autoreplace during compile for it (even though I use that for a number of other things… mind blanking at most convenient time i guess, that’s a good compromise, so thanks!)

Edit to add: I’ve just tested it on Windows 10, no change. soft hyphens don’t show up. I added them via the character table of Windows.

1 Like

To return to the original request, this is something I came across recently as well, while helping someone out, and I agree that if we can do so, it would be nice to show this symbol where it is used, when invisible characters are shown. It is an important marking to be aware of when it is “latent”, or not in a position where it actually triggers and becomes a visible (normal) hyphen.

So I’ll put that on the list for consideration.

Any idea, since we’re at it, why I would get a visible symbol out of U+00AD while @AllyDouillette gets an invisible, despite we both inserted it to the editor the very same way ?
Assuming she meant Edit / Writing tools / Character Map.

I don’t know, I’ve never seen that happen, and 0x00ad is fully invisible for me in both the Mac and PC versions, unless of course it triggers at the end of a line and is displayed as a normal hyphen. It vanishes the moment the word wrap solution changes though, and goes back to lying in wait.

Only thing I can think to suggest is to copy and paste whatever you have in the editor as a visible character and paste it into a character map tool, to search for it, and see what it actually is. Maybe it’s not the right character.


Go figure…

If I click “select” then “copy”, I get a visible. (But doing a search for it in the character map says it is 002D.)
If I click select, then manually copy paste it from the “characters to copy” field (where it is invisible through both tests), I then get an invisible. I actually get a line break.


I actually opened it via the start menu of windows and then copying the soft hyphen because I couldn’t find the menu point for opening it in Scrivener but that shouldn’t matter, should it?

Okay, that’s curious, I’ll check tomorrow on my Windows machine whether I can reproduce that. On macOS, it’s all a bit different, but the behaviour is like @AmberV describes – fully invisible if not needed.

Correct, it shouldn’t matter how you insert it. And yes, the menu commands in Scrivener are just a shortcuts to the system Character Map tool (on Windows) and the “Emoji & Symbols” palette on macOS.

In fact when I was testing this earlier (and now), I had added a substitution (in the Corrections options tab) to convert \- to the 0x0ad character, but I’d get the same thing if I used a character tool to copy it and paste it. That’s how I got it into Substitutions to begin with. So that’s another way of inserting them.

In my testing, even if you copy the visible form of it, when at an end of the line, it still copies as a soft hyphen, not a visible “hyphen-minus”, and if you run a project search for one, so that they highlight, it will become highlighted once it becomes visible (as a zero-width character otherwise, the highlight doesn’t show up for latent soft hyphens).

So, I’m not sure what is happening with your setup, @Vincent_Vincent. I can’t explain how you are getting the wrong character on paste, or a line break.

It’s fine. It ain’t causing me any issues; I’m not really ever using it (the 00AD).
I was curious, is all.
. . . . . . . . . . . . . . . . . . .

Anytime, any character I select then use the copy button, adds a line break after the characters map selection when I paste it. It has been like that for me for as long as I can recall.
Manually highlighting the selected character(s) from the “Characters to copy” field, then manually copying and pasting, doesn’t. (No carriage return in the clipboard. Except this one time with this specific character.)

But that too doesn’t really bug me at all. So…

If in the end @AllyDouillette’s system is acting as it should – beside, of course, the matter of the request :wink: -, all is fine by me.


I’m totally unable to insert a soft hyphen in Scrivener (visible or not) … unless it’s somehow more invisible than other invisible characters! Inserting it from the character map seems to do nothing at all.

I was about to confirm this, but… actually, you can enter it. Type e.g. A (soft hyphen here) B. Looks like “AB”, right? Now go back before ‘A’, using the cursor keys, step by step. Notice something? Move the cursor to the end, step by step. Same. It’s there. Hidden in plain sight.

Thanks for that, but wow, that is bad. Quick search, Project Search, and Find locate instances, but they’re invisible (and no highlighting).

It’s even worse in Apple Pages.