USB メモリ活用講座
【実践編・Ghostscript&GSview ポータブル化】

< 最終更新日: 2017-06-28 >

はじめに

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

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

今回は手動で zip ファイルを展開 (解凍) する必要があります. 事前に W32TeX ポータブル化 でダウンロードした unzip.exe を PATH の通ったフォルダに入れておいてください.

準備が整ったら,角藤先生が配布してくださっている gs921w32full-gpl.exe を次のサイトなどからローカルハードディスク (C:やD:) の適切なフォルダ (C:\tempなど) にダウンロードしましょう.

オリジナル (英語版) の Ghostscript の方を使いたい人は,Ghostscript のダウンロードページ などから Ghostscript GPL Release (gs921w32.exe) をダウンロードしましょう.

続いて GSview の最新版 gsv50w32.exe を次のサイトなどからローカルハードディスク (C: や D:) の適切なフォルダ (C:\temp など) にダウンロードしましょう.

Ghostscript のローカル PC へのインストール

最新の Ghostscript は配布ファイルが実行形式 (.exe) になり,unzip では展開できなくなりました. このため,一旦ローカル PC にインストールして,必要なファイルを USB ドライブにコピーする必要があります. もし,何らかの理由によって最新の Ghostscript 9.21 をローカル PC にインストールすることができず,直接 USB メモリに Ghostscript と GSview をインストールしたいという方は,旧バージョンの Ghostscript 9.04 を利用するとよいでしょう. 具体的なインストール方法は Ghostscript 9.04&GSview 5.0 ポータブル化をご覧ください.

ローカル PC に日本語版 Ghostscript と GSview をインストールする方法については,愛知教育大・堀田先生のサイト に詳しい解説がありますので,事前に一通り眼を通しておくことを推奨します.

  1. gs921w32full-gpl.exe (英語版の場合は gs921w32.exe) をダブルクリックすると,Ghostscript のインストーラが起動され,図1の画面が表示されます. 英文の説明 (他のアプリケーションを閉じることを推奨することと,関連するシステムファイルが再起動不要でアップデートされるといったことが書いてあります) をざっと読んだら [Next] をクリックします.
    図1・Ghostscript のインストール(1)
    図1・Ghostscript のインストール(1)
  2. 図2 の GPL ライセンス契約文書が表示されるので内容を一読して,同意できるならば [I agree] をクリックします. 同意できなければ Ghostscript を利用することはできません.
    図2・Ghostscript のインストール(2)
    図2・Ghostscript のインストール(2)
  3. 図3のインストール先フォルダ指定画面が表示されます. デフォルトでは "C:\Program Files\gs\gs9.21" などのようになっているはずですが,1 バイト文字の空白が含まれるパスは,他のアプリケーションから Ghostscript を呼び出すような場合に不具合が発生する可能性があるので変更することを推奨します. たとえば c:\gs\gs9.21 と変更すればよいでしょう. ここで,画面下部の Space required の後の数値は,Ghostscript をインストールするために必要なディスクのアキ容量 (43.4MB, 英語版は37.1MB) を示しています. 設定および確認が済んだら [Install] をクリックします. なお,ここでインストール先として USB ドライブを指定すればよいのではないかと考える方もいると思います. しかし,Ghostscript のインストーラはスタートメニューにショートカットを登録したり,コントロールパネルの「プログラムの追加と削除」(Windows 7 では「プログラムのアンインストール」,Windows 10 では「プログラムと機能」) にアンインストールのための情報を登録します. これらは USB ドライブを取り外すと無効となり不具合が発生する可能性があるので,インストール先は必ずローカルドライブを指定しましょう.
    図3・Ghostscript のインストール(3)
    図3・Ghostscript のインストール(3)
  4. しばらく待つとインストール終了画面 (図4) が表示されます. 2 つのチェックボックスがありますが,Generate cidfmap for Windows CJK TrueType fonts は,日本語・中国語・韓国語の文字を表示するために TrueType フォントの設定を行うためにオン (チェック付き) にしておくことを推奨します. もう一つの Show Readme にチェックを付けておくと,英文の HTML ファイルが開かれます (実体は c:\gs\gs9.21\doc\index.html です). チェックボックスのオン/オフを設定したら,[Finish] ボタンをクリックします.
    図4・Ghostscript のインストール(4)
    図4・Ghostscript のインストール(4)

ローカル PC で Ghostscript を利用する場合は,この後環境変数 PATH の最後に次の項目を追加します (先頭にパスの区切り文字としてのセミコロンがあることに注意してください).

