From 7ed27be066bb0683c96c535630ec7b5690ce36c2 Mon Sep 17 00:00:00 2001 From: DeaTh-G Date: Thu, 20 Feb 2025 19:41:32 +0100 Subject: [PATCH] add explanation for special gylph characters --- UnleashedRecomp/gpu/imgui/imgui_font_builder.cpp | 9 ++++++++- UnleashedRecomp/ui/imgui_utils.cpp | 2 +- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/UnleashedRecomp/gpu/imgui/imgui_font_builder.cpp b/UnleashedRecomp/gpu/imgui/imgui_font_builder.cpp index d5baf98e..1ac51313 100644 --- a/UnleashedRecomp/gpu/imgui/imgui_font_builder.cpp +++ b/UnleashedRecomp/gpu/imgui/imgui_font_builder.cpp @@ -257,7 +257,10 @@ static bool FontBuilder_Build(ImFontAtlas* atlas) v0 / packer.height, advance); } - + + // Used as a zero-width helper for automatic line breaks. + // This is useful for languages like Japanese to separate 'words' + // so that they don't get split mid-kana by the automatic splitter. config.DstFont->AddGlyph( &config, 0x200B, @@ -271,6 +274,10 @@ static bool FontBuilder_Build(ImFontAtlas* atlas) 0.0f, 0.0f); + // A duplicate of the normal width space character. + // Overrides the unicode Four-Per-Em Space character. + // This can be used to add visual spacers that are ignored + // by the automatic line splitting logic. config.DstFont->AddGlyph( &config, 0x2005, diff --git a/UnleashedRecomp/ui/imgui_utils.cpp b/UnleashedRecomp/ui/imgui_utils.cpp index fa89cc27..be085b4c 100644 --- a/UnleashedRecomp/ui/imgui_utils.cpp +++ b/UnleashedRecomp/ui/imgui_utils.cpp @@ -680,7 +680,7 @@ void DrawRubyAnnotatedText(const ImFont* font, float fontSize, float maxWidth, c for (auto& line : lines) { line = ReAddRubyAnnotations(line, input.second); - if (!line.empty() && line.substr(0, 3) != "「" && leadingSpace) + if (!line.empty() && line.substr(0, 3) != "「" && leadingSpace) { line.insert(0, " "); }