Development Setup

Install Cygwin

Execute Cygwin setup.exe. Select all packages for installation. By clicking Default across all packages.

Install ActivePerl

Get ActivePerl latest free version. As of now 5.10.1 does not work. Download 5.10.0 instead from here.

Install Perl/Tk

  • In cmd console run ppm
  • Goto Edit > Preferences > Repositories.
  • Select uwinnipeg from the Suggested and click Add.
  • Select View All packages
  • Search for Tk, IO-Compress, Zlib (all), Math-BigInt (all), IPC-Run3, PAR-packer and add latest versions and install.

Install NSIS

Required only for creating the installation package.

After installing NSIS, install the FontName plugin. Download and unzip and run the .exe in it.

Install Volt

Install Volt. Use varamozhi/htdocs/fonts/AnjaliOldLipi-src.ttf for editing the GSUB and GPOS tables. Generated file goes to varamozhi/htdocs/fonts/AnjaliOldLipi.ttf. Even though there are infrequent bugs in Volt, sticking to it because its hinting is good. When that is good with FontForge, switch to SMC version.

FontForge tips

Similarly, and for more discussions.

Editing glyph

- Select a group of points by click and drag an area.
- Add more points by shift-click.
- For precision, move them by arrow keys as opposed to mouse
- Do simplify by Ctrl-Shift-M and more by Alt-Ctrl-Shift-M (Element > Simplify > ...)
- Points that are not filled can be removed by merging Ctrl-M (Edit > Merge)
- Slight change that happen to the curve can be fixed by adjusting the handles of neighboring points.
- This simplification process can be repeated until all unfilled dots got removed.
- The error limit in Simplify More can be increased to 10em.

Editing Font Version

In Mac, extract name table by:
ftxdumperfuser -t name -o AnjaliNewLipi-names.xml AnjaliOldLipi.ttf

Reattach the name table by:
ftxdumperfuser -t name -d AnjaliNewLipi-names.xml AnjaliNewLipi.ttf

Start Cygwin

Start > All Programs > Cygwin-X > XWin-server


In cygwin, for anonymous access:

cvs -z3 checkout varamozhi

For developers

Create an ssh key:

ssh-keygen -t dsa -C ""

Copy paste contents of ~/.ssh/ in Sourceforge says there will 10 minute delay in updating these keys.

To checkout:

export CVS_RSH=ssh
cvs -z3 checkout varamozhi

Add appropriate aliases or exports to your profile files for easy access in the future.

To checkin changes:

cd ~/varamozhi
make cvs

More Info

Shell Access
web: /home/groups/v/va/varamozhi/htdocs/


For compiling basic set:

cd ~/varamozhi/varamozhi
make FONT=karthika
make FONT=unicode

For compiling for all fonts:

cd ~/varamozhi
make <version number> # ex: version number = 1.07.01

Starting the editor

Add path C:\cygwin\bin in My Computer > Properties > Advanced > environment variable settings > Path
For Windows shortcut:
Start in: "C:\Documents and Settings\cibu\varamozhi\varamozhi"
Target: C:\Perl\bin\perl.exe gui\ -t

Release process

Creating the Engine

In cygwin:
 cd varamozhi
make 1.01.15 # (example) next version number

Creating the Editor

In cmd console:
 cd C:\Documents and Settings\<username>\varamozhi\varamozhi
pp --icon gui\varamozhi-icon7.ico -z 0 -o gui\editor.exe -v gui\

Creating the Editor installer

Open Windows Explorer in C:\Documents and Settings\cibu\varamozhi\installer
Make sure mozhi_1.0.3.exe from sourceforge repository is there.

Right click on varamozhi complete installer.nsi and compile. VaramozhiInstaller1.xx.xx.exe will be created in above dir.


In a test PC; remove old installation; delete varamozhi install dir; install; test using words.mozhi file

Creating the Font installer

Open Windows Explorer in C:\Documents and Settings\cibu\varamozhi\installer. Right click on FontInstaller.nsi and compile the script to create the installer. AnjaliFontInstaller.exe will be created in the same dir.

Change the name to AnjaliFontInstaller<version as 1.03.02>.exe

Testing: in a test PC; remove old font installation; install; test using Varamozhi Editor in Anjali font.


Correct the version number on the  binary.

Go to:
Create new directories under 'Installer for AnjaliOldlipi' and/or 'Windows Installer for Editor' in 1.03.02 format, by clicking on gear button on left side of the respective directory. Select the directory for upload each binary and then click Upload at the top of the page. Upload following binaries:


Updating the web page

Edit the sidebar to update the version number in the link and text.

Map file syntax

Example for ML-TTKarthika.

Consider the line:
O = Hm, t, m, m

'Hm' is the full vowel O.
't' is the left part of 'O'
'm' is the right part.

The last 'm' is the repetition symbol in case somebody writes 'OOOOOOOOOOOOO'
In case of consonants, the last part is the chillu letter.