Tamil Fonts For Microsoft Word

Posted on  by admin
-->

Please note: This document reflects the changes made in 2005 recommendations for Indic-script OpenType font and shaping-engine implementations. While Indic fonts made according to the earlier recommendations will still function properly in the new versions of Uniscribe, font developers may choose to update their fonts, particularly if they wish to avoid certain limitations of the earlier implementation.

This document presents information that will help font developers create or support OpenType fonts for Tamil script languages covered by the Unicode Standard. The Tamil script is used to write the Tamil language of the southern Indian state of Tamil Nadu, as well as minority languages like Badaga. Tamil is also used in Sri Lanka, Singapore and parts of Malaysia. The Tamil script has fewer consonants than other Indic scripts and has only one consonant conjunct.

Introduction

This document targets developers implementing Indic shaping behavior compatible with Microsoft OpenType specification for Indic scripts. It contains information about terminology, font features and behavior of the Indic shaping engine in regards to the Tamil script. While it does not contain instructions for creating Tamil fonts, it will help font developers understand how the Indic shaping engine processes Indic text. In addition, registered features of the Tamil script are defined and illustrated with examples.

The new Indic shaping engine allows for variations in typographic conventions, giving a font developer control over shaping by the choice of designation of glyphs to certain OpenType features. For example, the location where the reph and pre-pended matra are re-ordered within a syllable cluster is affected by the presence of a half form. See illustrations below.

Glossary

The following terms are useful for understanding the layout features and script rules discussed in this document.

Above-base form of consonants– A variant form of a consonant that appears above the base glyph.

Akhand ligatures - Required consonant ligatures that may appear anywhere in the syllable, and may or may not involve the base glyph. Akhand ligatures have the highest priority and are formed first; some languages include them in their alphabets. Akhand ligatures may be displayed in either half- or full-form.

Base glyph - The only consonant or consonant conjunct in the orthographic syllable that is written in its "full" (nominal) form. In Tamil, the last consonant of the syllable forms the base glyph. In "degenerate" syllables that have no vowel (last letter of a word), the last consonant in halant form serves as the base consonant and is mapped as the base glyph. Layout operations are defined in terms of a base glyph, not a base character, since the base can often be a ligature.

Below-base form of consonants - A variant form of a consonant that appears below the base glyph. In the glyph sequence, the below-base form comes after the consonant(s) that form the base glyph. Below-base forms are represented by a non-spacing mark glyph.

Cluster – A group of characters that form an integral unit in Indic scripts, often times a syllable.

Consonant - Each represents a single consonant sound. Consonants may exist in different contextual forms and have an inherent vowel (usually, the short vowel "a"). For example, "Ka" and "Ta", rather than just "K" or "T."

Consonant conjuncts (aka “conjuncts”) - Ligatures of two or more consonants. Consonant conjuncts may have both full and half forms, or only full forms.

Halant (Virama) - The character used after a consonant to "strip" it of it’s inherent vowel.

NOTE: A syllable containing halant characters may be shaped with no visible halant signs by using different consonant forms or conjuncts instead.

Halant form of consonants - The form produced by adding the halant (virama) to the nominal shape. The Halant form is used in syllables that have no vowel or as the half form when no distinct shape for the half form exists.

Half form of consonants (pre-base form) - A variant form of consonants which appear to the left of the base consonant, if they do not participate in a ligature. Consonants in their half form precede the ones forming the base glyph. Some Indic scripts, like Devanagari have distinctly shaped half forms for most of the consonants. If not distinct shape exists, the full form will display with an explicit Virama (same shape as the halant form).

Matra (Dependent Vowel) - Used to represent a vowel sound that is not inherent to the consonant. Dependent vowels are referred to as "matras" in Sanskrit. They are always depicted in combination with a single consonant, or with a consonant cluster. The greatest variation among different Indian scripts is found in the rules for attaching dependent vowels to base characters.

New shaping behavior - Shaping behavior defined in this version of the Indic OpenType Font Specification. Information in this document relates primarily to the new implementation model. Old behavior may be mentioned in comments about compatibility.

Nukta - A combining character that alters the way a preceding consonant (or matra) is pronounced.

Old shaping behavior - Shaping behavior defined in previous versions of the Indic OpenType Font Specification.

OpenType layout engine – Library responsible for executing OpenType layout features in a font. In the Microsoft text formatting stack, it is named OTLS (OpenType layout services).

OpenType tag – 4-byte identifier for script, language system or feature in the font.

Post-base form of consonants – A variant form of a consonant that appears to the right of the base glyph. A consonant that takes a post-base form is preceded by the consonant(s) forming the base glyph plus a halant (virama). Post-base forms are usually spacing glyphs.

Pre-base form of consonants - A variant form of a consonant that appears to the left of the base glyph. Note that most pre-base consonant forms are logically as well as visually before the base consonant. Half forms are examples of this kind of pre-base form. In some scripts, though, a pre-base Ra may logically follow the base consonant (that is, it follows it phonetically and in the character sequence of the text), even though it is presented visually before the base. The shaping engine detects such cases dynamically using the 'pref' feature and re-orders the pre-base-form glyph as needed.

