App Delegate を NSTextView のデリゲートとして設定した小さなテスト アプリをセットアップしました。
そこで、次の NSTextView デリゲート メソッドを提供します。
- (BOOL)textView:(NSTextView *)aTextView shouldChangeTextInRange:(NSRange)affectedCharRange replacementString:(NSString *)replacementString
を生成する入力ソースを特定したいと思いreplacementString
ます。
replacementString
主に、が Character Viewer ([編集] > [特殊文字...]) からのものか、キーボードからのものかを調べることに興味があります。
Character Viewer が「選択」されているかどうか (画面上と画面外) に関する情報を提供できる Carbon Text Input API の使用を調べましたが、テキスト文字列の生成に責任があるかどうかを判断する方法が見つかりません。
これを行う理由は、Character Viewer を利用して Unicode 文字を HTML エンティティに変換する単純なプラグインを作成しているためです。Character Viewer にはすべてのキャラクターが 1 か所にあり、OS レベルで使用できます。自分で書くよりも、それを使うほうが理にかなっているようです。
これは Cocoa または Carbon で実行できますか?
どんな助けでも大歓迎です。
ありがとうございました。