Pygame 1.9 - font

pygame.font




pygame

pygame.font

फोंट लोड करने और रेंडर करने के लिए pygame मॉड्यूल

फ़ॉन्ट मॉड्यूल ट्रू टाइप फ़ॉन्ट को एक नई सरफेस ऑब्जेक्ट में रेंडर करने की अनुमति देता है। यह किसी भी UCS-2 चरित्र ('u0001' से 'uFFFF') को स्वीकार करता है। यह मॉड्यूल वैकल्पिक है और एक निर्भरता के रूप में SDL_ttf की आवश्यकता है। आपको परीक्षण करना चाहिए कि मॉड्यूल का उपयोग करने के प्रयास से पहले pygame.font उपलब्ध है और आरंभिक है।

फोंट के साथ किए गए अधिकांश कार्य वास्तविक फ़ॉन्ट ऑब्जेक्ट का उपयोग करके किए जाते हैं। मॉड्यूल द्वारा ही मॉड्यूल को इनिशियलाइज़ करने और pygame.font.Font() साथ फॉन्ट ऑब्जेक्ट बनाने के लिए pygame.font.Font()

आप pygame.font.SysFont() फ़ंक्शन का उपयोग करके सिस्टम से फ़ॉन्ट लोड कर सकते हैं। सिस्टम फोंट देखने में मदद करने के लिए कुछ अन्य कार्य हैं।

Pygame एक बिल्टिन डिफ़ॉल्ट फॉन्ट के साथ आता है। यह हमेशा फ़ॉन्ट नाम के रूप में कोई भी पास करके पहुँचा जा सकता है।

pygame.freetype आधारित pygame.ftfont को pygame.ftfont रूप में pygame.font करने के लिए pygame के पहले आयात से पहले पर्यावरण चर PYGAME_FREETYPE को परिभाषित करें। मॉड्यूल pygame.ftfont एक pygame.font संगत मॉड्यूल है जो सभी को पार करता है, लेकिन फॉन्ट मॉड्यूल यूनिट परीक्षणों में से एक है: इसमें SDL_ttf आधारित फ़ॉन्ट मॉड्यूल की UCS-2 सीमा नहीं है, इसलिए कोड बिंदु से अधिक के अपवाद को बढ़ाने में विफल रहता है। 'uFFFF' की तुलना में। अगर pygame.freetype अनुपलब्ध है, तो इसके बजाय SDL_ttf फ़ॉन्ट मॉड्यूल लोड किया जाएगा।

pygame.font.init() -> None

फॉन्ट मॉड्यूल को इनिशियलाइज़ करें

इस विधि को pygame.init() द्वारा स्वचालित रूप से कहा जाता है। यह फॉन्ट मॉड्यूल को इनिशियलाइज़ करता है। किसी अन्य कार्य के काम करने से पहले मॉड्यूल को आरंभीकृत किया जाना चाहिए।

इस फ़ंक्शन को एक से अधिक बार कॉल करना सुरक्षित है।

pygame.font.quit() -> None

फॉन्ट मॉड्यूल को uninitialize करें

SDL_ttf के फ़ॉन्ट सिस्टम को मैन्युअल रूप से अनइंस्टाल करें। इसे pygame.quit() द्वारा स्वचालित रूप से कहा जाता है।

इस फ़ंक्शन को कॉल करना सुरक्षित है, भले ही फ़ॉन्ट वर्तमान में आरंभीकृत न हो।

pygame.font.get_init() -> bool

सही है यदि फॉन्ट मॉड्यूल आरंभीकृत है

परीक्षण करें कि फॉन्ट मॉड्यूल आरंभीकृत है या नहीं।

pygame.font.get_default_font() -> string

डिफ़ॉल्ट फ़ॉन्ट का फ़ाइल नाम प्राप्त करें

सिस्टम फ़ॉन्ट का फ़ाइल नाम लौटाएँ। यह फ़ाइल का पूर्ण पथ नहीं है। यह फ़ाइल आमतौर पर फ़ॉन्ट मॉड्यूल के समान निर्देशिका में पाई जा सकती है, लेकिन इसे अलग अभिलेखागार में भी बंडल किया जा सकता है।

pygame.font.get_fonts() -> list of strings

सभी उपलब्ध फोंट प्राप्त करें

