Harry Falk, Walter Slaje, Oliver Hellwig

To download the software visit

IndoSkript is a first for the rough guide in two respects. It is the first review of an item that is not in English, and it is the first review of a computer product, rather than a book. If you read on I hope that you will see it is an exceptional piece of scholarship and therefore deserving of that position. 

IndoSkript is both a database of inscriptions and a tool for analyzing their paleography. At the present time (July 2006) it contains about 600 Brahmi inscriptions, whose individual letters are stored to allow comparisons. It being a slightly unusual product this is a slightly unusual review, and is arranged in a step by step fashion, so that, if you wish, you can follow along by actually using the software.

The first thing you need to do is download the database. Since its executable is over 600mb, the final file 2GB, and it eats processing power users should check carefully that their computer meets the system requirements. Even if it does expect some problems (my system crashed out twice with a lack of virtual memory)

The original seal and a tracing of the legend. If you wish to follow along you will need to right click on the tracing and save it to some section of your computer.

 Now let us look at a particular example, the seal on the right from Wikipedia was apparently found in the Punjab. The program can read an inscription directly from the photograph, but it struggles, so first transfer the image into a graphics package (I use Paint Shop Pro 7) and trace out the letters. See the one I have already done:

Optical Character Reader

Now let us to try and use IndoSkript to read the inscription. Pick the OCR tool from the toolbar at the top. This will present a screen divided into three parts: display for characters on the left, a space for inputting freehand on the top right, and a space which can be used to input scans or to display probabilities (switch between the two using the tabs).

The first task is to upload the file . Do this as a jpg, as I had a lot of problems when using bmp format files. Then particular characters can be isolated by dragging a frame around them. The highlighted section is then shown in the top right, and a second smaller red-line image is shown which indicates what the computer thinks it 'sees'. There are various tools to zoom in or out, rotate, or amend the image, all of which are intuitive and easy to use.

Once happy with the character you have isolated then the program can be asked to search for matches . This again has a number of options, probably the most useful of which is the date restriction on the top tool bar. This can be used to restrict the search space to a particular range of dates. Doing so will naturally increase the chances of relevant or correct matches if independent information is available on the date. For the moment we will assume that we do not know the date.

This screen shows the results for the first character. The matching, shown on the bottom right, seems to use the number of matches as a guide, thus favouring common characters over uncommon ones. In this case it suggests 'tra' or 'ta' as a the appropriate character, but a glance down the left shows that this is fairly unlikely. Look to the second row, fourth column: this shows the character 'ku' which is a very clear match. Combining both the visual matches and the suggested distributions on the same screen is extremely useful and makes the character more apparent.

A mildly irritating feature is the need to blank the old character before you can move to a new one.

The reading on wikipedia reads 'Kusumadasasya' all of which is pretty much certain except for the second character 'su' which is not like the 'sa' and 'sya' of the same inscription. The program interestingly gives no examples of 'su' but 'sa' is highlighted as its closest match and the only clear alternative is 'ma', but this suffers from the same problem that it does not resemble the 'ma' which immediately follows. When the following character was entered the program was convinced it was 'va' and on this occasion no examples of 'ma' were offered that resemble the character - this is an extremely confusing error, because if you examine the kushan brahmi alphabet you can see both that the letters are similar and that this character with its crossed verticals is clearly a 'ma' and not a triangle with head mark like 'va' (granted the alphabet is Kushan period Mathura, and the seal is not, but the distinction is still clear). The 'da' has a similar problem, again the program gives 'di' as its first choice, but the character is clearly 'da' and a glance across the examples given shows that it clearly resembles 'da' and not 'di'. Again, as with 'ku' the user is left to wonder exactly what algorithm is being employed that cannot see such a visually obvious answer. For the last character, it is necessary to use the eraser tool to remove the sections of other characters that overlap. This ability to combine both the import and freehand functionality is superb. Here the program has no difficulty at all in identifying the character as 'sya'. 

