版本記錄
| 版本號 | 時間 |
|---|---|
| V1.0 | 2017.10.21 |
前言
Core Text框架主要用來做文字處理,是的iOS3.2+和OSX10.5+中的文本引擎,讓您精細的控制文本布局和格式。它位于在UIKit中和CoreGraphics/Quartz之間的最佳點。接下來這幾篇我們就主要解析該框架。
框架基本
使用高質(zhì)量的排版,字符到字形轉(zhuǎn)換以及字符和線段中的字形位置來創(chuàng)建文本布局。 通過自動字體替換來優(yōu)化字體處理,并輕松訪問字體度量和字形數(shù)據(jù)。
這個文檔集合是Core Text框架的API參考。 Core Text提供了一個現(xiàn)代化的低級編程接口,用于布置文本和處理字體。 Core Text布局引擎設(shè)計用于高性能,易于使用,并與Core Foundation緊密集成。文本布局API提供高質(zhì)量的排版,包括字符到字形轉(zhuǎn)換,帶有連字,字距調(diào)整等等?;パa的Core Text字體技術(shù)提供自動字體替換(級聯(lián)),字體描述符和集合,輕松訪問字體度量和字形數(shù)據(jù)以及許多其他功能。
多重注意事項:Core Text中的所有單獨函數(shù)都是線程安全的。字體對象(CTFont,CTFontDescriptor和關(guān)聯(lián)對象)可以由多個操作,工作隊列或線程同時使用。但是,布局對象(CTTypesetter,CTFramesetter,CTRun,CTLine,CTFrame和關(guān)聯(lián)對象)應(yīng)該在單個操作,工作隊列或線程中使用。
下面我們看一下框架基本架構(gòu),如下圖所示。

框架結(jié)構(gòu)
1. Opaque Types
-
-
CTFont不透明類型表示Core Text字體對象。 字體對象表示應(yīng)用程序的字體,提供對字體特征的訪問,如點大小,變換矩陣和其他屬性。 字體提供了相對于彼此設(shè)計字形的幫助,并且用于在繪制圖形上下文時建立當(dāng)前字體。
-
-
-
CTFontCollection不透明類型表示一個字體集合,即一組字體描述符作為單個對象組合在一起。
-
-
-
CTFontDescriptor不透明類型表示字體描述符,即可以完全指定字體的屬性字典(如名稱,點大小和變體)。
-
-
-
CTFrame不透明類型表示包含多行文本的框架。frame對象是由framesetter對象執(zhí)行的文本框架處理產(chǎn)生的輸出。
-
-
-
CTFramesetter不透明類型用于生成文本框。 也就是說,CTFramesetter是CTFrame對象的對象工廠。
-
-
-
CTGlyphInfo不透明類型使您能夠?qū)⒆煮w的指定映射從Unicode覆蓋到glyph ID。
-
-
-
CTLine不透明類型表示一行文本。
-
-
-
CTParagraphStyle不透明類型表示屬性字符串中的段落或標(biāo)尺屬性。
-
-
-
CTRun不透明類型表示glyph運行,它是一組共享相同屬性和方向的連續(xù)字形。
-
-
-
CTRunDelegate不透明類型表示一個運行委托,它被分配給一個運行(屬性范圍),以控制排版特征,如字形上升,字形下降和字形寬度。
-
-
-
CTTextTab不透明類型表示段落樣式中的選項卡,用于存儲對齊類型和位置。
-
-
-
CTTypesetter不透明類型表示執(zhí)行行布局的排版機。
-
2. Reference
- Core Text String Attributes
- Core Text Structures
- Core Text Enumerations
- Core Text Constants
- Core Text Functions
- Core Text Data Types
3. See Also
后記
未完,待續(xù)~~~~