;c:\gs\gs9.21\bin;c:\gs\gs9.21\lib

環境変数の設定法は OS によって異なりますので,OS 付属のヘルプファイルや Web の検索エンジンを利用して調べてみてください.

ローカル PC でも Ghostscript を活用するのであれば,GSview もインストールすることを強く推奨します (インストールは gsv50w32.exe を起動し,ウィザードに答えていくだけですので,詳細は省略します).

Ghostscript&GSview のポータブル化

Ghostscript と GSview を USB ドライブの usr\GSview フォルダにインストールすることにします. 別のフォルダにインストールしたい人は,適宜読み替えながら作業を進めてください.

  1. USB ドライブの usr ディレクトリの下に GSview フォルダを作成し,カレントディレクトリを移動します.
    md \usr\GSview[Enter]
    cd \usr\GSview[Enter]
    
  2. ローカルにインストールした Ghostscript を USB ドライブにコピーします (インストール先が c:\gs\gs9.21 でない場合は適宜置き換えてください).
    xcopy c:\gs\*.* . /D /S
    
    これで USB ドライブの \usr\GSview に gs9.21 というフォルダがコピーされてきたはずです.
  3. gsv50w32.exe を展開 (解凍) します (ダウンロードしたファイルが c:\temp 以外のフォルダに置いてある場合は,適宜置き換えてください).
    unzip c:\temp\gsv50w32.exe[Enter]
    
    「'unzip' は内部コマンドまたは外部コマンド (中略) として認識されていません」といった類のメッセージが表示されるようでしたら,unzip.exe をダウンロードして,PATH の通ったフォルダに入れるのを忘れていませんか?
  4. 展開が終わったら,ポータブル化に必要のないファイルを削除します.
    del gs9.21\gs921w32full-gpl.diff[Enter]
    del gs9.21\uninstgs.exe[Enter]
    del set*.*[Enter]
    del FILE_ID.DIZ[Enter]
    del filelist.txt[Enter]
    del gsview\uninstgs.exe[Enter]
    
  5. 警告: この設定は,くれぐれも自己責任でお願いします. GSview は英語,ドイツ語,フランス語,イタリア語など合計 11 ヵ国の言語からメニュー表示の言語を選択できます (残念ながら日本語はありません). ここでは,英語に決め打ちしてほかの言語は選ばない設定にすることで,ディスク使用量を (ほんの 2MB ほどですが) 減らし,起動もシンプルにしてみようと思います. では,GSview\gsview ディレクトリに移動して,10 個ある gsvw32*.dll をすべて削除してください. 次に,11 個ある gsview??.chm ファイルのうち gsviewen.chm だけを残して,その他を削除してください (あえてコマンドは書きません).

ローカル PC へのインストールにおいて Generate cidfmap for Windows CJK TrueType fonts (図4) にチェックを付けていれば,そのローカル PC の Windows システムフォルダとシステムフォントに合わせて適切な cidfmap が作成されているはずです. 厳密には USB ドライブを挿入して環境設定を行う (texenv.vbs を起動する) ときに cidfmap を再生成する必要があります. さもないと,他の PC で Windows システムフォルダやシステムフォントの構成が異なっていた場合に,和文フォント (Ryumin-Light や GothicBBB-Medium) を使う PS/EPS ファイルの和文が表示されなくなります. たとえば Windows Vista/7/8/8.1/10 ではデフォルトの Windows システムフォルダは C:\Windows ですが,異なるドライブやフォルダに Windows がインストールされている場合には不具合が発生する可能性があります. また,海外で現地の PC を利用する場合には「MS 明朝」と「MS ゴシック」が無く,和文が表示できないという可能性もあります.

そこで,USB メモリの空き容量が心配でない限りは IPA フォントの利用に従って cidfmap の設定を行うことを推奨します (設定作業は次の動作確認が終わってからでもよいでしょう).

動作確認

