我想查找包含 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 上的字体?
好吧,我明白了:这似乎是 Windows 10 的事情。当我在 Windows 7 系统上双击 *.ttf 文件并单击“安装”时,该字体将安装在
C:\Windows\Fonts
中。然而,在 Windows 10 上,执行相同操作将导致字体安装在 %USERPROFILE%\AppData\Local\Microsoft\Windows\Fonts
中。因此,Windows 10 似乎使用非系统文件夹来避免向用户请求管理员权限。
有3种字体:
%windir%\Fonts
。%USERPROFILE%\AppData\Local\Microsoft\Windows\Fonts
如果您正在寻找一种方法来了解当前拥有的所有字体文件名,您需要使用 DirectWrite
如果您正在寻找实现,您可以查看 python 库 FindSystemFontsFilename 是如何实现的。