matplotlib で Figure を保存すると、endash、ű énd ő などの一部の文字が他の文字よりも低い位置にあることがあります。凡例だけでなく、ラベルやタイトルにも。Ubuntu 11.10 および 12.04 で、matplotlib 1.0.1 および 1.1.1~rc1 を使用して試しました。ファイルのソースは utf-8 でエンコードされており、Python のバージョンは 2.7.2+ です。ソースは次のとおりです。
import matplotlib.pyplot as plt
from numpy import sin, linspace, pi
x = linspace(0, 20, 1000)
plt.plot(x, sin(x), label=u"Hurrá, őrtűz! Szűztűz.")
plt.plot(x, sin(x), label=u"xxxxá, őx–x–xűx! Sxűxxűx.")
plt.plot(x, sin(x+pi/2), label=u"B–A őrűr ()")
plt.plot(x, sin(x-pi/2), label=u"B–A őrűr")
plt.plot(x, sin(x+pi), label=u"xãxâxőxŐxűxŰx–x endash")
plt.plot(x, sin(x+.1), label=u"őrtűz !")
plt.plot(x, sin(x+.2), label=u"őr tűz! (")
plt.plot(x, sin(x+pi+.2), label=u"őrült tűzlány ãxâ")
plt.title(u"matplotlib version 1.0.1, source: utf-8, Ubuntu 11.10")
plt.legend()
plt.savefig("tmp_accent.pdf")
plt.savefig("tmp_accent.eps")
そして、これが私が得たフィギュアの一部です。(私はevinceとacroreadで見ました)。
私はフォントが苦手ですが、matplotlibrc に font.sans-serif を Bitstream Vera Sans、Lucida Grande、Verdana、Geneva、Lucid、Arial、Helvetica、Avant Garde のフォントで 1 つずつ設定しました。
epspdf コマンド ライン ツールを使用して、eps バージョンからより良いバージョンを作成できますが、この方法はプラットフォームに依存します。より良い方法はありますか?問題は、新しい matplotlib バージョンまたは新しい Ubuntu に存在しますか?