如何為所有使用 WSL 的使用者安裝字型?

如何為所有使用 WSL 的使用者安裝字型?

使用 WSL Bash,我遵循了以下兩組步驟這個問題的答案(只有第一組步驟有效)但我得到了字體的奇怪行為。該字體確實顯示在我的文字編輯器中,但無法正確呈現。例如,我安裝的字體是無襯線字體,但會顯示為襯線字體。此外,該字體不會顯示在「字體」設定中。

如果我使用該字體WSLTTY,我收到以下錯誤訊息:

Font installation corrupt, using system substitute:
UbuntuMono NF

WSLTTY 啟動錯誤訊息

如何正確安裝 WSL Bash 中的檔案?

答案1

該問題是由於使用 WSL Bash 時應用檔案權限的方式所造成的。

移動到的字體檔案/mnt/c/Windows/Fonts缺少具有權限的使用者Read & execute

  • ALL APPLICATION PACKAGES
  • ALL RESTRICTED APP PACKAGES
  • Users

以下是完整的 WSL Bash 安裝步驟,必須在提升的終端機中運行(右鍵以管理員身份執行):

# Let 'my font.ttf' be your font in the current working directory.

icacls.exe 'my font.ttf' /grant 'ALL APPLICATION PACKAGES':RX
icacls.exe 'my font.ttf' /grant 'ALL RESTRICTED APP PACKAGES':RX
icacls.exe 'my font.ttf' /grant Users:RX

mv 'my font.ttf' /mnt/c/Windows/Fonts/

reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts" \
    /v "my font (TrueType)" \
    /t REG_SZ \
    /d "my font.ttf" \
    /f

相關內容