MacのgnuplotでPDFの文字がおかしくなる問題
TL;DR
Macのgnuplotでは、pangoのバグ(?)に由来して、terminalにpdfやpngcairo等を指定すると文字がおかしくなる問題があったが、最新版(gnuplot 5.4、pango 1.48.0)では解決している。
現象
いつからかよくわからないが、Macのgnuplotではterminalとしてpdf
やpngcairo
などを指定すると、文字がおかしくなる。これは、Cairoが裏で呼でいるPangoの問題。
$ brew info pango
pango: stable 1.46.1 (bottled), HEAD
$ gnuplot --versio
gnuplot 5.2 patchlevel 8
と、pango 1.46.1、gnuplot 5.2の状態で、以下のファイルを食わせてみる。
set term pdf
set out "test.pdf"
p sin(x)
gnuplot test.plt
するとこうなってしまう。
例えば「-5」が、 5のように重なってしまっているのがわかると思う。これはcairoの問題なので、出力にpngcairo
を指定しても同じことがおきる。
これを、
brew uninstall pango gnuplot
brew upgrade
brew install gnuplot
等としてpangoとgnuplotをアップデートし、gnuplotが 5.4、pangoが1.48.0になった状態でもう一度実行すると、
ちゃんとなおってめでたい。
補足
おそらく多くの人の環境で
brew uninstall pango gnuplot
brew upgrade
brew install gnuplot
でいけると思うのだが、僕の環境ではgnuplotの再インストールに失敗した。もしかしたら似たようなエラーが出る人がいるかもしれないので、作業ログを残しておく。
gnuplot再インストール時に、 と言われてこけた。そこでbrew doctorを実行して、その指示に従いながら問題を修正していった。 コマンドラインツールの再インストール。 コマンドラインツールのアップデート brewのアップデート。 brew doctorの指示に従って、不要なものの削除。特に僕はpangoをなんとかしようとして手で入れたので、それを削除。 brew doctorに言われたこと。 削除。 brew doctorに「gdk-pixbufとlibrsvgを入れろ」と言われたので入れる。 Qtへのパスを通せと言われたので通す(僕はzshで、ローカルの設定は.zshrc.mineに保存しているけど、適宜自分の設定で読み替えてkください)。 以上の設定をした上で、 で、それぞれpangoが1.48.0、gnuplotが5.4になった状態で再度PDFを作ったらうまくいった。僕の環境では、brew infoとgnuplot --versionが異なるバージョンを指していた(自分でgnuplotをビルド、インストールしたっぽい)のでややこしいことが起きたが、普通に使っている人は大丈夫だと思う。 作業ログのまとめ
$ brew uninstall gnuplot
$ brew install gnuplot
(snip)
==> Pouring [email protected]_sur.bottle.tar.gz
Error: An unexpected error occurred during the `brew link` step
The formula built, but is not symlinked into /usr/local
Permission denied @ dir_s_mkdir - /usr/local/Frameworks
Error: Permission denied @ dir_s_mkdir - /usr/local/Frameworks
sudo rm -rf /Library/Developer/CommandLineTools
sudo xcode-select --instal
softwareupdate --all --install --force
git -C "/usr/local/Homebrew/Library/Taps/homebrew/homebrew-core" fetch --unshallow
git -C "/usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask" fetch --unshallow
Warning: Unbrewed dylibs were found in /usr/local/lib.
Warning: Unbrewed header files were found in /usr/local/include.
```sh
rm -rf /usr/local/include/pango-1.0
sudo rm -rf /usr/local/include/pango-1.0
rm /usr/local/lib/pkgconfig/pango.pc
rm /usr/local/lib/pkgconfig/pangocairo.pc
rm /usr/local/lib/pkgconfig/pangoft2.pc
brew install gdk-pixbuf librsvg
echo 'export PATH="/usr/local/opt/qt/bin:$PATH"' >> ~/.zshrc.mine
brew info pango
brew info gnuplot
gnuplot --version
Author And Source
この問題について(MacのgnuplotでPDFの文字がおかしくなる問題), 我々は、より多くの情報をここで見つけました https://qiita.com/kaityo256/items/4f0dcdfa2d0c4d5bfa38著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .