Delphi component
Name |
Info |
|
TEditor for D2009 |
Windows |
DOWNLOAD |
Delphi用エディターコンポーネントでは最も有名なTEditorをDelphi2009対応(Unicode対応)にするためのパッチです。
もともと個人的使用の為に改造していたものをベースにしたため、Unicode対応以外の機能がサポートされています。
HEditor.pasの先頭行に各機能をON/OFFするためのdefineが記述されていますので、必要に応じてOFFにしてください。
本改造は、Delphi2009とUnicodeの完全対応を目指すものではなく、それら対応の叩き台として使用していただくことを目的に公開しています。
よって、問題が発生した場合のサポートはあまり期待しないでください。
本パッチはある程度コンポーネント開発の知識がある方を対象にしています
サポートする機能:
・プロポーショナルFONTをある程度バランスよく表示する。(可変ピッチ対応ではありません)
・検索にヒットした全ての文字列を強調する(サクラエディタ風)ためのHitTextプロパティ
・ANSI文字とその他の文字を別々のFONTで描画するためのMBCSFontプロパティ
・オートインデント時に前行のTAB文字および空白文字を保持する
・矩形選択時に一時的にフリーカーソルにする
問題点:
・HtSearch.pasの改造は不完全です。(コンパイルが通ることを主目的に改造したため)
・WordWrap行が化けることがあります。
・サロゲートペアの処理が不完全です。(対の1エレメントだけを削除することができてしまう)
・結合文字とサロゲートペアの後ろに余分な空白が表示されます
互換性:
・Delphiがそうであるように、日本語の識別子などを(将来的に)処理できるようにするため、heFountain.pasに手を加えています。
その結果、既存のFountainはそのままでは使用できません。
具体的には、
・メンバー変数FMethodTableへの代入は、メンバー関数SetMethodTable()を使用し、呼び出しはCallMethodTable()を使用する形に置き換え
・メンバー変数FTokenMethodTableへの代入は、メンバー関数SetTokenMethodTable()を使用し、呼び出しはCallTokenMethodTable()を使用する形に置き換え
る必要があります。
インストール:
1.解凍後、作成されたフォルダに、hedit252とpatch2.1をコピーし(下記フォルダ構成を参照)、patch.batを実行してください。
2.すると、hedit252Uというフォルダが作成されますので、それを適切なフォルダへコピー後、インストールしてください。
インストールには別途、DEKOさん開発のMECSUtilsも必要になります。Delphi2009の検索パスにMECSUtils.pasへのパスを追加してください。
補足:
・インストール方法はTEditorに準じますが、
簡単に作業をするためのプロジェクト、heditor_252U.dprojを添付していますので、それを開いたあとプロジェクトマネージャでインストールすることもできます。
動作確認:
・同梱のunicode_demo\Project1.dprojを開き、動作確認を行ってください
※注意:本パッチ適用後の誤動作等については、TEditorの作者である本田さんへ問い合わせを行わないでください。
誤動作等は私のBBSへ投稿願います。
※ライセンス:私(TMaeda)の変更分および、本パッチのライセンスは主張しません。本パッチ適用後のTEditorも本家TEditor2.52と同様のライセンス形式としてください。(2009/3/11現在、シェアウェアとなっています。詳しくはこちら)