如何在 Windows 中自动更新已安装的字体

如何在 Windows 中自动更新已安装的字体

我在 Windows 10 上使用了一些开源字体,例如 Inter、Iosevka、Hack 等。这些字体会定期更新,但安装新版本需要时间,因此我很少或从不这样做。

我知道 Windows 应用商店中有一些字体可以解决这个问题,但是现在可用的字体并不多,没有上述字体。

答案1

回答我自己的问题...

我最终编写了一个简单的 PowerShell 脚本。它不会安装字体,但会找到最新版本,下载文件并解压缩。解决了我大约 80% 的问题。

这是脚本的基本版本,它将下载最新版本的约瑟夫卡国际米兰字体:

$fonts = @(
             @("Iosevka", "be5invis"),
             @("Inter", "rsms") 
)

foreach ($font in $fonts)
{

  $apiUrl = "https://api.github.com/repos/" + $font[1] + "/" + $font[0] + "/releases/latest"
  $json = Invoke-WebRequest $apiUrl
  $o = ConvertFrom-Json $json
  $downloadUrl = $o.assets[0].browser_download_url

  $filename = $downloadUrl.Substring($downloadUrl.LastIndexOf('/') + 1)    
  $localFilename = (Resolve-Path ".").Path + '\' + $filename

  if (Test-Path $localFilename)
  {

    "File $filename already exists! Skipping."

  } else {

    "Downloading $filename..."
    $progressPreference = 'silentlyContinue'
    $webResponse = Invoke-WebRequest $downloadUrl -UseBasicParsing
    $progressPreference = 'continue'
    [System.IO.File]::WriteAllBytes($localFilename, $webResponse.Content) 

    "Expanding $filename..."
    Expand-Archive -LiteralPath $localFilename -DestinationPath $font[0] -Force

  }
}

相关内容