Ghostscript 9.04 & GSview 5.0 のポータブル化
ここでは USB メモリを PC に挿入したときに,認識されるドライブレターが (U:
) であるものとし,このドライブのことを USB ドライブと呼びます.
手動で zip ファイルを展開 (解凍) する必要がありますので,事前に W32TeX ポータブル化 でダウンロードした unzip.exe
を PATH
の通ったフォルダに入れておいてください.
まず,gs904w32full-gpl.zip
,および gsv50w32.exe
をローカルハードディスクの適切なフォルダ (C:\temp
など) にダウンロードしましょう
(配布元についてはGhostscript & GSview ポータブル化の説明を参考にしてください).
次に,Ghostscript と GSview を USB ドライブの usr\GSview
フォルダにインストールすることにします.
別のフォルダにインストールしたい人は,適宜読み替えながら作業を進めてください.
- USB ドライブの usr ディレクトリの下に
GSview
フォルダを作成し,カレントディレクトリを移動します.md \usr\GSview Enter cd \usr\GSview Enter
gs904w32full-gpl.zip
を展開します (ダウンロードしたファイルがC:\temp
以外のフォルダに置いてある場合は,適宜置き換えてください).unzip C:\temp\gs904w32full-gpl.zip Enter
「'unzip
'は内部コマンドまたは外部コマンド(中略)として認識されていません」といった類のメッセージが表示されるようでしたら,unzip.exe
をダウンロードして,PATH
の通ったフォルダに入れるのを忘れていませんか?gsv50w32.exe
を展開します (ダウンロードしたファイルがC:\temp
以外のフォルダに置いてある場合は,適宜置き換えてください).unzip C:\temp\gsv50w32.exe Enter
途中で次のようなメッセージが表示され,展開が一旦停止されます.replace filelist.txt? [y]es, [n]o, [A]ll, [N]one, [r]ename:
ここでは,gs904w32full-gpl.zip
にも含まれていたfilelist.txt
を置き換えるかが尋ねられています.[
]
の中のアルファベットのキーで動作が選択できますので,y キーをタイプしてください.- 展開が終わったら,ポータブル化に必要のないファイルを削除します.
del gs904w32full-gpl.diff Enter del set*.* Enter del FILE_ID.DIZ Enter del filelist.txt Enter del un*.exe Enter
- CID フォントの設定ファイル
cidfmap
の作成を行います. あるいは IPA フォントの利用 に従って設定作業をします.cd gs9.04\lib Enter ren cidfmap cidfmap.org Enter set GS_LIB=\usr\GSview\gs9.04\Resource\Init;\usr\GSview\gs9.04\Resource;\usr\GSview\gs9.04\lib;\usr\GSview\gs9.04\kanji Enter ..\bin\gswin32c -q -dBATCH -sFONTDIR=c:/windows/fonts -sCIDFMAP=cidfmap mkcidfm.ps Enter
IPA フォントの利用 をしないのであれば,厳密には USB ドライブを挿入して環境設定を行う (texenv.vbs
を起動する) ときに,その PC の Windows システムフォルダとシステムフォントに合わせてこの処理を行うべきです. Windows 2000 のようにデフォルトのシステムフォルダがC:\WINNT
である場合や,「MS 明朝」と「MS ゴシック」の TrueType フォントがC:\Windows\Fonts
に入っていない場合には,和文フォント (Ryumin-Light
やGothicBBB-Medium
) を使う PS/EPS ファイルの和文が表示されなくなります. とはいえ,Windows XP/Vista/7/8/10 ではデフォルトのシステムフォルダ (C:\Windows
) 以外が使われることも,「MS 明朝」と「MS ゴシック」が見つからないこともほとんどないだろうと思いますので,1 回だけ実行しておけば十分と思います. - 警告:
この設定は,くれぐれも自己責任でお願いします.
GSview は英語,ドイツ語,フランス語,イタリア語など合計 11 ヵ国の言語からメニュー表示の言語を選択できます (残念ながら日本語はありません).
ここでは,英語に決め打ちしてほかの言語は選ばない設定にすることで,ディスク使用量を (ほんの 2MB ほどですが) 減らし,起動もシンプルにしてみようと思います.
では,
U:\GSview\gsview
ディレクトリに移動して,10 個あるgsvw32*.dll
をすべて削除してください. 次に,11 個あるgsview??.chm
ファイルのうちgsviewen.chm
だけを残して,その他を削除してください (あえてコマンドは書きません).
インストールが済んだら,Ghostscript & GSview ポータブル化の動作確認 と同様の確認作業をしておきましょう.
GSview 起動スクリプト作成
現在の GSviewPortable.exe
は Option-Advanced Configure から表示される Advanced Configure ダイアログボックスの設定項目を,起動するたびにリセットしてしまうようです.
環境変数 GS_LIB
が正しく設定されていれば,この設定をしなくても正しく表示されますが,GSviewPortable.exe
をダブルクリックして起動するような使い方をしたい場合に,GSview が起動されてから毎回設定するのは煩雑です.
そこで,必要な設定を自動で済ませ,直接 GSview 本体をポータブル設定で起動してしまうスクリプトを作ってみました (少しアヤシイこともしています).
以下に従って作業を進めてください.
GSviewPortable.exe
は起動するたびにGSview\gsview
フォルダにあるgsview32.ini
を更新 (上書き) してしまいます. ここに設定を書いておいても読んでくれるわけではないようですし,必要のないファイルの読み書きは USB メモリの寿命も縮めるなど心理的にもよくありませんので,「読み取り専用」属性を設定してしまいます (動作に支障はないようです). コマンドプロンプトで行うのであれば,次のように入力します.cd \GSview\gsview Enter attrib +R gsview32.ini Enter
- テキストエディタで次のような WSH スクリプト
wakegsv.vbs
を作成し,PATH
を通すフォルダ (U:\bin
など) に保存します.' WSH で gs9.04 の環境変数を設定して 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.04\bin;" _ & strGSPath & "\gs9.04\lib" _ & objEnv.Item("PATH") ' 環境変数GS_LIBを設定 objEnv.Item("GS_LIB") = strGSPath & "\gs9.04\Resource\Init;" _ & strGSPath & "\gs9.04\Resource;" _ & strGSPath & "\gs9.04\lib;" _ & strGSPath & "\gs9.04\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
を起動してみてください.
環境によっては Select Language ダイアログボックスで引っかかって処理が停まることがあるかもしれませんが,その場合は手動で先へ進めてください.
GSview が起動されたら,tiger.eps
や article9.ps
などが無事開けるかを確認してください.
うまくいったら,コマンドプロンプトウィンドウから,次のような起動法も試してみてください.
wakegsv.vbs \usr\GSview\gs9.04\examples\golfer.eps Enter
女性のゴルファーのイラストが表示されれば成功です.
このように wakegsv.vbs
では,開きたい PS/EPS/PDF ファイルをコマンドライン引数に与えることもできます.
GSview Registration ダイアログボックスに OK を自動応答してしまうのは,本当はあまりお勧めしたくはありませんが,WSHではこんなこともできるというデモの意味も兼ねて公開します (気に入らない人は該当部分を削除してください). 自動応答を使い続ける人も,このように便利なソフトウェアを無償で提供してくださっている開発チームの皆さんへの感謝は,常に忘れないようにしましょう.
IPA フォントの利用
IPA フォントについての詳細や,USB メモリへのインストールについては,フォントインストーラー SAKURA の IPA フォントの項に従ってください.
ここでは,IPAex 明朝と IPAex ゴシックが U:\usr\w32tex\share\texmf-dist\fonts\truetype\ipa
にあるものとします※1.
まず,wakegsv.vbs
をテキストエディタで編集し,環境変数 GS_LIB
の設定 (21~25 行目) を次のように書き換え (下 2 行が変更部分),上書き保存します※2:
' 環境変数GS_LIBを設定
objEnv.Item("GS_LIB") = strGSPath & "\gs9.04\Resource\Init;" _
& strGSPath & "\gs9.04\Resource;" _
& strGSPath & "\gs9.04\lib;" _
& strGSPath & "\gs9.04\kanji;" _
& strDrv & "\usr\w32tex\share\texmf-dist\fonts\truetype"
次に GSview\gs9.04\lib
にある cidfmap
をテキストエディタで編集します.
おおむね最新の Ghostscript 向けの cidfmap
と同じ内容を書けばよいでしょう (cidfmapの作成 を済ませてしまった人は,自動的に作成された cidfmap
を cidfmap.win
のような別名にしておき,保存しておいたオリジナル cidfmap.org
を cidfmap
に上書きコピーしてから編集するとよいでしょう).