Reph – The above-base form of the letter "Ra" that is used in Devanagari when "Ra" is the first consonant in the syllable and is not the base consonant.

Shaping Engine –Code responsible for shaping input, classified to a particular script.

Split Matra - A matra that is decomposed into pieces for rendering. Usually the different pieces appear in different positions relative to the base. For instance, part of the matra may be placed at the beginning of the cluster and another part at the end of the cluster.

Syllable - A single unit of Indic text processing. Shaping of Indic text is performed independently for each syllable. Process of identifying boundaries of each syllable is described below.

Vattu - A below-base form of a consonant.


Example in Devanagari script
1. Pre-base form
2. The base consonant
3. Above-base form (reph)
4. Post-base (matra)
5. Below-base form (vattu/rakaar)

Shaping Engine

TamilFonts.net is the largest online repository for free Tamil Fonts.

  1. This portal is dedicated in providing wide range of quality, elegant and artistic fonts in Tamil Language.
  2. Visit Top Downloaded Telugu Fonts to quickly get the list of most downloaded and preferred Tamil fonts.
  3. Downloading fonts is very easy using this portal. You can search for the desired Tamil Font using the Advanced Search Tool or surf through the most downloaded and top rated Tamil fonts using our dedicated pages in the navigation bar.
  4. Furthermore, the most important aspects to consider is that - no account creation is required to download the desired fonts.These fonts are useful for Personal and Professional or Business Purposes.

You can download these fonts and install them in your system and quickly get started with your blog post, designs, articles in Tamil Language. It’s amazing the quantity of people searching for tamil fonts.

How can I install Tamil fonts in my PC?

Install Tamil Fonts:

But the next step after you find the perfect font is the installation. Right-click the .ttf font file and choose ‘Install’.

Double-click the Tamil Font .ttf file to open the font (preview mode) and click ‘Install’. Access Control Panel > Appearance and Personalization > Fonts and copy the font file to the ‘Fonts’ folder. Important: when using option 3, if you receive an error, you need to guarantee the file is not compressed (copy the .ttf file, NOT the zip file) and make sure you have Administrator Privileges.

Browse through our Tamil fonts collection. Download 11 Stylish Tamil fonts. The best website for free high-quality Tamil fonts, with 16 free Tamil fonts for immediate download, and ➔ 23 professional Tamil fonts for the best price on the Web.

Adhawin-Tamil2 StylesHideShow. Scribe Tamil10HideShow. WebTamil NormalHideShow. Tamilweb PlainBetaHideShow. Please note: If you want to create professional printout, you should consider a commercial font.

Free fonts often have not all characters and signs, and have no kerning pairs (Avenue ↔ A venue, Tea ↔ T ea). Check it for free with Typograph. Shree Tamil 0802 Bold. Shree Tamil 1330 Family.

Install for Linux Users:

Shree Tamil 0804 Regular. Shree Tamil 0815 Family. Shree Tamil 0804 Family. Shree Tamil 3900. Shree Tamil 3901. Shree Tamil 3902. Shree Tamil 3903.

  • Shree Tamil 3904.
  • Shree Tamil 3905.
  • Shree Tamil 3906. Shree Tamil 3907.
  • Shree Tamil 3908. Shree Tamil 3909.
  • Best price value packs.

Latha Family - Tamil fonts. Sorted by family. Latha Family - Tamil fonts. Related and similar fonts. Kohinoor Devanagari. Discover a huge collection of fonts and hand-reviewed graphic assets. All the Fonts you need and many other design elements, are available for a monthly subscription by subscribing to Envato Elements. The subscription costs $16.50 per month and gives you unlimited access to a massive and growing library of 1,500,000+ items that can be downloaded as often as you need (stock photos too)!

Hi chandraekaran. Thank you for using Microsoft Answers Forums! You can also try this step: . Note: Before you download a font, make sure you trust the source. 1.Open Fonts by clicking the Start button, clicking Control Panel, clicking Appearance and Personalization, and then clicking Fonts. 2.Click File, and then click Install New Font.

If you don’t see the File menu, press ALT. 3.In the Add Fonts dialog box, under Drives, click the drive where the font that you want to install is located.

4.Under Folders, double-click the folder containing the fonts that you want to add. 5.Under List of fonts, click the font that you want to add, and then click Install.

Install: For Windows Users

Also refer to this link for more information: . You can also try this step: . To install Tamil Font, we can use the following steps:. Copy the Font file. The font file is the file with the extension ".TTF".

Find next syllable in the input

Open the folder under system root. The path should be "C:\windows\Font".

We can check if the font works fine in Word or others text editors.

  • Hope this information was helpful. Let me know if this worked.
  • Thanks and Regards,. Uma R- Microsoft Support. Visit our Microsoft Answers Feedback Forum and let us know what you think.

NOTE-2: I have taken as much care as possible to see that my download links in this page point only to those fonts which are 100% free.

  • In other words, as far as I can say, you may not find links to fonts which are not 100% free.

