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]