Screen.Fonts
संपत्ति EnumFontFamiliesEx
API function के माध्यम से पॉप्युलेट की गई है। उस फ़ंक्शन को कॉल करने के उदाहरण के लिए Forms.pas देखें।
कॉलबैक फ़ंक्शन जो इसे कॉल करता है उसे TNewTextMetricEx
रिकॉर्ड प्राप्त होगा, और उस रिकॉर्ड के सदस्यों में से एक TFontSignature
है। fsUsb
फ़ील्ड इंगित करता है कि कौन सा यूनिकोड समर्थन के लिए फ़ॉन्ट दावों को घटा देता है।
सिस्टम में वास्तव में "यूनिकोड फोंट" नहीं है। यहां तक कि जिन फ़ॉन्ट्स में शब्द हैं, उनके नामों में यूनिकोड में सभी यूनिकोड वर्णों के लिए ग्लिफ नहीं हैं। आप बिटमैप, प्रिंटर और ट्रू टाइप फ़ॉन्ट्स के बीच अंतर कर सकते हैं, लेकिन उससे परे, आप यह कर सकते हैं कि आप जिस फ़ॉन्ट पर विचार कर रहे हैं वह आपके इच्छित पात्रों का समर्थन करता है या नहीं। और यदि फ़ॉन्ट वह नहीं है जिसे आप "यूनिकोड फ़ॉन्ट" पर विचार करेंगे, लेकिन यह आपको आवश्यक सभी पात्रों का समर्थन करता है, तो इससे क्या फर्क पड़ता है? इस जानकारी को प्राप्त करने के लिए, आपको GetFontUnicodeRanges
में रुचि हो सकती है।
विभिन्न फोंट के साथ पाठ प्रदर्शित करने के लिए माइक्रोसॉफ्ट तकनीक किस फोंट के आधार पर Uniscribe, विशेष रूप से font fallback है। मुझे Uniscribe के लिए किसी भी डेल्फी समर्थन के बारे में पता नहीं है; मैंने एक बार आयात इकाइयों का एक सेट लिखना शुरू कर दिया, लेकिन मेरी रुचियां उलझन में हैं, और मैंने इसे पूरा करने से पहले कुछ और स्थानांतरित कर दिया। Michael Kaplan's blog कभी-कभी अनइस्क्रिब के बारे में वार्तालाप करता है, इसलिए यह देखने के लिए एक और जगह है।
स्रोत
2009-01-05 04:23:35