ios - আইফোনে গান ডাউনলোড




আমি একটি আইফোন অ্যাপ্লিকেশন একটি কাস্টম ফন্ট এম্বেড করতে পারি? (20)

সুইফ্ট, কোড উপায়: (দ্রুত 2.0 সঙ্গে কাজ করে)

আপনার প্রোজেক্টে প্রয়োজনীয় ফন্টগুলি যুক্ত করুন (চিত্রগুলি যুক্ত করার মতো, শুধু Xcode এ টেনে আনুন), নিশ্চিত করুন যে তারা আপনার প্রকল্পে লক্ষ্যযুক্ত রয়েছে
এই পদ্ধতি যোগ করুন এবং কাস্টম ফন্ট লোড করুন (প্রস্তাবিত 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)

এই প্রশ্নটি iOS pre-3.2 সম্পর্কিত। 3.2 হিসাবে, এই কার্যকারিতাটি সামারমেট এর উত্তরটি ব্যবহার করে সহজেই অর্জনযোগ্য এবং আমি এটি প্রতিফলিত করার জন্য গৃহীত উত্তর (কমান্ড থেকে সমরমেট) পরিবর্তন করেছি। আমি উভয় উত্তর (আপভোট ছাড়াও) উভয় ক্রেডিট দিতে পারে না কিন্তু তারা উভয় ভাল।

আমি একটি অ্যাপ্লিকেশন টেক্সট রেন্ডারিং, এটি লোড করার জন্য একটি কাস্টম ফন্ট অন্তর্ভুক্ত করতে চান, এবং তারপর UIKit মত মান UIKit উপাদানের সঙ্গে এটি ব্যবহার করতে চাই। এটা কি সম্ভব?

আমি নীচের লিঙ্ক খুঁজে পাওয়া যায় নি:

কিন্তু এইগুলি আমাকে প্রতিটি গ্লিফ রেন্ডার করতে হবে, যা কঠোর পরিশ্রমের মতো কিছুটা বেশি, বিশেষত মাল্টি-লাইন পাঠ্যের জন্য।

আমি এমন পোস্টগুলি খুঁজে পেয়েছি যা সরাসরি বলে না যে এটি সম্ভব নয়, কিন্তু যুক্তিযুক্ত ছাড়া, তাই আমি একটি সুনির্দিষ্ট উত্তর খুঁজছি।

সম্পাদনা করুন - ব্যর্থ হয়েছে -[UIFont fontWithName:size:] পরীক্ষা

আমি Harrowprint.tff ডাউনলোড করেছি ( here থেকে ডাউনলোড) এবং আমার সংস্থান ডিরেক্টরি এবং প্রকল্পে এটি যোগ করা হয়েছে। আমি তারপর এই কোড চেষ্টা করেছিলাম:

UIFont* font = [UIFont fontWithName:@"Harrowprint" size:20];

যার ফলে একটি ব্যতিক্রম নিক্ষেপ করা হয়। ফাইন্ডারে টিটিএফ ফাইলটি দেখছেন নিশ্চিত করেছেন যে ফন্টের নাম হ্যার্রপ্রিন্ট।

সম্পাদন করুন - অনেকগুলি উত্তর আছে যা আমাকে এক্স বা ওয়াই-তে ডকুমেন্টেশন পড়তে বলে। আমি এই সবগুলির সাথে ব্যাপকভাবে পরীক্ষা করেছি এবং কোথাও নেই। এক ক্ষেত্রে, এক্সটি কেবলমাত্র ওএস এক্স তে প্রাসঙ্গিক হতে পারে, আইফোনগুলিতে নয়। ফলস্বরূপ, আমি এই প্রশ্নের জন্য একটি অনুদান দিচ্ছি, এবং আমি উত্তর প্রদানকারী (যিনি শুধুমাত্র নথিবদ্ধ API গুলি ব্যবহার করে) প্রথম ব্যক্তিকে দানটি পুরস্কৃত করব যারা এই ডিভাইসে এটি পেতে যথেষ্ট তথ্য দিয়ে সাড়া দেয়। সিমুলেটর কাজ খুব একটি বোনাস হবে।

