Template talk:Zero width joiner em dash zero width non joiner

Latest comment: 2 months ago by Gabldotink in topic Incorrect usage of formatting characters

Incorrect usage of formatting characters

edit

(I have formatted this as a request for comment, despite it not being one, since it's not necessary.)

This template currently comprises the characters U+200D ZERO WIDTH JOINER, U+2014 EM DASH, and U+200C ZERO WIDTH NON-JOINER. The zero-width joiner (ZWJ) prevents a line break before the em dash, while the zero-width non-joiner (ZWNJ) expressly allows a line break after the em dash. However, the intended purpose of these characters is not simply to control line breaks, but to control the formation of ligatures, especially in non-Latin scripts. Instead, U+2060 WORD JOINER is intended to be a generic way to prevent line breaks, and does not carry the semantic or technical meanings of the ZWJ and ZWNJ. The Unicode Line Breaking Algorithm,[1] which web browsers and other software use to determine where to insert line breaks, allows line breaks to occur both before and after an em dash. While a word joiner is needed to prevent a break before the dash, there doesn't need to be a formatting character after the em dash, since lines may break there anyway.

Question 1: Should this template ({{Zero width joiner em dash zero width non joiner}}) be changed from ZWJ + em dash + ZWNJ (‍—‌) to word joiner + em dash (⁠—), possibly with a name change?

While the Manual of Style does not require controlling line breaks around an em dash, MOS:DASHVAR recommends using U+00A0   NO-BREAK SPACE before an en dash, and a regular space after. This behavior may also be useful to em dashes (which is why this template was created).

Question 2: Should this template's functionality be merged into {{Em dash}}? Should this template be redirected there instead of keeping it?

gabldotink [ talk | contribs | global account ] 22:07, 26 April 2026 (UTC) —gabldotink [ talk | contribs | global account ] 22:07, 26 April 2026 (UTC)Reply