DOWNLOAD Azhagi's individual 'Sai' fonts - அழகியின் அழகிய 'சாய்' எழுத்துருக்கள் (NonUnicode).

  • You can click here to download a set of free Tscii fonts alone.

This set includesthe above 4 Tscii fonts along with 2 more fonts - SaiJothi & SaiMalar.

{ }zero or more occurrences
[ ]optional occurrence
<|>"one of"
( )one or two occurrences
Cconsonant
Vindependent vowel
Nnukta
Hhalant/virama
ZWNJzero width non-joiner
ZWJzero width joiner
Mmatra (up to one of each type: pre-, above-, below- or post- base)
SMsyllable modifier signs
VDvedic
Aanudatta (U+0952)
NBSPNO-BREAK SPACE

Identify key positions inside syllable

To download the same set as a zip file, click here.

நீங்கள் கீழ்க்காணும் மிக அழகிய (கண்ணில் ஒற்றிக் கொள்ள வேண்டும் போல் உள்ள) தமிழ் எழுத்துக்கள், அழகி செயலியின் பிரத்தியேக எழுத்துருவான 'சாய் இந்திரா' எழுத்துருவில் அமையப் பெற்றவையே.

"தமிழ் என்றால் முருகர், முருகர் என்றால் அழகு, அழகு என்றால் முருகர்" என்று யாவரும் என்றும் சொல்லும் வண்ணம் விளங்கும் நம் முருகப் பெருமானின் புகழைப் பாடவே மட்டும் என்று பிரத்தியேகமாக உள்ள kaumaram.com^^ வலைத்தளத்தில், contents பக்கத்தில் உள்ள ஒரு பகுதியே நீங்கள் கீழே காண்பது.

இதுபோல், 'சாய் இந்திரா' எழுத்துரு பல்வேறு வகைகளில் பயன்படுத்தப்படுகிறது - எம்.எஸ் வேர்ட் (MS Word) ஆவணங்கள் தயார் செய்ய, தரமான எழுத்து வடிவில் புத்தங்கள் வெளியீடு செய்ய (Book Publishing), ஃபோட்டோஷாப் 7 (PhotoShop 7) / ஃபில்மோரா (Filmora) / பவர் டைரக்டர் (Power Director) போன்ற Designer அப்ளிகேஷன்களில் எளிதாய் தமிழில் உங்கள் படைப்புகளை மிளிரச் செய்ய, என்று - முற்றிலும் இலவசமாக. DOWNLOAD 140+ Beautiful Stylish Designing Fonts - "Chenet Platinum" - for Photoshop/CorelDraw/Illustrator/Video Editors/Etc. DOWNLOAD Free Unicode Tamil Fonts (more than 900 beautiful fonts) - These fonts were not developed by me but by other developers.

Hence, some of the download links below (ending with the words 'Link2', 'Link3', etc.) will take you to external sites. You can download the required Unicode fonts by clicking the download links available therein and/or following the instructions therein.Download Azhagi's TSCu_SaiIndira.ttf Unicode font - it is a dual encoded (Unicode cum Tscii) font, as such.Kadugu sir's Super 7 Unicode fonts (The 7 Tscii fonts here converted to Unicode.

For details, please read this post of mine in Azhagi Facebook Group)800+ beautiful design/publishing Unicode fontsIndividual downloads of the above 800+ fontsUnicode Tamil Fonts Download - From GoogleUni Amma Tamil Fonts DownloadChenet Unicode Tamil Fonts DownloadUnicode Tamil Fonts Download - Link1(Sri.

Indic clusters are subject to the following constraints:

  • Ila Sundaram's)Unicode Tamil Fonts Download - Link2(From CDAC)Unicode Tamil Fonts Download - Link3(From Modular Infotech)Unicode Tamil Fonts Download - Link4(Hosted by Tamil Virtual Academy)Unicode Tamil Fonts Download - Link5(From Cadgraf Digitals)Unicode Tamil Fonts Download - Link6Unicode Tamil Fonts Download - Link7Unicode Tamil Fonts Download - Link8Note:This web page (hosted by Thiru.
  • Raja [aka] Neechalkaran) has a very neat preview of most of the Tamil fonts I have listed above.
  • You can increase/decrease the font size too, to suit your convenience. You may find this online preview facility very beneficial.
  • So, kindly give a visit. There is a summary info page for these fonts too, categorized under different heads. You may find it useful too.NOTE:a) Using Azhagi or Azhagi+, you can type in Unicode using ALL the fonts you download from the above links, in ANY application (MS-Word, etc.)b) If you download and install Azhagi, Tscu_SaiIndira Unicode (cum Tscii) font gets installed automatically.
  • c) Thanks to (late)Mr. Ranganathan (alias Kadugu, a great humour writer) for developing the exquisite 'Sai' Tscii fonts for Azhagi (viz.
  • SaiIndira, Sai-Sai, SaiVrishin, SaiEmbed-ForPdf) and also 'SaiMalar' & 'SaiJothi'.
  • He is the one who has developed the beautiful Tscii fonts shown at the end of this page (porunai, pothigai, etc.) too.

