Core Text について
Core Text は、テキストのレイアウトとフォントの処理を行う、高度で低レベルな技術です。Mac OS X v10.5 および iOS 3.2 で導入された Core Text API は、すべての OS X および iOS 環境からアクセスできます。
一目見て
Core Text は、Core Graphics フレームワーク(Quartz) に関連する低レベルのテキスト処理技術を必要とするアプリ用です。Quartz で直接作業していてテキストを描画する必要がある場合は、Core Text を使用して下さい。たとえば、独自のページレイアウトエンジンがある場合、テキストがあり、ビューのどこに移動する必要があるか分かっていれば、Core Text を使用してグリフを生成し、カーニング、リガチュア、改行、ハイフン付け、行揃えなどの細かい組版を伴う全機能でお互いのグリフを互いに位置づけられます。
Core Text のテキストレイアウト
Core Text は、(文字コードとフォントデータから) グリフを生成し、グリフランでそれらを相対的に配置します。それは、グリフランを改行し、行を複数行のフレーム(段落など) にまとめます。Core Text には、グリフの位置や線やフレームの測定など、グリフやレイアウトに関連するデータも提供します。また、さまざまな型のタブスタイルと配置を含む文字属性と段落スタイルを処理します。
Core Text でフォントを管理できます
Core Text のフォント API は、フォント、フォントコレクション、フォント記述子、およびフォントデータへの簡単なアクセスを提供します。また、複数のマスターフォント、フォントバリエーション、フォントカスケーディング、およびフォントリンクをサポートしています。Core Text は、独自のフォントを現在のプロセス、つまりフォントのアクティブ化にロードするための Quartz の代替手段を提供します。
前提条件
この文書をうまく活用するには、テキストシステムと問題点を理解している必要があります。また、Core Foundation の不透明タイプの使い方を知っておく必要があります。Core Foundation の詳細については、Core Foundation Design Concepts を参照してください。
以下も見よ
この文書に加えて、Core Text の、より具体的な側面をカバーしたり、Core Text が使用するソフトウェアサービスを記述したりするものがいくつかあります。
- Core Text リファレンスコレクション は、Core Text のレイアウトとフォント API の完全なリファレンス情報を提供します。
- CoreTextPageViewer (iOS デベロッパーライブラリ内) は、Core Text を使用して大量のテキストを表示する方法を示しています。
- DownloadFont (iOS デベロッパーライブラリ内) は、オンデマンドでフォントをダウンロードする方法を示しています。
- CoreTextRTF (Mac デベロッパーライブラリ内) では、Core Text を使用して Cocoa アプリケーションのウィンドウ内に RTF コンテンツをレイアウトし描画する方法を示します。
- Core Text を Cocoa で使用してパスに沿って描画(Mac デベロッパーライブラリ内) では、Core Text を使用し、カーブに沿ってグリフをレイアウトし描画する方法を示します。
- Core Foundation Design Concepts および Core Foundation Framework Reference では、Core Text で使用される共通データ型と基本ソフトウェアサービスの抽象概念を提供するフレームワークである Core Foundation について説明しています。
以下の章(iOS デベロッパーライブラリ内) では、iOS のテキストキットについて説明しています。
- iOS のテキストプログラミングガイド の テキストの描画と管理< では、iOS のアプリレベルのテキスト処理システムについて説明します。
- Core Text およびその他のテキストシステムに関連する書体の概念についての情報は、iOS のテキストプログラミングガイド の 印刷の概念 を参照してください。
以下の文書 (Mac デベロッパーライブラリ内) は、OS X の Cocoa テキストシステムを記述している文書へのエントリポイントを提供しています:
- Cocoa Text アーキテクチャーガイド では、Cocoa テキストシステムについて紹介します。
- テキストレイアウトプログラミングガイド では、Cocoa のテキストレイアウトエンジンについて説明します。