MacRuby-based simple IME for Mac
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
Classes ローカルに編集してたものを反映 Sep 7, 2015
English.lproj 「Hiragana」などの表示がちゃんと出るようにInfo.plist, InfoPlist.stringsなどを沢山変更 Mar 17, 2011
Gyaim.xcodeproj ローカルに編集してたものを反映 Sep 7, 2015
Resources だいぶ前にCommitしてなかったものをCommit Mar 9, 2012
Romakana コメントを修正 Mar 17, 2011
Tests wordsearchのテストを修正 Mar 27, 2011
WordSearch ローカルに編集してたものを反映 Sep 7, 2015
.gitignore Crypt関連を別クラスにした Jan 17, 2012
Info.plist ローカルに編集してたものを反映 Sep 7, 2015
Makefile だいぶ前にCommitしてなかったものをCommit Mar 9, 2012
README.md READMEなどを書き換え Jan 18, 2012
gyaim.mp4 gyaim.mp4追加 Apr 4, 2011
gyaim.tiff "9"じゃないアイコンを用意 Mar 14, 2011
icon.graffle
main.m コメント追加など Mar 14, 2011
rb_main.rb コメント追加など Mar 14, 2011

README.md

Gyaim

  • MacRubyで作ったMac用のIMEです。
  • 数百行のRubyで実用レベルのIMEを作れることを示すものです
    • 単純な変換しかできませんがそれなりに使えます
    • 見栄えはInterfaceBuilderで簡単に変更できます
    • 変換アルゴリズムやIMEの動作はRubyで簡単に変更できます
    • 自前のIMEをいろいろ作りましょう!
  • 変換手法はSlimeと同じです
  • 予測機能はありません

インストール

  • MacRubyのインストールが必要です
  • 多分SnowLeopardが必要です
  • XCode3でビルドします
    • make でビルドできます
  • その後、ログアウトして再ログインすると 「言語環境設定」からGyaimを選択できるようになります
  • 辞書はSlimeのものを使っています

使いかた

  • ローマ字を入力すると候補が表示されます
  • スペースキーで候補を選択し、改行キーで確定します
  • ローマ字入力の後ですぐ改行キーを押すと完全マッチで候補が検索されます
    • ひらがな、カタカナ入力に便利です
  • ローマ字入力した後「.」を入力するとGoogleSuggestが呼ばれます
    • 固有名詞の入力に便利です
    • "ottoga." などと入力するとひどいことになります
  • 単語登録
    • 登録したい単語をドラッグして選択した後で文字入力すると、選択した単語が第一候補に表示され、 その単語をスペースキーで選択して改行キーで確定するとユーザ辞書に登録されます
  • ユーザ辞書、学習辞書は以下にセーブされます
    • ユーザ辞書: ~/.gyaimdict/localdict.txt
    • 学習辞書: ~/.gyaimdict/studydict.txt
    • ユーザ辞書は普通に編集可能です

秘密文字列の入力

  • クレジットカード番号のように、 辞書に登録はできないけれどもしばしば入力が必要な秘密文字列を簡単に入力することができます
  • 秘密の読みを入力した後で「?」を入力すると秘密文字列が候補に表示されます
  • 前述の単語登録のやり方を使用して、文字列の最後に「?」が続くような読みを登録すると 暗号化された文字列が辞書に登録されます
  • たとえばクレジットカード番号を「kureka?」という読みで登録しておくと、 「kureka?」と入力したときクレジットカード番号が候補に表示されます
  • 「kureka」だと他人にわかってしまうかもしれませんが、 秘密の読みを利用すれば、それを入力しない限りクレジットカード番号が候補に出ることはありませんし、 辞書には暗号化された文字列だけが登録されるので安全です (「kureka」のような読みは辞書に登録されません)
  • 例えば「32文字のパスワードを要求する鬼畜なシステム」が有ったとしても、 この方式で登録しておけば覚えておく必要がなくなります
  • 何かの理由で秘密ファイルを使う必要があるとき、 秘密ファイルの名前を登録しておけば見失ってしまうことがありません

TODO

  • 様々な変換エンジンを切り替える
  • Romakana.rbをRuby1.9用に修正
  • 登録を簡単にしたい
    • 研究になるかも?
  • 単漢字変換
  • 候補が10個以上出るように
  • 予測機能
    • 実は要らないかも
  • SocialIMEとかGoogleIMEとかを呼ぶ
  • まともな変換システムを自力で作る
  • 現在のテキストを変換に利用する
    • IMEが使うNSTextは読むことができると思うので

言及など