Bug#457839: general: Many man pages display shell quotes ` and ' wrong in Unicode environment
Package: general
Severity: normal
In Unix/Linux shells the Ascii apostrophe (') is used as single
quotation mark. The grave accent (`) is used as command substitution
mark. In many man pages these are displayed wrong because they have
different meaning in groff code.
In groff code the non-escaped grave accent (`) is logical (English) left
single quotation mark. In Unicode environment (e.g. UTF-8 terminal or
Postscript) it is displayed as U+2018 LEFT SINGLE QUOTATION MARK. In
non-Unicode environment it is displayed as U+0060 GRAVE ACCENT.
Similarly, in groff code the non-escaped Ascii apostrophe and single
quote (') is logical (English) apostrophe and right single quotation
mark. In Unicode environment it is displayed as U+2019 RIGHT SINGLE
QUOTATION MARK and in non-Unicode environment as U+0027 APOSTROPHE.
So, the Ascii grave accent (`) and Ascii apostrophe (') must never be
used to describe shell syntax in groff code. Instead the shell grave
accent (`command` substitution) mark must be "\(ga" and the shell single
quote (' ') must be "\(aq". The following table shows how different
marks display in different environments:
groff Unicode non-Unicode
--------------------------------
' <U+2019> '
` <U+2018> `
\(aq ' '
\(ga ` `
\` ` `
\' ´ ' (in ASCII)
--------------------------------
This is mainly a problem on the upstream side. The fix for this would be
to encourage upstream developers to check the man pages they author and
change ` marks to \(ga (when they are used in shell syntax) and ' marks
to \(aq (again, only when they are used in shell syntax).
Reply to: