@ignore
protected function unicodeCharNo($c) {
$cUtf = utf8_encode($c);
$bl = strlen($cUtf);
/* binary length */
$r = 0;
switch ($bl) {
case 1:
/* 0####### (0-127) */
$r = ord($cUtf);
break;
case 2:
/* 110##### 10###### = 192+x 128+x */
$r = (ord($cUtf[0]) - 192) * 64 + (ord($cUtf[1]) - 128);
break;
case 3:
/* 1110#### 10###### 10###### = 224+x 128+x 128+x */
$r = (ord($cUtf[0]) - 224) * 4096 + (ord($cUtf[1]) - 128) * 64 + (ord($cUtf[2]) - 128);
break;
case 4:
/* 1111#### 10###### 10###### 10###### = 240+x 128+x 128+x 128+x */
$r = (ord($cUtf[0]) - 240) * 262144 + (ord($cUtf[1]) - 128) * 4096 + (ord($cUtf[2]) - 128) * 64 + (ord($cUtf[3]) - 128);
break;
}
return $r;
}