核心文本概述
核心文本是一种高级、低级的文本布局和字体处理技术。Core Text直接与Core Graphics(CG)配合使用,也称为Quartz,它是一种高速图形渲染引擎,在OSX和iOS中以最低级别处理二维图像。
核心文本是为开发更高级的文本处理框架而设计的。
核心文本在较高级别框架提供的文本布局和字体支持之间进行调解,而Quartz为所有文本和字体框架提供的低级别功能。Quartz框架作用于字形及其位置。核心文本知道字符如何映射到字体,在调用Quartz渲染文本之前,它会考虑有关样式、字体度量和其他属性的信息。Quartz是在基本级别绘制glyph的唯一方法,而且,由于核心文本以Quartz直接可用的形式提供所有数据,因此其结果是高性能文本渲染。
多线程:如果客户端不改变线程之间共享的属性字符串等任何参数,则可以从多个线程同时调用核心文本函数。
核心文本是一个基于C的、平台无关的API
iOS和OS X上的核心文本API几乎相同,尽管OS X版本提供了更丰富的字体管理API集,包括可变字体集合。但是,UIKIT和AppKITE之间的差异在平台间端口代码时必须考虑。例如,您必须具有Quartz图形上下文才能呈现核心文本生成的图示符,并且您在每个平台上获得的图形上下文不同。在iOS中绘制的视图是iOS中的UIView子类和OS X中的NSView子类。您应该知道,CGRect对象被传递到UIView drawRect:方法中,而OS X版本的drawRect:被传递到NSRect对象中。(您可以使用OS X中的nsrecttogrect函数将传入的NSRect对象转换为作为核心文本函数参数所需的CGRect对象。)
UIView函数UIGraphicsGetCurrentContext返回的图形上下文相对于未修改的Qua