NetBSD2 | NetBSD | 1.6 | amd | autoconf | apache | bind | booting | boot/install/disk | boot-cd | build.sh | (daily) | Canna | CF+sendmail | cvs | dhcpd | dvi2ps | emacs-20 | ftpmirror | fvwm2 | gcc | gettext | ghostscript | inn | IPv6 | jitterbug | Install(OHP) | kernel | (old) | majordomo | make build | MHonArc | MRTG | namazu | ndtpd | PHP + PostgreSQL | netatalk | netboot | NFS | NIS | ntp | opie | Open Firmware | perl | procmail | sendmail | sharutils | smtpfeed | tcsh | TeX | time make | ucspi-tcp | w3 | wget | Wnn | wu-ftpd | X11 | Site Map |
全文検索
FEDU

dvi2ps (/usr/local)

pkgsrc/print/texfamily で make すれば入るのだけれど、 fontdesc を設定していると、何が基準なのか分らなくなるので、 試しに dvi2ps だけを pkgsrc とは関係なく設置して見た。

dvi2ps は dvi 形式から PostScript 形式に変換してくれるもの。 もっと簡単に言うと、 TeX/LaTeX が出力する中間形式から印刷するために PostScript 形式を出力する。

tar file を開けて、Makefile を少し変更して make とする。 (ここでは pkgsrc/texfamily で make して TeX/LaTeX は既に入っているとする。 予盾するが...)

Makefile の変更

Makefile の変更 LD_FLAGS はこれではうまくなさそうだが、とりあえず、こうしている。 → 20040615 版 (更に LDFLAGS と CCFLAGS を変更)

make; make install

# make install
install -c -s -m 755 dvi2ps /usr/local/bin/dvi2ps
cat lib/headers/dvi2.ps lib/headers/special.ps > lib/dvi2.ps
mkdir /usr/local/lib/dvi2ps
mkdir /usr/local/lib/dvi2ps/headers
cp -p lib/headers/dvi2.ps lib/headers/special.ps lib/headers/psifont.ps lib/headers/color.ps /usr/local/lib/dvi2ps/headers
cp -p lib/dvi2.ps /usr/local/lib/dvi2ps
chmod -R a+r /usr/local/lib/dvi2ps/headers /usr/local/lib/dvi2ps/dvi2.ps
make newlib と make install-lib をして fontdesc 用の材料を入れておく
ttyp1:makoto@st4200  17:33:33/050112(...local-src/dvi2ps-3.2j)> make newlib
cp -pr lib-dist/* lib
ttyp1:makoto@st4200  17:34:37/050112(...local-src/dvi2ps-3.2j)> sudo make install-lib
mkdir /usr/local/lib/dvi2ps
mkdir: /usr/local/lib/dvi2ps: File exists
*** Error code 1 (ignored)
cp -pr lib/* /usr/local/lib/dvi2ps
chmod -R a+r /usr/local/lib/dvi2ps

make install-doc

makoto@u  16:56:07/020827(...local-src/dvi2ps-3.2j)# make install-doc
mkdir /usr/local/doc/dvi2ps
mkdir: /usr/local/doc/dvi2ps: No such file or directory
*** Error code 1 (ignored)
install -c -m 444 doc/* /usr/local/doc/dvi2ps
usage: install [-Ubcprs] [-M log] [-B suffix] [-f flags] [-m mode]
            [-o owner] [-g group] [-l linkflags] [-S stripflags] file1 file2
       install [-Ubcprs] [-M log] [-B suffix] [-f flags] [-m mode]
            [-o owner] [-g group] [-l linkflags] [-S stripflags] 
            file1 ... fileN directory
       install [-Up] [-M log] -d [-m mode] [-o owner] [-g group] directory ...
*** Error code 1

Stop.
make: stopped in /export/local-src/dvi2ps-3.2j
予め作っておいて、もう一度
makoto@u  16:56:12/020827(...local-src/dvi2ps-3.2j)# mkdir -p  /usr/local/doc/dvi2ps
makoto@u  16:56:26/020827(...local-src/dvi2ps-3.2j)# make install-doc
mkdir /usr/local/doc/dvi2ps
mkdir: /usr/local/doc/dvi2ps: File exists
*** Error code 1 (ignored)
install -c -m 444 doc/* /usr/local/doc/dvi2ps
makoto@u  16:56:33/020827(...local-src/dvi2ps-3.2j)# 

fontdesc

fontdesc の説明は、上のように設置した場合、 /usr/local/doc/dvi2ps の中の fontdesc.doc に日本語で書いてある。

さて、以下名前のものを /usr/local/lib/dvi2ps で調整する。 pTex と BR1870N を使いたいので、/usr/local/lib/dvi2ps/fontdesc を調整する。 とりあえずは既存の LWII を修正してみる。

fontdesc:

define   kpse k        ## 以下で $kpse に k を代入する
fontdesc LWIINTX-J     ## 子呼出
と書いたものを置く。 こうしておいて
dvi2ps -d hoge.dvi >!/tmp/ps
等とすると、いろいろ表示する。例えば、 これで今作ったばかりの fontdesc を見ていることが確認出来る。 これを見ながら修正して行く。
ttyp1:makoto@st4200  17:41:26/050112(~/office/finance)> dvi2ps -d hoge.dvi |& grep 'No fon'
No font file for jis (mag 961)
No font file for jisg (mag 1993)
No font file for jisg (mag 1153)

今回の場合の呼出関係は次のとおり
fontdesc 
  -> LWIINTX-J 
      -> printer/LWII (resolution,mode, $bk=mor2)
      -> bikanji
          -> configk                 $tmf,$enc
                                    ($tmf = texmf*/fonts)
          -> header                  PostScript 形式 header 部分
          -> fontsk/asc-bikanji
              -> bikan-mor2 ($bk) .. 内蔵書体対応表
          -> fontsk/fonts-bitmap  .. 英語 pk
      -> fontsk/generate          .. (空)

