मैंने Python3 एपिंडिलेटर लिखा है जो fortuneऑन-स्क्रीन नोटिफिकेशन में डिस्प्ले के लिए आउटपुट को कॉल और कैप्चर करता है।
कुछ फॉक्सेक्स में हेक्साडेसिमल संख्या के साथ वर्ग होते हैं जब संबंधित ग्लिफ़ वर्तमान फ़ॉन्ट में मौजूद नहीं होता है। प्रत्येक वर्ग लापता ग्लिफ़ के लिए हेक्साडेसिमल यूनिकोड कोड बिंदु का प्रतिनिधित्व करता है।
मैं उपयोगकर्ता को प्रदर्शित करने से पहले हेक्साडेसिमल पाठ को निकालना चाहता हूं। मैं कुछ पायथन एपीआई को खोजने की उम्मीद कर रहा था जो मुझे पाठ, चरित्र द्वारा चरित्र का निरीक्षण करने देगा, जैसे कुछ char.isValidCodePoint()या समान निर्धारित करने के लिए, लेकिन मुझे ऐसा नहीं मिल सकता है।
मुझे एक संभावित समाधान मिला जिसे मैं यहाँ जाँच करना चाहता था लेकिन fonttoolsटर्मिनल के माध्यम से स्थापित करने के बाद , मेरा पायथन कार्यक्रम आयात नहीं कर सका fonttools/fontTools।
किसी भी विचार - या तो पायथन एपीआई का उपयोग करना या टर्मिनल पर कॉल करना?
अपडेट # 1: जब से मुझे पता चला है कि fonttoolsऊपर दिए गए लिंक से नमूना कोड मेरे लिए काम नहीं करेगा क्योंकि यह Python2 है। मुझे लगता है कि अगर fonttoolsकिसी तरह इस्तेमाल किया जा सकता है, तो मैं अपनी पायथन 3 स्क्रिप्ट से Python2 दुभाषिया को आमंत्रित कर सकता हूं।
अद्यतन # 2: बहुत पढ़ने के बाद (नीचे संदर्भ देखें), मैंने पाया है fc-matchलेकिन यह हमेशा उपयोग में फ़ॉन्ट की विशिष्ट पहचान नहीं कर सकता है । मैं पायथन में वर्तमान फ़ॉन्ट प्राप्त करता हूं:
from gi.repository import Gio
fontName = Gio.Settings( "org.gnome.desktop.interface" ).get_string( "font-name" )
जिसके परिणामस्वरूप Ubuntu 11। इस परिणाम को pango-viewहेक्साडेसिमल चरित्र के साथ पास करते हुए, मुझे फोंट की एक सूची मिल जाती है Ubuntu। मेरे विचार से अगर ग्लिफ़ को फ़ॉन्ट द्वारा प्रस्तुत नहीं किया गया था, तो फ़ॉन्ट परिणाम से प्रकट नहीं होना चाहिए pango-view!
संदर्भ: