Improving text layout and typography on the Web and in eBooks
The W3C needs to make sure that the text layout and typographic needs of scripts and languages around the world are built in to technologies such as HTML, CSS, SVG, etc. so that Web pages and eBooks can look and behave as people expect around the world.
To that end we have experts in various parts of the world documenting layout and typographic requirements and gaps between what is needed and what is currently supported in browsers and ebook readers.
The mainstay of this work is a series of documents describing requirements for text layout and typography support on the Web and in digital publications. The documents cover Japanese, Korean, Chinese, Latin, Arabic, Ethiopic, Tibetan, various Indic scripts, and hopefully soon Mongolian and other scripts. In addition, there are other documents looking at specific aspects what is needed to properly represent content for local speakers of the many languages around the world. See a list of relevant work in this area.
This page points browser implementers and specification developers to information about how to support specific aspects of content in scripts from around the world. It serves as an index into the material described just above, but much more besides. It points to relevant information in specifications, to tests, and to useful articles and papers. It is not exhaustive, and will be added to from time to time.
Look through the list and check whether your needs are being adequately covered. If not, write to [email protected] (you need to subscribe first) and make the case. If the spec does cover your needs, but the browsers don't support your needs, raise bugs against the browsers.
Characters & phrases
Identifying boundaries of graphemes, words and larger groupings
Does the browser correctly apply functions to the basic units of text, be they characters, character sequences, syllables, or words? Are you able to select appropriate units, for example by double-clicking in the text, whether or not 'words' are separated by spaces? Should triple-clicking select a paragraph, etc.?
Requirements:
- Chinese Layout Requirements, Characters and Principles for Setting them in Chinese Composition
- Indic Layout Requirements, Text segmentation
Other links:
Punctuation
What are the typical punctuation marks used, and how are they used? (See other sections for information about how quotations work, and how punctuation interacts with boundary detection and line-breaking.)
Requirements:
Quotations
What is the expected behaviour for quotations marks, especially when nested? Should block quotes be indented or handled specially?
Requirements:
- Japanese Layout Requirements, Line Head Indent and Line End Indent
- Japanese Layout Requirements, Processing of Spaces between Paragraphs
- Japanese Layout Requirements, Adjustment of Processing of Realm in Block Direction
- Japanese Layout Requirements, Differences in Vertical and Horizontal Composition in Use of Punctuation Marks
See also Punctuation.
Spec links:
Transforming characters
What transformations does your language need? For example, are you able to convert letters to uppercase, capitalised and lowercase alternatives according to your typographic needs? Are browsers able to convert between half-width and full-width presentation forms?
Spec links:
Tests:
Letter spacing
Many scripts create emphasis or other effects by spacing out the letters or syllables in a word. We know there are questions here about how this should work in Indic and SE Asian scripts, and in Arabic-based scripts. Can you provide information? Are there requirements for other scripts that we should add?
Requirements:
- Chinese Layout Requirements, Principles for Arranging Characters during Chinese Composition
- Indic Layout Requirements, Letter spacing
- Hangul Layout Requirements, Writing Process for Punctuation Marks, etc.
Spec links:
Bidirectional text direction
Is bidirectional text support adequate for scripts like Arabic, Hebrew, Thaana, etc.
Requirements:
Spec links:
Tests:
Baselines & inline alignment
Does the specification accurately and comprehensively cover requirements for baseline alignment between mixed scripts and in general?
Requirements:
Spec links:
Other links:
Ruby annotation
The ruby spec currently specifies an initial subset of requirements for fine-tuning the typography of phonetic and semantic annotations of East Asian text, including furigana, pinyin and zhuyin fuhao systems. Is is adequate for what it sets out to do? What other controls will be needed in the future?
Requirements:
- Chinese Layout Requirements, Interlinear annotations
- Japanese Layout Requirements, Ruby and Emphasis Dots
- Japanese Layout Requirements, Positioning of Jukugo-ruby
- Use Cases & Exploratory Approaches for Ruby Markup
Spec links:
Tests:
Other links
- Bopomofo on the Web : phonetic annotations
Questions pending
Line decoration
Some aspects related to the drawing of lines alongside or through text involve local typographic considerations. For example, underlines need to be broken in special ways for some scripts, and the height of strike-through may vary depending on the script. What about vertical text? Does this section cover your needs?
Spec links:
Emphasis
Bold and italic are not always appropriate for expressing emphasis, and some scripts have their own unique ways of doing it, that are not in the Western tradition at all. Can you find what you need for your script in this section?
Requirements:
Spec links:
Other links:
Fonts
This CSS3 module describes how font properties are specified and how font resources are loaded dynamically. Are there things missing for your script?
Requirements:
- Chinese layout requirements, Typefaces for Chinese Characters
- Korean layout requirements, 'Letter Face Position in Character Frame' Standard
- Korean layout requirements, Kerning for Hangul Fonts
Spec links:
Tests:
Other links:
Blocks & paragraphs
Line breaking
Does CSS capture the rules about the way text in your script wraps when it hits the end of a line? Note that there are some specific rules about Chinese and Japanese, but we know that more information is needed for Korean, and for other scripts.
Requirements:
- Chinese Layout Requirements, Line Composition Rules for Punctuation Marks
- Chinese Layout Requirements, Hanging Punctuation at Line End
- Japanese Layout Requirements, Possibilities for Line-breaking between Characters
- Indic Layout Requirements, Guiding principles of Line breaking for Indian languages
- Hangul Layout Requirements, Writing Process for Punctuation Marks, etc.
- Hangul Layout Requirements, Line Breaking Rules
Spec links:
Tests:
- Line break, BA: Break after
- Line break, OP, CL and NS
- Non-tailorable line breaking
- Line break, Japanese
- Line break, Chinese
- Word-break
Other links:
Hyphenation
Is hyphenation or its alternatives correctly described when it comes to your script or language?
Requirements:
- Indic Layout Requirements, Hyphenation
- Latin Layout Requirements, Hyphenation
- Latin Layout Requirements, The Classical Rules of Hyphenation and Pagination
Spec links:
Tests:
Other links:
Justification & line-end alignment
Do the start and end values work (particularly useful for right-to-left scripts)? When text in a paragraph needs to have flush lines down both sides, does it follow the rules for your script? Does the script conform to a grid pattern? Can you provide information?
Requirements:
- Chinese Layout Requirements, Line Composition Rules for Punctuation Marks
- Chinese Layout Requirements, Composition of Chinese and Western Mixed Texts
- Japanese Layout Requirements, Line Adjustment
- Japanese Layout Requirements, Opportunities for Inter-character Space Reduction during Line Adjustment
- Japanese Layout Requirements, Opportunities for Inter-character Space Expansion during Line Adjustment
- Hangul Layout Requirements, Paragraph Adjustment
- Hangul Layout Requirements, Line Adjustment Process
- Latin Layout Requirements, Justification
- Ethiopic Layout Requirements, Justification
Spec links:
Tests
Other links
- Arabic text justification
- Justify Just or Just Justify (Arabic text justification)
- Typography questions for HTML & CSS: Arabic justification
- Rule-based expert system for Urdu nastaleeq justification
- Proposal to Reclassify Ethiopic Wordspace as a Space Separator (Zs) Symbol
- Tibetan script notes
- Tibetan script requirements (.ppt)
White space and wrapping in source code
Do the rules for transforming white space in the source text for display meet the requirements of your script? This is particularly relevant for Far Eastern and South East Asian scripts, that don't use spaces between words.
Spec links:
Tests:
Counters, lists, etc
The CSS specification describes a limited set of simple and complex styles for counters to be used in list numbering, chapter heading numbering, etc. Are the details correct? We have another document that provides over 120 templates for user-defined counter styles in over 30 scripts. Are there more? Are there other aspects related to counters and lists that need to be addressed?
Spec links:
Tests:
Other paragraph features
Are the rules for indenting text at the start of a paragraph sufficient to support your language or script? Does your script allow punctuation to hang outside the text box at the start or end of a line? If so, does this section cover your needs?
Requirements:
- Chinese Layout Requirements, Hanging Punctuation at Line End
- Chinese Layout Requirements, Paragraph Adjustment Rules
- Japanese Layout Requirements, Page wise Arrangement of Kihon-hanmen Elements
- Japanese Layout Requirements, Paragraph Adjustment Rules
- Japanese Layout Requirements, Block Direction Setting Process of Lines, Paragraphs etc.
- Hangul Layout Requirements, Paragraph Adjustment
- Latin Layout Requirements, Paragraphs and indentation
Spec links:
Layout & pages
Initial letter styling
Does the browser or ereader correctly handle special styling of the initial letter of a line or paragraph, such as for drop caps?
Requirements:
Spec links:
Tests:
Direction-agnostic layout
When content can flow vertically and to the left or right, how do you specify the location of objects, text, etc. relative to the flow? For example, keywords 'left' and 'right' are likely to need to be reversed for pages written in English and page written in Arabic.
Spec links:
Vertical text
How well does the spec cover the requirements for vertically oriented text? What about if you mix vertical text with scripts that are normally only horizontal – does that work as described?
Requirements:
- Chinese Layout Requirements, Writing Mode
- Japanese Layout Requirements, Vertical Writing Mode and Horizontal Writing Mode
- Hangul Layout Requirements, Writing Direction (Horizontal Writing, Vertical Writing)
- Hangul Layout Requirements, Writing Process for Punctuation Marks, etc.
Spec links:
Other links:
Mixed horizontal and vertical text
The spec describes rules for embedding horizontal runs of text in vertical lines, as is often seen with numbers in Chinese, Japanese and Korean vertically-set text. Is this adequately covered?
Requirements:
- Japanese Layout Requirements, Japanese and Western Mixed Text Composition (including Horizontal-in-Vertical Text Composition)
- Indic Layout Requirements, Vertical arrangements of characters
- Hangul Layout Requirements, Hangul and Latin Mixed Writing (Including Partial Horizontal Writing in Vertical Writing)
Spec links:
Notes, footnotes, etc
Does the browser or ereader provide support for notes, footnotes, endnotes or other necessary annotations of this kind in the way needed for your culture?
Requirements:
Page numbering, running headers, etc
Are there special conventions for page numbering, or the way that running headers and the like are handled in your culture?
Requirements:
More page layout and pagination
Some cultures define page areas and page progression direction very differently from those in the West. Is this an issue for you? Are widows and orphans relevant? In what order do pages progress, RTL or LTR?
Requirements:
- Chinese Layout Requirements, The Type Area (or Printing Area)
- Chinese Layout Requirements, Handling of Widows and Orphans
- Chinese Layout Requirements, Headings & Page Breaks
- Japanese Layout Requirements, Vertical Writing Mode and Horizontal Writing Mode
- Japanese Layout Requirements, Page Formats for Japanese Documents
- Japanese Layout Requirements, Specifying the Kihon-hanmen
- Hangul Layout Requirements
- Latin Layout Requirements, Paginating Single-Column Text
- Latin Layout Requirements, Heads
- Latin Layout Requirements, The Classical Rules of Hyphenation and Pagination
- Latin Layout Requirements, Paginating Single-Column Text
Other links:
Other
Culture-specific features
Sometimes a script or language does things that are not common outside of it sphere of influence. This is a loose bag of additional items that weren't previously mentioned.
Requirements:
What else?
There are many other CSS modules which may need review for script-specific requirements, not to mention the SVG, HTML, Speech, MathML and other specifications.
What else is likely to cause problems for worldwide deployment of the Web, and what requirements need to be addressed to make the Web function well locally?
If you have comments about this page, send them to [email protected].
Content last changed 2015-12-16 8:04 GMT
Copyright © 2015 W3C® (MIT, ERCIM, Keio, Beihang), All Rights Reserved. W3C liability, trademark, document use and software licensing rules apply. Your interactions with this site are in accordance with our public and Member privacy statements.