2012-01-26 10 views
36

स्थानांतरित किया गया है मुझे कस्टम यूआईएफओटी के साथ समस्या है। मैं उनमें से 6 लोड करता हूं (फ़ॉन्ट ए नियमित/बोल्ड/नियमित इटालिक/बोल्ड इटैलिक, फ़ॉन्ट बी कंडेन्स्ड/कंडेन्स्ड में वांछित रूपों में)।कस्टम यूफॉन्ट बेसलाइन

हालांकि, यहां यह क्या जब गाया देता है: enter image description here

दो प्रथम पंक्तियों ठीक हैं, लेकिन पिछले एक एक आधारभूत समस्या दर्शाती है।

मैंने फ़ॉन्टब्लैब में फ़ॉन्ट की यूपीएम, ascender, descender, x-height को बदलने की कोशिश की है ताकि यह पहले फ़ॉन्ट के मानों (जो सही ढंग से प्रस्तुत हो) से मेल खाता हो, लेकिन इसका कोई फायदा नहीं हुआ। मैंने ओटीएफ से टीटीएफ तक फ़ॉन्ट प्रारूप को परिवर्तित करने की कोशिश की है, कोई किस्मत नहीं। जो भी मैं कोशिश करता हूं, यह हमेशा इस तरह से प्रस्तुत करता है।

क्या किसी के पास इसका अनुभव है?

+0

अरे, क्या आपको इसके लिए समाधान मिला है। मैंने कई चीजों की कोशिश की है लेकिन उचित समाधान नहीं मिला है। यहां तक ​​कि यह समस्या कुछ विशिष्ट फ़ॉन्ट्स के साथ ही सभी के लिए नहीं है। – Mrunal

+0

अब तक मेरी प्रगति पर टिप्पणी: मुझे एक ही फ़ॉन्ट के लिए एक और .otf फ़ाइल मिली है; इस बार यह पूरी तरह से काम करता है। सोमवार की सुबह मैं दो फ़ॉन्ट्स के बीच मतभेदों का अध्ययन करूंगा, विशेष रूप से फ़ॉन्टलैब में "फ़ॉन्ट मेट्रिक्स" भाग, और रिपोर्ट करें कि मुझे क्या मिलेगा। – Cyrille

+3

एक ही समस्या: http://stackoverflow.com/questions/7535498/uibutton-custom-font-vertical-alignment, http: // stackoverflow।कॉम/प्रश्न/5414730/कस्टम-स्थापित-फ़ॉन्ट-प्रदर्शित-सही-सही-इन-यूलाबेल –

उत्तर

29

Here या यहां तक ​​कि here आप अपने लिए समाधान ढूंढ सकते हैं। यह सब बेसलाइन के बारे में है।

नोट एल कैपिटन पर ऐप्पल फ़ॉन्ट्स उपयोगिता स्थापित करने में कोई समस्या है। एक कामकाज के लिए https://apple.stackexchange.com/questions/211138/apple-font-tools-cannot-install-in-macbook-pro-el-capitan देखें।

फ़ॉन्ट में इन्हें संपादित करने के लिए आपको Apple फ़ॉन्ट टूल सूट डाउनलोड करने की आवश्यकता होगी। एक बार जब आप इसे इंस्टॉल कर लेंगे तो आपको टर्मिनल और खोलने की आवश्यकता है जिसमें आपकी फ़ॉन्ट शामिल है। उसके बाद निम्न आदेश दर्ज करें:

  1. ftxdumperfuser आयकर hhea -एक घ font.ttf यह एक फ़ाइल बुलाया font.hhea पैदा करेगा।xml, इस नई फ़ाइल को एक टेक्स्ट एडिटर में खोलें और समायोजक और अवरोधक के मान समायोजित करें। आम तौर पर यदि आप फ़ॉन्ट भी कम बैठते हैं तो आप आरोही को कम करना और अवरोधक वृद्धि करना चाहते हैं। संपादन के बाद और करने के लिए टर्मिनल में निम्न कमांड दर्ज अपने फ़ॉन्ट फ़ाइल को फिर से संगठित की बचत:

  2. ftxdumperfuser आयकर hhea -एक च font.ttf अब आप अपने आवेदन में font.ttf फ़ाइल का उपयोग कर सकते हैं। यदि फ़ॉन्ट अभी भी सही नहीं है, तो उपरोक्त प्रक्रिया तक दोहराएं जब तक आप खुश न हों।

