IMInitialize Subroutine

Purpose

Initializes the input method for a particular language.

Library

Input Method Library (libIM.a)

Syntax

IMFep IMInitialize( Name)
char *Name;

Description

The IMInitialize subroutine initializes an input method. The IMCreate, IMFilter, and IMLookupString subroutines use the input method to perform input processing of keyboard events in the form of keysym state modifiers. The IMInitialize subroutine finds the input method that performs the input processing specified by the Name parameter and returns an Input Method Front End Processor (IMFep) descriptor.

Before calling any of the key event-handling functions, the application must create an instance of an IMObject object using the IMFep descriptor. Each input method can produce one or more instances of IMObject object with the IMCreate subroutine.

When the IMInitialize subroutine is called, strings returned from the input method are encoded in the code set of the locale. Each IMFep description inherits the code set of the locale when the input method is initialized. The locale setting does not change the code set of the IMFep description after it is created.

The IMInitialize subroutine calls the load subroutine to load a file whose name is in the form Name.im. The Name parameter is passed to the IMInitialize subroutine. The loadable input method file is accessed in the directories specified by the LOCPATH environment variable. The default location for loadable input-method files is the /usr/lib/nls/loc directory. If none of the LOCPATH directories contain the input method specified by the Name parameter, the default location is searched.

Note: All setuid and setgid programs will ignore the LOCPATH environment variable.

The name of the input method file usually corresponds to the locale name, which is in the form Language_territory.codesest@modifier. In the environment, the modifier is in the form @im=modifier. The IMInitialize subroutine converts the @im= substring to @ when searching for loadable input-method files.

Parameters

Item Description
Name Specifies the language to be used. Each input method is dynamically linked to the application program.

Return Values

If IMInitialize succeeds, it returns an IMFep handle. Otherwise, null is returned and the imerrno global variable is set to indicate the error.

Files

Item Description
/usr/lib/nls/loc Contains loadable input-method files.