一个界面要用四种字号,字库芯片装得下吗?
标题大号、正文小号、提示再小一号——多字号界面是常态。两个维度看字库:点阵/灰度一种字号一套字库,矢量一套任意缩放;自定义要什么配什么、标准挑现成组合,容量在 GT-HMI Designer2 里实时看得见。
适合:界面上要用多种字号(标题、正文、提示语、图标符号),担心字库容量装不下或配置麻烦的嵌入式开发者。
一、多字号是常态:先分清两个维度
稍微讲究一点的界面都不可能只有一个字号:标题要大、正文要小、状态提示更小、时间数字可能还要单独一种。四种、五种字号同时出现在一个界面,太正常了:
一个界面六种字号:模拟 480×320 嵌入式屏排版——多字号界面的常态
界面要多字号,字库怎么配?先分清两个维度,后面就不乱:
维度一:字库类型。 点阵和灰度是"一种字号一套数据"——界面要 12、16、24、32 四种字号,就得四套字库;矢量正相反——一套数据任意缩放,字号只是个渲染参数。
维度二:芯片路线。 自定义字库芯片,要几个字号、哪些语言,自己在软件里配,主动权在自己手里;标准字库芯片,从出厂固化的现成型号里挑——挑型号就是挑字号组合,UI 改版字号一变,可能就得换型号。
两个维度互相独立、自由组合:点阵可以自己配、也可以挑标准型号,矢量同样。下文就按这两个维度,把多字号的配法看全。
二、点阵 / 灰度:一种字号,一套字库
点阵和灰度字库的字号是"刚性"的:一套数据只管一个字号,界面要几种字号,就有几套数据。这个类型下,两条芯片路线都成熟。
自定义:字号是"配"出来的
在官方免费软件 GT-HMI Designer2 里,字库按"字库组"管理:一个组放同一字号的字符集,中文、外文、数字可以混在一个组里。界面要 16、24 两个字号,就建两个组;要 12、16、24、32 四个字号,就建四个组。软件里字号从 7 到 64 按档点选,类型、字体、语言、字符集、灰度逐项筛选——每组要哪些语言、哪种字体,都是自己定的。
选配界面长这样:字号一档一档选(图①),这档字号下可勾的字库全列出来——语言、字符集、字体、字符数一目了然(图②)。图里选的是 16 点阵 + 中文,列表里 GB2312 / GBK / GB18030、宋体 / 黑体 / 优黑九款字库排开,每款多少字符直接标着;换一档字号、换一种语言,列表跟着换:
GT-HMI Designer2 自定义字库选配界面:① 字号 7~64 按档点选(16 档高亮)——一套字号一个字库组;② 16 点阵中文字库 9 款列表——GB2312/GBK/GB18030、宋体/黑体/优黑各带字符数
四种字号全配上是什么样?实测给你看:12 号组按需只配中文+英文(小字号在界面上多用于数字与英文提示),16、24、32 号组各配"中文 GB2312 + 英文 ASCII + 日文 JIS0208"三语。四组同屏共存,每组容量编译完就列出来,已选字库总容量实时显示在界面右下角——每加一组、每换一个字符集,这个数字立刻跟着变。四组长什么样、各占多少,第四节"装不装得下"里连图带账一起算。
配到一半想省事,还可以直接把标准字库单元混进来:软件里点「选择标准字库」,勾现成的多国语字库单元(16/24/32 点阵多国语),和自己配的组放同一张表里管理——借标准字库的成熟内容,配自己的多字号组合,两种来源一笔账,总容量照样实时累计:
GT-HMI Designer2:自定义字库组+标准字库单元混配——上四行为自配的 12/16/24/32 号多字号组,下三行为直接勾选的标准库 16/24/32 点阵多国语单元,总容量 9751.75KB 一笔账
配好字库把界面搭起来,在 Designer 里仿真运行就能预览多字号的实际效果,不用烧到板子上反复验证。调用时按字号和编码取字形,API 层面就是参数不同,代码不用为每个字号写一套。
标准:挑现成的字号组合
如果项目不想做任何配置,标准字库芯片里也有多字号现成组合可选:点阵从 12+16 两档到 12+16+24+32 四档都有现成型号,灰度有 16+24、16+24+32 等组合,矢量则是现成型号一套数据任意字号。字库内容出厂固化,买回来焊上就能用。
多字号方向按"字号组合"挑,常用型号举例(按高通标准字库规格书整理,具体以对应型号规格书为准):
| 型号 / 类型 | 字号组合 | 字库内容 | 适合场景 |
|---|---|---|---|
| GT30L32S4W(点阵 · 多字号热销款) | 12+16+24+32 点 | 中文 GB2312 | 界面四种字号一颗全齐——正是上面自定义配四组的同一个字号组合 |
| GT32L32M0180(点阵 · 四档全集) | 12+16+24+32 点 | 中文 GB18030 + BIG5 全集,带 8Mb 可写空间 | 四档字号之外还要简繁全集,剩余空间可存图片 |
| GT30L24A3W(点阵 · 外文热销款) | 12+16+24 点 | GB2312 / GB18030 中文 + BIG5,16/24 点日韩文及多国外文 | 三档字号加出口多语言,外文方向的热销型号 |
| GT5HL32S3W(灰度 · 三档) | 16+24+32 点 | 中文 GB2312 灰度字库 | 小屏重视质感:三档字号、字形边缘更细腻 |
| GT5SLCD2S2A(矢量 · 任意字号) | 任意字号,矢量渲染 | GB18030 宋体 + GBK 黑体 + BIG5,12 套英文字体 | 高分屏、字号随排版变——不用挑字号组合,一颗全包 |
| GT60M2(矢量 + 点阵混合) | 16+24+32 点阵 + 矢量任意 | 点阵 GBK 宋体/黑体,矢量 GB18030 宋体 + GBK 黑体 | 小字号吃点阵锐利、大字号吃矢量平滑,一颗芯片两种并存 |
挑标准点阵/灰度芯片就是挑字号组合:界面定死 12/16/24/32 四种字号,GT30L32S4W 一颗就是;字号组合以后要变、语言要加,就回到自定义路线。矢量的标准型号没有这道约束——它本来就没有字号档。完整型号上百款,官网选型表可以按类型和字号(多选)筛选,两分钟定位到型号;多语言场景的型号推荐,另见《MCU 多语言显示,字库芯片怎么选?》。
三、矢量:一套字库,任意字号缩放
矢量字库把"一种字号一套数据"的规律直接绕开了:芯片里存的不是点阵,是每个字的轮廓描述,显示的时候按需要的字号现场渲染出来——字号,只是个渲染参数。
矢量字库原理示意:芯片里只存一套字形轮廓数据(图中空心轮廓字),显示时按需渲染成 12/16/24/32/48 任意字号——同一句话五种字号,同一套数据
对多字号界面,这带来三个直接的好处:
- 一个字库覆盖所有字号:12 点、18 点、40 点……随用随渲染。UI 改版把标题从 24 改成 28?改个渲染参数,字库一个字节都不用动;
- 容量不随字号数量翻倍:点阵要四种字号就是四份容量(上一节四组共 3707.78KB),矢量按字符数计——字号再多,也是一套字库;
- 高分辨率屏缩放平滑:矢量放大是重新渲染,不会像点阵放大那样出锯齿。
也有代价,说清楚才好选:矢量渲染要占用算力,引擎得支持(GT-HMI 引擎自带矢量渲染,Designer2 仿真里能直接预览);而小字号(12/16 点)反而是点阵占优——点阵数据是逐点调优的,小屏上字形更锐利。所以常见的做法是混合策略:小字号正文用点阵,大字号标题和可变元素用矢量,一套方案里两种并存。
两条芯片路线里都有矢量的位置:自定义在 Designer2 选配界面把"字库类型"切到矢量(上节图①里的"矢量"按钮),一样按语言、字符集自己配;标准有现成矢量型号(上一节表里的 GT5SLCD2S2A、GT60M2 就是):一套数据,任意字号渲染。点阵、灰度、矢量三种类型更全面的对比,另见《点阵字库、矢量字库、灰度字库怎么选?》。
四、装不装得下,不用猜
容量焦虑是选型时最常见的纠结:"四个字号的中英文字库,16Mb 够不够?要不上 32Mb 保险点?"
自定义字库芯片把这个问题的答案直接摆在界面上:每选一个字符集,占多少容量实时显示,配完一组看一组,全部配完总量一目了然。以第二节配的四组为例:合计 3707.78KB——16Mb(2048KB)芯片装不下,32Mb(4096KB)装完还剩 388KB:
GT-HMI Designer2 多字号字库组实测:一个界面四种字号=四组字库,12/16/24/32 号组同屏共存——12 号组(中英)180.89KB、16 号组(中英日)502.31KB、24 号组 1088.20KB、32 号组 1936.38KB,合计 3707.78KB 界面右下角实时累计
超了就减字符集(比如中文只选 GB2312 常用字而不是 GB18030 全集),或者升一档容量;富余太多就降一档省钱——够不够、要不要升档,当场就有答案。矢量路线的账更简单:容量按字符数计,不随字号数量翻倍。
自定义芯片的容量有 16Mb / 32Mb / 64Mb / 128Mb 四档。装好字库后剩余的空间还能存界面的图片和图标,不一定需要再外挂一颗存储芯片——这笔账在产品页自定义字库芯片里可以细算。
五、怎么选?两个维度对号入座
先定字库类型:字号组合定死、以小字号为主 → 点阵/灰度(小字号逐点调优,字形锐利);高分辨率屏、字号变化多 → 矢量;重视小屏显示质感 → 灰度。
再定芯片路线:字号、语言以后会变,或要精确控制容量 → 自定义,按组配、实时算,后期加一组重新烧录就行,硬件和采购都不动;组合定死、买来就用 → 标准,零配置量产。
对号入座几个典型场景:
- 界面定死 12/16/24/32 四种字号、内容不变 → 标准点阵:GT30L32S4W 一颗四档全配;
- 同样的字号组合,以后要加语言、改字号 → 自定义点阵:配四组,容量实时算;
- 高分辨率屏、字号随排版变 → 矢量:标准矢量型号,或自定义切"矢量"类型;
- 小字号正文 + 大字号标题 → 点阵 + 矢量混合:小字号吃点阵的锐利,大字号吃矢量的平滑。
多字号字库选型决策矩阵:横轴芯片路线(自定义/标准)×纵轴字库类型(点阵灰度/矢量)——按字号配组、挑字号组合、切矢量类型自己配、现成矢量型号四格对号入座
再送两个实用建议:
- 字号宁多勿缺,字符集宁精勿滥:字号加一组成本很低,但字符集选全集还是常用字,容量差好几倍。界面真正用到的字符范围想清楚,容量往往比预想的小;
- 后期加字号不算事:UI 改版加了一种字号?自定义加一组字库重新烧录、标准型号换一颗覆盖更全的——都动不了几行代码。
六、一句话总结
多字号界面不是容量的灾难,是配置的问题。字库类型上,点阵/灰度一种字号一套、按档配组或挑现成组合,矢量一套数据任意缩放;芯片路线上,自定义要什么配什么、标准挑现成零配置——两个维度想清楚,"装不装得下"就从猜谜变成了算术。
高通(GENITOP)始于 1992 年,深耕汉字信息处理与嵌入式 GUI 技术,字库覆盖全球 180+ 国家语言。
字号随便配、容量看得见——免费下载 GT-HMI Designer2 试试。
前往查看