ইউআইবাটন কাস্টম ফন্ট উল্লম্ব সারিবদ্ধকরণ


118

আমার কাছে একটি UIButtonকাস্টম ফন্ট ব্যবহার করা হয়েছে যা আমার দর্শনটি লোড হওয়ার পরে সেট করা হয়:

- (void)viewDidLoad
{
    [super viewDidLoad];    
    self.searchButton.titleLabel.font = [UIFont fontWithName: @"FONTNAME" size: 15.0 ];
}

আমি যে সমস্যাটি পেয়েছি তা হ'ল ফন্টটি মাঝের লাইনের উপরে ভেসে উঠছে। আমি যদি এই লাইনের বাইরে মন্তব্য করি তবে ডিফল্ট ফন্টটি উল্লম্বভাবে কেন্দ্রিক সূক্ষ্ম প্রদর্শিত হবে। তবে কাস্টম ফন্টে পরিবর্তন করা উল্লম্ব সারিবদ্ধতা ভেঙে দেয়।

আমি একই জিনিসটি একটি কাস্টম ফন্ট সহ একটি টেবিল সেলটিতে পাচ্ছি।

আমার কি কোথাও ভিউটি বলতে হবে যে কাস্টম ফন্টটি অন্যান্য ফন্টের মতো লম্বা নয়?

সম্পাদনা: আমি ঠিক বুঝতে পেরেছি যে ফন্টটি আমি ব্যবহার করছি এটি একটি উইন্ডোজ ট্রু টাইপ ফন্ট। আমি ম্যাকের টেক্সটএডিট এ এটি সূক্ষ্মভাবে ব্যবহার করতে পারি, আমার অ্যাপ্লিকেশনটিতে প্রান্তিককরণের ক্ষেত্রে কেবল একটি সমস্যা

বোতামের পাঠ্যটি উল্লম্বভাবে কেন্দ্রিক নয়


