This document points to resources for the layout and presentation of text in languages that use the Tamil script. The target audience includes developers of Web standards and technologies, such as HTML, CSS, Mobile Web, Digital Publications, and Unicode, as well as implementers of web browsers, ebook readers, and other applications that need to render Tamil text.

This document points to resources for Tamil script layout and text support on the Web and in eBooks. These requirements provide information for Web technologies such as CSS, HTML and digital publications about how to support languages written using the Tamil script. The information here is developed in conjunction with a document that summarises gaps where the Web fails to adequately support the Tamil script.

The editor's draft of this document is being developed in the GitHub repository Indian Language Enablement (ilreq), with contributors from the W3C Internationalization Interest Group. It is published by the Internationalization Working Group. The end target for this document is a Working Group Note.

To make it easier to track comments, please raise separate issues or emails for each comment, and point to the section you are commenting on using a URL.

Some links on this page point to repositories or pages to which information will be added over time. Initially, the link may produce no results, but as issues, tests, etc. are created they will show up.

Links that have a gray color led to no content the last time this document was updated. They are still live, however, since relevant content could be added at any time. When the document is updated, links that now point to results will have their live colour restored.

Introduction

Contributors

This document was created by Richard Ishida.

The following people contributed information that was used in preparing this document (in alphabetic order): Akshat Joshi, Alolita Sharma, Muthu Nedumaran, Vivek Pani.

See also the GitHub contributors list for the Indian Language Enablement project, and the discussions related to the Tamil script.

About this document

This document points to resources for Tamil script layout and text support on the Web and in eBooks. These resources provide information for developers of Web technologies such as CSS, HTML and digital publications, and for application developers, about how to support languages written using the Tamil script. They include requirements, tests, GitHub discussions, type samples, and more,

The document focuses on typographic layout issues. For a deeper understanding of the Tamil script and how it works see Tamil Orthography Notes, which includes topics such as: Phonology, Vowels, Consonants, Encoding choices, and Numbers.

Gap analysis

This document should be used alongside a separate document, Tamil Gap Analysis, which describes gaps in language support for users of the Tamil script, and prioritises and describes the impact of those gaps on the user.

Gap reports are brought to the attention of spec and browser implementers, and are tracked via the Gap Analysis Pipeline. (Filter for Tamil script items)

Related resources

The document Language enablement index points to this document and others, and provides a central location for developers and implementers to find information related to various scripts.

The W3C also has a repository with discussion threads related to the Tamil script, including requests from developers to the user community for information about how scripts/languages work, and a notification system that tracks issues in W3C working groups related to the Tamil script. See a list of unresolved questions for Tamil experts. Each section below points to related discussions. See also the repository home page.

Tamil Script Overview

The Tamil script is an abugida, ie. consonants carry an inherent vowel sound that is overridden using vowel signs or killed using a virama.

The Tamil script is written horizontally, left to right. Words are separated by spaces.

There are fewer consonants than in other Indic scripts. Tamil has no aspirated consonant letters, and symbols are allocated on a phonemic basis, rather than phonetic. This means that , for example, may be pronounced as the allophones k ɡ x ɣ or h, according to where it appears relative to other sounds in a word, but its pronunciation doesn't change the word.

The consonant letters used for pure Tamil words are supplemented by Grantha consonant signs which are used for English and Sanskrit loan words. Repertoire extensions for non-native sounds are achieved by preceding a consonant with U+0B83 TAMIL SIGN VISARGA (āytam).

Consonant clusters are indicated using the visible puḷḷi dot (the virama) to indicate that no vowel follows a consonant. Exceptions to the rule are 2 ligated forms: க்ஷ kʃʌ and ஶ்ரீ ʃri.

Word-initial clusters do not appear in Tamil. Syllable-/word-final consonants are just written using ordinary consonants with the puḷḷi overhead, eg. தமிழ் t̪amiɻ Tamil.

The Tamil orthography has an inherent vowel, and represents vowels using vowel signs, including pre-base glyphs and circumgraphs. All circumgraphs can be decomposed. All vowel signs are combining marks, and are stored after the base character.

There are also independent vowels, one for each vowel sound, including the inherent vowel, and these are used to write all standalone vowel sounds.

The only composite vowels are those created by decomposition of the circumgraphs, and involve 2 glyphs, one on each side of the base consonant(s).

Tamil is diglossic: the classic form is preferred for writing and public speaking, and is mostly standard across the Tamil-speaking regions; the colloquial, spoken form differs widely from the written.

There can also be differences in letter shapes and other typographic approaches between the Tamil used in India and that used in places like Singapore and Malaysia (and even Sri Lanka).

The script has no upper-/lowercase distinction.

All topics

Text direction

Vertical text

Glyph shaping & positioning

Fonts & font styles

Context-based shaping & positioning

Letterform slopes, weights, & italics

Typographic units

Characters & encoding

Grapheme/word segmentation & selection

Punctuation & inline features

Phrase & section boundaries

Quotations & citations

Emphasis & highlighting

Abbreviation, ellipsis & repetition

Inline notes & annotations

Text decoration & other inline features

Line & paragraph layout

Line breaking & hyphenation

Text alignment & justification

Text spacing

Baselines, line height, etc.

Lists, counters, etc.

Styling initials

Page & book layout

tbd

Change log