Open
Description
Symfony version(s) affected
7.2
Description
When rendering a table in console and use emojis then width of columns could be wrong calculated.
How to reproduce
Use any emoji with variant selector (U+FE0F, U+FE0E) in cell output. For example ❄️
Possible Solution
Don't count number of variant selector symbols when counting padding for multi-byte strings.
private function renderCell(/* .. */): string {
// ...
if (false !== $encoding = mb_detect_encoding($cell, null, true)) {
$width += \strlen($cell) - mb_strwidth(str_replace(["\xef\xb8\x8f", "\xef\xb8\x8e", ], "", $cell), $encoding);
}