Final realease of nroff. Reviewed-by: mlichvar and skasal

This commit is contained in:
Marcela Mašláňová 2008-01-25 07:46:15 +00:00
parent ce8b802af9
commit 36fd98f7e3

71
nroff
View File

@ -4,8 +4,7 @@
prog="$0"
charset_in=iso-8859-1
charset_out=`locale charmap 2>/dev/null`
# we prefer utf8
opts="-mtty-char -Tutf8"
opts="-mtty-char"
for i
do
@ -19,12 +18,10 @@ do
exit 1 ;;
-[iptSUC] | -[mrno]*)
opts="$opts $1" ;;
# someone wants specified -T, let's change opts from utf8
-Tascii | -Tlatin1 | -Tutf8 | -Tcp1047 | -Tascii8 | -Tnippon | -Tkorean)
T=$1 ;
opts="-mtty-char $T";;
T=$1 ;;
-[eq] | -s* | -u* | -T*)
# ignore other devices
# ignore these options
;;
-v | --version)
echo $"GNU nroff (groff) with Red Hat i18n/l10n support"
@ -49,6 +46,11 @@ do
shift
done
# Don't convert encodings when -T is specified
[ -n "$T" ] && exec /usr/bin/groff $opts $T ${1+"$@"} 2>/dev/null
opts="$opts -Tutf8"
if TMPFILE=$(mktemp /tmp/man.XXXXXX 2>/dev/null); then
trap "rm -f $TMPFILE" 0 1 2 3 15
cat ${1+"$@"} >| $TMPFILE
@ -57,48 +59,43 @@ else
TMPFILE=buf
fi
# if -T was set -> just run groff and quit nroff
if [ -n "$T" ]; then
/usr/bin/groff -mtty-char $opts ${TMPFILE} 2>/dev/null
if [ $TMPFILE = buf ]; then
echo -n "$buf" | iconv -f utf-8 -t utf-8 &>/dev/null && charset_in=utf-8
else
if [ $TMPFILE = buf ]; then
echo -n "$buf" | iconv -f utf-8 -t utf-8 &>/dev/null && charset_in=utf-8
else
iconv -f utf-8 -t utf-8 $TMPFILE &>/dev/null && charset_in=utf-8
fi
iconv -f utf-8 -t utf-8 $TMPFILE &>/dev/null && charset_in=utf-8
fi
if [ $charset_in != utf-8 ]; then
echo XXX
echo XXX $"WARNING: old character encoding and/or character set"
echo XXX
fi
if [ $charset_in != utf-8 ]; then
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
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.
if [ $charset_in = utf-8 -a $charset_out = UTF-8 ]; then
if [ $TMPFILE = buf ]; then
echo -n "$buf" | /usr/bin/groff $opts 2>/dev/null
else
exec < $TMPFILE
rm -f $TMPFILE
exec /usr/bin/groff $opts 2>/dev/null
fi
if [ $charset_in = utf-8 -a $charset_out = UTF-8 ]; then
if [ $TMPFILE = buf ]; then
echo -n "$buf" | /usr/bin/groff $opts 2>/dev/null
else
if [ $TMPFILE = buf ]; then
echo -n "$buf" | \
/usr/bin/iconv -f $charset_in -t utf-8 | \
/usr/bin/groff $opts 2>/dev/null | \
/usr/bin/iconv -f utf-8 -t ${charset_out}//translit
else
/usr/bin/iconv -f $charset_in -t utf-8 $TMPFILE | \
exec < $TMPFILE
rm -f $TMPFILE
exec /usr/bin/groff $opts 2>/dev/null
fi
else
if [ $TMPFILE = buf ]; then
echo -n "$buf" | \
/usr/bin/iconv -f $charset_in -t utf-8 | \
/usr/bin/groff $opts 2>/dev/null | \
/usr/bin/iconv -f utf-8 -t ${charset_out}//translit
else
/usr/bin/iconv -f $charset_in -t utf-8 $TMPFILE | \
/usr/bin/groff $opts 2>/dev/null | \
/usr/bin/iconv -f utf-8 -t ${charset_out}//translit
rm -f $TMPFILE
fi
rm -f $TMPFILE
fi
fi
# eof