Tamil Fonts

d) Tscu_SaiIndira unicode font was created by me using 'SaiIndira' font's characters as the base. 'Tscu' indicates the fact that it is a 'Tscii cum unicode' dual encoded font.e) When you install Windows XP and above, 'Latha' Unicode font gets installed automatically.

Also, the Unicode font 'Arial Unicode MS' gets installed along with certain MS applications (e.g. during the full installation of 'Microsoft Office'). 'Arial Unicode MS' font contains characters from multiple languages and not just Tamil.f) Code2000 is an excellent font (shareware) akin to 'Arial Unicode MS' in that it contains characters from multiple languages.

  1. As a matter of fact, it contains the old forms of the Tamil characters 'lai', 'nai', 'Ra', etc.g) Unicode is the universal standard for now and the future and has lots of powerful benefits. Download Azhagi's TSCu_SaiIndira.ttf Unicode font - it is a dual encoded (Unicode cum Tscii) font, as such. Kadugu sir's Super 7 Unicode fonts (The 7 Tscii fonts here converted to Unicode. For details, please read this post of mine in Azhagi Facebook Group). 800+ beautiful design/publishing Unicode fonts.
  2. Unicode Tamil Fonts Download - Link1(Sri. Ila Sundaram's). Unicode Tamil Fonts Download - Link2(From CDAC). Unicode Tamil Fonts Download - Link3(From Modular Infotech). Unicode Tamil Fonts Download - Link4(Hosted by Tamil Virtual Academy). Unicode Tamil Fonts Download - Link5(From Cadgraf Digitals). Unicode Tamil Fonts Download - Link6. Unicode Tamil Fonts Download - Link7. Unicode Tamil Fonts Download - Link8. DOWNLOAD Free Tscii Tamil Fonts (around 25 fonts) - These fonts were not developed by me but by other developers.
  3. You can click here to download 2 more fonts - SaiJothi and SaiMalar.Tscii Fonts Download - Link1Please note:a) Using Azhagi+, you can type in ALL the Tscii fonts you download from the above links, in ANY application (MS-Word, etc.)b) All the fonts you download from the above links are compatible with Azhagi's 'SaiIndira' font and other Sai 'Tscii' fonts.
  4. To know how to type in Tscii fonts in MS-Word, etc. using Azhagi, click here.c) If you download and install Azhagi, SaiIndira (of Tscii encoding) gets installed automatically. d) Few more free fonts (of Tscii encoding) also get installed along with Azhagi, viz. Sai-Sai, SaiVrishin, SaiEmbed-ForPDF and Tscu_SaiIndira. Note that Azhagi's 'SaiMeera' font alone is not of Tscii encoding but 'TAB' encoding. And, Tscu_SaiIndira is of dual encoding (both Tscii and Unicode).e) You can click here to download a set of free Tscii fonts alone. This set includes SaiIndira, SaiSai, SaiVrishin, SaiJothi, SaiMalar and SaiEmbed-ForPDF. To download the same set as a zip file, click here. f) Thanks to (late)Mr. Ranganathan (alias Kadugu, a great humour writer) for developing the exquisite 'Sai' Tscii fonts for Azhagi. He is the one who has developed the beautiful Tscii fonts shown at the end of this page (porunai, pothigai, etc.) and downloadable from the abovementioned 'Tscii Fonts Download - Link1'. These fonts are available for individual download too from this link.g) 'Tscii' is a registered font encoding, widely used worldwide. Download Azhagi's Tscii fonts SaiIndira.ttf, Sai-Sai.ttf, SaiVrishin.ttf, SaiEmbed-forPDF.ttf and TSCu_SaiIndira.ttf. Tscu_SaiIndira is a dual encoded (Tscii cum Unicode) font, as such. You can click here to download 2 more fonts - SaiJothi and SaiMalar. Tscii Fonts Download - Link1. DOWNLOAD Free TAB and TAM Tamil Fonts (more than 200 fonts) - These fonts were not developed by me but by other developers. Hence, some of the download links (ending with the words 'Link1', 'Link2', etc.) below will take you to external sites. You can download the required TAB/TAM fonts by clicking the download links available therein and/or following the instructions therein.Download Azhagi's TAB font SaiMeera.ttf.250 TAM/TAB Fonts Download - Link1TAM/TAB Fonts Download - Link2TAM/TAB Fonts Download - Link3TAM/TAB Fonts Download - Link4TAM/TAB Fonts Download - Link5Note:a) Using Azhagi+, you can type in ALL the TAB and TAM fonts you download from the above links, in ANY application (MS-Word, etc.)b) If you download and install Azhagi, SaiMeera (of TAB encoding) font gets installed automatically. c) TAB and TAM are font encodings instituted by the TN Govt. Download Azhagi's TAB font SaiMeera.ttf. 250 TAM/TAB Fonts Download - Link1. TAM/TAB Fonts Download - Link2. TAM/TAB Fonts Download - Link3. TAM/TAB Fonts Download - Link4.

