CARVIEW |
This document points to resources for the layout and presentation of text in languages that use the Devanagari 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 Devanagari text.
This document points to resources for Devanagari 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 Devanagari script. The information here is developed in conjunction with a document that summarises gaps where the Web fails to adequately support the Devanagari 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.
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, Vivek Pani.
See also the GitHub contributors list for the Indian Language Enablement project, and the discussions related to the Devanagari script.
About this document
This document points to resources for Devanagari 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 Devanagari script. They include requirements, tests, GitHub discussions, type samples, and more,
The document focuses on typographic layout issues. For a deeper understanding of the Devanagari script and how it works see Hindi 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, Devanagari Gap Analysis, which describes gaps in language support for users of the Devanagari 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 Devanagari 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 Devanagari 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 Devanagari script. See a list of unresolved questions for Devanagari experts. Each section below points to related discussions. See also the repository home page.
Devanagari Script Overview
The Devanagari script is an abugida. Consonant letters have an inherent vowel sound. Combining vowel signs are attached to the consonant to indicate that a different vowel follows the consonant.
Devanagari text runs left-to-right in horizontal lines. Words are separated by spaces. There is no case distinction.
Orthographic syllables (as opposed to phonetic syllables) play a significant role in Devanagari. An orthographic syllable starts at the beginning of any cluster of consonants and incorporates the whole cluster plus any following vowels and diacritics. A phonetic syllable may begin and end within a consonant conjunct.
Languages written with the Devanagari script often have aspirated forms of stops and a set of retroflex consonants. These are all represented separately in the orthography.
Consonant letters may be supplemented by repertoire extensions for non-native sounds by applying the nukta diacritic to characters.
Consonant clusters at any location are normally indicated using the virama between consonants. This results in a large number of conjunct forms expressed using half-forms, stacked consonants, and ligated glyphs. Occasionally, a visible virama is used. As part of a cluster, RA typically has special forms.
Word-final consonant sounds may be represented by dedicated combining marks (anusvara & visarga), but are generally ordinary consonants that are not marked by a virama. An elided inherent vowel is not always marked. In Hindi, the inherent vowel of a penultimate consonant in a word of 3 syllables that ends in a non-inherent vowel is usually elided, and not marked as such.
Standalone vowel sounds are typically written using independent vowels, one for each vowel sound, including the inherent vowel.
Vowel nasalisation is typically indicated using a diacritic.
There is a set of native number digits. Punctuation is mostly ASCII, but dandas may be used for phrase boundaries.
The Unicode Devanagari block contains more characters than other indic scripts, partly because it serves as a pivot script for transliterations of other scripts.
All topics
- GitHub discussions
- Type samples
- Tests
- Gap analysis
Text direction
Writing mode
- Requirements
-
- Hindi Orthography Notes: Text direction
- GitHub discussions
- Type samples
- Tests
- Gap analysis
- Specification links
-
Bidirectional text
Not applicable.
Glyph shaping & positioning
Fonts & font styles
- Requirements
- GitHub discussions
- Type samples
- Tests
- Tools
- Gap analysis
- Specification links
-
Context-based shaping & positioning
- Requirements
-
- Hindi Orthography Notes: Context-based shaping & positioning
- GitHub discussions
- Type samples
- Tests
-
- Exploratory/interactive test results (tbc)
- Exploratory/interactive test repo (tbc)
- Gap analysis
- Specification links
-
Cursive text
Not applicable.
Letterform slopes, weights, & italics
- Requirements
-
- tbd
- GitHub discussions
- Type samples
- Tests
- Gap analysis
- Specification links
-
Case & other character transforms
Not applicable.
Typographic units
Characters & encoding
- Requirements
-
- Hindi Orthography Notes: Vowels • Consonants • Encoding choices
- Character usage: Devanagari
- GitHub discussions
- Type samples
-
- W3C type samples
- r12a type samples: consonants • vowels
- Tests
-
- Exploratory/interactive test results (tbc)
- Exploratory/interactive test repo (tbc)
- Gap analysis
- Specification links
-
Grapheme/word segmentation & selection
- Requirements
-
- Hindi Orthography Notes: Word boundaries • Graphemes
- GitHub discussions
- Type samples
- Tools
- Tests
- Gap analysis
- Specification links
-
Punctuation & inline features
Phrase & section boundaries
- Requirements
-
- Hindi Orthography Notes: Phrase & section boundaries
- GitHub discussions
- Type samples
-
- W3C type samples
- r12a type samples: phrases • bracketing
- Tests
-
- Exploratory/interactive test results (tbc)
- Exploratory/interactive test repo (tbc)
- Gap analysis
- Specification links
-
Quotations & citations
- Requirements
-
- Hindi Orthography Notes: Quotations & citations
- Wikipedia: Quotation mark
- GitHub discussions
- Type samples
- Tests
- Gap analysis
- Specification links
-
Emphasis & highlighting
- Requirements
-
- Hindi Orthography Notes: Emphasis & highlighting
- GitHub discussions
- Type samples
- Tests
- Gap analysis
- Specification links
-
Abbreviation, ellipsis & repetition
- Requirements
-
- Hindi Orthography Notes: Abbreviation, ellipsis & repetition
- GitHub discussions
- Type samples
- Tests
-
- Exploratory/interactive test results (tbc)
- Exploratory/interactive test repo (tbc)
- Gap analysis
- Specification links
-
Inline notes & annotations
- Requirements
-
- tbd
- GitHub discussions
- Type samples
- Tests
- Gap analysis
- Specification links
-
Other text decoration & inline features
- Requirements
-
- tbd
- GitHub discussions
- Type samples
- Tests
- Gap analysis
- Specification links
-
Line & paragraph layout
Line breaking & hyphenation
- Requirements
-
- Hindi Orthography Notes: Line breaking & hyphenation
- Approaches to line-breaking
- GitHub discussions
- Type samples
- Tests
- Gap analysis
- Specification links
-
Text alignment & justification
- Requirements
-
- Hindi Orthography Notes: Text alignment & justification
- Approaches to full justification
- GitHub discussions
- Type samples
- Tests
- Gap analysis
- Specification links
-
Text spacing
- Requirements
-
- Hindi Orthography Notes: Text spacing
- GitHub discussions
- Type samples
- Tests
- Gap analysis
- Specification links
-
Baselines, line height, etc.
- Requirements
-
- Hindi Orthography Notes: Baselines, line height, etc.
- GitHub discussions
- Type samples
- Tests
-
- Exploratory/interactive test results (tbc)
- Exploratory/interactive test repo (tbc)
- Gap analysis
- Specification links
-
Lists, counters, etc.
- Requirements
-
- Hindi Orthography Notes: Counters, lists, etc.
- Ready-made Counter Styles: Devanagari
- GitHub discussions
- Type samples
- Tests
- Gap analysis
- Specification links
-
Styling initials
- Requirements
-
- Hindi Orthography Notes: Styling initials
- GitHub discussions
- Type samples
- Tests
- Gap analysis
- Specification links
-
Page & book layout
General page layout & progression
- Requirements
-
- Hindi Orthography Notes: General page layout & progression
- GitHub discussions
- Type samples
- Tests
-
- Exploratory/interactive test results (tbc)
- Exploratory/interactive test repo (tbc)
- Gap analysis
- Specification links
-
Grids & tables
- Requirements
-
- Hindi Orthography Notes: Grids & tables
- GitHub discussions
- Type samples
- Tests
-
- Exploratory/interactive test results (tbc)
- Exploratory/interactive test repo (tbc)
- Gap analysis
- Specification links
-
Footnotes, endnotes, etc
- Requirements
-
- Hindi Orthography Notes: Notes, footnotes, etc
- GitHub discussions
- Type samples
- Tests
-
- Exploratory/interactive test results (tbc)
- Exploratory/interactive test repo (tbc)
- Gap analysis
- Specification links
-
Page headers, footers, etc
- Requirements
-
- Hindi Orthography Notes: Notes, footnotes, etc
- GitHub discussions
- Type samples
- Tests
-
- Exploratory/interactive test results (tbc)
- Exploratory/interactive test repo (tbc)
- Gap analysis
- Specification links
-
Forms & user interaction
- Requirements
-
- Hindi Orthography Notes: Forms & user interaction
- GitHub discussions
- Type samples
- Tests
-
- Exploratory/interactive test results (tbc)
- Exploratory/interactive test repo (tbc)
- Gap analysis
- Specification links
-
Change log
- Applied new template.