日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

OxyPlot.SkiaSharp中文显示乱码的问题

發布時間:2023/12/4 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 OxyPlot.SkiaSharp中文显示乱码的问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

oxyplot 圖表控件功能強大,使用很廣泛。最近考慮到性能使用OxyPlot.SkiaSharp替代OxyPlot.WPF,曲線圖表初步測試,性能提升近10倍左右?;赟kiaSharp圖形引擎的一些控件常遇見中文亂碼的問題,所以改用OxyPlot.SkiaSharp時也有心里準備。默認情況下中文顯示真成了亂碼。如下圖所示。

于是翻了遍OxyPlot.SkiaSharp源碼,看到PlotModel中的DefaultFont屬性默認值是“Segoe UI”,西文無襯線體。試著改為“微軟雅黑”,中文顯示正常了。如下圖所示。

OxyPlot.WPF中為什么顯示沒問題,將WPF中TextBlock字體改為ALGERIAN后,只有英文應用了該字體,而中文則是以另外一種字體顯示的。如下圖所示。

我們知道WPF的默認字體也是“Segoe UI”,為什么顯示不會有問題呢,這就要提到WPF應用字體的機制了。

WPF應用程序使用屬性FontFamily、FontStyle、FontWeight、FontStretch和FontSize來指定它想要的字體。在運行時,WPF會決定在應用程序運行的目標系統上使用準確的字體。這個決定是基于將前四個屬性(暫時忽略FontSize)與該系統上安裝的物理字體文件進行匹配。

WPF首先將提供的FontFamily與系統中找到的字體名稱進行匹配。然后,它試圖找到一個與所請求的FontStretch、FontStyle和FontWeight屬性值最接近的字體。匹配FontStretch是最高優先級,其次是FontStyle,然后是FontWeight。

如果WPF找不到匹配的字體,它就會“退回”到與WPF一起安裝的默認字體,即

C:\Windows\Fonts\GlobalUserInterface.CompositeFont

這是一種復合字體,它試圖將單個字符映射到系統上可能存在的字體。也就是說中文和英文是分開映射到不同的字體上。

總結

以上是生活随笔為你收集整理的OxyPlot.SkiaSharp中文显示乱码的问题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。