Home >> Sub-Committee Input Methods >> IIIMF Detail
Search
  HOME | SPECIFICATIONS | DOWNLOAD | FAQ | PRESS RELEASE  
  Login/Create an account  
Untitled Document
  Active Projects
 
Untitled Document
  Past Projects
  Big 5
Untitled Document
  Main Menu
 
IIIMF Detail

(788 total words in this text)
(19859 Reads)   Printer friendly page

IIIMF Project Detail - What is IIIMF?

IIIMF stands for Internet/Intranet Input Method Framework. IIIMF is designed by Hideki Hiura who designed XIM, to be the next generation of input method framework eventually replacing XIM, which provides the following capabilities;

  • Multiplatform, platform independent.
  • Multlingual and Full UNICODE support, but satisfactory for native speakers.
  • Windowing System Independent.
  • Multiple language engines concurrently run.
  • Multiuser.
  • Distributed, lightweight clients and scalable server.
  • Extensible in multiple means.
  • Input method protocol efficient enough to be used over low-speed modem connection.
  • Easy input method engine development with plugin API.
  • Easy input method enabling with libiiimcf, even on console apps.
  • Small core part to start from.
  • IIIMSF - IIIM Server Framework

    The IIIM Server Framework(IIIMSF) is, unlike XIM Server, a platform independent, Windowing system independent, multilingual and multiuser input method server framework. IIIM Server can run as a system daemon on UNIX, or as a system service on Windows, Unlike XIM server which requires to run the server always as per-user server, single IIIM server process can provide input method service to multiple users in multiple languages simultaneously. Of course IIIM server can also be invoked as per-user server if a user wants to do so. At this moment, IIIM Server is known to run on UNIX flavored OSs and Microsoft Windows. Also, IIIMSF provide standard plugin input method engine API(LEIF). All input method engines are written as shared object/DLL. Unlike XIM Server, you do not have to write entire IM Server to use your own input method engines, but just to create an shared object containing your core im logic part with the code to interface with LEIF, and drop shared object into the language engine directory(usually /usr/lib/im/leif).

    IIIM Client Framework

    Unlike XIM, IIIMF separates platform/window system specific part out from server, and the client side is responsible for handling such specifics, so IIIMF needs client side framework per platform/windowing system. IIIM Client Framework(IIIMCF) are built for several platforms and Windowing systems. Here is the list of IIIMCF currently available or in development.

  • IIIMXCF - IIIM X Window System Client Framework
  • IIIMJCF - IIIM Java2 Client Framework
  • IIIMECF - IIIM Emacs Client Framework
  • IIIMGCF - IIIM GTK+ client Framework (aka iiimf-gtk immodule)
  • IIIMWCF - IIIM Windows Client Framework
  • IIIMQCF - IIIM Qt Client Framework
  • libiiimcf - IIIM generic C client Framework library
  • In additon to those client frameworks, there are unique components have developed or in development.

  • Win32Bridge - IIIM Bridge service for Windows IME.
  • Cascade Engine - Pseudo language engine connecting to the other IIIM server as if an IIIM client.
  • IIIM Language Engine(input methods

    The IIIM Server Framework(IIIMSF) provides a pluggable language engine(aka input method engine or input method module) interface called LEIF, stands for Language Engine InterFace. Multiple language engines can be installed and simultaneously run under this LEIF interface. There are several language engines currently available or in development both in opensource and commercial forms. Because of the LEIF, input method engine developpers no longer have to understand all the micro detail of IM Server, IM protocol, and client side implementation. To provide flexibility and controll for an engine developper, the LEIF interface carries slightly more than just a simple RPC type of regular API set, but more like event driven model type of API set. Its basic model is "an input method engine receives an event, and replies to it by fabricating multiple events."

    Untitled Document

     
     
    Select interface language:

    Untitled Document

     
     
    Warning: Smarty error: unable to read template resource: "default/views/calendarblock/month_view.html" in /var/www/postnuke/html/modules/PostCalendar/pnincludes/Smarty/Smarty.class.php on line 589

    Warning: Smarty error: unable to read template resource: "default/views/calendarblock/todays_events.html" in /var/www/postnuke/html/modules/PostCalendar/pnincludes/Smarty/Smarty.class.php on line 589

    Warning: Smarty error: unable to read template resource: "default/views/calendarblock/upcoming_events.html" in /var/www/postnuke/html/modules/PostCalendar/pnincludes/Smarty/Smarty.class.php on line 589





    powered by
    DIGITAL DREAM

    This web site was made with PostNuke, a web portal system written in PHP.
    PostNuke is Free Software released under the GNU/GPL license.
    Copyright © 2001 Open Internationalization Initiative (OpenI18N). All rights reserved.