確かに、備考欄で、半角カナを入れると、全角になりました。
MultiCell に直接、半角カナを渡すと、表示も半角カナになりました。
ただ、UTF-8で半角カナも3byte文字になるので、表示される長さも当然半分の部分で自動改行されました。
いまのところ、半角カナを使用する予定がないので、参考までに。
/*
if($o<128)
{
// ASCII
$l+=$cw[$c];
$n=1;
if($o==32)
$sep=$i;
}
elseif($o>=161 && $o<=223)
{
// Half-width katakana
$l+=500;
$n=1;
$sep=$i;
}
else
{
// Full-width character
$l+=1000;
$n=2;
$sep=$i;
}
*/
// UTF-8 code
if (($o >= 0 && $o <=31) || $o == 127) { // 00~1F,7F
// control code (1byte)
} elseif ($o >= 32 && $o <= 126) { // 20~7E
// ASCII
$l+=$cw[$c];
$n=1;
if($o==32)
$sep=$i;
} elseif ($o >= 128 && $o <= 191) { // 80~BF
// NonUse (Not 1st byte)
} elseif ($o >= 192 && $o <= 223) { // C0~DF
// 2byte code (2byte)
} elseif ($o >= 224 && $o <= 239) { // E0~EF
// 3byte code (3byte)
if ($o == 239 && // EFBDA1 ~ EFBDBF , EFBE80 ~ EFBE9F
( ( ord($s[$i+1]) == 189 && (ord($s[$i+2]) >= 161 && ord($s[$i+2]) <= 191) ) ||
( ord($s[$i+1]) == 190 && (ord($s[$i+2]) >= 128 && ord($s[$i+2]) <= 159) ) ) ) {
// Half-width katakana
$l+=500;
$sep=$i;
} else {
// Full-width character
$l+=1000;
$sep=$i;
}
$n = 3;
} elseif ($o >= 240 && $o <= 247) { // F0~F7
// 4byte code
} elseif ($o >= 248 && $o <= 251) { // F8~FB
// 5byte code
} elseif ($o >= 252 && $o <= 253) { // FC,FD
// 6byte code
} else { // $o>=254 && $o <= 255 FE,FF
// NonUse
}