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

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

The editor's draft of this document is being developed in the GitHub repository Language Enablement for Arabic Script languages (alreq), 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

The initial information in this document was created by Richard Ishida (W3C).

See also the GitHub contributors list, and the discussions.

About this document

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

A large number of languages are written using the Arabic script. Often the script is adapted in order to write a given language. For example, Arabic, Persian, and Urdu abjads write vowels using a mixture of letters and diacritics, but the diacritics are only ever used when it is necessary to clarify certain vowel sounds and are rarely found in normal text; Uighur, on the other hand, uses letters only for vowel sounds, behaving like an alphabet; languages such as Kashmiri and African ajami also use a mixture of letters and diacritics to write vowels, but the diacritics are not dropped, making their use of the script also alphabetic.

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

Gap analysis

This document is pointed to by a separate document, Arabic Script Gap Analysis, which describes gaps in language support for users of the Arabic 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 Arabic script items)

Other related resources

The 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 Arabic script, including requests from developers to the user community for information about how scripts/languages work, and a notification system that tracks issues related to Arabic scripts in W3C working groups. See a list of unresolved questions for Arabic script experts. Each section below points to related discussions. See also the repository home page.

All topics

Text direction

Bidirectional text

Vertical text

Glyph shaping & positioning

Fonts & font styles

Context-based shaping & positioning

Cursive text

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

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