KentVu / vietnamese-t9-ime

An old-fashioned keypad based input method (T9) for Vietnamese, support accents
GNU General Public License v3.0
2 stars 0 forks source link
input-method keypad nlp t9 t9-keys vietnamese

vietnamese-t9-ime

Join the chat at https://gitter.im/KentVu/vietnamese-t9-ime Android CI Build Status Download

An old-fashioned keypad based input method (T9) for Vietnamese, support accents

The T9 input method

(From Wikipedia )

T9's objective is to make it easier to type text messages. It allows words to be entered by a single keypress for each letter, as opposed to the multi-tap approach used in conventional mobile phone text entry, in which several letters are associated with each key, and selecting one letter often requires multiple keypresses.

Specifications (Stories):

Definitions:

Specs:

  1. [ ] User should interact mainly with the keypad (other means of interacting is optionally supported). (Keypad-centric accessibility: make use all the key on the keypad, prevent actions outside of the keypad (dialpad)).
  2. [ ] Uppercase should only occur at first letter of words.
  3. [ ] User should be able to select from a set of displayed candidates.
  4. [x] When inputting, the possible candidates should be displayed.
  5. [ ] When confirm button is pressed, the selected candidate should be outputted.
    1. [ ] If no candidate is being selected then the first candidate will be used.
    2. [ ] If no candidates found, return the entered numSeq.
    3. [ ] The numSeq should be one of the candidates.
  6. [ ] If dawg has been built, use that dawg to minimize app start time.
  7. For Vietnamese:
    1. [ ] The output should NOT contain combining character, it should contains only rigid unicode character.

Basic Design:

The UI will follow the MVP design pattern:

Design philosophy:

This project honor 7 virtues of good object by yegor256.

Things to consider

Why I chose dawg for implementation of trie?

Because it's the only implementation that support persisting (serializing), and fast!

TODO

References-Acknowledgement