アットウィキロゴ

CoreText

Core Textコアテキスト


コアテキスト概要

  • advanced, low-level technology テキストレイアウトとフォントハンドリングのための
  • 設計方針「ハイパフォーマンス」&「使い勝手」, CoreTextのレイアウトエンジンはATSUIの2倍速??
  • CoreTextのレイアウトAPI「単純」「一貫性」「Core Foundation, Core Graphics, Cocoaとの密接な統合」
  • CoreTextのフォントAPI=レイアウトエンジンと相互補完
  • CoreTextのフォント技術=「ユニコードフォントをネイティブに取り扱える」=「CarbonとCocoaのフォント参照の差を橋渡しする」+「レイアウトのための効率的なフォントハンドリングを提供する」ように設計済み
  • 「性能」+「密着」の設計 ココアのテキストとフォント

設計の最終目標と原則

CoreTextは次のような利点をもたらすように設計された

  • 「包括的統合(CoreText一個あれば全て揃ってる)」「テキストレイアウトAPIとフォントAPIのセットが」
  • 「高性能」+「使い易さ」
  • Cocoa, Core Foundation, Core Graphics(Quartz)との密接な調和・融合
  • ネイティブユニコードハンドリング
  • 64-bitアプリケーションサポート
  • 「すっきりと(見通しの良い)」+「かんたんな(シンプル)」+「一貫した」APIデザイン
  • レイアウトやグリフデータに対して、フレキシブルなインターフェース
  • シンプルインターフェース+シンプルオペレーション
  • 「コスト予測可能な構成」+「負担の合理的な分割」

コアテキストレイアウトの設計目標の第一は、単純なものでかんたんにできること。
例えば、テキストの段落とか単純なテキストラベルをスクリーンに描画したいときに、
コードをいっぱい書くなんてことはしたくないでしょう。
以下略

特徴と性能

コアテキストは、テキストレイアウトとフォントアクセスをやります。
テキストレイアウトエンジンは、キャラクタからグリフを生成し、グリフランとか行とか複数行フレームとかの中にグリフを配置、位置決めしていきます。

Link


CTFont

  • Creating Fonts
    • CTFont::Create(name)
    • CTFont::Create(name, options)
    • CTFont::Create(font_descriptor)
    • CTFont::CreateUIFontForLanguage()
    • CTFont::CreateCopy(attributes)
    • CTFont::CreateCopy(symbolicTraits)
    • CTFont::CreateCopy(family)
    • CTFont::CreateForString()
  • Getting Font Data
    • CTFont::CopyPostScriptName
    • CTFont::CopyFamilyName
    • CTFont::CopyFullName
    • CTFont::CopyDisplayName
    • CTFont::CopyName
    • CTFont::CopyLocalizedName
  • Working With Encoding
    • CTFont::CopyCharacterSet
    • CTFont::GetStringEncoding
    • CTFont::SupportedLanguages
    • CTFont::GetGlyphsForCharacters
  • Getting Font Metrics
    • CTFont::GetAscent
    • CTFont::GetDescent
    • CTFont::GetLeading
    • CTFont::GetUnitsPerEm
    • CTFont::GetGlyphCount
    • CTFont::GetBoundingBox
    • CTFont::GetUnderlinePosition
    • CTFont::GetUnderlineThickness
    • CTFont::GetSlantAngle
    • CTFont::GetCapHeight
    • CTFont::GetXHeight
  • Getting Glyph Data
    • CTFont::CreatePathForGlyph
    • CTFont::GetGlyph(name)
    • CTFont::GetBoundingRectsForGlyphs
    • CTFont::GetAdvancesForGlyphs
    • CTFont::GetVerticalTranslationsForGlyphs
  • WorkingWithFontVariations
    • CTFont::CopyVariationAxes
    • CTFont::CopyVariation
  • Getting Font Features
    • CTFont::CopyFeatures
    • CTFont::CopyFeatureSettings
  • Converting Fonts
    • CTFont::CopyGraphicsFont
    • CTFont::CreateWithGraphicsFont
    • CTFont::GetPlatformFont
    • CTFont::Create(platform_font)
    • CTFont::Create(quickdraw_instance)
  • Getting Font Table Data
    • CTFont::CopyAvailableTables
    • CTFont::CopyTable
  • Getting the Type Identifier
    • CTFont::GetTypeID

CTFontCollection

  • Creating Font Collections
    • CTFontCollection::CreateFromAvailableFonts
    • CTFontCollection::Create(font_descriptors)
    • CTFontCollection::CreateCopy(font_descriptors)
  • Getting Font Descriptors
    • CTFontCollection::CreateMatchingFontDescriptors
    • CTFontCollection::CreateMatchingFontDescriptorsSorted(callback)
    • CTFontCollection::CreateMatchingFontDescriptorsSortedWithCallback
  • Getting the Type Identifier
    • CTFontCollection::GetTypeID

CTFontDescriptor

  • Creating Font Descriptors
    • CTFontDescriptor::Create(name, size)
    • CTFontDescriptor::Create(attributes)
    • CTFontDescriptor::CreateCopy(attributes)
    • CTFontDescriptor::CreateCopy(variation)
    • CTFontDescriptor::CreateCopy(feature)
    • CTFontDescriptor::CreateMatchingFontDescriptors
    • CTFontDescriptor::CreateMatchingFontDescriptor
  • Getting Attributes
    • CTFontDescriptor::CopyAttributes
    • CTFontDescriptor::CopyAttribute
    • CTFontDescriptor::CopyLocalizedAttribute
  • Getting the Font Descriptor Type
    • CTFontDescriptor::GetTypeID

