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

This document describes the basic requirements for Mongolian 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 N’Ko script languages. The information here is developed in conjunction with a document that summarises gaps in support on the Web for N’Ko.

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.

X 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.



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

Thanks to the following people who contributed information that is used in this document (contributors' names listed in in alphabetic order): Coleman Donaldson, Diéfadima Dioubate Sesay, Neil Suresh Patel.

See also the GitHub contributors list for the N’Ko Language Enablement project, and the discussions related to N’Ko script.

About this document

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

Gap analysis

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

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

N’Ko script overview

The N’Ko script is an alphabet. Both consonants and vowels are indicated by letters.

N’Ko text is written right-to-left in horizontal lines. Unlike other RTL scripts, such as Arabic and Hebrew, numbers are also written right-to-left.

Words are separated by spaces.

The script is normally cursive, but in certain circumstances a non-joining font style may be used.

N’Ko has 19 native consonant letters. Use of 3 different diacritics results in letters for 22 more sounds used in foreign and loan words (mostly French or Arabic). There is also a nasal syllabic, and 2 'abstract' characters

N’Ko doesn't have corresponding letters for g, ŋ, and z used in the Latin orthographies of Manding languages. Also, plurals that are written by appending a w to a word in Bamanan are generally written in N’Ko by adding a free-standing particle such as ߟߎ߬ or ߠߎ߬ .

An unusual feature is that if two adjacent consonants are followed by the same vowel, the vowel is omitted after the first consonant.

N’Ko has 7 vowel letters. A diacritic is used to create 3 more letters for foreign sounds.

Another diacritic produces nasalisation of the vowel sound.

N’Ko also has a letter to indicate the absence of a vowel, which is used regularly.

N’Ko has 7 combining tone marks and 2 tone letters. Several of these have more than one use, indicating vowel length in addition to tone.

N’Ko has it's own set of digits, which, unlike Arabic, are written right-to-left.

All topics

Text direction

Bidirectional text

Glyph shaping & positioning

The orthography has no case distinction, and no special transforms are needed to convert between characters.

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

Other inline features

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

Forms & user interaction

Change log

References & sources

1 Clear Language: Script, Register And The N’ko Movement Of Manding-Speaking West Africa, University of Pennsylvania ScholarlyCommons (retr. Nov 2021)

2 Michael Everson, Mamady Doumbouya, Baba Mamadi Diané, Karamo Kaba Jammeh, Clarification on the identity and use of three N’Ko letters

3 Michael Everson, Proposal to encode four N’Ko characters in the BMP of the UCS

4 Michael Everson, Mamady Doumbouya, Baba Mamadi Diané, Karamo Kaba Jammeh, Proposal to add the N’Ko script to the BMP of the UCS

5 GitHub, Afrlreq, Direction of slant for italic/oblique RTL text

6 N’ko for Beginners: Introduction (retr. Nov 2021)

7 Omniglot, Bamum syllabary

8 Unicode Consortium, The Unicode Standard, Version 13.0, Chapter 19.4: Africa, N’Ko, 772-776, ISBN 978-1-936213-16-0.

9 Unicode Consortium, Unicode Line Breaking Algorithm (UAX#14)

10 Wikipedia, N'Ko alphabet

11 François Yergeau, Patrick Andries, For a Correct Encoding of N’Ko