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.
| 11 |
| Component | UE - Editor - UI Systems - Slate |
|---|---|
| Affects Versions | 5.4 |
| Created | May 2, 2024 |
|---|---|
| Updated | Mar 2, 2025 |
| 12947 - SjMxr233 |