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コマンドでエスケープシーケンスを反映させて表示すると言うことである。

No comments:

Post a Comment

Dell XPS 13 (9300)を修理してもらった

2020年8月16日日曜日 15:30ころ 到着から8日目で起動しなくなってしまい、何度か電源ボタンを押していると、電源ステータスLEDが橙色が2回、白色が3回点滅するのを確認した。マニュアルによると、メモリー異常の場合であるらしい。修理窓口に電話すると、BIOSリカバリーや...