Skip to content

Varnam Support for Indic Keyboard

Subin Siby requested to merge subins2000/indic-keyboard:varnam into master

Fixes smc/smc-project#47 (closed)

A rough sketch of how this is going to be implemented : smc/smc-project#47 (comment 415429710)

  • New varnam keyboard identifiers will start with varnam- followed by the varnam scheme/symbol identifier. Eg: varnam-ml
  • All supported varnam languages will be defined in app (currently done in VarnamIndicKeyboard.java) :
public static final HashMap<String, Scheme> schemes = new HashMap<String, Scheme>() {{
    put("varnam-ml", new Scheme("ml", "ml", "Malayalam", "", "0.1", "Navaneeth KN"));
    put("varnam-ta", new Scheme("ta", "ta", "Tamil", "", "0.1", "Navaneeth KN/Kumaran Venkataraman"));
}};

@jishnu7 From where does the keyboard name in spacebar come from ?

  • The files required for the varnam keyboards (called VSTs - Varnam Symbol Table) won't be included, because some of them are considerably huge in size (Hindi is 7MB, Sanskrit is 13MB, Bangla is 11MB, Marathi is 18MB etc.)
    • @jishnu7 Need to know if there's a way to add a new keyboard layout if only the VST exist, like add the new layout if VST is available. A dynamic addition of layouts to method.xml.
  • There will be a new folder for storing varnam related files. This will be in a user accessible place. So users can copy-paste VSTs or learning files as they want. (A learning file is a SQLite database where varnam stores its learnings of words, patterns etc.). This location is at Internal Storage/Android/data/org.smc.inputmethod.indic/files/varnam
    ml/
       ml.vst
       ml.vst.learnings
       ...
    ta/
       ta.vst
       ta.vst.learnings
       ...

Varnam in Settings

  • There will be a new "Varnam" section in app settings where users can download the VSTs they need.
  • It will also have the option to download packs and import new words from Varnam server.
  • Most features of Varnam Desktop app will be here such as :
    • Download a new language (VST)
    • Import words from file
    • Download language packs and import words from them

Try out the desktop app for more understanding.

Edited by Subin Siby

Merge request reports