SOURCES: groff-nroff (NEW) - UTF-8 capable nroff from fedora

baggins baggins at pld-linux.org
Tue Nov 7 15:23:54 CET 2006


Author: baggins                      Date: Tue Nov  7 14:23:54 2006 GMT
Module: SOURCES                       Tag: HEAD
---- Log message:
- UTF-8 capable nroff from fedora

---- Files affected:
SOURCES:
   groff-nroff (NONE -> 1.1)  (NEW)

---- Diffs:

================================================================
Index: SOURCES/groff-nroff
diff -u /dev/null SOURCES/groff-nroff:1.1
--- /dev/null	Tue Nov  7 15:23:54 2006
+++ SOURCES/groff-nroff	Tue Nov  7 15:23:49 2006
@@ -0,0 +1,74 @@
+#!/bin/sh
+# 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
+LC_ALL=en_US.UTF-8
+export LC_ALL
+
+# 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
================================================================


More information about the pld-cvs-commit mailing list