So the reading from the program is 'Trasavadisasya', which is, as noted already, baldy wrong. However as long as it is approached as a tool, and the suggested reading critically compared with the possibilities offered on the left hand side readers can easily substitute 'ku' for 'tra' and 'da' for 'di'. The reading of 'su' is awkward anyway as the character has been blundered and can only really be supplied by context. However it remains unclear why 'va' is given instead of 'ma', and in this case a reader depending solely on this tool would be unable to correct the reading.

I had prepared an analysis of the program based around the problematic Castana Inscription previously dealt with on this site, but having worked through this example (which is a very clear, unambiguous inscription) it seemed un-necessary to give the program such a challenging problem. IndoSkript must be used with a critical eye and is no substitute for a familiarity with Brahmi inscriptions. Probably the most important need highlighted by this is for the authors to give a very clear and precise explanation of the pattern matching algorithm that has been used, and any tests conducted regarding its accuracy.

Before proceeding on to the next aspect I think it is important to say something about language. I have no knowledge (even at the most basic level) of German. Not only can I not read the help files, but I am in fact unable to understand any of the labels or menu options. Despite this I was able to use the program (after a little guessing and clicking) to examine the above inscription within a few hours of downloading it. The team should be congratulated on having produced an extremely intuitive and user-friendly interface. This does not overshadow the need for English technical material, but it shows that the lack of such material should not be seen as a barrier for non-German speakers.


The Schriftsatze box presents inscriptions by date order, though it is possible to re-arrange this according to criteria such as dynasty by pressing (I think it is supposed to be a crown). If you close this window it can be reopened by clicking on

To get to the next tool click the table button at the top. This presents a page which allows letter forms from different inscriptions to be compared. In front of this is a floating window which contains a list of inscriptions. The first thing that you will need to do is select at least one inscription by double clicking on its title. Then this will appear as a column in the main window behind. Once this is done you can click on the blue text 'Klicken sie hier' (yes, even my weak German managed to work that out) and type in a letter form, using Latin transliteration . You can continue to add letters and inscriptions to generate a table comparing the forms across a given period or for a given dynasty.

It is important to make a point about the database at this stage. There is a wide selection, which includes not merely inscriptions but also manuscripts but while broad it is also very small. Just 600 items for a period of 2000 years is a pretty limited sample, and so there is a danger of distortion. For example, there are only eight inscriptions listed under the Kushan dynasty. These were undoubtedly chosen because they are interesting (and therefore slightly unusual), and two, one-quarter, of all the inscriptions have a tripartite 'ya' in the ligature 'sya'. This is actually very uncommon in the Brahmi inscriptions of Kushan Mathura, and appears to be an archaic feature retained primarily in the Middle Ganges region. However, the limited selection and an attempt to keep it broad has led to some distortion in this case. It is likely that there are many such oddities, and since the corpus in the database underpins all aspects of the program there is a need for the selection methods to be made clear so that results can be critically interpreted.

Let us look at an example, the Reh Inscription, published by Sharma. Sharma believed this inscription was erected by Menander to commemorate his conquests in the Gangetic valley. It is carved very neatly on a pillar in several lines and the first three lines give a series of titles, which Sharma believed to be clear translations of Menanders, and P L Gupta and some others believe to be clearly those of Kushan kings. It is actually a somewhat awkward inscription because the last line is too badly damaged to allow the clear reading of what was presumably the kings name and the titles are atypical of either of the kings mentioned. 

One method of attacking the problem is to use letter forms to try and date the inscription. It is worth saying something about the principles of paleographic dating and how a program like Indoskript can help. Paleographic dating depends upon an assumption (and it is usually only an assumption) that while the forms of letters change over time, at any given time different users of the script will employ the same form. It is therefore possible, if a group of inscriptions can be assembled which are dated by some other method, to produce a reference chart of how a particular letter evolves over time, and to thus date inscriptions in which this letter appears.

I have taken here ma, ja, sa, a, ta, ka, dictated by the less than scientific reasoning that I haven't established how to enter diacritic marks. A tracing has been prepared in PSP using published photographs. 

