2010-12-21 15 views
9

में आईटीफ़ोन के लिए उपलब्ध नहीं है। मैंने संसाधनों के लिए अपने एक्सकोड प्रोजेक्ट में एक फ़ॉन्ट फ़ाइल (.ttf) जोड़ा है। इसके अलावा, मैंने इसे अपनी info.plist में UIAppFonts में जोड़ा।आईटीएफ के लिए इंटरफ़ेस बिल्डर या सिम्युलेटर

जब मैं इस फ़ॉन्ट का उपयोग करना चाहता हूं, तो मुझे इसे आईबी में भी पसंद नहीं है।

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

क्या मेरे पास अपने फ़ॉन्ट का उपयोग करने में सक्षम होने के लिए मुझे और कदम उठाने चाहिए?

उत्तर

17

आईओएस के साथ कस्टम फोंट का उपयोग करने के लिए आपको उन्हें प्रोग्रामेटिक रूप से सेट करना होगा।

उदाहरण के लिए, मान लें कि आपके पास swellfont.ttf नामक एक फ़ॉन्ट फ़ाइल है जिसे आप अपनी प्रोजेक्ट में जोड़ते हैं। फिर आप अपनी ऐप-इन्फो.प्लिस्ट फ़ाइल में जाएंगे और यूआईएपीपीएफओटी द्वारा की गई सरणी के अगले इंडेक्स में फ़ाइल का पूरा नाम जोड़ देंगे, जैसा कि आप उल्लेख करते हैं।

label.font = [UIFont fontWithName:@"swellfont" size:12]; 

यह मानते हुए कि लेबल एक UILabel है और swellfont.ttfprotected नहीं है कि:

<key>UIAppFonts</key> 
<array> 
    <string>swellfont.ttf</string> 
</array> 

फिर, फ़ॉन्ट का उपयोग करने के लिए। यह ध्यान रखना महत्वपूर्ण है कि यूआईएफओटी का फ़ॉन्टविथनाम फ़ाइल नाम का जिक्र नहीं कर रहा है, बल्कि इसके फ़ॉन्ट का वास्तविक नाम चाहते हैं। यदि आप FontForge के साथ फ़ॉन्ट खोलते हैं तो आप मेन्यू बार से एलिमेंट> फ़ॉन्ट जानकारी चुनकर यह जानकारी देख सकते हैं। इस जानकारी को खोजने के लिए शायद चालाक तरीके हैं।

+7

यह ध्यान देने योग्य है कि स्ट्रिंग तर्क फॉन्ट नहीं नाम फ़ॉन्ट फ़ाइल का फ़ाइल नाम (जो या एक ही नहीं हो सकता) होना चाहिए। उस भेद ने मुझे थोड़ा सा पहियों को कताई कर दी थी। – cesarislaw

+0

हाँ - मैं उस जानकारी को जोड़ रहा था जैसा आपने टिप्पणी की थी। इसने मुझे काफी कुछ मुद्दा भी दिया। भ्रमित करने की तरह! ऐप्पल "नाम" की परिभाषा के साथ तेजी से और ढीला खेल रहा है। :) – Allyn

+0

इस टिप के लिए धन्यवाद! मुझे बहुत मदद की। – kender

0

मैं एक एप में 2 फोंट का उपयोग करता हूं। पहला व्यक्ति स्वचालित रूप से "कॉपी बंडल संसाधन" में जोड़ा गया था, दूसरा नहीं था। मुझे वह खुद जोड़ना पड़ा।

कोड में कॉल:

[labelName setFont:[UIFont fontWithName:@"OneGreatBigFont" size:40]]; 
संबंधित मुद्दे