はじめに
Windows 10 でインストール作業を行なうには,管理者 (Administrator) 権限を持つユーザで作業を行うとよいでしょう.
ここでは USB メモリを PC に挿入したときに,認識されるドライブレターが (U:
) であるものとし,このドライブのことを USB ドライブと呼びます.
今回は手動でファイルを展開 (解凍) する必要があります.
事前に W32TeX ポータブル化 でダウンロードした unzip.exe
を PATH
の通ったフォルダに入れておいてください.
準備が整ったら,角藤先生が配布してくださっている gs952w32full-gpl.exe
を次のサイトなどからローカルハードディスクの適切なフォルダ (C:\temp
など) にダウンロードしましょう.
- Ring Server 1, Ring Server 2, Ring Server 3, Ring Server 4
- 長岡高専学内 FTP サーバ (学内専用, Ring サーバのミラー)
オリジナル (英語版) の Ghostscript の方を使いたい人は,Ghostscript のダウンロードページ などから Ghostscript GPL Release (gs952w32.exe
) をダウンロードしましょう※1.
続いて GSview の最新版 gsv50w32.exe
を次のサイトなどからローカルハードディスクの適切なフォルダ (C:\temp
など) にダウンロードしましょう.
- GSview 5.0
- 長岡高専学内 FTP サーバの GSview (学内専用)
Ghostscript のローカル PC へのインストール
Ghostscript 9.52 の配布ファイルは実行形式 (.exe
) です※2.
このため,一旦ローカル PC にインストールして,必要なファイルを USB ドライブにコピーする方が確実です※3.
ローカル PC に日本語版 Ghostscript と GSview をインストールする方法については,愛知教育大・堀田先生のサイト に詳しい解説がありますので,事前に一通り眼を通しておくことを推奨します.
gs952w32full-gpl.exe
(英語版の場合はgs952w32.exe
) をダブルクリックすると,Ghostscript のインストーラが起動され,図1 の画面が表示されます. 英文の説明 (他のアプリケーションを閉じることを推奨することと,関連するシステムファイルが再起動不要でアップデートされるといったことが書いてあります) をざっと読んだら Next をクリックします.- 図2 の GPL ライセンス契約文書が表示されるので内容を一読して,同意できるならば I agree をクリックします. 同意できなければ Ghostscript を利用することはできません.
- 図3のインストール先フォルダ指定画面が表示されます.
デフォルトでは
C:\Program Files\gs\gs9.52
などのようになっているはずですが,1 バイト文字の空白が含まれるパスは,他のアプリケーションから Ghostscript を呼び出すような場合に不具合が発生する可能性があるので変更することを推奨します. たとえばC:\gs\gs9.52
と変更すればよいでしょう. ここで,画面下部の Space required の後の数値は,Ghostscript をインストールするために必要なディスクのアキ容量 (42.5MB, 英語版は51.0MB) を示しています. 設定および確認が済んだら Install をクリックします. なお,ここでインストール先として USB ドライブを指定すればよいのではないかと考える方もいると思います. しかし,Ghostscript のインストーラはスタートメニューにショートカットを登録したり,「プログラムと機能」にアンインストールのための情報を登録します. これらは USB ドライブを取り外すと無効となり,不具合が発生する可能性があるので,インストール先は必ずローカルドライブを指定しましょう. - しばらく待つとインストール終了画面 (図4) が表示されます.
2 つのチェックボックスがありますが,Generate cidfmap for Windows CJK TrueType fonts は,日本語・中国語・韓国語の文字を表示するために TrueType フォントの設定を行うためにオン (チェック付き) にしておくことを推奨します※4.
もう一つの Show Readme にチェックを付けておくと,英文の HTML ファイルが開かれます (実体は
C:\gs\gs9.52\doc\index.html
です). チェックボックスのオン/オフを設定したら,Finish ボタンをクリックします.
ローカル PC で Ghostscript を利用する場合は,この後環境変数 PATH
の最後に次の項目を追加します (先頭にパスの区切り文字としてのセミコロンがあることに注意してください).
;C:\gs\gs9.52\bin;C:\gs\gs9.52\lib
環境変数の設定法は OS によって異なりますので,OS 付属のヘルプファイルや Web の検索エンジンを利用して調べてみてください.
ローカル PC でも Ghostscript を活用するのであれば,GSview もインストールすることを推奨します (インストールは gsv50w32.exe
を起動し,ウィザードに答えていくだけですので,詳細は省略します).
Ghostscript & GSview のポータブル化
Ghostscript と GSview を USB ドライブの usr\GSview
フォルダにインストールすることにします.
別のフォルダにインストールしたい人は,適宜読み替えながら作業を進めてください.
- コマンドプロンプトを開き,USB ドライブの
usr
ディレクトリの下にGSview
フォルダを作成し,カレントディレクトリを移動します.U:Enter md \usr\GSview Enter cd \usr\GSview Enter
- ローカルにインストールした Ghostscript を USB ドライブにコピーします (インストール先が
C:\gs\gs9.52
でない場合は適宜置き換えてください).xcopy C:\gs\*.* . /D /S Enter
これで USB ドライブの\usr\GSview
にgs9.52
というフォルダがコピーされてきたはずです. gsv50w32.exe
を展開 (解凍) します (ダウンロードしたファイルがC:\temp
以外のフォルダに置いてある場合は,適宜置き換えてください).unzip C:\temp\gsv50w32.exe Enter
「'unzip
' は内部コマンドまたは外部コマンド (中略) として認識されていません」といった類のメッセージが表示されるようでしたら,unzip.exe
をダウンロードして,PATH
の通ったフォルダに入れるのを忘れていませんか?- 展開が終わったら,ポータブル化に必要のないファイルを削除します.
del gs9.52\gs952w32full-gpl.diff Enter del gs9.52\uninstgs.exe Enter del set*.* Enter del FILE_ID.DIZ Enter del filelist.txt Enter del gsview\uninstgs.exe Enter
- 警告:
この設定は,くれぐれも自己責任でお願いします.
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 10 ではデフォルトの Windows システムフォルダは C:\Windows
ですが,異なるドライブやフォルダに Windows がインストールされている場合には不具合が発生する可能性があります.
また,海外で現地の PC を利用する場合には MS 明朝
と MS ゴシック
が無く,和文が表示できないという可能性もあります.
そこで,IPA フォントの利用に従って cidfmap
の設定を行うことを推奨します (設定作業は次の動作確認が終わってからでもよいでしょう).
動作確認
それでは,動作確認を行いましょう.
- GSview フォルダの中にある
GSviewPortable.exe
を起動します. メニューの言語を選択するダイアログボックス (図5) が表示されますので,English をクリックします. - 続いて GSview Registration のダイアログボックス (図6) が表示されますので,OK をクリックすると GSview ポータブルが起動されます.
- GSview が起動されたら,Option をクリックし,表示されるメニュー項目 (図7) から
Safer
のチェックをオフにします※5. - GSview が起動されたら,Option-Advanced Configure から Advanced Configure ダイアログボックス (図8) を開き,
Ghostscript Include Path:
に次のように記入します (U:
はご自分の USB ドライブのドライブレターで置き換えてください):U:\usr\GSview\gs9.52\Resource\Init;U:\usr\GSview\gs9.52\Resource;U:\usr\GSview\gs9.52\lib;U:\usr\GSview\gs9.52\kanji
- さらに図8 の Advanced Configure ダイアログボックスの
Ghostscript Options:
に-dSAFER
を書き加え,OK ボタンをクリックします※5. - File-Openusr\GSview\gs9.52\examples の中にある
tiger.eps
を選択して,開く ボタンをクリックします. おなじみの「虎」の絵が表示されれば,第 1 段階は成功です. - 続いて,File-Open から
usr\GSview\gs9.52\kanji
の中にあるarticle9.ps
を選択して,開く ボタンをクリックします. 「日本国憲法第 9 条」の条文が縦書きで表示されれば,第 2 段階も成功です※6
この確認作業は,ローカル 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 ダイアログボックス (図8) の設定項目を,起動するたびにリセットしてしまうようです.
環境変数 GS_LIB
が正しく設定されていれば,この設定をしなくても正しく表示されますが,GSviewPortable.exe
をダブルクリックして起動するような使い方をしたい場合に,GSview が起動されてから毎回設定するのは煩雑です.
そこで,必要な設定を自動で済ませ,直接 GSview 本体をポータブル設定で起動してしまうスクリプトを作ってみました (少しアヤシイこともしています).
以下に従って作業を進めてください.
GSviewPortable.exe
は起動するたびにGSview\gsview
フォルダにあるgsview32.ini
を更新 (上書き) してしまいます. ここに設定を書いておいても読み込んでくれるわけではないようですし,必要のないファイルの読み書きは USB メモリの寿命も縮めるなど,心理的にもよくありませんので「読み取り専用」属性を設定してしまいましょう (動作に支障はないようです). コマンドプロンプトで行うのであれば,次のように入力します.U: Enter cd \GSview\gsview Enter attrib +R gsview32.ini Enter
- テキストエディタで次のような WSH スクリプト
wakegsv.vbs
を作成し,PATH を通すフォルダ (U:\BIN
など) に保存します (WSH について興味がある方は,こちら をご覧ください). なお,保存するときには文字コード (エンコード) をシフト JIS (Shift_JIS) にする必要があるようです.' WSH で gs9.52 の環境変数を設定して 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 & "bin;" _ & strGSPath & "\gs9.52\lib" _ & objEnv.Item("PATH") ' 環境変数GS_LIBを設定 objEnv.Item("GS_LIB") = strGSPath & "\gs9.52\Resource\Init;" _ & strGSPath & "\gs9.52\Resource;" _ & strGSPath & "\gs9.52\lib;" _ & strGSPath & "\gs9.52\kanji" ' 環境変数GS_OPTIONSを設定 (gs9.22以降非推奨だが必要に応じて-dWINKANJIを追加するとよい) objEnv.Item("GS_OPTIONS") = "-dSAFER" ' 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" ' [Option]-[Safer]をオフにする objWshShell.SendKeys "%pf~" ' [Option]-[EPS Clip]をオンにする objWshShell.SendKeys "%pC~" ' [Option]-[Show Bounding Box]をオンにする objWshShell.SendKeys "%px~" WScript.Quit
では,動作確認です.
wakegsv.vbs
を起動してみてください.
環境によっては 図5 の Select Language で引っかかって処理が停まることがあるかもしれませんが,その場合は手動で先へ進めてください.
GSview が起動されたら,tiger.eps
や article9.ps
などが無事開けるかを確認してください.
うまくいったら,コマンドプロンプトウィンドウから,次のような起動法も試してみてください.
wakegsv.vbs \usr\GSview\gs9.52\examples\golfer.eps Enter
女性のゴルファーのイラストが表示されれば成功です.
このように wakegsv.vbs
では,開きたい PS/EPS ファイルをコマンドライン引数に与えることもできます.
TeX 文書で PostScript や EPS,PDF 形式の画像を扱う場合は,TeX 実行環境から Ghostscript を呼びだせるようにする必要があります.
W32TeX のポータブル化のために作成した texenv.vbs
を編集し,wakegsv.vbs
を参考にして環境変数 PATH
,GS_LIB
などの設定を加えてみてください
(Ghostscript の別バージョン向けの解答例).
図6の GSview Registration に OK を自動応答してしまうのは,本当はあまりお勧めしたくはありませんが,WSH ではこんなこともできるというデモの意味も兼ねて公開します (気に入らない人は該当部分を削除してください). 自動応答を使い続ける人も,このように便利なソフトウェアを無償で提供してくださっている開発チームの皆さんへの感謝は,常に忘れないようにしましょう.
IPA フォントの利用
IPA フォントについての詳細については,フォントインストーラー SAKURA の IPA フォントの項を参照してください.
ここでは,IPAex 明朝と IPAex ゴシックが U:\usr\w32tex\share\texmf-dist\fonts\truetype\ipa
にあるものとします※7.
まず,wakegsv.vbs
をテキストエディタで編集し,環境変数 GS_LIB
の設定 (21~25 行目) を次のように書き換え (下 2 行が変更部分),上書き保存します※8:
' 環境変数GS_LIBを設定
objEnv.Item("GS_LIB") = strGSPath & "\gs9.52\Resource\Init;" _
& strGSPath & "\gs9.52\Resource;" _
& strGSPath & "\gs9.52\lib;" _
& strGSPath & "\gs9.52\kanji;" _
& strDrv & "\usr\w32tex\share\texmf-dist\fonts\truetype"
次に GSview\gs9.52\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 (ipa/ipaexm.ttf) >> ;
/IPAGothic << /FileType /TrueType /CSI [(Japan1) 6] /Path (ipa/ipaexg.ttf) >> ;
ちなみに,IPA フォントは Ver.1 は TrueType Font,Ver.2 は OpenType Font,Ver.3 は TrueType Font にファイル形式が変更されています. cidfmap の最後の 2 行は,実際に使うフォントに合わせてパスや拡張子を設定してください.
和文の縦書き文書で,文字の位置がズレていたり,正しい文字が表示されていないと感じる場合は,GSview の Advanced Configure ダイアログボックス (図8) を開き,Ghostscript Options
に -dWINKANJI
を加えて OK をクリックし,ファイルを開きなおしてみてください※5.
常に -dWINKANJI
を有効にしたければ,wakegsv.vbs
の 27 行目の GS_OPTIONS
の設定に -dWINKANJI
を加えればよいでしょう.
Ghostscript の設定法や利用法,cidfmap
の記述例については,TeX Wiki>Ghostscript で詳しく解説されています.
また,英文ですが usr\GSview\gs9.52\doc
にある HTML ファイル群にも詳細な説明があります (index.html
や Use.htm
から読み始めるとよいでしょう).
ここの説明で不十分と感じる方は,ぜひ参照してください.
【追記】GSview の老朽化問題
Ghostscript 9.53.2 付属のドキュメントに含まれる History of Ghostscript Version 9.xx (doc\History9.htm
,英文) から,次のようなことが読み取れます:
- Ghostscript 9.53 以降ではセキュリティに関する問題の取り扱いを容易にするために,バージョン番号にパッチレベルを加えることになった※9.
- GSview 5.0 から呼びだすことができる Ghostscript のバージョンは 704 から 999 の範囲に決め打ちされているため,Ghostscript 9.53.3 は利用できない (GSview のバージョンチェックに対して範囲外の 9533 となってしまう).
実際に Ghostscript 9.53.2 と GSview 5.0 を組み合わせたポータブル環境で,GSview (GSviewPortable.exe
)を起動すると,言語の選択 (図5) の直後に図9 のように,GSview 5.0 から利用可能な Ghostscript が見つからないため,ダウンロードをうながすダイアログボックスが表示されてしまいます.
図9 では Cancel をクリックすればダウンロードを回避できます. しかしその後で 図8 のAdvanced Configure ダイアログボックスを開いて手動設定を行っても,PostScript ファイルを開こうとしたとたん,図10 のように,決め打ちされているバージョン範囲 (704-999) ではない誤ったバージョン (9532) の DLL が見つかったというエラーメッセージが表示されてしまいます.
GSview 5.0 は,Windows 8 が発売された 2012 年にリリースされて以来 8 年以上に渡り開発がとまっています. メニュー等の日本語表示には対応していないにも関わらず,長きにわたり Ghostscript のフロントエンドとして定番ソフトウェアとして利用されてきましたが,さすがにこれ以上引き伸ばすのは難しそうです. 「GSview でなければできないことがある」という方は,セキュリティのリスクを十分に理解したうえで Ghostscript 9.52 以前と併用するか,ソースコードに手を加えて自前でビルドするしかありませんが,「PostScript ファイルが印刷/表示できればよい」のであれば,フロントエンドを SumatraPDF などに切り替えることを考えましょう.