Tomotaka SUWA
t-suw****@users*****
2006年 2月 25日 (土) 17:56:30 JST
諏訪です。
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