या आप आसानी से NSBaselineAttributeName बदल सकते हैं इस प्रकार है:

NSAttributedString *attrStr = [[NSAttributedString alloc] initWithString:@"a string" 
           attributes:@{ NSBaselineOffsetAttributeName : @-13 }]; 
+0

जैसा कि एक साल पहले वादा किया गया था (मेरे प्रश्न पर टिप्पणियां देखें), यहां आपके लिए अंक हैं! – Cyrille

+0

मुझे लगता है कि NSBaselineOffsetAttributeName को ios6 में बहिष्कृत किया गया था। https://developer.apple.com/LIBRARY/ios/releasenotes/General/RN-iOSSDK-6_0/index.html संगतता चिंताओं के कारण, NSBaselineOffsetAttributeName विशेषता अब आईओएस 6 में समर्थित नहीं है। मैं हूं हेल्वैटिका-नेयू = में निर्मित इस मुद्दे के साथ [इसे ठीक नहीं कर सकता। –

+0

@ सेनडुनफोर्ड 'UIKIT_EXTERN एनएसएसटींग * कॉन्स एनएसबीएसलाइनऑफसेटएट्रिब्यूटनाम NS_AVAILABLE_IOS (7_0); // NSNumber में बिंदुओं में फ़्लोटिंग पॉइंट मान होता है; बेसलाइन से ऑफसेट, डिफ़ॉल्ट 0 'मूल रूप से एनएसबीएसलाइनऑफसेटएट्रिब्यूटनाम आईओएस 7.x-विशिष्ट स्थिर –

2

हाय मैं भी उस समय मैं शीर्षक सामग्री एज के लिए UIButton तदनुसार निर्धारित किया है पर इस तरह के मुद्दे का सामना करना पड़ा है।

तो अगर आप UIButtonके लिए इस फोंट का उपयोग कर रहे तो निश्चित रूप से आप इस का उपयोग कर सकते हैं।

enter image description here

आशा इस तुम बाहर में मदद मिलेगी।

+3

यह UIButtons के लिए ठीक है, लेकिन अन्य नियंत्रणों के बारे में क्या है? क्या होगा यदि कल मेरा ग्राहक एक और फ़ॉन्ट चाहता है? – Cyrille

+0

बस केंद्र संरेखण के साथ एक UILabel के साथ प्रयास करें। मुझे लगता है कि आप केवल इस समस्या का सामना करेंगे UIUuttons के लिए कहीं और नहीं। – Mrunal

+1

मेरे प्रश्न से जुड़े स्क्रीनशॉट स्पष्ट रूप से दिखाता है कि मुझे केवल UIButtons के साथ समस्या का सामना नहीं करना है, बल्कि यूआईटीएक्स्टफिल्ड्स के साथ, और वास्तव में * सभी * नियंत्रणों के लिए भी। समस्या यूआईकिट में एक विशेष नियंत्रण के प्रतिपादन के लिए नहीं, फ़ॉन्ट के मेट्रिक्स के लिए निहित है। – Cyrille

0

आपको एडोब इलस्ट्रेटर या कोरलड्रा जैसे कुछ वेक्टर सॉफ़्टवेयर में इन फोंट की तरफ से जांच करने की आवश्यकता है। यदि आपको इन सॉफ़्टवेयर में समान आधार ऑफसेट किए गए फ़ैशन में फोंट प्रतिपादन भी मिलते हैं, तो फ़ॉन्ट के साथ कुछ करना है। यानी फोंट को फ़ॉन्ट फ़ाइल में ऑफसेट के साथ ऐसे पिक्सेल ऑफसेट के साथ बनाया जा सकता है। इसलिए, किसी भी UIButton या UITextField आदि के लिए .xib पैरामीटर में ऐसे कोई भी परिवर्तन करने की आवश्यकता नहीं है

