Fonts Windows安装程序丑陋字体渲染

Fonts Windows安装程序丑陋字体渲染,fonts,windows-installer,installation,font-rendering,Fonts,Windows Installer,Installation,Font Rendering,此问题仅在Windows Installer上发生。 如何解决这个问题 这不可能是图形卡问题,因为标题很好。您没有在虚拟机中运行此MSI,是吗?或者更糟糕的是,在Wine(Linux)中 在技术层面上,MSI中的字体(如果存在)控制MSI对话框中使用的字体。我假设您系统上的某个特定字体已损坏,或者在您运行的任何模拟环境中都无法正常工作。这解释了为什么它只发生在一些MSI文件中,而不是所有的MSI文件中(每个MSI可能使用不同的字体) 记录在案:我怀疑日志能告诉你多少,但是试试msiexec.e

此问题仅在Windows Installer上发生。 如何解决这个问题


这不可能是图形卡问题,因为标题很好。您没有在虚拟机中运行此MSI,是吗?或者更糟糕的是,在Wine(Linux)

在技术层面上,MSI中的字体(如果存在)控制MSI对话框中使用的字体。我假设您系统上的某个特定字体已损坏
,或者在您运行的任何模拟环境中都无法正常工作。这解释了为什么它只发生在一些MSI文件中,而不是所有的MSI文件中(每个MSI可能使用不同的字体)

记录在案:我怀疑日志能告诉你多少,但是试试
msiexec.exe/I“Setup.msi”/L*V!“C:\Temp\msilog.log”
。显然,可以根据需要替换路径。这将创建一个详细的日志文件并刷新到日志(速度慢,但会记录所有内容-不会丢失日志缓冲区)。我想你可以搜索任何与字体、文本样式或字体有关的东西

真正的解决方案显然是找出字体的问题所在,但在此之前,我们需要知道您是否处于模拟环境中。显然,Windows资源管理器中字体文件夹中的字体会自动在系统上注册,但您也可以使用VBScript:。因此,我认为结论是,你可以从你周围的任何机器上抓取有问题的字体,最好是同一个操作系统,然后将字体拖放到你的字体文件夹中,看看这是否解决了问题。显然,使用上面列出的TextStyle表来确定确切的问题字体。并备份已经存在的字体(如果有)

为了查看TextStyle表,您需要一个工具来打开MSI文件。免费的来自Windows SDK。如果您的电脑上已安装Windows SDK,请搜索“Orca-x86_en-us.msi”并安装它。然后在“开始”菜单中找到Orca

如果您没有安装Windows SDK,也不想全部安装(它非常庞大),那么有很多替代工具:。其中大多数是大型商业工具。您最快的赌注可能是(我没有太多使用它,但对于这样一个简单的任务应该可以)

以下是可能更清晰的工具列表(更好的概述):

更新

  • 您是否已识别损坏的字体,安装它,然后重新启动并再次测试
  • 据我所知,重新启动应该重建字体缓存,但是这里有一个关于如何删除缓存的描述。但是,对于Windows 8,Win10中应相同:

    • 新发现,请参阅维基百科:

      AppPatch文件夹(%windir%\AppPatch)中的AppLoc.tmp会导致 Mojibake问题是Windows Installer的Mojibake是由于使用非预期字符编码对文本进行解码而产生的乱码文本…其结果是用完全不相关的符号系统地替换符号,通常来自不同的书写系统。”


      虽然上面的对话框显示了正确的文本,但是显示非常混乱(不是不同代码页的混乱字符),我想在这里添加此问题,以防有人在面对混乱的MSI对话框时在寻找答案时发现此问题。

      我从未见过此问题。这只是一个MSI和/或在这台机器上?你记录安装程序了吗?它是否显示了任何警告或错误?我在不同软件的几个安装程序上看到了这一点(不是全部或不总是)。只在我的机器上。没有,还没有登录。这似乎表明你的机器有些奇怪。如果没有日志或操作系统的提示,我不可能告诉你这是什么。嘿,你还可以访问这个MSI吗?你能检查一下它是否是用UTF-8作为代码页编译的吗?在某些情况下,这显然会导致一些奇怪的字体显示。如果您安装了Orca,请打开有问题的MSI并转到
      Tools=>代码页…
      是否显示65001?那就好了。正常是(或类似的字符编码-例如)。或者把MSI放在一个共享的地方,这样我们就可以检查了?我想我已经没有那个MSI了。>你不是在虚拟机上运行这个MSI,是吗?或者更糟糕的是,在Wine(Linux)NO.NO.OK中,这是否意味着字体安装没有解决问题?如果是,请参阅上面的更新答案。