enscript
を使用してMuttからPDFを印刷しようとしていますが、中引用符で文字エンコードの問題が発生しています。そのため、次のようなテキストを含む電子メール:
“very dirty”
we’re
次のようになります:
â\200\234very dirtyâ\200\235
weâ\200\231re
私の印刷スクリプトは現在次のようになっています。
#!/usr/bin/env sh
INPUT="$1" PDIR="$HOME/Desktop" OPEN_PDF=evince
tmpfile="`mktemp $PDIR/mutt_XXXXXXXX.pdf`"
enscript --font=Courier8 $INPUT -2r --Word-wrap --fancy-header=mutt -p - 2>/dev/null | ps2pdf - $tmpfile
$OPEN_PDF $tmpfile >/dev/null 2>&1 &
sleep 1
rm $tmpfile
enscript
に送信する前に、中引用符を置き換える方法はありますか?または、引用符を処理するために使用できる文字エンコードですか?
MuttからPDF)に印刷する別の(より良い?)方法がある場合、私はすべての耳です。見積もりが汚されないようにする必要があります。
どうやら、enscript
はUTF-8ファイルをサポートしていません 。
引用符をエンスクリプトに入れる前に、sed
を使用して引用符を変更することをお勧めします。
これにより、引用符が標準の"
および'
に変更されます。変換後は元に戻すことはできません。これを行うには、エンスクリプト行のすぐ上に次のような行を挿入します。
sed -i "s/[”“]/\"/g; s/[‘’]/'/g" $tmpfile
iconv
を使用してテキストを他のエンコーディングに変換することもできますが、そのプログラムについてはよくわかりません。調べる価値があるかもしれません。