Examples/WideCharRepro/README.md
A minimal reproduction app demonstrating incorrect wide/fullwidth Unicode character rendering in terminal emulators.
Terminal emulators must advance the cursor by 2 columns for "wide" Unicode characters (East Asian Width = Wide/Fullwidth, emoji with presentation selectors). Some terminals incorrectly advance by only 1 column, causing:
All grid separators (│) are vertically aligned. Each wide character occupies exactly 2 terminal columns.
Grid separators are misaligned. Wide characters only advance the cursor by 1 column, causing all subsequent content on the line to shift left.
dotnet run
Requirements: .NET 10 SDK (or change TargetFramework in .csproj to your installed version, e.g., net8.0 or net9.0).
│ separators should form perfectly vertical columns.X markers should all appear at column 20.If any of these are misaligned, the terminal has a wide-character width calculation bug.
Wide characters affected:
East_Asian_Width property = W (Wide) or F (Fullwidth)The terminal must use the Unicode East_Asian_Width property (or an equivalent wcwidth implementation) to determine cursor advancement after printing each character.