From faaf47badf7b4d5b2483559c7d5d15ca5d58385adc531f3b6cb0425e2818ddb2 Mon Sep 17 00:00:00 2001 From: OBS User unknown Date: Thu, 26 Jul 2007 23:58:55 +0000 Subject: [PATCH] OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/man?expand=0&rev=10 --- man-db-2.4.3-chinese.dif | 51 ++++++++++++++++++++++++++-------------- man.changes | 13 ++++++++++ man.spec | 13 +++++++--- 3 files changed, 56 insertions(+), 21 deletions(-) diff --git a/man-db-2.4.3-chinese.dif b/man-db-2.4.3-chinese.dif index d31bc2f..3f8e9a0 100644 --- a/man-db-2.4.3-chinese.dif +++ b/man-db-2.4.3-chinese.dif @@ -1,24 +1,28 @@ ---- src/encodings.c -+++ src/encodings.c 2007-07-19 14:21:02.681951968 +0200 -@@ -106,6 +106,8 @@ static struct directory_entry directory_ +--- src/encodings.c 2005-01-05 16:11:54.000000000 +0100 ++++ src/encodings.c 2007-07-26 14:25:02.000000000 +0200 +@@ -106,6 +106,11 @@ { "cs", "ISO-8859-2", "ISO-8859-2" }, /* Czech */ { "hr", "ISO-8859-2", "ISO-8859-2" }, /* Croatian */ { "hu", "ISO-8859-2", "ISO-8859-2" }, /* Hungarian */ -+ { "zh", "GB18030", "GB18030" }, /* Simiplfy Chinese */ -+ { "tw", "BIG5", "BIG5" }, /* Tradition Chinese */ ++ { "zh_TW", "BIG5", "BIG5" }, /* Traditional Chinese */ ++ { "zh_HK", "BIG5HKSCS", "BIG5HKSCS" }, /* Traditional Chinese */ ++ { "zh_CN", "GB18030", "GB18030" }, /* Simplified Chinese */ ++ { "zh_SG", "GB18030", "GB18030" }, /* Simplified Chinese */ ++ { "zh", "GB18030", "GB18030" }, /* Simplified Chinese */ { "ja", "EUC-JP", "EUC-JP" }, /* Japanese */ { "ko", "EUC-KR", "EUC-KR" }, /* Korean */ { "pl", "ISO-8859-2", "ISO-8859-2" }, /* Polish */ -@@ -136,6 +138,8 @@ static struct charset_entry charset_tabl +@@ -136,6 +141,9 @@ #ifdef MULTIBYTE_GROFF { "EUC-JP", "nippon" }, + { "GB18030", "nippon" }, + { "BIG5", "nippon" }, ++ { "BIG5HKSCS", "nippon" }, #endif /* MULTIBYTE_GROFF */ { NULL, NULL } -@@ -170,7 +174,7 @@ static struct device_entry device_table[ +@@ -170,7 +178,7 @@ #ifdef MULTIBYTE_GROFF { "ascii8", NULL, NULL }, @@ -27,7 +31,7 @@ #endif /* MULTIBYTE_GROFF */ { NULL, NULL, NULL } -@@ -193,6 +197,7 @@ static struct less_charset_entry less_ch +@@ -193,6 +201,7 @@ { "UTF-8", "utf-8" }, #ifdef MULTIBYTE_GROFF @@ -35,7 +39,7 @@ { "EUC-JP", "ja" }, { "KOI8-R", "koi8-r" }, #endif /* MULTIBYTE_GROFF */ -@@ -283,6 +288,13 @@ char *get_page_encoding (const char *lan +@@ -283,6 +292,13 @@ * roff encoding = UTF-8 * output encoding = UTF-8 * EUC-JP -> iconv -> UTF-8 -> groff -Tutf8 -> UTF-8 @@ -45,46 +49,57 @@ + * source encoding = GB18030 + * roff encoding = UTF-8 + * output encoding = UTF-8 -+ * EUC-JP -> iconv -> UTF-8 -> groff -Tutf8 -> UTF-8 ++ * GB18030 -> iconv -> UTF-8 -> groff -Tutf8 -> UTF-8 */ const char *get_source_encoding (const char *lang) { -@@ -386,10 +398,13 @@ static int compatible_encodings (const c +@@ -386,10 +402,14 @@ return 1; #ifdef MULTIBYTE_GROFF - /* Special case for ja_JP.UTF-8, which takes UTF-8 input recoded - * from EUC-JP and produces UTF-8 output. This is rather filthy. -+ /* Special case for ja_JP.UTF-8 zh_CN.UTF-8 and zh_TW.UTF8, which -+ * takes UTF-8 input recoded from EUC-JP and produces UTF-8 output. ++ /* Special case for ja_JP.UTF-8, zh_CN.UTF-8, zh_TW.UTF-8, and zh_HK.UTF-8 which ++ * takes UTF-8 input recoded from EUC-JP, BIG5, BIG5HKSCS, GB18030, or GBK ++ * and produces UTF-8 output. + * This is rather filthy. */ - if (STREQ (input, "EUC-JP") && STREQ (output, "UTF-8")) -+ if ((STREQ (input, "EUC-JP") || STREQ (input, "BIG5") || ++ if ((STREQ (input, "EUC-JP") || STREQ (input, "BIG5") || STREQ (input, "BIG5HKSCS") || + STREQ (input, "GB18030") || STREQ (input, "GBK")) && + STREQ (output, "UTF-8")) return 1; #endif /* MULTIBYTE_GROFF */ -@@ -449,13 +464,17 @@ const char *get_roff_encoding (const cha +@@ -449,14 +469,26 @@ #ifdef MULTIBYTE_GROFF /* An ugly special case is needed here. The utf8 device normally * takes ISO-8859-1 input. However, with the multibyte patch, when - * recoding from EUC-JP it takes UTF-8 input instead. This is evil, - * but there's not much that can be done about it apart from waiting - * for groff 2.0. -+ * recoding from EUC-JP, GB18030 or BIG5 it takes UTF-8 input ++ * recoding from EUC-JP, GB18030, BIG5, or BIG5HKSCS it takes UTF-8 input + * instead. This is evil, but there's not much that can be done + * about it apart from waiting for groff 2.0. + * */ ++ /* ++ * don't try to convert to UTF-8, the input might be UTF-8 already ++ * and groff 1.18.1.1 with the multibyte patch doesn't want ++ * UTF-8 input anyway, the /usr/bin/nroff script contains ++ * a hack to convert back to the appropriate legacy encoding ++ * if it gets UTF-8 input. ++ */ if (STREQ (device, "utf8")) { const char *ctype = setlocale (LC_CTYPE, NULL); - if (STREQ (ctype, "ja_JP.UTF-8")) +- roff_encoding = "UTF-8"; + if (STREQ (ctype, "ja_JP.UTF-8") || + STREQ (ctype, "zh_CN.UTF-8") || + STREQ (ctype, "zh_SG.UTF-8") || -+ STREQ (ctype, "zh_TW.UTF-8")) - roff_encoding = "UTF-8"; ++ STREQ (ctype, "zh_TW.UTF-8") || ++ STREQ (ctype, "zh_HK.UTF-8")) ++ roff_encoding = source_encoding; /* "UTF-8"; */ } #endif /* MULTIBYTE_GROFF */ + diff --git a/man.changes b/man.changes index 0f0c1b2..adc3511 100644 --- a/man.changes +++ b/man.changes @@ -1,3 +1,16 @@ +------------------------------------------------------------------- +Thu Jul 26 14:33:08 CEST 2007 - mfabian@suse.de + +- Bugzilla #292412 comment #47: accept both UTF-8 an legacy + encodings in the man-page sources for Japanese and Chinese + as well. + +------------------------------------------------------------------- +Wed Jul 25 12:09:51 CEST 2007 - mfabian@suse.de + +- Bugzilla #292412 comment #30 and #39: improve Chinese patch. +- use %find_lang macro + ------------------------------------------------------------------- Thu Jul 19 17:36:07 CEST 2007 - werner@suse.de diff --git a/man.spec b/man.spec index af54b53..5c93313 100644 --- a/man.spec +++ b/man.spec @@ -13,7 +13,7 @@ Name: man BuildRequires: flex gdbm-devel groff less libbz2-devel libzio-devel zlib-devel Version: 2.4.3 -Release: 67 +Release: 70 Summary: A Program for Displaying man Pages License: GPL v2 or later Group: System/Base @@ -88,6 +88,7 @@ set +o posix # \( -type d -printf '%%p/\n' \) -o \( -type l -printf '%%p\n' \) \) #) > >(sort -u -t / | grep -vE '^(/tmp|/proc|/usr/src/packages)' > /tmp/man.list) #rm /tmp/estamp /tmp/bstamp +%find_lang man-db %pre test -d var/catman/ && rm -rf var/catman/ || true @@ -95,7 +96,7 @@ test -d var/catman/ && rm -rf var/catman/ || true %post %{fillup_only -an cron} -%files +%files -f man-db.lang %defattr(-,root,root) %config /etc/manpath.config %attr(0744,root,root) /etc/cron.daily/suse-clean_catman @@ -114,7 +115,6 @@ test -d var/catman/ && rm -rf var/catman/ || true /usr/sbin/accessdb /usr/share/groff/site-tmac/tmac.andb /usr/share/groff/site-tmac/tmac.andocdb -/usr/share/locale/*/LC_MESSAGES/man?db.mo %dir %{_mandir}/de %dir %{_mandir}/de/man1 %doc %{_mandir}/de/man1/*.1.gz @@ -158,6 +158,13 @@ test -d var/catman/ && rm -rf var/catman/ || true /var/adm/fillup-templates/sysconfig.cron-man %changelog +* Thu Jul 26 2007 - mfabian@suse.de +- Bugzilla #292412 comment #47: accept both UTF-8 an legacy + encodings in the man-page sources for Japanese and Chinese + as well. +* Wed Jul 25 2007 - mfabian@suse.de +- Bugzilla #292412 comment #30 and #39: improve Chinese patch. +- use %%find_lang macro * Thu Jul 19 2007 - werner@suse.de - Add Chinese support to man (bug #292412) * Wed Jul 18 2007 - werner@suse.de