Description

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;
}

 

Steps to Reproduce

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

Have Comments or More Details?

There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-213827 in the post.

6
Login to Vote

Backlogged
ComponentUE - Editor - UI Systems - Slate
Affects Versions5.4
CreatedMay 2, 2024
UpdatedOct 10, 2024
View Jira Issue