OBS User unknown 2007-07-23 19:30:52 +00:00 committed by Git OBS Bridge
parent 19732631ea
commit cff53a0040
4 changed files with 70 additions and 44 deletions

View File

@ -1,3 +1,9 @@
-------------------------------------------------------------------
Mon Jul 23 19:41:27 CEST 2007 - mfabian@suse.de
- Bugzilla #292412: add some more hacks to /usr/bin/nroff to
support Chinese man pages as well.
-------------------------------------------------------------------
Mon Mar 26 15:50:16 CEST 2007 - rguenther@suse.de

View File

@ -14,14 +14,14 @@ Name: groff
BuildRequires: bison gcc-c++
%define build_groff_docu 1
#
License: BSD License and BSD-like, GNU General Public License (GPL)
License: BSD 3-Clause, GPL v2 or later
Group: Productivity/Publishing/Troff
Provides: normal-groff, jgroff
Obsoletes: jgroff
Prereq: %fillup_prereq %install_info_prereq
Autoreqprov: on
Version: 1.18.1.1
Release: 64
Release: 85
Summary: GNU troff Document Formatting System
URL: http://www.gnu.org/software/groff/groff.html
Source0: ftp://ftp.gnu.org/gnu/groff/groff-1.18.1.1.tar.bz2
@ -171,6 +171,9 @@ popd
/var/adm/fillup-templates/sysconfig.suseconfig-groff
%changelog
* Mon Jul 23 2007 - mfabian@suse.de
- Bugzilla #292412: add some more hacks to /usr/bin/nroff to
support Chinese man pages as well.
* Mon Mar 26 2007 - rguenther@suse.de
- add bison BuildRequires.
* Wed Jan 17 2007 - mfabian@suse.de

View File

@ -11,13 +11,13 @@
Name: gxdview
BuildRequires: gcc-c++ xorg-x11-devel
License: GNU General Public License (GPL)
License: GPL v2 or later
Group: Productivity/Publishing/Troff
Autoreqprov: on
Requires: groff
Conflicts: jgxdview
Version: 1.18.1.1
Release: 71
Release: 97
Summary: Ditroff Output Displayer for Groff
URL: http://www.gnu.org/software/groff/groff.html
Source0: ftp://ftp.gnu.org/gnu/groff/groff-1.18.1.1.tar.bz2

View File

