1

vb 6 プロジェクトでプリンター (Windows ドライバー) を使用して日本語を印刷したいと考えています。

私のプロジェクトは日本語のWindows環境です(OSはもともと英語で、日本の地域と関連言語を設定しています)。

Printerオブジェクトを使用して、「レジースター」などの単純な文字列タイプの日本語、次のようなコードを印刷します

  Dim s As String
  s="レジースター"
  Printer.Print s
  Printer.EndDoc

しかし、出力結果は "OEvƒOEƒ|[ƒg" のような厄介なコードのセットです。

日本語のWindows環境でVb6 Printer Objectを使って日本語の印刷に成功した方、助けてください。

最後に、キーが単純であることを確認します。少しトリッキーですが、その理由はまだわかりません。プリンター オブジェクトのフォントを「Printer.Font.Charset = 128」(日本語の場合は 128) のように設定するだけです。

注意: 私のケースに注意してください。私の OS は英語で、言語と地域の設定は日本語です。

私を混乱させているのは、Windows のデフォルトの ANSI です。ご存知のように、Printer.Font.Charset のデフォルト値は 0 で、ANSI を意味します (言語環境が日本語の場合はコード ページ 932 を使用し、英語の場合は Windows-1252 を使用します)。

私のOSは日本語です(純粋に英語のOSではなく、日本語に設定されています)、日本語でファイルを書き込もうとすると日本語を表示できますが、プリンターオブジェクトを使用して印刷すると、0(ANSI)の値になります.Font.Charset ですが、実際にはまだ元の OS コード ページを使用しているため、配線されています。そして、システムを中国語と韓国語に設定しようとすると、どちらの言語も正常ですが、この問題が発生するのは日本語だけです。

4

2 に答える 2