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

这是替换之前的效果
参考:https://github.com/MaterialDesignInXAML/MaterialDesignInXamlToolkit/issues/746 决定使用其它字体替换MaterialDesignThemes中的Roboto字体,作为米粉,我选择了刚发布的MIUI13系统字体MiSans。
- 首先从小米的网站下载了最近发布的MIUI13系统字体MiSans, 将解压后的字体文件拷贝到Resources/Fonts/MiSans文件夹下,并设置字体文件的属性为
不生成和如果效新则复制。
字体目录
字体文件属性,批量选择后设置
- 根据上面链接的方法,建立静态类.
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");
}
}
}
- 最后更改MainWindow中的设置
<Window x:Class="TestPoject.MainWindow"
[...]
FontFamily="{x:Static local:MaterialDesignFonts.MiSans}"
[...]
">
替换之后,中文字体显示有了明显的改进。

使用MiSans字体替换后的效果

