USB メモリ活用講座
【PortableApps.com 版 Ghostscript のポータブル化】

< 最終更新日: 2023-12-07 >

Ghostscript Portable のインストールと動作確認

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

  1. PortableApps.com の Ghostscript Portable のアーカイブ (https://sourceforge.net/projects/portableapps/files/Ghostscript%20Portable/) から GhostscriptPortable_9.53.3.paf.exe (25.1MB) をローカルハードディスク (C:\temp など) へダウンロードします.
  2. ダウンロードした GhostscriptPortable_9.53.3.paf.exe を起動し,LibreOffice Portable と同じような順序で作業を進めると,U:\PortableApps\CommonFiles\Ghostscript 以下にファイルが展開されます. クラスタサイズ 4096 バイト (4K バイト) でフォーマットされた USB ドライブで,このフォルダのサイズは 70.8MB でした.
  3. SumatraPDF Portable をまだインストールしていなければ,PortableApps.com 版の SumatraPDF Portable に従ってインストールします.
  4. SumatraPDF Portable を起動し,U:\PortableApps\CommonFiles\Ghostscript\examples\tiger.eps を開きます. おなじみの「虎」の絵が表示されれば成功です.

cidfmap の生成と環境変数設定

ここでは和文 PS/EPS ファイルを Ghostscript Portable で扱うために必要な設定作業を解説します. それなりに手間がかかるため積極的にはおススメしません. PS/EPS ファイルではベクターグラフィックスと英数字が扱えれば十分という方は読み飛ばしてください.

日本語 Postscript プリンタでは,欧文用の基本 14 書体に加え,明朝体の Ryumin-Light およびゴシック体の GothicBBB-Medium の和文 2 書体のアウトラインフォントを内蔵しています※1. これらを利用する和文 PS/EPS ファイルを Ghostscript Portable で扱うためには,cidfmap を生成し,起動時に読み込むよう設定しなければなりません.

まず,Windows 標準の TrueType フォント (MS 明朝MS ゴシック) を代替フォントとする cidfmap を生成するには,コマンドラインから次のようにコマンドを実行します※2

U:\PortableApps\CommonFiles\Ghostscript\bin\gswin32c -q -dNOSAFER -dBATCH -sFONTDIR=c:/windows/fonts -sCIDFMAP=U:\PortableApps\CommonFiles\Ghostscript\cidfmap U:\PortableApps\CommonFiles\Ghostscript\lib\mkcidfm.ps Enter

長いコマンドですのでタイプミスしないよう注意してください (コピー&ペーストすると確実でしょうか). 正常に実行されると U:\PortableApps\CommonFiles\Ghostscript フォルダに cidfmap が出力されるはずです.

次に,Ghostscript が呼びだされるときに,この cidfmap を読み込むようにしなければなりません. そのためには,環境変数 GS_LIBcidfmap へのパスを設定するのが最も簡単と思われます※3. 純正の PortableApps.com Platform (PA-Platform) をランチャとして利用するならば,U: ドライブのルートディレクトリなどに次のようなバッチファイルを作成します. ファイル名は papps.bat とでもすればよいでしょう.

@echo off
setlocal
set _GSPATH=%~d0\PortableApps\CommonFiles\Ghostscript
set GS_LIB=%_GSPATH%
set PATH=%_GS_PATH%\bin;%_GS_PATH%\lib;%PATH%
%~d0\Start.exe
endlocal

バッチファイルを起動すると PA-Platform が立ち上がるので,メニューから SumatraPDF Portable を起動し,もよりの PS/EPS ファイルを開いて動作確認をしてください.

TeX ポータブル環境向けの追加設定

W32TeX ポータブル環境から,Ghostscript Portable を利用するには WSH スクリプト texenv.vbs を次のように変更すればよいでしょう. WSH スクリプトを保存するときには文字コード (エンコード) をシフト JIS (Shift_JIS) にする必要があるようです.

' TeX ポータブル環境設定 (PortableApps.com 版 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
' Ghostscriptへのパス設定 (存在チェックは省略)
strGSPath = strDrv & "\PortableApps\CommonFiles\Ghostscript"
If objFS.FolderExists(strGSPath)=0 Then
    WScript.Echo strGSPath & "が見つかりませんので終了します"
    WScript.Quit 0
End If
' 環境変数 PATH を設定
Set objEnv = objWshShell.Environment("Process")
objEnv.Item("PATH") = strTeXPath & "\bin;" _
 & strGSPath & "\bin;" _
 & strGSPath & "\lib;" _
 & objEnv.Item("PATH")
' 環境変数GS_LIBを設定
objEnv.Item("GS_LIB") = strGSPath
' コマンドプロンプトウィンドウを開く
objWshShell.Run "%COMSPEC%"

PortableApps.com の配布ソフトと Ghostscript Portable

SumatraPDF Portable の他にも,PortableApps.com で配布されているポータブルアプリケーションで Ghostscript のフロントエンド (PS/EPS ファイルのビューア) として利用可能なものと,注意点や制約事項をいくつか紹介します.

IrfanView Portable
画像ビューアである IrfanView Portable にはあらかじめ Postscript プラグインが含まれています. 和文 PS/EPS でなければ IrfanView Portable を直接起動して,ファイルを開くだけで表示できます. cidfmap の生成と環境変数設定を行えば,和文 PS/EPS ファイルも扱えます. 実は IrfanView Portable ならば,最新の Ghostscript 9.54.0 を組み合わせても問題は生じないようです.
Evince Portable
PDF ビューアである Evince Portable も PS/EPS ファイルを開くと,Ghostscript Portable を呼びだして表示できます. ただし,和文 PS/EPS ファイルは扱えないようで,画面右上に「読み込み中です (あるいは Loading...)」が表示されたままとなり,強制終了させるしかなくなります.
LibreOffice Portable
ドローソフトである LibreOffice Draw は,EPS 画像への変換 を行うことができますが,単体では EPS ファイルを開いて表示させることはできません. cidfmap の生成と環境変数設定を行い,環境変数 PATH に Ghostscript の実行ファイルへのパスを指定すれば,EPS ファイルを開いて表示させることができます. 最新の Ghostscript 9.54.0 を組み合わせても問題は生じないようです. ただし,PS ファイルを開こうとすると Writer が立ち上がり,画像ではなくソースコードが表示されます.
Inkscape Portable
Inkscape Portable もドローソフトで,PS/EPS ファイルを開くと,Ghostscript Portable を呼びだして表示できます. cidfmap の生成と環境変数設定を行えば,和文 PS/EPS ファイルも開けますが,書体が変わってしまうことがあるようです. 最新の Ghostscript 9.54.0 を組み合わせても問題は生じないようです.