2002-11-09

SVG and Inline Bitmaps

I noticed the following code in the "SVGAbout.svg" file from the Adobe SVG Plug-In.

<style type="text/css">
<![CDATA[
@font-face { font-family: 'Arial MT';
  src:local(ArialMT),
  url("data:;base64,...")}
]]>
</style>

This appears to be a way of embedding font data with in the SVG file so we don't require it to be otherwise accessible to the display program's platform.

See Section 6.7 Styling with CSS in the 2001-09-04 SVG 1.0 Specification discusses styling and SVG.

This is called the "data: URL scheme", and according to Section G.7 Conforming SVG Viewers:

The viewer must support base64 encoded content using the "data:" protocol [RFC2397] wherever URI referencing of whole documents (such as raster images, SVG documents, fonts and color profiles) is permitted within SVG content. (Note: fragments of SVG content which do not constitute an entire SVG document are not available using the "data:" protocol.)

Section 4 of RFC2397 (1998-08) The "data" URL scheme has a small example of an HTML <img> tag with an embedded PNG image.

The media type default based on RFC2045 (1996-11) Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet Message Bodies is "text/plain;charset=US-ASCII".

No comments: