This page is a snapshot from the LWG issues list, see the Library Active Issues List for more information and the meaning of Resolved status.
Section: 22.14.2.2 [format.string.std] Status: Resolved Submitter: Victor Zverovich Opened: 2021-11-13 Last modified: 2023-03-23
Priority: 3
View other active issues in [format.string.std].
View all other issues in [format.string.std].
View all issues with Resolved status.
Discussion:
22.14.2.2 [format.string.std] doesn't specify if implementations should consider the estimated width of the fill character when substituting it into the formatted results.
For example:auto s = std::format("{:🤡>10}", 42);
"🤡" (U+1F921) is a single code point but its estimated display width is two.
There are at least three possible resolutions:s == "🤡🤡🤡🤡42": use the estimated display width, correctly displayed on compatible terminals.
s == "🤡🤡🤡🤡🤡🤡🤡🤡42": assume the display width of 1, incorrectly displayed.
Require the fill character to have the estimated width of 1.
[2021-11-14; Daniel comments]
Resolving this issue should be harmonized with resolving LWG 3576.
[2022-01-30; Reflector poll]
Set priority to 3 after reflector poll. Sent to SG16.
[2023-01-11; LWG telecon]
P2572 would resolve this issue and LWG 3576.
[2023-03-22 Resolved by the adoption of P2572R1 in Issaquah. Status changed: SG16 → Resolved.]
Proposed resolution: