如何在Windows上查找所有字体路径

问题描述 投票:0回答:2

我想查找包含 Windows 10 系统上安装的字体文件的所有路径。传统上,字体安装在

C:\Windows\Fonts
中,但显然,它们也可以安装在不同的目录中。

具体来说,我收到了一位在 Windows 10 上安装了

Albertus Extra Bold
字体的用户的报告。当他在资源管理器中打开
C:\Windows\Fonts
,选择
Albertus Extra Bold
并从上下文菜单中选择“属性”时,对话框显示*.ttf 字体文件显然没有安装在
C:\Windows\Fonts
中,而是安装在
C:\Users\Admin\AppData\Local\Microsoft\Windows\Fonts
中。

那么我的应用程序应该简单地扫描

%USERPROFILE%\AppData\Local\Microsoft\Windows\Fonts
之上的
C:\Windows\Fonts
还是可以有更多路径可以包含 Windows 10 上的字体?

winapi
2个回答
1
投票

好吧,我明白了:这似乎是 Windows 10 的事情。当我在 Windows 7 系统上双击 *.ttf 文件并单击“安装”时,该字体将安装在

C:\Windows\Fonts
中。然而,在 Windows 10 上,执行相同操作将导致字体安装在
%USERPROFILE%\AppData\Local\Microsoft\Windows\Fonts
中。因此,Windows 10 似乎使用非系统文件夹来避免向用户请求管理员权限。


0
投票

有3种字体:

  1. 系统字体位于
    %windir%\Fonts
  2. 用户字体位于
    %USERPROFILE%\AppData\Local\Microsoft\Windows\Fonts
  3. 临时字体可以位于电脑中的任何位置。您可以通过调用 AddFontResourceW
  4. 添加添加一个

如果您正在寻找一种方法来了解当前拥有的所有字体文件名,您需要使用 DirectWrite

如果您正在寻找实现,您可以查看 python 库 FindSystemFontsFilename 是如何实现的。

© www.soinside.com 2019 - 2024. All rights reserved.