From 3da550c2fc8c7181e0c809250764afeeba0455ad Mon Sep 17 00:00:00 2001 From: JonKazama-Hellion Date: Wed, 6 May 2026 00:11:19 +0200 Subject: [PATCH] =?UTF-8?q?fix(fonts):=20Hellion-Schrift-Toggle=20blockt?= =?UTF-8?q?=20Schriftgr=C3=B6=C3=9Fe=20nicht=20mehr?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Settings → Erscheinungsbild → Schriftarten: bei aktiver 'Mitgelieferte Hellion-Schrift (Exo 2) verwenden' war der Schriftgrößen-Slider ausgegraut und FontSizeV2 wurde im FontManager auch nicht angewendet — 4K-User konnten den Plugin-Font nicht hochskalieren. Exo 2 ist Variable-Font, FontSize ist also problemlos adjustierbar. Zwei-teiliger Fix: - Appearance.cs: UseHellionFont rendert jetzt nur FontSizeCombo + SymbolsFontSizeCombo, kein Disabled-Wrap mehr. Der Bestand- Custom-Font-Stack mit FontsEnabled-Toggle und Font-Choosern bleibt exclusive zur Hellion-Schrift, läuft im else-Pfad. - FontManager.cs RegularFont-Build: SizePt-Source verzweigt jetzt auf UseHellionFont — Hellion-Pfad nutzt FontSizeV2, Bestand-Pfad nutzt weiter GlobalFontV2.SizePt aus dem Custom-Font-Spec. Reported by Flo 2026-05-06: '4k monitor ... der standart zu klein'. --- HellionChat/FontManager.cs | 11 ++++++++++- HellionChat/Ui/SettingsTabs/Appearance.cs | 17 ++++++++++++++++- 2 files changed, 26 insertions(+), 2 deletions(-) diff --git a/HellionChat/FontManager.cs b/HellionChat/FontManager.cs index f8bac37..c9e11b4 100644 --- a/HellionChat/FontManager.cs +++ b/HellionChat/FontManager.cs @@ -120,7 +120,16 @@ public class FontManager e => e.OnPreBuild( tk => { - var config = new SafeFontConfig {SizePt = Plugin.Config.GlobalFontV2.SizePt, GlyphRanges = Ranges}; + // v1.2.0 — Bei aktiver Hellion-Schrift (Exo 2 ist Variable-Font) + // wird die User-Schriftgröße aus FontSizeV2 als SizePt angewendet. + // Der Bestand-Pfad nutzt weiter GlobalFontV2.SizePt aus dem + // Custom-Font-Stack. Ohne diese Verzweigung war FontSizeV2 bei + // UseHellionFont=true wirkungslos, was 4K-User mit größerer + // Skalierung blockierte (Settings → Erscheinungsbild → Schriftarten). + var basePt = Plugin.Config.UseHellionFont + ? Plugin.Config.FontSizeV2 + : Plugin.Config.GlobalFontV2.SizePt; + var config = new SafeFontConfig {SizePt = basePt, GlyphRanges = Ranges}; config.MergeFont = Plugin.Config.UseHellionFont ? tk.AddFontFromMemory(GetHellionFontBytes(), config, "Hellion-Exo2") : AddFontWithFallback(tk, Plugin.Config.GlobalFontV2.FontId, config, "global"); diff --git a/HellionChat/Ui/SettingsTabs/Appearance.cs b/HellionChat/Ui/SettingsTabs/Appearance.cs index ba07ee3..031ab0b 100644 --- a/HellionChat/Ui/SettingsTabs/Appearance.cs +++ b/HellionChat/Ui/SettingsTabs/Appearance.cs @@ -109,7 +109,22 @@ internal sealed class Appearance : ISettingsTab ImGuiUtil.HelpMarker(HellionStrings.Theme_UseHellionFont_Description); ImGui.Spacing(); - using var fontDisabled = ImRaii.Disabled(Mutable.UseHellionFont); + // v1.2.0 — Schriftgröße muss auch bei aktiver Hellion-Schrift + // editierbar sein (Exo 2 ist Variable-Font, FontSizeV2 wird in + // FontManager als SizePt angewendet). Disabled-Wrap nur noch + // um den Bestand-Custom-Font-Stack (FontsEnabled-Toggle und + // die Font-Chooser) — der ist weiter exclusive zu HellionFont. + if (Mutable.UseHellionFont) + { + ImGuiUtil.FontSizeCombo(Language.Options_FontSize_Name, ref Mutable.FontSizeV2); + ImGui.Spacing(); + + ImGuiUtil.FontSizeCombo(Language.Options_SymbolsFontSize_Name, ref Mutable.SymbolsFontSizeV2); + ImGuiUtil.HelpMarker(Language.Options_SymbolsFontSize_Description); + + ImGui.Spacing(); + return; + } ImGui.Checkbox(Language.Options_FontsEnabled, ref Mutable.FontsEnabled); ImGui.Spacing();