Crash when outputting garbled text when creating Android package. It did not occur in my colleague's environment using English OS, but occurred in my environment using Japanese OS. This issue should be fixed as soon as possible, as it occurs in many Japanese licensee environments.
This crash is caused by the following check in SlateTextShaper.cpp, but this check seems unnecessary. The reason is that some of the following code assumes TextStartIndex> TextEndIndex. Perhaps it's better to replace with if and warning output instead of check.
const int32 NumGlyphsRendered = OutGlyphsToRender.Num() - InitialNumGlyphsToRender; if (NumGlyphsRendered > 0) { auto ConditionalUpdateGlyphCountsForRange = [this, InTextStart](FShapedGlyphEntry& ShapedGlyphEntry, const int32 TextStartIndex, const int32 TextEndIndex) { check(TextStartIndex <= TextEndIndex); if (ShapedGlyphEntry.NumCharactersInGlyph == 0 && ShapedGlyphEntry.NumGraphemeClustersInGlyph == 0) { ShapedGlyphEntry.NumCharactersInGlyph = TextEndIndex - TextStartIndex; if (ShapedGlyphEntry.NumCharactersInGlyph > 0)
Minimal:
Copy the following text into any editable text in the editor: ڍׂ́
Original:
create an Android package on a Japanese OS
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-91619 in the post.
1 |
Component | UE - Editor - UI Systems - Slate |
---|---|
Affects Versions | 4.24, 4.25 |
Target Fix | 4.25 |
Created | Apr 7, 2020 |
---|---|
Resolved | Apr 17, 2020 |
Updated | Aug 20, 2020 |