不少用戶在 iOS 7 完美越獄後嘗試更換系統字體,卻發現中文顯示正常,英文、數字卻出現方框亂碼。這是因為 iOS 7 的中文字體調用的是 STHeiti-Light 和 STHeiti-Medium,而英文/數字另行渲染,直接替換系統字體檔會導致回退機制失效。
iOS 7 採用字體回退機制:系統先嘗試使用指定字體渲染字符,若字體不包含該字符則自動回退到備用字體。手動替換 /System/Library/Fonts/Cache/ 下的字體檔時,若新字體缺少英文/數字字形,系統無法正確回退,便顯示為方框(.notdef)。
/System/Library/Fonts/Cache/ 整個資料夾備份到電腦或雲端。
目前 iOS 7 越獄環境尚不穩定,建議非必要勿折騰系統字體。若必須嘗試,請嚴格遵循備份原則,出問題可通過 DFU 模式恢復固件。
延伸閱讀: