Internet Engineering Task Force INTERNET-DRAFT D. Singer draft-singer-font-mime-00.doc Apple Computer G. Adams XFSI Oct 14 2004 Expires: Apr 14 2005 The Font Primary Content Type for Multipurpose Internet Mail Extensions IPR Notice By submitting this Internet-Draft, I certify that any applicable patent or other IPR claims of which I am aware have been disclosed, or will be disclosed, and any of which I become aware will be disclosed, in accordance with RFC 3668. Status of This Memo This document is an Internet-Draft and is in full conformance with all provisions of Section 10 of RFC2026. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet- Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than a "work in progress." The list of current Internet-Drafts can be accessed at http://www.ietf.org/1id-abstracts.html The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html 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. Distribution of this document is unlimited. D. Singer and G. Adams [Page 1] Internet Draft draft-singer-font-mime-00.doc Oct 14 2004 Copyright Notice Copyright (C) The Internet Society (2004). All Rights Reserved. PostScript, OpenType, and TrueType are registered trademarks of Adobe Systems. Inc., Microsoft Corp., and Apple Computer Inc., respectively. Abstract This document serves to register and document the top-level MIME type for fonts, under which the representation formats for fonts may be registered. It also registers some specific font types under that top-level type. 1 Introduction The process of setting type in computer systems and other forms of text presentation systems uses fonts in order to provide visual representations of the glyphs. Just as with images, for example, there are a number of ways to represent the visual information of the glyphs. Early formats often used bitmaps, as these could be carefully tuned for maximum readability at a given size, and the displays were often 1-bit deep only. More recently, outline fonts have come into use: in these fonts, the outlines of the glyphs are described, and the presentation system renders the outline in the desired position and size. This document defines a top-level MIME type "font" under which differing representation formats of fonts may be registered (e.g. a bitmap or outline format). It should be emphasized that, just as under the "image" top-level type one does not find registration for, for example, "The Night-watch" (by Rembrandt) but instead "JPEG" (an image representation system), so, under "font" one will not find "Courier" (the name of a popular font) but perhaps "BDF" (the name of a commonly used bitmap font format). Historically there has not been a registration of formats for fonts. Currently there is only one font representation format registered in MIME, and that is under the "application" top-level type. However, the use of this top-level type is not ideal. First, the "application" sub-tree is treated (correctly) with great caution with respect to viruses and other active code. 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 specified here. Third, fonts have a unique set of licensing and usage restrictions, which makes it worthwhile to identify this general category with a unique top-level D. Singer and G. Adams [Page 2] Internet Draft draft-singer-font-mime-00.doc Oct 14 2004 type. 2 Security Considerations Fonts are interpreted data structures. Fonts may contain 'hints' for the alignment of visual aspects of the glyphs with the display, and these hints may appear to be active code. However, they operate within the confines of the glyph outline conversion system and have no access outside the font rendering machinery. Fonts can be, however, quite complex, and a maliciously designed complex font could cause undue resource consumption (e.g. memory or CPU cycles) on a machine interpreting it. This is the case for many formats however. Indeed, fonts are sufficiently complex that most if not all interpreters cannot be completely protected from malicious fonts without undue performance penalties. Fonts are often licensed and that license may place restrictions on the transmission of all or part of the font. It is outside the scope of this specification to mandate any particular behavior, but the authors of MIME registrations under the 'font' top-level type SHOULD at the very least also mention the licensing considerations for the transmission of fonts. 3 Definition 3.1 Encoding Unrecognized sub-types of "font" should be treated as "application/octet-stream". Implementations may pass unrecognized sub-types to a common font-handling system, if any. Different subtypes of font may be encoded as textual representations or as binary data. Unless noted in the subtype registration, subtypes of font should be assumed to contain binary data, implying a content encoding of base64 for email and binary transfer for ftp and http. 3.1 Common Parameters The following two parameters may be supplied for any registration under the "font" top-level type unless specifically disallowed by the registration of that format. It might be thought desirable to have a sub-parameter for the glyph coverage of a font, but there is no known method that gives an D. Singer and G. Adams [Page 3] Internet Draft draft-singer-font-mime-00.doc Oct 14 2004 adequate summary of the coverage in an exact enough form to be useful. This specification does not, therefore, define any such parameter. However, the authors are investigating whether the Unicode sets as defined at < http://www.unicode.org/reports/tr35/#Unicode_Sets> could meet this need. These parameters are informative and typically duplicate information found in the font itself. For interpreting the font file, the information within the file is definitive and over-rides any of these parameters. These parameters can be used to determine whether a font can or should be opened, for example. The parameters SHOULD correspond to what is in the file. font-name="string" This is the reference name for the font; a non-localized name that is used to refer to it. In many fonts (even those not using PostScript), this is the called "the postscript name". (e.g. "Courier"). font-size="integer" If a font is designed for use at a particular size (e.g. a bitmap font), then this parameter is used to indicate the intended display size. The value of the parameter is the nominal 'design size' of the font, in pixels (e.g. a font designed for a nominal display size of 10 points on a display with 1 pixel per point would report the value "10" here). This parameter is normally only used for fonts such as a single-size bitmap font, designed for use at one size only. subformat="string" For font containers that allow multiple representations, and therefore could require different font machinery, this identifies the format needed, from an enumerated set defined in this specification or specifications of specific formats under the "font/" node. This specification defines "truetype" and "postscript" as possible values for this parameter. unicode="boolean" The value of this parameter indicates whether the font supports a mapping from Unicode scalar values or Unicode encoding form to specific glyph(s); it takes the value "true" or "false". 4 Defined and Expected Sub-types D. Singer and G. Adams [Page 4] Internet Draft draft-singer-font-mime-00.doc Oct 14 2004 In this section the initial entries under the top-level 'font' MIME type are documented. They also serve as examples for future registrations. Note that Macintosh operating systems are not particular about the file-type code used for fonts, and that it is correct that the two overlapping formats registered here use the same file type. 4.1 OpenType The font/opentype content-type refers fonts that conform to the OpenType specification. OpenType fonts are a special case of SFNT fonts, which have a separate MIME type. The specific OpenType MIME type is preferred when the fact that it is an OpenType font is salient to the application or usage, and when the originating system can reasonably determine that a font is a valid OpenType font. To: ietf-types@iana.org Subject: Registration of Standard MIME media type font/opentype MIME media type name: font MIME subtype name: opentype Required parameters: none Optional parameters: any of the common parameters for 'font' may be used, as documented in RFC XXXX Encoding considerations: files are binary and should be transmitted in a suitable encoding without CR/LF conversion, 7-bit stripping etc.; base64 is a suitable encoding; Security considerations: see the security considerations section in RFC XXXX Interoperability considerations: OpenType fonts should ... Published specification: http://www.microsoft.com/typography/otspec/default.htm Applications which use this media type: Messaging and multi-media Additional information: Magic number(s): no true magic number, but currently files start with a 32-bit field, which contains either 0x00010000 or 'OTTO' File extension(s): "otf" is the common extension used; "ttf" may be used for OpenType fonts containing TrueType outlines, "ttc" is used for TrueType Collections fonts Macintosh File Type Code(s): sfnt may be used but is not required D. Singer and G. Adams [Page 5] Internet Draft draft-singer-font-mime-00.doc Oct 14 2004 Person & email address to contact for further information: ???: ???@???.com Intended usage: COMMON Change controller: ???: ???@???.com 4.2 Sfnt The font/sfnt content-type refers fonts that are contained within an 'sfnt' (scalable font) container, but that are not necessarily OpenType. (OpenType fonts also use this container format, but there is a substantial body of fonts using the container format that are not OpenType fonts). To: ietf-types@iana.org Subject: Registration of Standard MIME media type font/sfnt MIME media type name: font MIME subtype name: sfnt Required parameters: none Optional parameters: any of the common parameters for 'font' may be used, as documented in RFC XXXX Encoding considerations: files are binary and should be transmitted in a suitable encoding without CR/LF conversion, 7-bit stripping etc.; base64 is a suitable encoding; Security considerations: see the security considerations section in RFC XXXX Interoperability considerations: Sfnt fonts may contain a variety of tables, some or all of which may be vendor-specific or otherwise non- standard. The SFNT structure does not require any specific set of tables, though there are tables in common use. Interoperability is not assured. Published specification: http://developer.apple.com/fonts/TTRefMan/ Applications which use this media type: Messaging and multi-media Additional information: Magic number(s): no true magic number, but currently files start with a 32-bit field, which contains either 0x00010000, or 'OTTO', or 'true' or 'typ1' File extension(s): "ttf" is a common extension used, for sfnt-housed TrueType fonts D. Singer and G. Adams [Page 6] Internet Draft draft-singer-font-mime-00.doc Oct 14 2004 Macintosh File Type Code(s): sfnt may be used but is not required Person & email address to contact for further information: ???: ???@???.com Intended usage: COMMON Change controller: ???: ???@???.com 5 IANA Considerations This document registers the top-level MIME type "font", and the "opentype" font type under "font". 6 RFC Editor Considerations The references to RFC XXXX in the MIME registrations need to be replaced with the actual RFC number when it is issued. 7 Full Copyright Statement Copyright (C) The Internet Society (2004). This document is subject to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the authors retain all their rights. This document and the information contained herein are provided on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. 8 Intellectual Property Notice The IETF takes no position regarding the validity or scope of any intellectual property or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; neither does it represent that it has made any effort to identify any such rights. Information on the IETF's procedures with respect to rights in standards-track and standards-related documentation can be found in BCP-11. Copies of claims of rights made available for publication and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this specification can be obtained from the IETF Secretariat. D. Singer and G. Adams [Page 7] Internet Draft draft-singer-font-mime-00.doc Oct 14 2004 The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights which may cover technology that may be required to practice this standard. Please address the information to the IETF Executive Director. Acknowledgments The initial review by the W3C Timed Text group, and type experts, is gratefully acknowledged. D. Singer and G. Adams [Page 8] Internet Draft draft-singer-font-mime-00.doc Oct 14 2004 Authors' Contact Information David Singer Apple Computer, Inc. One Infinite Loop, MS:302-3MT Cupertino CA 95014 USA Email: singer@apple.com Tel: +1 408 974 3162 Glenn Adams Extensible Formatting Systems, Inc. (XFSI) 114 Mount Auburn St, 4th Floor Cambridge, MA 02138 USA Tel: +1 617 864-0005 Fax: +1 617 864-0006 Email: gadams@xfsi.com 6. References [ISO-JPEG2000-1] ITU-T Recommendation T.800 | ISO/IEC 15444-1. International Organization for Standardization, "JPEG 2000 Image Coding System: Core Coding System". [MIME1] Freed, N. and N. Borenstein, "Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet Message Bodies", RFC 2045, November 1996. Dates Written: Oct 14 2004 Expires: Apr 14 2005 D. Singer and G. Adams [Page 9]