NetBSD-Users archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: Improved manual page for ul(1)
Jonathan de Boyne Pollard:
And more interesting is whether less could be fixed to make groff's
overstrikes work. Or groff fixed to not need overstrikes for things
that can be done in Unicode ...
It turns out that this is the man command limiting things. Again. It's
hardwiring -Tascii even if it detects a UTF-8 character locale.
I'm experimenting with this preliminary patch, applied on top of the
patch at http://jdebp.eu./Softwares/nosh/italics-in-manuals.html#FreeBSD
. The preliminary results are encouraging, although I haven't yet tried
an ISO8859-1 locale on a Latin-1 terminal. A UTF-8 locale produces
Unicode bullets on a UTF-8 terminal, and an ASCII locale produces the
old overstrikes on an ASCII terminal.
OpenBSD's man actually supports a -T option outright. That's also worth
thinking about.
--- usr.bin/man/man.sh.patch1 2016-05-16 14:26:03.474372847 +0100
+++ usr.bin/man/man.sh 2016-11-08 08:40:50.406495179 +0000
@@ -316,23 +316,23 @@
# device flag (-T) we have to pass to eqn(1) and groff(1). Then,
# setup the pipeline of commands based on the user's request.
+ # I don't pretend to know this; I'm just copying from the
+ # previous version of man(1).
+ case "$man_charset" in
+ KOI8-R) nroff_dev="koi8-r" ;;
+ ISO8859-1) nroff_dev="latin1" ;;
+ ISO8859-15) nroff_dev="latin1" ;;
+ UTF-8) nroff_dev="utf8" ;;
+ *) nroff_dev="ascii" ;;
+ esac
+
+ NROFF="$NROFF -T$nroff_dev"
+ EQN="$EQN -T$nroff_dev"
+
# If the manpage is from a particular charset, we need to setup nroff
# to properly output for the correct device.
case "${manpage}" in
*.${man_charset}/*)
- # I don't pretend to know this; I'm just copying from the
- # previous version of man(1).
- case "$man_charset" in
- KOI8-R) nroff_dev="koi8-r" ;;
- ISO8859-1) nroff_dev="latin1" ;;
- ISO8859-15) nroff_dev="latin1" ;;
- UTF-8) nroff_dev="utf8" ;;
- *) nroff_dev="ascii" ;;
- esac
-
- NROFF="$NROFF -T$nroff_dev"
- EQN="$EQN -T$nroff_dev"
-
# Iff the manpage is from the locale and not just the charset,
# then we need to define the locale string.
case "${manpage}" in
@@ -351,9 +351,7 @@
eval "$tool=\${${tool}_$l:-\$$tool}"
done
;;
- *) NROFF="$NROFF -Tascii"
- EQN="$EQN -Tascii"
- ;;
+ *) ;;
esac
if [ -z "$MANCOLOR" ] && [ -z "$MANITALIC" ]; then
Home |
Main Index |
Thread Index |
Old Index