我有一台Win7(64位)机器,如果使用Tahoma作为字体,它可以在Java应用程序中使用正方形来呈现文本,而不是连字-ff (Unicode FB00)和连字-ffi (Unicode FB03)。同样的应用程序在Win10下的Tahoma中完美地呈现了相同的字符。
使用charmap,我发现在Tahoma (Win7)中确实没有这样的char,而在Win10-Tahoma上却存在。
但Word和我在Win7上的一个较老版本的应用(使用Java8而不是11)至少使用了其他字体的连字(Word:Cambria Math,OldApp:ArialUnicodeMS),这就是为什么我以前从来没有注意到它的原因。
Windows7有Tahoma 5.22,而Win10有Tahoma 6.9 --我不知道它们有不同的版本(为什么?)
有没有人能解释一下替换未知字符的不同行为(从另一种字体获取它们与将它们渲染为正方形)?微软有一个系统范围的后备字体,但作为IE,Word和N++都以不同的方式处理Tahoma + differently ff的渲染,这似乎没有多大作用。
发布于 2020-01-09 10:33:00
是。我最近遇到了同样的问题。字体字符集在不同的操作系统版本中是不同的,并且它不会在任何地方被标记!我花了几天的时间努力让一个简单的字符从字体中出现,而我找到的每个来源都应该包含这个字体。(G与caron。Win 10附带的Courier New有这个功能,但XP中的Courier New没有。)
在字体文件中添加版本号有多难?要解决这个问题,只需信任字符映射即可。它显示字体所具有的所有字符。
当你知道了这一点,它就很容易修复了。使用带有所需字符的字体版本的计算机。转到WINDOWS\FONTS,然后将需要的字体文件复制粘贴到另一台计算机。
如果你愿意,你可以用同样的方式更新电脑中的所有字体。
https://stackoverflow.com/questions/57289281
复制相似问题