MacRuby-based simple IME for Mac
Ruby Makefile Objective-C
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
Classes
English.lproj
Gyaim.xcodeproj
Resources
Romakana
Tests
WordSearch
.gitignore
Info.plist
Makefile
README.md
gyaim.mp4
gyaim.tiff
icon.graffle
main.m
rb_main.rb

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は読むことができると思うので

言及など