サイト閉鎖に係る後処理(Ghostscript)

Homebrew で Ghostscript をインストールする方法をまとめておきます。

公式サイト(homebrew-core)の ghostscript バイナリは X11 への出力ができませんので、ソースからインストールしなければなりません。

1 まず、設計図 ghostscript.rb を修正します。

深いところにあるファイル /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/ghostscript.rb を適当なエディタで開くと、42 行目あたりに、--without-x11 があると思いますので、この 1 行を以下の 4 行に差し替えます。

--with-x
--with-drivers=FILES,X11
--x-includes=/opt/X11/include
--x-libraries=/opt/X11/lib

このうち、--with-drivers=FILES,X11 は不要かもしれません。なお、ターミナルで、

brew edit ghostscript

を実行すると、Vim で ghostscript.rb 開いて、編集できるようです。

2 上記で修正した ghostscript.rb を使ってインストールします。

brew install --build-from-source --env=std ghostscript

すでに ghostscript をインストールしてある場合は、install の代わりに reinstall とすればよいようです。なお、

brew uninstall --ignore-dependencies ghostscript

とすれば、アンインストールできます。

3 日本語に対応させるための設定をします。

Homebrew が管理するファイル・フォルダーにはなるべく手をつけない方が良いと思いますので、まず、フォント(へのリンク等)を入れておくためのフォルダーを何処かに用意します。どこでもよさそうですので、~/Library/ghostscript/Resource としておきます。ここに、3 個のフォルダー CIDFont、CMap、Font を用意します。

~/Library/ghostscript/Resource/CIDFont
~/Library/ghostscript/Resource/CMap
~/Library/ghostscript/Resource/Font

CIDFont にはフォントへのリンクを張ります。最近の macOS なら凸版文久 3 書体と游ゴシック 2 書体になると思います。游ゴシックについては、ファイル名が YuGothic-Medium.otf 及び YuGothic-Bold.otf であるにもかかわらず、PostScript 名である YuGo-Medium 及び YuGo-Bold という名称でリンクを張らなければならない点に注意が必要です。

ファイル名 リンク名(PostScript 名)
ToppanBunkyuMinchoPr6N-Regular.otf ToppanBunkyuMinchoPr6N-Regular
ToppanBunkyuMidashiMinchoStdN-ExtraBold.otf ToppanBunkyuMidashiMinchoStdN-ExtraBold
YuGothic-Medium.otf YuGo-Medium
YuGothic-Bold.otf YuGo-Bold
ToppanBunkyuMidashiGothicStdN-ExtraBold.otf ToppanBunkyuMidashiGothicStdN-ExtraBold

CMap は Ghostscript に付属のもの(/usr/local/Cellar/ghostscript/9.50/share/ghostscript/9.50/Resource/CMap)へのリンクです。ただし、滅多に更新されることはありませんので、そっくりそのままコピーしてしまった方がよいかもしれません。

Font には CIDFont と CMap を合成するためのファイルを入れておきます。例えば、ToppanBunkyuMinchoPr6N-Regular-H であれば、下記のようになります。

/ToppanBunkyuMinchoPr6N-Regular-H
/H /CMap findresource
[/ToppanBunkyuMinchoPr6N-Regular /CIDFont findresource]
composefont pop

最後に環境変数の設定をして完了です。Catalina の場合は ~/.zprofile に以下の 2 行を追記します。

export GS_LIB=~/Library/ghostscript/Resource
export GS_OPTIONS=-sGenericResourceDir=/usr/local/Cellar/ghostscript/9.50/share/ghostscript/9.50/Resource/

上記のように GS_OPTIONS を設定しないと、gs や ps2pdf を実行するたびに下記の警告が表示されます。

*** Warning: GenericResourceDir doesn't point to a valid resource directory.
               the -sGenericResourceDir=... option can be used to set this.

4 ヒラギノを利用する方法について。

Yosemite 以前の OS に付属しているヒラギノフォントは Ghostscript からも利用可能です。当時の OS を所有していれば、引き続きヒラギノフォントを利用する権利は残っていますので、昔の Mac からフォントだけを新しい OS に移植する方法があります(※)。

※ これは当たり前の権利ですが、わざわざ Apple に問い合わせた人がいます。

ただし、グリフデザインが変更になっていますので、新しいヒラギノを使いたい場合もあるでしょうし、そもそも新しい Mac しか持っていない人もいるはずです。その場合は、中丸幸治氏の Perl スクリプト cjkps2pdf.pl(に、ヒラギノ関係の設定を追記したもの)と Hiroto 氏の Python スクリプト(を少し調整して作った)ebd を組み合わせることで、間接的にではありますが、Ghostscript で新しいヒラギノを利用できます。

<ダウンロード>

platex hoge.tex && dvips hoge.dvi
cjkps2pdf.pl hoge.ps
ebd hoge.pdf

上記の実行例における hoge.ps には凸版文久と游ゴシックが使われているものとします。そうすると、まず、cjkps2pdf.pl によって凸版文久と游ゴシックをバッサリ削除し、フォント名をヒラギノに置き換えた PDF ファイルができます。その PDF ファイルに Mac(Quartz)の機能を使ってヒラギノを埋め込む仕組みです。

Mojave 用 Ghostscript」こちらも併せて参照してください。

5 gv をインストールします。

Denis Moskowitz という方が Homebrew 用の gv を公開してくださっています(X11 に対応した Ghostscript も公開してくださっていますが、残念ながらバージョンが古いので、上述の方法でソースからインストールすることをお勧めします)。

brew install denismm/gv/gv

cf. https://github.com/denismm/homebrew-gv