Character reordering Classes for Tamil:

CharactersReorder Class

And, using Azhagi's Font Converter (converter.azhagi.com) or any other converter mentioned at indic.html#fconverters, you can convert texts generated in Tscii/Unicode/etc.

to Tab/Tam/etc.

(and vice-versa) and thus utilise ALL the fonts downloaded by you from this page.

Regarding fonts developed by various "other entities", out of goodwill, I have listed information about them above.

Otherwise, whether any of such 'other fonts' is still free or not (OR) how any of such 'other fonts' exactly function (OR) whether the 'other fonts' function accurately or error-free, etc.

is entirely under the control of the respective authors only.

I, personally, do not have any indepth idea of the various aspects of the 'other fonts'.

As such, you can consider that I have just shared some information on 'other fonts'.

So, use of any of the 'other fonts' is entirely upto your discretion.

In other words, it is absolutely at your own risk to download/install/try/use any of the 'other fonts'.

Also, please note that links to any of the 'other fonts' were valid links at the time of my mentioning them first in this page only.

Whether these links remain valid all the time thereafter is not under my control, naturally.

Tamil Fonts Free Download:

For my part, I do check the correctness of some of these links randomly, once in a while. Tamil Typing Online offer free Tamil fonts download for everyone.

Our main is to provide most popular and open sources Tamil fonts available online, font installation guide that help everyone, from professionals to individuals to make use of Tamil fonts and excel in Tamil typing and calligraphy.

Here, we offer hundreds of Tamil fonts for free download. You can download and install stylish and modern Tamil fonts on your personal computers directly and start using them instantly. All our Tamil fonts free download are free to use, available in ZIP format and compatible for Photoshop design. We only publish open source, commercially licensed creative common licensed Tamil Fonts, you can install on your computers without any restrictions. Tamil fonts available for downloadis compatible with your PC, Laptop and operating systems like Windows XP,Widows 7, Windows 10 and Linux operating systems, as well as graphic designplatforms like Adobe Photoshop, Illustrator, InDesign, etc….

Feel free to browse through ourwebsite for latest font collection. We offer committed to provide 100% freeservice and do not require any payments of any kind. We believe all our Tamilfont collections are impressive, if you want to publish a new font of your ownor require any missing Tamil fonts do comment below.

We will help you to add your font to our collectionand gather missing font from reliable source.

Shaping features:

Note: Tamil fonts listed on our websiteare user submitted and also collected from reliable source.

  1. If you want toremove them without author permission, please let us know – we will takenecessary steps to remove them.

Please follow these simple stepsto download and install Tamil fonts on personal computers running MicrosoftWindows 7, 8, 8.1, 10 and Linux operating system.

  1. Before starting the process,you need to check your operating system version.
  2. Once installing the fonts byfollowing our instruction, you can access the fonts in Microsoft Suites like MSWord, Excel, Power Point, Outlook and design software like Adobe Photoshop,InDesign, and Illustrator.
  3. Find a Tamil Font: . Browse through our Tamil fontcollections and choose best font that suite your needs.
  4. You can also choose oursearch option to find right fonts.
  5. Click on the desired format todownload the font in Zip file.

Once downloading, you need to extract the ZIPfile to find .ttf file that is standard format for fonts.

  1. These steps are applicable for MicrosoftWindows 7, 8, 8.1 and 10 Users:. Double click the .ttf file (example latha.ttf) . Select install – font will be installed automatically.
  2. Copy .ttf file from the download location . Paste the file to the folder C:\Windows\Fonts. Locate the .ttf file from downloads .
  3. Copy paste file onto the Font folder located at/USR/SHARE/FONTS. On successful completion, you areready to use downloaded Tamil Fonts on your personal computer / operatingsystem.
  4. Feel free to contact us; if you are facing any trouble to download and install the fonts downloaded from our website, we are ready to assist you always.
  5. Apply feature 'haln' to substitute the halant form of base (or conjunct base) glyph in syllables ending with a halant.
  6. Apply feature 'calt' to substitute the contextual alternate of a consonant.

Where can I find fonts?

The shaping engine next processes the GPOS (glyph positioning) table, applying features concerned with positioning. All features are applied simultaneously to the entire cluster.

The font developer must consider the effects of re-ordering when creating the GPOS feature and lookup tables (i.e., the glyphs will be in the order they were in after the GSUB presentation forms features were applied).

Positioning features:

Kerning

  1. Apply feature 'kern' to adjust distances (e.g., to provide kerning between post- or pre-base elements and the base glyph).
  2. Apply feature 'dist' to adjust distances. (NOTE - the feature 'dist' can be used in the same way as the 'kern' feature. The advantage of using the 'dist' feature is that it does not rely on the application to enable kerning. Therefore, if you want to make sure certain spacing adjustments will always be displayed, you should use the 'dist' feature).

Above-base marks

  1. Apply feature 'abvm' to position above-base marks (above-base consonant forms, matras, vowel modifiers or stress/tone marks) on base glyphs or post-base matra).

