<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Nov 30, 2022 at 12:09 AM Tom Honermann &lt;<a href="mailto:tom@honermann.net">tom@honermann.net</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
  
    
  
  <div>
    <div>On 11/29/22 6:04 PM, Corentin Jabot
      wrote:<br>
    </div>
    <blockquote type="cite">
      
      <div dir="ltr">
        <div dir="ltr"><br>
        </div>
        <br>
        <div class="gmail_quote">
          <div dir="ltr" class="gmail_attr">On Tue, Nov 29, 2022 at
            11:47 PM Tom Honermann &lt;<a href="mailto:tom@honermann.net" target="_blank">tom@honermann.net</a>&gt;
            wrote:<br>
          </div>
          <blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
            <div>
              <div>On 11/29/22 5:32 PM, Corentin Jabot wrote:<br>
              </div>
              <blockquote type="cite">
                <div dir="ltr">
                  <div dir="ltr"><br>
                  </div>
                  <br>
                  <div class="gmail_quote">
                    <div dir="ltr" class="gmail_attr">On Tue, Nov 29,
                      2022 at 11:13 PM Tom Honermann via SG16 &lt;<a href="mailto:sg16@lists.isocpp.org" target="_blank">sg16@lists.isocpp.org</a>&gt;
                      wrote:<br>
                    </div>
                    <blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
                      <div>
                        <p>Corentin, I&#39;m having a hard time
                          understanding what the screenshots included in
                          P2675R0 are showing. The paper doesn&#39;t explain
                          (or I missed it) what was done to produce
                          those screenshots. I can&#39;t tell what code
                          points the displayed glyphs correspond to. The
                          set of characters displayed seems to differ;
                          the number of rows displayed is not
                          consistent. It doesn&#39;t seem to be possible to
                          dive into the data to determine which
                          characters are being rendered differently.
                          Basically, I&#39;m unable to evaluate whether the
                          screenshots support the proposal.</p>
                        <p>It would also be helpful if the screenshots
                          included information about the terminal
                          encoding (almost always UTF-8 I would
                          guess/hope) and the font(s) used. I recognize
                          gathering such data could be challenging.<br>
                        </p>
                      </div>
                    </blockquote>
                    <div><br>
                    </div>
                    <div>Well, given the first collection took many days
                      and involved a large number of people, that may
                      prove challenging.</div>
                    <div>I did intend to have the characters separated
                      by |, but by the time I realized that it was too
                      late.</div>
                    <div>Knowing the fonts used would be even more
                      challenging as in the absence of a codepoint
                      renderers will try to find some other similar
                      font.</div>
                    <div>For east asian characters, they will be aligned
                      no matter the font, for emoji they may or may not
                      be rendered on the grid.</div>
                    <div><br>
                    </div>
                    <div>The paper contains a script that was used to
                      generate the list of codepoint rendered.</div>
                    <div>I intended to include that list however
                      it proved difficult to handle for google docs, and
                      apparently subsequentely forgot to put a reference</div>
                    <div><a href="https://gist.githubusercontent.com/cor3ntin/e5731f77574b146d806e39283e8c7cb7/raw/01d760e7fbb6a56c637a3ce34688e1da286df287/full_width.hpp" target="_blank">https://gist.githubusercontent.com/cor3ntin/e5731f77574b146d806e39283e8c7cb7/raw/01d760e7fbb6a56c637a3ce34688e1da286df287/full_width.hpp</a></div>
                    <div>Feel free to try on your system.</div>
                    <div><br>
                    </div>
                    <div>The TL;DR is that on a conforming system with
                      sufficient fonts - which is not all systems, in
                      part because Unicode 15 is recent and not all
                      terminals display wide tofu properly - what is
                      proposed is coherent with existing terminal
                      behaviors. And we should not try to placate over
                      temporary deficiency of one specific terminal over
                      another.</div>
                  </div>
                </div>
              </blockquote>
              <p>Thanks, could you please add that kind of description
                to the next revision of the paper? Not for tomorrow
                obviously.</p>
              <p>Having taken a look at the gist linked above, I have to
                conclude that the screenshots currently in the paper are
                not beneficial. Some screenshots show rows from the top
                of the gist and others from the bottom, but I can only
                tell that by guessing based on glyph shape and being
                locally able to look at the entire gist. <br>
              </p>
              <p>Having a large number of screenshots is not important
                to me. I would be happy to have examples for just the
                following. But I would like screenshots that provide an
                apples-to-apples comparison and that show the entire
                gist.<br>
              </p>
              <ul>
                <li>Linux with Konsole.</li>
                <li>Linux with gnome-terminal.</li>
                <li>Linux with non-graphical terminal.</li>
                <li>Windows with cmd.exe.</li>
                <li>Windows with Windows Terminal.</li>
                <li>Windows with Putty.<br>
                </li>
                <li>macOS with its default terminal.</li>
              </ul>
            </div>
          </blockquote>
          <div><br>
          </div>
          <div>All of these are provided in the paper.</div>
        </div>
      </div>
    </blockquote>
    They are present, but they are incomplete and it is not possible for
    me to make sense of them.<br>
    <blockquote type="cite">
      <div dir="ltr">
        <div class="gmail_quote">
          <div>You are free to collect your own of course, not everyone
            is able to show every codepoint at once given screen size,
            etc.</div>
        </div>
      </div>
    </blockquote>
    I understand that taking multiple screenshots would likely be
    required to show a complete presentation.<br>
    <blockquote type="cite">
      <div dir="ltr">
        <div class="gmail_quote">
          <div>And it&#39;s beside the point.</div>
          <div>My point is that the standard currently has arbitrary
            rules that do not follow any existing practice.</div>
        </div>
      </div>
    </blockquote>
    Victor obtained the list by looking at existing practice.<br></div></blockquote><div><br></div><div>Let&#39;s continue that tomorrow.</div><div>That is explained in the paper, Victor looked at existing practice long before Unicode 15 (his work was based on 13),</div><div>and based on an implementation of wcwidth which I also reference and explain.</div><div><br></div><div>You can also look at other existing practice</div><div><br></div><div><a href="https://github.com/microsoft/terminal/blob/main/src/types/CodepointWidthDetector.cpp">https://github.com/microsoft/terminal/blob/main/src/types/CodepointWidthDetector.cpp</a><br></div><div><a href="https://github.com/KDE/konsole/blob/b8325d2f1842e8f5b4999e7e4510093895818dee/tools/uni2characterwidth/uni2characterwidth.cpp#L892">https://github.com/KDE/konsole/blob/b8325d2f1842e8f5b4999e7e4510093895818dee/tools/uni2characterwidth/uni2characterwidth.cpp#L892</a><br></div><div><a href="https://github.com/GNOME/vte/blob/master/doc/ambiguous.txt">https://github.com/GNOME/vte/blob/master/doc/ambiguous.txt</a><br></div><div><br></div><div>(Note that terminals are much smarter than the standard but they all consider W and F codepoints as double width)</div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div>
    <blockquote type="cite">
      <div dir="ltr">
        <div class="gmail_quote">
          <div>Can you justify the current list, as it is in the
            standard?</div>
          <div>Can you justify <a href="https://godbolt.org/z/McoG64n1v" target="_blank">https://godbolt.org/z/McoG64n1v</a>
            ?</div>
        </div>
      </div>
    </blockquote>
    <p>I&#39;m trying to evaluate your proposal against the status quo.
      Unfortunately, the paper is not proving all that helpful in doing
      so.<br></p></div></blockquote><div>Given the list of codepoints I sent you (the gist), would you argue any of them should have a narrow rendering?</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><p>
    </p>
    <p>Tom.<br>
    </p>
    <blockquote type="cite">
      <div dir="ltr">
        <div class="gmail_quote">
          <div> </div>
          <blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
            <div>
              <ul>
              </ul>
              <p>Tom.<br>
              </p>
              <blockquote type="cite">
                <div dir="ltr">
                  <div class="gmail_quote">
                    <div><br>
                    </div>
                    <blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
                      <div>
                        <p> </p>
                        <p>Tom.<br>
                        </p>
                        <div>On 11/29/22 3:40 PM, Tom Honermann via SG16
                          wrote:<br>
                        </div>
                        <blockquote type="cite">
                          <p> </p>
                          <div lang="x-unicode">
                            <p>SG16 will hold a telecon on Wednesday,
                              November 30th, at 19:30 UTC (<a href="https://www.timeanddate.com/worldclock/converter.html?iso=20221130T193000&amp;p1=1440&amp;p2=tz_pst&amp;p3=tz_mst&amp;p4=tz_cst&amp;p5=tz_est&amp;p6=tz_cet" target="_blank">timezone
                                conversion</a>).</p>
                            <p><b>This message will also serve as your
                                friendly reminder that this meeting is
                                taking place tomorrow. </b><b>I&#39;m sorry
                                for publishing an agenda so very late. </b></p>
                            <p><b>For participants in the USA, please
                                note that daylight savings time ended
                                2022-11-06, so this telecon will start
                                one hour earlier than our last telecon.</b></p>
                            <p>The agenda follows. We won&#39;t get through
                              all of these. These are all of the NB
                              comments we have left to address. Whatever
                              we don&#39;t get to in this meeting will be
                              scheduled for the December 14th meeting.<br>
                            </p>
                            <ul>
                              <li><a href="https://wg21.link/p2713r0" target="_blank">P2713R0:
                                  Escaping improvements in std::format</a></li>
                              <ul>
                                <li><a href="https://github.com/cplusplus/nbballot/issues/515" target="_blank">US 38-098
                                    22.14.6.4p1 [format.string.escaped]
                                    Escaping for debugging and logging</a><br>
                                </li>
                                <li><a href="https://github.com/cplusplus/nbballot/issues/408" target="_blank">FR 005-134
                                    22.14.6.4 [format.string.escaped]
                                    Aggressive escaping</a><br>
                                </li>
                              </ul>
                              <li><a href="https://wg21.link/p2693r0" target="_blank">P2693R0:
                                  Formatting thread::id and stacktrace</a></li>
                              <ul>
                                <li><a href="https://github.com/cplusplus/nbballot/issues/410" target="_blank">FR-008-011
                                    22.14 [format] Support formatting of
                                    thread::id</a></li>
                              </ul>
                              <li><a href="https://github.com/cplusplus/nbballot/issues/412" target="_blank">FR-010-133
                                  [Bibliography] Unify references to
                                  Unicode</a> and<br>
                                <a href="https://github.com/cplusplus/nbballot/issues/423" target="_blank">FR-021-013
                                  5.3p5.2 [lex.charset] Codepoint names
                                  in identifiers</a></li>
                              <li><a href="https://wg21.link/p2675r0" target="_blank">P2675R0:
                                  LWG3780: The Paper (format&#39;s width
                                  estimation is too approximate and not
                                  forward compatible)</a></li>
                              <ul>
                                <li><a href="https://cplusplus.github.io/LWG/issue3780" target="_blank">LWG #3780:
                                    format&#39;s width estimation is too
                                    approximate and not forward
                                    compatible</a></li>
                                <li><a href="https://github.com/cplusplus/nbballot/issues/409" target="_blank">FR-007-012
                                    22.14.2.2 [format.string.std]
                                    codepoints with width 2</a></li>
                              </ul>
                              <li><a href="https://github.com/cplusplus/nbballot/issues/422" target="_blank">FR-020-014
                                  5.3 [lex.charset] Replace &quot;translation
                                  character set&quot; by &quot;Unicode&quot;</a></li>
                            </ul>
                            <p><a href="https://wg21.link/p2713r0" target="_blank">P2713R0</a>
                              (Escaping improvements in std::format)
                              implements the SG16 proposed resolutions
                              for <a href="https://github.com/cplusplus/nbballot/issues/515" target="_blank">US
                                38-098</a> (see the <a href="https://github.com/sg16-unicode/sg16-meetings#october-19th-2022" target="_blank">2022-10-19
                                SG16 meeting summary</a>) and <a href="https://github.com/cplusplus/nbballot/issues/408" target="_blank">FR
                                005-134</a> (see the <a href="https://github.com/sg16-unicode/sg16-meetings#november-2nd-2022" target="_blank">2022-11-02
                                SG16 meeting summary</a>). We&#39;ll review
                              the wording and then poll forwarding to
                              LEWG as the resolution of the two NB
                              comments.</p>
                            <blockquote>
                              <p>Candidate Poll 1: P2713R0: Forward to
                                LEWG as the recommended resolution of US
                                38-098 and FR 005-134 [amended to ...].<br>
                              </p>
                            </blockquote>
                            <p><a href="https://wg21.link/p2693r0" target="_blank">P2693R0</a>
                              (Formatting thread::id and stacktrace) is
                              intended to resolve <a href="https://github.com/cplusplus/nbballot/issues/410" target="_blank">FR-008-011</a>.
                              I did not initially tag this NB comment as
                              needing SG16 review, but Bryce requested
                              that SG16 take a look, specifically with
                              regard to narrow vs wide formatting. Bryce
                              has indicated this paper will need to be
                              approved soon in order for it to appear in
                              the electronic polling that will be
                              conducted in January.<br>
                            </p>
                            <blockquote>
                              <p>Candidate Poll 2: P2693R0: Forward to
                                LEWG as the recommended resolution of
                                FR-008-011 [amended to ...].<br>
                              </p>
                            </blockquote>
                            <p><a href="https://github.com/cplusplus/nbballot/issues/412" target="_blank">FR-010-133</a>
                              and <a href="https://github.com/cplusplus/nbballot/issues/423" target="_blank">FR-021-013</a>
                              were discussed during the <a href="https://github.com/sg16-unicode/sg16-meetings#november-2nd-2022" target="_blank">2022-11-02
                                SG16 meeting</a> and concluded with a
                              recommendation to discuss with the project
                              editor the possibility of preferring the
                              Unicode Standard over ISO/IEC 10646 within
                              the C++ standard. The project editor
                              approved this direction and we can now
                              move forward with drafting wording
                              changes. This will require a paper
                              produced in short order if it is to be
                              accepted for C++23.<br>
                            </p>
                            <p><a href="https://wg21.link/p2675r0" target="_blank">P2675R0</a>
                              (LWG3780: The Paper (format&#39;s width
                              estimation is too approximate and not
                              forward compatible)) is intended to
                              resolve <a href="https://cplusplus.github.io/LWG/issue3780" target="_blank">LWG
                                #3780</a> and <a href="https://github.com/cplusplus/nbballot/issues/409" target="_blank">FR-007-012</a>.
                              It seeks to replace the explicit list of
                              code point ranges in <a href="https://eel.is/c++draft/format.string.std#12" target="_blank">[format.string.std]p12</a>
                              with wording that derives substantially
                              the same set of code points using Unicode
                              database properties.<br>
                            </p>
                            <blockquote>
                              <p>Candidate Poll 3.1: P2675R0: Forward to
                                LEWG as the recommended resolution of
                                FR-007-012 [amended to ...].<br>
                                Candidate Poll 3.2: P2675R0: Forward to
                                LEWG for C++26 [amended to ...].<br>
                                Candidate Poll 3.3: Recommend to LEWG
                                that FR-007-012 be rejected.<br>
                              </p>
                            </blockquote>
                            <p><a href="https://github.com/cplusplus/nbballot/issues/422" target="_blank">FR-020-014</a>
                              raises concerns that were discussed as
                              part of the reviews of <a href="https://wg21.link/p2314" target="_blank">P2314</a>
                              and <a href="https://wg21.link/p2297" target="_blank">P2297</a>
                              during the <a href="https://github.com/sg16-unicode/sg16-meetings/blob/master/README-2021.md#march-24th-2021" target="_blank">2021-03-24
                                SG16 meeting</a>. The comment does not
                              appear to present new information. If we
                              choose to accept, a paper will need to be
                              quickly produced.<br>
                            </p>
                            <blockquote>
                              <p>Candidate poll 4.1: Recommend to CWG
                                that FR-020-014 be accepted.<br>
                                Candidate poll 4.2: Recommend to CWG
                                that FR-020-014 be rejected.</p>
                            </blockquote>
                            <p>Tom.<br>
                            </p>
                          </div>
                          <br>
                          <fieldset></fieldset>
                        </blockquote>
                      </div>
                      -- <br>
                      SG16 mailing list<br>
                      <a href="mailto:SG16@lists.isocpp.org" target="_blank">SG16@lists.isocpp.org</a><br>
                      <a href="https://lists.isocpp.org/mailman/listinfo.cgi/sg16" rel="noreferrer" target="_blank">https://lists.isocpp.org/mailman/listinfo.cgi/sg16</a><br>
                    </blockquote>
                  </div>
                </div>
              </blockquote>
            </div>
          </blockquote>
        </div>
      </div>
    </blockquote>
  </div>

</blockquote></div></div>

