Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/xwt.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Xwt.XamMac/Xwt.Mac/FontBackendHandler.cs17
1 files changed, 17 insertions, 0 deletions
diff --git a/Xwt.XamMac/Xwt.Mac/FontBackendHandler.cs b/Xwt.XamMac/Xwt.Mac/FontBackendHandler.cs
index c0dd9a74..8d9fc8ef 100644
--- a/Xwt.XamMac/Xwt.Mac/FontBackendHandler.cs
+++ b/Xwt.XamMac/Xwt.Mac/FontBackendHandler.cs
@@ -34,6 +34,23 @@ using Foundation;
using Xwt.Backends;
using Xwt.Drawing;
+namespace Xwt
+{
+ public static class FontExtensions
+ {
+ static bool IsSystemFont(this NSFont font)
+ => !font.FontDescriptor.FontAttributes.TryGetValue(NSFont.NameAttribute, out var nsoName)
+ || nsoName is not NSString name
+ || name.Length == 0
+ || name[0] == '.';
+
+ public static Font ToXwt(this NSFont font)
+ => font.IsSystemFont()
+ ? Font.SystemFont.WithSize(font.PointSize)
+ : Font.FromName(font.DisplayName).WithSize(font.PointSize);
+ }
+}
+
namespace Xwt.Mac
{
public class MacFontBackendHandler: FontBackendHandler