-.\" $Id: mandoc_char.7,v 1.69 2018/08/08 13:54:05 schwarze Exp $
+.\" $Id: mandoc_char.7,v 1.74 2018/08/21 01:59:22 schwarze Exp $
.\"
.\" Copyright (c) 2003 Jason McIntyre <jmc@openbsd.org>
.\" Copyright (c) 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv>
.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
.\"
-.Dd $Mdocdate: August 8 2018 $
+.Dd $Mdocdate: August 21 2018 $
.Dt MANDOC_CHAR 7
.Os
.Sh NAME
names; instead, provide ASCII transcriptions of the names.
.Ss Dashes and Hyphens
In typography there are different types of dashes of various width:
-the hyphen (-),
+the hyphen (\(hy),
the en-dash (\(en),
the em-dash (\(em),
and the mathematical minus sign (\(mi).
lorry-driver
.Ed
.Pp
-If a word on a text input line contains a hyphen, a formatter may decide
-to insert an output line break after the hyphen if that helps filling
-the current output line, but the whole word would overflow the line.
-If it is important that the word is not broken across lines in this
-way, a zero-width space
-.Pq Sq \e&
-can be inserted before or after the hyphen.
-While
-.Xr mandoc 1
-never breaks the output line after hyphens adjacent to a zero-width
-space, after any of the other dash- or hyphen-like characters
-represented by escape sequences, or after hyphens inside words in
-macro arguments, other software may not respect these rules and may
-break the line even in such cases.
-.Pp
-Some
-.Xr roff 7
-implementations contains dictionaries allowing to break the line
-at syllable boundaries even inside words that contain no hyphens.
-Such automatic hyphenation is not supported by
-.Xr mandoc 1 ,
-which only breaks the line at whitespace, and inside words only
-after existing hyphens.
-.Pp
The en-dash is used to separate the two elements of a range,
or can be used the same way as an em-dash.
It should be written as
requires that subtlety, so in manual pages just write plain
.Sq -
to represent hyphen, minus, and hyphen-minus.
+.Pp
+If a word on a text input line contains a hyphen, a formatter may decide
+to insert an output line break after the hyphen if that helps filling
+the current output line, but the whole word would overflow the line.
+If it is important that the word is not broken across lines in this
+way, a zero-width space
+.Pq Sq \e&
+can be inserted before or after the hyphen.
+While
+.Xr mandoc 1
+never breaks the output line after hyphens adjacent to a zero-width
+space, after any of the other dash- or hyphen-like characters
+represented by escape sequences, or after hyphens inside words in
+macro arguments, other software may not respect these rules and may
+break the line even in such cases.
+.Pp
+Some
+.Xr roff 7
+implementations contains dictionaries allowing to break the line
+at syllable boundaries even inside words that contain no hyphens.
+Such automatic hyphenation is not supported by
+.Xr mandoc 1 ,
+which only breaks the line at whitespace, and inside words only
+after existing hyphens.
.Ss Spaces
To separate words in normal text, for indenting and alignment
in literal context, and when none of the following special cases apply,
.It \e(rq Ta \(rq Ta right double-quote
.It \e(oq Ta \(oq Ta left single-quote
.It \e(cq Ta \(cq Ta right single-quote
-.It \e(aq Ta \(aq Ta apostrophe quote (text)
-.It \e(dq Ta \(dq Ta double quote (text)
+.It \e(aq Ta \(aq Ta apostrophe quote (ASCII character)
+.It \e(dq Ta \(dq Ta double quote (ASCII character)
.It \e(Fo Ta \(Fo Ta left guillemet
.It \e(Fc Ta \(Fc Ta right guillemet
.It \e(fo Ta \(fo Ta left single guillemet
.It \e(rC Ta \(rC Ta right brace
.It \e(la Ta \(la Ta left angle
.It \e(ra Ta \(ra Ta right angle
-.It \e(bv Ta \(bv Ta brace extension
+.It \e(bv Ta \(bv Ta brace extension (special font)
.It \e[braceex] Ta \[braceex] Ta brace extension
.It \e[bracketlefttp] Ta \[bracketlefttp] Ta top-left hooked bracket
.It \e[bracketleftbt] Ta \[bracketleftbt] Ta bottom-left hooked bracket
.It Em Input Ta Em Rendered Ta Em Description
.It \e(AN Ta \(AN Ta logical and
.It \e(OR Ta \(OR Ta logical or
-.It \e(no Ta \(no Ta logical not
-.It \e[tno] Ta \[tno] Ta logical not (text)
+.It \e[tno] Ta \[tno] Ta logical not (text font)
+.It \e(no Ta \(no Ta logical not (special font)
.It \e(te Ta \(te Ta existential quantifier
.It \e(fa Ta \(fa Ta universal quantifier
.It \e(st Ta \(st Ta such that
Mathematical:
.Bl -column "xxcoproductxx" "Rendered" "Description" -offset indent -compact
.It Em Input Ta Em Rendered Ta Em Description
-.It \e(pl Ta \(pl Ta plus
-.It \e(mi Ta \(mi Ta minus
-.It \e- Ta \- Ta minus (text)
+.It \e- Ta \- Ta minus (text font)
+.It \e(mi Ta \(mi Ta minus (special font)
+.It + Ta + Ta plus (text font)
+.It \e(pl Ta \(pl Ta plus (special font)
.It \e(-+ Ta \(-+ Ta minus-plus
-.It \e(+- Ta \(+- Ta plus-minus
-.It \e[t+-] Ta \[t+-] Ta plus-minus (text)
+.It \e[t+-] Ta \[t+-] Ta plus-minus (text font)
+.It \e(+- Ta \(+- Ta plus-minus (special font)
.It \e(pc Ta \(pc Ta center-dot
-.It \e(mu Ta \(mu Ta multiply
-.It \e[tmu] Ta \[tmu] Ta multiply (text)
+.It \e[tmu] Ta \[tmu] Ta multiply (text font)
+.It \e(mu Ta \(mu Ta multiply (special font)
.It \e(c* Ta \(c* Ta circle-multiply
.It \e(c+ Ta \(c+ Ta circle-plus
-.It \e(di Ta \(di Ta divide
-.It \e[tdi] Ta \[tdi] Ta divide (text)
+.It \e[tdi] Ta \[tdi] Ta divide (text font)
+.It \e(di Ta \(di Ta divide (special font)
.It \e(f/ Ta \(f/ Ta fraction
.It \e(** Ta \(** Ta asterisk
.It \e(<= Ta \(<= Ta less-than-equal
.It \e(ao Ta \(ao Ta ring
.It \e(a\(ti Ta \(a~ Ta tilde
.It \e(ho Ta \(ho Ta ogonek
-.It \e(ha Ta \(ha Ta hat (text)
-.It \e(ti Ta \(ti Ta tilde (text)
+.It \e(ha Ta \(ha Ta hat (ASCII character)
+.It \e(ti Ta \(ti Ta tilde (ASCII character)
.El
.Pp
Accented letters:
.It \e(\(aqI Ta \('I Ta acute I
.It \e(\(aqO Ta \('O Ta acute O
.It \e(\(aqU Ta \('U Ta acute U
+.It \e(\(aqY Ta \('Y Ta acute Y
.It \e(\(aqa Ta \('a Ta acute a
.It \e(\(aqe Ta \('e Ta acute e
.It \e(\(aqi Ta \('i Ta acute i
.It \e(\(aqo Ta \('o Ta acute o
.It \e(\(aqu Ta \('u Ta acute u
+.It \e(\(aqy Ta \('y Ta acute y
.It \e(\(gaA Ta \(`A Ta grave A
.It \e(\(gaE Ta \(`E Ta grave E
.It \e(\(gaI Ta \(`I Ta grave I
.Xr mandoc 1
also supports the
.Pp
-.Dl \eN\(aq Ns Ar number Ns \(aq
+.Dl \eN\(aq Ns Ar number Ns \(aq and \e[ Ns Cm char Ns Ar number ]
.Pp
-escape sequence, inserting the character
+escape sequences, inserting the character
.Ar number
from the current character set into the output.
Of course, this is inherently non-portable and is already marked
-as deprecated in the Heirloom roff manual.
-For example, do not use \eN\(aq34\(aq, use \e(dq, or even the plain
+as deprecated in the Heirloom roff manual;
+on top of that, the second form is a GNU extension.
+For example, do not use \eN\(aq34\(aq or \e[char34], use \e(dq,
+or even the plain
.Sq \(dq
character where possible.
.Sh COMPATIBILITY