Below-base marks

  1. Apply feature 'blwm' to position below-base marks (below-base consonant forms, matras, vowel modifiers or stress/tone marks) on base glyphs or post-base matra).

16 Free Tamil Fonts

Commonly, a feature is required for dealing with the base glyph and one of the post-base, pre-base, above-base or below-base elements. Since it is not possible to reorder ALL of these elements next to the base glyph, we need to skip over the elements "in the middle" (reordering-wise).

The solution is to assign different mark attachment classes to different elements of the syllable and positional forms, and in any given lookup work with one mark type only. For example, in above-base substitutions we need only consider above-base elements most of the time.

Generally, it is good practice to label as "mark" any glyphs that are denoted as combining marks in the Unicode Standard as well as below-base/above-base forms of consonants. Then, different attachment classes should be assigned to different marks depending on their position with respect to the base.

For example, after the shaping engine has re-ordered elements within the cluster, matras will always occur before syllable modifier sign such as the candrabindu. In an actual sequence, though, potentially some other mark glyph, such as nukta, may occur between the matra and the candrabindu. Thus, when processing the matra and candrabindu, you may need to allow for the possibility that some other mark glyph(s) may occur between them. Using lookup flags, you can specify that a lookup should process only a certain class of marks, such as 'above-base marks', and ignore all other marks. In that way, a match will occur whether or not a mark from another class is present. Otherwise, the lookup would fail to apply.

Using Microsoft VOLT, you can assign glyphs to attachment classes.
In the example below this 'abvm' feature was set to process onlyTopMarks, therefore the presence of another mark class would be ignored. If Process ALL was used and another mark glyph followed the matra, this positioning lookup would fail to apply. This example comes from the Devanagari font Mangal.

Invalid combining marks

Combining marks and signs that do not occur in conjunction with a valid base are considered invalid. Shaping engine implementations may adopt different strategies for how invalid marks are handled. For example, a shaping engine implementation might treat an invalid mark as a separate cluster and display the stand-alone mark positioned on some default base glyph, such as a dotted circle. (See Fallback Rendering in section 5.13 of the Unicode Standard 4.0.) Shaping engine implementations may vary somewhat with regard to what sequences are or are not considered valid. For instance, some implementations may impose a limit of at most one above-base vowel mark while others may not.

To allow for shaping engine implementations that expect to position an invalid mark on a dotted circle, it is recommended that a Tamil OT font contain a glyph for the dotted circle character, U+25CC. If this character is not supported in the font, such implementations will display invalid signs on the missing glyph shape (white box).

In addition to the 'dotted circle' other Unicode code points that are recommended for inclusion in any Tamil font are the ZWJ (zero width joiner; U+200D), the ZWNJ (zero width non-joiner; U+200C) and the ZWSP (zero width space; U+200B). For more information see the Suggested glyphs section of the OpenType Font Development document.

Effect of ZWJ, ZWNJ and NBSP on Consonant Shaping

Unicode defines specific behaviors for ZWJ and ZWNJ in relation to Indic scripts. The Indic-specific behavior retains the general behavior that ZWJ requests connection between text elements while ZWNJ inhibits connection between text elements.

  1. 1. The main intent of using ZWJ in this context is to prevent a ligature-conjunct from forming (and in Devanagari or Gujuarati, to request a half form, below-base form or post-base form instead). The Indic engine does not need to take any action to prevent ligature-conjuct formation: the presence of ZWJ will prevent GSUB substitution lookups from matching the input glyph sequence. If the first consonant does not have a half form, an overt-halant form should result, which would also happen with no particular action by the engine.
  2. 2. A secondary intent of using ZWJ in this context is to prevent the display of reph in the case that the first consonant is RA. If a cluster begins with RA H (halant) ZWJ, the engine must ensure that the 'rphf' feature is not applied, and that re-ordering for reph does not take place. Note that use of either joiner in this context should prevent formation and re-ordering of reph when RA is the first consonant.
  3. 3. The main intent of using ZWNJ is to prevent conjunct ligature or half forms from forming, and to display an explicit halant form instead. The shaping engine must take specific actions to prevent half forms for a sequence of Consonant + Halant + ZWNJ.

Just as the ZWJ can be used to display a half form in isolation, it can also be used to display a mark, sub- or post-base form in isolation. Unlike the stand-alone half form, however, sequences to display them must begin with a no-break space (NBSP). This is because mark glyphs must combine with a base glyph: to appear in isolation, a NBSP must be provided as a base. For example, to get a shape of I-matra without the dotted circle one should type NBSP + I-matra.

The illustration below uses the Devanagari script, and shows the I-matra displayed without the dotted circle by using the NBSP. The combination of NBSP and ZWJ is used to display the below-base form of Ra (Rakaar) in isolation.

Features

The features listed below have been defined to create the basic forms for the languages that are supported on Tamil systems. Regardless of the model an application chooses for supporting layout of complex scripts, the shaping engine requires a fixed order for executing features within a run of text to consistently obtain the proper basic form.

