USB メモリ活用講座
【実践編・dviout for Windows ポータブル化】

< 最終更新日: 2018-12-01 >

はじめに

Windows 7/8/8.1/10 でインストール作業を行なうには,管理者 (Administrator) 権限を持つユーザで作業を行うとよいでしょう.

以下では USB メモリを PC に挿入したときに認識されるドライブレターが (U:) であるものとし,このドライブのことを USB ドライブと呼びます.

まだ W32TeX ポータブル環境を構築していない方は,先にその作業を行なってください.

dviout は本来,ドライブレターの固定されたローカルハードディスク (C: や D:) にインストールして使うことを前提に開発されており,設定をレジストリに保存します. 以下では,環境変数とパラメータファイルを使うことで,レジストリを極力使わない設定方法を紹介しますが,完全ではありません. 詳しくは,制約事項をご覧ください. dviout のソースファイルに手を加えて,ポータブル化するという取組みを北海道大の阿部紀行さん が紹介されており,そちらの方がより完全と思われます.

dviout は開発元である 東京大・大島研究室CTAN (Comprehensive TeX Archive Network) で配布されていますが,異なるファイル名が使われています. 更新のタイミングが異なる場合もあるようですので,両方のサイトを確認し,どれを利用するかを選択してください.

東京大・大島研究室が配布する dviout
ftp://akagi.ms.u-tokyo.ac.jp/pub/TeX/dviout/current_in_Japanese/,
http://www.ring.gr.jp/pub/text/TeX/dviout/
長岡高専学内 ftp サーバ (学内専用)
CTAN が配布する dviout
http://www.ctan.org/tex-archive/dviware/dviout
http://www.ring.gr.jp/pub/text/CTAN/dviware/dviout/

2018 年 1 月現在では,dviout for Windows 3.18.4 が最新であり,大島研究室が配布する tex318w.zip も CTAN が配布する dviout3184-inst.zip も中身は共通のようです. ネットワーク的に近いサイトから tex318w.zip (または dviout3184-inst.zip) を,ローカルハードディスク (C: や D:) の適切なフォルダ (C:\temp など) にダウンロードしましょう. 間違ってソースファイル (tex318s.zip/dviout3184-source.zip) をダウンロードしないように注意しましょう.

dviout for Windows の展開 (解凍) と初期設定

