Code Monkey home page Code Monkey logo

nimf's Introduction

Nimf is an input method framework which has a module-based client-server
architecture in which an application acts as a client and communicates
synchronously with the Nimf server via a Unix socket.

Nimf provides:
 * Input Method Server:
    * nimf-daemon
 * Language Engines:
    * Chinese (alpha stage, based on sunpinyin, libchewing, librime)
    * Japanese (alpha stage, based on anthy)
    * Korean (based on libhangul)
 * Service Modules:
    * Indicator (based on appindicator)
    * Wayland
    * XIM (based on IMdkit)
 * Client Modules:
    * GTK+2, GTK+3, Qt4, Qt5
 * Settings tool to configure the Nimf:
    * nimf-settings
 * Development files:
    * C library and headers

Project Homepage:
 * https://github.com/cogniti/nimf
 * https://cogniti.github.io/nimf


License
-------

  Nimf is free software: you can redistribute it and/or modify it
  under the terms of the GNU Lesser General Public License as published
  by the Free Software Foundation, either version 3 of the License, or
  (at your option) any later version.

  Nimf is distributed in the hope that it will be useful, but
  WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  See the GNU Lesser General Public License for more details.

  You should have received a copy of the GNU Lesser General Public License
  along with this program;  If not, see <http://www.gnu.org/licenses/>.


Install
-------

  * Compile

    ./autogen.sh
    make
    sudo make install
    sudo ldconfig
    sudo make update-gtk-im-cache
    sudo make update-gtk-icon-cache
    nimf-daemon
    export GTK_IM_MODULE="nimf"
    export QT4_IM_MODULE="nimf"
    export QT_IM_MODULE="nimf"
    export XMODIFIERS="@im=nimf"
    gedit # or kate


Configure
---------

  * For GNOME Shell, use 3rd party gnome-shell-extension-appindicator

    https://extensions.gnome.org/extension/615/appindicator-support/
    https://github.com/rgcjonas/gnome-shell-extension-appindicator

  * Configure Hangul/Hanja key if you use a keyboard
    without hardware Hangul/Hanja key

    Use xkb-data >= 2.14, then
    Select "Right Alt as Hangul, right Ctrl as Hanja" or
           "Right Ctrl as Hangul, right Alt as Hanja" from gnome-tweak-tool.


Troubleshoot
------------

* Failed to load shared library
  Check /etc/ld.so.conf and /etc/ld.so.conf.d/ for /usr/local/lib path


Debugging
---------
    nimf-daemon --debug
    tail -f /var/log/daemon.log

    export GTK_IM_MODULE="nimf"
    export QT4_IM_MODULE="nimf"
    export QT_IM_MODULE="nimf"
    export XMODIFIERS="@im=nimf"
    export G_MESSAGES_DEBUG=nimf
    gedit # or kate for Qt


References
----------

  * API

  http://www.x.org/releases/X11R7.6/doc/libX11/specs/XIM/xim.html
  http://www.w3.org/TR/ime-api/
  https://developer.chrome.com/extensions/input_ime
  https://docs.enlightenment.org/stable/efl/group__Ecore__IMF__Lib__Group.html
  http://doc.qt.io/qt-4.8/qinputcontext.html
  http://doc.qt.io/qt-5/qinputmethod.html
  https://git.gnome.org/browse/gtk+

  * Language Engines (alphabetically listed)

  http://anonscm.debian.org/cgit/collab-maint/anthy.git
  https://github.com/chewing/libchewing
  https://github.com/choehwanjin/libhangul
  https://github.com/rime/librime
  https://github.com/sunpinyin/sunpinyin

  * Implementations

  https://github.com/choehwanjin/nabi
  https://github.com/choehwanjin/imhangul
  https://github.com/choehwanjin/ibus-hangul
  https://github.com/ibus/ibus
  https://github.com/fcitx/fcitx
  https://github.com/fcitx/fcitx-qt5
  https://github.com/uim/uim

nimf's People

Contributors

sukso96100 avatar kim135797531 avatar

Watchers

amoolove avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.