Sun Java Solaris Communities My SDN Account Join SDN
 
Architecture, Design and Testing

Sun Software Product Internationalization Taxonomy

 
  « Previous | Contents | Next »
 

4.3.3.2 Device Input (Keyboard and Input Methods)


Description

You can use a variety of devices to input data into a computer system. These devices include:
  • Keyboard
  • Mouse
  • Light pen
  • Optical character recognition (OCR)
  • Software combined with a scanner
  • Voice recognition
Different platforms support different input devices. They also support different methods for the user to input information. These different styles of user input are generically referred to as input methods (IMs). Input methods are usually mentioned in association with Asian languages, but less complex ones are also used to input English and European language characters. IMs are often provided by the computer system vendors, but some are developed and distributed by third party vendors.
The software used to implement an IM can consist of several different sub-components. This section describes the following sub-components:
Input Device Driver
This is the software used to transmit and receive the raw input from the peripheral device. This software also processes the raw input and maps it into a data representation that can be processed by the computer system and application software.
Input Device Driver Interface
This interface implements the interaction between the input device driver and the operating system. The definition of a standard set of interfaces enables the development of device drivers from a variety of suppliers.
Front-End Processor (FEP)
An FEP is usually associated with the input of languages with large character sets, such as Japanese or Chinese. An FEP implements intermediate processing of characters to map abstract input data--for example, multiple key-strokes--to a unique character representation and deliver that character to the software product.

Command Line Interface

Software products can provide command line interfaces that allow the user to specify the input style of the input methods (IMs). These command line interfaces are dependent on the software products, the platforms of the computer systems, and the IMs that are being used.
Command line can also work with IMs, enabling the user to input complex character data.

Character Interface

It is rare to see a character-based interface working with complex IMs. They function similarly to command line input.

Graphical Interface

Front-end processors (FEPs), which are used to input languages with large character sets, usually provide graphical user interface (GUI) windows for end-user interaction. These types of windows include:
  • Status window - This window displays the current interaction status of the FEP. For example, a window that you use to enter Japanese kana characters can have a kana status displayed. To change the interaction status, you can type a sequence of keystrokes that communicate the status change to the FEP.


  • Conversion/Composition window - This window displays the characters that you type before any FEP conversion, for example, the hiragana characters that you use to phonetically write a Japanese word before the FEP converts the input into an ideographic character.


  • Candidate window - When an FEP converts input data to the final display form, it might not be able to uniquely identify the display character. When this happens, the FEP displays a list of candidate characters. Candidate characters are the set of display characters that the FEP can determine as possibilities based on user input. You can select the display character that you require from the candidate list.
FEPs provide several interaction options for the end-user. These options include:
  • Root window style - This input style moves all of the responsibility for large character set handling to the FEP. The FEP intercepts the input data and opens a window independent of the software product, usually at the bottom of the display screen. This separate window is used to display the FEP interaction status, conversion/composition characters, and candidate characters. When the desired display character is selected, the FEP returns that character to the software product.


  • Off-the-spot - This input style is similar to root window, except that the FEP window can be located at any position on the software product window. This is more efficient for the end-user than the root window style.


  • Over-the-spot - This input style is similar to root window, but the FEP window is located at the same position that the display character is entered on the software product window. This is more efficient for the end-user than the off-the-spot style.


  • On-the-spot - This input style requires much more active participation from the software product. The software product is responsible for displaying conversion/composition characters at the point where the final display characters are located. It must coordinate with the FEP to determine when conversion will occur. It must then accept the display character from the FEP and display it in the software product window.

Application Protocols

Not applicable.

Storage and Interchange

Not applicable.

Application Programming Interfaces (APIs)

Software products use two types of APIs for processing inputs from device. These are the device driver APIs and the APIs to communicate with FEPs.
The APIs for device drivers provide the software product with information about the abstract data being input. They also provide methods to obtain detailed information about the input data.
The APIs for input method (IM) engines enable the software product to control the input style of the IM. These APIs also provide the ability to control how the IM processes and delivers the input data to the software product.

Requirements for Compliance

For the processing of device input to be fully internationalized, the software product must be able to process data in any supported language, no matter which encoding scheme is used. The software product must also be able to interact with front-end processors to accept characters from certain languages.

Command Line Interface

Providers must allow terminal window input and supply an interface that can be used by command line consumers.
To enable users to input any kind of character data on the command line, consumers must be able to handle output from an FEP.

Character Interface

Similar to command line, providers must be able to supply final character data to a character interface window.
Consumers must call the necessary provider functions to enable input using an input method (IM) editor.

Graphical Interface

Providers must supply full IM functionality for at least root window input. They should provide the following input style options to the consumer:
Consumers should enable the user to select any of these input style options. Consumers must accept the output of the IM editor.

Application Protocols

No requirement.

Storage and Interchange

No requirement.

Application Programming Interfaces

Device driver APIs must be supplied for devices commonly used in the locales where the product is sold. IM APIs must be sufficiently flexible to handle all the major characters and character sets of the world.
  « Previous | Contents | Next »
 
Related Links