Tamil script
The Tamil script (  , ) is an abugida script that is used by Tamils and Tamil speakers in India, Sri Lanka, Malaysia, Singapore, Indonesia and elsewhere to write the Tamil language. It is one of the official scripts of the Indian Republic. Certain minority languages such as Saurashtra, Badaga, Irula and Paniya are also written in the Tamil script. Characteristics

The Tamil script has 12 vowels (, , "soul-letters"), 18 consonants (, , "body-letters") and one special character, the  (, ). is called "அக்கு", akku and is classified in Tamil orthography as being neither a consonant nor a vowel. However, it is listed at the end of the vowel set. The script is syllabic, not alphabetic. The complete script, therefore, consists of the 31 letters in their independent forms and an additional 216 combinatory letters, for a total of 247 (12+18+216+1) combinations (, , "soul-body-letters") of a consonant and a vowel, a mute consonant or a vowel alone. The combinatory letters are formed by adding a vowel marker to the consonant. Some vowels require the basic shape of the consonant to be altered in a way that is specific to that vowel. Others are written by adding a vowel-specific suffix to the consonant, yet others a prefix and still other vowels require adding both a prefix and a suffix to the consonant. In every case, the vowel marker is different from the standalone character for the vowel. The Tamil script is written from left to right. History

The Tamil script, like the other Brahmic scripts, is thought to have evolved from the original Brahmi script. The earliest inscriptions which are accepted examples of Tamil writing date to the Ashokan period. The script used by such inscriptions is commonly known as the Tamil-Brahmi or "Tamili script" and differs in many ways from standard Ashokan Brahmi. For example, early Tamil-Brahmi, unlike Ashokan Brahmi, had a system to distinguish between pure consonants (m, in this example) and consonants with an inherent vowel (ma, in this example). In addition, according to Iravatham Mahadevan, early Tamil Brahmi used slightly different vowel markers, had extra characters to represent letters not found in Sanskrit and omitted letters for sounds not present in Tamil such as voiced consonants and aspirates. Inscriptions from the 2nd century use a later form of Tamil-Brahmi, which is substantially similar to the writing system described in the Tolkāppiyam, an ancient Tamil grammar. Most notably, they used the puḷḷi to suppress the inherent vowel. The Tamil letters thereafter evolved towards a more rounded form and by the 5th or 6th century, they had reached a form called the early vaṭṭeḻuttu. The modern Tamil script does not, however, descend from that script. In the 4th century, the Pallava dynasty created a new script called Pallava script for Tamil and the Grantha alphabet evolved from it, adding the Vaṭṭeḻuttu alphabet for sounds not found to write Sanskrit. Parallel to Grantha alphabet a new script (Chola-Pallava script, which evolved to modern Tamil script) again emerged in Pallava and Chola territories resembling the same glyph development like Grantha, however, heavily reduced in its shapes and not overtaking non-native Tamil louds. By the 8th century, the new scripts supplanted Vaṭṭeḻuttu in the Pallava and Chola kingdoms which lay in the north portion of the Tamil-speaking region. However, Vaṭṭeḻuttu continued to be used in the southern portion of the Tamil-speaking region, in the Chera and Pandyan kingdoms until the 11th century, when the Pandyan kingdom was conquered by the Cholas who inherited while being feudatory of Pallavas for a short time. With the fall of Pallava kingdom, the Chola dynasty pushed the Chola-Pallava script as the de facto script. Over the next few centuries, the Chola-Pallava script evolved into the modern Tamil script. The Grantha and its parent script influenced the Tamil script notably. The use of palm leaves as the primary medium for writing led to changes in the script. The scribe had to be careful not to pierce the leaves with the stylus while writing because a leaf with a hole was more likely to tear and decay faster. As a result, the use of the puḷḷi to distinguish pure consonants became rare, with pure consonants usually being written as if the inherent vowel were present. Similarly, the vowel marker () called: , a half-rounded u which occurs at the end of some words and in the medial position in certain compound words, marking a shortened u sound, also fell out of use and was replaced by the marker for the simple u (). The puḷḷi () did not fully reappear until the introduction of printing, but the marker kuṟṟiyal-ukaram () never came back for this purpose into use although its usage is retained in certain grammatical conceptual words whereas the sound itself still exists and plays an important role in Tamil prosody. The forms of some of the letters were simplified in the 19th century to make the script easier to typeset. In the 20th century, the script was simplified even further in a series of reforms, which regularised the vowel markers used with consonants by eliminating special markers and most irregular forms. Relationship with other Indic scripts
The Tamil script differs from other Brahmi-derived scripts in a number of ways. Unlike every other Brahmic script, it does not regularly represent voiced or aspirated stop consonants as these are not phonemes of the Tamil language even though voiced and fricative allophones of stops do appear in spoken Tamil. Thus the character  k, for example, represents  but can also be pronounced [] or [] based on the rules of Tamil phonology. A separate set of characters appears for these sounds when the Tamil script is used to write Sanskrit or other languages. Also unlike other Brahmi scripts, the Tamil script rarely uses typographic ligatures to represent conjunct consonants, which are far less frequent in Tamil than in other Indian languages. Where they occur, conjunct consonants are written by writing the character for the first consonant, adding the puḷḷi to suppress its inherent vowel, and then writing the character for the second consonant. There are a few exceptions, namely  kṣa and  śrī. ISO 15919 is an international standard for the transliteration of Tamil and other Indic scripts into Latin characters. It uses diacritics to map the much larger set of Brahmic consonants and vowels to the Latin script. Letters

