MESCIUS SPREAD for Windows Forms 17.0J
環境依存文字について

環境依存文字をSPREAD for Windows Formsで使用した場合について説明します。

本章で定義する環境依存文字とは以下を指します。

環境依存文字の表示

SPREAD for Windows Formsでは、環境依存文字が正しく描画されません。この現象は、当該文字を.NET Frameworkより提供されるGraphicsクラスのDrawStringメソッド呼び出しにて描画した場合と同様です。

GDI+ベースでの文字列描画

SPREAD for Windows FormsはこのGraphicsクラスの機能を用いて非編集セルへの文字列描画などを行っていますので、描画される結果は全て.NET Frameworkの仕様に依存します。

環境依存文字の表示(TextRendererクラス)

.NET Framework 2.0 以降では新たにSystem.Windows.Forms.TextRendererクラスが追加されており、 GraphicsクラスがGDI+ベースの文字列描画を行うのに対し、TextRendererクラスはGDIベースの文字列描画を行います。このTextRendererクラスメンバであるDrawTextメソッド呼び出しを行った場合、上記の環境依存文字は正しく描画されます。詳細についてはMSDNライブラリをご覧ください。

SPREAD for Windows Formsのコントロール群に含まれるFarPoint.Win.TextRenderer.dllを利用した場合、 SPREAD for Windows Formsはリフレクションを使用して全てのセル上の文字列描画を自動的にGDIベースで行いますので、この場合は以下のように正しく描画されます。 FarPoint.Win.TextRenderer.dllの詳細についてはGDI によるテキストのレンダリングをご覧ください。

GDIベースでの文字列描画

まとめ

SPREAD for Windows Formsにて環境依存文字を扱う場合、FarPoint.Win.TextRenderer.dllの利用によって対応できるのはセルの文字列描画に関する問題だけです。それ以外の機能(入力、データベース接続、印刷など)については注意すべき点があります。

新JIS漢字(JIS X 0213:2004、JIS2004)のサロゲート文字、Unicode6.0、IVSの詳細については、あらかじめMSDNライブラリなどの各種参考文献をご覧いただくことをお勧めします。また、アプリケーション開発および運用の際には十分な注意を払い、入念な動作検証を行う必要があります。

  • テキスト型セルやマスク型セルで入力文字数を制御する場合、環境依存文字は2文字として扱われます。
  • GcTextBox型セルMaxLengthUnitプロパティの設定値に応じて文字数およびバイト数がカウントされます。
  • 環境依存文字の編集セル内でのキー操作(カーソルキー、Backspaceキー、Deleteキー)は標準のTextBoxコントロール等と同様です。
  • 編集中セルでは環境依存文字が正しく描画されます。SPREAD for Windows Formsでは編集中のセルにて専用のエディタコントロールを利用しますが、ここではOSが提供するエディタクラスを使用していますので、先述のような.NET Frameworkの仕様に依存しません。

    編集中セル

  • 環境依存文字を含むデータベースとの接続を行う場合は、あらかじめご利用のデータベースにおける当該文字の扱いに関して確認してください。SPREAD for Windows Formsではデータベース側での問題(制限事項など)に対応することはできません。
  • シェイプおよびセルノートには環境依存文字を正しく描画できません。
  • シートの印刷時、環境依存文字は正しく出力されません。(System.Windows.Forms.TextRendererクラスのDrawText メソッドでは、印刷はサポートされていません)
参照

 

 


© MESCIUS inc. All rights reserved.