2010-03-31 95 views
3

从打印到Vim的postscript有问题。从vim打印到Postscript

我是用utf-8编码,像'ščřž'这样的捷克字符,但是在输出中,我得到了一个向上的问号而不是正确的字符。

VIM --version

VIM - 六提高7.2

+的iconv 加入+ multi_byte +后记

打印机设置:

组的printoptions =纸:A4,双面:关,collat​​e:n,语法:n

打印机字体:快递

回答

0

确保您的打印机支持打印unicode字符。尝试更新驱动程序并进入设置并打开truetype字体进行打印或类似的选项。据我所知,Courier使用ASCII。

打字:H printencoding变成了:

如果“printencoding”为空或者VIM找不到该文件,那么它会使用 “编码”(如果VIM编译时加入| + multi_byte |而且它被设置一个8位 编码)来查找打印字符编码文件。如果VIM无法找到一个字符编码文件 ,那么它将使用“latin1”打印字符 编码文件。 当'encoding'设置为多字节编码时,VIM将尝试将 字符转换为打印编码以进行打印(如果'printencoding'为空 则转换为latin1)。转换为除latin1以外的打印编码 将需要使用| + iconv |特征。 如果不能进行转换,则打印将失败。任何 无法转换的字符都将被上下颠倒的问号替换。 提供了四个打印字符编码文件,以支持默认的Mac,VMS, HPUX和EBCDIC字符编码,并在这些 平台上默认使用。代码页1252打印字符编码在默认情况下在 Windows和OS/2平台上使用。

1

Rkulla,这是错误的。至于你的留言,我知道如果我们没有设置 'printencoding'vim会将我们的留言(utf-8)转换为'latin1',因此我们 有问题。 我认为这不是事实。

我通过印刷在vim 文件(带有西里尔符号)与printencoding = UTF-8:硬拷贝 我还获得,而不是正确的符号反向问号。 我的设置: 1)printfont = utf-8 2)encoding = utf-8 3)fileencoding = utf-8。 我觉得PostScript的问题。如果您尝试在控制台/终端(不是GUI)中通过lp/lpr打印某些内容(例如使用西里尔文符号),您将得到不正确的符号(在西里尔文的位置)。这是从终端中的非ASCII文本到PostScript的转换问题。 Vim中使用printexpr并且具有默认: printexpr =系统( 'LPR '(&的printdevice == ' ''?':' -P' &的printdevice) '' ν:。fname_in)。删除(v:fname_in)+ v:shell_error。 我不知道如何解决这个问题。我读过这是一般的Unix/Linux问题。 但你应该尝试重写printexpr使用a2ps,enscript或类似的。