सिस्टम पर उपलब्ध सभी फोंट की सूची लौटाता है। फोंट के नाम सभी रिक्त स्थान और विराम चिह्न हटाए जाने के साथ सेट किए जाएंगे। यह ज्यादातर सिस्टम पर काम करता है, लेकिन कुछ में फोंट नहीं मिलने पर खाली सूची वापस आ जाएगी।

pygame.font.match_font(name, bold=False, italic=False) -> path

सिस्टम पर एक विशिष्ट फ़ॉन्ट ढूंढें

सिस्टम पर एक फ़ॉन्ट फ़ाइल के लिए पूर्ण पथ देता है। यदि बोल्ड या इटैलिक को सही पर सेट किया जाता है, तो यह फ़ॉन्ट के सही परिवार को खोजने का प्रयास करेगा।

फ़ॉन्ट नाम वास्तव में कोशिश करने के लिए फ़ॉन्ट नामों की एक अल्पविराम से अलग की गई सूची हो सकती है। यदि दिए गए नामों में से कोई भी नहीं मिला है, तो कोई भी वापस नहीं किया गया है।

उदाहरण:

print pygame.font.match_font('bitstreamverasans')
# output is: /usr/share/fonts/truetype/ttf-bitstream-vera/Vera.ttf
# (but only if you have Vera on your system)

pygame.font.SysFont(name, size, bold=False, italic=False) -> Font

सिस्टम फोंट से एक फॉन्ट ऑब्जेक्ट बनाएं

एक नया फ़ॉन्ट ऑब्जेक्ट लौटाएं जिसे सिस्टम फोंट से लोड किया गया है। फ़ॉन्ट अनुरोध किए गए बोल्ड और इटैलिक ध्वज से मेल खाएगा। यदि एक उपयुक्त सिस्टम फ़ॉन्ट नहीं मिला है तो यह डिफ़ॉल्ट pygame फ़ॉन्ट लोड करने पर वापस आ जाएगा। फ़ॉन्ट का नाम देखने के लिए फ़ॉन्ट नामों की अल्पविराम से अलग की गई सूची हो सकती है।

pygame.font.Font

एक फ़ाइल से एक नया फ़ॉन्ट ऑब्जेक्ट बनाएँ
Font(filename, size) -> Font
Font(object, size) -> Font

दिए गए फ़ाइल नाम या अजगर फ़ाइल ऑब्जेक्ट से एक नया फ़ॉन्ट लोड करें। आकार पिक्सेल में फ़ॉन्ट की ऊंचाई है। यदि फ़ाइल नाम कोई नहीं है तो pygame डिफ़ॉल्ट फ़ॉन्ट लोड किया जाएगा। यदि एक फॉन्ट को तर्कों से लोड नहीं किया जा सकता है तो एक अपवाद दिया जाएगा। एक बार फ़ॉन्ट बनाने के बाद आकार बदला नहीं जा सकता।

फ़ॉन्ट ऑब्जेक्ट्स मुख्य रूप से नए सरफेस ऑब्जेक्ट्स में टेक्स्ट रेंडर करने के लिए उपयोग किए जाते हैं। प्रस्तुतकर्ता बोल्ड या इटैलिक विशेषताओं का अनुकरण कर सकता है, लेकिन वास्तविक इटैलिक या बोल्ड ग्लिफ़ के साथ फ़ॉन्ट से लोड करना बेहतर है। प्रस्तुत पाठ नियमित रूप से तार या यूनिकोड हो सकता है।

render(text, antialias, color, background=None) -> Surface

नए सरफेस पर टेक्स्ट ड्रा करें

यह उस पर दिए गए निर्दिष्ट पाठ के साथ एक नई सतह बनाता है। pygame किसी मौजूदा सरफेस पर टेक्स्ट को सीधे खींचने का कोई तरीका नहीं प्रदान करता है: इसके बजाय आपको टेक्स्ट की एक इमेज (सरफेस) बनाने के लिए Font.render() का उपयोग करना होगा, फिर इस इमेज को किसी अन्य सर्फेस पर ब्लिट करें।

