Core Textは、Mac OS X v10.4で初めて導入され、Mac OS X v10.5で公開されたmacOSのCore Foundation風のAPIで、古くからmacOSにあり非推奨となったQuickDrawやATSUIに代わってテキストレンダリングの機能を担うものである。Appleによると、Core Textは高いパフォーマンスと利用の容易さを意識して設計され、このレイアウトAPIはシンプルで安定しており、Core FoundationやCore Graphics、Cocoaと密接に関連している。[1]
Core Textは次のような不透過型を提供している。
次のコードは与えられたグラフィックコンテクストに「Hello, World!」と表示する。
// フォントの準備CTFontReffont=CTFontCreateWithName(CFSTR("Times"),48,NULL);// 属性付き文字列の生成CFStringRefkeys[]={kCTFontAttributeName};CFTypeRefvalues[]={font};CFDictionaryRefattr=CFDictionaryCreate(NULL,(constvoid**)&keys,(constvoid**)&values,sizeof(keys)/sizeof(keys[0]),&kCFTypeDictionaryKeyCallBacks,&kCFTypeDictionaryValueCallBacks);CFAttributedStringRefattrString=CFAttributedStringCreate(NULL,CFSTR("Hello, World!"),attr);CFRelease(attr);// 文字列の描画CTLineRefline=CTLineCreateWithAttributedString(attrString);CGContextSetTextMatrix(context,CGAffineTransformIdentity);CGContextSetTextPosition(context,10,20);CTLineDraw(line,context);// 後片付けCFRelease(line);CFRelease(attrString);CFRelease(font);
![]() | この項目は、コンピュータに関連した書きかけの項目です。この項目を加筆・訂正などしてくださる協力者を求めています(PJ:コンピュータ/P:コンピュータ)。 |