none
XPで正常印字可能なフォントが2003 Serverで文字化けする RRS feed

  • 質問

  • こんにちは。

    1) 発生している現象

     サードパーティ製の.NET用ツールを使用して帳票を印刷するWindowsアプリケーションを作成しました。
     リ○ーが販売している、Office製品にバンドルされているフォントを使用しています。
     XPでは日本語、数値、アルファベットとも正常に文字が印字されます。
     同じプログラムをそのままWindows Server 2003で実行すると、日本語文字が文字化けします。
     (数値とアルファベットは正常に印字します)

     2003で、フォントにMS明朝やMSゴシックを指定して印刷すると文字化けしません。
     2003で、文字化したフォントを使用して、EXCELやWORDで文書作成し印刷すると文字化けしません。

     ツールベンダーのサイトのFQAを“文字化け”で検索し以下がヒットしました。
     “フォントのエンコーディング処理に何らかの原因がある~中略~文字セットを明示的に「日本語」に指定してください。”
     Platform SDKのヘッダファイル WinGDI.h に定義してあるSHIFTJIS_CHARSETの値"128"を
     印字用コントロールのプロパティ「GdiCharSet」指定する必要があると記載されていました。

     2003でWinGDI.hがどこにあるのか分かりませんでしたが
     帳票ツールの帳票デザイン画面で、印字用コントロールのプロパティ「GdiCharSet」に"128"を指定しました。
     自動生成されたソースコードには"ddo-char-set: 128;"がありました。

     上記対応後に2003で再コンパイルし、プログラムから印刷しましたが日本語文字が文字化けします。


    2) 解決したいこと(目標)

     ツールベンダーから回答がなく、時間がないためこちらで質問させていただきました。
     目標は、フォントを変更せずに正常印字可能とすることです。
     (お客様の要望で選択したフォントであるため)
     環境やツールの使い方の問題なのであれば、どのようにすれば解決するか知りたいのです。


    3) 環境

     XP(開発環境)
      OS: XP Pro ver2002 sp3(32bit)
      開発ツール: Visual Studio .NET Pro 2003
      OFFICE: OFFICE2007 Professional

     2003(評価環境)
      OS: Windows Server 2003 Standard sp2(32bit)
      .NET Framework: 1.1 SP1、2.0 SP1、3.0 SP2、3.5
      OFFICE: OFFICE2003 Professional

    4) その他

     OS、開発ツール、.NET Frameworkともサードパーティ製ツールの
     開発環境、運用環境としてサポートされています。

     サードパーティ製のツールはDLLで提供されており、
     プログラム実行時に帳票印刷イメージを作成後.NET Frameworkの印刷機能を呼び出しているようです。


    宜しくお願い致します。

    2010年3月31日 2:32

回答