CTFrame

  • Getting Frame Data
    • CTFrame::GetStringRange
    • CTFrame::GetVisibleStringRange
    • CTFrame::GetPath
    • CTFrame::GetFrameAttributes
  • Getting Lines
    • CTFrame::GetLines
    • CTFrame::GetLineOrigins
  • Drawing the Frame
    • CTFrame::Draw
  • Getting the Type Identifier
    • CTFrame::GetTypeID

CTFramesetter

  • Creating a Framesetter
    • CTFramesetter::Create(attributed_string)
  • Creating Frames
    • CTFramesetter::CreateFrame()
    • CTFramesetter::GetTypesetter()
  • Frame Sizing
    • CTFramesetter::SuggestFrameSize(constants)
  • Getting the Type Identifier
    • CTFramesetter::GetTypeID

CTGlyphInfo

  • Getting the GlyphInfo Type
    • CTGlyphInfo::GetTypeID
  • Creating GlyphInfo Objects
    • CTGlyphInfo::Create(glyph_name)
    • CTGlyphInfo::Create(glyph)
    • CTGlyphInfo::Create(character_identifier)
  • Getting GlyphInfo Data
    • CTGlyphInfo::GetGlyphName
    • CTGlyphInfo::GetCharacterIdentifier
    • CTGlyphInfo::GetCharacterCollection

CTLine

  • Creating Lines
    • CTLine::Create(attributed_string)
    • CTLine::CreateTruncateLine
    • CTLine::CreateJustifiedLine
  • Drawing the Line
    • CTLine::Draw
  • Getting Line Data
    • CTLine::GetGlyphCount
    • CTLine::GetGlyphRuns
    • CTLine::GetStringRange
    • CTLine::GetPenOffsetForFlush
  • Measuring Lines
    • CTLine::GetImageBounds
    • CTLine::GetTypographicBounds
    • CTLine::GetTrailingWhitespaceWidth
  • Getting Line Positioning
    • CTLine::GetStringIndexForPosition
    • CTLine::GetOffsetForStringIndex
  • Getting the Type Identifier
    • CTLine::GetTypeID

CTParagraphStyle

  • Creating Paragraph Style
    • CTParagraphStyle::Create
    • CTParagraphStyle::CreateCopy
  • Getting the Value of a Style Specifier
    • CTParagraphStyle::GetValueForSpecifier
  • Getting the Type Identifier
    • CTParagraphStyle::GetTypeID

CTRun

  • Getting Glyph Run Data
    • CTRun::GetGlyphCount
    • CTRun::GetAttributes
    • CTRun::GetStatus
    • CTRun::GetGlyphsPtr
    • CTRun::GetGlyphs
    • CTRun::GetPositionPtr
    • CTRun::GetPositions
    • CTRun::GetAdvancesPtr
    • CTRun::GetAdvances
    • CTRun::GetStringIndicesPtr
    • CTRun::GetStringIndices
    • CTRun::GetStringRange
  • Measuring the Glyph Run
    • CTRun::GetTypographicBounds
    • CTRun::GetImageBounds
  • Drawing the Glyph Run
    • CTRun::Draw
    • CTRun::GetTextMatrix
  • Getting the Type Identifier
    • CTRun::GetTypeID

CTTextTab

  • Creating Text Tabs
    • CTTextTab::Create
  • Getting Text Tab Data
    • CTTextTab::GetAlignment
    • CTTextTab::GetLocation
    • CTTextTab::GetOptions
  • Getting the Type Identifier
    • CTTextTab::GetTypeID

CTTypesetter


CTLine = CTTypesetter(attributed_string)

  • Creating a Typesetter
    • CTTypesetter::Create(attributed_string)
    • CTTypesetter::Create(attributed_string, options)
  • Creating Lines
    • CTTypesetter::CreateLine()
  • Breaking Lines
    • CTTypesetter::SuggestLineBreak()
    • CTTypesetter::SuggestClusterBreak()
  • Getting the Type Identifier
    • CTTypesetter::GetTypeID()

CTLine.runs = [CTRun, CTRun, CTRun]

CTFrame.lines = [CTLine, CTLine, CTLine]

CTFontManager

  • CTFontManager
    • CTFontManager::CopyAvailablePostScriptNames
    • CTFontManager::CopyAvailableFontFamilyNames
    • CTFontManager::CopyAvailableFontURLs
    • CTFontManager::CompareFontFamilyNames
  • Creating and Enabling Font Descriptors
    • CTFontManager::CreateFontDescriptorsFromURL
    • CTFontManager::EnableFontDescriptors
  • Registering and Activating Fonts
    • CTFontManager::RegisterFontsForURL
    • CTFontManager::UnregisterFontsForURL
    • CTFontManager::RegisterFontsForURLs
    • CTFontManager::UnregisterFontsForURLs
    • CTFontManager::SetAutoActivationSetting
    • CTFontManager::GetAutoActivationSetting
    • CTFontManager::GetScopeForURL
  • Validating Font Files
    • CTFontManager::IsSupportedFontFile
    • CTFontManager::CreateFontRequestRunLoopSource

*


Core Text String Attributes




Link

タグ:

+ タグ編集
  • タグ:
最終更新:2010年06月13日 13:33
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。