Adlam Layout Requirements

W3C Group Draft Note

More details about this document
This version:
https://www.w3.org/TR/2024/DNOTE-adlm-lreq-20240530/
Latest published version:
https://www.w3.org/TR/adlm-lreq/
Latest editor's draft:
https://w3c.github.io/afrlreq/adlm/
History:
https://www.w3.org/standards/history/adlm-lreq/
Commit history
Editor:
(W3C)
Feedback:
GitHub w3c/sealreq (pull requests, new issue, open issues)

Abstract

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

Status of This Document

This section describes the status of this document at the time of its publication. A list of current W3C publications and the latest revision of this technical report can be found in the W3C technical reports index at https://www.w3.org/TR/.

This document describes the basic requirements for Adlam 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 Adlam script languages. Currently the document focuses on the Adlam script as used for Fula. The information here is developed in conjunction with a document that summarises gaps in support on the Web for Adlam.

The editor's draft of this document is being developed by the African 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.

This document was published by the Internationalization Working Group as a Group Draft Note using the Note track.

Group Draft Notes are not endorsed by W3C nor its Members.

This is a draft document and may be updated, replaced or obsoleted by other documents at any time. It is inappropriate to cite this document as other than work in progress.

The W3C Patent Policy does not carry any licensing requirements or commitments on this document.

This document is governed by the 03 November 2023 W3C Process Document.

1. Introduction

1.1 Contributors

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

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

1.2 About this document

The aim of this document is to describe the basic requirements for Adlam 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 Adlam script. The document currently focuses on texts using the Fula language.

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.

1.3 Gap analysis

This document is pointed to by a separate document, Adlam Gap Analysis, which describes gaps in support for Adlam 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 Adlam 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.

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 Adlam 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 Adlam script. See a list of unresolved questions for Adlam experts. Each section below points to related discussions. See also the repository home page.

2. Adlam Script Overview

The Adlam script is an alphabet, ie. a writing system in which both consonants and vowels are indicated.

Modern Adlam can be written using a subset of the letters available in the Adlam Unicode block. The remainder are used for writing Todo, Sibe, and Manchu, or for writing foriegn words, especially in Tibetan and Sanskrit.

Adlam text runs right-to-left in horizontal lines. Unlike Arabic, numbers are also written right-to-left.

The script can be written cursively or not. Non-joining fonts may be used for titles, etc.

Adlam is bicameral.

The native consonant letters used for Fula are supplemented by repertoire extensions for more sounds used in foreign and loan words, and by applying a consonant modifier diacritic or a nukta to characters for more foreign (mostly Arabic) sounds.

There is no special treatment for consonant clusters or final consonants.

Diacritics are used to indicate prenasalisation and gemination.

This script is an alphabet where vowels are written using 5 vowel letters (10 counting both uppercase and lowercase) and 3 combining marks. The 5 vowel letters do not reflect differences in vowel quality associated with short vs. long vowels. A nukta diacritic can be used to indicate 2 specific sounds (though that is rare).

Long vowels are also indicated using one of 2 combining marks.

Standalone vowels are written using ordinary vowel letters and no special arrangements.

Adlam has a set of native numerals. Numbers are written from right-to-left, and therefore do not create bidirectional text.

3. All topics

4. Text direction

4.1 Bidirectional text

5. Glyph shaping & positioning

5.1 Fonts & font styles

5.2 Context-based shaping & positioning

5.3 Cursive text

5.4 Letterform slopes, weights, & italics

5.5 Case & other character transforms

6. Typographic units

6.1 Characters & encoding

6.2 Grapheme/word segmentation & selection

7. Punctuation & inline features

7.1 Phrase & section boundaries

7.2 Quotations & citations

7.3 Emphasis & highlighting

7.4 Abbreviation, ellipsis & repetition

7.5 Inline notes & annotations

7.6 Other inline features

8. Line & paragraph layout

8.1 Line breaking & hyphenation

8.2 Text alignment & justification

8.3 Text spacing

8.4 Baselines, line height, etc.

8.5 Lists, counters, etc.

8.6 Styling initials

9. Page & book layout

9.1 General page layout & progression

9.2 Forms & user interaction

A. Change log