Bangla (Bengali) is a modern south asian language of
the indo-european family.

লেখ (Lekho) is a "plain text" editor designed to take in phonetic input from a standard US keyboard and convert (transliterate) it
online into bangla text. The text is stored as unicode
( UTF-8 )
and can be read by any unicode aware
application.
Lekho is NOT designed to be a WYSIWYG word processor (like MS Word)

For browsers/systems that are not unicode aware, the text can be exported as a webpage
composed using the Adarshalipi font. Provided this font is installed
on the system, the page will render correctly.

Lekho allows the export of the bangla text in
bangtex format.
If you have LaTeX and bangtex installed
on your system, you may use this editor to compose
bangla documents to be compiled in LaTeX using the bangtex package.

WINDOWS
If you have never installed Lekho before use the full_install_v1.15.exe. If you have an existing installation of Lekho and want to upgrade to v1.15, download update_to_v1.15.exe. Other mirrors can be found by going to the download page at Sourceforge
Look at the release notes on that page to figure out which download is the best for you.
If you want to compile you should first have MS VC6 installed and the QT tool box from trolltech installed. After installing you should be able to find the source code in the directory \src where you installed Lekho. Go into the \src\vc6 subdirectory and click on vc6.dsw this should open up the required workspace.
The software is released under the GNU GPL)

LINUX/X11 SYSTEMS (e.g. FreeBSD)
Compilation of the source is currently the only way.
You need to get both the source code and the dictionary files (if you want to use the spell chekcer too)
Go to the files page and get the .src.tgz file of the version you want.
You can also get the latest version from CVS. Be aware that the CVS code may ocasionally be half worked, and may actually have more bugs than the older version, but in general I update CVS after resolving an issue.
Get the dictionary archive from here for versions 1.15 and above, and from here for earlier versions.
Unzip the archive with the command

tar -zxvf XXXX.src.tgz where XXXX.src.tgz is the source file

This should create a directory Lekho under which all the sources are to be found.
Open up the Makefile in your favourite editor and change the four lines

to where ever you want the object files and executable to be placed.
Type make and then make install to compile and then install the program

From v1.1 onward Lekho comes with a spell checker. In order for this to work you need to get the dictionary files which are kept on the same page as the rest of the files.
Unzip this to some directory then keep a link to this directory as Dict where the lekho executable is kept

e.g. for my system the location of the lekho executable is/home/kghose/bin
and the dictionary directory is soft linked as /home/kghose/bin/Dict

Get the usp10.dll
(uniscribe processor) and copy it to the c:\windows\system\ directory
for win9x and c:\windows\system32\ directory for NT and 2000. This dll comes as part of windows
for 2000 and XP (and can be found in c:\windows\system32).
Get the code2000 font from
James Kass
Install
Internet Explorer 6. (Yes a MS product. For some reason it does what Netscape and Mozilla
don't do - supports the proper rendering of OpenType fonts).
And you should be all set...

Linux

Unfortunately no solution yet. At best Netscape 6 and Opera 6.03 can render the unicode chracters as separate
glyphs. Ligatures arn't decoded and thus juktakkhor appear as letters separated by hoshonto. If you want to help with the bangla localization goto http://www.mozilla.org/projects/l10n/mlp_status.html and volunteer !

EDITORS
bspeller, a nice lightweight bangla editor for GNOME (linux) with a spell checker based on barda's dict
Yudit. Unicode editor for "all" languages. Very widely used. Efficient.
Mostly for Linux, but there is one windows version.
Bengali writer very popular for X11 systems. Uses ISCII encoding. Has a spell checker, this is important.
Ekushey, a neat plug-in for MS word that enables typing in bangla.
It supports over 200 bangla TTF fonts, many keymaps and romanisation too. You can interconvert between different bangla fonts.
Easy to install.

The bangla script consists of 49 base forms (or 47, if you discard 2 letters considered archaic).
The base consonants can be concatenated together to form ligatures whose glyphs (script form) may be
unrelated to the components e.g.

Consonant sounds may also be modified by vowels e.g.

Phonetically and logically, the "la" sound comes first in both cases and then the vowel sound "i" or "ii".
But as can be seen, glyph wise, the position of the "la" changes.

These are the challenges in encoding, storing and displaying bangla text on a computer system,
especially in conjunction with other languages.
Unicode provides a standard encoding scheme for all modern,
living languages using 16 bits. Unicode provides a systematic way to encode bengali vowel,
consonant and ligature forms. Unicode as a standard has gained wide acceptance.

"Lekho" is designed to take in phonetic input from a standard US keyboard and convert it
into bangla text. The animated gif above illustrates this.
The text is stored as unicode (UTF-8)
and can be read by any unicode aware
application.
The major issue is the proper display of the bangla glyphs corresponding to the text. A font is needed that
can resolve ligatures into the proper glyphs and order vowel-consonant combinations correctly on screen.
(This is in contrast to current fonts that perform a one-one mapping of code point to glyph)
Opentype fonts should solve this problem.
James Kass has a open type font called
code2000 that supports bangla ligature forms.
This works fine on win95 onwards using the usp10.dll and unicode aware applications.
However I, at least, was unable to make this work on a linux machine.

Lekho handles the issue of rendering glyphs by using a freely available higher ASCII bangla font called
Adarshalipi to render the bangla forms on screen.
This is also how it exports the text to html : it basically substitutes the unicode bangla for the
corresponding glyph composition in this higher ASCII bangla font. If adarshalipi is installed on
your system, the exported web page will render fine.
Lekho is coded in c++ using the QT library and is source
compilable on both systems. Lekho is GPLd and the source is freely available for modification
and redistribution without limitation provided the conditions of the
GNU GPL are met.

This was my first experience in coding a GUI in c++. All my previous experience was in commandline
scientific number crunching stuff. This was a nice change.

My main motivation to write this editor was to be able to write essays etc. in bangla. Of course
what this editor needs is a spell checker, as you probably agree if you read bangla and have
seen some of the webpages I've created.