長い間, Mac用のGhostScriptを提供していただいたマスクメロン様が消失しておる. 仕方ねえや, 10年ぶりにGhostScriptのビルドでもやってみようか.
てゆうか, これなに
むかしむかし, おおむかし,君達のご両親がまだ小学生だった頃の話です. 世界にPostScriptプリンターが登場しました.コンピュータの印刷物はみんなガタガタギザギザのデジタル文字ばかりだったところへ,滑らかな美しい文字やグラフを「PostScript言語」を使って描けることになりました.素晴らしいのですが,そのプリンターはとても高価でした.そこで,PostScriptファイルの描くべき結果をコンピュータで計算し,安価なプリンターで擬似的な出力を得るソフトが登場しました. それがGhostScriptです.つまりPostScriptの幽霊なんですね.
時は流れ,PostScriptが行なっていた内容は,皆さんご存知PDFファイルやSVGファイルで十分な感じになったので, もはや一般人には存在意義が怪しくなったPostScriptですが,なんせ初号機なので無駄にスペックが高いうえ, 古いソフトウェアがそれに依存しているケースもあり ・・・研究室に入ると,PostScriptファイルと対面することになるわけです.
インストールするべえ
使うだけが良い人は下に従え.
- 最初に XQuartsが必要なのでインストール.
- XQuartsとは, まだWindowsがMSDOSだったころ(~GhostScript発生時代), ソフトウェアをモニター画面の「ウィンドウ」という四角枠の中で動かす試みの中で,X11というのがありました. モニターに文字以外の画像とか表示できる!一度に複数の作業ができる!(今では当たり前か.) それを現代のMacで無理やり走らせるソフトウェアです.
- 全部入りパッケージをインストールする(都合でファイルサイズが50MBくらいになっているので注意).
- もちろんウチはAppleに金払ってないから, 二本指【開く】【ええから早よ開け】
- クリックするとepsが見えるようになる GhostscriPDF.app アプリ.
- もちろんウチはAppleに金払ってないから, 二本指【開く】【ええから早よ開け】
- とりあえずサンプルのEPSタイガー
- もしも他に色々足りない人はここに従うと助かるかもしれない.
- 日本語PostScriptは無視する.
- 作図に日本語使わないので大丈夫.
- pLaTeXで使うならGhostScript経由可能だから, 文字化けするコースも存在する.
- LuaTeXで日本語PDF直に作るなら, GhostScript使わないから, 大苦労して日本語対応しても無駄やよね
とりあえず全部インストールすると, インテル/M1 併設の70MBくらいの /usr/local/bin/gs と, サポートファイルたちが /usr/local/share/ghostscript/10.01.1/ とかにできる. で,これらを使って
- コマンドラインで gs であるとか, eps2pdf であるとかが利用できるようにある
- だから gs 英語の.ps とかで(XQuartzがのんびり起動してから)画面に出る. いちおう.
- epsやpsファイルを,GhostscriPDF.app に関連づけると
- EPSファイルをクリックすると一瞬でPDFファイルに変換して書き出し, ついでに一瞬で画面に表示するようになる.
- 宗教上の理由でクリックできない人は, ターミナルで open my.eps とかでも画面に表示できる.
バカは, 自力でビルドしても良い. 10分くらいかかってしまうよ.下はその記録である.
Ghostscript-10.01
2022年, 突如としてAppleはPostScript/EncapsulatePostscriptのサポートを打ち切った. なんやねんお前ら. psやepsファイルをクリックしてプレビューできないじゃないか.
で, 今までのように /usr/local/bin/gs をインストールするだけでなく, クリックしたら起動しするGhostScriptをなんとかして作りたい.
- 別に, 何がなんでもGhostScriptで画面表示を行わねばならぬ必要はない.
- GhostScriptで画面表示をするとXQuartzが起動して, はっきり言って, うざいからである.
- ふと思ったんだがX対応なしでビルドできた気がする. そしたらXQuartzなしで, もっと気楽にインストールできるよね
- EPSファイルをクリックしたら, eps2pdf が起動してPDFファイルを作成し, ほんで, Previewでそれを開く, くらいで良いのだ.
- 探してみたが, 適当なソフトがないので, 作る.
ビルドするべえ
とりあえず紆余曲折の末,現在の権利者であられるらしい Artifex Softwareからダウンロードする.
$ mkdir arm64
$ cd arm64
$ tar zxf ../ghostscript-10.01.1.tar.gz
$ cd ghostscript-10.01.1
$ ./configure
$ make
$ fswatch -x /usr/local/ > files.log & ←黄色は配布パッケージ作成用
$ sudo make install
$ kill %1
$ fswatch_analyze.sh -c _binary log
これでできたものは, とりあえずARM64であり, XQuartzとリンクされちょる:
$ lipo -info _binary/usr/local/bin/gs
Non-fat file: _binary/usr/local/bin/gs is architecture: arm64
$ otool -L _binary/usr/local/bin/gs
/opt/X11/lib/libXt.6.dylib (compatibility version 7.0.0, current version 7.0.0)
/opt/X11/lib/libSM.6.dylib (compatibility version 7.0.0, current version 7.1.0)
/opt/X11/lib/libICE.6.dylib (compatibility version 10.0.0, current version 10.0.0)
/opt/X11/lib/libXext.6.dylib (compatibility version 11.0.0, current version 11.0.0)
/opt/X11/lib/libX11.6.dylib (compatibility version 11.0.0, current version 11.0.0)
/usr/lib/libcups.2.dylib (compatibility version 2.0.0, current version 2.14.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1292.100.5)
/usr/lib/libiconv.2.dylib (compatibility version 7.0.0, current version 7.0.0)
/usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 905.6.0)
豚がいい
学生がまだ全員M1になってないので, Intelとのブタにしないとwww X86ターミナルで
$ mkdir x86_64
$ cd x86_64
$ cd ghostscript-10.01.1
$ ./configure
$ make
これでできたやつは x86_64である:
$ lipo -info bin/gs
Non-fat file: bin/gs is architecture: x86_64
$ otool -L bin/gs
bin/gs:
/opt/X11/lib/libXt.6.dylib (compatibility version 7.0.0, current version 7.0.0)
/opt/X11/lib/libSM.6.dylib (compatibility version 7.0.0, current version 7.1.0)
/opt/X11/lib/libICE.6.dylib (compatibility version 10.0.0, current version 10.0.0)
/opt/X11/lib/libXext.6.dylib (compatibility version 11.0.0, current version 11.0.0)
/opt/X11/lib/libX11.6.dylib (compatibility version 11.0.0, current version 11.0.0)
/usr/lib/libcups.2.dylib (compatibility version 2.0.0, current version 2.14.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1292.100.5)
/usr/lib/libiconv.2.dylib (compatibility version 7.0.0, current version 7.0.0)
/usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 905.6.0)
では豚化する:
$ cd arm_64
$ mkdir uniuni
$ lipo -create -arch arm64 bin/gs -arch x86_64 ../../x86_64/ghostscript-10.01.1/bin/gs -output uniuni/gs
$ lipo -info uniuni/gs
Architectures in the fat file: uniuni/gs are: x86_64 arm64
$ cp uniuni/gs _binary/usr/local/bin
Resourcesもまとめちゃえ
$ fswatch -x /usr/local/ > files.log2 &
$ sudo rsync -avr Resource/ /usr/local/share/ghostscript/10.01.1/Resource
$ sudo rsync -avr iccprofiles/ /usr/local/share/ghostscript/10.01.1/iccprofiles
$ sudo rsync -avr LICENSE /usr/local/share/ghostscript/10.01.1
$ kill %1
$ fswatch_analyze.sh -c _binary2 files.log2
$ mv _binary2/usr/local/share/ghostscript/10.01.1/* _binary/usr/local/share/ghostscript/10.01.1/
$ pkgbuild --identifier ghostscript --root _binary ghostscript-10.01.1-en-universal-osx13.3.pkg
あらら. Drupal9のWebさいとぢゃけんファイルサイズが25MBまでなのか・・・上書きしちゃえ
ひさしぶるのええっとスクリプト的なAppleのあれ
まあこんな感じか:
PATH=/usr/local/bin:/usr/bin:/bin
if [ $# -eq 0 ];then
FILE=`osascript <<@
set theDocument to choose file with prompt "えらべ. EPSふぁいるやで"
return POSIX path of theDocument
@`
if [ "$FILE" == "" ]; then
osascript <<@
display dialog "えらべっちゅっとんぢゃ"
@
exit 0
fi
else
FILE=$1
fi
EPSEXT=${FILE##*.}
echo $EPSEXT
if [ $EPSEXT != "eps" -a $EPSEXT != "ps" ];then
osascript <<@
display dialog "おまえ[$FILE]っつったな.\nepsファイル選べタコ."
@
exit 0
fi
PDFNAME="${FILE%.*}".pdf ←最近の子は, パス名に日本語や空白を入れるんだよねえ. だから"対策"
if [ -f "$PDFNAME" ];then
mv "$PDFNAME ${1%.*}".old.pdf
fi
ps2pdf -dEPSCrop "$FILE" -> "$PDFNAME"
open "$PDFNAME"
こいつをとりあえず/Applicationに入れておくと
- とりあえずクリックするとファイル選択画面が出る.
- EPSファイルを選ぶとPDFファイルに変換してOpen.
- もし同名のPDFファイルが存在したら OLD.pdf に変更する
- EPSファイルを, このappで開くすると, 上の作業を行う.
じゅうぶんじゃろ. で,こうやってインストーラーを作れば良い.
Ghostscript-10.0
ビルドするベえ
とりあえず紆余曲折の末,現在の権利者であられるらしい Artifex Softwareからダウンロードする.
cd ghostscript-10.0.0/ ./configure make fswatch -x /usr/local/ > log & sudo make install kill %1 fswatch_analyze.sh -c _binary log pkgbuild --identifier ghostscript --root _binary ghostscript-10.00.0-arm64-osx13.0.pkg
うん,まあ,いいんじゃないかい?いや,よくねえな./usr/local/share/ghostscript/10.0.0/Resources が欠落しておる. どうも,
$(gsdir)/$(GS_DOT_VERSION)/Resource =$(datarootdir)/ghostscript/$(GS_DOT_VERSION)/Resource =$(prefix)/share/ghostscript/$(GS_DOT_VERSION)/Resource =/usr/local/share/ghostscript/$(GS_DOT_VERSION)/Resource
にインストールするものらしいな.LICENSEに書いてあるものによると,Adobe殿のご好意によりResourcesフォルダーはAGPLライセンスで公開されているものであるそうだ.でもコピーライト情報は,入れとかねえよヤバげだよね.というわけでこうする:
fswatch -x /usr/local/ > log2 & sudo mkdir /usr/local/share/ghostscript/10.00.0 sudo rsync -avr Resource/ //usr/local/share/ghostscript/10.00.0/Resource sudo rsync -avr iccprofiles/ /usr/local/share/ghostscript/10.00.0/iccprofiles sudo rsync -avr LICENSE /usr/local/share/ghostscript/10.00.0/ fswatch_analyze.sh -c _resource log2 pkgbuild --identifier ghostscript-libs --root _resource ghostscript-10.00.0-libs-arm64-osx13.0.pkg
ま,ええんでないかい.使ってみて問題があったら,また考える.
Ghostscript-9.52
ビルドするベえ
とりあえず紆余曲折の末,現在の権利者であられるらしい Artifex Softwareからダウンロードする.
cd ghostscript-9.52/ ./configure make fswatch -x /usr/local/ > log & sudo make install kill %1 fswatch_analyze.sh -c _binary log pkgbuild --identifier ghostscript --root _binary ghostscript-9.52-osx10.15.pkg
うん,まあ,いいんじゃないかい?いや,よくねえな./usr/local/share/ghostscript/9.52/Resources が欠落しておる. どうも,
$(gsdir)/$(GS_DOT_VERSION)/Resource =$(datarootdir)/ghostscript/$(GS_DOT_VERSION)/Resource =$(prefix)/share/ghostscript/$(GS_DOT_VERSION)/Resource =/usr/local/share/ghostscript/$(GS_DOT_VERSION)/Resource
にインストールするものらしいな.LICENSEに書いてあるものによると,Adobe殿のご好意によりResourcesフォルダーはAGPLライセンスで公開されているものであるそうだ.でもコピーライト情報は,入れとかねえよヤバげだよね.というわけでこうする:
fswatch -x /usr/local/ > log2 & sudo cp -rv Resource/ /usr/local/share/ghostscript/9.52/Resource sudo cp -rv iccprofiles/ /usr/local/share/ghostscript/9.52/iccprofiles sudo cp LICENSE /usr/local/share/ghostscript/9.52/ fswatch_analyze.sh -c _resource log2 pkgbuild --identifier ghostscript-libs --root _resource ghostscript-9.52-libs-osx10.15.pkg
ま,ええんでないかい.使ってみて問題があったら,また考える.
添付 | サイズ |
---|---|
ghostscript-10.01.1-universal-osx13.3.pkg | 19.39 MB |
tiger.eps_.gz | 30.86 KB |
GhostscriPDF_4.pkg | 2.89 MB |