यह शायद आपको% विषय स्टार्टर% में मदद करता है। महान सलाह के लिए लयबद्ध फिस्टमैन के लिए धन्यवाद!
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSelectFont (context, [self.font.fontName cStringUsingEncoding:NSASCIIStringEncoding], self.font.pointSize, kCGEncodingMacRoman);
CGContextSetCharacterSpacing(context, characterSpacing);
CGContextSetFillColorWithColor(context, [self.textColor CGColor]);
CGAffineTransform myTextTransform = CGAffineTransformScale(CGAffineTransformIdentity, 1.f, -1.f);
CGContextSetTextMatrix (context, myTextTransform);
CGGlyph glyphs[self.text.length];
CTFontRef fontRef = CTFontCreateWithName((CFStringRef)self.font.fontName, self.font.pointSize, NULL);
CTFontGetGlyphsForCharacters(fontRef, (const unichar*)[self.text cStringUsingEncoding:NSUnicodeStringEncoding], glyphs, self.text.length);
float centeredY = (self.font.pointSize + (self.frame.size.height- self.font.pointSize)/2)-2;
CGContextShowGlyphsAtPoint(context, rect.origin.x, centeredY, (const CGGlyph *)glyphs, self.text.length);
CFRelease(fontRef);
स्रोत
2012-08-22 09:47:16
धन्यवाद :)! डॉक्स में थोड़ा पढ़ने के बाद, ऐसा लगता है कि मैंने NSAttributedString क्लास की लाइनों के साथ कुछ कोड किया है, इसलिए मुझे लगता है कि अब मुझे अपना पूरा कोड उस पर स्विच करना चाहिए :( – kiyoshi
आपका स्वागत है। Ps आईफोन पर कोई एनएसएएसटीईटीस्ट्रिंग नहीं है, तो एनएसएलएबल देखें। –
कोर ग्राफिक्स टेक्स्ट ड्राइंग रूटीन मैक पर काफी समय से आसपास रहे हैं, मैं अनुमान लगा रहा हूं कि यूनिकोड समर्थन सामान्य हो गया है, इसलिए यह आश्चर्य की बात नहीं है कि वे केवल उनके द्वारा निर्धारित चरित्र सेट का समर्थन करते हैं। आप CGContextShowGlyphsAtPoint() के साथ कस्टम वर्णों को प्रिंट करने में भी सक्षम हो सकते हैं, लेकिन चुनौती आईफोन पर ग्लिफ उत्पन्न कर रही है। इस पोस्ट में एक उदाहरण है: http://www.gogo-robot.com/devblog/?p=5 –