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