The architectural principles section, in the 2nd last paragraph says:<br><br><blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;">The present version of IDNA (...) does not provide explicit mapping instructions. Instead, it assumes that the application (perhaps via an operating system input method) will do whatever mapping it requires to convert input into Unicode code points.  This has the advantage of giving flexibility to the application to choose a mapping that is suitable for its user given specific user requirements, and <i>avoids the two-step mapping</i> of the original protocol.</blockquote>
<br>In practice, if the application were to do any mapping, it is likely to perform a two-step mapping anyway:<div><br></div><div>1. As earlier paragraph suggests, the first step of getting the input as Unicode code points is likely the function of the input method or operating system event loop.</div>
<div>2. The application then performs its local mappings.</div><div><br></div><div>Perhaps it&#39;s better to say &quot;.. the application to choose a mapping that is suitable for its user given specific user requirements, and perform it prior to using it in the registration or lookup steps of the protocol&quot;? Or maybe I&#39;m missing an important point.</div>
<div><br></div><div>Thanks,</div><div>=wil</div>