idnits 2.17.1 draft-ietf-justfont-toplevel-06.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- ** The document is more than 15 pages and seems to lack a Table of Contents. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year == Line 346 has weird spacing: '...tifiers none....' == Line 427 has weird spacing: '...tifiers none....' == Line 512 has weird spacing: '...tifiers none....' -- The document date (December 13, 2016) is 2690 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) -- Looks like a reference, but probably isn't: '1' on line 787 -- Looks like a reference, but probably isn't: '2' on line 789 -- Looks like a reference, but probably isn't: '3' on line 791 Summary: 1 error (**), 0 flaws (~~), 4 warnings (==), 4 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group C. Lilley 3 Internet-Draft W3C 4 Intended status: Standards Track December 13, 2016 5 Expires: June 16, 2017 7 The font Top Level Type 8 draft-ietf-justfont-toplevel-06 10 Abstract 12 This memo serves to register and document the "font" Top Level Type, 13 under which the Internet Media subtypes for representation formats 14 for fonts may be registered. This document also serves as a 15 registration application for a set of intended subtypes, which are 16 representative of some existing subtypes already in use, and 17 currently registered under the "application" tree by their separate 18 registrations. 20 Status of This Memo 22 This Internet-Draft is submitted in full conformance with the 23 provisions of BCP 78 and BCP 79. 25 Internet-Drafts are working documents of the Internet Engineering 26 Task Force (IETF). Note that other groups may also distribute 27 working documents as Internet-Drafts. The list of current Internet- 28 Drafts is at http://datatracker.ietf.org/drafts/current/. 30 Internet-Drafts are draft documents valid for a maximum of six months 31 and may be updated, replaced, or obsoleted by other documents at any 32 time. It is inappropriate to use Internet-Drafts as reference 33 material or to cite them other than as "work in progress." 35 This Internet-Draft will expire on June 16, 2017. 37 Copyright Notice 39 Copyright (c) 2016 IETF Trust and the persons identified as the 40 document authors. All rights reserved. 42 This document is subject to BCP 78 and the IETF Trust's Legal 43 Provisions Relating to IETF Documents 44 (http://trustee.ietf.org/license-info) in effect on the date of 45 publication of this document. Please review these documents 46 carefully, as they describe your rights and restrictions with respect 47 to this document. Code Components extracted from this document must 48 include Simplified BSD License text as described in Section 4.e of 49 the Trust Legal Provisions and are provided without warranty as 50 described in the Simplified BSD License. 52 1. Specification Development 54 [Note to the RFC Editor: Please remove this section upon 55 publication.] 57 This section is non-normative. The source for this specification is 58 maintained on GitHub [1]. The issues list [2] is also on GitHub. 59 Discussion should be on the mailing list justfont@ietf.org [3]. 61 2. Introduction 63 The process of setting type in computer systems and other forms of 64 text presentation systems uses fonts in order to provide visual 65 representations of the glyphs. Just as with images, for example, 66 there are a number of ways to represent the visual information of the 67 glyphs. Early font formats often used bitmaps, as these could have 68 been carefully tuned for maximum readability at a given size on low- 69 resolution displays. More recently, scalable vector outline fonts 70 have come into widespread use: in these fonts, the outlines of the 71 glyphs are described, and the presentation system renders the outline 72 in the desired position and size. 74 Over time, a number of standard formats for recording font 75 descriptions have evolved. This document defines a new top-level 76 Internet Media Type "font" according to Section 4.2.7 of [RFC6838]. 77 This top-level type indicates that the content specifies font data. 78 Under this top-level type, different representation formats of fonts 79 may be registered. 81 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 82 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 83 document are to be interpreted as described in RFC 2119 [RFC2119]. 85 3. Background and Justification 87 Historically there has not been a registration of formats for fonts. 88 More recently, there have been several representation formats 89 registered as media subtypes under the "application" top-level type 90 (for example, application/font-woff). However, with the rapid 91 adoption of web fonts (based on the data from HTTP Archive 92 [HTTP-Archive-Trends] showing a huge increase in web font usage from 93 1% in the end of 2010 to 50% across all sites in the beginning of 94 2015) custom fonts on the web have become a core web resource. As 95 the in-depth analysis [Font-Media-Type-Analysis] shows, the lack of 96 the intuitive top-level font type is causing significant confusion 97 among developers - while currently defined font subtypes are severely 98 under-utilized there are many more sites that already use non- 99 existent (but highly intuitive) media types such as "font/woff", 100 "font/ttf" and "font/truetype". At the same time, the majority of 101 sites resort to using generic types such as "application/octet- 102 stream", "text/plain" and "text/html"; or use unregistrable types 103 such as "application/x-font-ttf". 105 Contrary to the expectations of the W3C WebFonts Working Group which 106 developed WOFF, the officially defined media types such as 107 "application/font-woff" and "application/font-sfnt" see a very 108 limited use - their adoption rates trail far behind as the actual use 109 of web fonts continues to increase. The members of the W3C WebFonts 110 WG concluded that the use of "application" top-level type is not 111 ideal. First, the "application" sub-tree is treated (correctly) with 112 great caution with respect to viruses and other active code. 113 Secondly, the lack of a top-level type means that there is no 114 opportunity to have a common set of optional parameters, such as are 115 specified here. Third, fonts have a unique set of licensing and 116 usage restrictions, which makes it worthwhile to identify this 117 general category with a unique top-level type. 119 The W3C WebFonts WG decided [WG-tlt] that the situation can be 120 significantly improved if a set of font media types is registered 121 using "font" as a dedicated top-level type. Based on the data 122 analysis presented above, we conclude that it is the presence of 123 simple and highly intuitive media types for images that caused their 124 widespread adoption, where the correct usage of existing media types 125 reaches over 97% for all subtypes in the "image" tree. The WG 126 considers that, considering a rapid adoption of fonts on the web, the 127 registration of the top-level media type for fonts along with the 128 intuitive set of subtypes that reflect popular and widely used data 129 formats would further stimulate the adoption of web fonts, 130 significantly simplify web server configuration process and 131 facilitate the proper use of media types for fonts. 133 4. Security Considerations 135 Fonts are interpreted data structures that represent collections of 136 different tables containing data that represent different types of 137 information, including glyph outlines in various formats, hinting 138 instructions, metrics and layout information for multiple languages 139 and writing systems, rules for glyph substitution and positioning, 140 etc. In particular, the hinting instructions for TrueType glyphs 141 represent executable code which has the potential to be maliciously 142 constructed (for example, intended to hang the interpreter). There 143 are many existing, already standardized font table tags and formats 144 that allow an unspecified number of entries containing predefined 145 data fields for storage of variable length binary data. Many 146 existing font formats (TrueType [truetype-wiki], OpenType and OFF 147 [opentype-wiki], SIL Graphite, WOFF, etc.) are based on the table- 148 based SFNT (scalable font) format which is extremely flexible, highly 149 extensible and offers an opportunity to introduce additional table 150 structures when needed, in an upward-compatible way that would not 151 affect existing font rendering engines and text layout 152 implementations. However, this very extensibility may present 153 specific security concerns - the flexibility and ease of adding new 154 data structures makes it easy for any arbitrary data to be hidden 155 inside a font file. There is a significant risk that the flexibility 156 of font data structures may be exploited to hide malicious binary 157 content disguised as a font data component. 159 Fonts may contain 'hints', which are programmatic instructions that 160 are executed by the font engine for the alignment of graphical 161 elements of glyph outlines with the target display pixel grid. 162 Depending on the font technology utilized in the creation of a font 163 these hints may represent active code interpreted and executed by the 164 font rasterizer. Even though hints operate within the confines of 165 the glyph outline conversion system and have no access outside the 166 font rendering engine, hint instructions can be, however, quite 167 complex, and a maliciously designed complex font could cause undue 168 resource consumption (e.g. memory or CPU cycles) on a machine 169 interpreting it. Indeed, fonts are sufficiently complex that most 170 (if not all) interpreters cannot be completely protected from 171 malicious fonts without undue performance penalties. 173 Widespread use of fonts as necessary components of visual content 174 presentation warrants that careful attention should be given to 175 security considerations whenever a font is either embedded into an 176 electronic document or transmitted alongside media content as a 177 linked resource. While many existing font formats provide certain 178 levels of protection of data integrity (such mechanisms include e.g. 179 checksums and digital signatures), font data formats provide neither 180 privacy nor confidentiality protection internally; if needed, such 181 protection should be provided externally. 183 5. IANA Considerations 185 This specification registers a new top-level type, "font", in the 186 standards tree; adds it as an alternative value of "Type Name" in the 187 media types registration form [Media-Type-Registration]; and 188 registers several subtypes for it. 190 5.1. Definition and Encoding 192 The "font" as the primary media content type indicates that the 193 content identified by it requires certain graphic subsystem such as 194 font rendering engine (and, in some cases, text layout and shaping 195 engine) to process it as font data, which in turn may require certain 196 level of hardware capabilities such as certain levels of CPU 197 performance and available memory. The "font" media type does not 198 provide any specific information about the underlying data format and 199 how the font information should be interpreted - the subtypes defined 200 within a "font" tree name the specific font formats. Unrecognized 201 sub-types of "font" should be treated as "application/octet-stream". 202 Implementations may pass unrecognized subtypes to a common font- 203 handling system, if such a system is available. 205 5.2. Fragment Identifiers for Font Collections 207 Fragment identifiers for font collections identify one font in the 208 collection by the PostScript name (name ID=6) [ISO.14496-22.2015]. 209 This is a string, no longer than 63 characters and restricted to the 210 printable ASCII subset, codes 33 - 126, except for the 10 characters 211 '[', ']', '(', ')', '{', '}', '<', '>', '/', '%' which are forbidden 212 by [ISO.14496-22.2015]. 214 In addition, the following 6 characters could occur in the PostScript 215 name but are forbidden in fragments by [RFC3986] and thus must be 216 escaped: '"', '#', '\', '^', '`', '|'. 218 If (following un-escaping) this string matches one of the PostScript 219 names in the name table, that font is selected. For example, "#Foo- 220 Bold" refers to the font with PostScript name "Foo-Bold" and 221 "#Caret%5Estick" refers to the font with PostScript name 222 "Caret^stick". If the name does not match, or if a fragment is not 223 specified, the first font in the collection is matched. Note that 224 the order of fonts in collections may change as the font is revised, 225 so relying on a particular font in a collection always being first is 226 unwise. 228 5.3. Registration Procedure 230 New font formats should be registered using the online form 231 [Media-Type-Registration]. RFC 6838 [RFC6838] should be consulted on 232 registration procedures. In particular the font specification should 233 preferably be freely available. If the font format can contain 234 multiple fonts, a fragment identifier syntax should also be defined. 236 Note that new parameter sub-values may be defined in the future. If 237 an implementation does not recognize a sub-value in the comma- 238 separated list, it should ignore the sub-value and continue 239 processing the other sub-values in the list. 241 5.4. Subtype Registrations 243 In this section the initial entries under the top-level 'font' media 244 type are specified. They also serve as examples for future 245 registrations. 247 For each subtype, an @font-face format identifer is listed. This is 248 for use with the @font-face src descriptor, defined by the CSS3 Fonts 249 specification [W3C.CR-css-fonts-3-20131003]. That specification is 250 normative; the identifiers here are informative. 252 5.4.1. Generic SFNT Font Type 254 Type name: font 256 Subtype name: sfnt 258 Required parameters: None. 260 Optional parameters: 262 1) Name: outlines Values: a comma-separated subset of: TTF, CFF, 263 SVG 265 This parameter can be used to specify the type of outlines 266 provided by the font. Value "TTF" shall be used when a font 267 resource contains glyph outlines in TrueType format, value 268 "CFF" shall be used to identify fonts containing PostScript/CFF 269 outlines [cff-wiki], and value SVG [svg-wiki]shall be used to 270 identify fonts that include SVG outlines. TTF, CFF or SVG 271 outlines can be present in various combinations in the same 272 font file, therefore, this optional parameter is a list 273 containing one or more items, separated by commas. Order in 274 the list is not significant. 276 2) Name: layout 278 Values: a comma-separated subset of: OTL, AAT, SIL 280 This parameter identifies the type of implemented support for 281 advanced text layout features. The predefined values "OTL", 282 "AAT" and "SIL" respectively indicate support for OpenType text 283 layout, Apple Advanced Typography or Graphite SIL. More than 284 one shaping and layout mechanism may be provided by the same 285 font file, therefore, this optional parameter is a list 286 containing one or more items, separated by commas. Order in 287 the list is not significant. 289 Encoding considerations: Binary. 291 Interoperability considerations: As it was noted in the first 292 paragraph of the "Security considerations" section, a single font 293 file can contain encoding of the same glyphs using several 294 different representations, e.g., both TrueType and PostScript 295 (CFF) outlines. Existing font rendering engines may not be able 296 to process some of the particular outline formats, and downloading 297 a font resource that contains only unsupported glyph data format 298 would be futile. Therefore, it is useful to clearly identify the 299 format of the glyph outline data within a font using an optional 300 parameter, and allow applications to make decisions about 301 downloading a particular font resource sooner. Similarly, another 302 optional parameter identifies the type of text shaping and layout 303 mechanism that is provided by a font. 305 Published specification: ISO/IEC 14496-22 "Open Font Format" (OFF) 306 specification [ISO.14496-22.2015] being developed by ISO/IEC SC29/ 307 WG11. 309 Applications that use this media type: All applications that are 310 able to create, edit or display textual media content. 312 Note that font/sfnt is an abstract type, from which the (widely 313 used in practice) font/ttf and font/otf types are conceptually 314 derived. Use of font/sfnt is likely to be rare in practice, and 315 might be confined to 317 uncommon combinations such as font/sfnt; outlines=sil which do 318 not have a shorter type 320 cases where a new parameter value is registered 322 test cases, experimentation, etc 324 Additional information: 326 Magic number(s): The TrueType fonts and OFF / OpenType fonts 327 containing TrueType outlines should use 0x00010000 as the 328 'sfnt' version number. 330 The OFF / OpenType fonts containing CFF data should use the tag 331 'OTTO' as 'sfnt' version number. 333 File extension(s): Font file extensions used for OFF / OpenType 334 fonts: .ttf, .otf 336 Typically, .ttf extension is only used for fonts containing 337 TrueType outlines, while .otf extension can be used for any 338 OpenType/OFF font, either with TrueType or CFF outlines. 340 Macintosh file type code(s): (no code specified) 342 Macintosh Universal Type Identifier code: "public.font" 344 @font-face Format: none. 346 Fragment Identifiers none. 348 Deprecated Alias: The existing registration "application/font- 349 sfnt" is deprecated in favor of "font/sfnt". 351 Person & email address to contact for further information: Vladimir 352 Levantovsky (vladimir.levantovsky@monotype.com). 354 Intended usage: COMMON 356 Restrictions on usage: None 358 Author: The ISO/IEC 14496-22 "Open Font Format" specification is a 359 product of the ISO/IEC JTC1 SC29/WG11. 361 Change controller: The ISO/IEC has change control over this 362 specification. 364 5.4.2. TTF Font Type 366 Type name: font 368 Subtype name: ttf 370 Required parameters: None. 372 Optional parameters: 374 Name: layout Values: a comma-separated subset of: OTL, AAT, SIL 376 This parameter identifies the type of support mechanism for 377 advanced text layout features. The predefined values "OTL", 378 "AAT" and "SIL" respectively indicate support for OpenType text 379 layout, Apple Advanced Typography or Graphite SIL. More than 380 one shaping and layout mechanism may be provided by the same 381 font file, therefore, this optional parameter is a list 382 containing one or more items, separated by commas. Order in 383 the list is not significant. 385 Encoding considerations: Binary. 387 Interoperability considerations: As it was noted in the first 388 paragraph of the "Security considerations" section, a single font 389 file can contain encoding of the same glyphs using several 390 different representations, e.g., both TrueType and PostScript 391 (CFF) outlines. Existing font rendering engines may not be able 392 to process some of the particular outline formats, and downloading 393 a font resource that contains only unsupported glyph data format 394 would be futile. Therefore, it is useful to clearly identify the 395 format of the glyph outline data within a font using an optional 396 parameter, and allow applications to make decisions about 397 downloading a particular font resource sooner. Similarly, another 398 optional parameter identifies the type of text shaping and layout 399 mechanism that is provided by a font. 401 Published specification: ISO/IEC 14496-22 "Open Font Format" (OFF) 402 specification [ISO.14496-22.2015] being developed by ISO/IEC SC29/ 403 WG11. 405 Applications that use this media type: All applications that are 406 able to create, edit or display textual media content. 408 Additional information: 410 Magic number(s): The TrueType fonts and OFF / OpenType fonts 411 containing TrueType outlines should use 0x00010000 as the 412 'sfnt' version number. 414 File extension(s): Font file extensions used for TrueType / OFF / 415 OpenType fonts: .ttf, .otf 417 Typically, .ttf extension is only used for fonts containing 418 TrueType outlines, while .otf extension may be used for any 419 OpenType/OFF font, either with TrueType or CFF outlines. 421 Macintosh file type code(s): (no code specified) 423 Macintosh Universal Type Identifier code: "public.truetype-font" 425 @font-face Format: truetype 427 Fragment Identifiers none. 429 Person & email address to contact for further information: Vladimir 430 Levantovsky (vladimir.levantovsky@monotype.com). 432 Intended usage: COMMON 434 Restrictions on usage: None 436 Author: The ISO/IEC 14496-22 "Open Font Format" specification is a 437 product of the ISO/IEC JTC1 SC29/WG11. 439 Change controller: The ISO/IEC has change control over this 440 specification. 442 5.4.3. OTF Font Type 444 Type name: font 446 Subtype name: otf 448 Required parameters: None. 450 Optional parameters 452 Name: outlines Values: a comma-separated subset of: TTF, CFF, SVG 454 This parameter can be used to specify the type of outlines 455 provided by the font. Value "TTF" shall be used when a font 456 resource contains glyph outlines in TrueType format, value 457 "CFF" shall be used to identify fonts containing PostScript/CFF 458 outlines, and value SVG shall be used to identify fonts that 459 include SVG outlines. TTF, CFF or SVG outlines can be present 460 in various combinations in the same font file, therefore, this 461 optional parameter is a list containing one or more items, 462 separated by commas. Order in the list is not significant. 464 Encoding considerations: Binary. 466 Interoperability considerations: As it was noted in the first 467 paragraph of the "Security considerations" section, a single font 468 file can contain encoding of the same glyphs using several 469 different representations, e.g., both TrueType and PostScript 470 (CFF) outlines. Existing font rendering engines may not be able 471 to process some of the particular outline formats, and downloading 472 a font resource that contains only unsupported glyph data format 473 would be futile. Therefore, it is useful to clearly identify the 474 format of the glyph outline data within a font using an optional 475 parameter, and allow applications to make decisions about 476 downloading a particular font resource sooner. Similarly, another 477 optional parameter identifies the type of text shaping and layout 478 mechanism that is provided by a font. 480 Published specification: ISO/IEC 14496-22 "Open Font Format" (OFF) 481 specification [ISO.14496-22.2015] being developed by ISO/IEC SC29/ 482 WG11. 484 Applications that use this media type: All applications that are 485 able to create, edit or display textual media content. 487 Additional information: 489 Magic number(s): The TrueType fonts and OFF / OpenType fonts 490 containing TrueType outlines should use 0x00010000 as the 491 'sfnt' version number. 493 The OFF / OpenType fonts containing CFF outlines should use the 494 tag 'OTTO' as 'sfnt' version number. There is no magic number 495 for SVG outlines; these are always accompanied by either 496 TrueType or CFF outlines and thus use the corresponding magic 497 number. 499 File extension(s): Font file extensions used for OFF / OpenType 500 fonts: .ttf, .otf 502 Typically, .ttf extension is only used for fonts containing 503 TrueType outlines, while .otf extension can be used for any 504 OpenType/OFF font, either with TrueType, CFF or SVG outlines. 506 Macintosh file type code(s): (no code specified) 508 Macintosh Universal Type Identifier code: "public.opentype-font" 510 @font-face Format: opentype 512 Fragment Identifiers none. 514 Person & email address to contact for further information: Vladimir 515 Levantovsky (vladimir.levantovsky@monotype.com). 517 Intended usage: COMMON 519 Restrictions on usage: None 521 Author: The ISO/IEC 14496-22 "Open Font Format" specification is a 522 product of the ISO/IEC JTC1 SC29/WG11. 524 Change controller: The ISO/IEC has change control over this 525 specification. 527 5.4.4. Collection Font Type 529 Type name: font 531 Subtype name: collection 533 Required parameters: None. 535 Optional parameters 537 Name: outlines Values: a comma-separated subset of: TTF, CFF, SVG 539 This parameter can be used to specify the type of outlines 540 provided by the font. Value "TTF" shall be used when a font 541 resource contains glyph outlines in TrueType format, value 542 "CFF" shall be used to identify fonts containing PostScript/CFF 543 outlines, and value SVG shall be used to identify fonts that 544 include SVG outlines. TTF, CFF or SVG outlines can be present 545 in various combinations in the same font file, therefore, this 546 optional parameter is a list containing one or more items, 547 separated by commas. Order in the list is not significant. 549 Encoding considerations: Binary. 551 Interoperability considerations: As it was noted in the first 552 paragraph of the "Security considerations" section, a single font 553 file can contain encoding of the same glyphs using several 554 different representations, e.g., both TrueType and PostScript 555 (CFF) outlines. Existing font rendering engines may not be able 556 to process some of the particular outline formats, and downloading 557 a font resource that contains only unsupported glyph data format 558 would be futile. Therefore, it is useful to clearly identify the 559 format of the glyph outline data within a font using an optional 560 parameter, and allow applications to make decisions about 561 downloading a particular font resource sooner. Similarly, another 562 optional parameter identifies the type of text shaping and layout 563 mechanism that is provided by a font. 565 Published specification: ISO/IEC 14496-22 "Open Font Format" (OFF) 566 specification [ISO.14496-22.2015] being developed by ISO/IEC SC29/ 567 WG11. 569 Applications that use this media type: All applications that are 570 able to create, edit or display textual media content. 572 Additional information: 574 Magic number(s): The TrueType fonts and OFF / OpenType fonts 575 containing TrueType outlines should use 0x00010000 as the 576 'sfnt' version number. 578 The OFF / OpenType fonts containing CFF outlines should use the 579 tag 'OTTO' as 'sfnt' version number. There is no magic number 580 for SVG outlines; these are always accompanied by either 581 TrueType or CFF outlines and thus use the corresponding magic 582 number. 584 File extension(s): Font file extensions used for OFF / TrueType 585 and OpenType fonts: .ttc 587 Macintosh file type code(s): (no code specified) 589 Macintosh Universal Type Identifier code: "public.truetype- 590 collection-font" 592 @font-face Format: collection 594 Fragment Identifiers: See Section 5.2. 596 Person & email address to contact for further information: Vladimir 597 Levantovsky (vladimir.levantovsky@monotype.com). 599 Intended usage: COMMON 601 Restrictions on usage: None 603 Author: The ISO/IEC 14496-22 "Open Font Format" specification is a 604 product of the ISO/IEC JTC1 SC29/WG11. 606 Change controller: The ISO/IEC has change control over this 607 specification. 609 5.4.5. WOFF 1.0 611 Type name: font 613 Subtype name: woff 615 Required parameters: None. 617 Optional parameters: None. 619 Encoding considerations: Binary. 621 Interoperability considerations: None. 623 Published specification: This media type registration updates the 624 WOFF specification [W3C.REC-WOFF-20121213] at W3C. 626 Applications that use this media type: WOFF is used by Web browsers, 627 often in conjunction with HTML and CSS. 629 Additional information: 631 Magic number(s): The signature field in the WOFF header MUST 632 contain the "magic number" 0x774F4646 ('wOFF') 634 File extension(s): woff 636 Macintosh file type code(s): (no code specified) 638 Macintosh Universal Type Identifier code: "org.w3.woff" 640 @font-face Format: woff 642 Fragment Identifiers: none. 644 Deprecated Alias: The existing registration "application/font- 645 woff" is deprecated in favor of "font/woff". 647 Person & email address to contact for further information: Chris 648 Lilley (www-font@w3.org). 650 Intended usage: COMMON 652 Restrictions on usage: None 654 Author: The WOFF specification is a work product of the World Wide 655 Web Consortium's WebFonts Working Group. 657 Change controller: The W3C has change control over this 658 specification. 660 5.4.6. WOFF 2.0 662 Type name: font 664 Subtype name: woff2 666 Required parameters: None. 668 Optional parameters: None. 670 Encoding considerations: Binary. 672 Interoperability considerations: WOFF 2.0 is an improvement on WOFF 673 1.0. The two formats have different Internet Media Types, 674 different @font-face formats, and may be used in parallel. 676 Published specification: This media type registration is extracted 677 from the WOFF 2.0 specification [W3C.CR-WOFF2-20150414] at W3C. 679 Applications that use this media type: WOFF 2.0 is used by Web 680 browsers, often in conjunction with HTML and CSS. 682 Additional information: 684 Magic number(s): The signature field in the WOFF header MUST 685 contain the "magic number" 0x774F4632 ('wOF2') 687 File extension(s): woff2 689 Macintosh file type code(s): (no code specified) 691 Macintosh Universal Type Identifier code: "org.w3.woff2" 693 @font-face Format: woff2 695 Fragment Identifiers: See Section 5.2. 697 Person & email address to contact for further information: Chris 698 Lilley (www-font@w3.org). 700 Intended usage: COMMON 702 Restrictions on usage: None 704 Author: The WOFF2 specification is a work product of the World Wide 705 Web Consortium's WebFonts Working Group. 707 Change controller: The W3C has change control over this 708 specification. 710 6. References 712 6.1. Normative References 714 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 715 Requirement Levels", BCP 14, RFC 2119, 716 DOI 10.17487/RFC2119, March 1997, 717 . 719 [RFC3986] Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform 720 Resource Identifier (URI): Generic Syntax", STD 66, 721 RFC 3986, DOI 10.17487/RFC3986, January 2005, 722 . 724 [RFC6838] Freed, N., Klensin, J., and T. Hansen, "Media Type 725 Specifications and Registration Procedures", BCP 13, 726 RFC 6838, DOI 10.17487/RFC6838, January 2013, 727 . 729 [W3C.CR-css-fonts-3-20131003] 730 Daggett, J., "CSS Fonts Module Level 3", World Wide Web 731 Consortium CR CR-css-fonts-3-20131003, October 2013, 732 . 734 [ISO.14496-22.2015] 735 International Organization for Standardization, "Coding of 736 audio-visual objects Part 22: Open Font Format", 737 ISO Standard 14496-22, 10 2015, 738 . 741 [W3C.REC-WOFF-20121213] 742 Kew, J., Leming, T., and E. Blokland, "WOFF File Format 743 1.0", World Wide Web Consortium Recommendation REC-WOFF- 744 20121213, December 2012, 745 . 747 [W3C.CR-WOFF2-20150414] 748 Levantovsky, V. and R. Levien, "WOFF File Format 2.0", 749 World Wide Web Consortium WD CR-WOFF2-20150414, March 750 2016, . 752 6.2. Informative References 754 [cff-wiki] 755 "CFF", . 758 [opentype-wiki] 759 "OpenType", . 761 [truetype-wiki] 762 "TrueType", . 764 [svg-wiki] 765 "SVG", . 768 [HTTP-Archive-Trends] 769 Kuetell, D., "HTTP Archive trend analysis", March 2015, 770 . 773 [Font-Media-Type-Analysis] 774 Kuetell, D., "Web Font Media Type (mime type) Analysis 775 2015", 2015, . 777 [WG-tlt] W3C, "ACTION-164: Bring widely used top-level-type to w3c- 778 ietf liaison", 2015, . 781 [Media-Type-Registration] 782 IANA, "Application for a Media Type", 783 . 785 6.3. URIs 787 [1] https://github.com/svgeesus/ietf-justfont 789 [2] https://github.com/svgeesus/ietf-justfont/issues 791 [3] mailto:justfont@ietf.org 793 Author's Address 795 Chris Lilley 796 W3C 797 2004 Route des Lucioles 798 Sophia Antipolis 06902 799 France 801 Email: chris@w3.org