C++ Logo


Advanced search

Re: [SG16-Unicode] [isocpp-lib] New issue: Are std::format field widths code units, code points, or something else?

From: Niall Douglas <s_sourceforge_at_[hidden]>
Date: Tue, 10 Sep 2019 15:36:34 +0100
> Perhaps it would be helpful to enumerate what we expect to be portable
> uses of field widths. My personal take is that they are useful to
> specify widths for fields where the content is restricted to members of
> the basic source character set where we already have a guarantee that
> each character can be represented with one code unit.

Most programmers would use field widths for padding items so they appear
in a grid. They would expect that 𐐗 padded to eight characters yields
seven spaces and 𐐗, not four spaces and 𐐗 (because 𐐗 consumes four
bytes of UTF-8).

That said, as we have no idea how unicode would get rendered (0, 1, or 4
characters for 𐐗 being the most likely), I cannot improve on your
proposal. The situation sucks, quite frankly.


Received on 2019-09-10 16:36:38