fix(font): bundled font now actually renders, ship Inter Light, +CJK fallback
Plugin.cs:937 only pushed RegularFont when Config.FontsEnabled was true.
FontsAndColours.cs:50 forces FontsEnabled=false whenever UseHellionFont is
enabled (to hide the chooser UI), so the bundled-font path was silently
dead and the FFXIV Axis game-font took over. Exo 2 looked "almost right"
because it overlaps Axis on basic Latin, so the regression went unnoticed
for the entire v1.5.x series.
The fix routes RegularFont through draw whenever either FontsEnabled or
UseHellionFont is on. First-frame HITCH dropped from ~74 ms to ~20 ms
median (5-reload Linux/Wine sample 17.9-23.6 ms) as a side effect — the
v1.5.1 "too optimistic" defer-pattern hypothesis was actually a symptom
of this bug, not bad math.
Font-stack overhaul on top:
- Inter Light (Static 18pt-Light, 343 KB, SIL OFL 1.1) replaces Exo 2 as
the bundled font. Inter ships full Latin Extended-A/B, Greek polytonic
and Cyrillic Supplement coverage.
- NotoSansCjkRegular added as a third merge layer for Hangul,
Simplified-Chinese-specific Han glyphs, and CJK fallbacks the FFXIV
Japanese font does not ship.
- Two new ExtraGlyphRanges flags (LatinExtended, Greek) implemented via
AddChar pair lists in SetUpRanges.
- Settings.Apply auto-activates the matching ExtraGlyphRanges flag on
language change. Plugin.LoadAsync runs a one-shot migration that ORs
in the required flag for an already-selected language.
- ExtraGlyphRanges CollapsingHeader reachable regardless of
UseHellionFont (was hidden in the early-return branch).
- New WarningText below the language combo: FFXIV's chat engine only
fully supports EN/DE/FR/JA. Other scripts render in the HellionChat
UI but may garble in in-game chat input/send.
Localisation wave (originally a FR-only cycle):
- 24 selectable UI languages. LanguageOverride enum gains 10 new locales
plus 3 previously commented-out (Italian, Korean, Norwegian with ISO
code `nb` instead of `no`). All new values append to keep existing
user-config integer serialisation stable.
- Resource bundle split: HellionStrings.resx (24 locales, 328 keys) for
fork-added strings, Language.resx (24 locales, 456 keys) for the
ChatTwo-Crowdin-heritage. 4 post-sync Crowdin keys backfilled into
13 legacy locales with per-key AI-assisted comment marker.
- Em-dash sweep on EN source plus 18 translations. Russian and Ukrainian
keep their typographic norm.
Old HellionFont.ttf + HellionFont-OFL.txt removed; Inter-Light.ttf +
Inter-OFL.txt take their place. Configuration field UseHellionFont keeps
its name for backwards-compat. Migration v17 stays.
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
|
||||
[](https://gitea.hellion-forge.cloud/JonKazama-Hellion/HellionChat/actions/workflows/build.yml)
|
||||
[](LICENSE)
|
||||
[](https://gitea.hellion-forge.cloud/JonKazama-Hellion/HellionChat/releases/latest)
|
||||
[](https://gitea.hellion-forge.cloud/JonKazama-Hellion/HellionChat/releases/latest)
|
||||
[](https://github.com/goatcorp/Dalamud)
|
||||
[](https://dotnet.microsoft.com/)
|
||||
[](https://www.finalfantasyxiv.com/)
|
||||
@@ -11,7 +11,7 @@
|
||||
<img src="docs/images/hellion-forge.png" alt="Hellion Forge" width="180" />
|
||||
</p>
|
||||
|
||||
**Version 1.5.2** — Privacy-first chat plugin for FINAL FANTASY XIV / Dalamud, built on
|
||||
**Version 1.5.3** — Privacy-first chat plugin for FINAL FANTASY XIV / Dalamud, built on
|
||||
[Chat 2](https://github.com/Infiziert90/ChatTwo) (EUPL-1.2).
|
||||
|
||||
Hellion Chat is a privacy-first plugin built on the Chat 2 foundation. The majority of the engine
|
||||
@@ -55,7 +55,7 @@ Hellion Chat is developed under **Hellion Forge**, the specialized modding and p
|
||||
| UI | Dear ImGui (Dalamud bindings) |
|
||||
| Database | SQLite (Microsoft.Data.Sqlite, MessagePack storage) |
|
||||
| Localization | ResX (HellionStrings.resx, .de.resx; PR-based) |
|
||||
| Font | Exo 2 (SIL Open Font License 1.1, bundled) |
|
||||
| Font | Inter Light (SIL Open Font License 1.1, bundled) |
|
||||
| Toolchain | dotnet 10 SDK, VS Code with C# Dev Kit |
|
||||
| Deployment | GitHub Releases + custom repo (`repo.json`) |
|
||||
|
||||
@@ -103,7 +103,7 @@ Hellion Chat is developed under **Hellion Forge**, the specialized modding and p
|
||||
Colors: Classic (Chat 2 default), High Contrast, Pastel, Dark Mode Tuned, Hellion (brand), plus
|
||||
bonus moods Night Blue and Indigo Violet. One-click apply, battle channels remain untouched.
|
||||
- **Window opacity slider** for combat-friendly transparency.
|
||||
- **Bundled Hellion font** (Exo 2, OFL-1.1) as an optional default instead of the system font.
|
||||
- **Bundled UI font** (Inter Light, OFL-1.1) as an optional default instead of the system font.
|
||||
- **Hellion logo** bundled in the plugin and displayed in the Dalamud plugin list.
|
||||
|
||||
#### Custom Themes (v1.1.0)
|
||||
@@ -164,8 +164,8 @@ HellionChat/
|
||||
│ ├── HellionStrings.de.resx # German translation
|
||||
│ ├── HellionStrings.Designer.cs # Hand-maintained accessor
|
||||
│ ├── ChatColourPresets.cs # Seven built-in color presets (v0.6.0)
|
||||
│ ├── HellionFont.ttf # Exo 2 variable font
|
||||
│ ├── HellionFont-OFL.txt # OFL-1.1 license text (bundled with font)
|
||||
│ ├── Inter-Light.ttf # Inter Light static font (bundled UI font)
|
||||
│ ├── Inter-OFL.txt # OFL-1.1 license text (bundled with font)
|
||||
│ └── Language*.resx # Upstream localization (Crowdin)
|
||||
├── Ui/
|
||||
│ ├── FirstRunWizard.cs # Three-profile onboarding
|
||||
@@ -299,6 +299,28 @@ An optional submission to the Dalamud main plugin repo (in addition to the custo
|
||||
|
||||
## Project Status
|
||||
|
||||
**Version 1.5.3** — Localisation Wave + Bundled-Font Overhaul. Twenty-four selectable UI languages
|
||||
(Catalan, Czech, Danish, Dutch, English, Finnish, French, German, Greek, Hungarian, Italian,
|
||||
Japanese, Korean, Norsk bokmål, Polish, Portuguese (Brazil), Portuguese (Portugal), Romanian,
|
||||
Russian, Spanish, Swedish, Turkish, Ukrainian, Simplified Chinese, Traditional Chinese); dropdown
|
||||
sorts alphabetically by endonym, "None" pinned first. Non-native translations are AI-assisted and
|
||||
flagged for community native-speaker review. The bundled UI font swaps from Exo 2 to **Inter
|
||||
Light** (SIL OFL 1.1, 343 KB) for wider Latin Extended-A/B, Greek polytonic and Cyrillic Supplement
|
||||
coverage. **NotoSansCjkRegular** joins as a third merge layer so Hangul and Simplified-Chinese
|
||||
glyphs the FFXIV Japanese game font does not ship now render correctly. First-frame HITCH dropped
|
||||
from ~74 ms (v1.5.2 baseline that held since v1.4.x) to a median of ~20 ms (5-reload sample
|
||||
17.9-23.6 ms, Linux/Wine) as a side effect: the bundled-font path was silently falling back to the
|
||||
FFXIV Axis game font for the entire v1.5.x series because of an early-return in `Plugin.cs:937`.
|
||||
The fix routes `RegularFont` through draw whenever either `FontsEnabled` or `UseHellionFont` is on,
|
||||
and lands the defer-pattern win v1.5.1 was reaching for. `ExtraGlyphRanges` auto-activates the
|
||||
matching flag on language change; two new flags (`LatinExtended`, `Greek`) join the existing set.
|
||||
A WarningText under the language dropdown notes that FFXIV's own chat input only fully supports
|
||||
EN/DE/FR/JA — other languages may garble when typed in-game. Migration v17 stays.
|
||||
|
||||
---
|
||||
|
||||
### Project status (pre-v1.5.3, kept for context)
|
||||
|
||||
**Version 1.5.2** — First-Run Wizard Rework. The single-page wizard becomes a four-step
|
||||
staged-commit flow (Welcome → Privacy → Power Settings → Done). The privacy picker becomes a 2×2
|
||||
grid with a fourth profile "Roleplay" that extends Privacy-First with `Say` and both emote types
|
||||
@@ -357,7 +379,7 @@ Hellion Chat is a standalone plugin, no longer a fork in the repository sense. F
|
||||
- First-run wizard with three profiles
|
||||
- Plugin identity: own `HellionChat` slot, layout migration from Chat 2, Migrate3 recovery
|
||||
- Bilingual UI (EN and DE) with live language switching
|
||||
- Hellion theme, Hellion logo, bundled Exo 2 font
|
||||
- Hellion theme, Hellion logo, bundled Inter Light font
|
||||
- Custom repo pipeline with automated GitHub Release distribution
|
||||
- Slash commands consolidated to the `/hellionchat` family
|
||||
- Web interface removed (v0.2.0)
|
||||
|
||||
Reference in New Issue
Block a user