<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>The following reflects some of my personal thoughts regarding
      this paper and are intended to be independent of my role as SG16
      chair.</p>
    <p>A future LEWG review will evaluate the paper for the following
      concerns. As indicated below, not all of them are addressed by the
      paper. In order to ease LEWG review, I recommend the paper be
      updated to add new sections to cover the missing concerns.</p>
    <ul>
      <li>Examples?</li>
      <ul>
        <li>Yes, in section 4 and in a few other places throughout the
          paper.<br>
        </li>
      </ul>
      <li>Field experience?</li>
      <ul>
        <li>Yes, in section 6.<br>
        </li>
      </ul>
      <li>Performance considerations?</li>
      <ul>
        <li>No, the word "performance" does not appear in the paper.<br>
        </li>
      </ul>
      <li>Discussion of prior art?</li>
      <ul>
        <li>No, the paper does not discuss existing transcoding
          facilities like iconv, MultiByteToWideChar, or those provided
          by ICU.<br>
        </li>
      </ul>
      <li>Changes Library Evolution previously requested?</li>
      <ul>
        <li>N/A.<br>
        </li>
      </ul>
      <li>Wording?</li>
      <ul>
        <li>No. I think the paper presentation would be improved by
          moving the wording-like synopses to a wording section.<br>
        </li>
      </ul>
      <li>Breaking changes?</li>
      <ul>
        <li>No. The proposal doesn't include any breaking changes, but
          this isn't stated explicitly.<br>
        </li>
      </ul>
      <li>Feature test macro?</li>
      <ul>
        <li>Yes, in section 5.8.<br>
        </li>
      </ul>
      <li>Freestanding considered? <br>
      </li>
      <ul>
        <li>No.<br>
        </li>
      </ul>
    </ul>
    <p>I find it challenging to determine what error handling semantics
      are intended to be supported. There is no error handling section
      and discussion of it is spread throughout the paper. I think it
      would be helpful to add an error handling section in section 5 and
      to consolidate discussion of that topic there. This should include
      a discussion of possible error handling semantics and a
      description of <font face="monospace">transcoding_error_handler</font>
      and <font face="monospace">use_replacement_character</font>. The
      semantics discussion should cover things that, as proposed, can't
      be done (e.g., an error handler can't control how a sequence of
      ill-formed code units is substituted; it can only provide the
      character to be substituted). I think this section should also
      make it clear exactly how substitutions are performed; the current
      prose states, '<b>should</b> use the “substitution of maximal
      subparts” approach'; I think we want to ensure portable behavior.</p>
    <p>I think the error handling section should also discuss the
      consequences of error handling as it relates to implementation of
      <font face="monospace">utf_iterator</font>. That is, when
      ill-formed code units are encountered, decoding must continue
      until a valid character is decoded (which must then be cached, at
      least for an underlying input iterator) or until the end of the
      range is encountered (this continuation is necessary to ensure the
      "maximal subparts" substitution). The following sequence of
      dereference and advance operations must then return the code units
      for the substituted character followed by the code units for the
      cached decoded character. This implies that the transcoded code
      unit buffer in the iterator must be large enough to store
      sequences for two characters. I don't think the paper currently
      captures this subtlety.<br>
    </p>
    <p>Tom.<br>
    </p>
  </body>
</html>

