この-K
オプションを使用すると、 troff ファイルのエンコーディングを指定できますが、マクロファイルでは機能しないようです。カスタムマクロファイルの文字列にASCII以外の文字が含まれている場合、出力は次のようになります。
Mit freundlichen GrüÃen,
私の設定は次のとおりです。
# letter_to_doe.tr
.recipient John Doe
.text Sehr geehrter Herr Doe ...
# letter.tmac
.de recipient
.\" ...
..
.de text
.\" ...
..
Mit freundlichen Grüßen
tmacファイルからASCII以外の文字を正しく変換する方法は?
答え1
preconv -e utf8
すべてのUTF-8文字をトークンに置き換えるには、マクロファイルを変換してくださいtroff
。
示した例では、letter
マクロを配置してletter.tmac.in
から、次のようにletter.tmac
マクロを生成します。
preconv -e utf8 letter.tmac.in >letter.tmac
これは問題のある行を置き換えます
Mit freundlichen Grüßen
そして
Mit freundlichen Gr\[u00FC]\[u00DF]en
...生成されたファイルから。
これは、マクロファイルを更新するたびに実行する必要があるワンタイム変換です。 Makefileのルールになるのに最適です。
letter.tmac: letter.tmac.in
preconv -e utf8 letter.tmac.in >letter.tmac