Indian Institute of Technology, Madras

About "lb", THE LOCAL LANGUAGE BROWSER

"lb" is a computer program designed specifically to view text prepared in different Indian languages. "lb" will display the Indian language document on the screen and allow the user to scroll through the text using keyboard commands or the mouse.

There are several methods available today to prepare Indian language documents with computers. Many of these come under the group of wordprocessors and desktop publishing software. lb was not designed to work with files generated from any of these software.( Microsoft word, Pagemaker etc). At IIT Madras, a unique and simple Editor program has been developed to permit very easy entry of Indian language texts using the ordinary computer keyboard. The interesting feature of this program is that it can be used on many computers in the world today. More importantly, the IIT Madras system allows the documents prepared using this editor to be freely moved from one computer to another thus avoiding the use of special conversion programs.

We shall first give a brief description of "lb". lb stands for "local language browser". When used on a computer, the document to be displayed by "lb" is indicated by giving the name of the file(document) to "lb".

The way "lb" is invoked on a computer will depend on the specific features provided by the system software on that computer. Computers which operate under DOS or Unix usually present what is known as the Command Line Inteface. Systems such as the MacIntosh have a different user interface where the program is invoked by clicking the mouse cursor on the program icon or the icon of the document to be viewed by the program.

On DOS, UNIX, XWINDOWS systems presenting a command line interface a user would type

lb viewfile.llf [lang]

Here viewfile.llf is the file the user wishes to see in the language specified by the option lang. lang can be one of about a dozen different Indian languages. The phonetic nature of Indian language permits text prepared in one language to be displayed in any other language. In the sample documents provided one would see files such as gita.llf, kural.llf, sample.llf etc. "llf" is the suggested convention for naming Indian language files on the computer.

The MacIntosh does not present a commandline interface. Instead it uses Icons to represent files and documents. The icon for "lb" is the familiar "Om" symbol. No specific icon has been assigned to Indian language files as such but one can identify them from the llf extensions.

When lb starts it may display a banner depending on the default options set and will ask the user to press the space bar on the key board. The text in the appropriate language will then appear in a window. Given below is an inline graphics image of such an opening screen for the gita.llf file.

The user can scroll through the text by using the arrow keys or specific letters on the keyboard. Equivalently if a mouse is connected the mouse scroll bar may be used. Adequate on-line help is available by pressing the h key. The browser also displays the total number of lines in the text and the number of the last displayed line in the window.

The window may be resized using the procedure adopted on each system. When a window is resized, the window will refresh itself. On systems running DOS the resizing option is not supported. ( Note: Please do not resize or switch windows when the browser is accepting some keyboard input or when it displays the banner. This may cause unpredictable results depending on the system on which lb is run).

The browser allows a transliteration feature using which Roman transliteration of the first line of displayed text is seen in a small window at the bottom of the display window.

Under DOS and X WINDOWS, three small icons displaying the symbols " T ,? ,X" are included to invoke transliteration , help or exit from the browser respectively.

Note: Roman transliteration is set for Indian languages only. Consequently transliterating other language texts would produce incorrect transliteration. Hebrew text can however be properly transliterated using a language " ipaheb " in place of " ipa ". Please read the section on the names assigned to different languages to see how "ipaheb" can be used.

Configuration file for "lb"

When invoked, the browser refers to a configuration file to determine three parameters.

Here LANGUAGE is the base language to be used by the browser under conditions it is not able to identify the language to be used within a document. Such a situation may arise if the information to be displayed is generated not through the editor but other means. (A program can generate such text using the IIT M library of functions) TRANS_LANG is the language used for transliteration. This can be any of the languages supported but the language ipa is recommended. "ipa" uses the correct accent marks (diacritical marks) with the Roman alphabet to indicate the different consonants and vowels of the Indian languages. The banner which is shown when "lb" starts may be turned off through the BANNER option in the configuration file.

Here is a Unix-style user manual for "lb"

Specific implementation aspects.

"lb" was designed to view documents in Indian languages prepared using the software library of functions provided by IIT Madras. However there will be situations when text prepared using other software (word processors) may have to be imported to the IIT Madras software. "lb" therefore will allow users to view arbitrary files if they consist of character codes supported by the IIT M system. If lb is unable to identify the presence of some important characters which are part of all documents,it will exit with a message that the file is corrupt.

If lb is able to identify the presence of these characters, it will display the document. A question mark will be seen whenever lb cannot relate a character in the text to the set supported for the language. Since arbitrary files will have no self identifying information, the base language used by lb is selected from the configuration file. If there is some problem using this language (the support files might not be present) then "lb" will try and use "ipa" which is included with the distribution of "lb". If this fails, "lb" will exit with an error message.

Support files used by " lb "

"lb" is a single program that can display text in many different languages. Each supported language requires the presence of nine files. In addition, there are some common files used by lb. All these files MUST be present in the computer for lb to work properly. At the rate of nine files per language and about a dozen languages supported, the total number of files is quite large. "lb" has been designed to look for presence of these files in some specified subdirectory in the system, which may be different from the subdirectory or directory where the document to be viewed is kept.

The IIT M software uses the concept of an environment variable for this purpose. The idea is simple. The environment variable tells where the files are. This variable is designated as LANGDIR and must be specified before invoking lb. The actual manner in which an environment variable is specified depends on the system on which "lb" is run. For the sake of uniformity, it is recommended that in all systems, the user create a subdirectory called "llang" at some convenient place and put all the support file in a subdirectory "files" under " llang ". The Macintosh is a little different in that it is difficult to specify an environment variable. It is recommended that the user create a folder called "files" within the folder "llang" and move all the support files to it.

Setting environment variables

DOS machines:

set LANGDIR= base\llang\files

where base is the path leading to llang. The same applies for WINDOWS 3.1 and WINDOWS 95. Please make sure this is done before starting Windows.

Unix systems:

The setting of the environment variable depends on the shell used. The following usually works.

setenv LANGDIR $HOME/llang/files

On Linux systems using bash

LANGDIR=$HOME/llang/files export LANGDIR

If LANGDIR is not specified, lb will look for all the support files in the current directory from which it was invoked.