是坑还是锅?最近看到的一些WPS用户反馈
你们如果有字体的问题,反馈到WPS,那么大概率我会看到。
不过很多用户的反馈,由于实在是没有什么有用的信息,以及难以复现,所以都被忽略过了。
文字乱码的问题
传统上,如果看到了一段混乱的文本。那么多半是编码出了什么解析的问题。一般而言,换编码就好了。
不过,考虑到类似Word或者WPS这种Word Processor,那乱码的问题,就往往是字体的问题。Word我没办法看。我只能看WPS。
某天,一个用户前来买瓜。不对,说错了,一个用户前来找茬。说他的简历打开是乱码的,而且表现得很异常,有的乱码,有的不乱。
经过两三天的排查,大概知道问题所在。用户装的是Mi Sans。而且是在“云字体”内装了一套,系统装了一套。这两套版本不一。问题在于,这不同版本的Mi Sans,一个unicode对应的glyph id实际上是不一样的。而WPS内部的字体判断逻辑/渲染次序产生了不一致。这就导致渲染用的glyph id和用来测量的glyph id是不一致的。
此外,Mi Sans的字体数据还有一个坑的地方,就是weight的数值不是整数的100倍数。在导出PDF的时候,如果写这个值,某些PDF阅读器会报警告。
归根结底是WPS的渲染逻辑的问题。但反过来,把字体做好,数据做到一致和规整,是很难的。尤其是glyph id的一致性问题,在跨版本的时候,是要有所坚持的。
字体下拉框的问题
和Word相比,WPS的字体下拉框做得过于复杂了。但问题是,这东西是营收项。所以有一些“怎么设计成这样”的问题,实话说,我是说不上话的。
很多用户反馈的问题,是做的过于复杂了,有误触。
不过最近发现的问题有两类。一个是汉字字体的名字不显示的问题,这个在系统的codepage不是936的情况下就会触发。
查看系统当前的codepage可以运行命令:
reg query "HKLM\SYSTEM\CurrentControlSet\Control\Nls\CodePage" | findstr /I "ACP"
第二个问题,是下拉框点击之后不反应。也就是说,选择了一段文本,你想要将它的字体改为Times New Roman,那么无法触发。这个问题只在Windows 7下面复现。
是啊,2026年了,还有用Windows 7的。占比不低,10%还是有的。
但是WPS依赖的Qt版本是5,它的行为在Windows 10/11上和7上明显是不一样的。能跑但行为不一定对。
我试了试,能复现,虚拟机跑单核双核马上复现。但用户反馈的信息里面,是四核。这我就不知道是什么问题了。
而且,即使是知道了什么问题,能不能修?修了能不能发版本?这是很难说的。
硬件加速
WPS的64位版本,默认是开启了硬件加速的。对于文字的组件影响不太强烈。但是对于演示组件的影响就大了。
目前我接到的反馈和在小红书上刷到的播放幻灯片会绿屏甚至卡死的,有四例。
解决办法简单:关掉硬件加速。
导出PDF的问题
问题有两个。
一个是含有数学公式的文档在Edge浏览器下无法显示。这个是因为整个将Cambria Math嵌入到了PDF中导致的。整个整个嵌入,实际上是嵌入了一个ttc文件。PDF中对于ttc没有直接支持。但是很多浏览器都能正常读取。这主要是因为……很多阅读用了FreeType。实际上是UB。
第二个是MathType公式导出PDF的问题。表现一般是公式里面的宋体便黑体,或者丢字符。我一直想不通,怎么还有用MathType手搓公式的。手搓不可怕,但要控制公差。要不然就是车祸现场了。兜兜转转一圈发现是一些学生想要通过MathType公式降低论文的查重率。这机灵动的。这个是PDF导出功能的代码问题。现在解决办法是用微软自带的一个打印到PDF虚拟打印机解决。
注:最近没什么书要买,周末的时间可算是多出来了,要继续更新文章了。我最近在给我的TeX写一个库。等月底发个专业消息。
夜雨聆风