summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarcela Mašláňová <mmaslano@fedoraproject.org>2008-01-25 07:46:15 +0000
committerMarcela Mašláňová <mmaslano@fedoraproject.org>2008-01-25 07:46:15 +0000
commit36fd98f7e39b5ac55e4a3c4f687cccff9af3df73 (patch)
treef7509ee57a3ec3169d8fe3bda24349bbe2acf8ad
parentce8b802af9f4ec40cc7d9d58a9a4fd636acf9028 (diff)
downloadgroff-36fd98f7e39b5ac55e4a3c4f687cccff9af3df73.tar.gz
groff-36fd98f7e39b5ac55e4a3c4f687cccff9af3df73.tar.xz
groff-36fd98f7e39b5ac55e4a3c4f687cccff9af3df73.zip
Final realease of nroff. Reviewed-by: mlichvar and skasal
-rw-r--r--nroff71
1 files changed, 34 insertions, 37 deletions
diff --git a/nroff b/nroff
index 8cb508f..31a4d19 100644
--- a/nroff
+++ b/nroff
@@ -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