1#! /bin/sh
2# Emulate nroff with groff.
3# $FreeBSD$
4
5prog="$0"
6# Default device.
7# First try the "locale charmap" command, because it's most reliable.
8# On systems where it doesn't exist, look at the environment variables.
9case "`exec 2>/dev/null ; locale charmap`" in
10  UTF-8)
11    T=-Tutf8 ;;
12  ISO*8859-1 | ISO*8859-15)
13    T=-Tlatin1 ;;
14  KOI8-R)
15    T=-Tkoi8-r ;;
16  IBM-1047)
17    T=-Tcp1047 ;;
18  *)
19    case "${LC_ALL-${LC_CTYPE-${LANG}}}" in
20      *.UTF-8)
21        T=-Tutf8 ;;
22      iso_8859_1 | *.ISO-8859-1 | *.ISO8859-1 | \
23      iso_8859_15 | *.ISO-8859-15 | *.ISO8859-15)
24        T=-Tlatin1 ;;
25      *.KOI8-R)
26        T=-Tkoi8-r ;;
27      *.IBM-1047)
28        T=-Tcp1047 ;;
29      *)
30        case "$LESSCHARSET" in
31          utf-8)
32            T=-Tutf8 ;;
33          latin1)
34            T=-Tlatin1 ;;
35          koi8-r)
36            T=-Tkoi8-r ;;
37          cp1047)
38            T=-Tcp1047 ;;
39          *)
40            T=-Tascii ;;
41          esac ;;
42     esac ;;
43esac
44opts=
45
46# `for i; do' doesn't work with some versions of sh
47
48for i
49  do
50  case $1 in
51    -c)
52      opts="$opts -P-c" ;;
53    -h)
54      opts="$opts -P-h" ;;
55    -[eq] | -s*)
56      # ignore these options
57      ;;
58    -[dMmrnoT])
59      echo "$prog: option $1 requires an argument" >&2
60      exit 1 ;;
61    -[iptSUC] | -[dMmrno]*)
62      opts="$opts $1" ;;
63    -Tascii | -Tlatin1 | -Tkoi8-r | -Tutf8 | -Tcp1047)
64      T=$1 ;;
65    -T*)
66      # ignore other devices
67      ;;
68    -u*)
69      # Solaris 2.2 through at least Solaris 9 `man' invokes
70      # `nroff -u0 ... | col -x'.  Ignore the -u0,
71      # since `less' and `more' can use the emboldening info.
72      # However, disable SGR, since Solaris `col' mishandles it.
73      opts="$opts -P-c" ;;
74    -v | --version)
75      echo "GNU nroff (groff) version @VERSION@"
76      exit 0 ;;
77    --help)
78      echo "usage: nroff [-CchipStUv] [-dCS] [-MDIR] [-mNAME] [-nNUM] [-oLIST]"
79      echo "             [-rCN] [-Tname] [FILE...]"
80      exit 0 ;;
81    --)
82      shift
83      break ;;
84    -)
85      break ;;
86    -*)
87      echo "$prog: invalid option $1" >&2
88      exit 1 ;;
89    *)
90      break ;;
91  esac
92  shift
93done
94
95# Set up the `GROFF_BIN_PATH' variable
96# to be exported in the current `GROFF_RUNTIME' environment.
97
98@GROFF_BIN_PATH_SETUP@
99export GROFF_BIN_PATH
100
101# This shell script is intended for use with man, so warnings are
102# probably not wanted.  Also load nroff-style character definitions.
103
104PATH="$GROFF_RUNTIME$PATH" groff -mtty-char $T $opts ${1+"$@"}
105
106# eof
107