替换字体解决MaterialDesignThemes.wpf中文字显示不清晰的问题

在一个WPF项目中使用了MaterialDesignThemes.wpf后,界面效果很炫酷,不过使用过程中却发现中文字的显示效果不理想,部分文字粗细不均匀。


这是替换之前的效果

参考:https://github.com/MaterialDesignInXAML/MaterialDesignInXamlToolkit/issues/746 决定使用其它字体替换MaterialDesignThemes中的Roboto字体,作为米粉,我选择了刚发布的MIUI13系统字体MiSans。

  1. 首先从小米的网站下载了最近发布的MIUI13系统字体MiSans, 将解压后的字体文件拷贝到Resources/Fonts/MiSans文件夹下,并设置字体文件的属性为不生成如果效新则复制
    字体目录

    字体文件属性,批量选择后设置
  1. 根据上面链接的方法,建立静态类.
using System;
using System.IO;
using System.Windows.Media;

namespace OneDesk.Dye
{
    internal class MaterialDesignFonts
    {
        public static FontFamily MiSans { get; }

        static MaterialDesignFonts()
        {
            var fontPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, @"Resources\Fonts\MiSans\");
            MiSans = new FontFamily(new Uri($"file:///{fontPath}"), "./#MiSans");
        }
    }
}

  1. 最后更改MainWindow中的设置
<Window x:Class="TestPoject.MainWindow"
        [...]
        FontFamily="{x:Static local:MaterialDesignFonts.MiSans}"
        [...]
       ">

替换之后,中文字体显示有了明显的改进。


使用MiSans字体替换后的效果
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容