From 79aa3fc27b3fddbc9d2d97fbf27fe7360a5c3a90 Mon Sep 17 00:00:00 2001 From: autorepobot Date: Thu, 28 May 2026 04:59:48 +0800 Subject: [PATCH] Simplify font retrieval in GetFonts method Refactored GetFonts method to simplify font retrieval for all platforms. --- .../Views/OptionSettingWindow.axaml.cs | 29 ++++++------------- 1 file changed, 9 insertions(+), 20 deletions(-) diff --git a/v2rayN/v2rayN.Desktop/Views/OptionSettingWindow.axaml.cs b/v2rayN/v2rayN.Desktop/Views/OptionSettingWindow.axaml.cs index a1ee5cbe..254cf24b 100644 --- a/v2rayN/v2rayN.Desktop/Views/OptionSettingWindow.axaml.cs +++ b/v2rayN/v2rayN.Desktop/Views/OptionSettingWindow.axaml.cs @@ -161,29 +161,18 @@ public partial class OptionSettingWindow : WindowBase private async Task> GetFonts() { + await Task.CompletedTask; + var lstFonts = new List(); try { - if (Utils.IsWindows()) - { - return lstFonts; - } - else if (Utils.IsNonWindows()) - { - var result = await Utils.GetLinuxFontFamily("zh"); - if (result.IsNullOrEmpty()) - { - return lstFonts; - } - - var lst = result.Split(Environment.NewLine) - .Where(t => t.IsNotEmpty()) - .ToList() - .Select(t => t.Split(",").FirstOrDefault() ?? "") - .OrderBy(t => t) - .ToList(); - return lst; - } + var lst = Avalonia.Media.FontManager.Current.SystemFonts + .Select(t => t.Name) + .Where(t => t.IsNotEmpty()) + .Distinct(StringComparer.OrdinalIgnoreCase) + .OrderBy(t => t) + .ToList(); + return lst; } catch (Exception ex) {