C++ Logo

sg16

Advanced search

Undated reference to Unicode Standard and UAX #29

From: Jonathan Wakely <cxx_at_[hidden]>
Date: Fri, 5 Jan 2024 16:26:49 +0000
Since the adoption of P2736 C++23 and the current C++ working draft just
refer to "the Unicode Standard", with a URL referring to the latest
version. We removed the bibliography entry for TR29 revision 35. P2736
gives the justification for this that the revision of #29 included in
Unicode 15 (revision 41) is just a bug fix, so there's no problem referring
to that instead.

That might have been true last year, but the current Unicode Standard
(15.1.0) includes revision 43 of UAX #29, which makes significant changes
to the extended grapheme cluster breaking rules. A new state machine is
needed (and new lookup tables of properties) to implement rule GB9c. That's
not just a bug fix, is it?

Are C++ implementations expected to implement rule GB9c, despite it not
being part of the standard when C++23 was published? If not, where in the
C++23 standard does it say that implementations should conform to version
15.0.0 of the Unicode Standard, rather than version 15.1.0, or whatever
version they publish next? How can we conform to a moving target?

Am I missing some reference that names Unicode 15.0.0?

Received on 2024-01-05 16:27:05