पाठ केवल एक ही पंक्ति हो सकता है: नईलाइन वर्ण प्रदान नहीं किए गए हैं। अशक्त वर्ण ('x00') एक TypeError बढ़ाते हैं। यूनिकोड और चार (बाइट) तार दोनों स्वीकार किए जाते हैं। यूनिकोड के तार के लिए केवल UCS-2 अक्षर ('u0001' से 'uFFFF') पहचाने जाते हैं। कुछ भी अधिक एक यूनिकोडर को जन्म देता है। चार तार के लिए एक LATIN1 एन्कोडिंग मान लिया गया है। एंटीलियास तर्क एक बूलियन है: अगर सच में पात्रों में चिकनी किनारों होंगे। रंग तर्क पाठ का रंग है [जैसे: (0,0,255) नीले रंग के लिए]। वैकल्पिक पृष्ठभूमि तर्क पाठ पृष्ठभूमि के लिए उपयोग करने के लिए एक रंग है। यदि कोई पृष्ठभूमि पास नहीं है, तो पाठ के बाहर का क्षेत्र पारदर्शी होगा।

लौटाई गई सतह पाठ को धारण करने के लिए आवश्यक आयामों की होगी। (Font.size ()) द्वारा लौटाए गए समान। यदि पाठ के लिए एक रिक्त स्ट्रिंग पास की जाती है, तो एक खाली सतह वापस आ जाएगी जो कि एक पिक्सेल चौड़ी और फ़ॉन्ट की ऊंचाई है।

उपयोग की जाने वाली पृष्ठभूमि और एंटीएलियासिंग के प्रकार के आधार पर, यह विभिन्न प्रकार के सर्फ़स देता है। प्रदर्शन कारणों के लिए, यह जानना अच्छा है कि किस प्रकार की छवि का उपयोग किया जाएगा। यदि एंटीएलियासिंग का उपयोग नहीं किया जाता है, तो रिटर्न छवि हमेशा दो-रंग पैलेट के साथ 8-बिट छवि होगी। यदि बैकग्राउंड पारदर्शी है तो एक कोलोर्की सेट की जाएगी। Antialiased छवियों को 24-बिट RGB छवियों को प्रदान किया जाता है। यदि पृष्ठभूमि पारदर्शी है तो एक पिक्सेल अल्फा शामिल किया जाएगा।

अनुकूलन: यदि आप जानते हैं कि पाठ के लिए अंतिम गंतव्य (स्क्रीन पर) हमेशा एक ठोस पृष्ठभूमि होगी, और पाठ एंटीअलियासिड है, तो आप पृष्ठभूमि के रंग को निर्दिष्ट करके प्रदर्शन में सुधार कर सकते हैं। यह परिणामी छवि को कोल्कोरी द्वारा पारदर्शिता की जानकारी को बनाए रखने के बजाय (बहुत कम कुशल) अल्फा मूल्यों के कारण होगा।

यदि आप 'n' को रेंडर करते हैं तो एक अनजाना चार प्रदान किया जाएगा। आमतौर पर एक आयत। इसके बजाय आपको खुद नई लाइनों को संभालने की जरूरत है।

फ़ॉन्ट रेंडरिंग थ्रेड सुरक्षित नहीं है: केवल एक थ्रेड किसी भी समय टेक्स्ट रेंडर कर सकता है।

size(text) -> (width, height)

पाठ रेंडर करने के लिए आवश्यक स्थान की मात्रा निर्धारित करें

पाठ को रेंडर करने के लिए आवश्यक आयाम देता है। इसका उपयोग पाठ के लिए आवश्यक स्थिति को निर्धारित करने में मदद करने से पहले किया जा सकता है। इसका उपयोग वर्डवैपिंग और अन्य लेआउट प्रभावों के लिए भी किया जा सकता है।

विदित हो कि अधिकांश फॉन्ट कर्निंग का उपयोग करते हैं जो विशिष्ट अक्षर जोड़े के लिए चौड़ाई को समायोजित करता है। उदाहरण के लिए, "ae" की चौड़ाई हमेशा "a" + "e" की चौड़ाई से मेल नहीं खाएगी।

set_underline(bool) -> None

नियंत्रण अगर पाठ को एक रेखांकन के साथ प्रदान किया गया है

सक्षम होने पर, सभी प्रदान किए गए फॉन्ट में एक रेखांकन शामिल होगा। फ़ॉन्ट आकार की परवाह किए बिना, अंडरलाइन हमेशा एक पिक्सेल मोटी होती है। यह बोल्ड और इटैलिक मोड के साथ मिलाया जा सकता है।

