I've been experimenting. It's not just a few characters. It's many high-bit characters that my font (Consolas) can handle.
If I put data in the clipboard like this.
Code:
HGLOBAL hMem = GlobalAlloc(GMEM_ZEROINIT|GMEM_MOVEABLE|GMEM_DDESHARE, 107 * sizeof(WCHAR));
WCHAR *pszChars = (WCHAR *) GlobalLock(hMem);
// @char[160] ~ @char[265] plus terminating NUL, all supported by Consolas
for ( INT i=0; i<106; i++ )
pszChars[i] = 160 + i;
pszChars[106] = 0;
OpenClipboard(NULL);
SetClipboardData(CF_UNICODETEXT, hMem);
Then echo @CLIP[0] gets it 100% right and TYPE clip: doesn't, regardless of code page. The differences is in characters 256~265.
In either case, it's better than TCC setting the clipboard data (which seems dependent on code page).
Code:
d:\projects2019\denom\x64\release> echo %@clip[0]
¡¢£¤¥¦§¨©ª«¬®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂ㥹ĆćĈĉ
d:\projects2019\denom\x64\release> type clip:
¡¢£¤¥¦§¨©ª«¬®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿAaAaAaCcCc
So I wonder, does (should?) TCC use CF_UNICODETEXT when setting the clipboard data? Any of CF_UNICODETEXT, CF_TEXT, and CF_OEMTEXT give you the other two automatically, but I imaging CF_UNICODETEXT might not be faithful if it comes from the clipboard translating one of the other formats.
And does TCC use CF_UNICODETEXT (if available) when getting the clipcoard data?