সম্পাদন করুন - এটি মনে হয় যে সর্বোচ্চ সংখ্যক ভোটের সাথে উত্তরের স্বতন্ত্র স্বতন্ত্র পুরস্কার। মজাদার. কেউ আসলেই উত্তর হিসাবে উত্তরটি সমাধান করে নি যে প্রশ্নটি সমাধান করেছে - আপনার নিজের UILabel subclass কোডিংয়ের UILabel শব্দ-মোড়ানো সমর্থন করে না, যা আমার জন্য একটি প্রয়োজনীয় বৈশিষ্ট্য - যদিও আমি অনুমান করি যে এটির জন্য আমি এটি প্রসারিত করতে পারি।


Info.plist এ "অ্যাপ্লিকেশন দ্বারা প্রদত্ত ফন্ট" এন্ট্রি যোগ করুন এবং ফন্ট নামগুলি স্ট্রিং হিসাবে অন্তর্ভুক্ত করুন:

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]];

আইওএস 3.2 এবং তারপরেও: উপরের কয়েকটি দ্বারা প্রদত্ত পদ্ধতিগুলি ব্যবহার করুন, যা:

  1. XCode প্রকল্পটির সংস্থান ফোল্ডারে আপনার ফন্ট ফাইলটি (উদাহরণস্বরূপ, Chalkduster.ttf ) যোগ করুন।
  2. Info.plist খুলুন এবং UIAppFonts নামক একটি নতুন কী যুক্ত করুন। এই কী ধরনের অ্যারে করা উচিত।
  3. এক্সটেনশান (" Chalkduster.ttf ") সহ এই অ্যারে আপনার কাস্টম ফন্টের নাম যুক্ত করুন।
  4. আপনার অ্যাপ্লিকেশানে [UIFont fontWithName:@"Real Font Name" size:16] ব্যবহার করুন।

কিন্তু "রিয়েল ফন্ট নাম" সবসময় আপনি ফন্টবুক দেখতে পাবেন না। সেরা উপায় হল আপনার ডিভাইসটি যা ফন্টটি দেখে এবং সঠিক নামগুলি কী তা জিজ্ঞাসা করে।

আমি Uifont-name- uifont-name-grabber এ পোস্ট করা ব্যবহার করুন: uifont-name-grabber

শুধু আপনার পছন্দের ফন্টগুলিকে xcode প্রকল্পে ছেড়ে দিন, ফাইলের নামটি তার প্লেস্টে যোগ করুন এবং আপনার জন্য তৈরি ডিভাইসটিতে এটি চালান, এটি UIFont fontWithName: ফন্ট UIFont fontWithName: নামগুলি ব্যবহার করে আপনাকে একটি সম্পূর্ণ ফন্ট তালিকা ইমেল করবে।


আইওএস 3.2 এবং পরে এই সমর্থন। আইফোন ওএস 3.2 ডক এ নতুন কি থেকে সোজা:

কাস্টম ফন্ট সমর্থন
কাস্টম ফন্টগুলি ব্যবহার করতে চান এমন অ্যাপ্লিকেশনগুলি এখন তাদের ফন্টগুলি তাদের অ্যাপ্লিকেশন বান্ডলে অন্তর্ভুক্ত করতে পারে এবং তাদের ফন্টগুলি তাদের ইনফরম.প্লস্ট ফাইলে UIAppFonts কী সহ সিস্টেমের সাথে নিবন্ধন করে। এই কীটির মান অ্যাপ্লিকেশনের বান্ডেলের ফন্ট ফাইল সনাক্তকারী স্ট্রিংগুলির একটি অ্যারে। সিস্টেমটি কীটি দেখলে, এটি নির্দিষ্ট ফন্টগুলি লোড করে এবং অ্যাপ্লিকেশনটিতে সেগুলি উপলব্ধ করে।

একবার Info.plist ফন্টগুলি সেট করা হয়ে Info.plist , আপনি আপনার কাস্টম ফন্টগুলি আইবি বা প্রোগ্রামটিতে অন্য কোনও ফন্ট হিসাবে ব্যবহার করতে পারেন।

অ্যাপল বিকাশকারী ফোরামে চলমান থ্রেড রয়েছে:
https://devforums.apple.com/thread/37824 (লগইন প্রয়োজন)