The features of the basic shaping forms are applied one at a time to the cluster or portion of the cluster. The result impacts the analysis in terms of the conjoining behavior and final reordering. The features of the presentation forms are applied next, to the entire cluster simultaneously. Mandatory features must always be applied; the discretionary presentation-forms features listed should be applied by default, but can be suppressed by a client (normally at the discretion of the user).

The order of the lookups within each feature is also very important. For more information on lookups and defining features in OpenType fonts, see the Encoding section of the OpenType Font Development document.

OpenType features used for Tamil scripts, applied in the following order:

**Feature****Feature function****Layout operation**
Localized forms:
loclLocalization form substitutionGSUB
Basic shaping forms:
nuktNukta form substitutionGSUB
akhnAkhand ligature substitutionGSUB
rphfReph form substitutionGSUB
prefPre-base form substitutionGSUB
halfHalf-form substitutionGSUB
Mandatory presentation forms:
presPre-base substitutionGSUB
abvsAbove-base substitutionGSUB
blwsBelow-base substitutionGSUB
pstsPost-base substitutionGSUB
halnHalant form substitutionGSUB
Discretionary presentation forms:
caltContextual alternatesGSUB
Positioning features:
kernKerningGPOS
distDistancesGPOS
abvmAbove-base mark positioningGPOS
blwmBelow-base mark positioningGPOS
[GSUB = glyph substitution, GPOS = glyph positioning]

Feature examples

Many of the registered features described and illustrated in this document are based on the Microsoft OpenType font Latha. 'Latha' contains layout information and glyphs to support all of the required features for the Tamil script and language systems supported.

The illustrations in the following examples show the result of that particular feature being applied. Features must be written to match glyph sequences after re-ordering has occurred. Note that the input context for a feature may be the result of a previous feature having already been applied.

Localized forms

Feature Tag: "locl"

This feature is used in association with OpenType language system tags to trigger lookups that will select alternate glyphs needed for language-specific typographic conventions. The 'locl' should not be used in association with the default language system, but only used with other language system tags. See the Appendix of this document for language system tags associated with the Tamil script.

Basic shaping forms

Nukta

Feature Tag: "nukt"

The nukta alters the way a preceding consonant or vowel is pronounced. The most common nukta forms have been defined as separate characters in Unicode with their own code points. All consonants, as well as akhand forms should have an associated nukta form.

Note - Rather than using substitution, nukta forms can also be created by positioning the nukta as a below-base mark on the base glyph using the 'blwm' positioning feature

The input context for the nukt feature always consists of the full form of the consonant. The half form of nukta consonants will be substituted using the half feature.

Akhand

Feature Tag: "akhn"

An akhand is a required consonant ligatures that may appear anywhere in the syllable, and may or may not involve the base glyph. Akhand ligatures have the highest priority and are formed first; some languages include them in their alphabets.

The input context for the akhand feature always consists of the full form of the consonant. The half forms of Akhand ligatures will be called later in the half feature.

Because the akhand feature is applied early in the sequence of features and is applied over the entire cluster, it can also be used to create certain forms that must take priority in particular contexts over forms that would be created during subsequent feature application.

Ka + halant + Ssa are substituted with the KaSsa ligature:

Reph

Feature Tag: "rphf"

Applying this feature substitutes the Reph glyph. If the first consonant of the cluster consists of the full form of Ra + Halant, this feature substitutes the combining-mark form of Reph. In addition, the position of the Reph glyph is adjusted with the 'abvm' GPOS feature.

The input context for the Reph feature always consists of the full form of Ra + Halant.

Pre-base form of consonant

Feature Tag: "pref"

This feature substitutes the pre-base forms of Consonants.

Half form of consonant

Feature Tag: "half"

Applying this feature substitutes half forms - forms of consonants used in the pre-base position. Consonants that have a half form should be listed in the 'half' feature. Some scripts, like Devanagari have distinctly shaped half forms for most of the consonants however, if a consonant does not have a distinct shape for the half form and does not form any ligature, it will be displayed with an explicit Virama (same shape as the halant form).

Note - the result of listing a consonant in the half feature (whether it has a true half form or not) will affect the re-ordering (and positioning) of the reph and pre-pended matras. See illustration in the Introduction section of this document.

This feature is applied to all consonants preceding the 'main' consonant.

Note - While Tamil typically does not use half forms, this feature is made available for typographic preference.

Presentation forms

After the glyphs have been reordered, the presentation lookups are applied to provide the best typographic rendering of the text. The features of the presentation forms are applied to the entire cluster simultaneously, executing lookups within each feature in the order that they are specified in the font.

The pres, abvs, blws, psts and haln features are all mandatory for software implementations: they are required for correct script behaviour and none should ever be treated as discretionary. Because of this and because they are all applied simultaneously over entire clusters, they are not functionally different: a set of lookups could be divided between these features or grouped together under one of them with no difference in effect. These multiple features are provided, however, as an aid to the font developer for organizing lookups based on the combinations of glyphs they apply to. There are no specific requirements on how each should be used; the examples provided below illustrate typical usage, however.

Pre-base substitutions

Feature Tag: "pres"

