Cefsharp 开源项目默认字体

近期使用了Cefsharp框架开发应用,发现有一个问题,如果页面没有定义font-family的样式,则其页面默认字体一直是Simsun,如图:


image.png

在我的浏览器中表现为使用了“宋体”渲染。

搜索了一通发现网友们也没有提供好的办法,于是自己摸索的一番。

怀疑是资源文件内部定义了默认字体,尝试打开zh_CN.pak文件搜索,设置区域为zh_CN:无效(虽然内部定义‘Simsun’样式)
还有cef.pak文件,并没有相关的样式定义。

最后发现BrowserSetting类。
我们可以在控件里边设置BrowserSetting属性定义默认的字体

public class Browser: ChromiumWebBrowser
    {
        public Browser(string address)
            :base(address)
        {
            SetStyle(System.Windows.Forms.ControlStyles.AllPaintingInWmPaint, true);
            SetStyle(System.Windows.Forms.ControlStyles.ResizeRedraw, false);
            SetStyle(System.Windows.Forms.ControlStyles.OptimizedDoubleBuffer, true);
            this.DownloadHandler = new DownloadHandler();
            this.IsBrowserInitializedChanged += Browser_IsBrowserInitializedChanged;
            //this.RegisterJsObject("Test", this);
            //重写默认字体为微软雅黑
            BrowserSettings = new BrowserSettings();
            BrowserSettings.StandardFontFamily = BrowserSettings.SansSerifFontFamily = BrowserSettings.SerifFontFamily = BrowserSettings.FantasyFontFamily = BrowserSettings.FixedFontFamily = BrowserSettings.CursiveFontFamily = "Microsoft YaHei";
        }
}

cefsharp版本:49
cef版本:3.2623

你可能感兴趣的:(Cefsharp 开源项目默认字体)