我想在matplotlib中使用波斯字体,但是当文本像فایل pdf一样混合时,英语文本显示为正方形。我的代码如下:
import seaborn as sns; sns.set()
import matplotlib.pyplot as plt
from bidi.algorithm import get_display
import arabic_reshaper
from matplotlib import font_manager as fm, rcParams
import os
fpath = os.path.join(rcParams["datapath"],"C:\\Users\\Ahmad\\Desktop\\Report_Examples\\BNazanin.ttf")
prop = fm.FontProperties(fname=fpath)
def make_farsi_text(x):
reshaped_text = arabic_reshaper.reshape(x)
farsi_text = get_display(reshaped_text)
return farsi_text
fmri = sns.load_dataset("fmri")
ax = sns.lineplot(x="timepoint", y="signal", data=fmri)
ax.set_xlabel(make_farsi_text('فایل pdf'),fontproperties=prop)
plt.show()

发布于 2020-03-18 07:42:31
我使用另一种字体,我的问题解决了。我使用XB Niloofar字体。您可以从以下链接下载:
https://stackoverflow.com/questions/60725889
复制相似问题