6

Vim から PostScript への出力に問題があります。

「ščřž」のようなチェコ語の文字で utf-8 エンコーディングを使用していますが、出力では正しい文字の代わりに上向きの疑問符が表示されます。

vim --バージョン

VIM - Vi 改善 7.2

+iconv +multi_byte +追記

プリンター設定:

set printoptions=paper:A4,duplex:off,collat​​e:n,syntax:n

プリンターフォント: Courier

4

3 に答える 3

1

ルクラ、それは違う。あなたのメッセージに関しては、'printencoding' を設定しないと、vim がメッセージ(utf-8) を 'latin1'に変換するため、問題が発生することがわかりました。そうではないと思います。

:hardcopy で printencoding=utf-8 を使用して vim でファイル (キリル文字を含む) を印刷しまし た。正しい記号の代わりに逆疑問符も表示されます。私の設定: 1) printfont = utf-8 2) encoding = utf-8 3) fileencoding = utf-8. PostScript に問題があると思います。lp/lpr を使用してコンソール/ターミナル (GUI ではない) で何か (キリル文字など) を出力しようとすると、正しくない記号 (キリル文字の場所) が表示されます。これは、ターミナルでの非 ASCII テキストから PostScript への変換の問題です。Vim はprintexprを使用し、デフォルトは次のとおりです: printexpr=system(' lpr' . (&printdevice == '' ? '' : ' -P' . &printdevice) . ' ' . v:fname_in) . delete(v:fname_in) + v:shell_error. それを修正する方法がわかりません。それは一般的な Unix/Linux の問題だと読みました。 ただし、a2ps や enscript などを使用するには、printexpr を書き直してください。

于 2010-06-28T15:11:34.287 に答える
0

お使いのプリンターが Unicode 文字の印刷をサポートしていることを確認してください。ドライバを更新して設定に移動し、印刷用の TrueType フォントをオンにするか、同様のオプションを試してください。私の知る限り、Courier は ASCII を使用しています。

:h printencoding と入力すると、次のようになります。

'printencoding' が空であるか、VIM がファイルを見つけられない場合、'encoding' (VIM が |+multi_byte| でコンパイルされ、8 ビット エンコーディングが設定されている場合) を使用して、印刷文字エンコーディング ファイルを見つけます。VIM が文字エンコーディング ファイルを見つけられない場合、"latin1" 印刷文字エンコーディング ファイルを使用します。'encoding' がマルチバイト エンコーディングに設定されている場合、VIM は文字を印刷用の印刷エンコーディングに変換しようとします ('printencoding' が空の場合、変換は latin1 になります)。latin1 以外の印刷エンコーディングに変換するには、VIM を |+iconv| オプションでコンパイルする必要があります。特徴。変換できない場合、印刷は失敗します。変換できない文字は、逆さまの疑問符に置き換えられます。デフォルトの Mac、VMS、HPUX、および EBCDIC 文字エンコーディングをサポートするために、4 つの印刷文字エンコーディング ファイルが提供され、これらのプラットフォームでデフォルトで使用されます。コード ページ 1252 の印刷文字エンコーディングは、Windows および OS/2 プラットフォームでデフォルトで使用されます。

于 2010-04-03T19:35:06.100 に答える