有无可能在word中显示支持全部生僻字?

我安装了WFG的全宋体,把WFG提供的字体测试文字复制到word里,然而无论选择哪个全宋体(等宽,调和,-1,-2,-3,-F,-X),都无法顺利显示全部文字。必须要给每行单独选择一个字体。那么,就有一个问题,对于某些古籍文字,它可能用到了各个区域的文字,你不可能逐个字判断它属于哪个扩展区,然后单独给他选定所用的字体。

在本站搜帖子,发现了之前站友的尝试:

我按照 Mastameta的思路,尝试用font-forge把FSung-1,FSung-3,FSung-m的font-family都改成FSung,幸运成功了,然后word里有了FSung这个选项,但选中文字应用这个字体后,并无法把这三个子字体覆盖的文字都正确显示,所以这个思路可能行不通。如果这样可行,WFG为什么不把几个字体的font family设为同一个呢,是吧?

这个思路很好,自己用的时候很不错。可是有时候要把整理的文字发给老师或同学使用,最通行的办法还是用word,也方面后续在里面修订、标记、批注等,请大家都安装这种专业编辑器,然后做这个设定,还是有些欠缺可行性,并且也不如word这般有标记、批注等功能。

我知道浏览器中通过css可以实现同时使用多个字体显示复杂的内容。想知道,要在word等软件里实现同样的效果,就没有办法了吗?大家集思广益,也许能有一个好的解决方案?

另外,我注意到在word中,默认是可以显示扩展B-F区域的文字的,相应的文字被自动应用了SimSun-ExtB这个字体,想来记事本中也是同样方式实现的。(后来从WFG字体包里提供的SurrogateFallback.reg按图索骥搜索,了解到一种称为SurrogateFallback的机制)那么,能不能遵从相同思路,让他们自动选择FSung的字体,从而显示全部区域的文字呢?

分类错误,“汉汉”是发布mdx词典用的。

凡是注明语言的标签都是发布mdx用的。

此帖分类应该是:软件经验及展望。

@amob
amob同意是这个分类吗?

请楼主自己修改分类,不要劳动站长干这种琐碎的家务。

应该是软件经验及展望没错。

1 个赞

谢谢提醒,已改。

1 个赞

ChatGPT 4.0: 单个字体文件若要支持超过65536个字符,可以选择使用OpenType格式(OTF)。OpenType是一种基于Unicode的字体格式,它支持“Unicode平面”的概念,能够容纳多达1114112个字符(即17个平面,每个平面65536个字符)。这样的设计允许OpenType字体理论上包含超出基本多文种平面(BMP,即第0平面)的字符,包括补充平面的字符。

1 个赞

chatgpt胡说,otf不也有65535的限制?…

1 个赞

我也有疑问,字体里的字形编号是16位的,上限就是65535,但 chatgpt 说的斩钉截铁,就发出来了。因为不同格式有不同的字体组织方式,比如 super otc 格式可以包含多种字体,里面到底怎么回事,这部份是我不了解的。

我对这个不了解,就谷歌了一下。

字体65,535的限制什么时候能修正?
知乎

好消息是,Google 正在和 HarfBuzz 作者合作,推动打破这个限制(考虑采用 24 位来存储)。

最新的成果是,在 HarfBuzz 4.0 中已经支持超过 65535 个「字形」的限制了,这也是下一代字体格式的主要方向,详见:GitHub - harfbuzz/boring-expansion-spec: Better-Engineered Font Formats; Part 1. Boring Expansion

听说harfbuzz4.0突破了这个限制,但是我对harfbuzz是什么完全不了解,您清楚harfbuzz是什么吗?

字体整形方案,比如拼音的声调可以用单个字符显示,也可以由单个字母+声调符号拼出来,把声调符号画到那个字母上,就是 harfbuzz 的任务。全世界所有字体的显示都依赖 harfbuzz,算是最默默无闻的流行库了。有第三方整形库,但是 harfbuzz 的显示效果是标准。