bi-kanji, ASCII ptex を先にしておく

--- /a/dvi2ps-3.2j/lib-dist/bikanji      Sat Feb 19 23:58:56 2000
+++ ./bikanji   Tue Aug 27 08:29:34 2002
@@ -4,7 +4,7 @@
 fontdesc       header
 #
 # printer built-in font for kanji
-fontdesc       fonts$kpse/ntt-bikanji
+#fontdesc      fonts$kpse/ntt-bikanji
 fontdesc       fonts$kpse/asc-bikanji
 # bitmap for ascii
 fontdesc       fonts$kpse/fonts-bitmap
configk:
--- /a/dvi2ps-3.2j/lib-dist/configk      Sat Oct  9 01:34:06 1999
+++ configk     Tue Aug 27 08:42:09 2002
@@ -1,4 +1,4 @@
-define tmf     /usr/local/share/{texmf.local,texmf}/fonts
+define tmf     /usr/pkg/share/{texmf.local,texmf}/fonts
 define enc     reencode/
 cconvdir       cconv
-vfontcap       /usr/local/lib/vfontcap
+vfontcap       /usr/pkg/share/VFlib/2.24.2/vfontcap
fontsk/asc-bikanji
--- /a/dvi2ps-3.2j/lib-dist/fontsk/asc-bikanji   Sun Aug  9 04:32:44 1998
+++ fontsk/asc-bikanji  Tue Aug 27 08:43:30 2002
@@ -1,5 +1,6 @@
 # built-in kanji for pTeX / ASCII Nihongo TeX
 # First, convert pTeX dvi -> built-in kanji dvi by virtual font
-font   jvf     * 0     $tmf/vf//a2$bk/
+font   jvf     * 0     $tmf/vf/
+font   jvf     * 0     $tmf/vf/a2$bk/
fontsk/bikan-mor2
--- /a/dvi2ps-3.2j/lib-dist/fontsk/bikan-mor2    Sun May 10 23:00:50 1998
+++ fontsk/bikan-mor2   Tue Aug 27 08:51:41 2002
@@ -1,4 +1,4 @@
-font   jfm     * 0     $tmf/tfm//jp/
+font   jfm     * 0     $tmf/tfm/ptex/
 map    rml     JSNR    Ryumin-Light-H
 map    gbm     JSNR    GothicBBB-Medium-H
 map    rmlv    JSNR    Ryumin-Light-V
ある時 jis jisg なんかないと言われたので、今は次のようなものも 使っている。
--- /usr/local/lib/dvi2ps/fontsk/bikan-mor2	Wed Jun  9 22:10:49 2004
+++ /usr/local/lib/dvi2ps/fontsk/bikan-jis	Thu Jun 10 23:19:36 2004
@@ -1,4 +1,9 @@
+font	jfm	* 0	$tmf/tfm/dvips/
 font	jfm	* 0	$tmf/tfm/jis/ptex/
+#
+map	jis	JSNR	Ryumin-Light-H
+map	jisg	JSNR	GothicBBB-Medium-H
+#
 map	rml	JSNR	Ryumin-Light-H
 map	gbm	JSNR	GothicBBB-Medium-H
 map	rmlv	JSNR	Ryumin-Light-V

min9 の場合

例えば dvi2ps -d hoge.dvi > hoge.ps とした時に、次のような字が表示される
Prescanning .trying to access /vf/
trying to access /vf/ptex/
trying to access /vf/a2mor2/
trying to access /tfm/dvips/
trying to access /tfm/jis/ptex/
trying to access /tfm/jis/ptex/
trying to access /usr/pkg/share/{texmf.local,texmf}/fonts/vf/
trying to access /usr/pkg/share/texmf.local/fonts/vf/ptex/min9.vf
Font file for min9 (mag 1000) found
これを追って見る。 /usr/local/lib/dvi2ps/fontdesc:
fontdesc BR1870N 
BR1870N:
fontdesc bikanji
bikanji:
fontdesc        fonts$kpse/asc-bikanji
fontsk/asc-bikanji:
font    jvf     * 0     $tmf/vf/ptex/
fontsk/bikan-jis:
fontsk/bikan-jis:font   jfm     * 0     $tmf/tfm/jis/ptex/

動作確認

実は Makefile の変更が不充分なため、次のようになってしまう。
ttyq3:makoto@u  16:46:40/020827(...lib/dvi2ps)> dvi2ps
Shared object "libVFlib2.so.24" not found
次のようにして、とりあえずしのいでいる。
env LD_LIBRARY_PATH=/usr/pkg/lib dvi2ps hogevar.dvi 
多分、pkgsrc/texfamily から入れたものについて fontdesc の調整をすれば、この問題も消えるはず。 man gcc で出て来る次のもののうち
Linker Options
       -llibrary -nostartfiles -nostdlib -static -shared
       -symbolic -Xlinker option -Wl,option -u symbol
-Wl,option かな。

Last Update

10:52:40 03/12/08
Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
Apache/2.4.46 (Unix) PHP/7.4.15
Count.cgi
(since 2002/08/27)