#!/bin/bash # Emulate nroff with groff. prog="$0" charset_in=iso-8859-1 charset_out=`locale charmap 2>/dev/null` opts= for i do case $1 in -c) opts="$opts -P-c" ;; -h) opts="$opts -P-h" ;; -[eq] | -s* | -u* | -T* ) # ignore these options ;; -[mrnoT]) echo $"option $1 requires an argument" >&2 exit 1 ;; -[iptSUC] | -[mrno]*) opts="$opts $1" ;; -v | --version) echo $"GNU nroff (groff) with Red Hat i18n/l10n support" exit 0 ;; --legacy) shift charset_in=$1 ;; --help) echo $"usage: $prog [-cChipt] [-mNAME] [-nNUM] [--legacy CHARSET] [-oLIST] [-rCN] [FILE...]" exit 0 ;; --) shift break ;; -) break ;; -*) echo $"$prog: invalid option $1" >&2 exit 1 ;; *) break ;; esac shift done TMPFILE=$(mktemp /tmp/man.XXXXXX) trap "rm -f $TMPFILE" 0 1 2 3 15 cat ${1+"$@"} >| ${TMPFILE} if iconv -f utf-8 -t utf-8 -o /dev/null ${TMPFILE} 2>/dev/null then charset_in=utf-8 else echo XXX echo XXX $"WARNING: old character encoding and/or character set" echo XXX fi # en_US is chosen arbitrarily; any UTF-8 locale should work export LC_ALL=en_US.UTF-8 # This shell script is intended for use with man, so warnings are # probably not wanted. Also load nroff-style character definitions. /usr/bin/iconv -f ${charset_in} -t utf-8 ${TMPFILE} | \ /usr/bin/groff -mtty-char -Tutf8 $opts 2>/dev/null | \ /usr/bin/iconv -f utf-8 -t ${charset_out}//translit rm -f ${TMPFILE} # eof