< draft-ietf-justfont-toplevel-00.txt   draft-ietf-justfont-toplevel-01.txt >
Network Working Group C. Lilley Network Working Group C. Lilley
Internet-Draft W3C Internet-Draft W3C
Intended status: Standards Track January 29, 2016 Intended status: Standards Track February 24, 2016
Expires: August 1, 2016 Expires: August 27, 2016
The font Top Level Type The font Top Level Type
draft-ietf-justfont-toplevel-00 draft-ietf-justfont-toplevel-01
Abstract Abstract
This memo serves to register and document the "font" Top Level Type, This memo serves to register and document the "font" Top Level Type,
under which the Internet Media subtypes for representation formats under which the Internet Media subtypes for representation formats
for fonts may be registered. This document also serves as a for fonts may be registered. This document also serves as a
registration application for a set of intended subtypes, which are registration application for a set of intended subtypes, which are
representative of some existing subtypes already registered under the representative of some existing subtypes already in use, and
"application" tree by their separate registrations. currently registered under the "application" tree by their separate
registrations.
Status of This Memo Status of This Memo
This Internet-Draft is submitted in full conformance with the This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79. provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/. Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on August 1, 2016. This Internet-Draft will expire on August 27, 2016.
Copyright Notice Copyright Notice
Copyright (c) 2016 IETF Trust and the persons identified as the Copyright (c) 2016 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License. described in the Simplified BSD License.
1. Introduction 1. Specification development
This section is non-normative. The source for this specification is
maintained on GitHub [1]. The issues list [2] is also on GitHub.
Discussion should be on the mailing list justfont@ietf.org [3].
2. Introduction
The process of setting type in computer systems and other forms of The process of setting type in computer systems and other forms of
text presentation systems uses fonts in order to provide visual text presentation systems uses fonts in order to provide visual
representations of the glyphs. Just as with images, for example, representations of the glyphs. Just as with images, for example,
there are a number of ways to represent the visual information of the there are a number of ways to represent the visual information of the
glyphs. Early font formats often used bitmaps, as these could have glyphs. Early font formats often used bitmaps, as these could have
been carefully tuned for maximum readability at a given size on low- been carefully tuned for maximum readability at a given size on low-
resolution displays. More recently, scalable vector outline fonts resolution displays. More recently, scalable vector outline fonts
have come into widespread use: in these fonts, the outlines of the have come into widespread use: in these fonts, the outlines of the
glyphs are described, and the presentation system renders the outline glyphs are described, and the presentation system renders the outline
skipping to change at page 2, line 31 skipping to change at page 2, line 37
under which different representation formats of fonts may be under which different representation formats of fonts may be
registered (e.g. a bitmap or outline formats). It should be registered (e.g. a bitmap or outline formats). It should be
emphasized that, just as under the "image" top-level type one does emphasized that, just as under the "image" top-level type one does
not find registration for a specific image, for example, "The Night- not find registration for a specific image, for example, "The Night-
watch" (by Rembrandt) but instead "JPEG" (a compressed image data watch" (by Rembrandt) but instead "JPEG" (a compressed image data
representation format), so, under "font" one will not find "Courier" representation format), so, under "font" one will not find "Courier"
(the name of a popular font) but perhaps "TTF", "OTF" or "SFNT" (the (the name of a popular font) but perhaps "TTF", "OTF" or "SFNT" (the
names of commonly used TrueType and OpenType font formats as well as names of commonly used TrueType and OpenType font formats as well as
their higher-level wrapper format). their higher-level wrapper format).
2. Background and Justification The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC 2119 [RFC2119].
3. Background and Justification
Historically there has not been a registration of formats for fonts. Historically there has not been a registration of formats for fonts.
Most recently, there have been several representation formats Most recently, there have been several representation formats
registered as MIME subtypes under the "application" top-level type. registered as MIME subtypes under the "application" top-level type.
However, with the rapid adoption of web fonts (based on the data from However, with the rapid adoption of web fonts (based on the data from
HTTP Archive [1] showing a huge increase in web font usage from 1% in HTTP Archive [HTTP-Archive-Trends] showing a huge increase in web
the end of 2010 to 50% across all sites in the beginning of 2015) font usage from 1% in the end of 2010 to 50% across all sites in the
custom fonts on the web have become a core web resource. As the in- beginning of 2015) custom fonts on the web have become a core web
depth analysis [2] shows, the lack of the intuitive top-level font resource. As the in-depth analysis [Font-Media-Type-Analysis] shows,
type is causing significant confusion among developers - while the lack of the intuitive top-level font type is causing significant
currently defined font subtypes are severely under-utilized there are confusion among developers - while currently defined font subtypes
many more sites that already use non-existent (but highly intuitive) are severely under-utilized there are many more sites that already
media types such as "font/woff", "font/ttf" and "font/truetype". At use non-existent (but highly intuitive) media types such as "font/
the same time, the majority of sites resort to using generic types woff", "font/ttf" and "font/truetype". At the same time, the
such as "application/octet-stream", "text/plain" and "text/html"; or majority of sites resort to using generic types such as "application/
use unregistrable types such as "application/x-font-ttf". octet-stream", "text/plain" and "text/html"; or use unregistrable
types such as "application/x-font-ttf".
Contrary to our expectations, the officially defined IANA subtypes Contrary to our expectations, the officially defined IANA subtypes
such as "application/font-woff" and "application/font-sfnt" see a such as "application/font-woff" and "application/font-sfnt" see a
very limited use - their adoption rates trail far behind as the very limited use - their adoption rates trail far behind as the
actual use of web fonts continues to increase. The members of the actual use of web fonts continues to increase. The members of the
W3C WebFonts WG believe the use of "application" top-level type is W3C WebFonts WG believe the use of "application" top-level type is
not ideal. First, the "application" sub-tree is treated (correctly) not ideal. First, the "application" sub-tree is treated (correctly)
with great caution with respect to viruses and other active code. with great caution with respect to viruses and other active code.
Secondly, the lack of a top-level type means that there is no Secondly, the lack of a top-level type means that there is no
opportunity to have a common set of optional attributes, such as are opportunity to have a common set of optional attributes, such as are
skipping to change at page 3, line 28 skipping to change at page 3, line 39
intuitive media types for images that caused the widespread adoption intuitive media types for images that caused the widespread adoption
of IANA's recommendations, where the correct usage of existing media of IANA's recommendations, where the correct usage of existing media
types reaches over 97% for all subtypes in the "image" tree. The WG types reaches over 97% for all subtypes in the "image" tree. The WG
believes that, considering a rapid adoption of fonts on the web, the believes that, considering a rapid adoption of fonts on the web, the
registration of the top-level media type for fonts along with the registration of the top-level media type for fonts along with the
intuitive set of subtypes that reflect popular and widely used data intuitive set of subtypes that reflect popular and widely used data
formats would further stimulate the adoption of web fonts, formats would further stimulate the adoption of web fonts,
significantly simplify web server configuration process and significantly simplify web server configuration process and
facilitate the proper use of IANA media type recommendations. facilitate the proper use of IANA media type recommendations.
3. Security considerations 4. Security considerations
Fonts are interpreted data structures that represent collections of Fonts are interpreted data structures that represent collections of
different tables containing data that represent different types of different tables containing data that represent different types of
information, including glyph outlines in various formats, hinting information, including glyph outlines in various formats, hinting
instructions, metrics and layout information for multiple languages instructions, metrics and layout information for multiple languages
and writing systems, rules for glyph substitution and positioning, and writing systems, rules for glyph substitution and positioning,
etc. Depending on the format used to represent the glyph data the etc. Depending on the format used to represent the glyph data the
font may contain TrueType, PostScript or SVG outlines and their font may contain TrueType, PostScript or SVG outlines and their
respective hint instructions, where applicable. There are many respective hint instructions, where applicable. There are many
existing, already standardized font table tags and formats that allow existing, already standardized font table tags and formats that allow
skipping to change at page 4, line 29 skipping to change at page 4, line 40
Widespread use of fonts as necessary component of visual content Widespread use of fonts as necessary component of visual content
presentation warrants that a careful attention should be given to presentation warrants that a careful attention should be given to
security considerations whenever a font is either embedded into an security considerations whenever a font is either embedded into an
electronic document or transmitted alongside media content as a electronic document or transmitted alongside media content as a
linked resource. While many existing font formats provide certain linked resource. While many existing font formats provide certain
levels of protection of data integrity (such mechanisms include e.g. levels of protection of data integrity (such mechanisms include e.g.
checksums and digital signatures), font data formats provide neither checksums and digital signatures), font data formats provide neither
privacy nor confidentiality protection internally; if needed, such privacy nor confidentiality protection internally; if needed, such
protection should be provided externally. protection should be provided externally.
4. Definition and encoding 5. IANA Considerations
This specification requires IANA to modify the rules for the existing
Internet Media Types registry by adding a new font top-level type in
the standards tree, and registering several subtypes.
6. Definition and encoding
The "font" as the primary media content type indicates that the The "font" as the primary media content type indicates that the
content identified by it requires certain graphic subsystem such as content identified by it requires certain graphic subsystem such as
font rendering engine (and, in some cases, text layout and shaping font rendering engine (and, in some cases, text layout and shaping
engine) to process font data, which in turn may require certain level engine) to process font data, which in turn may require certain level
of hardware capabilities such as certain levels of CPU performance of hardware capabilities such as certain levels of CPU performance
and available memory. The "font" media type does not provide any and available memory. The "font" media type does not provide any
specific information about the underlying data format and how the specific information about the underlying data format and how the
font information should be interpreted - the subtypes defined within font information should be interpreted - the subtypes defined within
a "font" tree will name the specific font formats. Unrecognized sub- a "font" tree will name the specific font formats. Unrecognized sub-
types of "font" should be treated as "application/octet-stream". types of "font" should be treated as "application/octet-stream".
Implementations may pass unrecognized subtypes to a common font- Implementations may pass unrecognized subtypes to a common font-
handling system, if such system is available. handling system, if such system is available.
5. Defined subtypes 7. Defined subtypes
In this section the initial entries under the top-level 'font' MIME In this section the initial entries under the top-level 'font' MIME
type are documented. They also serve as examples for future type are documented. They also serve as examples for future
registrations. registrations.
5.1. Generic SFNT font type For each subtype, an @font-face format identifer is defined. This
for use with the @font-face src descriptor, defined by the CSS3 Fonts
specification [W3C.CR-css-fonts-3-20131003].
7.1. Generic SFNT font type
Type name: font Type name: font
Subtype name: sfnt Subtype name: sfnt
Required parameters: None. Required parameters: None.
Optional parameters: Optional parameters:
1) Name: Outlines Value: TTF, CFF, SVG 1) Name: Outlines Value: TTF, CFF, SVG
This parameter can be used to specify the type of outlines This parameter can be used to specify the type of outlines
supported by the font. Value "TTF" shall be used when a font supported by the font. Value "TTF" shall be used when a font
resource contains glyph outlines in TrueType format, value resource contains glyph outlines in TrueType format, value
"CFF" shall be used to identify fonts containing PostScript/CFF "CFF" shall be used to identify fonts containing PostScript/CFF
outlines, and value SVG shall be used to identify fonts that outlines, and value SVG shall be used to identify fonts that
include SVG outlines. TTF, CFF or SVG outlines can be present include SVG outlines. TTF, CFF or SVG outlines can be present
in various combinations in the same font file, therefore, in various combinations in the same font file, therefore, this
multiple values for the same optional parameter may be defined. optional parameter is a list containing one or more items,
separated by commas, with optional whitespace. Order in the
list is not significant.
2) Name: Layout 2) Name: Layout
Value: OTF, AAT, SIL Value: OTL, AAT, SIL
This parameter identifies the type of implemented support for This parameter identifies the type of implemented support for
advanced text layout features. The predefined values "OTF", advanced text layout features. The predefined values "OTL",
"AAT" and " SIL" respectively indicate support for OpenType "AAT" and "SIL" respectively indicate support for OpenType text
text layout, Apple Advanced Typography or Graphite SIL. More layout, Apple Advanced Typography or Graphite SIL. More than
than one shaping and layout mechanism may be supported by the one shaping and layout mechanism may be supported by the same
same font file, therefore, multiple values for the same font file, therefore, this optional parameter is a list
optional parameter may be defined. containing one or more items, separated by commas, with
optional whitespace. Order in the list is not significant.
Encoding considerations: Binary. Encoding considerations: Binary.
Interoperability considerations: As it was noted in the first Interoperability considerations: As it was noted in the first
paragraph of the "Security considerations" section, the same font paragraph of the "Security considerations" section, the same font
format wrapper can be used to encode fonts with different types of format wrapper can be used to encode fonts with different types of
glyph data represented as either TrueType or PostScript (CFF) glyph data represented as either TrueType or PostScript (CFF)
outlines. Existing font rendering engines may not be able to outlines. Existing font rendering engines may not be able to
process some of the particular outline formats, and downloading a process some of the particular outline formats, and downloading a
font resource that contains unsupported glyph data format would font resource that contains unsupported glyph data format would
skipping to change at page 6, line 10 skipping to change at page 6, line 32
format of the glyph outline data within a font using an optional format of the glyph outline data within a font using an optional
parameter, and allow applications to make decisions about parameter, and allow applications to make decisions about
downloading a particular font resource sooner. Similar, another downloading a particular font resource sooner. Similar, another
optional parameter is suggested to identify the type of text optional parameter is suggested to identify the type of text
shaping and layout mechanism that is supported by a font. Please shaping and layout mechanism that is supported by a font. Please
note that as new outline formats and text shaping mechanisms may note that as new outline formats and text shaping mechanisms may
be defined in the future, the set of allowed values for two be defined in the future, the set of allowed values for two
optional parameters defined by this section may be extended. optional parameters defined by this section may be extended.
Published specification: ISO/IEC 14496-22 "Open Font Format" (OFF) Published specification: ISO/IEC 14496-22 "Open Font Format" (OFF)
specification being developed by ISO/IEC SC29/WG11. specification [ISO.14496-22.2015] being developed by ISO/IEC SC29/
WG11.
Applications that use this media type: Any and all applications that Applications that use this media type: Any and all applications that
are able to create, edit or display textual media content. are able to create, edit or display textual media content.
Additional information: Additional information:
Magic number(s): The TrueType fonts and OFF / OpenType fonts Magic number(s): The TrueType fonts and OFF / OpenType fonts
containing TrueType outlines should use 0x00010000 as the containing TrueType outlines should use 0x00010000 as the
'sfnt' version number. 'sfnt' version number.
skipping to change at page 7, line 5 skipping to change at page 7, line 27
Intended usage: COMMON Intended usage: COMMON
Restrictions on usage: None Restrictions on usage: None
Author: The ISO/IEC 14496-22 "Open Font Format" specification is a Author: The ISO/IEC 14496-22 "Open Font Format" specification is a
product of the ISO/IEC JTC1 SC29/WG11. product of the ISO/IEC JTC1 SC29/WG11.
Change controller: The ISO/IEC has change control over this Change controller: The ISO/IEC has change control over this
specification. specification.
5.2. TTF font type 7.2. TTF font type
Type name: font Type name: font
Subtype name: ttf Subtype name: ttf
Required parameters: None. Required parameters: None.
Optional parameters: Optional parameters:
Name: Layout Value: OTF, AAT, SIL Name: Layout Value: OTL, AAT, SIL
This parameter identifies the type of support mechanism for This parameter identifies the type of support mechanism for
advanced text layout features. The predefined values "OTF", advanced text layout features. The predefined values "OTL",
"AAT" and " SIL" respectively indicate support for OpenType "AAT" and "SIL" respectively indicate support for OpenType text
text layout, Apple Advanced Typography or Graphite SIL. More layout, Apple Advanced Typography or Graphite SIL. More than
than one shaping and layout mechanism may be supported by the one shaping and layout mechanism may be supported by the same
same font file, therefore, multiple values for the same font file, therefore, this optional parameter is a list
optional parameter may be defined. containing one or more items, separated by commas, with
optional whitespace. Order in the list is not significant.
Encoding considerations: Binary. Encoding considerations: Binary.
Interoperability considerations: As was noted in the first paragraph Interoperability considerations: As was noted in the first paragraph
of the "Security considerations" section, the same font format can of the "Security considerations" section, the same font format can
be used to encode fonts supporting different types of outlines be used to encode fonts supporting different types of outlines
and/or text shaping and layout mechanisms. Existing font and/or text shaping and layout mechanisms. Existing font
rendering engine implementations may not be able to process some rendering engine implementations may not be able to process some
of the particular layout table formats, and downloading a font of the particular layout table formats, and downloading a font
resource that contains unsupported text shaping mechanism would resource that contains unsupported text shaping mechanism would
result in inability of applications to display text properly. result in inability of applications to display text properly.
Therefore, it would be extremely useful to clearly identify the Therefore, it would be extremely useful to clearly identify the
supported text shaping and layout data within a font using an supported text shaping and layout data within a font using an
optional parameter, and allow applications to make decisions about optional parameter, and allow applications to make decisions about
downloading a particular font resource sooner. Please note that downloading a particular font resource sooner. Please note that
as new text shaping mechanisms may be defined in the future, the as new text shaping mechanisms may be defined in the future, the
set of allowed values for the optional parameter defined by this set of allowed values for the optional parameter defined by this
section may be extended. section may be extended.
Published specification: ISO/IEC 14496-22 "Open Font Format" (OFF) Published specification: ISO/IEC 14496-22 "Open Font Format" (OFF)
specification being developed by ISO/IEC SC29/WG11. specification [ISO.14496-22.2015] being developed by ISO/IEC SC29/
WG11.
Applications that use this media type: Any and all applications that Applications that use this media type: Any and all applications that
are able to create, edit or display textual media content. are able to create, edit or display textual media content.
Additional information: Additional information:
Magic number(s): The TrueType fonts and OFF / OpenType fonts Magic number(s): The TrueType fonts and OFF / OpenType fonts
containing TrueType outlines should use 0x00010000 as the containing TrueType outlines should use 0x00010000 as the
'sfnt' version number. 'sfnt' version number.
skipping to change at page 8, line 28 skipping to change at page 9, line 4
@font-face Format: truetype @font-face Format: truetype
Fragment Identifiers none. Fragment Identifiers none.
Person & email address to contact for further information: Vladimir Person & email address to contact for further information: Vladimir
Levantovsky (vladimir.levantovsky@monotype.com). Levantovsky (vladimir.levantovsky@monotype.com).
Intended usage: COMMON Intended usage: COMMON
Restrictions on usage: None Restrictions on usage: None
Author: The ISO/IEC 14496-22 "Open Font Format" specification is a Author: The ISO/IEC 14496-22 "Open Font Format" specification is a
product of the ISO/IEC JTC1 SC29/WG11. product of the ISO/IEC JTC1 SC29/WG11.
Change controller: The ISO/IEC has change control over this Change controller: The ISO/IEC has change control over this
specification. specification.
5.3. OTF font type 7.3. OTF font type
Type name: font Type name: font
Subtype name: otf Subtype name: otf
Required parameters: None. Required parameters: None.
Optional parameters Optional parameters
Name: Outlines Value: TTF, CFF, SVG Name: Outlines Value: TTF, CFF, SVG
This parameter can be used to specify the type of outlines This parameter can be used to specify the type of outlines
supported by the font. Value "TTF" shall be used when a font supported by the font. Value "TTF" shall be used when a font
resource contains glyph outlines in TrueType format, value resource contains glyph outlines in TrueType format, value
"CFF" shall be used to identify fonts containing PostScript/CFF "CFF" shall be used to identify fonts containing PostScript/CFF
outlines, and value SVG shall be used to identify fonts that outlines, and value SVG shall be used to identify fonts that
include SVG outlines. TTF, CFF or SVG outlines can be present include SVG outlines. TTF, CFF or SVG outlines can be present
in various combinations in the same font file, therefore, in various combinations in the same font file, therefore, this
multiple values for the same optional parameter may be defined. optional parameter is a list containing one or more items,
separated by commas, with optional whitespace. Order in the
list is not significant.
Encoding considerations: Binary. Encoding considerations: Binary.
Interoperability considerations: As it was noted in the first Interoperability considerations: As it was noted in the first
paragraph of the "Security considerations" section, the same font paragraph of the "Security considerations" section, the same font
format can be used to encode fonts with different types of glyph format can be used to encode fonts with different types of glyph
data represented as either TrueType, PostScript (CFF) or SVG data represented as either TrueType, PostScript (CFF) or SVG
outlines. Existing font rendering engines may not be able to outlines. Existing font rendering engines may not be able to
process some of the particular outline formats, and downloading a process some of the particular outline formats, and downloading a
font resource that contains unsupported glyph data format would font resource that contains unsupported glyph data format would
result in inability of application to render and display text. result in inability of application to render and display text.
Therefore, it would be extremely useful to clearly identify the Therefore, it would be extremely useful to clearly identify the
format of the glyph outline data within a font using an optional format of the glyph outline data within a font using an optional
parameter, and allow applications to make decisions about parameter, and allow applications to make decisions about
downloading a particular font resource sooner. Please note that downloading a particular font resource sooner. Please note that
as new outline formats may be defined in the future, the set of as new outline formats may be defined in the future, the set of
allowed values for the optional parameter defined in this section allowed values for the optional parameter defined in this section
may be extended. may be extended.
Published specification: ISO/IEC 14496-22 "Open Font Format" (OFF) Published specification: ISO/IEC 14496-22 "Open Font Format" (OFF)
specification being developed by ISO/IEC SC29/WG11. specification [ISO.14496-22.2015] being developed by ISO/IEC SC29/
WG11.
Applications that use this media type: Any and all applications that Applications that use this media type: Any and all applications that
are able to create, edit or display textual media content. are able to create, edit or display textual media content.
Additional information: Additional information:
Magic number(s): The TrueType fonts and OFF / OpenType fonts Magic number(s): The TrueType fonts and OFF / OpenType fonts
containing TrueType outlines should use 0x00010000 as the containing TrueType outlines should use 0x00010000 as the
'sfnt' version number. 'sfnt' version number.
The OFF / OpenType fonts containing CFF data should use the tag The OFF / OpenType fonts containing CFF outlines should use the
'OTTO' as 'sfnt' version number. tag 'OTTO' as 'sfnt' version number. There is no magic number
for SVG outlines; these are always accompanied by either
TrueType or CFF outlines and thus use the corresponding magic
number.
File extension(s): Font file extensions used for OFF / OpenType File extension(s): Font file extensions used for OFF / OpenType
fonts: .ttf, .otf fonts: .ttf, .otf
Typically, .ttf extension is only used for fonts containing Typically, .ttf extension is only used for fonts containing
TrueType outlines, while .otf extension can be used for any TrueType outlines, while .otf extension can be used for any
OpenType/OFF font, either with TrueType, CFF or SVG outlines. OpenType/OFF font, either with TrueType, CFF or SVG outlines.
Macintosh file type code(s): (no code specified) Macintosh file type code(s): (no code specified)
skipping to change at page 10, line 18 skipping to change at page 11, line 5
Intended usage: COMMON Intended usage: COMMON
Restrictions on usage: None Restrictions on usage: None
Author: The ISO/IEC 14496-22 "Open Font Format" specification is a Author: The ISO/IEC 14496-22 "Open Font Format" specification is a
product of the ISO/IEC JTC1 SC29/WG11. product of the ISO/IEC JTC1 SC29/WG11.
Change controller: The ISO/IEC has change control over this Change controller: The ISO/IEC has change control over this
specification. specification.
5.4. WOFF 1.0 7.4. Collection font type
Type name: font
Subtype name: collection
Required parameters: None.
Optional parameters
Name: Outlines Value: TTF, CFF, SVG
This parameter can be used to specify the type of outlines
supported by the font. Value "TTF" shall be used when a font
resource contains glyph outlines in TrueType format, value
"CFF" shall be used to identify fonts containing PostScript/CFF
outlines, and value SVG shall be used to identify fonts that
include SVG outlines. TTF, CFF or SVG outlines can be present
in various combinations in the same font file, therefore, this
optional parameter is a list containing one or more items,
separated by commas, with optional whitespace. Order in the
list is not significant.
Encoding considerations: Binary.
Interoperability considerations: As it was noted in the first
paragraph of the "Security considerations" section, the same font
format can be used to encode fonts with different types of glyph
data represented as either TrueType, PostScript (CFF) or SVG
outlines. Existing font rendering engines may not be able to
process some of the particular outline formats, and downloading a
font resource that contains unsupported glyph data format would
result in inability of application to render and display text.
Therefore, it would be extremely useful to clearly identify the
format of the glyph outline data within a font using an optional
parameter, and allow applications to make decisions about
downloading a particular font resource sooner. Please note that
as new outline formats may be defined in the future, the set of
allowed values for the optional parameter defined in this section
may be extended.
Published specification: ISO/IEC 14496-22 "Open Font Format" (OFF)
specification [ISO.14496-22.2015] being developed by ISO/IEC SC29/
WG11.
Applications that use this media type: Any and all applications that
are able to create, edit or display textual media content.
Additional information:
Magic number(s): The TrueType fonts and OFF / OpenType fonts
containing TrueType outlines should use 0x00010000 as the
'sfnt' version number.
The OFF / OpenType fonts containing CFF outlines should use the
tag 'OTTO' as 'sfnt' version number. There is no magic number
for SVG outlines; these are always accompanied by either
TrueType or CFF outlines and thus use the corresponding magic
number.
File extension(s): Font file extensions used for OFF / TrueType
and OpenType fonts: .ttc
Macintosh file type code(s): (no code specified)
@font-face Format: collection
Fragment Identifiers A positive integer. For example, #2 refers
to the second font in the collection. If a fragment is not
specified, it is the same as #1 i.e. the first font in the
collection.
Person & email address to contact for further information: Vladimir
Levantovsky (vladimir.levantovsky@monotype.com).
Intended usage: COMMON
Restrictions on usage: None
Author: The ISO/IEC 14496-22 "Open Font Format" specification is a
product of the ISO/IEC JTC1 SC29/WG11.
Change controller: The ISO/IEC has change control over this
specification.
7.5. WOFF 1.0
Type name: font Type name: font
Subtype name: woff Subtype name: woff
Required parameters: None. Required parameters: None.
Optional parameters: None. Optional parameters: None.
Encoding considerations: Binary. Encoding considerations: Binary.
Interoperability considerations: None. Interoperability considerations: None.
Published specification: This media type registration updates the Published specification: This media type registration updates the
WOFF specification [3] at W3C. WOFF specification [W3C.REC-WOFF-20121213] at W3C.
Applications that use this media type: WOFF is used by Web browsers, Applications that use this media type: WOFF is used by Web browsers,
often in conjunction with HTML and CSS. often in conjunction with HTML and CSS.
Additional information: Additional information:
Magic number(s): The signature field in the WOFF header MUST Magic number(s): The signature field in the WOFF header MUST
contain the "magic number" 0x774F4646 contain the "magic number" 0x774F4646
File extension(s): woff File extension(s): woff
skipping to change at page 11, line 18 skipping to change at page 13, line 41
Intended usage: COMMON Intended usage: COMMON
Restrictions on usage: None Restrictions on usage: None
Author: The WOFF specification is a work product of the World Wide Author: The WOFF specification is a work product of the World Wide
Web Consortium's WebFonts Working Group. Web Consortium's WebFonts Working Group.
Change controller: The W3C has change control over this Change controller: The W3C has change control over this
specification. specification.
5.5. WOFF 2.0 7.6. WOFF 2.0
Type name: font Type name: font
Subtype name: woff2 Subtype name: woff2
Required parameters: None. Required parameters: None.
Optional parameters: None. Optional parameters: None.
Encoding considerations: Binary. Encoding considerations: Binary.
Interoperability considerations: WOFF 2.0 is an improvement on WOFF Interoperability considerations: WOFF 2.0 is an improvement on WOFF
1.0. The two formats have different Internet Media Types, 1.0. The two formats have different Internet Media Types,
different @font-face formats, and may be used in parallel. different @font-face formats, and may be used in parallel.
Published specification: This media type registration is extracted Published specification: This media type registration is extracted
from the WOFF 2.0 specification [4] at W3C. from the WOFF 2.0 specification [W3C.WD-WOFF2-20150414] at W3C.
Applications that use this media type: WOFF 2.0 is used by Web Applications that use this media type: WOFF 2.0 is used by Web
browsers, often in conjunction with HTML and CSS. browsers, often in conjunction with HTML and CSS.
Additional information: Additional information:
Magic number(s): The signature field in the WOFF header MUST Magic number(s): The signature field in the WOFF header MUST
contain the "magic number" 0x774F4632 ('wOF2') contain the "magic number" 0x774F4632 ('wOF2')
File extension(s): woff2 File extension(s): woff2
Macintosh file type code(s): (no code specified) Macintosh file type code(s): (no code specified)
Macintosh Universal Type Identifier code: "org.w3c.woff2" Macintosh Universal Type Identifier code: "org.w3c.woff2"
@font-face Format: woff2 @font-face Format: woff2
Fragment Identifiers none.
Fragment Identifiers Optional, for collections encoded as WOFF
2.0. A positive integer. For example, #2 refers to the second
font in the collection. If a fragment is not specified, it is
the same as #1 i.e. the first font in the collection (or the
only font, if it is not a collection). If a fragment is
specified, and the WOFF does not encode a collection, the
fragment is ignored.
Person & email address to contact for further information: Chris Person & email address to contact for further information: Chris
Lilley (www-font@w3.org). Lilley (www-font@w3.org).
Intended usage: COMMON Intended usage: COMMON
Restrictions on usage: None Restrictions on usage: None
Author: The WOFF2 specification is a work product of the World Wide Author: The WOFF2 specification is a work product of the World Wide
Web Consortium's WebFonts Working Group. Web Consortium's WebFonts Working Group.
Change controller: The W3C has change control over this Change controller: The W3C has change control over this
specification. specification.
6. References 8. References
6.1. URIs 8.1. Normative References
[1] http://httparchive.org/ [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
trends.php?s=All&minlabel=Nov+15+2010&maxlabel=Feb+15+2015 Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997,
<http://www.rfc-editor.org/info/rfc2119>.
[2] http://goo.gl/zbDhUN [W3C.CR-css-fonts-3-20131003]
Daggett, J., "CSS Fonts Module Level 3", World Wide Web
Consortium CR CR-css-fonts-3-20131003, October 2013,
<http://www.w3.org/TR/2013/CR-css-fonts-3-20131003>.
[3] http://www.w3.org/TR/WOFF [ISO.14496-22.2015]
International Organization for Standardization, "Coding of
audio-visual objects Part 22: Open Font Format",
ISO Standard 14496-22, 10 2015,
<http://standards.iso.org/ittf/PubliclyAvailableStandards/
c066391_ISO_IEC_14496-22_2015.zip>.
[4] http://www.w3.org/TR/WOFF2 [W3C.REC-WOFF-20121213]
Kew, J., Leming, T., and E. Blokland, "WOFF File Format
1.0", World Wide Web Consortium Recommendation REC-WOFF-
20121213, December 2012,
<http://www.w3.org/TR/2012/REC-WOFF-20121213>.
[W3C.WD-WOFF2-20150414]
Levantovsky, V. and R. Levien, "WOFF File Format 2.0",
World Wide Web Consortium WD WD-WOFF2-20150414, April
2015, <http://www.w3.org/TR/2015/WD-WOFF2-20150414>.
8.2. Informative References
[HTTP-Archive-Trends]
Kuetell, D., "HTTP Archive trend analysis", March 2015,
<http://httparchive.org/trends.php?s=All&minlabel=Nov+15+2
010&maxlabel=Feb+15+2015#perFonts>.
[Font-Media-Type-Analysis]
Kuetell, D., "Web Font Media Type (mime type) Analysis
2015", 2015, <http://goo.gl/zbDhUN>.
8.3. URIs
[1] https://github.com/svgeesus/ietf-justfont
[2] https://github.com/svgeesus/ietf-justfont/issues
[3] mailto:justfont@ietf.org
Author's Address Author's Address
Chris Lilley Chris Lilley
W3C W3C
2004 Route des Lucioles 2004 Route des Lucioles
Sophia Antipolis 06902 Sophia Antipolis 06902
France France
Email: chris@w3.org Email: chris@w3.org
 End of changes. 35 change blocks. 
61 lines changed or deleted 224 lines changed or added

This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/