# Indic computing

Indic Computing means "computing in Indic", i.e., Indian Scripts and Languages. It involves developing software in Indic Scripts/languages, Input methods, Localization of computer applications, web development, Database Management, Spell checkers, Speech to Text and Text to Speech applications and OCR in Indian languages.
Unicode standard version 15.0 specifies codes for 9 Indic scripts in Chapter 12 titled "South and Central Asia-I, Official Scripts of India". The 9 scripts are Bengali, Devanagari, Gujarati, Gurmukhi, Kannada, Malayalam, Oriya, Tamil and Telugu.
A lot of Indic Computing projects are going on. They involve some government sector companies, some volunteer groups and individual people.

## Government sector

Indian Union Government made it mandatory for Mobile phone companies whose handsets manufactured, stored, sold and distributed in India to have support for displaying and typing text using fonts for all 22 languages. This move has seen rise in use of Indian languages by millions of users.

### TDIL

The Department of Electronics and Information Technology, India initiated the TDIL (Technology Development for Indian Languages) with the objective of developing Information Processing Tools and Techniques to facilitate human-machine interaction without language barrier; creating and accessing multilingual knowledge resources; and integrating them to develop innovative user products and services.
In 2005, it started distributing language software tools developed by Government/Academic/Private companies in the form of CD for non commercial use.
Some of the outcome of TDIL program deployed on Indian Language Technology Proliferation & Deployment Centre. This Centre disseminate all the linguistic resources, tools & applications which have been developed under TDIL funding. This programme took to exponential expansion under the leadership of Dr. Swaran Lata who also created international foot-print of the programme. She has now retired.

### C-DAC

C-DAC is an India based government software company which is involved in developing language related software. It is best known for developing InScript Keyboard, the standard keyboard for Indian languages. It has also developed lot of Indic language solutions including Word Processors, typing tools, text to speech software, OCR in Indian languages etc.

#### BharateeyaOO.org

The work developed out of CDAC, Bangalore (earlier known as NCST, Bangalore) became BharateeyaOO. OpenOffice 2.1 had support for over 10 Indian languages.

#### BOSS

BOSS linux was developed by the Centre for Development of Advanced Computing (CDAC) to promote use of open-source software in India.

## NGO and Volunteer groups
### Indlinux

Indlinux organisation helped organise the individual volunteers working on different indic language versions of Linux and its applications.

### Sarovar

Sarovar.org is India's first portal to host projects under Free/Open source licenses. It is located in Trivandrum, India and hosted at Asianet data center. Sarovar.org is customised, installed and maintained by Linuxense as part of their community services and sponsored by River Valley Technologies. Sarovar.org is built on Debian Etch and GForge and runs off METTLE.

### Pinaak

Pinaak is a non-government charitable society devoted to Indic language computing. It works for software localization, developing language software, localizing open source software, enriching online encyclopedias etc. In addition to this Pinaak works for educating people about computing, ethical use of Internet and use of Indian languages on Internet.

### Ankur Group

Ankur Group is working toward supporting Bengali language (Bengali) on Linux operating system including localized Bengali GUI, Live CD, English-to-Bengali translator, Bengali OCR and Bengali Dictionary etc.

### SMC

SMC is a free software group, working to bridge the language divide in Kerala in the technology front and is today the biggest language computing community in India.

## Input methods
### Full size keyboards

With the advent of Unicode inputting Indic text on computer has become very easy. A number of methods exist for this purpose, but the main ones are:-

#### InScript

Inscript is the standard keyboard for Indian languages. Developed by C-DAC and standardized by Government of India. Nowadays it comes inbuilt in all major operating systems including Microsoft Windows (2000, XP, Vista, 7), Linux and Macintosh.

#### Phonetic transliteration

This is a typing method in which, for instance, the user types text in an Indian language using Roman characters and it is phonetically converted to equivalent text in Indian script in real time. This type of conversion is done by phonetic text editors, word processors and software plugins. Building up on the idea, one can use phonetic IME tools that allow Indic text to be input in any application.
Some examples of phonetic transliterators are Xlit, Google Indic Transliteration, BarahaIME, Indic IME, Rupantar, SMC's Indic Keyboard and Microsoft Indic Language Input Tool. SMC's Indic Keyboard has support for as many as 23 languages whereas Google Indic Keyboard only supports 11 Indian languages.
They can be broadly classified as:
* Fixed transliteration scheme based tools – They work using a fixed transliteration scheme to convert text. Some examples are Indic IME, Rupantar and BarahaIME.
* Intelligent/Learning based transliteration tools – They compare the word with a dictionary and then convert it to the equivalent words in the target language. Some of the popular ones are Google Indic Transliteration, Xlit, Microsoft Indic Language Input Tool and QuillPad.

#### Remington (typewriter)

This layout was developed when computers had not been invented or deployed with Indic languages, and typewriters were the only means to type text in Indic scripts. Since typewriters were mechanical and could not include a script processor engine, each character had to be placed on the keyboard separately, which resulted in a very complex and difficult to learn keyboard layout.
With the advent of Unicode, the Remington layout was added to various typing tools for sake of backward compatibility, so that old typists did not have to learn a new keyboard layout. Nowadays this layout is only used by old typists who are used to this layout due to several years of usage. One tool to include Remington layout is Indic IME. A font that is based on the Remington keyboard layout is Kruti Dev. Another online tool that very closely supports the old Remington keyboard layout using Kruti Dev is the Remington Typing tool.

