MIYOKAWA, Nobuyoshi
n-miy****@Tempu*****
2011年 9月 29日 (木) 17:50:55 JST
こんにちは、三代川と申します。 Cocoa Emacs の IME inline patch を利用させて頂いています。 有益なパッチ、どうも有難うございます。 IME inline patch で定義されている mac-toggle-input-source 関数ですが、NSLocale の currentLocale を取得し、IME を決定し ていると思います。 私は en_US で MacOS X 10.6 / 10.7 のインストールを行ない、 System Preferences の Language で Japanese を設定して利用して いるのですが、Locale が en_US だと判断され、IME を有効にする ことが出来ません。 そこで NSLocale の preferredLanguages を参照して IME を決定 するパッチを作ってみました。これにより System Preferences の Language 変更に追随して IME が決定されるようになりました。 svn r573 の emacs-inline.patch を当てた状態の macim.m へ対 するパッチを添付します。 宜しくお願い致します。 ---- ここから ---- ここから ---- ここから diff --git a/src/macim.m b/src/macim.m index d4444db..515cf25 100644 --- a/src/macim.m +++ b/src/macim.m @@ -100,7 +100,14 @@ DEFUN ("mac-toggle-input-source", Fmac_toggle_input_source, } else { - NSString *locale = [[NSLocale currentLocale] localeIdentifier]; + NSString *locale; + NSArray *languages = [NSLocale preferredLanguages]; + if (languages != nil) { + locale = [languages objectAtIndex:0]; + } else { + locale = [[NSLocale currentLocale] + objectForKey:NSLocaleLanguageCode]; + } is = TISCopyInputSourceForLanguage(locale); } if (is) TISSelectInputSource(is); ---- ここまで ---- ここまで ---- ここまで -- MIYOKAWA, Nobuyoshi