<font face="times new roman,serif">First, it would be great to get full Unicode support in JS. I know that's been a problem for us at Google.</font><div><font face="times new roman,serif"><br></font></div><div><font face="times new roman,serif">Secondly, while I agree with Addison that the approach that Java took is workable, it does cause problems. Ideally someone would be able to loop (a very common construct) with:</font></div>
<div><font face="times new roman,serif"><br></font></div><div><font face="times new roman,serif">for (codepoint cp : someString) {</font></div><div><font face="times new roman,serif">  doSomethingWith(cp);</font></div><div>
<font face="times new roman,serif">}</font></div><div><font face="'times new roman', serif"><br></font></div><div><font face="'times new roman', serif">In Java, you have to do:</font></div><div><font face="'times new roman', serif"><br>
</font></div><div><font face="'times new roman', serif">int cp;</font></div><div><font face="'times new roman', serif">for (int i = 0; i < someString.length(); i += Character.countChar(cp)) {</font></div>
<div><font face="'times new roman', serif">  cp = someString.codePointAt(i);</font></div><div><font face="'times new roman', serif">  doSomethingWith(cp);</font></div><div><font face="'times new roman', serif">}</font></div>
<div><font face="'times new roman', serif"><br></font></div><div><font face="'times new roman', serif">There are good reasons for why Java did what it did, basically for compatibility. But if there is some way that JS can work around those, that'd be great.</font></div>
<div><font face="'times new roman', serif"><br></font></div><div><font face="'times new roman', serif">3. There's some confusion about the Unicode terminology. Here's a quick clarification:</font></div>
<div><font face="'times new roman', serif"><br></font></div><div><font face="'times new roman', serif">code point: number from 0 to 0x10FFFF</font></div><div><font face="'times new roman', serif"><br>
</font></div><div><font face="'times new roman', serif">character: a code point that is assigned. Eg, 0x61 represents 'a' and is a character. 0x378 is a code point, but not (yet) a character.</font></div><div>
<font face="'times new roman', serif"><br></font></div><div><font face="'times new roman', serif">code unit: an encoding 'chunk'. </font></div><div><font face="'times new roman', serif">UTF-8 represents a code point as 1-4 8-bit code units</font></div>
<div><span style="font-family:'times new roman',serif">UTF-16 represents a code point  as 2 or 4 16-bit code units</span></div><div><span style="font-family:'times new roman',serif">UTF-32 represents a code point as 1 32-bit code unit. </span></div>
<div><font face="'times new roman', serif"><div style="background-color:transparent;margin-top:0px;margin-left:0px;margin-bottom:0px;margin-right:0px"><div><span><br><hr></span></div></div><div style="background-color:transparent;margin-top:0px;margin-left:0px;margin-bottom:0px;margin-right:0px">
<a href="https://plus.google.com/114199149796022210033" target="_blank">Mark</a></div><div style="background-color:transparent;margin-top:0px;margin-left:0px;margin-bottom:0px;margin-right:0px"><i><br></i></div><div style="background-color:transparent;margin-top:0px;margin-left:0px;margin-bottom:0px;margin-right:0px">
<i>— Il meglio è l’inimico del bene —</i></div></font><div><div><font face="'times new roman', serif"><i><span style="font-style:normal"><i></i></span><i></i></i></font></div></div><br>
<br><br><div class="gmail_quote">On Sun, Feb 19, 2012 at 16:00, Cameron McCormack <span dir="ltr"><<a href="mailto:cam@mcc.id.au">cam@mcc.id.au</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Brendan Eich:<div class="im"><br>
> To hope to make this sideshow beneficial to all the cc: list, what do<br>
> DOM specs use to talk about uint16 units vs. code points?<br>
<br></div>
I say "code unit" as a shorter way of saying "16 bit unsigned integer code unit"<br>
<br>
  <a href="http://dev.w3.org/2006/webapi/WebIDL/#dfn-code-unit" target="_blank">http://dev.w3.org/2006/webapi/<u></u>WebIDL/#dfn-code-unit</a><br>
<br>
(which DOM4 also links to) and then just "code point" to refer to 21 bit numbers that might correspond to a Unicode character, which you can see used in<br>
<br>
  <a href="http://dev.w3.org/2006/webapi/WebIDL/#dfn-obtain-unicode" target="_blank">http://dev.w3.org/2006/webapi/<u></u>WebIDL/#dfn-obtain-unicode</a><div class="HOEnZb"><div class="h5"><br>
______________________________<u></u>_________________<br>
es-discuss mailing list<br>
<a href="mailto:es-discuss@mozilla.org" target="_blank">es-discuss@mozilla.org</a><br>
<a href="https://mail.mozilla.org/listinfo/es-discuss" target="_blank">https://mail.mozilla.org/<u></u>listinfo/es-discuss</a><br>
</div></div></blockquote></div><br></div>