This document describes or points to requirements for the layout and presentation of text in languages that use the Tamil script. The target audience is 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 describes the basic requirements 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 users of Tamil script languages. Currently the document focuses on the Tamil script as used for Tamil. The information here is developed in conjunction with a document that summarises gaps in support on the Web for Tamil.

The editor's draft of this document is being developed by the India Language Layout Task Force, part of 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.

X 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.

Introduction

Contributors

The initial version of this document was prepared by Richard Ishida.

Thanks to the following people who contributed information that is used in this document (contributors' names listed in in alphabetic order): Akshat Joshi, Alolita Sharma, Muthu Nedumaran, Vivek Pani.

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

About this document

The aim of this document is to describe the basic requirements 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, and for application developers, about how to support users of the Tamil script. The document currently focuses on texts using the Tamil language.

Gap analysis

This document is pointed to by a separate document, Tamil Gap Analysis, which describes gaps in support for Tamil on the Web, and prioritises and describes the impact of those gaps on the user.

Wherever an unsupported feature is indentified through the gap analysis process, the requirements for that feature need to be documented. The gap reports will typically point back to this document for more information.

As gaps in support for Tamil are captured, the gaps can be brought to the attention of the relevant spec developer or the browser implementator community. The progress of such work is tracked in the Gap Analysis Pipeline.

This document should contain no reference to a particular technology. For example, it should not say "CSS does/doesn't do such and such", and it should not describe how a technology, such as CSS, should implement the requirements. It is technology agnostic, so that it will be evergreen, and it simply describes how the script works. The gap analysis document is the appropriate place for all kinds of technology-specific information.

Other related resources

To complement any content authored specifically for this document, the sections in the document also point to related, external information, tests, GitHub discussions, etc.

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

Tamil is written horizontally, left to right.

In rare cases, Tamil text may be displayed in a vertical arrangement with upright glyphs. In such cases, words should be broken at grapheme cluster boundaries, rather than after each code point, because Tamil doesn't have the conjunct forms that are common in north Indian scripts.

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

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