マクロツイーター

はてダから移行した記事の表示が崩れてますが、そのうちに直せればいいのに(えっ)

「PDF のメタデータを (La)TeX で付ける」件のアレ

どこかのブログいつかの記事誰かのコメントに出てくるアレ。

\pdfinfo{\detokenize{%
/Author(\376\377\212\260\060\113)
/Title(\376\377\000M\000a\000c\000r\000o\000d\000o\000w\000n\060\147\000L\000I\000S\000P\060\131\060\213\212\161)
}}

よく見ると、この /Author の文字列の先頭 2 バイト“\376\377”は 16 進表記では“FE FF”である。従って、これは UTF-16BE であると推測できる。実際にこのバイト列全体(FE FF 8A B0 30 4B)を UTF-16 で解釈すると「誰か」になる。

つまり、PDF の文書情報に日本語の文字列を使いたい場合は(BOM 付の)UTF-16BE のバイト列を使えばよい。これについては以前に紹介したことがある。

UTF-16 のバイト列を書く場合は普通の文字列リテラルよりも 16 進文字列リテラルの方が扱いやすいであろう。((この場合、\pdfinfo の中身に TeX特殊文字が含まれないので \detokenize は不要になる。))

\pdfinfo{%
/Author<FEFF8AB0304B>
/Title<FEFF004D006100630072006F0064006F0077006E3067004C0049005300503059308B8A71>
}