यदि संभव हो तो यहां अपनी फ़ॉन्ट फ़ाइलों को साझा करें।

+0

यही है कि मैं FontLab में क्या कर रहा हूं, क्योंकि मुझे एक और फ़ॉन्ट मिला है। बेसलाइन समस्या का प्रदर्शन नहीं करता है। – Cyrille

0

शायद UITextView/UITextLabel की संपत्ति 'thLabel.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter;' पर एक नज़र डालें।

यह लंबवत संरेखण को परिभाषित करता है। यह कुछ दिनों पहले मेरे लिए एक समान मामले में उपयोगी था

+0

यह एक अच्छा कामकाज है, लेकिन यह वास्तविक सार्वभौमिक समाधान नहीं है। उदाहरण के लिए, यह UIBarButtonItems के लिए संरेखण समस्या का समाधान नहीं करता है। – Cyrille

+0

'UITextView'' UIControl' से प्राप्त नहीं होता है, और जहां तक ​​मुझे पता है कोको टच में 'UITextLabel' मौजूद नहीं है। हो सकता है कि आप 'यूआईटीएक्स्टफिल्ल्ड' के बारे में सोच रहे हों, जो 'यूआईसींट्रोल' से प्राप्त होता है और इस प्रकार आपके द्वारा वर्णित 'सामग्री वर्टिकल एलाइनमेंट' संपत्ति होती है। –

0

तरह से एप्पल फ़ॉन्ट उपकरण सुइट करके एक प्रोग्राम है जो आपकी मदद कर सकता नहीं है। इसलिए यदि आप मैकओ की आभासी प्रतिलिपि स्थापित नहीं करना चाहते हैं, तो आप एक्स्टेंडर और अवरोधक के साथ खेलने के लिए विंडोज के लिए FontForge का उपयोग कर सकते हैं: तत्व -> फ़ॉन्ट जानकारी, फिर ओएस/2 टैब और फिर मेट्रिक्स। और अंत में फ़ॉन्ट उत्पन्न करते समय 'ऐप्पल' चेकबॉक्स को देखना न भूलें। सौभाग्य!

2

एक और दिलचस्प समाधान मैंने पाया निम्नलिखित पोस्ट से आता है:

मेरे समाधान: http://www.andyyardley.com/2012/04/24/custom-ios-fonts-and-how-to-fix-the-vertical-position-problem/

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

और वह यह कैसे करता है?

असल में वह एक बाहरी एप्पल उपकरण (https://developer.apple.com/library/ios/documentation/StringsTextFonts/Conceptual/TextAndWebiPhoneOS/CustomTextProcessing/CustomTextProcessing.html#//apple_ref/doc/uid/TP40009542-CH4-SW66 पर फ़ॉन्ट मैट्रिक्स संदर्भ देखें)

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

ftxdumperfuser -t hhea -A d font.ttf 

यह एक फ़ाइल font.hhea.xml बनाएं जिसका नाम किसी टेक्स्ट संपादक में इस नई फ़ाइल को खोलने और आरोहक और descender के लिए मूल्यों को समायोजित करेगा। आम तौर पर यदि आप बहुत कम बैठते हैं तो आप आरोही को कम करना और अवरोधक बढ़ाना चाहते हैं। संपादन के बाद और अपने फ़ॉन्ट फ़ाइल को फिर से संगठित करने के लिए टर्मिनल में निम्न कमांड दर्ज की बचत:

ftxdumperfuser -t hhea -A f font.ttf 

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

+0

हालांकि यह लिंक प्रश्न का उत्तर दे सकता है, लेकिन यहां उत्तर के आवश्यक हिस्सों को शामिल करना बेहतर है और संदर्भ के लिए लिंक प्रदान करना बेहतर है। लिंक किए गए पृष्ठ में परिवर्तन होने पर लिंक-केवल उत्तर अमान्य हो सकते हैं। – honk

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