@ -1,46 +1,11 @@
diff -ru groff-1.18.1.1.orig/src/roff/nroff/nroff.sh groff-1.18.1.1/src/roff/nroff/nroff.sh
--- groff-1.18.1.1.orig/src/roff/nroff/nroff.sh 2002-02-07 09:36:54.000000000 +0100
+++ groff-1.18.1.1/src/roff/nroff/nroff.sh 2006-02-09 15:33:14.000000000 +0100
@@ -81,11 +87,161 @@
--- groff-1.18.1.1.orig/src/roff/nroff/nroff.sh 2007-07-23 19:22:48.000000000 +0200
+++ groff-1.18.1.1/src/roff/nroff/nroff.sh 2007-07-23 19:27:54.000000000 +0200
@@ -87,11 +87,178 @@
shift
done
+# special hack to display Japanese and Czech man pages correctly in UTF-8 locale:
+ICONV="cat"
+case "`locale charmap 2>/dev/null`" in
+ UTF-8)
+ case "${LANGUAGE-${LC_ALL-${LC_MESSAGES-${LANG}}}}" in
+ ja*)
+ # Japanese man page in UTF-8 locale, special case!
+ # force the device 'nippon' to run groff in ja_JP.eucJP locale
+ # and convert the result to UTF-8 using iconv:
+ T=-Tnippon
+ export LC_ALL=ja_JP.eucJP
+ ICONV="iconv -f EUC-JP -t UTF-8"
+ ;;
+# Czech, Hungarian, ... and Russian man-pages don't need special treatment in nroff anymore
+# with man-2.4.3 because man already does the necessary conversions (see bugzilla #230030).
+# cs*|hu*|hr*|pl*)
+# # Czech, Hungarian, ... in UTF-8 seem to need special treatment as well:
+# T=-Tascii8
+# export LC_ALL=cs_CZ.ISO-8859-2
+# ICONV="iconv -f ISO-8859-2 -t UTF-8"
+# ;;
+# ru_RU*)
+# # Russian man page sources are in KOI8-R
+# T=-Tascii8
+# export LC_ALL=ru_RU.KOI8-R
+# ICONV="iconv -f KOI8-R -t UTF-8"
+# ;;
+ # make 'man iso-8859-15' display correctly in UTF-8 locales using Euro
+ ca_ES*|de_AT*|de_BE*|de_DE*|de_LU*|en_BE*|en_IE*|es_ES*|eu_ES*|fi_FI*|fr_BE*|fr_FR*|fr_LU*|ga_IE*|gl_ES*|it_IT*|nl_BE*|nl_NL*|pt_PT*|sv_FI*|wa_BE*)
+ T=-Tlatin1
+ export LC_ALL=de_DE@euro
+ ICONV="iconv -f ISO-8859-15 -t UTF-8"
+ ;;
+ esac
+ ;;
+esac
+# special hacks to display Japanese, Chinese, ...man pages correctly in UTF-8 locale:
+
+guess_legacy_encoding () {
+ # Guess the legacy encoding used by the language/country
@ -57,7 +22,7 @@ diff -ru groff-1.18.1.1.orig/src/roff/nroff/nroff.sh groff-1.18.1.1/src/roff/nro
+ LEGACY_ENCODING=Big5HKSCS
+ ;;
+ zh*)
+ LEGACY_ENCODING=GB2312
+ LEGACY_ENCODING=GB18030
+ ;;
+ ja*)
+ LEGACY_ENCODING=EUC-JP
@ -108,6 +73,58 @@ diff -ru groff-1.18.1.1.orig/src/roff/nroff/nroff.sh groff-1.18.1.1/src/roff/nro
+}
+
+guess_legacy_encoding;
+
+ICONV="cat"
+case "`locale charmap 2>/dev/null`" in
+ UTF-8)
+ case "${LANGUAGE-${LC_ALL-${LC_MESSAGES-${LANG}}}}" in
+ ja*)
+ # Japanese man page in UTF-8 locale, special case!
+ # force the device 'nippon' to run groff in ja_JP.eucJP locale
+ # and convert the result to UTF-8 using iconv:
+ T=-Tnippon
+ export LC_ALL=ja_JP.eucJP
+ ICONV="iconv -f $LEGACY_ENCODING -t UTF-8"
+ ;;
+ zh_TW*)
+ T=-Tnippon
+ export LC_ALL=ja_JP.eucJP
+ ICONV="iconv -f $LEGACY_ENCODING -t UTF-8"
+ ;;
+ zh_HK*)
+ T=-Tnippon
+ export LC_ALL=ja_JP.eucJP
+ ICONV="iconv -f $LEGACY_ENCODING -t UTF-8"
+ ;;
+ zh*)
+ T=-Tnippon
+ export LC_ALL=ja_JP.eucJP
+ ICONV="iconv -f $LEGACY_ENCODING -t UTF-8"
+ ;;
+# Czech, Hungarian, ... and Russian man-pages don't need special treatment in nroff anymore
+# with man-2.4.3 because man already does the necessary conversions (see bugzilla #230030).
+# cs*|hu*|hr*|pl*)
+# # Czech, Hungarian, ... in UTF-8 seem to need special treatment as well:
+# T=-Tascii8
+# export LC_ALL=cs_CZ.ISO-8859-2
+# ICONV="iconv -f ISO-8859-2 -t UTF-8"
+# ;;
+# ru_RU*)
+# # Russian man page sources are in KOI8-R
+# T=-Tascii8
+# export LC_ALL=ru_RU.KOI8-R
+# ICONV="iconv -f KOI8-R -t UTF-8"
+# ;;
+ # make 'man iso-8859-15' display correctly in UTF-8 locales using Euro
+ ca_ES*|de_AT*|de_BE*|de_DE*|de_LU*|en_BE*|en_IE*|es_ES*|eu_ES*|fi_FI*|fr_BE*|fr_FR*|fr_LU*|ga_IE*|gl_ES*|it_IT*|nl_BE*|nl_NL*|pt_PT*|sv_FI*|wa_BE*)
+ T=-Tlatin1
+ export LC_ALL=de_DE@euro
+ ICONV="iconv -f ISO-8859-15 -t UTF-8"
+ ;;
+ esac
+ ;;
+esac
+
+TMPDIR=`mktemp -d /tmp/nroff.XXXXXX`
+if [ $? -ne 0 ]; then
+ echo "$0: Can't create temp directory, exiting..."