Action Script 3 用スペルチェックライブラリ (コードネーム Squiggly) の最初のプレビューリリース版が Adobe Labs に公開されました。(Squiggly@Labs)
Squiggly を使った簡単なデモが Adobe Labs に公開されていますのでまずはそちらをご覧ください。(Squiggly demo) フィールドがフォーカスされるとスペルチェックが行われて間違いのある単語には赤い下線が表示されます。また、下線の引かれた単語で右クリックすると修正候補が表示され選択することができます。実行には Flash Player 10 が必要です。
Squiggly のダウンロードページはこちらです。(Squiggly downloads) ASDoc は別途提供されています。(squiggly_p1_asdoc_092109.zip : 72KB)
Squiggly の使い方
ダウンロードしたパッケージに含まれる AdobeSpelling.swc をパスに追加すると Squiggly が使えるようになります。下は、Squiggly を使ってスペルチェックを行うコードの例です。
import com.adobe.linguistics.spelling.*; // スペルチェック用オブジェクト生成 private var _sp:SpellChecker= new SpellChecker("en"); // 辞書オブジェクトの生成 private var _dict:SpellingDictionary = new SpellingDictionary(); // イベントハンドラの追加と辞書データファイルの読み込み _dict.addEventListener(Event.COMPLETE, handleLoadComplete); var myUrl:URLRequest = new URLRequest("usa.zwl"); _dict.load(myUrl); // 辞書をスペルチェック用オブジェクトに設定 private function handleLoadComplete(evt:Event):void { _sp.addDictionary(_dict); } private function checkWord(word:String):Boolean { // スペルチェックを実行 if(_sp.checkWord(word)) return true; // エラー無し else return false; // エラー有り }
このサンプルでは Squiggly のクラスが 2 つ使われています。スペルチェックを行うクラス SpellChecker と、スペルチェック用辞書データを保持するクラスの SpellingDictionary です。
SpellChecker は間違ったスペルの単語に対して修正候補のリストを作成するメソッド getSuggestions() も持っています。getSuggestions() は最大 10 件までの候補を配列として返します。候補が見つからなければ空の配列が返されることになっています。
下のコードは、とりあえず getSuggestions() の使用例ということで。