@@ -1858,15 +1858,14 @@ void traceDisplayBufferAsHex()
1858
1858
}
1859
1859
} // traceDisplayBufferAsHex
1860
1860
1861
- // hacks for a bug in Windows Terminal. Map 7 through 15 to smiley faces.
1862
- // Also, 27/0x1b/ESC/left-arrow is treated as ESC so it's mapped to the other left arrow in this table.
1863
- // Also, 16/17 right/left arrows are mapped to >= and <=
1864
- // see this: https://github.com/dotnet/runtime/issues/80644
1861
+ // hacks for a bug in Windows Terminal, which treats these lower characters as control. It used to be just
1862
+ // a handlful of them, but a recent regression (noticed Dec 2024) impact nearly all of them.
1863
+ // see this for the original issue: https://github.com/dotnet/runtime/issues/80644
1865
1864
1866
1865
static const wchar_t CP437_to_Unicode_Windows_Hack[ 32 ] =
1867
1866
{
1868
- 0x0020 , 0x263a , 0x263b , 0x2665 , 0x2666 , 0x2663 , 0x2660 , 0x263a , 0x263b , 0x263a , 0x263b , 0x263a , 0x263b , 0x263a , 0x263b , 0x263a ,
1869
- 0x2265 , 0x2264 , 0x2195 , 0x203c , 0x00b6 , 0x00a7 , 0x25ac , 0x21a8 , 0x2191 , 0x2193 , 0x2192 , 0x25c4 , 0x221f , 0x2194 , 0x25b2 , 0x25bc , // 16
1867
+ 0x0020 , 0x263a , 0x263b , 0x2665 , 0x2666 , 0x2663 , 0x2660 , 0x00b7 , 0x00b7 , 0x00b7 , 0x00b7 , 0x00b7 , 0x00b7 , 0x00b7 , 0x00b7 , 0x00b7 ,
1868
+ 0x2265 , 0x2264 , 0x007c , 0x203c , 0x00b6 , 0x00a7 , 0x25ac , 0x007c , 0x007c , 0x007c , 0x002d , 0x002d , 0x221f , 0x2194 , 0x25b2 , 0x25bc , // 16
1870
1869
};
1871
1870
1872
1871
// Map 0000 to ' ' for display purposes. It only happens if a DOS app has a bug and tries to display character 0. Like brief.exe.
0 commit comments