Temel Metin - Core Text

Temel Metin bir Çekirdek Vakfı stil API içinde Mac os işletim sistemi, ilk olarak tanıtıldı Mac OS X 10.4 Tiger, içinde halka açıldı Mac OS X 10.5 Leopard ve için tanıtıldı iPad iPhone SDK 3.2 ile. Bir C API, artık kullanımdan kaldırılan metin oluşturma yeteneklerinin yerini alıyor Hızlı çizim ve ATSUI Mac OS X'in önceki sürümlerindeki çerçeveler. Apple'a göre, Core Text "yüksek performans ve kullanım kolaylığı için tasarlanmıştır" ve düzen API'si "basit, tutarlı ve Core Foundation, Core Graphics ve Cocoa ile sıkı bir şekilde entegre edilmiştir".[1]

Özellikleri

Çekirdek Metin aşağıdaki opak türleri sağlar:

  • CTFramesetter - CTTypesetter'ı kullanarak verilen öznitelikli dize nesnesinden ve CGPath nesnesinden CTFrame nesneleri oluşturur.
  • CTTip Ayarlayıcı - çizgi düzenlerini gerçekleştirir; ör. satır kırma
  • CTFrame - bir çizgi dizisini temsil eder (yani, CTLine nesneleri).
  • CTLine - bir dizi glif dizisini temsil eder.
  • TO - aynı özelliği paylaşan sıralı bir glif koleksiyonu.
  • CTFont - bir yazı tipini temsil eder.

Misal

Aşağıdaki kod, "Merhaba, Dünya!" Metnini görüntüler. verilen grafik bağlamına göre.

// Yazı tipini hazırlayınCTFontRef yazı tipi = CTFontCreateWithName(CFSTR("Zamanlar"), 48, BOŞ);// Öznitelikli bir dize oluşturunCFStringRef anahtarlar[] = { kCTFontAttributeName };CFTypeRef değerler[] = { yazı tipi };CFDictionaryRef attr = CFDictionaryCreate(BOŞ, (sabit geçersiz **)&anahtarlar, (sabit geçersiz **)&değerler,					  boyutu(anahtarlar) / boyutu(anahtarlar[0]), &kCFTypeDictionaryKeyCallBacks, &kCFTypeDictionaryValueCallBacks);CFAttributedStringRef attrString = CFAttributedStringCreate(BOŞ, CFSTR("Selam Dünya!"), attr);CFRelease(attr);// Dizeyi çizinCTLineRef hat = CTLineCreateWithAttributedString(attrString);CGContextSetTextMatrix(bağlam, CGAffineTransformIdentity);  // Standart görünüm koordinatlarını kullanırken bunu kullanın// CGContextSetTextMatrix (bağlam, CGAffineTransformMakeScale (1.0, -1.0)); // Görünümün koordinatları çevrilmişse bunu kullanınCGContextSetTextPosition(bağlam, 10, 20);CTLineDraw(hat, bağlam);// TemizlemekCFRelease(hat);CFRelease(attrString);CFRelease(yazı tipi);

Referanslar

Dış bağlantılar