引言
ODA 软件可以通过两种方式对 TrueType 字体进行矢量化:
- 恒定文本质量(默认)— TrueType 字体内部的曲线默认进行曲面细分,因此字符被绘制为具有恒定顶点数量的简单壳体图元。
- 动态 TTF PolyDraw 模式 — 贝塞尔曲线信息额外传递到几何传输器中,因此客户端代码可以使用 TrueType 字体处理所需的任何质量来细分文本。
最佳方式取决于应用程序要求。恒定文本质量调整通常更适合导出、渲染为栅格图像等。对于编辑器和查看器等动态应用程序,TTF PolyDraw 模式通常更适合,它可以根据缩放级别、内存限制和其他要求来增加或减少文本渲染质量。
恒定 TrueType 字体文本质量调整适用于所有平台。TTF PolyDraw 模式目前仅支持桌面 Windows 操作系统。
TrueType 字体的恒定文本质量(默认)
以默认质量矢量化的 TrueType 字体文本:
放大显示默认质量下矢量化的TrueType字体文本片段:
默认情况下,文本质量设置为50%。以下图片显示文本质量被覆盖为75%:
生成的文本镶嵌更准确,但在放大文本上仍然可以看到一些轻微的棱角。将文本质量提高到100%,结果文本镶嵌看起来很理想:
调整.dwg文件的恒定文本质量
对于.dwg文件,可以使用“TEXTQLTY”系统变量更改恒定文本质量。默认情况下,它设置为50%。ODA文档描述了如何通过编程方式更改系统变量:获取和设置系统变量(需要登录)。您可以使用控制台在OdaMfcApp和TeighaViewer示例中更改此变量。请记住,在更改系统变量后调用REGEN命令,以便在启用图形缓存时重新生成图形缓存。
一般情况下调整恒定文本质量
调整文本矢量化质量的通用方法是重写OdGiContext::textQuality()方法(参见ODA文档,需要登录)。这适用于所有使用Visualize SDK的ODA产品。OdGiContext由所有矢量化过程调用,因此textQuality()方法可用于调整任何区域的TrueType字体文本质量。默认情况下,textQuality()方法返回质量设置为50%。每个ODA产品,包括绘图(用于.dwg和.dgn文件)、BIM和PRC,都有自己的OdGiContext实现;例如,在绘图SDK中,此类的名称是OdGiContextForDbDatabase。每个OdGiContext实现都可以有自己的textQuality()方法的重写和实现,就像OdGiContextForDbDatabase中一样,但您可以在从所需的OdGiContext实现继承的自己的类中再次重写此方法,并将其传递给ODA矢量化框架,这没有问题。
本系列的下一篇文章将介绍如何使用TTF PolyDraw模式。