Como processar o texto antes de entregá-lo ao enscript? (Ou como faço para imprimir mensagens UTF8 Mutt para PDF?) [Duplicado]

2

Estou tentando usar o enscript para imprimir PDFs do Mutt e digitando problemas de codificação de caracteres com aspas curvas. Para que um email com um texto como este:

“very dirty”    
we’re 

Sai como:

â04very dirtyâ05
weâ01re

Meu script de impressão atualmente é assim:

#!/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

Existe uma maneira de substituir as aspas antes de enviá-lo para enscript ? Ou uma codificação de caracteres que eu possa usar para lidar com as aspas?

Se há outra maneira (melhor?) de imprimir em PDF do Mutt, eu sou todo ouvidos. Eu só preciso garantir que minhas citações não estão sendo derrubadas.

    
por Amanda 20.11.2016 / 03:55

1 resposta

1

Aparentemente, enscript não suporta arquivos UTF-8 .

O que você pode querer fazer é usar sed para alterar as aspas antes de irem para o texto.

Isso alterará as cotações de fantasia para o padrão " e ' . Você não poderá recuperá-los depois de serem convertidos. Para fazer isso, você pode inserir uma linha como a seguinte, logo acima da linha seguinte:

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

Você também pode usar iconv para converter o texto para outra codificação, mas não sei muito sobre esse programa. Pode valer a pena investigar.

    
por 20.11.2016 / 05:39