dotnet 9 WPF 連字元渲染支援

lindexi發表於2024-11-14

如下圖是 dotnet 9 之前的渲染效果介面圖:

如下圖是 dotnet 9 版本的渲染效果介面圖:

如何啟用或關閉此功能

預設升級到 dotnet 9 即可自動開啟

如在 dotnet 9 版本上,期望能夠關閉此功能,還原到舊版本的渲染行為,可透過 Switch.System.Windows.DisableSpecialCharacterLigature 進行設定

        public App()
        {
            AppContext.SetSwitch("Switch.System.Windows.DisableSpecialCharacterLigature", true);
        }

此功能是如何實現的

此功能是在不開源的 PresentationNative.dll 裡面實現的,因此沒有直接的實現程式碼。但預計只是呼叫 DirectX 的科技即可實現。從哪可以瞭解到其實現資訊?請參閱: Adding AppContext Switch for disabling special character ligatures by Kuldeep-MS · Pull Request #8990 · dotnet/wpf

更多實現 dotnet 9 的 WPF 更新請參閱:What's new in WPF for .NET 9 - WPF .NET

相關文章