diff options
Diffstat (limited to 'nroff')
-rw-r--r-- | nroff | 64 |
1 files changed, 35 insertions, 29 deletions
@@ -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 |