ISO/IECJTC1/SC29N

Date:2016-02-26

ISO/IEC14496-22:2015/PDAM2

ISO/IECJTC1/SC29/WG11

Secretariat:

Information technology— Coding of audio-visual objects— Part22: Updated text layout features and implementations

Élément introductif— Élément central— Partie22: Titre de la partie

Warning

This document is not an ISO International Standard. It is distributed for review and comment. It is subject to change without notice and may not be referred to as an International Standard.

Recipients of this draft are invited to submit, with their comments, notification of any relevant patent rights of which they are aware and to provide supporting documentation.

Copyright notice

This ISO document is a working draft or committee draft and is copyright-protected by ISO. While the reproduction of working drafts or committee drafts in any form for use by participants in the ISO standards development process is permitted without prior permission from ISO, neither this document nor any extract from it may be reproduced, stored or transmitted in any form for any other purpose without prior written permission from ISO.

Requests for permission to reproduce this document for the purpose of selling it should be addressed as shown below or to ISO's member body in the country of the requester:

[Indicate the full address, telephone number, fax number, telex number, and electronic mail address, as appropriate, of the Copyright Manger of the ISO member body responsible for the secretariat of the TC or SC within the framework of which the working document has been prepared.]

Reproduction for sales purposes may be subject to royalty payments or a licensing agreement.

Violators may be prosecuted.

Contents Page

Foreword v

Introduction v

1 Scope 1

2 Amended content 1

Foreword

ISO (the International Organization for Standardization) and IEC (the International Electrotechnical Commission) form the specialized system for worldwide standardization. National bodies that are members of ISO or IEC participate in the development of International Standards through technical committees established by the respective organization to deal with particular fields of technical activity. ISO and IEC technical committees collaborate in fields of mutual interest. Other international organizations, governmental and non-governmental, in liaison with ISO and IEC, also take part in the work. In the field of information technology, ISO and IEC have established a joint technical committee, ISO/IECJTC1.

International Standards are drafted in accordance with the rules given in the ISO/IECDirectives, Part2.

The main task of the joint technical committee is to prepare International Standards. Draft International Standards adopted by the joint technical committee are circulated to national bodies for voting. Publication as an International Standard requires approval by at least 75% of the national bodies casting a vote.

Attention is drawn to the possibility that some of the elements of this document may be the subject of patent rights. ISO and IEC shall not be held responsible for identifying any or all such patent rights.

Amendment2 to ISO/IEC1449622:2015 was prepared by Joint Technical Committee ISO/IECJTC1, Information Technology, Subcommittee SC29, Coding of audio, picture, multimedia and hypermedia information.

v

Information technology— Coding of audio-visual objects— Part22: Updated text layout features and implementations

1  Scope

This amendment modifies certain parts of the ISO/IEC 14496-22:2015 "Open Font Format" (3rd edition) to clarify implementation details of text layout features and implementations, and makes other changes and updates.

2  Amended content

In clause 2 “Normative references”, replace the reference to the Unicode Standard with the following text:

Unicode 8.0, < http://www.unicode.org/versions/Unicode8.0.0/

In subclause 5.2.7.3 “usWeightClass”, in the end of the "Description" field – add the following text:

Only values from 1–999 are valid.

In subclause 5.2.7.3 “usWeightClass”, in the "Comments" field – add the following text preceding the table:

There may be legacy platform limitations on certain usWeightClass values. The following are commonly set values:

In subclause 5.5.1 “The SVG table”, in section "SVG Document Index Entry" – replace the second before last paragraph with the following:

While SVG 1.1 requires [16] in addition to plain text encoding that conforming SVG implementations must correctly support gzip-encoded [RFC1952] and deflate-encoded [RFC1951] data streams, this specification requires that the SVG documents be either plain-text or gzip-encoded [RFC1952]. The encoding of the (uncompressed) SVG document must be UTF-8. In both cases, svgDocLength encodes the length of the encoded data, not the decoded document.

In subclause 6.4.1 “Script Tags” – replace the script tag table with the following:

Script / Script Tag
Adlam / adlm
Ahom / ahom
Anatolian Hieroglyphs / hluw
Arabic / arab
Armenian / armn
Avestan / avst
Balinese / bali
Bamum / bamu
Bassa Vah / bass
Batak / batk
Bengali / beng
Bengali v.2 / bng2
Bhaiksuki / bhks
Bopomofo / bopo
Brahmi / brah
Braille / brai
Buginese / bugi
Buhid / buhd
Byzantine Music / byzm
Canadian Syllabics / cans
Carian / cari
Caucasian Albanian / aghb
Chakma / cakm
Cham / cham
Cherokee / cher
CJK Ideographic / hani
Coptic / copt
Cypriot Syllabary / cprt
Cyrillic / cyrl
Default / DFLT
Deseret / dsrt
Devanagari / deva
Devanagari v.2 / dev2
Duployan / dupl
Egyptian hieroglyphs / egyp
Elbasan / elba
Ethiopic / ethi
Georgian / geor
Glagolitic / glag
Gothic / goth
Grantha / gran
Greek / grek
Gujarati / gujr
Gujarati v.2 / gjr2
Gurmukhi / guru
Gurmukhi v.2 / gur2
Hangul / hang
Hangul Jamo / jamo
Hanunoo / hano
Hatran / hatr
Hebrew / hebr
Hiragana / kana
Imperial Aramaic / armi
Inscriptional Pahlavi / phli
Inscriptional Parthian / prti
Javanese / java
Kaithi / kthi
Kannada / knda
Kannada v.2 / knd2
Katakana / kana
Kayah Li / kali
Kharosthi / khar
Khmer / khmr
Khojki / khoj
Khudawadi / sind
Lao / lao
Latin / latn
Lepcha / lepc
Limbu / limb
Linear A / lina
Linear B / linb
Lisu (Fraser) / lisu
Lycian / lyci
Lydian / lydi
Mahajani / mahj
Marchen / marc
Malayalam / mlym
Malayalam v.2 / mlm2
Mandaic, Mandaean / mand
Manichaean / mani
Mathematical Alphanumeric Symbols / math
Meitei Mayek (Meithei, Meetei) / mtei
Mende Kikakui / mend
Meroitic Cursive / merc
Meroitic Hieroglyphs / mero
Miao / plrd
Modi / modi
Mongolian / mong
Mro / mroo
Multani / mult
Musical Symbols / musc
Myanmar / mymr
Myanmar v.2 / mym2
Nabataean / nbat
Newa / newa
New Tai Lue / talu
N'Ko / nko
Odia (formerly Oriya) / orya
Odia (formerly Oriya) v.2 / ory2
Ogham / ogam
Ol Chiki / olck
Old Italic / ital
Old Hungarian / hung
Old North Arabian / narb
Old Permic / perm
Old Persian Cuneiform / xpeo
Old South Arabian / sarb
Old Turkic, Orkhon Runic / orkh
Osage / osge
Osmanya / osma
Pahawh Hmong / hmng
Palmyrene / palm
Pau Cin Hau / pauc
Phags-pa / phag
Phoenician / phnx
Psalter Pahlavi / phlp
Rejang / rjng
Runic / runr
Samaritan / samr
Saurashtra / saur
Sharada / shrd
Shavian / shaw
Siddham / sidd
Sign Writing / sgnw
Sinhala / sinh
Sora Sompeng / sora
Sumero-Akkadian Cuneiform / xsux
Sundanese / sund
Syloti Nagri / sylo
Syriac / syrc
Tagalog / tglg
Tagbanwa / tagb
Tai Le / tale
Tai Tham (Lanna) / lana
Tai Viet / tavt
Takri / takr
Tamil / taml
Tamil v.2 / tml2
Tangut / tang
Telugu / telu
Telugu v.2 / tel2
Thaana / thaa
Thai / thai
Tibetan / tibt
Tifinagh / tfng
Tirhuta / tirh
Ugaritic Cuneiform / ugar
Vai / vai
Warang Citi / wara
Yi / yi

In subclause 6.4.3.2 “Feature descriptions and implementations” – replace the current description of the tag 'fina' with the following text:

Tag: 'fina'

Friendly name: Terminal Forms

Registered by: Microsoft/Adobe (revised in 2016)

Function: Unicode joining-script shaping [20] for single-joining final (‘R Right_Joining’ in right-to-left scripts; ‘L Left_Joining’ in left-to-right scripts) or dual-joining characters in final situation.

Example: In an Arabic script font, the application would apply the fina feature to the letter و when it follows a left-joining character, thereby replacing the current و glyph with its right-joining final form.

Recommended Implementation: The ‘fina’ table maps default forms to corresponding single-joining final forms (GSUB lookup type 1). Contextual lookups (GSUB lookup type 5, 6 or 8) may also occur in some fonts.

Application interface: The application is responsible for parsing character strings and identifying which orthographic shaping form feature to apply to which GIDs, based on the character Joining_Type property specified in the Unicode standard for joining-script shaping (additional factors, such as the presence of control characters, may determine a final situation). For GIDs found in the ‘fina’ coverage table, the application passes a GID to the feature and gets back a new GID.

UI suggestion: This feature should be active by default.

Script/language sensitivity: Can be used in any script with joining properties specified in the Unicode standard for joining-script shaping [20].

Feature interaction: This feature may be used in combination with other substitution (GSUB) features, whose results it may override. See also ‘init’, ‘isol’, and ‘medi’.

In subclause 6.4.3.2 “Feature descriptions and implementations”, in the current description of the tag 'halt' – replace the "UI suggestion" field with the following text:

UI suggestion: This feature should be off by default. However, implementations conforming to Requirements for Japanese Text Layout (JLREQ [21]) or similar CJK text layout standard that expect half-width forms of characters whose default glyphs are full-width should turn on this feature by default, or selectively apply this feature to particular characters that require special treatment for CJK text layout purposes, such as brackets, punctuation, and quotes.

In subclause 6.4.3.2 “Feature descriptions and implementations”, in the current description of the tag 'hngl' – replace the "Tag" field with the following text:

Tag: 'hngl' (DEPRECATED in 2016)

In subclause 6.4.3.2 “Feature descriptions and implementations” – replace the current description of the tag 'init' with the following text:

Tag: 'init'

Friendly name: Initial Forms

Registered by: Microsoft/Adobe (revised in 2016)

Function: Unicode joining-script shaping [20] for single-joining initial (‘R Right_Joining’ in left-to-right scripts; ‘L Left_Joining’ in right-to-left scripts) or dual-joining characters in initial situations.

Example: In an Arabic script font, the application would apply the init feature to the letter س when it precedes a right-joining character, thereby replacing the current س glyph with its left-joining initial form.

Recommended Implementation: The ‘init’ table maps default forms to corresponding single-joining initial forms (GSUB lookup type 1). Contextual lookups (GSUB lookup type 5, 6 or 8) may also occur in some fonts.

Application interface: The application is responsible for parsing character strings and identifying which orthographic shaping form feature to apply to which GIDs, based on the character Joining_Type property specified in the Unicode standard for joining-script shaping (additional factors, such as the presence of control characters, may determine an initial situation). For GIDs found in the ‘init’ coverage table, the application passes a GID to the feature and gets back a new GID.

UI suggestion: This feature should be active by default.

Script/language sensitivity: Can be used in any script with joining properties specified in the Unicode standard for joining-script shaping [20].

Feature interaction: This feature may be used in combination with other substitution (GSUB) features, whose results it may override. See also ‘fina’, ‘isol’, and ‘medi’.

In subclause 6.4.3.2 “Feature descriptions and implementations” – replace the current description of the tag 'isol' with the following text:

Tag: 'isol'

Friendly name: Isolated Forms

Registered by: Microsoft/Adobe (revised in 2016)

Function: Unicode joining-script shaping [20] for non-joining or left-, right-, or dual-joining characters in isolated situation. Note that in many fonts this feature may not be implemented, as the default forms of the relevant characters are the isolated forms; in some fonts this feature may involve contextual substitution based on kind of isolated situation.

Example: In an Arabic script font, the application would apply the init feature to the letter ه when not adjacent to any joining character, thereby potentially replacing the current ه glyph with a special isolated form (this would likely be a contextual and language-specific substitution, substituting one isolated form for another when not adjacent to any letter or numeral glyph).

Recommended Implementation: The ‘isol’ table maps default forms to corresponding isolated forms (GSUB lookup type 1). Contextual lookups (GSUB lookup type 5, 6 or 8) may also occur in some fonts.

Application interface: The application is responsible for parsing character strings and identifying which orthographic shaping form feature to apply to which GIDs, based on the character Joining_Type property specified in the Unicode standard for joining-script shaping (additional factors, such as the presence of control characters, may determine an isolated situation). For GIDs found in the ‘isol’ coverage table, the application passes a GID to the feature and gets back a new GID.

UI suggestion: This feature should be active by default.

Script/language sensitivity: Can be used in any script with joining properties specified in the Unicode standard for joining-script shaping [20].

Feature interaction: This feature may be used in combination with other substitution (GSUB) features, whose results it may override. See also ‘fina’, ‘init’, and ‘medi’.

In subclause 6.4.3.2 “Feature descriptions and implementations” – replace the current description of the tag 'medi' with the following text:

Tag: 'medi'

Friendly name: Medial Forms

Registered by: Microsoft/Adobe (revised in 2016)

Function: Unicode joining-script shaping [20] for dual-joining characters in medial situations.

Example: In an Arabic script font, the application would apply the medi feature to the letter ق when it follows a left-joining character and precedes and right-joining character, thereby replacing the current ق glyph with its dual-joining medial form.

Recommended Implementation: The ‘medi’ table maps default forms to corresponding dual-joining forms (GSUB lookup type 1). Contextual lookups (GSUB lookup type 5, 6 or 8) may also occur in some fonts.

Application interface: The application is responsible for parsing character strings and identifying which orthographic shaping form feature to apply to which GIDs, based on the character Joining_Type property specified in the Unicode standard for joining-script shaping (additional factors, such as the presence of control characters, may determine a medial situation). For GIDs found in the ‘medi’ coverage table, the application passes a GID to the feature and gets back a new GID.