是否可以在没有管理员权限的情况下在 Windows 中安装字体?

nev*_*ves 8 fonts windows-7 truetype-fonts

每次我尝试在我的工作 Windows 7 机器上安装字体时,我都会收到错误消息:

"The requested file <font file>.ttf is not a valid font file" 
Run Code Online (Sandbox Code Playgroud)

我正在使用信誉良好的字体来源,例如 Google Fonts。字体的一个例子是Work Sans

这个内容丰富的问题提供了打开 Windows 防火墙来安装字体的奇怪解决方案。由于我不是管理员,我无法打开它。

由于 Windows 错误消息信息量不足,我想知道我是否可以做些什么,或者我是否一直在浪费时间尝试安装个人字体。

Pab*_*bru 9

假设您的问题是在没有管理员权限的情况下无法安装字体,下面是一个不需要管理员或其他可执行文件的解决方案(因此即使在极度锁定的计算机上也能工作):

使用 PowerShell 在 Windows 中加载字体

将以下脚本作为 PowerShell 脚本文件保存在您计算机上的某个位置,位于您要安装的 TTF 和 OTF 文件旁边:

Add-Type -Name Session -Namespace "" -Member @"
[DllImport("gdi32.dll")]
public static extern int AddFontResource(string filePath);
"@

$null = foreach($font in Get-ChildItem -Recurse -Include *.ttf, *.otf) {
    [Session]::AddFontResource($font.FullName)
}
Run Code Online (Sandbox Code Playgroud)

这个脚本会扫描.ttf.otf在它的运行目录中的字体文件,并临时安装它们,而不需要管理员权限。

这样做的主要缺点是脚本,它只会在当前会话期间安装字体。一旦您注销或重新启动系统,您将需要再次运行它,但这可以是自动化的(取决于您的计算机的配置方式,例如它是否允许.ps在启动时运行脚本)。