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

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

推荐阅读更多精彩内容