summaryrefslogtreecommitdiffstats
path: root/nroff
diff options
context:
space:
mode:
Diffstat (limited to 'nroff')
-rw-r--r--nroff64
1 files changed, 35 insertions, 29 deletions
diff --git a/nroff b/nroff
index c65653e..8cb508f 100644
--- a/nroff
+++ b/nroff
@@ -4,6 +4,7 @@
prog="$0"
charset_in=iso-8859-1
charset_out=`locale charmap 2>/dev/null`
+# we prefer utf8
opts="-mtty-char -Tutf8"
for i
@@ -18,9 +19,10 @@ do
exit 1 ;;
-[iptSUC] | -[mrno]*)
opts="$opts $1" ;;
- -Tascii | -Tlatin1 | -Tutf8 | -Tcp1047 | -Tascii8 | -Tnippon | -Tkorean)
- T=$1 ;
- opts="-mtty-char $T";;
+ # someone wants specified -T, let's change opts from utf8
+ -Tascii | -Tlatin1 | -Tutf8 | -Tcp1047 | -Tascii8 | -Tnippon | -Tkorean)
+ T=$1 ;
+ opts="-mtty-char $T";;
-[eq] | -s* | -u* | -T*)
# ignore other devices
;;
@@ -55,44 +57,48 @@ else
TMPFILE=buf
fi
-if [ $TMPFILE = buf ]; then
- echo -n "$buf" | iconv -f utf-8 -t utf-8 &>/dev/null && charset_in=utf-8
+# if -T was set -> just run groff and quit nroff
+if [ -n "$T" ]; then
+ /usr/bin/groff -mtty-char $opts ${TMPFILE} 2>/dev/null
else
- iconv -f utf-8 -t utf-8 $TMPFILE &>/dev/null && charset_in=utf-8
-fi
+ 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
-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
+ 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
else
- 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 | \
+ 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
- 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
fi
fi
-
# eof