From cff53a0040c35decebbeaa1f818a0d3c56291cf7af27a9afca7300d61e60e711 Mon Sep 17 00:00:00 2001 From: OBS User unknown Date: Mon, 23 Jul 2007 19:30:52 +0000 Subject: [PATCH] OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/groff?expand=0&rev=7 --- groff.changes | 6 ++++ groff.spec | 7 ++-- gxdview.spec | 4 +-- utf8.patch | 97 ++++++++++++++++++++++++++++++--------------------- 4 files changed, 70 insertions(+), 44 deletions(-) diff --git a/groff.changes b/groff.changes index 3bb7f4f..d692d95 100644 --- a/groff.changes +++ b/groff.changes @@ -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 diff --git a/groff.spec b/groff.spec index 779eef3..5fd6ad0 100644 --- a/groff.spec +++ b/groff.spec @@ -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 diff --git a/gxdview.spec b/gxdview.spec index 456100e..1ba71fa 100644 --- a/gxdview.spec +++ b/gxdview.spec @@ -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 diff --git a/utf8.patch b/utf8.patch index f8b531e..1fc5abe 100644 --- a/utf8.patch +++ b/utf8.patch @@ -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..."