Development Setup
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.
Required only for creating the installation package.
After installing NSIS, install the FontName plugin. Download and unzip FontName-0.7.zip 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
Look at instructions for generating a font: http://code.google.com/p/googlefontdirectory/wiki/HowToGenerateWebNativeFontsWithFontForge
Similarly, http://designwithfontforge.com and http://craftingtype.com 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
Checkout
In cygwin, for anonymous access:
cvs -z3 -d:pserver:anonymous@varamozhi.cvs.sourceforge.net:/cvsroot/varamozhi checkout varamozhi
For developers
Create an ssh key:
ssh-keygen -t dsa -C "USERNAME@shell.sf.net"
Copy paste contents of ~/.ssh/id_dsa.pub in https://sourceforge.net/account/editsshkeys.php Sourceforge says there will 10 minute delay in updating these keys.
To checkout:
export CVS_RSH=ssh
cvs -z3 -d:ext:USERNAME@varamozhi.cvs.sourceforge.net:/cvsroot/varamozhi 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
USERNAME@varamozhi.sf.net:/home/groups/v/va/varamozhi
web: /home/groups/v/va/varamozhi/htdocs/
Compiling
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\editor.pl -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\editor.pl
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.
Testing
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.
Upload
Correct the version number on the binary.
Go to: https://sourceforge.net/project/admin/explorer.php?group_id=5819
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:
VaramozhiInstaller<version>.exe
AnjaliFontInstaller<version>.exe
varamozhi_editor_src_<version>.tgz
Updating the web page
Edit the sidebar to update the version number in the link and text.
Map file syntax
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.