Basic consonants
Consonants are called the "body" (mei) letters. The consonants are classified into three categories: vallinam (hard consonants), mellinam (soft consonants, including all nasals), and itayinam (medium consonants). There are some lexical rules for the formation of words. The Tolkāppiyam describes such rules. Some examples: a word cannot end in certain consonants, and cannot begin with some consonants including r-, l- and ḻ-; there are six nasal consonants in Tamil: a velar nasal ங், a palatal nasal ஞ், a retroflex nasal ண், a dental nasal ந், a bilabial nasal ம், and an alveolar nasal ன். The order of the alphabet (strictly abugida) in Tamil closely matches that of the nearby languages both in location and linguistics, reflecting the common origin of their scripts from Brahmi. Tamil language has 18 consonants - mey eluttukkal. Traditional grammarians have classified these 18 into three groups of 6 letters each. This classification is done based on the method of articulation and hence the nature of these letters. Vallinam (hard group,) Mellinam (soft group) and idaiyinam (medium group). All consonants are pronounced for a half unit (māttirai) time length when isolated (consonants combined with vowels will be pronounced with the time length of the vowel). Extra consonants used in Tamil
The Tamil speech has incorporated many phonemes which were not part of the Tolkāppiyam classification. The letters used to write these sounds, known as Grantha, are used as part of Tamil. These are taught from elementary school and incorporated in Tamil All Character Encoding (TACE16). There is also the compound  (), equivalent to  in Devanagari. In recent times combinations of consonants with  (, , equivalent to nuqta) are generally used to represent phonemes of foreign languages, especially to write Islamic and Christian texts. For example: asif = , azārutīn̠ = , Genghis Khan = . A nuqta-like diacritic is used while writing the Badaga language and double dot nuqta for the Irula language to transcribe its sounds. There has also been effort to differentiate voiced and voiceless consonants through subscripted numbers – two, three, and four which stand for the unvoiced aspirated, voiced, voiced aspirated respectively. This was used to transcribe Sanskrit words in Sanskrit–Tamil books, as shown in the table below. The Unicode Standard uses superscripted digits for the same purpose, as in  ,  , and  . Vowels
Vowels are also called the 'life' (uyir) or 'soul' letters. Together with the consonants (mei, which are called 'body' letters), they form compound, syllabic (abugida) letters that are called 'living' or 'embodied' letters (uyir mei, i.e. letters that have both 'body' and 'soul'). Tamil vowels are divided into short and long (five of each type) and two diphthongs. Compound form
Using the consonant 'k' as an example:

The special letter , represented by three dots and called  or aḵ. It originally represented an archaic Tamil retention of the Dravidian sound ḥ, which has been lost in almost all modern Dravidian languages, and in Tamil traditionally serves a purely grammatical function, but in modern times it has come to be used as a diacritic to represent foreign sounds. For example,  is used for the English sound f, not found in Tamil. It also served before palm leaves became the primary writing medium for words ending with an inherent consonsant-vowel u as a pronouncing rule for a short u, called. Following consonants rendered this behaviour: , , , , , . Instead of writing like in modern days without any markers, for example (), it was written with a preceding , like  . Another archaic Tamil letter , represented by a small hollow circle and called , is the Anusvara. It was traditionally used as a homorganic nasal when in front of a consonant, and either as a bilabial nasal () or alveolar nasal () at the end of a word, depending on the context. The long () vowels are about twice as long as the short () vowels. The diphthongs are usually pronounced about one and a half times as long as the short vowels, though some grammatical texts place them with the long () vowels. As can be seen in the compound form, the vowel sign can be added to the right, left or both sides of the consonants. It can also form a ligature. These rules are evolving and older use has more ligatures than modern use. What you actually see on this page depends on your font selection; for example, Code2000 will show more ligatures than Latha. There are proponents of script reform who want to eliminate all ligatures and let all vowel signs appear on the right side. Unicode encodes the character in logical order (always the consonant first), whereas legacy 8-bit encodings (such as TSCII) prefer the written order. This makes it necessary to reorder when converting from one encoding to another; it is not sufficient simply to map one set of code points to the other. Compound table of Tamil letters 
The following table lists vowel ( or life) letters across the top and consonant ( or body) letters along the side, the combination of which gives all Tamil compound () letters. Writing order

Numerals and symbols 

Apart from the usual numerals (from 0 to 9), Tamil also has numerals for 10, 100 and 1000. Symbols for fraction and other number-based concepts can also be found. Unicode 

Tamil script was added to the Unicode Standard in October 1991 with the release of version 1.0.0. The Unicode block for Tamil is U+0B80–U+0BFF. Grey areas indicate non-assigned code points. Most of the non-assigned code points are designated reserved because they are in the same relative position as characters assigned in other South Asian script blocks that correspond to phonemes that don't exist in the Tamil script. Efforts to unify the Grantha script with Tamil have been made; however the proposals triggered discontent by some. Eventually, considering the sensitivity involved, it was determined that the two scripts should be encoded independently, except for the numerals. Proposals to encode characters used for fractional values in traditional accounting practices were submitted. Although discouraged by the ICTA of Sri Lanka, the proposal was recognized by the Government of Tamil Nadu and were added to the Unicode Standard in March 2019 with the release of version 12.0. The Unicode block for Tamil Supplement is U+11FC0–U+11FFF:

Syllabary
Like other South Asian scripts in Unicode, the Tamil encoding was originally derived from the ISCII standard. Both ISCII and Unicode encode Tamil as an abugida. In an abugida, each basic character represents a consonant and default vowel. Consonants with a different vowel or bare consonants are represented by adding a modifier character to a base character. Each code point representing a similar phoneme is encoded in the same relative position in each South Asian script block in Unicode, including Tamil. Because Unicode represents Tamil as an abugida all the pure consonants (consonants with no associated vowel) and syllables in Tamil can be represented by combining multiple Unicode code points, as can be seen in the Unicode Tamil Syllabary below. In Unicode 5.1, named sequences were added for all Tamil consonants and syllables. Unicode 5.1 also has a named sequence for the Tamil ligature SRI (śrī), ஶ்ரீ, written using ஶ (śa). The name of this sequence is TAMIL SYLLABLE SHRII and is composed of the Unicode sequence U+0BB6 U+0BCD U+0BB0 U+0BC0. The ligature can also be written using ஸ (sa) to create an identical ligature ஸ்ரீ composed of the Unicode sequence U+0BB8 U+0BCD U+0BB0 U+0BC0; but this is discouraged by the Unicode standard. Programmatic access 
 Tamil script can be manipulated using the Python library called open-Tamil. There is a Windows open source application available called AnyTaFont2UTF8 using C#. 