ile kullanmak için bir cString'e dönüştürme CGContextShowTextAtPoint kullanarak bir String çiziyorum. Bu yüzden ben çizmek istiyorum benim NSString c dizeleri içine dönüştürmek gerekir. Maalesef euro para birimi simgesi gibi özel semboller doğru şekilde gösterilmiyor. NSString'i CGContextShowTextAtPoint
CGContextSelectFont(currentContext, "TrebuchetMS", 15, kCGEncodingMacRoman);
CGContextShowTextAtPoint(currentContext, 0, 0, [myString cStringUsingEncoding:[NSString defaultCStringEncoding]], [myString length]);
Ben CGContextSelectFont işlevinde kCGEncodingFontSpecific kodlaması ile denedim ama bu da işe yaramadı.
Performans nedeniyle, NSString tarafından sağlanan drawInRect işlevlerini değil, CG İşlevini kullanmam gerekir.
Belki bana yardım edebilirsiniz!
PS:
İki şey: 1. defaultCStringEncoding öğesinin UTF-8 veya MacRoman olduğunu ve 2. CGContextShowTextAtPoint() öğesine son bağımsız değişken olarak iletilen sürenin, karakter uzunluğuna değil, bayt cinsinden C dizesinin uzunluğunun olması gerektiğine dair bir garanti yoktur. NSString'in –
Evet, MacRoman kodlaması için, [NSString defaultCStringEncoding] yerine NSMacOSRomanStringEncoding öğesini kullanmak istersiniz. –