CARVIEW |
This document describes or points to requirements for the layout and presentation of Urdu text when it is used by Web standards and technologies, such as HTML, CSS, Mobile Web, Digital Publications, and Unicode.
🚩
This document is retired and MUST NOT be used for further technical work.
See Arabic Script Resources instead.
🚩 Retired document. Do not use.
This document describes the basic requirements for Urdu 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 Arabic scripts.
The editor's draft of this document is being developed as part of the Arabic script enablement initiative, 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 a separate issue for each comment, and at the start of the issue add a URL pointing to the section you are commenting on.
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
The aim of this document is to describe the basic requirements for Urdu 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 Urdu.
Contributors
The initial information in this document was created by Richard Ishida (W3C).
See also the GitHub contributors list for the Arabic Script Enablement project, and the discussions.
About this document
The aim of this document is to describe the basic requirements for Urdu 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 Urdu.
The document focuses on typographic layout issues. For a deeper understanding of the Urdu orthography and how it works see Urdu (Nastaliq Arabic) Orthography Notes, which includes topics such as: Phonology, Vowels, Consonants, Encoding choices, and Numbers.
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.
Gap analysis
This document should be used alongside a separate document, Urdu Gap Analysis, which describes gaps in support for Urdu on the Web, 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 it for Urdu)
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 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 in W3C working groups related to Arabic scripts. 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
- GitHub discussions
- Type samples
- Tests
- Gap analysis
Text direction
Bidirectional text
- Requirements
-
- Urdu Orthography Notes: Text direction
- Additional Requirements for Bidi in HTML & CSS
- GitHub discussions
- Tests
- Gap analysis
- LE Index
Arabic script is written from right to left. Numbers, even Arabic numbers, are written from left to right, as is text in a script that is normally left-to-right.
When the main script is Arabic, the layout and structure of pages and documents are also set from right to left.
Vertical text
- GitHub discussions
- Tests
- Gap analysis
- LE Index
Glyph shaping & positioning
Fonts & font styles
- Requirements
-
- Generic font families (nastaliq)
- List of system fonts
- GitHub discussions
- Tests
- Gap analysis
- LE Index
Context-based shaping & positioning
- Requirements
-
- Urdu Orthography Notes: Context-based shaping & positioning
- GitHub discussions
- Tests
-
- Exploratory/interactive test results (tbc)
- Exploratory/interactive test repo (tbc)
- Gap analysis
- LE Index
Cursive text
- Requirements
-
- Urdu Orthography Notes: Cursive script
- GitHub discussions
- Tests
- Gap analysis
- LE Index
Arabic script is a cursive writing system; i.e, letters can join to their neighboring letters. Besides the core behavior of the script, there are some details on how content is encoded in Unicode, and some rules around joining behavior when rendering special cases.
Letterform slopes, weights, & italics
- GitHub discussions
- Tests
- Gap analysis
- LE Index
Typographic units
Characters & encoding
- Requirements
-
- Urdu Orthography Notes: Vowels • Consonants
- Character usage: Urdu
- GitHub discussions
- Tests
-
- Exploratory/interactive test results (tbc)
- Exploratory/interactive test repo (tbc)
- Gap analysis
- LE Index
Grapheme/word segmentation & selection
- Requirements
-
- Urdu Orthography Notes: Word boundaries
- GitHub discussions
- Tests
- Gap analysis
- LE Index
Punctuation & inline features
Phrase & section boundaries
- Requirements
-
- Urdu Orthography Notes: Phrase & section boundaries
- GitHub discussions
- Tests
-
- Exploratory/interactive test results (tbc)
- Exploratory/interactive test repo (tbc)
- Gap analysis
- LE Index
Quotations & citations
- Requirements
-
- Urdu Orthography Notes: Quotations & citations
- GitHub discussions
- Tests
- Gap analysis
- LE Index
Emphasis & highlighting
- Requirements
-
- tbd
- GitHub discussions
- Tests
- Gap analysis
- LE Index
Abbreviation, ellipsis & repetition
- Requirements
-
- tbd
- GitHub discussions
- Tests
-
- Exploratory/interactive test results (tbc)
- Exploratory/interactive test repo (tbc)
- Gap analysis
- LE Index
Inline notes & annotations
- Requirements
-
- tbd
- GitHub discussions
- Tests
- Gap analysis
- LE Index
Text decoration & other inline features
- Requirements
-
- tbd
- GitHub discussions
- Tests
- Gap analysis
- LE Index
Data formats & numbers
- Requirements
-
- Urdu Orthography Notes: Numbers, dates, currency, etc.
- GitHub discussions
- Tests
-
- Exploratory/interactive test results (tbc)
- Exploratory/interactive test repo (tbc)
- Gap analysis
- LE Index
Line & paragraph layout
Line breaking & hyphenation
- Requirements
-
- Urdu Orthography Notes: Line breaking & hyphenation
- Approaches to line-breaking
- GitHub discussions
- Tests
- Gap analysis
- LE Index
Text alignment & justification
- Requirements
- GitHub discussions
- Tests
- Gap analysis
- LE Index
Text spacing
- Requirements
-
- Urdu Orthography Notes: Text spacing
- GitHub discussions
- Tests
- Gap analysis
- LE Index
Baselines, line height, etc.
- Requirements
-
- Urdu Orthography Notes: Baselines, line height, etc.
- GitHub discussions
- Tests
-
- Exploratory/interactive test results (tbc)
- Exploratory/interactive test repo (tbc)
- Gap analysis
- LE Index
Arabic script ascenders and descenders extend much further than those of the Latin script, and care must be taken to correctly align text in the different scripts when they appear together.
Lists, counters, etc.
- Requirements
-
- Ready-made Counter Styles: Arabic
- GitHub discussions
- Type samples
- Tests
- Gap analysis
- LE Index
Styling initials
- Requirements
-
- tbd
- GitHub discussions
- Tests
- Gap analysis
- LE Index
Page & book layout
Footnotes, endnotes, etc
- Requirements
-
- Urdu Orthography Notes: Notes, footnotes, etc
- GitHub discussions
- Type samples
- Tests
-
- Exploratory/interactive test results (tbc)
- Exploratory/interactive test repo (tbc)
- Gap analysis
- LE Index