Non-breaking dash/hyphen

I had always thought that the difference between a "dash" and a "hyphen" is that the dash is a character (that is, will not break a character string), while the hyphen hyphenates (that is, breaks at the end of a line if the character string following the hyphen is too long to fit on the line). So, needing a non-breaking substitute for that horizontal bar on my keyboard, I invoked:
      Insert > Special Character
to get (what I would call) a dash.

LibreOffice has such mid-height horizontal-bar characters in three character groups:
"General punctuation", characters:
  U+2010 (HYPHEN)
  U+2012 (FIGURE DASH)
  U_2013 (EN DASH)
  U+2014 (EM DASH)
  U+2015 (HORIZONTAL BAR)
"Mathematical Operators", character:
  U+2212 (MINUS SIGN)
"Box Drawing", character:
  U+2500 (BOX DRAWINGS LIGHT HORIZONTAL)

The five characters of the "General Punctuation" group mostly seem to just represent different widths of hyphen (despite three being called FIGURE DASH, EN DASH, EM DASH), in that in a character string each will end a line of characters if the string following is too long to fit. Only the HORIZONTAL BAR acts as a common character, such that the string of which it is a member will not break there; but it is very long to be used as a non-breaking hyphen.

The MINUS SIGN in the "Mathematical Operators" group has a special operation: It will break at the end of a line, but will itself move to the next line, to stay with the character following MINUS SIGN.

The BOX DRAWINGS LIGHT HORIZONTAL character acts like the HORIZONTAL BAR -- that is, as a true, non-breaking character -- but is also too long to be used generally as a non-breaking hyphen.

Is there a clean way to make a non-breaking dash/hyphen?

-John

You've missed the one Unicode point that does exactly what you require, but its use will depend on the font in use.

U+2011 NON-BREAKING HYPHEN

You can enter via LibreOffice Special Character dialog, or LibreOffice's Unicode toggle. That is you can type U+2011 and then <Alt>+X to toggle the glyph.

If the font in use does not "cover" the codepoint, you'll get a fallback replacement or possibly the no glyph value for the font.

When added to canvas the non-breaking hyphen character will receive NPC highlighting.

Or you can do Insert > Formatting Mark > Non-breaking hyphen.
Does that work for you?
- Robert

Excellent! (I was wondering what happened to U+2011 as I investigated the "General Punctuation" group.) So it's just a matter of the Liberation family not covering the U+2011 codepoint - but a replacement glyph is provided. Thanks!

You used a term I don't recognize: "NPC". My search turned up that it is a popular abbreviation for "non-playing character" in domains like WoW, Runelite and lots of other things of which I know nothing, but fortunately I don't think you used it in that context. I suspect it is close to that textually -- "non" <?> "character" -- but I decided I had best ask: ?

Even easier! - y'know, I think I /knew/ that. [I certainly knew about the hard (non-breaking) space on that same menu.]
Thanks for the reminder, Robert!
(- and sorry for the list noise)

NPC -- Non-Printing Character [1]

The LibreOffice VCL canvas will apply "field" shading to a broad class of control and non-printing characters, we've asked to give them more distinction from fielded values [2]

=-ref-=
[1] https://en.wikipedia.org/wiki/Control_character

[2] https://bugs.documentfoundation.org/show_bug.cgi?id=58434

Very nice! Thanks for the background - that was a good discussion, and nice to understand your concern about applying NPC treatment to a printing character. There is a case to be made for some kind of visual discrimination (on the working screen, not the printed page) between typographically identical glyphs which behave differently, like breaking and non-breaking hyphen.