এবং এখানে একটি চমৎকার এবং সহজ 3 টি টিউটোরিয়াল এটি কীভাবে অর্জন করা যায় (টিউটোরিয়াল লিঙ্ক সরানো হয়েছে)

  1. সম্পদ হিসাবে Xcode ব্যবহার করে আপনার প্রকল্পে আপনার কাস্টম ফন্ট ফাইল যোগ করুন
  2. Info.plist নামক আপনার Info.plist ফাইলটিতে একটি কী যুক্ত করুন।
  3. এই কী একটি অ্যারে করুন
  4. আপনার প্রতিটি ফন্টের জন্য, UIAppFonts অ্যারের আইটেমগুলির মতো আপনার ফন্ট ফাইলের পূর্ণ নাম (এক্সটেনশান সহ) UIAppFonts
  5. Info.plist সংরক্ষণ করুন
  6. আপনার অ্যাপ্লিকেশনটিতে আপনি কেবল আপনার UILabels এবং UITextViews , ইত্যাদি ব্যবহার করার জন্য কাস্টম ফন্ট পেতে [UIFont fontWithName:@"CustomFontName" size:12] করতে পারেন।

এছাড়াও: ফন্টগুলি আপনার অনুলিপি বান্ডেল রিসোর্সের মধ্যে আছে তা নিশ্চিত করুন।


আপনি যদি xcode 4.3 ব্যবহার করেন তবে আপনাকে Copy Bundle Resources অধীনে Build Phase font যুক্ত করতে হবে, xcode 4.3 https://.com/users/1292829/arne অনুসারে, কাস্টম ফন্টগুলি এক্সকোড 4.3 । এটি আমার জন্য কাজ করেছে, আমার অ্যাপ্লিকেশানে কাজ করার জন্য আমি কাস্টম ফন্টগুলির জন্য এই পদক্ষেপগুলি গ্রহণ করেছি:

  1. আপনার প্রকল্পের ফন্ট যোগ করুন। আমি টেনে আছি এবং OTF (বা TTF ) ফাইলগুলিকে আমি তৈরি করেছি এমন একটি নতুন গোষ্ঠীতে ফেলে দিয়েছি এবং copying the files over to the project folder জন্য xcode এর পছন্দ গ্রহণ করেছি।
  2. অ্যারের মধ্যে আইটেম হিসাবে তালিকাভুক্ত আপনার ফন্ট সঙ্গে UIAppFonts অ্যারে তৈরি করুন। শুধু names , এক্সটেনশন নয় (যেমন " GothamBold ", " GothamBold-Italic ")।
  3. পর্দার বাম দিকে Project Navigator এর উপরে project name ক্লিক করুন।
  4. এক্সকোডের প্রধান এলাকায় প্রদর্শিত Build Phases ট্যাবে ক্লিক করুন।
  5. " Copy Bundle Resources " বিভাগটি প্রসারিত করুন এবং ফন্ট যুক্ত করতে "+" ক্লিক করুন।
  6. ফাইল নেভিভিটর থেকে ফন্ট ফাইলটি নির্বাচন করুন যা "+" ক্লিক করলে খোলা থাকে।
  7. আপনি add to the project প্রতিটি ফন্ট add to the project

আমি iOS 3.1.2 এ এই পৃষ্ঠার বিভিন্ন পরামর্শগুলি চেষ্টা করে দেখছি এবং এটি আমার সিদ্ধান্ত:

কেবলমাত্র [UIFont fontWithName:size:] ব্যবহার করে FOND নাম সেট করা থাকলেও সংস্থান ডিরেক্টরির মধ্যে ফন্টগুলির সাথে [UIFont fontWithName:size:] ফন্ট [UIFont fontWithName:size:] ব্যবহার করা হবে না।

[UIFont fontWithName:size:] যদি ফন্টগুলি GSFontAddFromFile ব্যবহার করে প্রথমে লোড হয় তবে কাজ করবে। কিন্তু GSFontAddFromFile iOS 3.1.2 এর অংশ নয় তাই এটি @Rpetrich দ্বারা বর্ণিত হিসাবে গতিশীলভাবে লোড করা প্রয়োজন।


আমি এই মত এই কাজ করেছেন:

ফন্ট লোড করুন:

- (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 ব্যবহার করে দেখুন) খুঁজে পেতে জাদু নম্বর দিয়ে futzing করতে হবে, কিন্তু এটি কাজ করে।

এছাড়াও, আপনাকে নিশ্চিত করতে হবে যে ফন্টটি আইনত যুক্তিসঙ্গত। সর্বাধিক এবং জিনিস এই ধরনের বিশেষজ্ঞ যারা আইনজীবী হয়, তাই সতর্ক করা।