So the first thing to do is choose some sample characters from the Reh inscription Then choose some sample inscriptions. Since the disputed inscription has been assigned to either the period of Menander (c.150BC) or the period of Vima Kadphises or Takto (c.100AD), a group of inscriptions ranging between the two is wanted.

However, letter forms do not simply vary across time, they also vary by regionally, so it is necessary to restrict our sample to inscriptions found near to the inscription in question. 

IndoSkripts has the ability to isolate the area we are interested in geographically. First, click on the SQL button , then click on and a new floating window opens (see right):

This window shows a map of India. A very nice feature is that as you hover over a section, and the latitude and longitude are displayed on the screen. So click on the red box and then drag a box roughly around  85 25' (the approximate latitude and longitude of Fatehpur, the district of Uttar Pradesh in which the Reh inscription was found). Once you have done this the floating schriftsatze window will display only the inscriptions from that region. In this case a fairly small sample (and with a noticeable gap between the first century and the fourth century AD).

You can now return to the table feature and create a comparison chart as explained above between the various characters and inscriptions. Personally I saw no point in including all the inscriptions, and included only the last Asokan and the first Gupta as start and end points. This left a sample of only six inscriptions (partly an issue relating to the size of the database). That sample is shown below. Dates but not the names of the inscriptions have been kept on the top line, and the Reh inscription forms are shown on the right hand side:

As can be seen most of the letter forms look substantially older than the first century. Far more appropriate for the Menander dating than the Kushan dating. However, it is also clear that there is simply insufficient evidence to decide it upon paleography alone (especially as the dates in IndoSkrip of several of these inscriptions were themselves established on paleographic grounds). A powerful feature of the database is that you can keep regenerating this table using different geographic regions, and including or excluding particular inscriptions to explore further possibilities. Many scholars already have databases of inscriptions, I use one (which can be searched on both geographic and a chronological basis) to generate the list of Kushan related inscriptions on this site. However, in order to carry out this sort of comparison for the Reh inscription it would require hours to assemble the various articles that have been written (longer for someone who did not have copies and needed to visit a library) and then a painstaking process of copying and assembling by hand. With the very real possibility of indecisive result there is little incentive to do so. However, using IndoSkript  it took only about thirty minutes. 


I have looked at only two functions of IndoSkript, and I have applied them to what are actually pretty conservative uses (reading and dating). This is partly because I think those are the sorts of uses people will put them to (and this is a review not an article), and partly because there is still a substantial amount of the program I am unable to fully use. However, IndoSkript clearly has potential for much more exciting uses, such as a re-examination of the development of regional varieties of Brahmi - and the potential to examine how sharp boundaries between regions were. Those uses are the province of paleographers, and I am not a paleographer. This is an important point, I lack the expertise or skill for a lot of paleographic work, and IndoSkript cannot solve that problem. IndoSkript will not allow someone who does not understand Brahmi to read it, or allow someone who does not understand how to carry out paleographic dating to do so - what it does is allow scholars and students to do things they could already do faster and better.

There are several things IndoSkript needs. Firstly, it badly needs documentation in English, French, Russian, Chinese and Japanese, as well as probably some Indian languages (essentially in all the languages scholars in the field work in). Secondly, it needs the database expanding beyond the six hundred inscriptions presently included. Third, scholars using it need some very detailed information on the selection process for inscriptions to be included, and the algorithm that is used to provide matches - so they can critically interpret results. And then there are a lot of small things (and I'm sure more will arise at is used by more people), a need to be able see references for inscriptions, it would be useful to be able to input longitude and latitude as numbers (to ensure one persons work is repeatable by another). Since it is a computer product all of these things are achievable.

However, even without these things it remains a powerful tool, and given that it is free I would recommend that anyone with an interest in inscriptions should download a copy. Certainly those with a specific interest (epigraphers, paleographers, philologists) will need to familiarize themselves with this as I think it will soon become a standard tool for the study of Brahmi inscriptions.


Contents Page Reviews



IndoSkript Website


Brahmi Inscriptions


Date Kushana Inscriptions


Robert Bracey.