俞木發

在使用電腦的過程中,有時我們會遇到一些字體顯示問題,比如系統中的某些字體顯示不全,或者某些文件打開后變成亂碼。下面筆者就結合一些常見的字體顯示問題,分析其產生的原因并介紹相應的解決方案。
如果系統在正常使用時突然出現某些程序的界面字體顯示不全,大多是Windows字體緩存出錯所導致。解決的方法是重置當前的Windows字體緩存。可以先找到字體緩存服務“WindowsFontCacheService”并將其停止(圖1)。接著以管理員身份啟動PowerShell,執行“Get-ChildItem-PathC:\Windows\ServiceProfiles\LocalService\AppData\Local\FontCache-File|foreach{$_.Delete()}”和“Remove-ItemC:\Windows\System32\FNTCACHE.DAT”命令,清空字體緩存文件(圖2)。最后重新啟動“WindowsFontCacheService”服務即可。

為了美化系統,有的朋友會在系統里安裝很多字體。不過由于一些字體文件可能和Windows10不兼容,這樣在調用該字體顯示時就容易出現故障。此時可以嘗試恢復字體的默認設置來解決。
打開“C:\Windows\Fonts”并點擊左側窗格中的“字體設置”,在打開的設置窗口中點擊“還原默認字體”設置(圖3)。這樣系統會使用默認字體來進行顯示,比如系統界面和菜單會使用“雅黑”字體,解決這些界面使用非默認字體所帶來的顯示問題。
不過,恢復默認設置需要系統中有對應的字體文件。如果一些朋友在優化系統時刪除了字體文件,那么可能會導致系統界面或程序菜單中出現顯示“口”符號的故障(圖4)。
此時可以到安裝鏡像中提取系統字體文件進行恢復。比如可以先將Windows10安裝ISO文件加載到虛擬光驅,接著使用7-Zip打開其中的“H:\sources\install.wim\1\Windows\Fonts\”目錄(假設虛擬光驅的盤符為H:),將其中的字體文件解壓到“C:\Windows\Fonts”目錄下即可(圖5)。
用文件默認關聯的程序可以打開并正常顯示文件,這是由于程序內置了相應的字體和解碼器。不過,在日常操作中,由于每個程序使用不同的默認編碼,編碼不同也很容易導致解碼出現問題。比如筆者在Windows11中使用記事本程序打開并編輯一份TXT文檔,但是在Windows10中再使用記事本程序打開時卻顯示一堆亂碼(圖6)。
究其原因,是在Windows11中使用“記事本”保存時,該程序默認使用“UTF-8”編碼(在圖6的下方也可以看到顯示UTF-8字樣),保存后字體編碼就使用“UTF-8”(圖7)。
不過Windows11的記事本在使用“UTF-8”編碼保存TXT文件后,程序會在文件頭部添加一個BOM代碼(特殊字符,不可見)。而Windows10的記事本程序沒有調整編碼的功能,無法正確識別BOM代碼而導致亂碼的出現。解決的辦法是使用其他可以調整編碼的程序打開,比如可以使用Word打開上述的亂碼文件,在彈出的文本轉換窗口中依次選擇“其他編碼→Unicode(UTF-8)”,就可以正常顯示文本了(圖8)。

在Word中正常打開文檔后,按下“Ctrl+A”快捷鍵全選文本,將其復制到記事本程序中并保存,在保存窗口中將編碼設置為“ANSI”,這樣就可以正常顯示文本內容了。