আমি এখানে আমার প্রিয় ছোট টিউটোরিয়ালগুলির একটি অনুসরণ করার সুপারিশ করব: http://codewithchris.com/common-mistakes-with-adding-custom-fonts-to-your-ios-app/ যা থেকে এই তথ্য আসে।

ধাপ 1 - আপনার প্রকল্পে আপনার .ttf বা .otf ফাইন্ডার থেকে টেনে আনুন

উল্লেখ্য - আপনার প্রধান অ্যাপ্লিকেশন লক্ষ্যে 'লক্ষ্যগুলিতে যোগ করুন' বাক্সে ক্লিক করতে ভুলবেন না

আপনি যদি আপনার লক্ষ্যটিতে এটি যোগ করতে ক্লিক করতে ভুলে গেছেন তবে আপনার প্রকল্প শ্রেণীকক্ষের ফন্ট ফাইলটিতে ক্লিক করুন এবং ডান দিকের প্যানেলে টার্গেট সদস্য বিভাগে প্রধান অ্যাপ্লিকেশন লক্ষ্যটি ক্লিক করুন

আপনার ফন্টগুলি আপনার অ্যাপ্লিকেশন লক্ষ্যের অংশ হিসাবে নিশ্চিত হয়ে নিন তা নিশ্চিত করুন যে তারা আপনার কপির বান্ডেল সংস্থানগুলিতে বিল্ড ফেজগুলিতে প্রদর্শিত হবে

পদক্ষেপ 2 - আপনার প্লাস্টারে ফন্ট ফাইল নাম যোগ করুন

আপনার তথ্য বিভাগে কাস্টম আইওএস টার্গেটে প্রোপার্টিজগুলিতে যান এবং Fonts provided by application নামক বিভাগে আইটেমগুলির একটি কী যুক্ত করুন (আপনি এটি টাইপ করার সময় এটি একটি বিকল্প হিসাবে আসেন এবং এটি একটি অ্যারে হিসাবে নিজেকে সেট করবে। অ্যারের আইটেমগুলি খোলার জন্য ছোট তীরটি ক্লিক করুন এবং আপনার অ্যাপ্লিকেশানটিকে আপনি যে ফন্ট ফাইলগুলি উপলব্ধ করতে চান তা যোগ করতে .ttf বা .otf ফাইলের নামগুলিতে টাইপ করুন।

দ্রষ্টব্য - যদি আপনার অ্যাপ্লিকেশনটি এই পদক্ষেপের পরে সঠিকভাবে বিপর্যস্ত হয় তবে আপনি এখানে যোগ করা আইটেমগুলিতে আপনার বানান পরীক্ষা করুন

পদক্ষেপ 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

লেখকটির এই সংস্করণটির জন্য একটি উন্মুক্ত মুক্তির তারিখ নেই, তবে আমি একটি পোস্ট দেখলাম যা নির্দেশ করে যে এটি পরবর্তী বা দুই মাসে হবে।


প্রথমে আপনার সংস্থানে .odt বিন্যাসে ফন্ট যুক্ত করুন, এই ক্ষেত্রে আমরা DINEngschriftStd.otf ব্যবহার করব, তারপর লেবেলটিতে ফন্টটি বরাদ্দ করতে এই কোডটি ব্যবহার করুন।

[theUILabel setFont:[UIFont fontWithName:@"DINEngschriftStd" size:21]];

আপনার ফন্ট প্রকল্পে লোড করা হয় তা নিশ্চিত করতে শুধু কল করুন

NSLog(@"Available Font Families: %@", [UIFont familyNames]);

উপর .plist আপনি ফন্ট ঘোষণা করতে হবে। শুধু একটি 'অ্যাপ্লিকেশন দ্বারা সরবরাহিত ফন্ট' যুক্ত করুন এবং ফন্টের নামের সাথে একটি আইটেম 0 স্ট্রিং যুক্ত করুন (DINEngschriftStd.otf)


ভাল সমাধান একটি নতুন সম্পত্তি " Fonts provided by application " আপনার info.plist ফাইল যোগ করা হয়।

তারপর, আপনি স্বাভাবিক UIFont মত আপনার কাস্টম ফন্ট ব্যবহার করতে পারেন।


হ্যাঁ, আপনি কাস্টম ফন্ট অন্তর্ভুক্ত করতে পারেন। UIFont, বিশেষ করে, fontWithName:size: পদ্ধতিতে ডকুমেন্টেশনটি পড়ুন।

1) নিশ্চিত করুন যে আপনি আপনার সংস্থান ফোল্ডারে ফন্ট অন্তর্ভুক্ত করেছেন।

