Software


Note: some software on this page depends on version 3.5 of the .NET framework. If you try to run one of the applications below, and get the "The application cannot start error" or the " Could not load file or assembly ... version 3.5.0.0" error, you must first install version 3.5 of the .NET framework. It is available here.

recent updates

Jan 2016
  • added dli.py python script to download books from the Digital Library of India on various platforms
  • allowed dli viewer to search by barcode on any DLI server (v 1.10)

mudgala koṣa (windows)

The mudgala koṣa is an application that searches several skt-eng / eng-skt dictionaries. It will search an offline version of the monier-williams dictionary, and several online dictionaries including the Apte dictionary. It also integrates with several online tools including the INRIA sanskrit reader, and JNU declension engine. It accepts several input methods (including itrans, baraha, harvard), and can output sanskrit text in a variety of scripts.
  • [ link ] mudgala koṣa FAQ, installation files and screenshots

google ime (windows)

Google has developed a nice input method editor for several south-asian languages, including Sanskrit. It can be used in "canonical mode", such that the output is predictable. It supports custom input schemes through configuration files. 
  • link ] scheme file that supports itrans mappings, simplified itrans mappings, and several of the advanced accents supported by the chandas and siddhanta fonts.

    Note: there are other itrans.scm file available online, but they are buggy. This file is well tested. It was used to typeset many of the documents available on this site.  
How to install and use the itrans.scm scheme with the google IME:
  1. Install the Google Input Tools for Sanskrit from here
  2. Locate the 'Google Input Tools' Sanskrit folder. 
    In my installation, this folder was located in
    "
    C:\ProgramData\Google\
    Google Input Tools\com.google.input_tools.t13n.ime.sanskrit". 
    1. If you do not see the "c:\ProgramData" folder, it is hidden. In 'file explorer', under the 'view' menu, make sure "Hidden Items" item is checked.
  3. Create a sub-folder called "schemes in the "com.google..." folder above
  4. Place the .scm file in this "schemes" folder. i.e.
    "C:\ProgramData\Google\
    Google Input Tools\com.google.input_tools.t13n.ime.sanskrit\
    schemes\itrans.scm"
  5. Restart the google IME by toggling to the english keyboard (Ctrl-Space) or by clicking on the icon and selecting "english" and then "sanskrit".  
    (using Ctrl-G is _not_ sufficient)  
  6. Place the IME in canonical mode (click the C on the google IME toolbar, or use Ctrl-M) and you should get predictable output. If you do not see the menu, make sure you are focused on the desktop and click "Ctrl-G" and it should show up.
  7. In your application of choice (eg. Microsoft Word), choose a font with devanagari support, and start typing.

mudgala ime (windows)

This is a windows-only input method editor and conversion utility to convert between various transliteration and unicode output formats. There are other stand-alone IMEs, such as the google IME, and other stand-alone convertors. In spite of that, for some use cases, this tool is superior to other tools. 

To use this tool, download and unzip the file. Run the mudgala-ime exe file, and chose your input and output scripts. Use the button in the window to do the conversion in the window. Use the F11 button as a toggle to type directly in unicode aware apps such as Microsoft word. 
  • [ link ] mudgala ime (version 0.2)

lipika ime (mac osx)

On a Mac, use LipikaIME for transliteration based input in Indian languages. Though it supports Itrans mappings, it does not include popular mappings used in software such as Itranslator (eg. 'M'), or multiple character output for sequences such as 'x' and 'GY'. 

The two files below have a complete set of Itrans mappings, along with the ability to typeset vedic accents, and independent vowels.
  • Replace "/Library/Input Methods/LipikaIME.app/Contents/Resources/Schemes/Transliteration/ITRANS.tlr" with this updated ITRANS.tlr
  • Replace "/Library/Input Methods/LipikaIME.app/Contents/Resources/Schemes/Script/Devanagari.map" with this updated Devanagari.map
  • Then kill LipikaIME from Activity Monitor and restart it
