আমি কোনও অ্যাপ্লিকেশনটিতে পাঠ্য উপস্থাপনের জন্য একটি কাস্টম ফন্ট অন্তর্ভুক্ত করতে চাই, এটি লোড করুন এবং তারপরে স্ট্যান্ডার্ড UIKit
উপাদানগুলির মতো এটি ব্যবহার করুন UILabel
। এটা কি সম্ভব?
আমি কোনও অ্যাপ্লিকেশনটিতে পাঠ্য উপস্থাপনের জন্য একটি কাস্টম ফন্ট অন্তর্ভুক্ত করতে চাই, এটি লোড করুন এবং তারপরে স্ট্যান্ডার্ড UIKit
উপাদানগুলির মতো এটি ব্যবহার করুন UILabel
। এটা কি সম্ভব?
উত্তর:
iOS 3.2 এবং পরবর্তীকালে এটি সমর্থন করে। আইফোন ওএস 3.2 ডক মধ্যে নতুন কী থেকে সরাসরি :
কাস্টম ফন্ট সমর্থনকারী
অ্যাপ্লিকেশনগুলি যা কাস্টম ফন্টগুলি ব্যবহার করতে চায় সেগুলি এখন তাদের অ্যাপ্লিকেশন বান্ডলে সেই ফন্টগুলি অন্তর্ভুক্ত করতে পারে এবং তাদের তথ্য.প্লেস্ট ফাইলে ইউআইএপিএফএফন্টস কী যুক্ত করে সিস্টেমের সাথে এই ফন্টগুলি নিবন্ধভুক্ত করতে পারে। এই কীটির মান হ'ল অ্যাপ্লিকেশনটির বান্ডেলে ফন্ট ফাইলগুলি চিহ্নিত করে স্ট্রিংগুলির একটি অ্যারে। সিস্টেমটি কীটি দেখলে এটি নির্দিষ্ট ফন্টগুলি লোড করে এবং সেগুলি অ্যাপ্লিকেশনে উপলব্ধ করে।
একবারে ফন্টগুলি সেট হয়ে গেলে Info.plist
আপনি নিজের কাস্টম ফন্টগুলি আইবিতে বা অন্য কোনও প্রোগ্রামের মতো অন্য ফন্ট হিসাবে ব্যবহার করতে পারেন।
অ্যাপল বিকাশকারী ফোরামে একটি চলমান থ্রেড রয়েছে:
https://devforums.apple.com/thread/37824 (লগইন প্রয়োজন)
এবং এটি কীভাবে অর্জন করতে হবে তার একটি দুর্দান্ত এবং সাধারণ 3 ধাপের টিউটোরিয়াল এখানে রয়েছে (ভাঙা লিঙ্কটি সরানো হয়েছে)
Info.plist
ফাইলে একটি কী যুক্ত করুন UIAppFonts
।UIAppFonts
অ্যারের আইটেম হিসাবে আপনার ফন্ট ফাইলের পুরো নাম (এক্সটেনশন সহ) লিখুনInfo.plist
[UIFont fontWithName:@"CustomFontName" size:12]
আপনার ইউআইএলবেলস এবং ইউআইটিেক্সটভিউস ইত্যাদির সাথে কাস্টম ফন্টটি ব্যবহার করতে কল করতে পারেন ...এছাড়াও: ফন্টগুলি আপনার অনুলিপি বান্ডিল সংস্থানগুলিতে রয়েছে তা নিশ্চিত করুন।
সম্পাদনা করুন: আইওএস ৩.২ হিসাবে, এই কার্যকারিতাটি অন্তর্নির্মিত you যদি আপনাকে প্রাক -৩.২ সমর্থন করতে হয় তবে আপনি এখনও এই সমাধানটি ব্যবহার করতে পারেন।
আমি একটি সাধারণ মডিউল তৈরি করেছি যা UILabel
.ttf ফাইলগুলি লোড করে এবং পরিচালনা করে। আমি এটি অ্যাপাচি লাইসেন্সের অধীনে ওপেনসোর্স প্রকাশ করেছি এবং এটি এখানে গিথুব এ রেখেছি ।
গুরুত্বপূর্ণ ফাইলগুলি হ'ল FontLabel.h
এবং FontLabel.m
।
এটি জেনেরিক্রিচের উত্তর থেকে কিছু কোড ব্যবহার করে ।
অথবা
সংস্থানগুলিতে আপনার ফন্ট ফাইলটি অনুলিপি করুন
আপনার Info.plist
ফাইলটিতে একটি চাবি যুক্ত করুন যা ইউআইএএপিএফফন্টস। ("অ্যাপ্লিকেশন দ্বারা সরবরাহ করা হরফ)
এই কীটি একটি অ্যারে করুন
আপনার প্রতিটি ফন্টের জন্য, ইউআইএএপিএফএফন্টস অ্যারেতে আইটেম হিসাবে আপনার ফন্ট ফাইলের পুরো নাম (এক্সটেনশন সহ) লিখুন
সংরক্ষণ Info.plist
এখন আপনার আবেদনে আপনি কেবল এবং [UIFont fontWithName:@"CustomFontName" size:15]
আপনার ইত্যাদির সাথে কাস্টম ফন্টটি ব্যবহার করার জন্য কল করতে পারেন ...UILabels
UITextViews
আইওএস 4 এ কাস্টম ফন্টগুলি ব্যবহার করার একটি সহজ উপায় রয়েছে ।
Chalkduster.ttf
) প্রকল্পের সংস্থান ফোল্ডারে যুক্ত করুন।info.plist
একটি নতুন কী খুলুন এবং যুক্ত করুন UIAppFonts
। এই কীটির প্রকারটি অ্যারে হওয়া উচিত।Chalkduster.ttf
) সহ এই অ্যারেটিতে আপনার কাস্টম ফন্টের নাম যুক্ত করুন ।[UIFont fontWithName:@"Chalkduster" size:16]
আপনার অ্যাপ্লিকেশন ব্যবহার করতে পারেন ।দুর্ভাগ্যক্রমে, আইবি কাস্টম ফন্টগুলির সাহায্যে লেবেল শুরু করতে দেয় না। এই সমস্যাটি সমাধান করতে এই প্রশ্নটি দেখুন । আমার প্রিয় সমাধানটি কাস্টম UILabel
সাবক্লাস ব্যবহার করা :
@implementation CustomFontLabel
- (id)initWithCoder:(NSCoder *)decoder
{
if (self = [super initWithCoder: decoder])
{
[self setFont: [UIFont fontWithName: @"Chalkduster" size: self.font.pointSize]];
}
return self;
}
@end
ইনফো.প্লিস্টে "অ্যাপ্লিকেশন দ্বারা সরবরাহ করা হরফ" এন্ট্রি যুক্ত করুন এবং ফন্টের নামগুলি স্ট্রিং হিসাবে অন্তর্ভুক্ত করুন:
Fonts provided by application
Item 0 myfontname.ttf
Item 1 myfontname-bold.ttf
...
তারপরে আপনার ফন্টটি চালিয়ে অন্তর্ভুক্ত করা হয়েছে তা নিশ্চিত করে দেখুন:
for (NSString *familyName in [UIFont familyNames]) {
for (NSString *fontName in [UIFont fontNamesForFamilyName:familyName]) {
NSLog(@"%@", fontName);
}
}
মনে রাখবেন যে আপনার টিটিএফ ফাইলের নামটি আপনার লেবেলের জন্য ফন্ট সেট করার সময় আপনি ব্যবহার করেন না একই নাম হতে পারে (আপনি "ফন্টউইথনাম" প্যারামিটার পেতে উপরের কোডটি ব্যবহার করতে পারেন):
[label setFont:[UIFont fontWithName:@"MyFontName-Regular" size:18]];
সম্পাদনা করুন: এই উত্তরটি iOS3.2 হিসাবে অকার্যকর; ইউআইএএপিএফফন্ট ব্যবহার করুন
আমি কাস্টম UIFont
গুলি সফলভাবে লোড করতে সক্ষম হলাম একমাত্র উপায় হ'ল ব্যক্তিগত গ্রাফিক্স সার্ভিস ফ্রেমওয়ার্কের মাধ্যমে।
নিম্নলিখিতটি .ttf
অ্যাপ্লিকেশনের মূল বান্ডেলে সমস্ত ফন্ট লোড করবে :
BOOL GSFontAddFromFile(const char * path);
NSUInteger loadFonts()
{
NSUInteger newFontCount = 0;
for (NSString *fontFile in [[NSBundle mainBundle] pathsForResourcesOfType:@"ttf" inDirectory:nil])
newFontCount += GSFontAddFromFile([fontFile UTF8String]);
return newFontCount;
}
ফন্টগুলি লোড হয়ে গেলে, সেগুলি কেবল অ্যাপল-সরবরাহিত ফন্টগুলির মতো ব্যবহার করা যেতে পারে:
NSLog(@"Available Font Families: %@", [UIFont familyNames]);
[label setFont:[UIFont fontWithName:@"Consolas" size:20.0f]];
ভবিষ্যতে এপিআই নিখোঁজ হওয়ার পরে গ্রাফিক্স সার্ভিসগুলি রানটাইমের সময়ও লোড করা যেতে পারে:
#import <dlfcn.h>
NSUInteger loadFonts()
{
NSUInteger newFontCount = 0;
NSBundle *frameworkBundle = [NSBundle bundleWithIdentifier:@"com.apple.GraphicsServices"];
const char *frameworkPath = [[frameworkBundle executablePath] UTF8String];
if (frameworkPath) {
void *graphicsServices = dlopen(frameworkPath, RTLD_NOLOAD | RTLD_LAZY);
if (graphicsServices) {
BOOL (*GSFontAddFromFile)(const char *) = dlsym(graphicsServices, "GSFontAddFromFile");
if (GSFontAddFromFile)
for (NSString *fontFile in [[NSBundle mainBundle] pathsForResourcesOfType:@"ttf" inDirectory:nil])
newFontCount += GSFontAddFromFile([fontFile UTF8String]);
}
}
return newFontCount;
}
[NSString sizeWithFont:[UIFont fontWithName:@"customFont" size:14]];
চেষ্টা করেছি যে কোনও কাস্টম ফন্টের জন্য 0 প্রস্থ এবং উচ্চতা প্রদান করে তাও নোট করুন ।
সঙ্গে iOS 8
+ এবং Xcode 6
+ আপনি এই সহজে করতে পারেন। পদক্ষেপ এখানে:
1) আপনার ফন্টটি Xcode
সমর্থনযোগ্য ফাইল ফোল্ডারে টেনে আনুন । টার্গেট বিভাগে যুক্ত করতে আপনার অ্যাপকে চিহ্নিত করতে ভুলবেন না । এই মুহুর্ত থেকে আপনি এই ফন্টটি ব্যবহার করতে IB
এবং এটি ফন্ট প্যালেট থেকে চয়ন করতে পারেন ।
2) এই ফন্টটি আপনার ডিভাইসে উপলভ্য করতে, আপনার খুলুন info.plist
এবং Fonts provided by application
কী যুক্ত করুন। এটিতে আইটেম 0 কী থাকবে, আপনাকে অবশ্যই নিজের ফন্টের নামটি মান হিসাবে যুক্ত করতে হবে। হরফের নাম আপনার ফন্টের ফাইলের নাম থেকে পৃথক হতে পারে। তবে প্রথমে, এই কাজটি বেশিরভাগ ক্ষেত্রে আপনার ফাইলের নাম যুক্ত করার চেষ্টা করুন।
যদি তা না হয় তবে এই নিবন্ধটি সর্বদা আমাকে সাহায্য করেছিল।
আপনাকে আপনার ফন্টের নাম সন্ধান করতে সহায়তা করার জন্য এই নিবন্ধ থেকে কোডের স্লিপ স্নিপেট এখানে দেওয়া হয়েছে।
func allFonts(){
for family in UIFont.familyNames(){
println(family)
for name in UIFont.fontNamesForFamilyName(family.description)
{
println(" \(name)")
}
}
}
আমি যে আপনি আপনার ফন্ট ফাইল যোগ করতে হবে উল্লেখ করতে চাই, টার্গেট এর বিল্ড দশা , কপি বান্ডেল সম্পদ । এটি ছাড়া, আপনি ডিভাইসে আপনার ফন্ট দেখতে পাবেন না। এবং এটি অপ্রত্যাশিত আচরণের দিকে পরিচালিত করতে পারে।
উদাহরণস্বরূপ, আমি কাস্টম ফন্ট আছে bug
যখন আমি একটি মুখোমুখি UITextField
, কিন্তু এই ফন্টটি অনুলিপি বান্ডিল সংস্থান ছিল না । আর যখন আমি segue viewcontroller
এই সঙ্গে textfield
, সেখানে 4 সেকেন্ডের সম্পর্কে একটি বিলম্ব করার আগে viewDidLoad
ফাংশন বলা হয়। হরফ হরফের সমস্যার সমাধান এই বিলম্বকে সরিয়ে দেয়। সুতরাং, এটি দুবার পরীক্ষা করার পরামর্শ দিন। (rdar: // 20028250) বিটিডব্লু, আমি বাগটি পুনরুত্পাদন করতে সক্ষম হইনি, তবে আমি নিশ্চিত যে সমস্যাটি ফন্টের সাথে ছিল।
আমি এটি এইভাবে করেছি:
ফন্টটি লোড করুন:
- (void)loadFont{
// Get the path to our custom font and create a data provider.
NSString *fontPath = [[NSBundle mainBundle] pathForResource:@"mycustomfont" ofType:@"ttf"];
CGDataProviderRef fontDataProvider = CGDataProviderCreateWithFilename([fontPath UTF8String]);
// Create the font with the data provider, then release the data provider.
customFont = CGFontCreateWithDataProvider(fontDataProvider);
CGDataProviderRelease(fontDataProvider);
}
এখন, আপনার মধ্যে drawRect:
, এই জাতীয় কিছু করুন:
-(void)drawRect:(CGRect)rect{
[super drawRect:rect];
// Get the context.
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextClearRect(context, rect);
// Set the customFont to be the font used to draw.
CGContextSetFont(context, customFont);
// Set how the context draws the font, what color, how big.
CGContextSetTextDrawingMode(context, kCGTextFillStroke);
CGContextSetFillColorWithColor(context, self.fontColor.CGColor);
UIColor * strokeColor = [UIColor blackColor];
CGContextSetStrokeColorWithColor(context, strokeColor.CGColor);
CGContextSetFontSize(context, 48.0f);
// Create an array of Glyph's the size of text that will be drawn.
CGGlyph textToPrint[[self.theText length]];
// Loop through the entire length of the text.
for (int i = 0; i < [self.theText length]; ++i) {
// Store each letter in a Glyph and subtract the MagicNumber to get appropriate value.
textToPrint[i] = [[self.theText uppercaseString] characterAtIndex:i] + 3 - 32;
}
CGAffineTransform textTransform = CGAffineTransformMake(1.0, 0.0, 0.0, -1.0, 0.0, 0.0);
CGContextSetTextMatrix(context, textTransform);
CGContextShowGlyphsAtPoint(context, 20, 50, textToPrint, [self.theText length]);
}
মূলত আপনাকে ফন্টে আপনার অফসেটটি খুঁজে পেতে (এখানে, আমাকে 29 টি দেখুন) ফন্টে খুঁজে পেতে টেক্সটটির মাধ্যমে কিছু জবরদস্তি লুপিং করতে এবং ম্যাজিক নম্বরটি দিয়ে ফিউটিং করতে হবে, তবে এটি কার্যকর হয়।
এছাড়াও, আপনাকে ফন্টটি আইনীভাবে এমবেডযোগ্য কিনা তা নিশ্চিত করতে হবে। বেশিরভাগ লোকেরা নেই এবং এমন আইনজীবী আছেন যারা এই ধরণের জিনিসটিতে বিশেষজ্ঞ হন, তাই সতর্ক হন।
CGContextShowTextAtPoint()
- যদিও এটি ইউটিএফ -8 এর সাথে কাজ করে না।
হ্যাঁ, আপনি কাস্টম ফন্টগুলি অন্তর্ভুক্ত করতে পারেন। ইউআইএফন্টের ডকুমেন্টেশনগুলি দেখুন, বিশেষত, fontWithName:size:
পদ্ধতিটি।
1) নিশ্চিত করুন যে আপনি ফন্টটি আপনার সংস্থান ফোল্ডারে অন্তর্ভুক্ত করেছেন।
2) ফন্টের "নাম" অগত্যা ফাইলের নাম নয়।
3) আপনার যে ফন্টটি ব্যবহার করার আইনী অধিকার রয়েছে তা নিশ্চিত করুন। এটি আপনার অ্যাপ্লিকেশনটিতে অন্তর্ভুক্ত করে আপনি এটি বিতরণও করছেন এবং এটি করার অধিকার আপনার থাকা দরকার।
আপনি ব্যবহার করে থাকেন xcode 4.3
, আপনি যোগ আছে font
করার Build Phase
অধীনে Copy Bundle Resources
অনুযায়ী, https://stackoverflow.com/users/1292829/arne থ্রেড মধ্যে কাস্টম হরফ Xcode 4.3 । এটি আমার পক্ষে কাজ করেছে, কাস্টম ফন্টগুলির জন্য আমার অ্যাপে কাজ করার জন্য আমি যে পদক্ষেপগুলি নিয়েছি তা এখানে:
OTF
(বা TTF
) ফাইলগুলি টেনে এনে ফেলেছি copying the files over to the project folder
।UIAppFonts
অ্যারের মধ্যে আইটেম হিসাবে তালিকাভুক্ত আপনার ফন্টগুলি সহ অ্যারে তৈরি করুন । কেবলমাত্র names
, এক্সটেনশনটি নয় (যেমন " GothamBold
", " GothamBold-Italic
")।project name
উপরের দিকে পথে ক্লিক করুন Project Navigator
।Build Phases
এক্সকোডের প্রধান অঞ্চলে প্রদর্শিত ট্যাবটিতে ক্লিক করুন ।Copy Bundle Resources
" বিভাগটি প্রসারিত "+"
করুন এবং ফন্টটি যুক্ত করতে ক্লিক করুন ।"+"
।add to the project
।এটি কীভাবে করবেন তা এখানে ধাপে ধাপে দেওয়া নির্দেশাবলী। অতিরিক্ত গ্রন্থাগার বা কোনও বিশেষ কোডিংয়ের দরকার নেই।
http://shang-liang.com/blog/custom-fonts-in-ios4/
বেশিরভাগ সময় ইস্যুটি হ'ল ফন্টের সাথে মেথড নয়। এটি করার সর্বোত্তম উপায় হ'ল ফোঁটা ব্যবহার করা যা নিশ্চিতভাবে রায়দান বা জিওজিয়ার মতো কাজ করবে। তারপরে উদ্দেশ্যযুক্ত ফন্টে পরিবর্তন করুন। যদি এটি কাজ না করে, তবে ফন্টের নামটি সঠিক নয়, বা ফন্টটি ভালভাবে তৈরি ফন্ট নয়।
আপনার বিদ্যমান আইওএস অ্যাপে একটি নতুন ফন্ট যুক্ত করা খুব সহজ।
আপনার রিসোর্স ফোল্ডারে আপনাকে হরফ যেমন ফন্ট.টিটিএফ যুক্ত করতে হবে।
আপনার আবেদন খুলুন info.plist
। "অ্যাপ্লিকেশন দ্বারা সরবরাহ করা হরফ" হিসাবে একটি নতুন সারি যুক্ত করুন এবং ফন্টের নাম ফন্ট.টিটিএফ হিসাবে টাইপ করুন।
এবং ফন্ট হিসাবে সেট করার সময় হিসাবে setFont:"corresponding Font Name"
আপনার ফন্ট যুক্ত হয়েছে কিনা তা আপনি পরীক্ষা করতে পারেন NSArray *check = [UIFont familyNames];
।
এটি আপনার অ্যাপ্লিকেশন সমর্থন সমস্ত ফন্ট ফেরত দেয়।
আমি এখানে আমার প্রিয় একটি সংক্ষিপ্ত টিউটোরিয়াল অনুসরণ করার পরামর্শ দেব: http://codewithchris.com/common-mistakes-with-adding-custom-fouts-to-your-ios-app/ যেখান থেকে এই তথ্যটি আসে।
পদক্ষেপ 1 - আপনার প্রকল্পের মধ্যে ফাইন্ডার থেকে আপনার .ttf বা .otf টেনে আনুন
দ্রষ্টব্য - আপনার প্রধান অ্যাপ্লিকেশন টার্গেটে 'লক্ষ্যবস্তুতে যুক্ত করতে' বক্সটি ক্লিক করতে ভুলবেন না
আপনি যদি এটিকে আপনার টার্গেটে যুক্ত করতে ক্লিক করতে ভুলে যান তবে আপনার প্রকল্পের স্তরক্রমের ফন্ট ফাইলটিতে ক্লিক করুন এবং ডান পাশের প্যানেলে লক্ষ্য সদস্যপদ বিভাগের মূল অ্যাপ্লিকেশন টার্গেটটি ক্লিক করুন
নিশ্চিত করুন যে আপনার ফন্ট নিশ্চিত তারা আপনার দেখা আপনার অ্যাপ লক্ষ্য করা অংশ করতে কপি বান্ডেল সম্পদ মধ্যে দশা বিল্ড
পদক্ষেপ 2 - আপনার প্লিস্টে ফন্ট ফাইলের নাম যুক্ত করুন
আপনার তথ্য বিভাগে কাস্টম আইওএস টার্গেট বৈশিষ্ট্যে যান এবং বিভাগটির আইটেমগুলিতে একটি চাবি যুক্ত করুন (আপনি এটি টাইপ করার সাথে সাথে এটি একটি বিকল্প হিসাবে উপস্থিত হওয়া উচিত এবং এটি নিজেকে অ্যারে হিসাবে সেট আপ করবে the ছোট তীরটি ক্লিক করুন অ্যারে আইটেমগুলি খোলার জন্য এবং আপনার অ্যাপ্লিকেশনকে এটি জানানোর জন্য যে আপনি যুক্ত করেছেন সেগুলি .ttf বা .otf ফাইলের নাম টাইপ করুন এবং এটি আপনার ফন্ট ফাইলগুলি উপলভ্য করতে চানFonts provided by application
দ্রষ্টব্য - এই ধাপের পরে যদি আপনার অ্যাপ্লিকেশনটি ক্র্যাশ হয়ে যায় তবে আপনি এখানে যুক্ত আইটেমগুলিতে আপনার বানানটি পরীক্ষা করুন
পদক্ষেপ 3 - আপনার ফন্টগুলির নামগুলি সন্ধান করুন যাতে আপনি সেগুলি কল করতে পারেন
বেশিরভাগ ক্ষেত্রে আপনার অ্যাপ্লিকেশন দ্বারা দেখা ফন্টের নামটি হ'ল এই ফন্টের ফাইলনামের উপর ভিত্তি করে বলে মনে হয় তার থেকে আলাদা হয়, আপনার কোডটিতে এটি রাখুন এবং আপনার কোডটিতে ফন্টের নামটি কল করতে আপনার অ্যাপ্লিকেশনটি যে লগটি দেখায় তা দেখুন
দ্রুতগতি
for family: String in UIFont.familyNames(){
print("\(family)")
for names: String in UIFont.fontNamesForFamilyName(family){
print("== \(names)")
}
}
উদ্দেশ্য গ
for (NSString* family in [UIFont familyNames]){
NSLog(@"%@", family);
for (NSString* name in [UIFont fontNamesForFamilyName: family]){
NSLog(@" %@", name);
}
}
আপনার লগ এ জাতীয় কিছু দেখতে হবে:
পদক্ষেপ 4 - পদক্ষেপ 3 থেকে নামটি ব্যবহার করে আপনার নতুন কাস্টম ফন্টটি ব্যবহার করুন
দ্রুতগতি
label.font = UIFont(name: "SourceSansPro-Regular", size: 18)
উদ্দেশ্য গ
label.font = [UIFont fontWithName:@"SourceSansPro-Regular" size:18];
এটি এখনও আউট হয়নি, তবে কোকোস 2 ডি (2 ডি গেম ফ্রেমওয়ার্ক) এর পরবর্তী সংস্করণ অক্ষর মানচিত্র হিসাবে পরিবর্তনশীল দৈর্ঘ্যের বিটম্যাপ ফন্টকে সমর্থন করবে।
http://code.google.com/p/cocos2d-iphone/issues/detail?id=317
এই সংস্করণটির জন্য লেখকের কোনও মুক্তির তারিখ নেই, তবে আমি এমন একটি পোস্ট দেখলাম যা এটি নির্দেশ করেছিল যে এটি পরবর্তী বা দুই মাসে হবে।
একটি গুরুত্বপূর্ণ নোটিশ: আপনার ফন্টের সাথে যুক্ত "পোস্টস্ক্রিপ্টের নাম" ব্যবহার করা উচিত, এর পুরো নাম বা পরিবারের নাম নয়। এই নামটি প্রায়শই ফন্টের সাধারণ নামের থেকে আলাদা হতে পারে be
এই পদক্ষেপ অনুসরণ করুন
1) আপনার প্রকল্পে আপনার ফন্ট অনুলিপি করুন
2) .plist
সোর্স কোড মোডে আপনার ফাইলটি খুলুন ... (দ্রষ্টব্য- খুলুন না info.plist
)
3) তার আগে - আপনার ফন্টটিতে ডান ক্লিক করুন এবং install
এটি আপনার সিস্টেমে ফন্টফোরেজ বা অনুরূপ সম্পাদক এবং এটি খুলুন , এটি হওয়া উচিতinstall
4) এটি টাইপ করুন
<key>UIAppFonts</key>
<array>
<string>MyriadPro.otf</string>
</array>
5) আপনার কোডটি টাইপ করুন class .m
[lblPoints setFont:[UIFont fontWithName:@"Myriad Pro" size:15.0]];
এখানে এলবিএলপয়েন্টগুলি আপনার হিসাবে পরিবর্তন হবে UILabel
সম্পন্ন!! এখনও যদি আপনার ফন্টটি কাজ না করে তবে প্রথমে আপনার ফন্টের সামঞ্জস্যতা পরীক্ষা করুন
info.plist
?
হতে পারে লেখক ফন্টটি একটি ম্যাক FOND নাম দিতে ভুলে গেছেন ?
আপনি রফতানি কথোপকথনে "অ্যাপল" বিকল্পটি চেষ্টা করে দেখতে পারেন।
অস্বীকৃতি : আমি আইফোন বিকাশকারী নই!
আমি এই পৃষ্ঠায় বিভিন্ন পরামর্শ আইওএস ৩.১.২ এ চেষ্টা করে যাচ্ছি এবং এগুলি আমার সিদ্ধান্তে:
[UIFont fontWithName:size:]
রিসোর্স ডিরেক্টরিতে ফন্টগুলির সাথে সহজেই ব্যবহার করা কার্যকর হবে না, এমনকি ফন্টফর্স ব্যবহার করে FOND নাম সেট করা থাকলেও।
[UIFont fontWithName:size:]
GSFontAddFromFile ব্যবহার করে ফন্টগুলি প্রথমে লোড করা হলে কাজ করবে। তবে GSFontAddFromFile
আইওএস ৩.১.২ এর অংশ নয় তাই এটি @ প্রেরিতরিচের বর্ণিত হিসাবে গতিশীলভাবে লোড করতে হবে।
খুঁজে দেখো ATSApplicationFontsPath
একটি সাধারণ plist এন্ট্রি যা আপনাকে আপনার অ্যাপ্লিকেশন রিসোর্স ফোল্ডারে ফন্ট ফাইল (গুলি) অন্তর্ভুক্ত করতে দেয় এবং তারা আপনার অ্যাপ্লিকেশনটিতে "কেবলমাত্র কাজ করে"।
আমি এই পৃষ্ঠার কিছু পরামর্শকে এমন কিছুতে সংযুক্ত করেছি যা আইওএস 5-এ আমার জন্য কাজ করে।
প্রথমত, আপনাকে আপনার প্রকল্পে কাস্টম ফন্ট যুক্ত করতে হবে। তারপরে, আপনাকে @iPhoneDev এর পরামর্শ অনুসরণ করতে হবে এবং আপনার তথ্য.পালিস্ট ফাইলটিতে ফন্ট যুক্ত করতে হবে।
আপনি এটি করার পরে, এটি কাজ করে:
UIFont *yourCustomFont = [UIFont fontWithName:@"YOUR-CUSTOM-FONT-POSTSCRIPT-NAME" size:14.0];
[yourUILabel setFont:yourCustomFont];
তবে আপনার ফন্টের পোস্টস্ক্রিপ্টের নামটি জানতে হবে। আপনি ফন্টবুক এ থাকাকালীন @ ড্যানিয়েল উডের পরামর্শ অনুসরণ করুন এবং কমান্ড-i টিপুন।
তারপরে, আপনার কাস্টম ফন্টটি উপভোগ করুন।
প্রথমে আপনার সংস্থানগুলিতে .odt ফর্ম্যাটে ফন্ট যুক্ত করুন, এক্ষেত্রে আমরা DINEngschriftStd.otf ব্যবহার করব, তারপরে ফন্টটি লেবেলে বরাদ্দ করতে এই কোডটি ব্যবহার করব
[theUILabel setFont:[UIFont fontWithName:@"DINEngschriftStd" size:21]];
আপনার ফন্টটি প্রজেক্টে লোড হয়েছে তা নিশ্চিত করার জন্য কেবল কল করুন
NSLog(@"Available Font Families: %@", [UIFont familyNames]);
.Plist এ আপনাকে অবশ্যই ফন্টটি ঘোষণা করতে হবে। কেবলমাত্র 'অ্যাপ্লিকেশন দ্বারা সরবরাহ করা হরফ' রেকর্ড করুন এবং ফন্টের নাম সহ একটি আইটেম 0 স্ট্রিং যুক্ত করুন (DINEngschriftStd.otf)
আইওএস ৩.২ এবং তারপরের জন্য: উপরের কয়েকটি দ্বারা সরবরাহিত পদ্ধতিগুলি ব্যবহার করুন, যা হ'ল:
[UIFont fontWithName:@"Real Font Name" size:16]
আপনার অ্যাপ্লিকেশন ব্যবহার করুন ।কিন্তু "রিয়াল ফন্ট নাম" সবসময় আপনি Fontbook মধ্যে দেখতে নয়। সর্বোত্তম উপায় হ'ল আপনার ডিভাইসটি কোন ফন্টগুলি দেখায় এবং সঠিক নামগুলি তা জিজ্ঞাসা করা।
আমি পোস্ট করা ইউআইফন্ট-নাম-গ্র্যাবার ব্যবহার করি: uifont-name-grabber
এক্সকোড প্রজেক্টে আপনি চান ফন্টগুলি কেবল ফেলে দিন, ফাইলটির নামটি তার প্লাস্টে যুক্ত করুন এবং আপনি যে ডিভাইসটি তৈরি করছেন তাতে চালান, এটি UIFont fontWithName:
প্রত্যাশার নাম ব্যবহার করে আপনাকে একটি সম্পূর্ণ ফন্ট তালিকা ইমেল করবে ।
আইওএস ৪.১ দিয়ে শুরু করে কাস্টম ফন্টগুলি ব্যবহার করার একটি নতুন উপায় রয়েছে। এটি আপনাকে ফন্টগুলি গতিশীলভাবে লোড করতে দেয়, অ্যাপ্লিকেশন সহ অন্তর্ভুক্ত ফাইলগুলি হতে পারে, ডাউনলোড করা ডেটা বা আপনার কাছে কী রয়েছে। এটি আপনাকে ফন্টগুলি যেমন প্রয়োজন তেমন লোড করতে দেয়, তবে পুরানো পদ্ধতিটি অ্যাপ স্টার্টআপের সময় এগুলি সমস্ত লোড করে দেয়, আপনার অনেক ফন্ট থাকলে খুব বেশি সময় নিতে পারে।
নতুন পদ্ধতিটি আইওএস-ডায়নামিক-ফন্ট-লোডিংয়ে বর্ণনা করা হয়েছে
আপনি CTFontManagerRegisterGraphicsFont
আপনার ফন্টের ডেটা দিয়ে এটি একটি বাফার দিয়ে ফাংশনটি ব্যবহার করেন । এটি তখন UIFont
পুরানো পদ্ধতির মতোই এবং ওয়েব দর্শনে উপলভ্য । সেই লিঙ্কটি থেকে এখানে নমুনা কোডটি দেওয়া হয়েছে:
NSData *inData = /* your font-file data */;
CFErrorRef error;
CGDataProviderRef provider = CGDataProviderCreateWithCFData((CFDataRef)inData);
CGFontRef font = CGFontCreateWithDataProvider(provider);
if (! CTFontManagerRegisterGraphicsFont(font, &error)) {
CFStringRef errorDescription = CFErrorCopyDescription(error)
NSLog(@"Failed to load font: %@", errorDescription);
CFRelease(errorDescription);
}
CFRelease(font);
CFRelease(provider);
kCTFontManagerErrorAlreadyRegistered
, "ফাইলটি ইতিমধ্যে নির্দিষ্ট ক্ষেত্রে নিবন্ধভুক্ত করা হয়েছে।" বিকাশকারী.অ্যাপল
আপনার প্রকল্পে প্রয়োজনীয় ফন্টগুলি যুক্ত করুন (চিত্রগুলি যুক্ত করার মতো, কেবল এক্সকোডে টানুন), নিশ্চিত করুন যে তারা আপনার প্রকল্পে লক্ষ্যযুক্ত হয়েছে
এই পদ্ধতিটি যুক্ত করুন এবং কাস্টম ফন্টগুলি লোড করুন (প্রস্তাবিত appDelegate didFinishLaunchingWithOptions
)
func loadFont(filePath: String) {
let fontData = NSData(contentsOfFile: filePath)!
let dataProvider = CGDataProviderCreateWithCFData(fontData)
let cgFont = CGFontCreateWithDataProvider(dataProvider)!
var error: Unmanaged<CFError>?
if !CTFontManagerRegisterGraphicsFont(cgFont, &error) {
let errorDescription: CFStringRef = CFErrorCopyDescription(error!.takeUnretainedValue())
print("Unable to load font: %@", errorDescription, terminator: "")
}
}
উদাহরণ ব্যবহার করুন:
if let fontPath = NSBundle.mainBundle().pathForResource("My-Font", ofType: "ttf"){
loadFont(fontPath)
}
হরফ ব্যবহার করুন:
UIFont(name: "My-Font", size: 16.5)
যদিও উপরের কয়েকটি উত্তর সঠিক, আমি ফন্টে সমস্যা থাকা লোকদের জন্য একটি বিস্তারিত ভিজ্যুয়াল টিউটোরিয়াল লিখেছি।
উপরের যে সমাধানগুলি আপনাকে ফন্টটি প্লিস্ট এবং যুক্ত করতে যোগ করতে বলবে
[self.labelOutlet setFont:[UIFont fontWithName:@"Sathu" size:10]];
সঠিক হয়। দয়া করে এখন অন্য কোনও হ্যাকিশ উপায় ব্যবহার করুন। আপনি যদি এখনও হরফের নামগুলি খুঁজে পেতে এবং এগুলি যুক্ত করতে সমস্যায় পড়ে থাকেন তবে এখানে টিউটোরিয়ালটি রয়েছে -
হ্যাঁ আপনি আপনার অ্যাপ্লিকেশনটিতে কাস্টম ফন্ট ব্যবহার করতে পারেন
সেখানে ধাপে ধাপে অনুসরণ:
সহায়ক প্রকল্পে আপনার প্রকল্পে আপনার কাস্টম ফন্ট ফাইল যুক্ত করুন
আপনার আইআইএএপিএফফন্টস নামে একটি তথ্য যুক্ত করুন।
এই কীটি একটি অ্যারে করুন
আপনার প্রতিটি ফন্টের জন্য, ইউআইএএপিএফএফন্টস অ্যারেতে আইটেম হিসাবে আপনার ফন্ট ফাইলের পুরো নাম (এক্সটেনশন সহ) লিখুন
তথ্য সংরক্ষণ করুন.পরেলিস্ট এখন আপনার অ্যাপ্লিকেশনটিতে আপনি কেবলমাত্র [ইউআইফোন্ট ফন্টউইথনাম: @ "আপনার কাস্টম ফন্টের নাম" আকার: ২০] কল করতে পারেন যদি আপনার ইউআইএলবেলগুলি প্রয়োগ করার পরে কাস্টম ফন্টটি প্রয়োগ করার পরে এটি সঠিকভাবে না পেয়ে থাকে তবে ডাবল ক্লিক করুন কাস্টম ফন্টে, এবং সাবধানতার সাথে দেখুন শীর্ষ পাশের ফন্টের নাম আসছে এবং এই ফন্টটি অনুলিপি করুন, এখানে পেস্ট করুন [ইউআইফোন্ট ফন্টউইননাম: @ "এখানে আপনার কাস্টম ফন্টের নাম" আকার: 20]
আমি আশা করি আপনি সঠিক উত্তর পাবেন
হ্যাঁ আপনি আপনার অ্যাপ্লিকেশনটিতে কাস্টম ফন্ট ব্যবহার করতে পারেন
সেখানে ধাপে ধাপে অনুসরণ:
Info.plist
ফাইলটিতে একটি চাবি যুক্ত করুন যা ইউআইএএপিএফফন্টস।Info.plist
আপনার অ্যাপ্লিকেশনে এখনই সংরক্ষণ করুন আপনি নিজের [UIFont fontWithName:@"your Custom font Name" size:20]
সাথে কাস্টম ফন্টটি ব্যবহার করতে কল করতে পারেনUILabels
এটি প্রয়োগ করার পরে যদি আপনার সঠিক ফন্ট না পাওয়া যায় তবে আপনি কাস্টম ফন্টটিতে ডাবল ক্লিক করুন এবং সাবধানতার সাথে দেখুন শীর্ষ পাশের ফন্টের নামটি আসছে এবং এই ফন্টটি অনুলিপি করুন, পেস্ট করুন, এখানে [UIFont fontWithName:@" here past your Custom font Name" size:20]
আমি আশা করি আপনি সঠিক উত্তর পাবেন