2017-09-20 54 views
6

मैं थोड़ी देर के लिए Futura-Demi.otf फ़ॉन्ट का उपयोग कर रहा हूं।आईओएस 11 में लोड फ़ॉन्ट (या एक्सकोड 9)

नीचे दिए गए कोड के साथ, मैं पुष्टि कर सकता हूं कि इस फ़ाइल में एकाधिक फ़ॉन्ट हैं।

for fname in UIFont.familyNames { 
    for name in UIFont.fontNames(forFamilyName: fname) { 
     print(name) 
    } 
} 

फ़ॉन्ट परिवार Futura है और यह नीचे के रूप में फोंट शामिल हैं:

Futura-CondensedExtraBold 
Futura-Dem 
Futura-Medium 
Futura-Bold 
Futura-CondensedMedium 
Futura-MediumItalic 

मैं अब तक किसी भी मुसीबत के बिना UIFont(name: "Futura-Dem", size: 21) साथ Futura-Dem फॉन्ट का इस्तेमाल किया है। हालांकि आईओएस 11 जारी होने के बाद, मैं अब इस फ़ॉन्ट का उपयोग नहीं कर सकता। सभी Futura-Dem फ़ॉन्ट को ऐप स्टोर में पहले से ही ऐप में Futura-Medium में बदल दिया गया है।

मैं जाँच की है कि UIFont(name: "Futura-Dem", size: 21) द्वारा लोड फ़ॉन्ट Futura-Medium फ़ॉन्ट है और मैं यह भी पाया कि मैं

let des = UIFontDescriptor(name: "Futura-Dem", size: 21) 
let font = UIFont(descriptor: des, size: 21) 

ऊपर कोड भार Futura-Dem सफलतापूर्वक साथ Futura-Dem फ़ॉन्ट का उपयोग कर सकते हैं, लेकिन मैं कोई अंदाज़ा नहीं है यही कारण है कि मैं सिर्फ नहीं कर सकते जैसा कि मैंने पहले किया था UIFont(name: "Futura-Dem", size: 21) का उपयोग करें।

उत्तर

4

मेरे पास एक कस्टम फ़्यूचूरा फ़ॉन्ट के साथ भी एक ही समस्या है।

मैंने कुछ अलग-अलग फ़ॉन्ट का नाम बदलने के लिए सॉफ़्टवेयर बर्डफॉन्ट (https://birdfont.org/ *) का उपयोग किया (फ़्यूचूरा से शुरू नहीं, केवल ऊपरी मामले से शुरू होने वाला एक शब्द)। और फ़ाइल नाम को भी बदल रहा है लेकिन वास्तव में महत्वपूर्ण था कि फ़ॉन्ट के मेटा डेटा में फ़ॉन्ट नाम बदलना था।

तब मैंने उस नामित फ़ॉन्ट को आईओएस ऐप से जोड़ा और यह काम किया। मुझे नहीं पता कि फ़्यूचूरा के साथ समस्या क्यों हुई, लेकिन इस चाल ने समस्या हल की।

* नोट: अगर कुछ कारणों से Birdfont आपके लिए काम नहीं करता है तो FontForge (http://fontforge.github.io/en-US/) भी है।

संबंधित मुद्दे