Why does Korean localization does not work after packaging

So after much messing around we managed to figure out what is causing this:

In the file \Engine\Source\Runtime\SlateCore\Private\Fonts\LegacySlateFontInfoCache.cpp:223
There is the following:

const FString FallbackFontPath = FPaths::EngineContentDir() / TEXT("Slate/Fonts/") / (NSLOCTEXT("Slate", "LegacyFallbackFont", "DroidSansFallback").ToString() + TEXT(".ttf"));

This is localised ONLY in Korean with the following:

#. Key:	LegacyFallbackFont
#. SourceLocation:	Source/Runtime/SlateCore/Private/Fonts/LegacySlateFontInfoCache.cpp:259
#: Source/Runtime/SlateCore/Private/Fonts/LegacySlateFontInfoCache.cpp:259
msgctxt "Slate,LegacyFallbackFont"
msgid "DroidSansFallback"
msgstr "../../Editor/Slate/Fonts/NanumGothic"

As it is attempting to load an Editor only font in a packaged build: It fails, and then shows the final fallback font characters.

So the actual solution is to either use a font which supports the various Hangul Jamo character sets or change that localisation string back to DroidSansFallback (as it actually supports the Hangul Jamo character sets)

This should probably be fixed by Epic correctly however.

Hopefully this helps someone. :slight_smile:

NOTE: This is STILL an issue as of 4.22