If we enter Chinese characters using Microsoft Pinyin after entering 34 or more half-width characters in a text field, they are not reflected in the box. If less than 34 characters are entered, Chinese characters are correctly accepted.
This looks like a duplicate of [Link Removed]
Workaround:
/Engine/Source/Runtime/ApplicationCore/Private/Windows/TextStoreACP.cpp
STDAPI FTextStoreACP::GetText(LONG acpStart, LONG acpEnd, __RPC__out_ecount_part(cchPlainReq, *pcchPlainOut) WCHAR *pchPlain, ULONG cchPlainReq, __RPC__out ULONG *pcchPlainOut, __RPC__out_ecount_part(ulRunInfoReq, *pulRunInfoOut) TS_RUNINFO *prgRunInfo, ULONG ulRunInfoReq, __RPC__out ULONG *pulRunInfoOut, __RPC__out LONG *pacpNext) { // ... if(prgRunInfo && ulRunInfoReq > 0) { // We only edit text that's been stripped of any markup, so we have no need to provide multiple runs. // prgRunInfo[0].uCount = FMath::Min(static_cast<uint32>(ulRunInfoReq), Length); prgRunInfo[0].uCount = FMath::Min(static_cast<uint32>(cchPlainReq), Length); // add prgRunInfo[0].type = TS_RT_PLAIN; ++(*pulRunInfoOut); } // *pacpNext = BeginIndex + Length; *pacpNext = BeginIndex + FMath::Min(static_cast<uint32>(cchPlainReq), Length); // add return S_OK; }
1. Open QAGame
2. In any text field in the editor (such as content browser search bar), enter at least 34 half-width characters
4. Switch keyboard to Simplified Chinese (using Microsoft Pinyin)
5. Continue typing in the same text field in Chinese
Result:
The entered text is not reflected in the text field
Expected:
Text is reflected in the text field
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-213827 in the post.
6 |
Component | UE - Editor - UI Systems - Slate |
---|---|
Affects Versions | 5.4 |
Created | May 2, 2024 |
---|---|
Updated | Oct 10, 2024 |