C++ Logo

sg13

Advanced search

[SG13] SG16 review of P0267R9 - 2D graphics

From: Tom Honermann <tom_at_[hidden]>
Date: Sun, 14 Jul 2019 00:10:36 -0400
SG16 discussed the text related aspects of P0267R9 at our teleconference
held June26th, 2019. Meeting notes are available at:
- https://github.com/sg16-unicode/sg16-meetings#june-26th-2019

We did not conduct any polls during the teleconference, but will do so
when we discuss this paper in SG16 at Cologne.

The relevant portions of the meeting notes are copied below for convenience.

  * P0267R9 - A Proposal to Add 2D Graphics Rendering and Display to C++
    <https://wg21.link/p0267r9>:
      o Tom, unsurprisingly, stated that the interface should use
        |std:u8string| since it requires UTF-8 encoded text.
      o Michael agreed and expressed dislike for the asumption of UTF-8
        in a |std::string| object.
      o Zach stated that the interfaces should be |std::string_view| and
        execution encoding.
      o Steve pondered whether all current graphical display systems are
        Unicode.
      o Tom stated that the X window system is locale based.
      o Zach suggested it would be least surprising to programmers to
        use execution encoding. That way they can just pass regular strings.
      o Peter stated that, On UNIX systems, UTF-8 tends to be the
        default, so things will work as is, but Windows would be
        problematic.
      o Zach observed that, without standard library support, converting
        text from execution encoding to UTF-8 is hard.
      o Peter suggested leaving it to the UI libraries to figure it out.
      o Zach responded that this is a UI library, so we need to figure
        it out.
      o Michael pondered whether we should add overloads for |char|,
        |wchar_t|, |char8_t|, |char16_t|, and |char32_t|.
      o Zach suggested that we only need |char| and |char8_t|.
      o Hubert observed that the standard library is designed around
        locales.
      o Tom asked Hubert to clarify, are you thinking these interfaces
        should take a locale object?
      o Hubert responded that, if you have strings that you don't know
        the encoding for, then yes.
      o JeanHeyd expressed a preference for just using |std::u8string|
        to avoid locale dependencies.
      o Mark agreed that, perhaps, just |char8_t| is enough.
      o Tom stated that, by the time 2D graphics is standardized, we
        should be able to get good conversion routines in the standard
        library or we will have failed miserably!
      o Hubert observed that the paper is missing bidirectional language
        support.
      o Tom noticed that the paper doesn't say what happens with
        ill-formed encoded input.
      o Mark suggested discussing font names; these should probably be
        bag-of-byte names. The paper defers to the HTML CSS specification.
      o Zach noticed that the paper doesn't discuss normalization. It
        would be nice if it called it out specifically.
      o Tom asked if normalization matters.
      o Zach responded that it does in some cases.
      o JF suggested that we should make it possible to defer to the CSS
        specification if we can't right now. We don't want to do what we
        previously did in forking the Unicode identifier specification
        from UAX#13 <https://unicode.org/reports/tr31>
      o Mark noticed that some of the interfaces pass and return
        |std::string| by value where they probably shouldn't.
      o JF pondered about overlap with SG13 and avoiding conflicts in
        scheduling when meeting in Cologne.
      o [Editor's note: SG13 and SG16 are meeting on separate days.]

Tom.


Received on 2019-07-13 23:12:42