এই ফন্টটি (.otf, না .ttf
নিল এয়ার্ড্ট

উত্তর:


312

অনুরূপ সমস্যা কাস্টম ইনস্টল করা ফন্টে UILabel- তে সঠিকভাবে প্রদর্শিত হয়নি তা নিয়ে আলোচনা করা হয়েছিল । কোন সমাধান দেওয়া হয়নি।

আমার কাস্টম ফন্টের জন্য যে সমাধানটি কাজ করেছিল তা এখানে ইউআইএলবেল, ইউআইবাটন এবং এর মতো একই সমস্যা রয়েছে। হরফের সাথে সমস্যাটি প্রমাণিত হয়েছিল যে সিস্টেম ফন্টের মানের তুলনায় এর আরোহী সম্পত্তি খুব ছোট ছিল। আসেন্ডার হ'ল ফন্টের অক্ষরের উপরে একটি উল্লম্ব সাদা স্থান। আপনার ফন্ট ঠিক করতে আপনাকে অ্যাপল ফন্ট টুল স্যুট কমান্ড লাইন ইউটিলিটিগুলি ডাউনলোড করতে হবে । তারপরে আপনার ফন্টটি নিন এবং নিম্নলিখিতগুলি করুন:

~$ ftxdumperfuser -t hhea -A d Bold.ttf

এটি তৈরি করবে Bold.hhea.xml। এটি একটি পাঠ্য সম্পাদক দিয়ে খুলুন এবং গুণকের মান বাড়ান ascender। আপনার জন্য সবচেয়ে ভাল কাজ করে এমন সঠিক মান খুঁজে পেতে আপনাকে কিছুটা পরীক্ষা করতে হবে। আমার ক্ষেত্রে আমি এটি 750 থেকে 1200 এ পরিবর্তন করেছি Then তারপরে আপনার পরিবর্তনগুলি আবারও টিটিএফ ফাইলের সাথে একীভূত করতে নিম্নলিখিত কমান্ড লাইনটি দিয়ে আবার ইউটিলিটিটি চালান:

~$ ftxdumperfuser -t hhea -A f Bold.ttf

তারপরে আপনার অ্যাপ্লিকেশনটিতে ফলাফলের টিটিএফ ফন্টটি কেবল ব্যবহার করুন।

ওএস এক্স এল ক্যাপিটান

অ্যাপল ফন্ট টুল স্যুট ইনস্টলার এসআইপি-র কারণে ওএসএক্স এল ক্যাপিটেনে আর কাজ করে না কারণ এটি বাইনারি ফাইলগুলি সুরক্ষিত ডিরেক্টরিতে ইনস্টল করার চেষ্টা করে। আপনাকে ম্যানুয়ালি নিষ্কাশন করতে হবে ftxdumperfuser। প্রথমে dmg থেকে pkg স্থানীয় ডিরেক্টরিতে অনুলিপি করুন এবং তার OS X Font Tools.pkgসাথে আনপ্যাক করুন

~$ xar -xf OS\ X\ Font\ Tools.pkg

এখন ফোল্ডারে নেভিগেট fontTools.pkgসঙ্গে

~$ cd fontTools.pkg/

এর সাথে পেওলড বের করুন

~$ cat Payload | gunzip -dc | cpio -i

এখন ftxdumperfuserবাইনারিটি আপনার বর্তমান ফোল্ডারে রয়েছে। আপনি এটিকে সরাতে পারেন /usr/local/bin/যাতে আপনি এটি নীচের সাথে টার্মিনাল অ্যাপ্লিকেশনটির প্রতিটি ফোল্ডারে ব্যবহার করতে পারেন।

~$ mv ftxdumperfuser /usr/local/bin/

4
+1 দুর্দান্ত টিপ! এখানে আরোহী
নোড /

35
ওটিএফ ফাইলগুলির জন্য সমানভাবে ভাল কাজ করেছেন।
মোহ্পার

2
আপনি যদি এই সমাধানটির সাহায্যে সংশোধিত একটি কাস্টম ফন্ট ব্যবহার করেন এবং আপনি একাধিক লাইনের সাহায্যে একটি ইউআইটিেক্সটভিউতে পাঠ্য সেট করেন তবে আন্তঃরেখার দূরত্বটি খুব বড় হয়ে যায়।
শহরবাসী

5
আমি খুঁজে পেয়েছি যে আইওএস 7 বিটা 6 এ তারা হরফ প্রান্তিককরণের সমস্যাটি স্থির করেছে। সুতরাং আপনি যদি এই
ফিক্সটি করেন

3
এক্সকোড 9 এর জন্য হরফ সরঞ্জামগুলি আপডেট করা হয়েছে, তারা হাই সিয়েরায় সূক্ষ্ম ইনস্টল করে। সরাসরি লিঙ্ক: ডেভেলপার.এপললডাউনলোড
মোর /?=font

49

আমি শীর্ষস্থানীয় সামগ্রী (শিরোনাম নয়!) ইনসেটটি সামঞ্জস্য করে সমস্যার সমাধান করেছি।

উদাহরণস্বরূপ: বাটন.কন্টেন্টএডজিনসেটস = ইউআইইডিজইনসেটমেক (10.0, 0.0, 0.0, 0.0);

শুভকামনা!


15
এটি আমার জন্য একটি ভাল দ্রুত সমাধান যা ফন্ট সম্পাদনা করার চেষ্টা করার চেয়ে সহজ বলে মনে হয়েছিল। myButton.titleLabel.font = [ইউআইএফএন্ট ফন্টবিথনাম: @ "ফন্টনাম" আকার: 20.0]; myButton.contentEdgeInsets = UIEdgeInsetsMake (3.0, 0.0, 0.0, 0.0);
জেমি হামিক

উজ্জ্বল! ধন্যবাদ! আমার সমস্যাটি কিছুটা পৃথক ছিল, আমার ডিফল্ট ফন্ট ব্যবহার করে সরল + এবং - বোতাম ছিল এবং সেগুলি কেন্দ্রিকের চেয়ে কম উপস্থিত ছিল, আমি এখানে সমাধানটি টেক্সটটি কিছুটা বাড়ানোর জন্য সক্ষম করতে পেরেছিলাম যাতে এটি বন্ধ না হয়।
প্যাট্রিক টি নেলসন

7

এটি আপনার ফন্টের উপর নির্ভরশীল হিসাবে এটি সহায়তা করবে কিনা তা নিশ্চিত নয়, তবে এটি আপনার বেসলাইনটি ভুল উপস্থাপিত হতে পারে।

self.searchButton.titleLabel.baselineAdjustment = 
    UIBaselineAdjustmentAlignCenters;

3
UIButton এর জন্য শিরোনাম লেবেলে দুর্দান্ত কাজ করে যখন ফন্টের আকারটি সর্বনিম্নস্কেলফ্যাক্টরের সাথে সামঞ্জস্য করা হয়
স্মিট04

6

আমি মনে করি এটিই সেরা উত্তর। আরোহী, নাম্বারএফএইচএমট্রিক্স ইত্যাদির সাথে খেলছে না ... কেবল গ্লিফ অ্যাপ্লিকেশন এবং কাজ সম্পন্ন করে আমদানি-রফতানি করা হয়েছে। এই উত্তরের জন্য ধন্যবাদ: https://stackoverflow.com/a/16798036/1207684


তুমি আমার দিন বাঁচিয়েছ!
আলেš ওসকার কোচুর

আমারও! ধন্যবাদ স্যার.
জুয়ান সাগস্তি

2

ইন্টারফেস বিল্ডারে আপনি এটি ব্যবহার করে দেখতে পারেন। এটি কীভাবে করা যায় তার একটি স্ন্যাপশট এখানে -

এখানে চিত্র বর্ণনা লিখুন এখানে চিত্র বর্ণনা লিখুন

আপনি দেখতে পাচ্ছেন যে আইবিতে এটি করার চেষ্টা করার নিজস্ব সুবিধা রয়েছে।


1
সেটিংটি ইতিমধ্যে স্থানে রয়েছে এবং আইবিতে ফন্টটি উল্লম্বভাবে প্রদর্শিত হয়, তবে ডিফল্ট ফন্ট হিসাবে দেখায়। আমি যখন আমার অ্যাপ্লিকেশনটি চালিত করি তখনই আমার কাস্টম ফন্টটির মুখটি প্রদর্শিত হয় এবং এটি উল্লম্বভাবে কেন্দ্রিক হয় না
পিট

আপনি কি আইবিতে আপনার "কাস্টম ফন্ট" সেট করেন? এটি কি আইওএস ফন্টে সমর্থিত?
শ্রীকর অপালরাজু

হরফ আইবিতে সেট করা আছে, এবং আমার মূল পোস্টে নির্দিষ্ট কোড দ্বারা। এটি আসলে আইবি স্ক্রিনের মকআপে উপস্থিত হয় না, যদিও এটি আইবিতে ফন্ট নির্বাচন করে ড্রপ ডাউন করে।
পিট

2

পার্টিতে দেরীতে, তবে এই সমস্যাটি নবমবারের মতো আমাকে আঘাত করার কারণে, আমি ভেবেছিলাম যে আমি খুঁজে পেয়েছি তার সবচেয়ে সহজ সমাধানটি পোস্ট করব: পাইথন ফন্টটুলস ব্যবহার করে ।

  1. পাইথন 3 ইনস্টল করুন যদি এটি আপনার সিস্টেমে পাওয়া না যায়।

  2. ফন্টটুলগুলি ইনস্টল করুন

    pip3 install fonttools

    ফন্টটুলগুলিতে একটি টিটিএক্স সরঞ্জাম অন্তর্ভুক্ত যা এক্সএমএল থেকে এবং রূপান্তরকে সক্ষম করে।

  3. আপনার ফন্টটিকে একই ফোল্ডারে .tx এ রূপান্তর করুন

    ttx myFontFile.otf

  4. .Ttx এ প্রয়োজনীয় সম্পাদনা করুন এবং .otf ফাইলটি মুছুন কারণ এটি পরবর্তী পদক্ষেপে প্রতিস্থাপন করা হবে।

  5. ফাইলটি .otf এ আবার রূপান্তর করুন

    ttx myFontFile.ttx


প্রেরণা: kolyuchi দ্বারা সমাধান অসম্পূর্ণ, এবং এমনকি সঙ্গে এই বর্ধিত ইনস্টলেশন প্রবাহের , দৌড়ানো ftxdumperfuser10.15.2 মধ্যে Catalina উপর একটি ত্রুটি দেখা দেয়।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.