Note 1: The two files above are protected (root access only), and they are in a hidden location (finder won't show them). Download the files, and then launch "terminal" and use the "sudo cp" command to replace the files.

Note 2: if there are any extended macOS permissions, the Lipika IME menu items may not show up correctly. Use "ls -@la" to see the extended permissions on the files you have copied, and remove them using "xattr -d [permission]". Log out and back in and the menu should now render correctly.
  • [ link ] A youtube HD screencast -- "typing devanagari on OSX using lipika"

unicode pad pro (ios)

I find typing in devanagari with the default iOS keyboards a trying experience. The application "Unicode Pad Pro with custom keyboards" (a paid application) allows users to define their own keyboards with unicode character sequences. I've defined three keyboards using this application.
  • link ] devanagari keyboard 
  • link ] devanagari keyboard (phonetic)
  • link ] roman keyboard (with diacritic marks for sanskrit)
Installation instructions
1. Install the "Unicode Pad Pro with custom keyboards" app
2. Open the links above (you may have to email it to yourself and open it from the email)

win32 dli downloader (windows)

The digital library of india (link) has a vast repository of sanskrit texts. Unfortunately, it's user interface makes it very difficult to search and download texts for offline use. This is a small tool for microsoft windows that allows a user to quickly search, download, and convert downloaded pages to pdfs for offline use.
  • [ link ] mudgala dli downloader files & screenshots (version 1.00)

python dli downloader (mac osx / linux / win32)

  • [ link ] dli.py -- a python script to deal with the entire workflow around downloading files from the digital library of India.
    last updated Jan 15 2016 ( changelog )
    • search known DLI servers for books by barcode
    • check DLI servers with the barcode to see if they have the files
    • download the file from the server with multiple processes
    • convert the files into a single PDF file
    • resize the PDF file so all pages have a consistent page size
Please ensure the following tools are installed and available in the default path: wget, tiffcp tiff2pdf and gs. These tools are a part of the "wget", "libtiff / libtiff-tools" and "ghostscript" packages and can be downloaded using homebrew, apt-get etc. Then, install the python lxml module with "pip install lxml"

The simplest way to use the script is to specify the barcode alone. It will find a server that has the files and will create a file named "title_barcode.pdf" if the python lxml module is installed, and "barcode.pdf" otherwise.
  • dli.py BARCODE
Here's a more detailed workflow --
  1. dli.py --lookup -BARCODE
    contact all known servers and determine which ones have the files
  2. dli.py --download BARCODE --server SERVER --directory DIRECTORY
    download the files from a specific server into the specified directory
  3. dli.py --create-pdf --directory DIRECTORY --pdf-name book.pdf
    create a single pdf named book.pdf
  4. dli.py --resize-pdf --pdf-name book.pdf
    resize the pages in the pdf so that the pdf has a consistent page size
This tool supports multiple methods to create a pdf from the DLI files:
  • --pdf-tool tiff2pdf ... this is the default and uses tiffcp and tiff2pdf
  • --pdf-tool gs ... use imagemagick to convert tiffs to pdfs and then gs to combine  them into a single file. This is slower than the previous method, but file sizes are comparable. (To use this, install "imagemagick" and "ghostscript" using your package manager)
  • --pdf-tool sips ... use the built in macos sips and automator to convert tiffs to pdfs and then combine them into a single file (mac OSX only). This is a quick process, but the resulting file sizes are huge (5 times the original file sizes)
This tool supports downloading files with wget, curl and aria. It runs multiple instances of these tools to download files in parallel. aria is the only tools that natively supports parallel downloads and is recommended. wget is the default.

Dependencies (osx)
  • install homebrew
  • 'brew install wget libtiff ghostscript aria2'
Dependencies (linux ubuntu)
  • 'apt-get install libtiff-tools python aria2'
Dependencies (windows)

It's simpler to use the windows specific binary above. However, if you'd like to use this script, it does work if you install the dependencies as detailed below.

Note: on windows, xargs parallelism doesn't seem to work. The aria tool supports multiple downloads out of the box. It's recommended that you use it instead by specifying --download-tool aria
  • install chocolatey
  • 'choco install python2 gow ghostscript aria2'
  • install libtiff for windows
    • download both the "binaries" and "dependencies" zip files from http://gnuwin32.sourceforge.net/packages/tiff.htm
    • extract the contents of the "bin" folder from both zip files into a single folder
    • add the path to the folder which contains these binaries to your PATH
mudgala hora

This software was a research project into jyotish computational methods. Most people should not use this, as they would benefit from the jagannatha hora software, which is much more advanced. Since the mudgala hora software is released under the GPL, it may still be of some use, and the sources are available here.

  • [ link ] mudgala hora sources (version 0.2)