2) ফন্টের "নাম" অগত্যা ফাইল নাম নয়।

3) নিশ্চিত করুন যে আপনার ফন্ট ব্যবহার করার অধিকার আছে। আপনার অ্যাপ্লিকেশানে এটি অন্তর্ভুক্ত করে, আপনি এটি বিতরণ করছেন এবং আপনাকে এটি করার অধিকার থাকতে হবে।


ATSApplicationFontsPath

একটি সহজ প্লাস্টার এন্ট্রি যা আপনাকে আপনার অ্যাপ্লিকেশান সংস্থান ফোল্ডারে ফন্ট ফাইল (গুলি) অন্তর্ভুক্ত করার অনুমতি দেয় এবং তারা আপনার অ্যাপ্লিকেশানে "ঠিক কাজ করে"।


আইওএস 4 এ কাস্টম ফন্ট ব্যবহার করার জন্য একটি সহজ উপায় আছে।

  1. XCode প্রকল্পটির সংস্থান ফোল্ডারে আপনার ফন্ট ফাইলটি (উদাহরণস্বরূপ, Chalkduster.ttf ) যোগ করুন।
  2. info.plist খুলুন এবং info.plist নামক একটি নতুন কী যুক্ত করুন। এই কী ধরনের অ্যারে করা উচিত।
  3. এক্সটেনশান ( Chalkduster.ttf ) সহ এই অ্যারে আপনার কাস্টম ফন্টের নাম যুক্ত করুন।
  4. এখন আপনি আপনার অ্যাপ্লিকেশনটিতে [UIFont fontWithName:@"Chalkduster" size:16] ব্যবহার করতে পারেন।

দুর্ভাগ্যবশত, আইবি কাস্টম ফন্ট সঙ্গে লেবেল আরম্ভ করার অনুমতি দেয় না। এই সমস্যা সমাধানের জন্য এই প্রশ্ন দেখুন। আমার প্রিয় সমাধান কাস্টম UILabel subclass ব্যবহার করা হয়:

@implementation CustomFontLabel

- (id)initWithCoder:(NSCoder *)decoder
{
    if (self = [super initWithCoder: decoder])
    {
        [self setFont: [UIFont fontWithName: @"Chalkduster" size: self.font.pointSize]];
    }
    return self;
}

@end

সম্পাদনা: আইওএস 3.2 হিসাবে, এই কার্যকারিতাটি অন্তর্নির্মিত। যদি আপনাকে পূর্ব-3.2 সমর্থন করতে হয় তবে আপনি এখনও এই সমাধানটি ব্যবহার করতে পারেন।

আমি একটি সহজ মডিউল তৈরি করে যা UILabel প্রসারিত UILabel এবং UILabel ফাইলগুলি লোড করা পরিচালনা করে। আমি অপাচ লাইসেন্সের অধীনে ওপেনসোর্সটি প্রকাশ করেছি এবং Here. এটি গিথবুকে রেখেছি Here.

গুরুত্বপূর্ণ ফাইলগুলি FontLabel.h এবং FontLabel.m

এটি জেনেরিকrichের উত্তর থেকে কিছু কোড ব্যবহার করে।

এখানে উৎস ব্রাউজ Here.