### Braille

IBus Sharada Braille, which supports seven Indian languages was developed by SMC.

### Mobile phones with Numeric keyboards

Mobile/Hand/cell phone basic models have 12 keys like the plain old telephone keypad. Each key is mapped to 3 or 4 English letters to facilitate data entry in English. For inputting Indian languages with this kind of keypad, there are two ways to do so. First is the Multi-tap Method and second uses visual help from the screen like Panini Keypad. The primary usage is SMS. 140 characters size used for English/Roman languages can be used to accommodate only about 70 language characters when Unicode Proprietary compression is used some times to increase the size of single message for Complex script languages like Hindi. A research study of the available methods and recommendations of proposed standard was released by Broadband Wireless Consortium of India (BWCI).

#### Transliteration/Phonetic methods

English is used to type in Indian languages. QuillPad IndiSMS

#### Native methods

In native methods, the letters of the language are displayed on the screen corresponding to the numeral keys based on the probabilities of those letters for that language. Additional letters can be accessed by using a special key. When a word is partially typed, options are presented from which the user can make a selection.

### Smart phones with Qwerty keyboards

Most smart phones have about 35 keys catering primarily to English language. Numerals and some symbols are accessed with a special key called Alt. Indic input methods are yet to evolve for these types of phones, as support of Unicode for rendering is not widely available.

### For Smart Phones with Soft/Virtual keyboards

Inscript is being adopted for smart phone usage. For Android phones which can render Indic languages, Swalekh Multilingual Keypad Multiling Keyboard app are available. Gboard offers support for several Indian languages.

## Localization

Localization means translating software, operating systems, websites etc. various applications in Indian language. Various volunteers groups are working in this direction.

### Mandrake Tamil Version

A notable example is the Tamil version of Mandrake linux(defunct since 2011). Tamil speakers in Toronto (Canada) released Mandrake, a Linux software, in coming out with a Tamil version. It can be noted that all the features can be accessed in Tamil. By this, the prerequisite of English knowledge for using computers has been eliminated, for those who know Tamil.

### IndLinux

IndLinux is a volunteer group aiming to translate the Linux operating system into Indian languages. By the efforts of this group, Linux has been localized almost completely in Hindi and other Indian languages.

### Nipun

Nipun is an online translation system aimed to translate various application in Hindi. It is part of Akshargram Network.

### Localising Websites

GoDaddy has localised its website in Hindi, Marathi and Tamil and also noted that 40% of the call volume for IVR is in Indian Languages.

## Indic blogging

Indic blogging refers to blogging in Indic languages. Various efforts have been done to promote blogging in Indian languages.

## Social Networks

Some Social networks are started in Indian languages.

## Programming
### Indic programming languages

* BangaBhasha - Programming in Bangla
* Programing using Hindi language
* Ezhil, a programming language in Tamil

### Frameworks

Gherkin, a popular Domain-specific language has support for Gujarati, Hindi, Kannada, Punjabi, Tamil, Telugu and Urdu

### Libraries

Natural Language processing in Indian languages is on rise. There are several libraries such as iNLTK, StanfordNLP are available.

## Translation

Google offers improved translation feature for Hindi, Bengali, Marathi, Tamil, Telugu, Gujarati, Punjabi, Malayalam and Kannada, with offline support as well. Microsoft also offers translation for some of these languages.

## Software
### Indic Language Stack

In a symposium jointly organized by FICCI and TDIL, Mr. Ajay Prakash Sawhney, Secretary, Ministry of Electronics and IT, Government of India said that India Language Stack can help overcome the barriers of communication.

### Transliteration tools

Transliteration tools allow users to read a text in a different script. As of now, Aksharamukha is the tool that allows most Indian scripts. Google also offers Indic Transliteration. Text from any of these scripts can be converted to any other scripts and vice versa. Whereas Google and Microsoft allow transliteration from Latin letters to Indic scripts.

### Voice Recognition

Apple Inc. added support for major Indian languages in Siri. Amazon's Alexa has support for Hindi and recognises major Indian languages partially. Google Assistant also has support for major Indian languages.

## Operating Systems

* Indus OS

## Virtual Assistants

AI based Virtual Assistants Google Assistant provides support to various Indian languages.

## Usage and Growth

According to GoDaddy, Hindi, Marathi and Tamil languages accounted for 61% of India's internet traffic. Less than 1% of online content is in Indian languages. The newly created top apps have support for multiple Indian languages and/or promote Indian language content. 61% of the Indian users of WhatsApp primarily use their native languages to communicate with it. A recent study revealed that adoption of Internet is highest among local languages such as Tamil, Hindi, Kannada, Bengali, Marathi, Telugu, Gujarati and Malayalam. It estimates that Marathi, Bengali, Tamil, and Telugu will form 30% of the total local-language user base in the country. Currently, Tamil at 42% has the highest Internet adoption levels, followed by Hindi at 39% and Kannada at 37%. Intex also reported that 87% of its regional language usage came from Hindi, Bengali, Tamil, Gujarati and Marathi speakers. Lava mobiles reported that Tamil and Malayalam are the most popular on their phones, more than even Hindi.