GNU troff (groff)で、UTF-8なファイルを処理する

groff 1.22.4では、UTF-8な入力ファイルを扱えるようになったという噂を聞いていたように思う。 私は、以前からgroffで日本語の含まれたPDFファイルを出力したかったのだが、groffでどこまでできるか試してみた。 だが、結論としては、groff 1.22.4で日本語の文字の含まれたPDFファイルを出力することはできなかった。 PostScriptファイルも同様に駄目である。 テキストファイルを出力する場合には、正しく動く。 HTMLファイルを出力する場合には、日本語の文字は数値実体参照になってしまい、1文字ごとにホワイトスペースも入ってしまい使えない。 でも、UTF-8なテキストファイルを出力できるだけでも、例えば日本語のman pagesを出力するには十分であり、 役に立つように思う。

msマクロの場合では、以下のようにすれば良い。

groff -Kutf8 -Tutf8 -ms test.roff > test.txt
man pagesで使われるmdocマクロの場合では、以下のようにすれば良い。
groff -Kutf8 -Tutf8 -mdoc test.1 | less -R
ここで、less -Rは、lessコマンドでエスケープシーケンスを反映させて表示すると言うことである。

0 件のコメント:

コメントを投稿

注: コメントを投稿できるのは、このブログのメンバーだけです。

Arvel USBシリアルケーブルSRC06-USBをWindows 10 x86_64で使う

Arvel SRC06-USB USBシリアルケーブルというUSBシリアル変換器を持っている。 これにはFDTI製のUSBシリアル変換チップをい利用していて、USB VendorID/ProductID=0x0403/0x6001として認識される。 Arvelを買収...