6
votes

Impression sur PostScript de Vim

J'ai un problème avec l'impression sur PostScript de Vim.

Je suis, à l'aide d'un codage UTF-8 avec des caractères tchèques tels que 'Ščřž' mais dans la sortie, je reçois la marque d'interrogation à la place au lieu des caractères corrects.

vim -version

Vim - VI amélioré 7.2

+ iconv + MULTI_BYTE + PostScript

Paramètres de l'imprimante:

Définir les impressions = Papier: A4, Duplex: Off, Collate: N, Syntaxe: N

Police d'imprimante: Courrier


0 commentaires

3 Réponses :


0
votes

Assurez-vous que votre imprimante prend en charge l'impression de caractères Unicode. Essayez de mettre à jour vos pilotes et d'entrer dans les paramètres et activez les polices TrueType pour l'impression ou une option similaire. Autant que je sache, Courier utilise ASCII.

Typing: H Principode d'issue:

si "imprimeur" est vide ou Vim ne peut pas trouver le fichier, puis il utilisera 'encoding' (si Vim est compilé avec | + Multi_byle | et il est défini un 8 bits codage) pour trouver le fichier d'encodage du caractère d'impression. Si Vim est incapable de trouver Un fichier de codage de caractères alors il utilisera le caractère d'impression "Latin1" fichier de codage. Lorsque "encodage" est défini sur un codage multi-octets, VIM va essayer de convertir caractères à l'imprimerie codant pour l'impression (si 'imprimécoding' est vide Ensuite, la conversion sera en latin1). Conversion en un codage d'impression autre que latin1 nécessitera que Vim soit compilé avec le | + iconv | caractéristique. Si aucune conversion n'est possible, l'impression échouera. Tout caractère qui ne peut pas être converti, sera remplacé par des points d'interrogation à l'envers. Quatre fichiers de codage de caractères d'impression sont fournis pour prendre en charge par défaut Mac, VMS, HPUX, et les codages de caractères EBCDIC et sont utilisés par défaut sur ces plates-formes. Code Page 1252 L'encodage du caractère d'impression est utilisé par défaut sur Fenêtres et plates-formes OS / 2.


0 commentaires

1
votes

rkulla, c'est faux. En ce qui concerne votre message, j'ai compris que si nous ne définissons pas "printencoding" Vim convertira notre message (utf-8) en 'latin1' et à cause de cela avoir des problèmes. je pense que ce n'est pas vrai.

i papier imprimé (avec des symboles cyrilliques) dans Vim avec imprimeur = UTF-8 par: HardCopy Je reçois aussi une marque d'interrogation inverse au lieu des symboles corrects. Mes paramètres: 1) PrintFont = UTF-8 2) Encodage = UTF-8 3) FileCoding = UTF-8. Je pense que le problème dans PostScript . Si vous essayez d'imprimer quelque chose (par exemple avec des symboles cyrilliques) dans la console / terminal (pas de l'interface graphique) par LP / LPR, vous obtiendrez des symboles incorrects (en place où Cyrillic). C'est des problèmes de conversion du texte non-ASCII en PostScript dans le terminal. Vim utilise printexpr et a défaut: printexpr = système (' LPR '. (& printDevice == ''? '': '-P'. '-P'. & printDevice). ''. v: fname_in). Supprimer (v: fname_in) + v: shell_error. Je ne sais pas comment résoudre ce problème. J'ai lu les problèmes généraux Unix / Linux. mais vous devriez essayer de réécrire printexpr pour utiliser A2PS, envergure d'envergure ou similaire.


0 commentaires

1
votes

Envoyez le tampon au navigateur en convertissant en HTML, puis imprimez à partir de là:

nnoremap <F2> <ESC> :TOhtml <bar> w <bar> !open -a Safari % <CR> <bar> ZQ <CR> <bar> execute '!rm %:p.html' <CR>


0 commentaires