[返回博客](/cn/blog) # 调整 TrueType 字体文本质量（第 1 部分，共 2 部分）

Andrew Markovich 一月 24, 2019 [\#Example](/cn/blog/tag/example) [\#.dwg](/cn/blog/tag/dwg)

<a class="a2a_button_facebook"></a><a class="a2a_button_twitter"></a><a class="a2a_button_linkedin"></a>

#### 引言

ODA 软件可以通过两种方式对 TrueType 字体进行矢量化：

- 恒定文本质量（默认）— TrueType 字体内部的曲线默认进行曲面细分，因此字符被绘制为具有恒定顶点数量的简单壳体图元。
- 动态 TTF PolyDraw 模式 — 贝塞尔曲线信息额外传递到几何传输器中，因此客户端代码可以使用 TrueType 字体处理所需的任何质量来细分文本。

最佳方式取决于应用程序要求。恒定文本质量调整通常更适合导出、渲染为栅格图像等。对于编辑器和查看器等动态应用程序，TTF PolyDraw 模式通常更适合，它可以根据缩放级别、内存限制和其他要求来增加或减少文本渲染质量。

恒定 TrueType 字体文本质量调整适用于所有平台。TTF PolyDraw 模式目前仅支持桌面 Windows 操作系统。

#### TrueType 字体的恒定文本质量（默认）

以默认质量矢量化的 TrueType 字体文本：

![image1](/files/inline-images/textQlty_1_def.png)放大显示默认质量下矢量化的TrueType字体文本片段：

![image2](/files/inline-images/textQlty_2_def.png)默认情况下，文本质量设置为50%。以下图片显示文本质量被覆盖为75%：

![image3](/files/inline-images/textQlty_3_75.png)![image 4](/files/inline-images/textQlty_4_75.png)生成的文本镶嵌更准确，但在放大文本上仍然可以看到一些轻微的棱角。将文本质量提高到100%，结果文本镶嵌看起来很理想：

![image5](/files/inline-images/textQlty_5_100.png)#### 调整.dwg文件的恒定文本质量

对于.dwg文件，可以使用“TEXTQLTY”系统变量更改恒定文本质量。默认情况下，它设置为50%。ODA文档描述了如何通过编程方式更改系统变量：[获取和设置系统变量](https://docs.opendesign.com/td/frames.html?frmname=topic&frmfile=db_sysvar_get_set.html)（需要登录）。您可以使用控制台在OdaMfcApp和TeighaViewer示例中更改此变量。请记住，在更改系统变量后调用REGEN命令，以便在启用图形缓存时重新生成图形缓存。

#### 一般情况下调整恒定文本质量

调整文本矢量化质量的通用方法是重写OdGiContext::textQuality()方法（参见[ODA文档](https://docs.opendesign.com/tv/frames.html?frmname=topic&frmfile=OdGiContext__textQuality@const.html)，需要登录）。这适用于所有使用Visualize SDK的ODA产品。OdGiContext由所有矢量化过程调用，因此textQuality()方法可用于调整任何区域的TrueType字体文本质量。默认情况下，textQuality()方法返回质量设置为50%。每个ODA产品，包括绘图（用于.dwg和.dgn文件）、BIM和PRC，都有自己的OdGiContext实现；例如，在绘图SDK中，此类的名称是OdGiContextForDbDatabase。每个OdGiContext实现都可以有自己的textQuality()方法的重写和实现，就像OdGiContextForDbDatabase中一样，但您可以在从所需的OdGiContext实现继承的自己的类中再次重写此方法，并将其传递给ODA矢量化框架，这没有问题。

本系列的下一篇文章将介绍如何使用TTF PolyDraw模式。

## 今天就开始行动

**免费试用 ODA 软件 60 天。  
无风险，无需信用卡。**

[免费试用](https://www.opendesign.com/cn/free-trial)
