Skip to content

字库

为界面文字准备字库,并决定控件如何引用它们。读完本页后,应能选出适合当前工程的方案:多语言用 全局矢量字库;需要自选字体或合并中英字体时用 矢量字库工具;点阵工程可继续用点阵,或按下文升级到矢量。

适用范围

面向 VTx(VTc / VTb)。全局矢量字库需屏端固件 2026-05-23 及之后。

能做什么

  • ✅ 用文字标签一次生成各语言的矢量字库,控件按语言索引自动绑字库,不必逐个填 FONT0/FONT1
  • ✅ 用矢量字库工具按字符裁剪、合并、查看及编辑 .ttf / .otf / .ttc / .attf
  • ✅ 理解点阵与矢量在控件属性上的差异,把存量点阵工程迁到矢量

选哪种方案

方案适合入口
全局矢量字库(推荐多语言)界面文案走文字标签,要做语言切换,希望少碰字库文件窗口顶部「工程」→ 工具文字标签(对话框为「文字标签工具」)
矢量字库工具要自选字体、精裁字符,或把中英等不同字体合成一份字库窗口顶部「工程」→ 工具矢量字库,步骤见 矢量字库工具
点阵字库沿用已有 .DZK / .ADZK,或控件仍按半角/全角双字库配置窗口顶部「工程」→ 工具点阵字库,或工程树中的字库节点

新工程优先矢量。矢量可按显示需要缩放,一份字库覆盖多种字号,抗锯齿更好,也更适合泰语、俄语等复杂文字。

💡 选型建议

多语言界面文案优先走 文字标签 + 全局矢量字库;仅需自选字体或合并中英时再用 矢量字库工具

全局矢量字库

全局矢量字库建立在 文字标签 之上:软件按词条实际用到的字符裁剪,生成各语言字库并加入工程。开发过程不必手工导出、导入字库文件。

操作步骤

  1. 打开工程后,在窗口顶部点 工程,在 工具 分组点 文字标签,打开文字标签工具。
  2. 勾选 启用多语言全局字库
  3. 填写 全局字库索引地址(变量存储器中的一个字地址,供 MCU 写入语言序号)。
  4. 为每种语言指定字体,并在对应语言列录入词条。
  5. 生成矢量字库并添加到项目。工程树的字库列表会按语言自动增加矢量字库;不要手工重命名或替换这些文件,改词条或改字体后应再次生成。
  6. 在需要跟语言走的控件上,把 语言索引地址 设成与 全局字库索引地址 相同。匹配后该控件自动使用对应语言的全局字库,属性里不必再设 FONT0/FONT1。

运行时向全局字库索引地址写入 0 为语言 1,写入 1 为语言 2,以此类推。词条内容由该地址的值加上控件上的标签名称,在文字标签表中唯一确定。

(待补 GIF) 打开文字标签工具,勾选「启用多语言全局字库」,填写全局字库索引地址与各语言字体后,点「生成矢量字库并添加到项目」。

使用注意

  • ⚠️ 词条或语言字体改过之后,必须再次点 生成矢量字库并添加到项目
  • ⚠️ 数据记录表格数据表格 中,全局矢量字库只作用于 标题行;单元格文字仍用控件里的 FONT0/FONT1。
  • 💡 生成的全局矢量字库默认包含全部 ASCII 字符。
  • 💡 MCU 还要动态下发、且不会出现在文字标签词条里的字符,可在表中增加一行专门汇总这些字,生成时会一并裁进字库。
  • 💡 矢量字库可缩放;控件高度须不小于 Y 方向点阵数,否则显示不全。
  • 💡 若控件的语言索引地址与全局索引地址不同,仍按该控件的 FONT 属性选字库。

点阵与矢量在控件上的差异

文字标签、数据变量、文本变量、数值显示等显示文字的控件都会用到字库。点阵与矢量不要混用同一套配置思路。

点阵字库

  • FONT0 为半角(ASCII 数字、英文),编码按 ASCII。
  • FONT1 为全角(汉字等),编码可为 GB2312 / GBK / BIG5 / SJIS / UNICODE / UTF8 / UTF8-2。
  • FONT0 与 FONT1 的 Y 方向点阵数 必须一致。
  • 编码为 GB2312 / GBK / BIG5 / SJIS / UTF8 时:码值小于 0x80 走 FONT0,其余走 FONT1,两类字库都要配。屏出厂预装 0 号 ASCII 点阵字库,可作 FONT0。
  • 编码为 UNICODE / UTF8-2 时不使用 FONT0,全部字符走 FONT1。
  • 字符宽度自动调整 只出现在点阵:勾选后裁掉左右空白列,字间预留 1 像素。

矢量字库

  • 矢量优先于点阵;FONT1 优先于 FONT0。FONT0 或 FONT1 任一选了矢量,控件按矢量显示。
  • 两者都是矢量时只用 FONT1,FONT0 无效。不要再按「半角 + 全角」各绑一份矢量。
  • 编码支持 UNICODEUTF8
  • Y 方向点阵数 可按显示大小设置,最大 255;控件高度必须 ≥ 该值。
  • 没有「字符宽度自动调整」:各字形宽度由字体本身决定。

(待补截图) 同一控件在点阵与矢量下的 FONT0 / FONT1 与编码方式

从点阵升级到矢量

  1. 用全局矢量字库或 矢量字库工具 按界面实际用字生成 .attf(或工程用矢量字库),加入工程。
  2. 控件改绑矢量字库。若仍走 FONT,通常只配 FONT1。
  3. 原编码若是 GBK / GB2312,改为 UNICODEUTF8
  4. 编码一变,MCU 用 0x82 写文本的字节序列也会变,必须同步改单片机程序。对照帧见 字库相关 FAQ
  5. 保存编译下载,在屏上核对每种语言和动态文本。

新工程建议直接用矢量,界面文案优先走文字标签。导入旧 .vt 工程后若仍是点阵,按上表升级,见 导入旧工程

注意

  • ⚠️ 裁剪过小会在屏端缺字;源字体本身没有的字形,裁完也不会出现。
  • ⚠️ 文字标签工具生成的全局字库禁止在工程树里重命名或替换,否则索引会乱。
  • 💡 工程树中的字库文件可右键 导出 到本机。
  • 💡 字库变更后须重新保存、编译并下载,屏端才会用新字库。

相关