ここでは東京大・大島研が配布する tex318w.zip を USB ドライブの usr\dviout フォルダにインストールすることにします. 別のフォルダにインストールしたい人は,適宜読み替えながら作業を進めてください. また,CTAN から dviout3184-inst.zip をダウンロードした人も,適宜読み替えながら作業を進めてください.

  1. tex318w.zip を USB ドライブの usr\dviout フォルダに展開 (解凍) します. Windows PC で展開を行うには,zip ファイルを右クリックして表示されるメニューから「すべて展開」を選び,展開先を指定すればよいでしょう. W32TeX (x86) のインストールで触れた unzip.exe でも展開可能ですし,基礎編のファイル圧縮・展開 (解凍) ツールで紹介した 7-Zip Portable や PeaZip Portable でも展開可能です.
  2. テキストエディタで次の内容を入力し,dviout フォルダに dviout.par という名前で保存します (文字コードは「シフトJIS」にしましょう). 最後の行には先頭にアポストロフィ (') が1文字だけありますので,忘れずに入力してください. 正確にタイプする自信がない方は,ブラウザからエディタへコピー&ペーストすればよいでしょう. 「メモ帳」で作成する方は,保存時に dviout.par.txt となってしまわないよう気をつけてください (失敗したらリネームすればよいだけですが).

Ghostscript&GSview は利用しないという方は,そのように設定することもできます※1. また,upTeX/upLaTeX から出力される DVI ファイルを dviout で表示したいという方は,upTeX/upLaTeX を利用する場合の設定を参考にしてください.

dpi=300
tpic=1
gen="`mktexpk.exe --dpi ^d --bdpi ^D --mag ^M ^s"
TEXROOT=^T\fonts
ftt=^x\map\ttfonts.map
TEXPK=^r\tfm\\^s^tfm;^r\pk\\^s.^dpk;^r\vf\\^s.vf;^r\ovf\\^s.ovf
gsx=gswin32c.exe
vfn='
%version=2
%vfont_list
1,"MS 明朝"
2,"MS ゴシック"
3,"@MS 明朝"
4,"@MS ゴシック"
5,"cmr10"
%jfm_list
jis,1,a,a,n,0;0;0,,1,0
jisg,2,a,a,n,0;0;0,,1,0
min,1,a,a,n,0;0;0,,1,0
goth,2,a,a,n,0;0;0,,1,0
tmin,3,a,a,n,0;0;0,,1,1
tgoth,4,a,a,n,0;0;0,,1,1
default,1,a,b,n,0;0;0,,1,0
tdefault,3,a,b,n,0;0;0,,1,1
edefault,5,a,a,n,0;0;0,,1,0
'

ローカルハードディスク (C:など) のようにドライブレターが固定されたフォルダに dviout をインストールするのであれば,dviout.par の作成は必須ではなく,dviout.exe を起動して [Option]-[Install] で開かれるダイアログボックスに従って設定を行ないます. すると,最後にスタートメニューに dviout が追加され,各種設定はレジストリに書き込まれます. また,拡張子が dvi のファイルに dviout が関連付けられますので,dvi ファイルをダブルクリックするだけで dviout で開くことができるようになります.

ポータブル化を実現するには,スタートメニューへの登録や dvi ファイルの関連付けはあきらめて,設定の保存をレジストリに頼らないように工夫しなければなりません. その工夫の一つがパラメータファイル dviout.par の利用です. そのほかの工夫については次のポータブル化のための設定で紹介します.

ポータブル化のための設定

dviout の実行ファイル dviout.exe は,起動時に同じフォルダにパラメータファイル dviout.par が存在すれば,それを読み込み,その内容に基づいて各種設定を行うことができます. 前述の dviout.par では,パラメータ TEXROOT=^T\fonts と設定していますが,この ^T は環境変数 TEXMFMAIN または TEXMF の設定値を意味します. また,パラメータ TEXPK の右辺にある ^r は TEXROOT の設定値を意味します. したがって,USB ドライブの usr\w32tex\share\texmf-dist へのパスを予め環境変数 TEXMFMAIN に設定しておけば,dviout が USB ドライブの usr\w32tex\share\texmf-dist\fonts 以下にあるフォントを見つけてくれることになります. もしフォントが見つからない場合は,gen の右辺で設定したコマンド (mktexpk.exe) で必要な解像度のフォントを自動生成してくれます. したがって,環境変数 PATH に mktexpk.exe が存在するパス (usr\w32tex\bin) を登録しておく必要もあります.

そこで,W32TeX をポータブルにする設定で作成した texenv.vbs を,次のように拡張します (環境変数 PATH の設定以降が変わっています)※2

' TeX ポータブル環境設定 (dviout for Windows/Ghostscript 対応版)
Option Explicit
Dim objWshShell,objFS,objEnv
Dim strDrv,strTeXPath,strGSPath
Set objWshShell = WScript.CreateObject("WScript.Shell")
Set objFS = WScript.CreateObject("Scripting.FileSystemObject")
' カレントドライブを取得
strDrv = objFS.GetDriveName(WScript.ScriptFullName)
' usr\w32tex フォルダが存在するかをチェック
strTeXPath = strDrv & "\usr\w32tex"
If objFS.FolderExists(strTeXPath)=0 Then
    WScript.Echo strTeXPath & "が見つかりませんので終了します"
    WScript.Quit 0
End If
strGSPath = strDrv & "\usr\GSview"
' 環境変数PATHの設定
Set objEnv = objWshShell.Environment("Process")
objEnv.Item("PATH") = strTeXPath & "\bin;" _
  & strDrv & "\usr\dviout;" _
  & strGSPath & ";" _
  & strGSPath & "\gs9.26\bin;" _
  & strGSPath & "\gs9.26\lib;" _
  & objEnv.Item("PATH")
' 環境変数TEXMFMAINにusr\w32tex\share\texmf-distを設定
objEnv.Item("TEXMFMAIN") = strTeXPath & "\share\texmf-dist"
' 環境変数GS_LIBを設定
objEnv.Item("GS_LIB") = strGSPath & "\gs9.26\Resource\Init;" _
  & strGSPath & "\gs9.26\Resource;" _
  & strGSPath & "\gs9.26\lib;" _
  & strGSPath & "\gs9.26\kanji"
' 環境変数GS_FONTPATHを設定
objEnv.Item("GS_FONTPATH") = strDrv & "\Resource\fonts"
' 環境変数GS_OPTIONSを設定 (9.22以降は非推奨)
' objEnv.Item("GS_OPTIONS") = "-dWINKANJI"
' コマンドプロンプトウィンドウを開く
objWshShell.Run "%COMSPEC%"

W32TeX のポータブル化で,別解の Command Prompt Portable のバッチファイルを編集する方を選んだ人は,上の VB スクリプトを参考に環境変数 PATH と TEXMFMAIN,GS_LIB,GS_FONTPATH,GS_OPTIONS※2 を設定してください.

それでは動作確認を行いましょう. エクスプローラなどで USB ドライブの中身を表示し,フォルダ bin の中に上書き保存した texenv.vbs を起動します. そのとき「コマンドプロンプト」が開かれたら,第 1 段階は成功です (別解を選んだ人は,Command Prompt Portable を開きます).

次にそのコマンドプロンプトで,カレントディレクトリを usr\dviout へ移動し,dviout に付属するサンプル DVI ファイル test_a4.dvi を開いてみます.

cd \usr\dviout[Enter]
dviout test_a4.dvi[Enter]
図1・フォントに関する警告メッセージ
図1・フォントに関する警告メッセージ

はじめて dviout を起動する場合には,必要なフォント (cmr7, cmr10, cmmi10, cmsy10) が生成され,This frame size is 159.2mm × 246.2mm. で始まる英文メッセージが A4 紙面の中央部にあるようなプレビューが得られるはずです. そうではなく,右の図1 のような警告メッセージとともに dviout のオンラインヘルプが開かれた場合には,フォントの自動生成がうまく働いていません. dviout.par または texenv.vbs に問題がないか確認してください.

自動生成されたフォントは,USB ドライブの usr\w32tex\share\texmf-dist\fonts\pk 以下に保存されます. 先ほどの dviout.par では dpi=300 としていましたので,300dpi での出力に最適なフォントが生成され,usr\w32tex\share\texmf-dist\fonts\pk\cx 以下に保存されます.

TeX で標準的に使われる CM フォント (Computer Modern font) については,TrueType 形式の BaKoMa フォントがフリーで提供されています. これを利用したい場合は,欧文 TrueType フォントの利用をご覧ください.

graphicx パッケージを使うための追加設定

dviout は,graphicx パッケージを使用して画像を貼り付けた TeX 文書をプレビューすることができますが,そのためには追加設定を行う必要があります.

まず,usr\w32tex\share\texmf-dist\tex\latex\graphics-otherdef フォルダに dviout.def というファイルがあるかどうか確認します※3

そして,TeX 文書のソースファイルで graphicx パッケージを次のように読み込みます.

\usepackage[dviout]{graphicx}

この設定で WMF/EMF,PBM,BMP/BMC 画像を扱うことができるはずです. さらにフリーの画像表示ソフト Susie に対応したプラグイン (Susie plug-in) を利用すれば,その他の画像形式も表示させることが可能です. Susie 関連のリンク集 などを参考に,自分が必要とする Susie plug-in をダウンロードしてください. どれを用意すればよいかよくわからないという方は,dvipdfm(x) も対応している JPEG と PNG 用の Susie plug-in を用意しておくことを推奨します. ダウンロードした Susie plug-in (拡張子 .spi のファイル) は dviout.exe と同じフォルダに置いてください.

ところで,PNG や JPEG のようなラスタ (ビットマップ) 形式の画像では,PC のディスプレイのような低解像度のデバイスでは十分キレイに見えても,プリンタのように高解像度のデバイスに出力すると画素の粗さが目立ってしまうことがあります. 実験レポートなどを作成するときに,ペイントで描いたブロック図やフローチャート,表計算ソフトで作成したグラフなどをラスタ形式で保存して挿入すると印刷時に美しい仕上がりは期待できません. デジカメの写真や,画面のキャプチャ画像などはラスタ形式でよいでしょうが,線図はベクタ形式を利用したいものです.

TeX では開発初期の頃からベクタ形式の PS/EPS 画像が利用されてきました. dviout では,PS/EPS 画像を貼り付けた文書をプレビューするときに,Ghostscript を自動的に呼び出して適切な解像度の PBM または BMP に変換して表示する機能があります.

制約事項と設定保存法

図2・アンインストールの警告メッセージ
図2・アンインストールの警告メッセージ

一度 dviout を起動すると,レジストリの HKEY_CURRENT_USER\Software 以下に SHIMA\dviout というキーが作成され,ファイルの履歴や各種の設定が書き込まれてしまいます. この後説明するレジストリからのキー削除を行わないならば,USB メモリを抜いた後もその PC には dviout に関するレジストリのキーが残ってしまいます. それが原因となって PC が不調になったりはしないと思いますが,USB メモリを抜く前にレジストリからキーを削除して確実に痕跡を消すには,多重 TEXMF ツリーへの対応 で作成する WSH スクリプトを利用してください. あるいは,dviout のメニューバーから [Option]-[Uninstall] を選ぶこともできます. すると,右の図2のような警告ダイアログボックスが表示されます. [OK] をクリックすれば dviout に関係するレジストリキーが削除され,dviout が終了されます. なお,この操作によって USB メモリから dviout が消去されることはありません.

dviout のソースファイルに手を加えて,ポータブル化するという取組みを北海道大の阿部紀行さんが紹介されています. こちらを利用すれば,レジストリは全く使われなくなるようです.

dviout の設定は,メニューバーから [Option]-[Setup Parameters] を選択して表示される dviout のプロパティダイアログボックスで変更・調整することができます. パラメータを変更後,[OK] または [適用] ボタンをクリックすれば,それが直ちに反映されますが,その設定はどこにも保存されず次回起動時には反映されません. 変更した設定を次回以降のデフォルト設定としたい場合,dviout をローカルにインストールしているのであれば,パラメータを変更後に [Save] をクリックしてレジストリに保存することができます. ポータブル化して使う場合にはレジストリに頼るわけにはいきませんので,設定を dviout.par に記述する必要があります. オンラインヘルプなどでパラメータを調べて,dviout.par に書き込んでいけばよいのですが,項目も多く,どのように設定値を書けばよいかわかりにくいと思います. 少し手間がかかりますが,次のようにすれば間違いが少ないでしょう.

  1. メニューバーから [Option]-[Non-default Parameters] を選択し,表示されるパラメータを [Copy] ボタンでクリップボードにコピーし,テキストエディタに貼り付けておきます (ログファイルに書き出すこともできます).
  2. dviout のプロパティダイアログボックスで所望のパラメータを変更し,[OK] をクリックします.
  3. 再びメニューバーから [Option]-[Non-default Parameters] を選択し,表示されるパラメータを [Copy] ボタンでクリップボードにコピーし,テキストエディタに貼り付けます.
  4. パラメータ変更の前後を比較して,変更点や新規に追加された項目を探します. そして,見つかった項目を dviout.par に書き加えます.

ちなみに,メニューバーの [Option]-[Choose Parameters] から事前に定義済みの設定を読み込むこともできますが,それぞれの定義済み設定の実体は dviout フォルダの下の par フォルダにあるパラメータファイル (拡張子が par のファイル) です. これらをテキストエディタで開いて内容を調べることでも,パラメータの記述法のヒントが得られるはずです.

欧文 TrueType フォントの利用

TeX で標準的に利用される欧文フォントである CM フォント (Computer Modern font) は,TeX の開発者である Donald E. Knuth 先生が,TeX と一緒に開発した METAFONT と呼ばれるフォント自動生成システムを使って自らデザインしたフォントです. また,複雑な数式で利用される AMS フォント (American Mathematical Society font) は,TeX で数学論文を執筆・投稿するためにデザインされたフォントです. コンピュータの演算能力が低かった当時は,拡大・縮小しても品質が低下しにくいアウトラインフォントを直接取り扱うのではなく,出力装置 (ディスプレイやプリンタ) の解像度に合わせたビットマップフォントを作成,利用するという方法が極めて合理的でした. dviout も,標準では指定された解像度 (前述の dviout.par では 300dpi) のビットマップフォントを使って表示や印刷を行います. さらに,フォントが見つからない場合には自動的に生成する機能も備わっています.

しかし,高速化の進んだ現代のコンピュータにとって TrueType フォントや OpenType フォントなどのアウトラインフォントを扱うことは,もはや重い処理ではありません. プリンタも高解像度化が進み,その性能をフルに活かした高品質な出力を得ようとすれば 1000dpi 以上のフォントが必要になるため,フォントファイルのサイズや読み込み速度が問題となってきます.

dviout では欧文 TrueType フォントを扱うことができますので,ポータブル環境でも利用してみましょう. 方向性としては,次の 2 つが考えられます.

前者については dviout をインストールしたフォルダのサブフォルダ FONT にある winttf.zip が利用できます. 詳しくは,信州大の乙部厳己先生の書体拡張プロジェクトをご覧ください. この方法は普通の英文を書くにはおおむね良好なのですが,凝った数式になるとフォントが足りなくなり,部分的にビットマップの CM フォントや AMS フォントが使われることがあるため,統一感に欠ける可能性があります. また,環境依存性が強くなるので TeX ソースを他の人に渡すような場合に,相手の環境によってはコンパイルが通らなくなる可能性が高まります.

そこで,ここでは BaKoMa TrueType フォントの利用方法を紹介します.

  1. 次の URL から BaKoMa TrueType フォントの配布ファイル bakoma.lzh をダウンロードします.
    ftp://akagi.ms.u-tokyo.ac.jp/pub/TeX/font/bakoma/bakoma.lzh
  2. 基礎編のファイル圧縮・展開 (解凍) ツールで紹介した 7-Zip Portable や PeaZip Portable などを使って,bakoma.lzh を USB ドライブの Resource\fonts\BaKoMa に展開します.
  3. フォントインストーラー SAKURA のポータブル化を行い,一時インストールの利用を参考に,TeX 用のフォントグループ (TeX font など) を作成するなどして BaKoMa を展開したフォルダを追加します.

後は dviout よりも先にフォントインストーラー SAKURA を起動し,TeX 用のフォントグループのフォントを一時インストールしておけばよいでしょう.

dviout で [Help]-[Ohter Info]-[Font Info] を選択すると,画面の下部に使用フォントに関する情報が表示されます. 標準の pk フォントが利用されている場合は 図3のように右端に PK が表示されます.

図3・使用フォントの情報 (pk フォントの場合)
図3・使用フォントの情報 (pk フォントの場合)

一方,TrueType フォントが利用されている場合は 図4のように右端に WinAPI が表示されます.

図4・使用フォントの情報 (TrueType フォントの場合)
図4・使用フォントの情報 (TrueType フォントの場合)

BaKoMa TrueType フォントによる表示が成功することを確認したら,USB ドライブの usr\w32tex\share\texmf-dist\fonts\pk の中身は削除しても構いません. ただし,PostScript Type1 フォントと呼ばれるアウトラインフォント (TX フォントや PX フォント) を使った TeX 文書を dviout でプレビューする場合は,usr\w32tex\share\texmf-dist\fonts\pk\modeless に pk フォントが作成されてしまいます.

ちなみに,一時インストールされた BaKoMa TrueType フォントは他の Windows アプリケーションでも利用可能です. TeX の本文と図中の文字を統一したいような場合には,作図ソフトで文字入力する際に cmr10 などを選べばよいでしょう (EPS や PDF の図を作成する場合はフォントを埋め込むなどの設定作業が必要ですが). ただし,BaKoMa TrueType フォントには 140 ものフォントファイルが含まれており,TeX のフォント命名規則をある程度知っていないと,どのフォントを利用すればよいのかがわかりにくいことと思います.

フォント名の末尾の数字は,そのフォントのデザイン上の想定フォントサイズ (単位はポイント) を表します. つまり,6~8 くらいの数字は,縮小された場合に文字がつぶれて判読できなくなるようなことがないようにデザインされています. 17 のように大きな数字は,拡大された場合に線が太くなって紙面が濃くなりすぎたりしないようにデザインされています. 9~12 は,通常の文字サイズの場合に長い文字列が読みやすくなるようにデザインされています.

フォント名の前半のアルファベットは,そのフォントの種類 (厳密にはファミリ,シリーズ,シェイプ) を表します. とりあえず普通のローマン体は cmr,太字は cmbx,イタリック体は cmmi,サンセリフ体は cmss,タイプライタ体は cmtt であることを覚えておけば十分ではないでしょうか. それ以外はフォントの形を見て決めればよいでしょう. なお,数式のための記号フォントもあるので TeX 以外の使い道があるか不明なフォントも含まれています.

upTeX/upLaTeX を利用する場合の設定

注意: 現在の dviout for Windows は,upTeX/upLaTeX への対応において不完全な部分があります. 詳しくはTeX Wiki の dviout の項をご覧ください. upTeX/upLaTeX を本格的に使いたい場合は,PDF を出力して PDF ビューアでプレビューすることを推奨します.

TeX の組版において内部処理を Unicode で行う upTeX/upLaTeX は,機種依存文字 (環境依存文字) の制約から解放されるという大きなメリットを持っています (upTeX/upLaTeX の利用法 を参照). この upTeX/upLaTeX から出力された DVI ファイルを dviout でプレビューするためには,いくつかの設定を施す必要があります. 具体的な設定方法は,TeX Wiki の dviout の項で解説されており,次の 2 つを行えばよいようです:

dviout.par への項目追加
フォントファイルのキャッシュ用バッファをデフォルトの 400 KB から 800 KB (くらい) に拡大し,和文 TrueType フォントの位置調整を変更するため,dviout.par に次の 2 行を追加します(8 行目の vfn=' の前あたりがよいでしょう).
bf=0xc8000
Jgt=+
dviout の map ファイル ($user.map) への和文フォント対応情報追加
usr\dviout\map\$user.map をテキストエディタで開き,以下の4行を加えて上書き保存します (文字コードは「シフトJIS」にしましょう)※4
upjisr-h  "MS 明朝"       unicode
upjisr-v  "@MS 明朝"      unicode
upjisg-h  "MS ゴシック"   unicode
upjisg-v  "@MS ゴシック"  unicode

多重 TEXMF ツリーへの対応

W32TeX は多重 TEXMF ツリーに対応しており,標準的に含まれるファイルを usr\w32tex\share\texmf-dist ($TEXMF と表記) 以下に,ユーザが独自に作成したり追加するファイルを usr\w32tex\share\texmf-local ($TEXMF-local と表記) 以下に置くことが推奨されています. しかし,ポータブル化のための設定では,環境変数 TEXMFMAIN に $TEXMF へのパスしか登録していなかったため,$TEXMF-local 以下に新しいフォントを追加しても,dviout からは利用することができません. では,環境変数 TEXMFMAIN に $TEXMF と $TEXMF-local の両方へのパスを設定すればよいかと思われるかもしれませんが,残念ながらうまくいかず,それまで正常に表示できていた dvi ファイルでも 図1 のようなフォント生成に関するエラーが発生するようになってしまいます.

dviout を多重 TEXMF ツリーに対応させるには,コマンドライン引数を使って TEXROOT パラメータを設定する必要があるようです. そこで,必要な設定を自動で済ませ,dviout を起動する WSH スクリプトを作ってみました. せっかくですので,dviout 終了時にレジストリをクリーンアップする機能も搭載しています. テキストエディタで次のような WSH スクリプト wakedvi.vbs を作成し,PATH を通すフォルダ (U:\BINなど) に保存します (WSH について興味がある方は,こちら をご覧ください).

' dviout for Windows を起動
Option Explicit
Dim objWshShell,objFS,objEnv
Dim strDrv,strDviout,strTeX,strExec,strArg
Set objWshShell = WScript.CreateObject("WScript.Shell")
Set objFS = WScript.CreateObject("Scripting.FileSystemObject")
' カレントドライブを取得
strDrv = objFS.GetDriveName(WScript.ScriptFullName)
' パスを設定
strDviout = strDrv & "\usr\dviout"
strTeX = strDrv & "\usr\w32tex\share"
' 環境変数PATHの設定
Set objEnv = objWshShell.Environment("Process")
objEnv.Item("PATH") = strDviout & ";" _
  & objEnv.Item("PATH")
' 起動オプションを設定
strExec = strDviout & "\dviout.exe -TEXROOT=" & _
  strTeX & "\texmf-dist\fonts;" & _
  strTeX & "\texmf-local\fonts"
For Each strArg In WScript.Arguments
  strExec = strExec & " " & strArg
Next
objWshShell.Run strExec, , True
' レジストリのクリーンアップを行うかを問合せ -- [1]
Dim intRet
intRet = objWshShell.Popup("dviout関連のレジストリを削除しますか?", 0, "レジストリクリーンアップ", vbYesNo)
If intRet = vbNo Then
  WScript.Quit
End If
' dviout が作成するレジストリキー
Dim aryRKey,i
aryRKey = Array( _
  "HKCU\Software\SHIMA\DVIOUT\FILE\", _
  "HKCU\Software\SHIMA\DVIOUT\FIND\", _
  "HKCU\Software\SHIMA\DVIOUT\Settings\", _
  "HKCU\Software\SHIMA\DVIOUT\", _
  "HKCU\Software\SHIMA\")
On Error Resume Next
' レジストリキーの削除
For i=0 to uBound(aryRKey)
  If Not IsNull(objWshShell.RegRead( aryRKey(i) )) Then
    objWshShell.RegDelete( aryRKey(i) )
  End If
Next

それでは動作確認をしてみましょう. wakedvi.vbs を起動してみてください. dviout が起動されたら,[Option]-[Setup Parameter] とたどり,DVIOUT のプロパティを表示させ,[Font] タブをクリックします. 図5 のようなダイアログボックスが表示されるので,TEXROOT の設定項目が「U:\usr\w32tex\share\texm-dist\fonts;U:\usr\w32tex\share\texmf-local\fonts」のように設定されていることを確認し,[OK] をクリックします.

図5・dvioutのプロパティ-[Font]タブ
図5・dvioutのプロパティ - [Font] タブ
図6・レジストリクリーンアップの確認
図6・レジストリクリーンアップの確認

次に,[File]-[Open] から dvi ファイルを開き,正常に表示されるか確認してください. できれば,$TEXMF-local にインストールしたフォントを使っている dvi ファイルも開いてみるとよいでしょう.

dviout を終了させると,図6のダイアログボックスが表示されます. [はい] をクリックすると dviout が作成したレジストリキーが削除されます.

注意: ローカル PC に dviout がインストールされている環境で,[はい] をクリックしてレジストリキーを削除すると,ローカル PC 上の dviout の動作に不具合が発生するので注意してください. 誤って [はい] をクリックしてしまった場合は,ローカル PC 上の dviout を起動し,[Option]-[Install] から,改めて初期設定を行ってください.

図6で [いいえ] をクリックした場合はレジストリの削除は行われません. レジストリクリーンアップ処理は必要ではない (常に [いいえ] をクリックするつもりの) 方は,wakedvi.vbs のコメント部分に「-- [1]」が書いてある行以降をすべて削除してください.

ちなみに,wakedvi.vbs から dviout を起動する場合は,環境変数 TEXMFMAIN を参照しません. TEXMFMAIN は W32TeX の動作にも影響を与える環境変数ですので,texenv.vbs の環境変数 TEXMFMAIN を設定している命令は削除するか,先頭にアポストロフィ (') を付けてコメントアウトしておいた方が安全かもしれません.