網友評分: 5分
FontMod就是一個專門修改應用程序字體插件,利用在原有程序的執行的基礎之上,在軟件中加載我們自己的 DLL。那么,這樣的話,我們就可以在DLL中將應用程序字體渲染的部分邏輯進行修改,使得應用程序使用我們指定的字體進行顯示。
win32上的一些老應用程序沒有對中文文字進行相關的顯示優化,這會導致系統將中文等CJK字符渲染為萬惡的中易宋體,使其看上去非常的難受,使用FontMod可以避免出現這個問題!
Mendeley 是一個學術文獻的管理應用,其客戶端 Mendeley Desktop 應該是直接利用 Qt 編寫的。另外,Mendeley 也不負眾望,其客戶端就連英文字體都渲染成了「中易宋體」… ??? 我們以 Mendeley 為例子,具體介紹如何將 FontMod 掛載到主應用程序上,使之生效。
仔細觀察,我們可以看到 MendeleyDesktop.exe 這一可執行文件,也就是我們 Mendeley 客戶端的本體。另外,下方還有一些帶有 Qt 字樣的 DLL 文件的蛛絲馬跡,這些線索表明 Mendeley 客戶端很大可能是直接使用跨平臺 UI 框架 Qt 編寫的,驗證了我們的猜想。
接下來,我們拿到剛剛下載好,并更改名稱為 winmm.dll 的 FontMod 文件,進行掛載的工作。
讓 FontMod 掛載目標程序
我們將 winmm.dll 直接復制進入剛剛的 Mendeley 安裝目錄下,這一步驟可能需要「管理員權限」,如果提醒我們,點擊授權即可。此時,如果我們嘗試雙擊 MendeleyDesktop.exe 打開 Mendeley 客戶端,很可能出現報錯,提示你未找到一個名叫 FontMod.yaml 的文件。不必擔心,這是正?,F象。
Mendeley 默認安裝位置位于 Windows C 盤的 Program Files 目錄下,這一目錄需要管理員權限才能創建文件,因此上一步中 FontMod 沒有將自己的配置文件在第一次運行時成功創建,導致報錯。我們需要在 Mendeley 的這一安裝目錄下手動創建一個名為 FontMod.yaml 的文件作為配置文件。
另外,如果你打開之后發現沒有什么問題,那么很可能就是 FontMod 為我們創建好了這一文件,我們繼續接下來的工作即可。
標簽: 系統字體