[PHP-users 11449] Re: bookmarkの日本語表示
Urata Masaru
php-users@php.gr.jp
Wed, 13 Nov 2002 11:34:59 +0900
ごめんなさい、本文が送信できていなかったようです。
本当は[PHP-users 11445]の返信ですが、さっき入会したばかりなので
つなげられません。
PDFのしおりですが、アドビのリファレンスを見ると、
"FEFF"の後に、ユニコードの文字列を16進数でつなげるように、
とあります。("A"なら"FEFF0041")
そこで、過去ログのリンク先のPearlのコードを参考にして
以下のコードで試して見ました。
1行目で全角スペースを追加してますが、これがないと
どうも不安定(たまに文字化けする)のです。
数値に変換したりpackしたり、冗長な感じですが
一応動作しました。
改善法をご指摘いただければ幸いです。
$str = $title." ";
$str = mb_convert_encoding($str, "UTF-16");
$hexstr = "";
for ($i=0; $i < strlen($str); $i++) {
$hexstr .= sprintf("%02X", ord(substr($str, $i, 1)));
}
$data = "FEFF". $hexstr;
$pack = pack("H*", $data);
$bookmark = pdf_add_bookmark ($pdf, $pack);
--
Urata Masaru