This feature is used to substitute pre-base consonant conjuncts made with half forms, the type most common in Devanagari. The resulting conjunct can be in full or half form.

This feature can also be used to select variant forms of Matras, or pre-composed ligatures of Matras with certain bases.

Above-base substitutions

Feature Tag: "abvs"

This feature is used for glyph substitutions involving above-base marks. Such substitutions might be used to select contextual forms of marks, to create mark-mark ligatures, or to create mark-base ligatures. Specific context-dependent forms or below-base consonants are handled by this lookup as well.

The "abvs" feature used to substitute Above-base Matra ligature:

Using MS Volt, different shapes of the vowel Ii are substituted based on the context. Note; in this example 'glyph groups' listing consonants with similar widths are used for the substitution context.

Below-base substitutions

Feature Tag: "blws"

This feature is used for glyph substitutions involving below-base marks or consonants. Such substitutions can be used to create conjuncts of base glyphs with below-base consonants, below mark ligatures or below mark-base ligatures. Specific context-dependent forms are handled by this lookup as well.

Post-base substitutions

Feature Tag: "psts"

This feature is used to substitute post-base consonants or matras. Such substitutions can be used to create conjuncts of base glyphs with post-base consonants or post-base matra ligatures. It can also be used to specify contextual alternates of post-base forms.

Example 1- "psts" feature used to substitute consonant Tta and vowel I with a ligature:

Example 2- "psts" feature used to substitute consonant Ka and vowel U with a ligature:

Example 3- "psts" feature used to substitute consonant Nya and vowel Uu with a ligature:

Example 4 - Using MS Volt, variations of the vowel I are substituted based on the context. In the below example 'glyph groups' listing consonants with similar shapes are used for the substitution context.

Halant form of consonants

Feature Tag: "haln"

This feature is used to substitute a pre-composed halant form of a base (or conjunct base) glyph in syllables ending with a halant. (Rather than using substitution, halant forms can also be created by positioning the halant as a below-base mark on the base glyph using the 'blwm' positioning feature.)

This feature is applied only on the base glyph if the syllable ends with a halant, or in the case of non-final consonants that do not take a half form and do not form a conjunct ligature with the following consonant.

Example 1 - 'haln' feature used to substitute halant form of base glyph:

Example 2 - 'haln' feature used to substitute halant form of conjunct base glyph:

Contextual Alternates

Feature Tag: "calt"

Unlike the previous presentation lookups, the 'calt' feature is optional and is used to substitute discretionary contextual alternates. It is important to note that an application may allow users to turn off this feature, therefore should not be used for any obligatory Tamil typography.

Positioning features

Distances

Feature Tag: "dist"

This feature covers positioning lookups that adjust distances between glyphs, such as kerning between pre- and post-base elements and the base glyph. Note; the feature 'dist' can be used in the same way as the 'kern' feature. The advantage of using the 'dist' feature is that it does not rely on the application to enable kerning.

The 'dist' lookup in MS Volt using 'Single Adjustment' for adjusting positions of the anusvar:

Above-base marks

Feature Tag: "abvm"

This feature positions all above-base marks on the base glyph or the post-base matra. The best method for encoding this feature in an OpenType font is to use a chaining context positioning lookup that triggers mark-to-base and mark-to-mark attachments for above-base marks.

The 'abvm' feature shown in MS Volt using 'Anchor Attachment' for adjusting positions of above-marks over bases.

Below-base marks

Feature Tag: "blwm"

This feature positions all below-base marks on the base glyph. The best method for encoding this feature in an OpenType font is to use a chaining context positioning lookup that triggers mark-to-base and mark-to-mark attachments for below-base marks.

Examples of Tamil syllables

Complex Tamil syllable formation is possible using the wide range of features available in OpenType. The following examples show how the shaping engine applies the OpenType features, one at a time to the input string. These combinations do not necessarily represent actual syllables or words, but are meant to illustrate the various OpenType features in a Tamil font.

Example #1:

Appendices

Appendix A: Writing System Tags

Features are encoded according to both a designated script and language system. There are different language systems defined for the Hindi, Sanskrit, and Marathi languages, although they all use the Tamil script.

Currently most shaping engine implementations only support the "default" language system for each script. However, font developers may want to build language specific features which are supported in other applications and will be supported in future Microsoft OpenType implementations.

NOTE: It is strongly recommended to include the "dflt" language tag in all OpenType fonts because it defines the basic script handling for a font. The "dflt" language system is used as the default if no other language specific features are defined, or if the application does not support that particular language. If the "dflt" tag is not present for the script being used, the font may not work in some applications.

The following table lists the registered tag names for script and language systems. Note for new Indic shaping implementation 'tml2' is used (old-behavior implementations used 'taml').

**Registered tags for the Tamil script****Registered tags for Tamil language systems**
**Script tag****Script****Language system tag****Language**
"tml2"Tamil"dflt"*default script handling
"TAM "Tamil

Note: both the script and language tags are case sensitive (script tags should be lowercase, language tags are all caps) and must contain four characters (ie. you must add a space to the three character language tags).