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:
@@ -385,10 +385,10 @@
|
||||
<value>플러그인 창의 불투명도입니다. 값이 낮을수록 게임이 배경으로 비쳐 보이며, 폼 필드와 대화 상자는 위에서 완전히 불투명하게 표시됩니다.</value>
|
||||
</data>
|
||||
<data name="Theme_UseHellionFont_Name" xml:space="preserve">
|
||||
<value>내장 Hellion 글꼴 (Exo 2) 사용</value>
|
||||
<value>내장된 Inter Light 사용</value>
|
||||
</data>
|
||||
<data name="Theme_UseHellionFont_Description" xml:space="preserve">
|
||||
<value>채팅과 UI를 Exo 2 (SIL Open Font License 1.1)로 렌더링합니다. 이 글꼴은 플러그인에 포함되어 있습니다. 비활성화하면 설정 → 글꼴에서 선택한 글꼴로 돌아갑니다.</value>
|
||||
<value>플러그인에 포함된 Inter Light (SIL Open Font License 1.1)로 채팅과 UI를 표시합니다. 비활성화하면 설정 → 글꼴에서 선택한 글꼴로 돌아갑니다.</value>
|
||||
</data>
|
||||
|
||||
<data name="About_Maintainer_Heading" xml:space="preserve">
|
||||
@@ -1030,4 +1030,8 @@
|
||||
<data name="DbViewer_FullTextToggle_Hint_PhraseMode" xml:space="preserve">
|
||||
<value>정확한 구문을 검색합니다. 여러 단어 쿼리는 단어들이 순서대로 함께 나타날 때만 일치합니다. 원시 FTS5 MATCH 구문을 사용하려면 검색어를 직접 큰따옴표로 감싸세요.</value>
|
||||
</data>
|
||||
<data name="Settings_Language_FFXIVCoverage_Warning" xml:space="preserve">
|
||||
<value>HellionChat은 24개 언어 모두를 표시하지만, FFXIV의 채팅 입력은 EN, DE, FR, JA만 완전히 지원합니다. 다른 문자 체계는 게임 내 채팅에 입력하거나 메시지로 보낼 때 깨진 문자로 표시될 수 있습니다.</value>
|
||||
<comment>AI-assisted machine translation. Pending native-speaker review.</comment>
|
||||
</data>
|
||||
</root>
|
||||
|
||||
Reference in New Issue
Block a user