それでは,動作確認を行いましょう.

  1. GSview フォルダの中にある GSviewPortable.exe を起動します. メニューの言語を選択するダイアログボックス (図5) が表示されますので,[English] をクリックします.
    図5・言語選択ダイアログボックス(英語以外の言語を削除した場合)
    図5・言語選択ダイアログボックス (英語以外の言語を削除した場合)
  2. 続いて GSview Registration のダイアログボックス (図6) が表示されますので,[OK] をクリックすると GSview ポータブルが起動されます.
    図6・GSview Registrationダイアログボックス
    図6・GSview Registration ダイアログボックス
  3. GSview が起動されたら,[Option]-[Advanced Configure] から Advanced Configure ダイアログボックス (図7) を開き,Ghostscript Include Path: に次のように記入し,[OK] ボタンをクリックします (U: はご自分の USB ドライブのドライブレターで置き換えてください):
    U:\usr\GSview\gs9.21\Resource\Init;U:\usr\GSview\gs9.21\Resource;U:\usr\GSview\gs9.21\lib;U:\usr\GSview\gs9.21\kanji
    
    図7・Advanced Configureダイアログボックス
    図7・Advanced Configure ダイアログボックス
  4. [File]-[Open] から usr\GSview\gs9.21\examples の中にある tiger.eps を選択して,[開く] ボタンをクリックします. おなじみの「虎」の絵が表示されれば,第 1 段階は成功です.
  5. 続いて,[File]-[Open] から usr\GSview\gs9.21\kanji の中にある article9.ps を選択して,[開く] ボタンをクリックします. 「日本国憲法第 9 条」の条文が縦書きで表示されれば,第 2 段階も成功です (縦書きの文字が重なったり,句読点の位置が不自然に見えるかもしれませんが,日本語版 Ghostscript をインストールしたのであれば [Options]-[Advanced Configure] の Ghostscript Options に「-dWINKANJI」を加えると改善されるはずです).

この確認作業は,ローカル PC に Ghostscript がインストールされていない環境でも行うことを強く推奨します. これを怠ると,肝心の場面で正常に動作してくれずに原因究明に手間取る可能性があります.

EPS ファイル向けの推奨設定

GSview で EPS (Encapslated PostScript) ファイルをよく開くという方は,メニューバーの [Options] から次の 2 項目をチェック (設定)しておくことを推奨します.

EPS Clip
表示内容を,EPS ファイルに記述されている BowndingBox 内部に限定します. チェックしないと [Media] で指定されたページサイズ (デフォルトは A4) の用紙の左下を基準とする位置で描画されるため,ウィンドウをスクロールしないと描画結果が確認できないことがあります.
Show BowndingBox
EPS ファイルに記述されている BowndingBox に合わせて点線の長方形を重ねがきします. TeX 文書に EPS の図を挿入したときに,図の周囲にどれくらい余白が入るかの目安が確認できます (厳密には TeX の組版処理時にフロート周りの余白が追加されますが).

その他の [Options] の設定項目については,[Help] - Contents から開かれる GSview の Help ファイルで調べるとよいでしょう (英文ですが).

GSview 起動スクリプト作成

現在の GSviewPortable.exe は [Option]-[Advanced Configure] から表示される Advanced Configure ダイアログボックス (図7) の設定項目を,起動するたびにリセットしてしまうようです. 環境変数 GS_LIB が正しく設定されていれば,この設定をしなくても正しく表示されますが,GSviewPortable.exe をダブルクリックして起動するような使い方をしたい場合に,GSview が起動されてから毎回設定するのは煩雑です. そこで,必要な設定を自動で済ませ,直接 GSview 本体をポータブル設定で起動してしまうスクリプトを作ってみました (少しアヤシイこともしています). 以下に従って作業を進めてください.

  1. GSviewPortable.exe は起動するたびに GSview\gsview フォルダにある gsview32.ini を更新 (上書き) してしまいます. ここに設定を書いておいても読んでくれるわけではないようですし,必要のないファイルの読み書きは USB メモリの寿命も縮めるなど心理的にもよくありませんので,「読み取り専用」属性を設定してしまいましょう (動作に支障はないようです). コマンドプロンプトで行うのであれば,次のように入力します.
    cd \GSview\gsview[Enter]
    attrib +R gsview32.ini[Enter]
    
  2. テキストエディタで次のような WSH スクリプト wakegsv.vbs を作成し,PATH を通すフォルダ (U:\BINなど) に保存します (WSH について興味がある方は,こちら をご覧ください).
    ' WSH で gs9.21 の環境変数を設定して GSview を直接起動
    Option Explicit
    Dim objWshShell,objFS,objEnv
    Dim strDrv,strGSPath,strExec,strArg
    Set objWshShell = WScript.CreateObject("WScript.Shell")
    Set objFS = WScript.CreateObject("Scripting.FileSystemObject")
    ' カレントドライブを取得
    strDrv = objFS.GetDriveName(WScript.ScriptFullName)
    ' GSView フォルダが存在するかをチェック
    strGSPath = strDrv & "\usr\GSView"
    If objFS.FolderExists(strGSPath)=0 Then
        WScript.Echo strGSPath & "が見つかりませんので終了します"
        WScript.Quit 0
    End If
    ' 環境変数PATHの設定
    Set objEnv = objWshShell.Environment("Process")
    objEnv.Item("PATH") = strGSPath & ";" _
      & strGSPath & "\gs9.21\bin;" _
      & strGSPath & "\gs9.21\lib" _
      & objEnv.Item("PATH")
    ' 環境変数GS_LIBを設定
    objEnv.Item("GS_LIB") = strGSPath & "\gs9.21\Resource\Init;" _
      & strGSPath & "\gs9.21\Resource;" _
      & strGSPath & "\gs9.21\lib;" _
      & strGSPath & "\gs9.21\kanji"
    ' 環境変数GS_OPTIONSを設定
    objEnv.Item("GS_OPTIONS") = "-dWINKANJI"
    ' GSviewの起動オプションを設定(-aはportableモードで起動)
    strExec = strGSPath & "\GSView\gsview32.exe -a"
    For Each strArg In WScript.Arguments
      strExec = strExec & " " & strArg
    Next
    objWshShell.Run strExec
    ' 以下は気に入らなければ削除してください
    ' Select Languageダイアログボックスでdefault(English)を選択
    Do Until objWshShell.AppActivate("Select Language")
      WScript.Sleep 1000
    Loop
    objWshShell.SendKeys " "
    ' GSview RegistrationダイアログボックスでOKを選択
    Do Until objWshShell.AppActivate("GSview Registration")
      WScript.Sleep 1000
    Loop
    objWshShell.SendKeys "%O"
    WScript.Quit
    

