This document points to resources for the layout and presentation of text in languages that use the Gujarati 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 Gujarati text.

This document points to resources for Gujarati 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 Gujarati script. The information here is developed in conjunction with a document that summarises gaps where the Web fails to adequately support the Gujarati script.

The editor's draft of this document is being developed in the GitHub repository Indian Language Enablement (iip), 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.

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

About this document

This document points to resources for Gujarati 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 Gujarati script. They include requirements, tests, GitHub discussions, type samples, and more,

The document focuses on typographic layout issues. For a deeper understanding of the Gujarati script and how it works see Gujarati 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, Gujarati Gap Analysis, which describes gaps in language support for users of the Gujarati 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 Gujarati 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 Gujarati 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 Gujarati script. See a list of unresolved questions for Gujarati experts. Each section below points to related discussions. See also the repository home page.

Gujarati Script Overview

The Gujarati script is an abugida. Consonants carry an inherent vowel which can be modified by appending vowel signs to the consonant.

Gujarati text runs left to right in horizontal lines. Words are separated by spaces. There is no uppercase and lowercase distinction.

Gujarati uses 34 consonant letters. The repertoire can be extended by applying the nukta diacritic to characters, or with additional characters, but these are used for Arabic and Avestan transliterations, rather than current Gujarati text. Gujarati doesn't use a shiroreka (top line) like its close relative Devanagari.

Final consonant sounds may be represented by 2 dedicated combining marks (anusvara & visarga), but are generally ordinary consonants that are not marked by a virama.

Consonant clusters can be indicated using the virama between consonants and include half-forms, stacked consonants, and ligated glyphs. Occasionally, a visible virama is used. In addition, participating consonants may just be moved together. Gujarati is also unusual in that components in clusters sometimes used Devanagari glyphs for one or more Gujarati characters.

The Gujarati orthography is an abugida with one inherent vowel, pronounced ə. Other post-consonant vowels are written using 11 vowel signs, all combining marks, and only one per consonant.

Gujarati has one pre-base vowel, but there are no multipart vowels nor circumgraphs.

There are separate vowel signs for the historical short and long variants, but length is no longer distinctive in modern pronunciation. It is only found in metrical structures of verse.

Standalone vowels are written using 12 independent vowels, one for each vowel sound, including the inherent vowel. Some vowel signs can be visually analysed into subcomponents, but Unicode usage involves only one combining character per consonant.

Vowels may be nasalised, using the anusvara diacritic.

The absence of the inherent vowel is not always indicated. It is generally not pronounced at the end of a word, but also it is sometimes elided without indications within a word.

Two vocalics are used in current text. Others were used historically.

Gujarati has a set of native digits. Punctuation includes mostly ASCII but may also include dandas.

All topics

Text direction

Writing mode

Gujarati text runs left to right in horizontal lines.

Bidirectional text

Not applicable.

Glyph shaping & positioning

Fonts & font styles

Context-based shaping & positioning

Cursive text

Not applicable.

Letterform slopes, weights, & italics

Case & other character transforms

Not applicable.

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 text decoration & inline features

Data formats & numbers

Line & paragraph layout

Line breaking & hyphenation

Text alignment & justification

Text spacing

Baselines, line height, etc.

Lists, counters, etc.

Styling initials

Page & book layout

General page layout & progression

Grids & tables

Footnotes, endnotes, etc

Page headers, footers, etc

Forms & user interaction