Next Previous Contents

3. Installation

3.1 Distribution structure








Sample mapfiles for conversion from one scheme to mozhi scheme


Sample mapfiles from mozhi scheme to some of the available fonts


Source code for transliteration from English to Malayalam script


Source code for transliteration from Malayalam to English script


Contains additional .c files required for compilation in Windows environment.


Will contain executables and .c/.h files after the build. Its structure will be


Documentation in sgml, html, ascii and ps

bin ----- malbin ------ schm_schm ---- <binary files for schm2schm>
  |              |
  |              +----- schm_font ---- <binary files for schm2font>
  +------ lambin ------ schm_schm ---- <binary files for schm2schm>
  |              |
  |              +----- schm_font ---- <binary files for schm2font>
  +------ malapi ------ schm_schm ---- <schemes> -- .[ch] files
                 +----- schm_font ---- <fonts> ---- .[ch] files

3.2 Requirements

  1. Perl 5
  2. flex
  3. yacc or bison
  4. An ANSI C compiler `like' gcc

Perl is available from and flex, bison, and gcc from

3.3 Steps for installation

  1. unzip
  2. change directory to varamozhi/
  3. Sample configuration files are given in varamozhi/schm_schm/ and varamozhi/schm_font/. The files in the first directory map between two transliteration schemes and the second one between a font and a transliteration scheme. So these configuration files are called mapfiles. They can be used as they are or modified for different scheme and font. Syntax and semantics of the entries in a mapfile are explained in a section below.
  4. Following variables may be edited in varamozhi/Makefile. Note: The mapfiles given has .map extension. But this extension should not be specified in $SCHMLIST or $FONTLIST.
  5. make This will create all the executables for scheme to scheme and scheme to font conversion in varamozhi/bin/malbin/*. Similarly executables doing the reverse in varamozhi/bin/lambin/*.
  6. make clean (optional)

3.4 Installing on HP

May need -Xa1000 option for flex.

3.5 Installing on NT/Windows

You need to have a cross platform CASE tool which will give you flex and yacc. Two such case tools are:

If you are using these tools, you may need to edit make variable like $PARSER and $SCANNER accordingly.

If you could reach up to the .c and .h files in a Unix machine and just want to make the .exe in NT/windows, take .c/.h files from varamozhi/bin/malapi/<schm_..>/<font_or_scheme>/ directory and alloca.c and getopt.c from varamozhi/win/, put them in MS machine and do the compilation as:

    cl /Femal.exe lex.yy.c alloca.c getopt.c

3.6 Configuring for a particular font and scheme

The .map file maps between the transliteration scheme and the font. varamozhi/schm_font and varamozhi/schm_schm has few sample mapfiles. In this section we look at the syntax of mapfile entries. A mapfile has following sections:

  1. General
  2. Double Quote Symbol
  3. Single Quote Symbol
  4. Other Symbols (`chihnangngaL')
  5. letter - `a' (the first vowel)
  6. Rest of the vowels (`svarangngaL')
  7. Consonant+vowel conjuncts (`vyanjjanam+svaram')
  8. `samvr^thOkaaram' (popularly known as `chandrakkala')
  9. General Consonants
  10. `ga, Sa' and `sa'
  11. `Ta-vargam'
  12. Letter - `Da'
  13. Letter - `Na'
  14. `tha-vargam'
  15. Letter - `na'
  16. Letter - `ya'
  17. Letter - `la'
  18. Letters - `La' and `ma'
  19. Letters - `ra' and `Ra'
  20. Letter - `va'
  21. Conjunct Ligatures (`kooTTaksharangngaL')


This section provides the information which is not the part of transliteration scheme definition.

Other Sections

Please read section definitions.

All other sections start with the special tag `%%'. All lines before next `%%' or end of file will be in that section. That is nth section will start with nth `%%' tag. Each line in a section will contain a number of fields separated by `='. Except the last, all fields will represent same letter or symbol. The program lam will use only the first string while transliteration. Font information is encoded in the last field. This field will have at the most four subfields separated by commas. These subfields are explained below.

The first subfield will represent the independent glyph, the second and third subfields will represent right and left sign glyphs respectively. The last one will represent the chillu glyph. Each subfield should represent the corresponding font key stroke. If that key stoke is not a normal typewriter character (an Alt+ key combination) you need to write its decimal ASCII number quoted with a slash (eg : \147). Now if more than two key strokes represent same glyph, then write all of them as | (pipe symbol) separated (eg: \147|\148). The program mal will use only the first one. That is \147 from previous example.

3.7 Characters having special meanings

All symbols which are not specified in the `mapfile' will be copied as such and will be considered as Malayalam characters when font tags are attached in the HTML output.

Next Previous Contents