From t-suwa @ users.sourceforge.jp Sat Feb 25 17:56:30 2006 From: t-suwa @ users.sourceforge.jp (Tomotaka SUWA) Date: Sat, 25 Feb 2006 17:56:30 +0900 Subject: [aquaskk-dev 35] =?iso-2022-jp?b?ZGljdGlvbmFyeS1yZW5vdmF0aW9uIDIu?= =?iso-2022-jp?b?MCAbJEIlaiVqITwlORsoQg==?= Message-ID: 諏訪です。 AquaSKK BETA dictionary-renovation 2.0 をリリースしました。 ▽追加・改善された機能 ・複数辞書をサポート ▽不具合修正 ・Panther の言語環境でアイコンが正しく表示されない不具合を修正 ■ ファイル名の変更について 直感的にわかりやすくなるように、以下のファイル名を変更しました。 BS.mm → main.m DMDictionary.* → KotoeriDictionary.* Foundation.* → AquaSKKServer.* SKKServer.* → DictionarySet.* Skkserv.* → skkserv.* ■ 複数辞書の対応について ~/Library/AquaSKK/DictionarySet.plist に複数辞書の設定を保存します。 当初はユーザーデフォルトに保存するつもりだったのですが、Panther でテス トしてみたところ問題がありました。 モデルオブジェクトの追加や削除を行なうと、NSArrayController の content が Immutable になってしまう、というものです。 そもそも NSUserDefaults は Immutable なオジェクトしか返さないので、 NSArrayController 側で Mutable なオジェクトに変換してあげる必要があっ たようです。 そこで素直に、NSArrayController の content を plist で保存するようにし ました。 ■ ユーザーデフォルトについて 全面的に Cocoa Bindings を使うようにしました。また、出荷時デフォルトを UserDefaults.plist から読み込むようにしました。 Cocoa Bindings ではキー名に '.' や '-' を使うことができないため、以下の ようにキーを変更しています。 dic.FontName.Window → candidates_font_name dic.FontSize.Window → candidates_font_size dic.WindowAlpha.kotoeri → candidates_window_alpha dic.WindowColor.kotoeri → candidates_window_color dic.skk-egg-like-newline.kotoeri → egg_like_newline ForceASCIImodeStartup → force_ascii_mode_startup KeyboardLayoutIdentifier → keyboard_layout_id dic.NumericKeypad_HalfWidth.kotoeri → numkeypad_use_halfwidth pref.skkserv.enabled → skkserv_enabled pref.skkserv.local-only → skkserv_localonly pref.skkserv.port → skkserv_port また、辞書関連の以下のキーを廃止しました。 dic.path.sub dic.path.main dic.path.kotoeri CFBundleIdentifier は jp.sourceforge.AquaSKKServer に変更しました。 ■ インストーラについて 今回から、ユーザーデフォルトと複数辞書の移行をサポートしています。主な 挙動は以下の通りです。 1. jp.sourceforge.AquaSKKServer.plist が存在しない場合 1) org.ccm-software.AquaSKKServer.plist をコピーする 2) キー名を変更する 2. DictionarySet.plist が存在しない場合 1) org.ccm-software.AquaSKKServer から以下の値を取得する dic.path.sub(デフォルト:~/.skk-jisyo) dic.path.main(デフォルト:~/Library/AquaSKK/SKK-JISYO.L) dic.path.kotoeri 2) DictionarySet.plist に 1) で取得した値を埋め込む 詳しくは、AquaSKK/Package/scripts/postflight をご覧下さい。 なお、辞書のパスに ASCII 以外の文字が含まれている場合、文字化けが発生し ます。移行のショックを和らげようとしたのですが、ここだけはどうにもなり ませんでした。 - * - 以上です。よろしくお願いします。 -- Tomotaka SUWA