텍스트를 스크립트에 전달하기 전에 텍스트를 처리하는 방법은 무엇입니까? (또는 UTF8 Mutt 메시지를 PDF로 인쇄하는 방법은 무엇입니까?)

텍스트를 스크립트에 전달하기 전에 텍스트를 처리하는 방법은 무엇입니까? (또는 UTF8 Mutt 메시지를 PDF로 인쇄하는 방법은 무엇입니까?)

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로 인쇄하는 또 다른 (더 좋은?) 방법이 있다면, 저는 모두 귀를 기울일 것입니다. 내 견적이 엉망이 되지 않았는지 확인하면 됩니다.

답변1

분명히 enscriptUTF-8 파일은 지원되지 않습니다.

아마도 당신이 원하는 것은 sed따옴표가 enscript에 들어가기 전에 따옴표를 변경하는 것입니다.

이것은 멋진 인용문을 표준 "합계 로 변경합니다 '. 변환 후에는 다시 되돌릴 수 없습니다. 이렇게 하려면 enscript 줄 위에 다음과 같은 줄을 삽입하면 됩니다.

sed -i "s/[”“]/\"/g; s/[‘’]/'/g" $tmpfile

텍스트를 다른 인코딩으로 변환을 사용할 수도 있지만 iconv해당 프로그램에 대해서는 잘 모릅니다. 조사해 볼 가치가 있을 수도 있습니다.

관련 정보