লেখ |
Summary |
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.
Lekho is coded to run on both Linux (X11 systems) and Windows.
(this is as far as I will go, I hear there are others who want to turn this into LyX for bangla, but I'll be in Hawaii then...)
The latest version is v1.15.
Change log is here
WINDOWS
LINUX/X11 SYSTEMS (e.g. FreeBSD)
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.
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.
e.g. for my system the location of the lekho executable is
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)
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
Open up the Makefile in your favourite editor and change the four lines
LEKHO_DIR = $(HOME)/C++/Lekho/
INSTALL_DIR = $(HOME)/LekhoBin/
OBJ_DIR = $(LEKHO_DIR)/obj/
BIN_DIR = $(LEKHO_DIR)/bin/
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
Unzip this to some directory then
/home/kghose/bin
and the dictionary directory is soft linked as
/home/kghose/bin/Dict
The following worked for me
Windows (win98,NT & 2000, my guess is it should work for win95 too)
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 !
BANGLA RELATED
The evolution of bangla.
Bangla document archive
BanglaPenguin.org project aimed at making a complete bangla linux distribution
Bangla on Linux
UNICODE
Unicode
Unicode Bengali chart (77k)
Some debates relevant to Bangla unicoding
free bangla font list archive. The issues are often relevant to unicodeing in bangla...
Unicode
Test page (This will show you what unicode fonts your browser supports)
PHILOSOPHY
Free Software, GNU
Opensource ond free software
WYSIWYG vs. LaTeX like separation of writing and typesetting
CODING
QT from Troll Tech.
Here's their
license.
Mozilla localization initiative
Memory leak debuggers!
How to build rpms from a directory of your source code.
FONTS
GPLd bangla fonts (free).
James Kass has a open type font called
code2000 that supports bangla ligature forms (Shareware)
Microsoft's OT specs for Bangla
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.
LISTS etc.
ilug-cal. Fairly lively.
indic-computing
mailing list at sourceforge.
Since you're poking round here, you probably want all the gory details. Well, here's the PG-13 version...
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.
Look for Lekho (first letter is CAPS) under CVS. Thats the current CVS version. Ignore the rest, its mostly junk
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.