get_underline() -> bool

जांचें कि क्या पाठ को एक रेखांकन के साथ प्रदान किया जाएगा

फ़ॉन्ट अंडरलाइन सक्षम होने पर सही लौटें।

set_bold(bool) -> None

बोल्ड टेक्स्ट के नकली रेंडरिंग को सक्षम करें

पाठ के बोल्ड प्रतिपादन को सक्षम करता है। यह फ़ॉन्ट का एक नकली स्ट्रेचिंग है जो कई प्रकार के फ़ॉन्ट पर अच्छा नहीं लगता है। यदि संभव हो तो फ़ॉन्ट को असली बोल्ड फ़ॉन्ट फ़ाइल से लोड करें। बोल्ड रहते हुए, फ़ॉन्ट सामान्य होने की तुलना में एक अलग चौड़ाई होगा। इसे इटैलिक और अंडरलाइन मोड के साथ मिलाया जा सकता है।

get_bold() -> bool

जाँचें कि क्या पाठ बोल्ड किया जाएगा

फ़ॉन्ट बोल्ड रेंडरिंग मोड सक्षम होने पर सही लौटें।

set_italic(bool) -> None

इटैलिक टेक्स्ट के नकली रेंडरिंग को सक्षम करें

इटैलिक टेक्स्ट के नकली रेंडरिंग को सक्षम करता है। यह फ़ॉन्ट का एक नकली तिरछा है जो कई प्रकार के फ़ॉन्ट पर अच्छा नहीं लगता है। यदि संभव हो तो फ़ॉन्ट को असली इटैलिक फ़ॉन्ट फ़ाइल से लोड करें। जबकि इटैलिक फ़ॉन्ट के सामान्य होने की तुलना में एक अलग चौड़ाई होगी। इसे बोल्ड और अंडरलाइन मोड के साथ मिलाया जा सकता है।

metrics(text) -> list

पारित स्ट्रिंग में प्रत्येक वर्ण के लिए मैट्रिक्स प्राप्त करता है।

सूची में प्रत्येक वर्ण के लिए ट्यूपल होते हैं, जिसमें न्यूनतम X ऑफ़सेट, अधिकतम X ऑफ़सेट, न्यूनतम Y ऑफ़सेट, अधिकतम Y ऑफ़सेट और वर्ण की अग्रिम ऑफ़सेट (असर प्लस चौड़ाई) होती हैं। [(मिक्स, मैक्सेक्स, मिन्टी, मैक्सी, एडवांस), (मिनएक्स, मैक्सएक्स, मिन्टी, मैक्सी, एडवांस), ...]। प्रत्येक अपरिचित चरित्र के लिए सूची में कोई भी दर्ज नहीं किया गया है।

get_italic() -> bool

जांचें कि क्या पाठ को इटैलिक प्रदान किया जाएगा

फ़ॉन्ट इटैलिक रेंडरिंग मोड सक्षम होने पर सही लौटें।

get_linesize() -> int

फ़ॉन्ट पाठ का लाइन स्थान प्राप्त करें

फ़ॉन्ट के साथ पाठ की एक पंक्ति के लिए पिक्सेल में ऊँचाई लौटें। पाठ की कई पंक्तियों को प्रस्तुत करते समय यह लाइनों के बीच की जगह की अनुशंसित मात्रा है।

get_height() -> int

फ़ॉन्ट की ऊंचाई प्राप्त करें

वास्तविक रेंडर किए गए पाठ के पिक्सल में ऊँचाई लौटाएँ। यह फ़ॉन्ट में प्रत्येक ग्लिफ़ के लिए औसत आकार है।

get_ascent() -> int

फ़ॉन्ट का चढ़ाई प्राप्त करें

फ़ॉन्ट चढ़ाई के लिए पिक्सेल में ऊँचाई लौटाएँ। एसेंट फ़ॉन्ट बेसलाइन से फ़ॉन्ट के शीर्ष पर पिक्सेल की संख्या है।

get_descent() -> int

फ़ॉन्ट का वंश प्राप्त करें

फ़ॉन्ट वंश के लिए पिक्सेल में ऊँचाई लौटाएँ। वंश फ़ॉन्ट आधार रेखा से फ़ॉन्ट के नीचे तक पिक्सेल की संख्या है।