Open source Tibetan
On this page is made available a new version of an old personal project, one that was never really shared with anybody else. Now that this has been converted to Windows, and is very much more user-friendly and flexible, it might be of use to some others, and so is made available here as open source. |
In the late 70s, not long after I had become involved with Tibetan Buddhism, those of us that wanted to make use of Tibetan liturgical texts had to make do either with hand-written copies or multi-generational photocopies of old texts brought from Tibet. The quality was usually not good. Not long after the IBM PC arrived, I started writing (1984) software to create and edit fonts; my first goal was to enable some extra characters with diacritics that are needed for Sanskrit, such as ā, ḍ and ś. This was easily achieved, but later I was commissioned to write software to drive a Canon scanner – quite a rarity in 1985. I used this to scan the characters in the "Alphabetical plan of the Tibetan language" in the Tibetan-English dictionary of Sarat Chandra Dass. From these scans I created a Tibetan font.
This font made it possible to start writing software to print Tibetan. My main intention was to reproduce accurately and easily the liturgical texts needed by western Buddhist centres. I needed to be able to use any word processor or text editor, editing in Roman text, and then print out Tibetan. The software was designed to print in two ways: either in portrait mode, rather like a western book, or Tibetan pecha-style – in landscape mode, two pages to each side. All this happened a couple of years before Windows arrived on our PCs, and so the software was written in DOS. Also, it was dedicated to Hewlett-Packard compatible printers. I owned an HP Laserjet at the time and so this was an obvious choice. Several years later, Epson UK Ltd., knowing of the work I was doing, kindly donated an HP-compatible A3 printer, an EPL-9000. A3 (or the very similar 11×17) seems by far the best size paper for reproducing Tibetan texts.
But, technology moves on, although not always for the better. The EPL-9000 is no longer supported and mine was recently replaced by a modern A3 printer. Old DOS software is no longer supported by Microsoft's modern operating systems, and the death of my DOS PC a couple of years ago and of a Windows 98 machine earlier this year meant that I could no longer use my DOS Tibetan printing software. I have therefore been forced to port this to Windows, and it is this new software that is made available here, together with the fonts and source code, as open source, together with some sample text files.
One immediate benefit of moving the code to Windows is that the software is no longer limited to one particular type of printer and should work with any printer for which there is a Windows driver.
An addition in version 1.1 (October 2012) is the ability to use larger fonts when printing. These new fonts are larger than the originals by 12.5 per cent in height and width. As these (bitmap) fonts have been scaled, they need tidying up; much of this has been done, but they will be improved further over the next couple of months.
Representing Tibetan in Roman text is easy, thanks to the Wylie system of transliteration; this was based on old English typewriters and so uses only ASCII text. However, just about any Tibetan text of interest contains some characters which are transliterations from Sanskrit into Tibetan. These are usually represented in Roman text with diacritical marks – the examples ā, ḍ and ś were given above – but these characters were not included in the original IBM PC character set. It was the need to make use of these characters that led me to write font editing software back in 1984. Due to changes in Windows, I had later to revise a few of these characters, and so there are two versions (prel1 and prel2) of that original font. Both of these are supported by Tibw. The program also supports three other ways of representing these extra characters: CSX (Classical Sanskrit eXtended); Harvard-Kyoto (although in this, one character has to be capitalised to be compatible with Wylie); and, finally, Version 1.1 of the software introduced support for UTF-8 text files, which is in the long run the most important means of encoding these extra characters. These five methods are explained further in the documentation.
One system that is not, and will not be, supported is the so-called Extended Wylie. This blight on Tibetology includes the use of plus-signs as part of words to indicate that one character is written above another, such as in the Tibetan transliteration of the Sanskrit word for lotus: "padma"; in Extended Wylie this is written as "pad+ma". This gratuitous nonsense is not only ugly and totally unnecessary, it betrays a complete lack of understanding of the internet and how searching works. For example, there are many examples of Extended Wylie out there on the internet, and large numbers of uses of the word "padma" with the plus-sign. But try searching for "pad+ma", and see how many you can find.
Included with the software are several sample text files. Three of these, "test1.doc", "test2.doc" and "test3.txt", are versions of the same file, using different encodings for Sanskrit transliterations (prel2, Harvard-Kyoto and UTF-8, respectively). Other files included are:
4man_f.doc – a four maṇḍala offering ritual to Tārā.
21homage.doc – the famous 21 homages to Tārā.
stodchen.txt – Given the nature of this web site, something like this should be included. This is the "Great Praise" to the deities of the Kālacakra maṇḍala by Dolpopa Sherab Gyaltsen.
milald.txt – The Guruyoga practice of Milarepa.
All of these texts have been carefully edited and checked against multiple original versions; however, I am sure some errors still remain. Please contact if you can confirm such an error. Other texts will be added later.
The software is for Windows 32-bit, and has been developed using the Open Watcom C/C++ compiler version 1.9. The source code is made available under the terms of the MIT licence. Any comments, suggestions or bug reports, or if you would like to contribute some code, please contact Edward Henning.
Possible future changes
None of these are certain, but improvements under consideration are:
The ability to produce pdf files as output. This will most likely be limited to A3 and 11×17 paper sizes.
Fix the false positive errors on some Sankrit words.