Index Diachronica is a list of sound changes from many, many, many, many different languages. However, it is large, and it doesn't use Unicode, making it hard to search for specific sounds. Therefore, I made a Unicode PDF, and also an HTML version (since I know at least Apple's Preview has trouble searching for certain Unicode characters (like ʷ) even if a document is in Unicode), and also made a search tool. (Note that I did not make the Index, I only converted it to HTML and made the search tool.)

The searching feature can currently be used online on my website. The code for it and various files are in this repository; there's still some stuff I should probably do to make this repository more usable, but this is what I have for now.


If you just want to view the index, the following files may be helpful:

  • html/index-diachronica.pdf: A PDF version of the Index in Unicode
  • html/all.html: An HTML version of the Index in Unicode

You can also search the Index from the command line if you have Perl and a terminal that supports Unicode input and output. (This suggests chcp 65001 on Windows, but I don't have Windows so I can't test that. TODO: Add X-SAMPA support for people whose consoles don't support Unicode.) Change directories to whatever directory you put the files in and type something like

perl search.pl ɬ


If you want to host your own copy of the search tool, everything you need should be in the html directory. This is a Perl CGI script, so you will need Perl installed and to have a server that lets you run CGI scripts. Also, I have not tested this on Windows. I've included a .htaccess file for Apache, which may or may not be necessary depending on your configuration; if you're using a different server, then you can probably get it to work but I personally don't know much about other server software.

Some configuration options:

  • If Perl is not in /usr/bin/perl, then you'll need to change the first line of search.cgi (the part after the #! but before the -TI).
  • If you want to apply a stylesheet to the search page, in search.cgi uncomment the line starting with #$Diachronica::STYLESHEET and replace the path with the path to your stylesheet. The HTML files can be edited manually (inline-plain.html should not include the stylesheet).

Also, as written, this requires server-side includes (.shtml). If you want, you can instead copy the contents of inline-plain.html into index.shtml, and then you won't need server-side includes.

Also you may need to make sure that search.cgi has execute permissions.




I don't own the actual text of the Index, and I don't claim copyright on the modified versions I made. See the text of that file for copyright information.

I should decide on a license for the code, though. (TODO)