bwedit - A Bengali text editor
Welcome to the experimental Bengali text editor bwedit. It runs on any X11 window system having the Tcl/Tk shell wish.
Features and functionality
- GUI: The graphical interface is very easy-to-use and effective.
- Multiple editor windows: bwedit version 2.0 onwards supports working with multiple editor windows.
- Character buttons: There is no need to remember character maps for the huge unmanagable Bengali alphabet. Click on the character buttons of the keyboard map window to insert these characters at the current cursor position.
- Keyboard input: All characters can be inserted using keyboard only. For characters at higher ASCII positions, control sequences are defined as an alternative to the character buttons.
- Import Roman text: If you choose, you may write romanized Bengali (7 bit ASCII). If you follow a set of simple rules, bwedit can convert the transliterated text to Bengali - on-line. The rules are simple, at least I think so!
- Export facilities: You can generate HTML, LaTeX and PostScript files from Bengali text files.
- Tags: Select text and change the display style of the selected text to subscript, superscript, underlined text ... You can insert Roman characters (and characters corresponding to any X font you have) anywhere in the editor text. These tags can be saved and exported making bwedit (almost) WYSIWYG.
- Mail facilities: bwedit gives you facilities to send Bengali documents (Bengali text or transliterated ascii text) through e-mail. Since Bengali documents may contain 8-bit data, encoding of this to 7-bit ASCII is necessary. In addition to the built-in encoder, bwedit provides interface to MIME- and uu- encoding techniques. bwedit can read one's local mailbox and show the mails interactively. It can also read, decode and show encoded files.
- Configuration: You may configure bwedit in a variety of ways. You may change colors, window size, default font size and so on. You may even customize the Roman-to-Bengali encoding scheme to define an encoding that suits you better.
- Help: bwedit comes with extensive on-line help.
- First? To the best of my knowledge, bwedit is the first software of its kind.
- Free!! And bwedit is free for personal use. Feel free to distribute bwedit to your friends.
bwedit has evolved to be a rather sophisticated text editor. I still refrain from calling it a text processor. Yes, I think a text processor should at the minimum be capable of doing automatic right justification. Alas! bwedit cannot do that!
The current version of bwedit is 2.2.
Command lineYou may call bwedit as
bwedit [options]where the options include:
|-m <file>||Open <file> in main window|
|-t <file>||Open <file> in transliterator window|
|-nm <num>||Open <num> blank main windows (Maximum 5)|
|-nt <num>||Open <num> blank transliterator windows (Maximum 5)|
|-bw <file>||Open bwencoded <file>|
|-uu <file>||Open uuencoded <file>|
|-mime <file>||Open MIME encoded <file>|
|-e <file>||Read Roman-to-Bengali encoding from <file>|
|-rm||Open read mail window|
|-k||Open Keyboard map window|
|-f <size>||Set default font size to <size> points|
|-hl <num>||Set help level (0, 1, 2 or 3)|
|-h||Print this help message and quit|
|-v||Print version info and quit|
Finally, a call like
bwedit <file1> <file2> ...opens main editor windows displaying <file1>, <file2>, ...
LimitationsNow that we have seen what bwedit can do, let us see what it cannot.
- The current version of bwedit can not export underlined text.
- If the editor text is tagged with a general X font, the export funcion treats the text as if it is written in ASCII ISO-Latin encoding.
- Exporting documents to HTML or LaTeX asks the user of an option: whether she wants to save a verbatim copy of the text, that is, whether she wants to get an output that is formatted exactly the way the input is. If this option is not selected, the only formatting that bwedit understands is a paragraph break for a blank line. Exporting to PostScript, on the other hand, is in the verbatim mode only.
- The Tcl/Tk shell wish (bwedit has been tested to work well with Tcl8.0/Tk8.0. For earlier versions (Tcl7.6/Tk4.2 etc.), certain keyboard bindings have been found to create some trouble.)
- The X11 bitmap fonts available from the bwfu distribution.
- The TeX fonts and a style file available from the bwti distribution, if you want to compile the exported output in the LaTeX format.
- The PostScript Type 1 fonts available from the bwfu distribution, for exporting Bengali documents to PostScript files.
Changes in Version 1.1
- A bug related to window resizing has been fixed.
- Facility for customizing (and saving) various options is included.
- An on-line Roman-to-Bengali converter is introduced. An editor for Roman text is also incorporated.
- Error messages are added.
- Extensive on-line documentation is added.
Changes in Version 1.2
- Lots of tags are added (script tags like supersuperscript etc., tags for displaying text in the `fixed' font and in any arbitrary X font available in the system).
- Facility for saving and loading tags is introduced.
- The export functions have been thoroughly rewritten so that they can respect the tags.
- Facility to prompt the user when she wants to discard unsaved changes in the text area is incorporated.
- New bindings have been defined for the middle and right buttons of the mouse.
Changes in Version 1.3
- The on-line display below the text area of the `Edit transliterated text' window is added.
- Facility for importing text directly from the `Edit transliterated text' window is incorporated.
- The toolbar for the `Edit transliterated text' window is redesigned.
- Facility to prompt the user when she wants to discard unsaved changes in the text area of the `Edit transliterated text' window is introduced.
- Some diagnostic messages are added (for example, when a file or options are saved).
Changes in Version 1.4
- A bug related to the window resizing of the `Edit transliterated text' window has been fixed.
- Two more bugs related to the `Save confirm' windows are fixed.
- A bug in setting the dirty bit is also fixed.
- A bug related to not refreshing the on-line view in the transliterator window during load etc. is fixed.
- Another bug related to the existence of spaces in a file name etc. is also removed.
- Compatibility with bwti version 3.0 and bwfu version 1.1 is incorporated.
- Two new conjunct consonants are added.
- The character array is a little bit beautified.
- In all the previous versions, when a user wants to re-open an auxiliary window, she gets an error message. This is taken into account in this version. A re-open request now changes the focus to the existing window.
- Facility to send Bengali documents through e-mail is introduced. The associated 8-bit to 7-bit encoding routines and the corresponding decoding routines are added.
- Cut-copy-paste facilities are introduced for the transliterator window. An old bug for these operations has also been fixed.
- For export to LaTeX and HTML, the user is provided an option to include or omit the header and tailer. For LaTeX this is particularly useful. If the user opts to omit the header, the output LaTeX file ceases to be a self-sufficient LaTeX input; instead one can readily \input or \include the file from another LaTeX source.
- For export to PS, a target page selector is introduced.
- The option editor is modified. In particular, the `edit option' windows for the main window, the transliterator window and the mail operations are integrated into a single window. Switching between different option topics is made possible through radio buttons.
Changes in Version 1.5
- Escape sequence to insert all characters in the main editor window is introduced.
- Keyboard accelerators (other than the escape sequence) for all vowels, jafala and rafala are introduced for the main window.
- The `View Keyboard Map' window is redesigned.
- Keyboard bindings are added for both the main and the transliterator windows for the keys F1 through F10.
- Keyboard bindings for deleting and joining words and lines are added for both the main and the transliterator windows.
- The `Cancel' option is introduced for `Save confirm' windows.
- A documentation bug is removed.
- Another bug related to an icon name is fixed.
Changes in Version 2.0
- Facility to open multiple main and editor windows is introduced. All routines are updated accordingly.
- The coordinator window is added. This contains a tool bar, image buttons and balloon messages.
- The mail reader is introduced.
- Keyboard bindings are changed somewhat. In particular, the Alt-M bindings that create troubles with older versions of Tcl/Tk are completely removed. The Alt bindings are made more-or-less uniform for three types of windows (coordinator, main, transliterator).
- Facility to append transliterated file in main window is added.
- Facility to insert and append file is introduced for transliterator windows.
- The help windows (`About bwedit' and `Transliteration rules') have been redesigned. Help topics are displayed so that the user can directly click on them (instead of selecting the topics from a menu). The help windows are no longer fixed size windows. The user can resize them.
- The character array below the text area is removed. The functionality of this array is imposed on the keyboard map window.
- Facility to insert transliteration encodings of the Bengali characters to the transliterator window is also incorporated through proper bindings in the keyboard map window.
- The Roman alphabet is added to the keyboard map window.
- The `Send Mail' window is reconfigured. More specifically, the user is provided a choice to send either a hard disk file or a main window text or a transliterator window text.
- The restriction on encoding of transliterator text is removed. All types of encoding are now allowed for each type of mail body (file, main text and transliterator text).
- The send-mail and options dialog boxes no longer grab the focus. One can continue editing tasks with these dialog boxes open.
- A bug related to incrementing the dirty bit when digits are input is fixed.
- The menu binding functions bindings are changed so that they no longer rely on Tk's default action.
- The options EditRoman (Launch transliterator window at start-up) and CharMap (Show character array below the main text area) are no longer supported.
- This version does not take into account the command line arguments.
- The help files are updated a little in order to have conformity with the new GUI as well as to explain things better.
- The size of diagnostic message dialog boxes is made dynamic so that the text plus all the buttons fit nicely in it irrespective of the user's choice of default fonts.
- A target window selector is added for the [Transfer] menu of transliterator windows and in the [keyboard map] window.
Changes in Version 2.1
- A bug in the tag functions is removed. If the user does not select a region and calls these tag functions, this bug used to appear.
- The conjunct "ndh" was omitted from the keyboard map list in versions 1.5 and 2.0. This is properly inserted in this version.
- A bug related to setting of the dirty bit in the main window when the user invokes the keyboard accelerators (Alt+1), (Alt+2) etc. is fixed.
- The cursor is changed from the default to the `hand' cursor on clickable items that are not buttons or that do not look like buttons. (Examples: Help window topics, BWEDIT logos and Keyboard map characters)
- The default text in the target window selector menu button in the keyboard map window is changed from `Select target window' to `Target window : (None)'.
- Facility to insert Roman text in transliterator window is introduced.
- The ligatures `r + u', `r + U', ..., `st + u' are properly handled in the transliterator window.
- Automatic saving and loading of tags are incorporated. Load/Save/Append/ Insert operations on main window files are updated accordingly.
- The command-line options -m, -t, -nm, -nt, -bw, -uu, -mime, -e, -rm, -k, -f, -hl, -h and -v are introduced.
- The user is allowed to read Roman-to-Bengali conversion encoding from a file of his/her choice. This overrides the system default stored in `<INSTALLDIR>/lib/bn.enc'.
Changes in Version 2.2
- The `Get File Name' dialog box is augmented so that it shows the directory listing, when the user chooses a directory and tries to commit (by hitting Return or clicking `Ok').
- Facility to change folder for reading mails is introduced. The folder info above the list of headers is added.
- Procedures for moving through the list of mails are introduced. These procedures include: Next, Previous, Ten mails forward, Ten mails backward, First, Last, Goto mail with arbitrary number or with arbitrary forward/backward shift.
- The `Edit mail' option is introduced in the `Read Mail' window. The user can now send contents of the edited mail by the send mail utility.
- The `Reply-to' field of a mail header is taken care of for sending reply to e-mails.
- Text search and replace functions are added for both the main and the transliterator windows.
- Facility for automatic refreshing of lists of target windows is added.
This refresh routine is invoked whenever a main or transliterator window
is created or closed. The refreshing takes place in the following places:
- list of main windows for transfering transliterated text, maintained in transliterator windows
- list of target windows (main and transliterator) maintained by the keyboard map window
- list of main and transliterator windows maintained by the sendmail dialog box to select the content of an e-mail
- A bug related to setting of the source editor window for the send-mail dialog box is removed.
- The method of printing # in Roman mode is revised. In version 2.1, when the user wants to print # in transliterator windows while (s)he is in the roman mode, (s)he had to come to bengali mode, then type 2 hashes and again switch to roman mode. This means a set of 4 consecutive hashes. This is ugly. Now the user can print # by typing two of them in the roman mode too.
- A limit (5) on the number of blank main and transliterator windows to launch at start-up is imposed. This does not allow the user to open an arbitrary number of windows and hang the system (accidentally or intentionally).
- A man page for bwedit is added.
- bwedit - the editor (Version 2.2)
- bwedit - the editor (Version 2.1)
- bwedit - the editor (Version 2.0)
- bwedit - the editor (Version 1.5)
- bwedit - the editor (Version 1.4)
- bwedit - the editor (Version 1.3)
- bwedit - the editor (Version 1.2)
- bwedit - the editor (Version 1.1)
- bwedit - the editor (Version 1.0)
- User's manual for bwedit (Version 2.1)
- User's manual for bwedit (Version 1.5)
- The X11 fonts (Version 1.1)
- The X11 fonts (Version 1.0)
- The PostScript Type 1 fonts (Version 1.1)
- The PostScript Type 1 fonts (Version 1.0)
- The METAFONT files (Version 3.0)
- The METAFONT files (Version 2.1)
Note: Versions 1.3 and below of bwedit are compatible with bwfu fonts version 1.0 and METAFONT files version 2.1. If you download version 1.4 onwards of bwedit, you should download version 1.1 of bwfu and version 3.0 of bwti. If you have already downloaded the older version of the fonts and want to install the new version of bwedit, I request you to reinstall the Bengali fonts. Any inconvenience arising out of this is regretted.
© 1998-1999 by Abhijit Das (email@example.com). Permission is hereby granted to distribute bwedit free of charge as long as the original author gets credit and this copyright notice remains intact. Use of this software for commercial purposes is strictly prohibited.