Fix the problem of font select (#9405)
Some checks are pending
release Linux / build (push) Waiting to run
release Linux / release-zip (push) Blocked by required conditions
release Linux / build and release deb x64 & arm64 (push) Waiting to run
release Linux / build and release rpm x64 & arm64 (push) Waiting to run
release Linux / build and release rpm riscv64 (push) Waiting to run
release Linux / build and release deb riscv64 (push) Waiting to run
release Linux / build and release deb loong64 (push) Waiting to run
release macOS / build (push) Waiting to run
release macOS / release-zip (push) Blocked by required conditions
release macOS / package and release macOS dmg (push) Blocked by required conditions
release Windows desktop (Avalonia UI) / build (push) Waiting to run
release Windows desktop (Avalonia UI) / release-zip (push) Blocked by required conditions
release Windows / build (push) Waiting to run
release Windows / release-zip (push) Blocked by required conditions

* Update OptionSettingWindow.axaml.cs

* Update OptionSettingWindow.axaml.cs
This commit is contained in:
JieXu 2026-05-28 15:31:06 +08:00 committed by GitHub
parent 3448782925
commit 1d2442d58a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -161,30 +161,19 @@ public partial class OptionSettingWindow : WindowBase<OptionSettingViewModel>
private async Task<List<string>> GetFonts() private async Task<List<string>> GetFonts()
{ {
await Task.CompletedTask;
var lstFonts = new List<string>(); var lstFonts = new List<string>();
try try
{ {
if (Utils.IsWindows()) var lst = Avalonia.Media.FontManager.Current.SystemFonts
{ .Select(t => t.Name)
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()) .Where(t => t.IsNotEmpty())
.ToList() .Distinct(StringComparer.OrdinalIgnoreCase)
.Select(t => t.Split(",").FirstOrDefault() ?? "")
.OrderBy(t => t) .OrderBy(t => t)
.ToList(); .ToList();
return lst; return lst;
} }
}
catch (Exception ex) catch (Exception ex)
{ {
Logging.SaveLog("GetFonts", ex); Logging.SaveLog("GetFonts", ex);