では,動作確認です. wakegsv.vbs を起動してみてください. 環境によっては 図5Select Language で引っかかって処理が停まることがあるかもしれませんが,その場合は手動で先へ進めてください. GSview が起動されたら,tiger.eps や article9.ps などが無事開けるかを確認してください. うまくいったら,コマンドプロンプトウィンドウから,次のような起動法も試してみてください.

wakegsv.vbs \usr\GSview\gs9.21\examples\golfer.eps[Enter]

女性のゴルファーのイラストが表示されれば成功です. このように wakegsv.vbs では,開きたい PS/EPS/PDF ファイルをコマンドライン引数に与えることもできます.

図6GSview Registration に [OK] を自動応答してしまうのは本当はあまりお勧めしたくはありませんが,WSH ではこんなこともできるというデモの意味も兼ねて公開します (気に入らない人は該当部分を削除してください). 自動応答を使い続ける人も,このように便利なソフトウェアを無償で提供してくださっている開発チームの皆さんへの感謝は,常に忘れないようにしましょう. 財布の中身に余裕がある人は,GSview への Registration を考えてもよいでしょう.

IPA フォントの利用

IPA フォントについての詳細や,USB メモリへのインストールについては,フォントインストーラー SAKURA の IPA フォントの項に従ってください. 以下では,IPAex 明朝と IPAex ゴシックが USB ドライブ (U:) の \Resource\fonts\IPAfont にインストールされているものとします.

まず,wakegsv.vbs をテキストエディタで編集し,環境変数 GS_LIB の設定 (22~25 行目) の後に次のような記述を追加し,上書き保存します:

' 環境変数GS_FONTPATHを設定
objEnv.Item("GS_FONTPATH") = strDrv & "\Resource\fonts"

次に GSview\gs9.21\lib にある cidfmap をテキストエディタで編集します. 既存の記述をすべて削除して,次のように書けばよいでしょう (既存の cidfmap を cidfmap.win のような別名にコピーしてから編集すると安心でしょう).

% Aliases
/Ryumin-Light /IPAMincho ;
/GothicBBB-Medium /IPAGothic ;
/HeiseiKakuGo-W5 /IPAMincho ;
/HeiseiMin-W3 /IPAMincho ;
/Ryumin-Medium /IPAMincho ;
%
%%% IPA Fonts
/IPAMincho  << /FileType /TrueType  /CSI [(Japan1) 6]  /Path (IPAfont/ipaexm.ttf) >> ;
/IPAGothic  << /FileType /TrueType  /CSI [(Japan1) 6]  /Path (IPAfont/ipaexg.ttf) >> ;

ちなみに,IPA フォントは Ver.1 は TrueType Font,Ver.2 は OpenType Font,Ver.3 は TrueType Font にファイル形式が変更されています. cidfmap の最後の 2 行は,実際に使うフォントに合わせてパスや拡張子を設定してください.

Ghostscript の設定法や利用法,cidfmap の記述例については,TeX Wiki で詳しく解説されていますので,ここの説明で不十分と感じる方は,ぜひ参照してください.