Namazu-devel-ja(旧)


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: man filter and '-L ja' option



<m36658bl6l.wl@xxxxxxxxxxxxxxxxxxx>の記事において
kazuhiko@xxxxxxxxxxxxxxxxxxxさんは書きました。

>> のようなことをすると、LANG=ja_JP.EUC-JP mknmz のときとことなり、内部で
>> roff が -Tascii で呼ばれます。なんとなく直感的には -Tnippon で処理される
>> ことを期待するようにも思いますが、これはそういう仕様でいいのでしょうか。

  そういえば、かずひこさんはどのような環境でこの症状が発生するのでしょ
うか?
  一度このメールに添付したパッチを試していただけると嬉しいです。
-- 
NOKUBI Takatsugu
E-mail: knok@xxxxxxxxxxxxx
	knok@xxxxxxxxxx / knok@xxxxxxxxxx
Index: man.pl
===================================================================
RCS file: /storage/cvsroot/namazu/filter/man.pl,v
retrieving revision 1.26
diff -u -r1.26 man.pl
--- man.pl	2000/03/15 11:52:03	1.26
+++ man.pl	2002/02/12 07:52:42
@@ -30,6 +30,7 @@
 
 my $roffpath = undef;
 my $roffargs = undef;
+my $langenv = '';
 
 sub mediatype() {
     return ('text/x-roff');
@@ -49,10 +50,11 @@
 
     if (util::islang("ja") && $roffpath =~ /\bj?groff$/) {
 	# Check wheter -Tnippon is valid.
+	$langenv = "env LC_ALL=$util::LANG LANGUAGE=$util::LAN";
 	if (($mknmz::SYSTEM eq "MSWin32") || ($mknmz::SYSTEM eq "os2")){
-	    `echo ''| $roffpath -Tnippon 1>nul 2>&1`;
+	    `echo ''| $langenv $roffpath -Tnippon 1>nul 2>&1`;
 	} else {
-	    `echo ''| $roffpath -Tnippon 1>/dev/null 2>&1`;
+	    `echo ''| $langenv $roffpath -Tnippon 1>/dev/null 2>&1`;
 	}
 	if ($? == 0) {
 	    $roffargs = '-Wall -Tnippon' ;
@@ -95,7 +97,7 @@
 
     {
       util::vprint("Processing man file ... (using '$roffpath -man $roffargs')\n");
-	my $fh = util::efopen("|$roffpath -man $roffargs > $tmpfile");
+	my $fh = util::efopen("|$langenv $roffpath -man $roffargs > $tmpfile");
 
 	# Make groff output one paragraph per one line.
 	# Thanks to Tatsuo SEKINE <tsekine@xxxxxxxxxxxxx> for his suggestion.