2010-03-31 39 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或類似的。