dotnet 9 WPF 连字符渲染支持

如下图是 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

posted @ 2024-11-14 07:31  lindexi  阅读(173)  评论(0编辑  收藏  举报