मैं प्रस्तुति के लिए उच्च गुणवत्ता वाले आरेख उत्पन्न करना चाहता हूं। मैं ग्राफिक्स उत्पन्न करने के लिए पाइथन के matplotlib का उपयोग कर रहा हूँ। दुर्भाग्यवश, पीडीएफ निर्यात मेरी फ़ॉन्ट सेटिंग्स को अनदेखा करता है।Matplotlib पीडीएफ निर्यात गलत फ़ॉन्ट का उपयोग करता है
मैंने पाठ ड्राइंग कार्यों में FontProperties
ऑब्जेक्ट पास करके और वैश्विक स्तर पर विकल्प सेट करके फ़ॉन्ट को सेट करने का प्रयास किया। रिकॉर्ड के लिए, यहाँ समस्या को पुन: करने के लिए एक मेगावाट है:
import scipy
import matplotlib
matplotlib.use('cairo')
import matplotlib.pylab as pylab
import matplotlib.font_manager as fm
data = scipy.arange(5)
for font in ['Helvetica', 'Gill Sans']:
fig = pylab.figure()
ax = fig.add_subplot(111)
ax.bar(data, data)
ax.set_xticks(data)
ax.set_xticklabels(data, fontproperties = fm.FontProperties(family = font))
pylab.savefig('foo-%s.pdf' % font)
दोनों ही मामलों में उत्पादित उत्पादन समान है और Helvetica का उपयोग करता है (और हाँ, मैं करता हूँ दोनों फोंट स्थापित किया है)।
बस सुनिश्चित करने के लिए, निम्न या तो मदद नहीं करता है:
matplotlib.rc('font', family = 'Gill Sans')
अंत में, यदि मैं बैकएंड की जगह, बजाय देशी व्यूअर का उपयोग:
matplotlib.use('MacOSX')
मैं कर प्राप्त सही फ़ॉन्ट प्रदर्शित - लेकिन केवल दर्शक जीयूआई में। पीडीएफ आउटपुट एक बार फिर गलत है।
यह सुनिश्चित हो - मैं कर सकते हैं अन्य फोंट सेट - लेकिन फ़ॉन्ट परिवारों के ही अन्य वर्गों: मैं serif
फोंट या fantasy
या monospace
सेट कर सकते हैं। लेकिन सभी सैन्स-सेरिफ़ फोंट हेल्वेटिका के लिए डिफ़ॉल्ट लगते हैं।
आपने कहा, "परिवार" तर्क [फ़ॉन्ट] का नाम निर्दिष्ट करने के लिए नहीं है "- क्षमा करें लेकिन [प्रलेखन] (http://matplotlib.sourceforge.net/api/font_manager_api.html# matplotlib.font_manager.FontProperties) अलग-अलग कहता है: "आइटम ** ** में एक सामान्य फ़ॉन्ट परिवार का नाम शामिल हो सकता है [...]। ** उस मामले में **, उपयोग करने के लिए वास्तविक फ़ॉन्ट देखा जाएगा ... "(जोर मेरा)। इसके अलावा, * यह जीयूआई में * काम करता है। वैसे भी, मैं आपके प्रस्तावित समाधानों का प्रयास करूंगा। धन्यवाद। –
'fname = ...' का उपयोग करके मुझे 'savefig'' कॉल करते समय 'embedTTFType3' में बैकएंड_पीडीएफटीवी की लाइन 776 में" ट्रूटाइप फ़ॉन्ट गायब है "पंक्ति में एक रनटाइम त्रुटि प्राप्त करें। मैं टीटीएफ और पीडीएफ के साथ घर पर नहीं हूं लेकिन मैंने * पहले से ही अन्य मार्गों के माध्यम से पीडीएफ में गिल सैन्स को एम्बेड किया है, इसलिए मुझे यकीन नहीं है कि यहां क्या अस्वस्थ है। –
आप वास्तविक फ़ॉन्ट नामों को परिवार के तर्क के रूप में उपयोग करने के बारे में सही हैं। त्रुटि संदेश एक बग की तरह लगता है। कृपया Sourceforge ट्रैकर पर फ़ाइल करें, सटीक फ़ॉन्ट, matplotlib संस्करण और पूर्ण ट्रेसबैक का जिक्र करें। –