From a812d8b090bc4edc23150bff257717b24f282e41 Mon Sep 17 00:00:00 2001 From: ru Date: Tue, 5 Dec 2000 18:49:44 +0000 Subject: Virgin import of FSF groff v1.16.1 --- contrib/groff/nroff/Makefile.sub | 3 +- contrib/groff/nroff/nroff.man | 62 ++++++++++--------- contrib/groff/nroff/nroff.sh | 127 ++++++++++++++++++++++----------------- 3 files changed, 106 insertions(+), 86 deletions(-) (limited to 'contrib/groff/nroff') diff --git a/contrib/groff/nroff/Makefile.sub b/contrib/groff/nroff/Makefile.sub index 096c046..fa6bc4d 100644 --- a/contrib/groff/nroff/Makefile.sub +++ b/contrib/groff/nroff/Makefile.sub @@ -10,8 +10,9 @@ nroff: nroff.sh chmod +x $@ install_data: nroff + -test -d $(bindir) || $(mkinstalldirs) $(bindir) -rm -f $(bindir)/$(NAMEPREFIX)nroff - $(INSTALL_PROGRAM) nroff $(bindir)/$(NAMEPREFIX)nroff + $(INSTALL_SCRIPT) nroff $(bindir)/$(NAMEPREFIX)nroff uninstall_sub: -rm -f $(bindir)/$(NAMEPREFIX)nroff diff --git a/contrib/groff/nroff/nroff.man b/contrib/groff/nroff/nroff.man index 4087ebe..a01ea59 100644 --- a/contrib/groff/nroff/nroff.man +++ b/contrib/groff/nroff/nroff.man @@ -1,5 +1,5 @@ .ig \"-*- nroff -*- -Copyright (C) 1989-1999 Free Software Foundation, Inc. +Copyright (C) 1989-2000 Free Software Foundation, Inc. Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice @@ -20,31 +20,26 @@ the original English. .SH NAME @g@nroff \- emulate nroff command with groff .SH SYNOPSIS +.nr a \n(.j +.ad l +.nr i \n(.i +.in +\w'\fB@g@nroff 'u +.ti \niu .B @g@nroff -[ -.B \-h -] -[ -.B \-i -] -[ -.BI \-m name -] -[ -.BI \-n num -] -[ -.BI \-o list -] -[ -.BI \-r cn -] -[ -.BI \-T name -] -[ -.I file\|.\|.\|. -] +.de OP +.ie \\n(.$-1 .RI "[\ \fB\\$1\fP" "\\$2" "\ ]" +.el .RB "[\ " "\\$1" "\ ]" +.. +.OP \-h +.OP \-i +.OP \-m name +.OP \-n num +.OP \-o list +.OP \-r cn +.OP \-T name +.RI "[\ " file\|.\|.\|. "\ ]" +.br +.ad \na .SH DESCRIPTION The .B @g@nroff @@ -54,9 +49,11 @@ command using groff. The .B \-T option with an argument other than -.B ascii -and -.B latin1 +.BR ascii , +.BR latin1 , +.BR utf8 , +or +.B cp1047 will be ignored. The .B \-h @@ -85,9 +82,16 @@ Options .B \-S (safer) and .B \-U -(unsafe) are passed to groff. +(unsafe) are passed to +.BR groff . .B \-S is passed by default. +.SH NOTES +This shell script is basically intended for use with +.BR man (1), +so warnings are suppressed. +nroff-style character definitions (in the file tmac.tty-char) are also +loaded to emulate unrepresentable glyphs. .SH "SEE ALSO" .BR groff (@MAN1EXT@), .BR @g@troff (@MAN1EXT@), diff --git a/contrib/groff/nroff/nroff.sh b/contrib/groff/nroff/nroff.sh index ee4e332..b1cab83 100755 --- a/contrib/groff/nroff/nroff.sh +++ b/contrib/groff/nroff/nroff.sh @@ -3,66 +3,81 @@ prog="$0" # Default device. -if test "X$LC_CTYPE" = "Xiso_8859_1" || test "X$LESSCHARSET" = "Xlatin1" -then - T=-Tlatin1 -else - T=-Tascii -fi +# First try the "locale charmap" command, because it's most reliable. +# On systems where it doesn't exist, look at the environment variables. +case "`locale charmap 2>/dev/null`" in + UTF-8) + T=-Tutf8 ;; + ISO-8859-1) + T=-Tlatin1 ;; + IBM-1047) + T=-Tcp1047 ;; + *) + case "${LC_ALL-${LC_CTYPE-${LANG}}}" in + *.UTF-8) + T=-Tutf8 ;; + iso_8859_1 | *.ISO-8859-1) + T=-Tlatin1 ;; + *.IBM-1047) + T=-Tcp1047 ;; + *) + case "$LESSCHARSET" in + utf-8) + T=-Tutf8 ;; + latin1) + T=-Tlatin1 ;; + cp1047) + T=-Tcp1047 ;; + *) + T=-Tascii ;; + esac ;; + esac ;; +esac opts= safer=-S -for i -do - case $1 in - -h) - opts="$opts -P-h" - ;; - -[eq]|-s*) - # ignore these options - ;; - -[mrnoT]) - echo "$prog: option $1 requires an argument" >&2 - exit 1 - ;; - -i|-[mrno]*) - opts="$opts $1"; - ;; +# `for i; do' doesn't work with some versions of sh - -Tascii|-Tlatin1) - T=$1 - ;; - -T*) - # ignore other devices - ;; - -S) - # safer behaviour - safer=-S - ;; - -U) - # unsafe behaviour - safer=-U - ;; - -u*) - # Solaris 2.2 `man' uses -u0; ignore it, - # since `less' and `more' can use the emboldening info. - ;; - --) - shift - break - ;; - -) - break - ;; - -*) - echo "$prog: invalid option $1" >&2 - exit 1 - ;; - *) - break - ;; - esac - shift +for i + do + case $1 in + -h) + opts="$opts -P-h" ;; + -[eq] | -s*) + # ignore these options + ;; + -[mrnoT]) + echo "$prog: option $1 requires an argument" >&2 + exit 1 ;; + -i | -[mrno]*) + opts="$opts $1" ;; + -Tascii | -Tlatin1 | -Tutf8 | -Tcp1047) + T=$1 ;; + -T*) + # ignore other devices + ;; + -S) + # safer behaviour + safer=-S ;; + -U) + # unsafe behaviour + safer=-U ;; + -u*) + # Solaris 2.2 `man' uses -u0; ignore it, + # since `less' and `more' can use the emboldening info. + ;; + --) + shift + break ;; + -) + break ;; + -*) + echo "$prog: invalid option $1" >&2 + exit 1 ;; + *) + break ;; + esac + shift done # This shell script is intended for use with man, so warnings are -- cgit v1.1