非公開APIを使わない、Migemoみたいな逐次検索
Cocoa勉強会2019/10/29の資料。
Cocoa_2019-10-30.zip を解凍すること。
辞書データはライセンスの関係で添付していない。
TSMが変換候補を表示しているか否かの判定
TSMが変換候補を評しているか否かを返す。 trueの場合は変換候補の表示中。
extension NSApplication
{
@objc var isShowInputManagerPanel: Bool
{
return self.windows.first(where:{$0.className == "NSPanelViewBridge"}) != nil
}
}
ローマ字かな変換表
ローマ字かな変換規則には、ヘボン式、訓令式、日本式の3つがある。
MacOSXのデフォルトのインプットメソッドでは、上記のどれでもない方式を採用している。
CFStringTransformよりも柔軟な変換が必要なために、変換規則の詳細を知る必要があったので調べていると、以下のパスに変換表があった。
“/System/Library/Input Methods/JapaneseIM.app/Contents/PlugIns/JapaneseIM.appex/Contents/Resources/RomajiRule_Default.txt”
同じディレクトリに、”RomajiRule_Kotoeri.txt”と”RomajiRule_Windows.txt”もあったが、kotoeriはおそらく古いMacOSXの変換規則が記載されている。windowsは文字どうりWindiwsの変換規則なのだろう。