অথবা

  • সম্পদ মধ্যে আপনার ফন্ট ফাইল কপি

  • Info.plist নামক আপনার Info.plist ফাইলটিতে একটি কী যুক্ত করুন। ("অ্যাপ্লিকেশন দ্বারা উপলব্ধ ফন্ট)

  • এই কী একটি অ্যারে করুন

  • আপনার প্রতিটি ফন্টের জন্য, UIAppFonts অ্যারের আইটেমগুলির মতো আপনার ফন্ট ফাইলের পূর্ণ নাম (এক্সটেনশান সহ) লিখুন

  • Info.plist সংরক্ষণ করুন

  • আপনার অ্যাপ্লিকেশনটিতে আপনি কেবল আপনার UILabels এবং UITextViews , ইত্যাদি ব্যবহার করার জন্য কাস্টম ফন্ট পেতে [UIFont fontWithName:@"CustomFontName" size:15] করতে পারেন।

আরও তথ্যের জন্য


আমি সবকিছু তৈরি করেছি কিন্তু নতুন ফন্টগুলি প্রদর্শিত হয়নি তাই আমি সমাধানটি খুঁজে পেয়েছি:

যখন আপনি ফট ফাইলগুলি (ওটিএফ বা ttf) টেনে আনেন তখন "লক্ষ্যগুলিতে যুক্ত করুন" এর অধীনে চেকবক্সটি চেক করতে ভুলবেন না।

যে পরে আপনার ফন্ট প্রদর্শিত হবে এবং সবকিছু জরিমানা কাজ করবে।


যদিও উপরের কয়েকটি উত্তর সঠিক, আমি এখনও ফন্টগুলির সাথে সমস্যাগুলির জন্য একটি বিস্তারিত চাক্ষুষ টিউটোরিয়াল লিখেছি।

উপরের সমাধানগুলি আপনাকে প্লেস্ট এবং ব্যবহারে ফন্ট যোগ করতে বলে

[self.labelOutlet setFont:[UIFont fontWithName:@"Sathu" size:10]];

সঠিক বেশী। এখন অন্য কোন হ্যাকিশ উপায় ব্যবহার করুন। যদি আপনি এখনও ফন্ট নামগুলি খুঁজে পেতে এবং তাদের যুক্ত করতে সমস্যাগুলির সম্মুখীন হন তবে এখানে টিউটোরিয়ালটি রয়েছে -

আইওএস অ্যাপ্লিকেশন কাস্টম ফন্ট ব্যবহার করে


হ্যাঁ আপনি আপনার অ্যাপ্লিকেশন কাস্টম ফন্ট ব্যবহার করতে পারেন

ধাপে ধাপে অনুসরণ করুন:

  • ফাইল সমর্থন আপনার প্রকল্পে আপনার কাস্টম ফন্ট ফাইল যোগ করুন
  • Info.plistUIAppFonts নামক আপনার ফাইলে একটি কী যুক্ত করুন ।
  • এই কী একটি অ্যারে করুন
  • আপনার প্রতিটি ফন্টের জন্য, UIAppFonts অ্যারের আইটেমগুলির মতো আপনার ফন্ট ফাইলের পূর্ণ নাম (এক্সটেনশান সহ) লিখুন
  • Info.plistআপনার অ্যাপ্লিকেশনে এখন সংরক্ষণ করুন আপনি কেবল আপনার [UIFont fontWithName:@"your Custom font Name" size:20]সাথে ব্যবহারের জন্য কাস্টম ফন্ট পেতে কল করতে পারেনUILabels

যদি আপনি সঠিক ফন্ট না পেয়ে থাকেন তবে এটি প্রয়োগ করার পরে আপনি কাস্টম ফন্টে দুবার ক্লিক করুন এবং সাবধানে উপরের দিকে ফন্টের নামটি দেখুন এবং এই ফন্টটি কপি করুন, পেস্ট করুন, [UIFont fontWithName:@" here past your Custom font Name" size:20]আমি আশা করি আপনি সঠিক উত্তর পাবেন


আইওএস 4.1 এর সাথে শুরু হওয়া কাস্টম ফন্ট ব্যবহার করার একটি নতুন উপায় রয়েছে। এটি আপনাকে গতিশীলভাবে ফন্ট লোড করতে দেয়, অ্যাপ্লিকেশনের সাথে অন্তর্ভুক্ত ফাইলগুলি থেকে, ডাউনলোড হওয়া ডেটা বা আপনার কী আছে তা থেকে এটি হতে পারে। এটি আপনাকে ফন্টগুলি লোড করতে দেয়, যেমনটি আপনার প্রয়োজন হয়, যখন পুরানো পদ্ধতি তাদের সকলকে অ্যাপ্লিকেশান প্রারম্ভের সময় লোড করে, যদি আপনার কাছে অনেকগুলি ফন্ট থাকে তবে এটি অনেক বেশি সময় নিতে পারে।

নতুন পদ্ধতি ios-dynamic-font-loading এ বর্ণিতios-dynamic-font-loading

আপনি 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);




fonts