Namazu-devel-ja(旧)


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

dvi2tty の判別 Re: filterに使用しているアプリケーション



臼田です

Yukio USUDA wrote:
> > > 2.dvi2tty(dvi.pl)
> > >  dvi.plからは"J"オプションを付けて呼び出していますが
> > ...
> > >  同名の別コマンド?なのかどうかわかりませんが、動作が異なる
> > >  のでどこかで吸収してあげるのがよいのかなと思います
略
> FreeBSDのpackageにあったdvi2ttyでは"J"オプションは無く、2バイト
> 文字も扱えないようです。
> 
> jdvi2ttyがあったらそれを優先して使うようにしておくとエラーの出る
> 可能性が低くなるかもしれないです。
> 
> でもTexを使う人なら気づいて自分で直しそうなので現状のままにして
> おいてもよさそうな気もします。

ということでやっぱり気になったので
3種類のdvi2ttyを見分けるようにしようと思います。
もともとのdvi.plが想定しているDevian付属のdvi2ttyでは試す環境
がないので試せる方ご意見をください。

臼田幸生


以下のpatchはHEAD用です

--- dvi.pl.org	Sat Aug 30 20:06:18 2003
+++ dvi.pl	Sat Aug 30 20:34:54 2003
@@ -36,7 +36,16 @@
 }
 
 sub status() {
-    $dviconvpath = util::checkcmd('dvi2tty');
+    if (util::islang("ja")) {
+        $dviconvpath = util::checkcmd('jdvi2tty');
+        unless (defined $dviconvpath) {
+            $dviconvpath = util::checkcmd('dvi2tty');
+            my $err = system("$dviconvpath -J");
+            return 'no' if ($err == 1792);
+        }
+    } else {
+        $dviconvpath = util::checkcmd('dvi2tty');
+    }
     $envpath = util::checkcmd('env');
     @env = ($envpath, "DVI2TTY=");
     return 'no' unless (defined $dviconvpath && defined $envpath);
@@ -67,10 +76,14 @@
     util::vprint("Processing dvi file ... (using '$dviconvpath')\n");
 
     if (util::islang("ja")) {
-	# -J option: dvi2tty-5.1 for Debian
-	@dviconvopts = ("-q", "-J");
+        # -J option: dvi2tty-5.1 for Debian
+        if ($dviconvpath =~ /jdvi2tty/){
+            @dviconvopts = ("-q");
+        }else {
+            @dviconvopts = ("-q", "-J");
+        }
     } else {
-	@dviconvopts = ("-q");
+        @dviconvopts = ("-q");
     }
 
     my $tmpfile = util::tmpnam('NMZ.dvi');