You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1700 lines
72 KiB
1700 lines
72 KiB
<?xml version="1.0" encoding="utf-8"?>
|
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
|
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
|
<head>
|
|
<meta name="generator" content=
|
|
"HTML Tidy for Cygwin (vers 1st September 2004), see www.w3.org" />
|
|
<title>SVG Print 1.2, Part 2: Language</title>
|
|
<link rel="stylesheet" type="text/css" href=
|
|
"style/svg-style.css" />
|
|
<link rel="stylesheet" type="text/css" href=
|
|
"http://www.w3.org/StyleSheets/TR/W3C-WD" />
|
|
</head>
|
|
<body>
|
|
<div class="head">
|
|
<p><a href="http://www.w3.org/"><img width="72" alt="W3C" src=
|
|
"http://www.w3.org/Icons/w3c_home" height="48" /></a> </p>
|
|
<h1>SVG Print 1.2, Part 2: Language</h1>
|
|
<h2 id="pagesubtitle">W3C Working Draft 21 December 2007</h2>
|
|
<dl>
|
|
<dt>This version:</dt>
|
|
<dd><a href=
|
|
"http://www.w3.org/TR/2007/WD-SVGPrint12-20071221/">http://www.w3.org/TR/2007/WD-SVGPrint12-20071221/</a></dd>
|
|
<dt>Latest version:</dt>
|
|
<dd><a href=
|
|
"http://www.w3.org/TR/SVGPrint12/">http://www.w3.org/TR/SVGPrint12/</a></dd>
|
|
<dt>Previous version:</dt>
|
|
<dd><a href=
|
|
"http://www.w3.org/TR/2007/WD-SVGPrint12-20070501/">http://www.w3.org/TR/2007/WD-SVGPrint12-20070501/</a></dd>
|
|
<dt>Editors:</dt>
|
|
<dd>Alex Danilo, Canon Information Systems Research Australia,
|
|
<<a href=
|
|
"mailto:alex@research.canon.com.au">alex@research.canon.com.au</a>></dd>
|
|
<dd>Craig Northway, Canon Information Systems Research Australia,
|
|
<<a href=
|
|
"mailto:craign@research.canon.com.au">craign@research.canon.com.au</a>></dd>
|
|
<dd>Andrew Shellshear, Canon Information Systems Research
|
|
Australia, <<a href=
|
|
"mailto:andrews@research.canon.com.au">andrews@research.canon.com.au</a>></dd>
|
|
<dd>Anthony Grasso, Canon Information Systems Research Australia,
|
|
<<a href=
|
|
"mailto:anthony.grasso@research.canon.com.au">anthony.grasso@research.canon.com.au</a>></dd>
|
|
<dd>Chris Lilley, W3C <<a href=
|
|
"mailto:chris@w3.org">chris@w3.org</a>></dd>
|
|
<dt>Authors:</dt>
|
|
<dd>The authors of this specification are the participants of the
|
|
W3C SVG Working Group.</dd>
|
|
</dl>
|
|
<p class="copyright"><a href=
|
|
"http://www.w3.org/Consortium/Legal/ipr-notice#Copyright">Copyright</a>
|
|
© 2007 <a href="http://www.w3.org/"><acronym title=
|
|
"World Wide Web Consortium">W3C</acronym></a><sup>®</sup> (<a href=
|
|
"http://www.csail.mit.edu/"><acronym title=
|
|
"Massachusetts Institute of Technology">MIT</acronym></a>, <a href=
|
|
"http://www.ercim.org/"><acronym title=
|
|
"European Research Consortium for Informatics and Mathematics">ERCIM</acronym></a>,
|
|
<a href="http://www.keio.ac.jp/">Keio</a>), All Rights Reserved.
|
|
W3C <a href=
|
|
"http://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer">liability</a>,
|
|
<a href=
|
|
"http://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks">trademark</a>
|
|
and <a href=
|
|
"http://www.w3.org/Consortium/Legal/copyright-documents">document
|
|
use</a> rules apply.</p>
|
|
</div>
|
|
<hr title="Separator from Header" />
|
|
<h2 id="abstract">Abstract</h2>
|
|
<p>This Working Draft defines features of the Scalable Vector
|
|
Graphics (SVG) Language that are specifically for printing
|
|
environments.</p>
|
|
<h2 id="status">Status of This Document</h2>
|
|
<p><em>This section describes the status of this document at the
|
|
time of its publication. Other documents may supersede this
|
|
document. A list of current W3C publications and the latest
|
|
revision of this technical report can be found in the <a href=
|
|
"http://www.w3.org/TR/">W3C technical reports index</a> at
|
|
http://www.w3.org/TR/.</em></p>
|
|
<p>This document is a Last Call Working Draft. The W3C Membership and other interested parties are invited to review the document and send comments to
|
|
to <a href=
|
|
"mailto:public-svg-print@w3.org">public-svg-print@w3.org</a>
|
|
(<a href=
|
|
"http://lists.w3.org/Archives/Public/public-svg-print/">archives</a>)
|
|
until 8 February 2008.
|
|
There is an accompanying
|
|
<a href="#SVG12PrintPrimer">SVG Print 1.2, Part 1: Primer</a> that
|
|
lists the ways SVG Print, along with other SVG documents, may be
|
|
used for SVG Printing.</p>
|
|
<p>This document has been produced by the <a href=
|
|
"http://www.w3.org/Graphics/SVG/Group">W3C SVG Working Group</a> as part
|
|
of the W3C <a href="http://www.w3.org/Graphics/Activity">Graphics
|
|
Activity</a> within the <a href=
|
|
"http://www.w3.org/Interaction/">Interaction Domain</a>. The
|
|
Working Group expects to advance this Working Draft to
|
|
Recommendation Status.</p>
|
|
|
|
<p>Publication as a Working Draft does not imply endorsement by the
|
|
<acronym title="World Wide Web Consortium">W3C</acronym>
|
|
Membership. This is a draft document and may be updated, replaced
|
|
or obsoleted by other documents at any time. It is inappropriate to
|
|
cite this document as other than work in progress.</p>
|
|
<p>This document was produced by a group operating under the
|
|
<a href="http://www.w3.org/Consortium/Patent-Policy-20040205/">5
|
|
February 2004 <acronym title=
|
|
"World Wide Web Consortium">W3C</acronym> Patent Policy</a>.
|
|
<acronym title="World Wide Web Consortium">W3C</acronym> maintains
|
|
a <a href="http://www.w3.org/2004/01/pp-impl/19480/status" rel=
|
|
"disclosure">public list of any patent disclosures</a> made in
|
|
connection with the deliverables of the group; that page also
|
|
includes instructions for disclosing a patent. An individual who
|
|
has actual knowledge of a patent which the individual believes
|
|
contains <a href=
|
|
"http://www.w3.org/Consortium/Patent-Policy-20040205/#def-essential">
|
|
Essential Claim(s)</a> must disclose the information in accordance
|
|
with <a href=
|
|
"http://www.w3.org/Consortium/Patent-Policy-20040205/#sec-Disclosure">
|
|
section 6 of the <acronym title=
|
|
"World Wide Web Consortium">W3C</acronym> Patent Policy</a>.</p>
|
|
<hr />
|
|
<h2 id="howto">How to read this document and give feedback</h2>
|
|
<p>This draft of SVG Print is a snapshot of a work-in-progress.</p>
|
|
<p>The main purpose of this document is to encourage public
|
|
feedback. The best way to give feedback is by sending an email to
|
|
<a href=
|
|
"mailto:public-svg-print@w3.org">public-svg-print@w3.org</a>.
|
|
Please identify in the subject line of your message the part of the
|
|
specificationto which your comment refers (e.g "Print compositing"
|
|
or "Print render formats"). If you have comments on multiple areas
|
|
of this document, then it is preferable to send several separate
|
|
comments.</p>
|
|
<p>The public are welcome to comment on any aspect in this
|
|
document, but there are a few areas in which the SVG Working Group
|
|
are explicitly requesting feedback. These areas are noted in place
|
|
within this document. There is also a specific area related to the
|
|
specification that is listed here:</p>
|
|
<p class="note">Interaction with other print standards. The SVG
|
|
Working Group believe that some design decisions would be best made
|
|
in collaboration with other print standards bodies, and would
|
|
welcome liaison statements in this area.</p>
|
|
<h2 id="toc">Table of Contents</h2>
|
|
<ul class="toc">
|
|
<li>1 <a href="#introduction">Introduction</a></li>
|
|
<li>2 <a href="#user-agents">User Agents</a></li>
|
|
<li>3 <a href="#multipage">Printing using Pages</a>
|
|
<ul class="toc">
|
|
<li>3.1 <a href="#pageSet-element">The pageSet element</a></li>
|
|
<li>3.2 <a href="#page-element">The page element</a></li>
|
|
<li>3.3 <a href="#masterPage-element">The masterPage
|
|
element</a></li>
|
|
<li>3.4 <a href="#rendering-order-attr">The rendering-order
|
|
attribute</a></li>
|
|
<li>3.5 <a href="#default-master-pages">Default Master
|
|
Pages</a></li>
|
|
<li>3.6 <a href="#job-control">Job Control</a></li>
|
|
<li>3.7 <a href="#multipage-display">Printing Pages</a></li>
|
|
<li>3.8 <a href="#page-orientation-property">The page-orientation
|
|
property</a></li>
|
|
<li>3.9 <a href="#use-master-page-attribute">The use-master-page
|
|
attribute</a></li>
|
|
<li>3.10 <a href="#print-display-attr">The print-display
|
|
attribute</a></li>
|
|
<li>3.11 <a href="#pagecss">CSS and pages</a></li>
|
|
</ul>
|
|
</li>
|
|
<li>4 <a href="#animate">Animation and Scripting</a></li>
|
|
<li>5 <a href="#ColorIntroduction">Color</a>
|
|
<ul class="toc">
|
|
<li>5.1 <a href="#interpolation">Color interpolation</a></li>
|
|
<li>5.2 <a href="#Paint">Specifying paint</a>
|
|
<ul class="toc">
|
|
<li>5.2.1 <a href="#sRGBcolor">sRGB colors</a></li>
|
|
<li>5.2.2 <a href="#icc-colors">ICC colors</a></li>
|
|
<li>5.2.3 <a href="#named">Named color</a></li>
|
|
<li>5.2.4 <a href="#device">Uncalibrated device colors</a></li>
|
|
</ul>
|
|
</li>
|
|
<li>5.3 <a href="#ColorProfileDescriptions">Color profile
|
|
descriptions</a>
|
|
<ul class="toc">
|
|
<li>5.3.1 <a href="#ColorProfileDescriptionsOverview">Overview of
|
|
color profile descriptions</a></li>
|
|
<li>5.3.2 <a href="#ColorProfileAlternatives">Alternative ways for
|
|
defining a color profile description</a></li>
|
|
<li>5.3.3 <a href="#ColorProfileElement">The 'color-profile'
|
|
element</a></li>
|
|
<li>5.3.4 <a href="#ColorProfileAtRule">@color-profile when using
|
|
CSS styling</a></li>
|
|
<li>5.3.5 <a href="#ColorProfileProperty">'color-profile'
|
|
property</a></li>
|
|
</ul>
|
|
</li>
|
|
<li>5.4 <a href="#deviceColor-elem">deviceColor Element</a></li>
|
|
</ul>
|
|
</li>
|
|
<li>6 <a href="#definitions">Definitions</a></li>
|
|
<li>7 <a href="#references">References</a>
|
|
<ul class="toc">
|
|
<li>7.1 <a href="#normref">Normative References</a></li>
|
|
<li>7.2 <a href="#informref">Informative References</a></li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
|
|
<h2 id="introduction">1 Introduction</h2>
|
|
<p>This document lists features that may be used in the context of
|
|
printing. The various usage scenarios are listed in the SVG Print
|
|
Requirements document.</p>
|
|
<p>This document is normative.</p>
|
|
<p>This document contains explicit conformance criteria that
|
|
overlap with some RNG definitions in requirements. If there is any
|
|
conflict between the two, the explicit conformance criteria are the
|
|
definitive reference.</p>
|
|
<p>This document contains conformance criteria for a number of
|
|
different entities:</p>
|
|
<ul>
|
|
<li>The Content (ie. conformance criteria on the document
|
|
author).</li>
|
|
<li>A User Agent for Printing.</li>
|
|
<li>A User Agent for Print Preview.</li>
|
|
</ul>
|
|
<p>Some conformance criteria allow or require the User Agent for
|
|
Printing and the User Agent for Print Preview to communicate with
|
|
each other.</p>
|
|
<p class="note">The conformance criteria have awkward names - any
|
|
suggestions for replacing "A User Agent for Printing", "A User
|
|
Agent for Print Preview", and "A User Agent for Printing or Print
|
|
Preview" would be welcome.</p>
|
|
<div class="note">
|
|
<p>TODO: The above terms will probably be replaced as follows:</p>
|
|
<dl>
|
|
<dd>SVG Print Preview Device ---> Print Preview Agent (PPA)</dd>
|
|
<dd>SVG Printing Device ---> Print Reproduction Agent (PRA)</dd>
|
|
<dd>SVG Printing or Print Preview Device ---> Print User Agent
|
|
(PUA)</dd>
|
|
</dl>
|
|
</div>
|
|
<h2 id="user-agents">2 User Agents</h2>
|
|
<div class="requirement" id="assert_userAgentPrintPreviewPrinting">
|
|
<p>A User Agent for Print Preview SHOULD, when requested to print,
|
|
provide a mechanism for passing details for that printing to a User
|
|
Agent for Printing. The mechanisms for doing so are covered by
|
|
other specifications and are outside the scope of the present
|
|
one.</p>
|
|
</div>
|
|
<div class="requirement" id="assert_userAgentPrintingFromPreview">
|
|
<p>A User Agent for Printing SHOULD provide a mechanism for
|
|
accepting details for that printing (from a User Agent for Print
|
|
Preview, or other sources). The mechanisms for doing so are covered
|
|
by other specifications and are outside the scope of the present
|
|
one.</p>
|
|
</div>
|
|
<div class="requirement" id="assert_userAgentPrintingAllowStatic">
|
|
<p>A User Agent for Printing MUST NOT print any content if there is
|
|
no <span class="element">pageSet</span> element and if there is no
|
|
content that would otherwise mark the SVG canvas.</p>
|
|
</div>
|
|
<div class="requirement" id="assert_userAgentPrintingAllowStatic2">
|
|
<p>A User Agent for Printing MUST comply with the <a href=
|
|
"http://www.w3.org/TR/SVGMobile12/feature.html#SVG-static">Static
|
|
Profile</a> of <a href="http://www.w3.org/TR/SVGMobile12/">SVG Tiny
|
|
1.2</a>.</p>
|
|
</div>
|
|
<div class="requirement" id=
|
|
"assert_userAgentPrintPreviewAllowStatic">
|
|
<p>A User Agent for Print Preview MUST comply with the <a href=
|
|
"http://www.w3.org/TR/SVGMobile12/feature.html#SVG-static">Static
|
|
Profile</a> of <a href="http://www.w3.org/TR/SVGMobile12/">SVG Tiny
|
|
1.2</a>.</p>
|
|
</div>
|
|
<h2 id="multipage">3 Printing using Pages</h2>
|
|
<h3 id="pageSet-element">3.1 The pageSet element</h3>
|
|
<p>The <span class="element">pageSet</span> element is the
|
|
container for a set of <span class="element">page</span>
|
|
elements.</p>
|
|
<div class="schema">
|
|
<div class="schemaheader"><strong>Schema:</strong> pageSet</div>
|
|
<div class="schemasource">
|
|
<pre>
|
|
<define name='pageSet'>
|
|
<element name='pageSet'>
|
|
<ref name='pageSet.AT'/>
|
|
<zeroOrMore><ref name='page'/></zeroOrMore>
|
|
</element>
|
|
</define>
|
|
|
|
<define name='pageSet.AT' combine='interleave'>
|
|
<ref name='svg.Core.attr'/>
|
|
</define>
|
|
|
|
</pre></div>
|
|
</div>
|
|
<div class="requirement" id="assert_numberOfPageSets">
|
|
<p>A User Agent for Printing or Print Preview MUST treat all
|
|
pageSet elements beyond the first as <a href=
|
|
"http://www.w3.org/TR/SVGMobile12/implnote.html#UnsupportedProps">
|
|
unsupported elements</a>.</p>
|
|
</div>
|
|
<div class="requirement" id="assert_elementsInPageSet">
|
|
<p>A User Agent for Printing or Print Preview MUST treat all
|
|
children of a <span class="element">pageSet</span> element as
|
|
<a href=
|
|
"http://www.w3.org/TR/SVGMobile12/implnote.html#UnsupportedProps">
|
|
unsupported elements</a> except for <span class=
|
|
"element">page</span> elements, <span class=
|
|
"element">masterPage</span> elements and <span class=
|
|
"element">use</span> elements.</p>
|
|
</div>
|
|
<div class="requirement" id="assert_elementsAfterPageSet">
|
|
<p>A User Agent for Printing or Print Preview MUST treat all
|
|
elements from the SVG namespace between the closing <span class=
|
|
"element">pageSet</span> tag and the closing <span class=
|
|
"element">svg</span> tag as <a href=
|
|
"http://www.w3.org/TR/SVGMobile12/implnote.html#UnsupportedProps">
|
|
unsupported elements</a>.</p>
|
|
</div>
|
|
<h3 id="page-element">3.2 The page element</h3>
|
|
<p>The <span class="element">page</span> element appears only as a
|
|
child of a <span class="element">pageSet</span> element.</p>
|
|
<div class="schema">
|
|
<div class="schemaheader"><strong>Schema:</strong> page</div>
|
|
<div class="schemasource">
|
|
<pre>
|
|
<define name='page'>
|
|
<element name='page'>
|
|
<ref name='page.AT'/>
|
|
<zeroOrMore><ref name='svg.G.group'/></zeroOrMore>
|
|
</element>
|
|
</define>
|
|
|
|
<define name='page.AT' combine='interleave'>
|
|
<ref name='svg.Core.attr'/>
|
|
<ref name='svg.page-orientation.attr'/>
|
|
</define>
|
|
|
|
</pre></div>
|
|
</div>
|
|
<p>Conceptually, the <span class="element">page</span> element is
|
|
similar to an <span class="element">svg</span> element but without
|
|
transformation and positioning. All pages are in the coordinate
|
|
system of their <span class="element">pageSet</span>, which is in
|
|
the coordinate system of the root <span class="element">svg</span>
|
|
element.</p>
|
|
<div class="requirement" id="assert_renderingPages">
|
|
<p>A User Agent for Printing or Print Preview MUST, when rendering
|
|
a <span class="element">page</span>, render only the children of
|
|
the page, and any relevant <a href="#masterPage-element">Master
|
|
Pages</a>.</p>
|
|
</div>
|
|
<div class="requirement" id="assert_containingPages">
|
|
<p>A User Agent for Printing or Print Preview MUST treat
|
|
<span class="element">page</span> elements that are not inside the
|
|
<span class="element">pageSet</span> element as <a href=
|
|
"http://www.w3.org/TR/SVGMobile12/implnote.html#UnsupportedProps">
|
|
unsupported elements</a>.</p>
|
|
</div>
|
|
<div class="requirement" id="assert_pageReferencesContent">
|
|
<p>Content that has references inside a <span class=
|
|
"element">page</span> element MUST refer only to elements within
|
|
the same <span class="element">page</span> or in the SVG document
|
|
before the <span class="element">pageSet</span> element.</p>
|
|
</div>
|
|
<div class="requirement" id="assert_pageReferences">
|
|
<p>A User Agent for Printing or Print Preview MUST treat any
|
|
references in a <span class="element">page</span> that refer to
|
|
content in a different <span class="element">page</span> in the
|
|
same document as <a href=
|
|
"http://www.w3.org/TR/SVGMobile12/implnote.html#UnsupportedProps">
|
|
unsupported</a>.</p>
|
|
</div>
|
|
<div class="requirement" id="assert_pageReferencesExternal">
|
|
<p>Content MAY have references inside a <span class=
|
|
"element">page</span> element that refer to external documents, but
|
|
authors SHOULD use the <span class=
|
|
"attribute">externalResourcesRequired</span> feature in this
|
|
case.</p>
|
|
</div>
|
|
<div class="requirement" id="assert_pageDiscard">
|
|
<p>A User Agent for Printing MAY discard a <span class=
|
|
"element">page</span> element and all its children after that
|
|
<span class="element">page</span> element has been dealt with.</p>
|
|
</div>
|
|
<h3 id="masterPage-element">3.3 The masterPage element</h3>
|
|
<p>The <span class="element">masterPage</span> element appears only
|
|
as a child of a <span class="element">pageSet</span> element.</p>
|
|
<div class="schema">
|
|
<div class="schemaheader"><strong>Schema:</strong> masterPage</div>
|
|
<div class="schemasource">
|
|
<pre>
|
|
<define name='masterPage'>
|
|
<element name='masterPage'>
|
|
<ref name='masterPage.AT'/>
|
|
<zeroOrMore><ref name='svg.G.group'/></zeroOrMore>
|
|
</element>
|
|
</define>
|
|
|
|
<define name='masterPage.AT' combine='interleave'>
|
|
<ref name='svg.Core.attr'/>
|
|
<ref name='svg.rendering-order.attr'/>
|
|
</define>
|
|
|
|
</pre></div>
|
|
</div>
|
|
<div class="requirement" id="assert_masterPageNoDisplay">
|
|
<p>A User Agent for Printing or Print Preview MUST NOT directly
|
|
render any <span class="element">masterPage</span> element or any
|
|
of its children.</p>
|
|
</div>
|
|
<h3 id="rendering-order-attr">3.4 The rendering-order
|
|
attribute</h3>
|
|
<div class="adef-list">
|
|
<p>The rendering-order attribute may appear only on the masterPage
|
|
element.</p>
|
|
<p><em>Attribute definition:</em></p>
|
|
<dl>
|
|
<dt><a id="RenderingOrderAttribute" name=
|
|
"renderingOrderAttribute"></a> <span class=
|
|
"adef">rendering-order</span> = <span class="attr-value">"over" |
|
|
"under"</span></dt>
|
|
<dd><br />
|
|
The attribute value can be either of the following:
|
|
<dl>
|
|
<dt class="attr-value" id="renderingorder-over">over</dt>
|
|
<dd>This master page is rendered over (ie. after)
|
|
display-pages.</dd>
|
|
<dt class="attr-value" id="renderingorder-under">under</dt>
|
|
<dd>The <a href=
|
|
"http://www.w3.org/TR/SVGMobile12/intro.html#TermDefaultValue">
|
|
<span class="svg-term">default value</span></a>. This master page
|
|
is rendered underneath (ie. before) display-pages.</dd>
|
|
</dl>
|
|
<br />
|
|
<span class="anim-target"><a href=
|
|
"http://www.w3.org/TR/SVGMobile12/animate.html#Animatable">
|
|
Animatable</a>: No</span></dd>
|
|
</dl>
|
|
</div>
|
|
<p>A <strong id="foreground-master-page">Foreground Master
|
|
Page</strong> is a <a href="#masterPage-element">Master Page</a>
|
|
with <a href="#renderingorder-over">rendering-order set to
|
|
"over"</a>.</p>
|
|
<p>A <strong id="background-master-page">Background Master
|
|
Page</strong> is a <a href="#masterPage-element">Master Page</a>
|
|
with <a href="#renderingorder-under">rendering-order set to
|
|
"under"</a>.</p>
|
|
<p>It is possible to have multiple <a href=
|
|
"#background-master-page">Background Master Page</a>s and/or
|
|
<a href="#foreground-master-page">Foreground Master Page</a>s in an
|
|
SVG Print document, though only one of each can be active at any
|
|
given time. Whenever the renderer encounters a Background or
|
|
Foreground Master Page, it replaces the current Background or
|
|
Foreground Master Page with the new one, and subsequent pages use
|
|
the newer one.</p>
|
|
<div class="requirement" id="assert_backgroundMasterPageOverwrite">
|
|
<p>A User Agent for Printing or Print Preview MUST apply one
|
|
<a href="#background-master-page">Background Master Page</a> and
|
|
one <a href="#foreground-master-page">Foreground Master Page</a> to
|
|
a displayed page. The <a href="#background-master-page">Background
|
|
Master Page</a> and <a href="#foreground-master-page">Foreground
|
|
Master Page</a> MUST be the ones most closely preceding the page in
|
|
document order.</p>
|
|
</div>
|
|
<div class="requirement" id="assert_backgroundMasterPageDisplay">
|
|
<p>A User Agent for Printing or Print Preview MUST render content
|
|
that is part of the <a href="#background-master-page">Background
|
|
Master Page</a> on each displayed <span class=
|
|
"element">page</span>, before the page content.</p>
|
|
</div>
|
|
<div class="requirement" id="assert_foregroundMasterPageDisplay">
|
|
<p>A User Agent for Printing or Print Preview MUST render content
|
|
that is part of the <a href="#foreground-master-page">Foreground
|
|
Master Page</a> on each displayed <span class=
|
|
"element">page</span>, after the page content.</p>
|
|
</div>
|
|
<div class="requirement" id="assert_foregroundMasterPageDiscard">
|
|
<p>A User Agent for Printing or Print Preview MUST discard the
|
|
<a href="#foreground-master-page">Foreground Master Page</a> and
|
|
all its children when the next <a href=
|
|
"#foreground-master-page">Foreground Master Page</a> is parsed.</p>
|
|
</div>
|
|
<div class="requirement" id="assert_backgroundMasterPageDiscard">
|
|
<p>A User Agent for Printing or Print Preview MUST discard the
|
|
<a href="#background-master-page">Background Master Page</a> and
|
|
all its children when the next <a href=
|
|
"#background-master-page">Background Master Page</a> is parsed.</p>
|
|
</div>
|
|
<h3 id="default-master-pages">3.5 Default Master Pages</h3>
|
|
<p>The default master pages are made available as a simple default
|
|
that gives sensible printing behaviour for documents that do not
|
|
have pageSet elements.</p>
|
|
<div class="requirement" id="assert_defaultBackgroundMasterPage">
|
|
<p>A User Agent for Printing or Print Preview MUST use all elements
|
|
in the SVG document after the opening <span class=
|
|
"element">svg</span> tag and before the opening <span class=
|
|
"element">pageSet</span> tag as the initial <a href=
|
|
"#background-master-page">Background Master Page</a>, applying to
|
|
all <span class="element">page</span> elements that appear before
|
|
the next <a href="#background-master-page">Background Master
|
|
Page</a> in document order.</p>
|
|
</div>
|
|
<div class="requirement" id="assert_defaultForegroundMasterPage">
|
|
<p>A User Agent for Printing or Print Preview MUST set the initial
|
|
<a href="#foreground-master-page">Foreground Master Page</a> to be
|
|
empty.</p>
|
|
</div>
|
|
<p>Note that, as a consequence of the foregoing conformance
|
|
statements, the default background master page (all the elements
|
|
between the svg element and the pageSet element) <em>is no longer
|
|
used as a default master page</em> when another background master
|
|
page is set. Elements in the <span class="element">defs</span>
|
|
element of an svg document will be available to all pages in the
|
|
<span class="element">pageSet</span> element.</p>
|
|
<div class="requirement" id="assert_defaultMasterPageContent">
|
|
<p>Content that has <span class="element">MasterPage</span>
|
|
elements SHOULD NOT make use of the default background master page
|
|
(ie. should not have content between the svg element and the
|
|
pageSet element).</p>
|
|
</div>
|
|
<h3 id="job-control">3.6 Job Control</h3>
|
|
<div class="requirement" id="assert_printPagesJobControl">
|
|
<p>A User Agent for Printing MAY allow control over the job
|
|
information (e.g. JDF), by means of an encapsulation of an SVG file
|
|
or document fragment.</p>
|
|
</div>
|
|
<h3 id="multipage-display">3.7 Printing Pages</h3>
|
|
<div class="requirement" id="assert_printPagesPageChoice">
|
|
<p>A User Agent for Printing or Print Preview MAY, when requested
|
|
to print an SVG document, and in the absence of conflicting
|
|
<a href="#job-control">Job Control</a> information, provide a means
|
|
for selecting which pages to print.</p>
|
|
</div>
|
|
<div class="requirement" id="assert_printPagesPageAll">
|
|
<p>A User Agent for Printing SHOULD, when requested to print an SVG
|
|
document, and in the absence of conflicting <a href=
|
|
"#job-control">Job Control</a> information, print all pages, in the
|
|
order in which the pages appear in the SVG document.</p>
|
|
</div>
|
|
<p>If an SVG document fragment with multiple pages is embedded in,
|
|
or referenced by, a document from another namespace, such as XHTML,
|
|
then typically it is up to that namespace to define the processing
|
|
of pages.</p>
|
|
<h3 id="page-orientation-property">3.8 The page-orientation
|
|
property</h3>
|
|
<p>The orientation of each <span class="element">page</span>
|
|
element can be controlled by the <span class=
|
|
"property">page-orientation</span> property. This enables the
|
|
content to define whether a portrait or landscape mode is used for
|
|
display and printing.</p>
|
|
<div class="propdef">
|
|
<dl>
|
|
<dt><span class="property">page-orientation</span></dt>
|
|
<dd>
|
|
<table cellpadding="0" cellspacing="0" class="propinfo" summary=
|
|
"page-orientation property">
|
|
<tr valign="baseline">
|
|
<td><em>Value:</em></td>
|
|
<td>-270 | -180 | -90 | 0 | 90 | 180 | 270</td>
|
|
</tr>
|
|
<tr valign="baseline">
|
|
<td><em>Initial:</em></td>
|
|
<td>0</td>
|
|
</tr>
|
|
<tr valign="baseline">
|
|
<td><em>Applies to:</em></td>
|
|
<td>page elements</td>
|
|
</tr>
|
|
<tr valign="baseline">
|
|
<td><em>Inherited:</em></td>
|
|
<td>no</td>
|
|
</tr>
|
|
<tr valign="baseline">
|
|
<td><em>Percentages:</em></td>
|
|
<td>N/A</td>
|
|
</tr>
|
|
<tr valign="baseline">
|
|
<td><em>Media:</em></td>
|
|
<td>visual print</td>
|
|
</tr>
|
|
<tr valign="baseline">
|
|
<td><em><a href=
|
|
"http://www.w3.org/TR/SVGMobile12/animate.html#Animatable">Animatable</a>:</em></td>
|
|
<td>yes</td>
|
|
</tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
</div>
|
|
<p>When displaying a <span class="element">page</span> on a User
|
|
Agent for Print Preview, the value of the <span class=
|
|
"property">page-orientation</span> property introduces the
|
|
following transform before the top-level viewport
|
|
transformation:</p>
|
|
<dl>
|
|
<dt>0</dt>
|
|
<dd>No additional transform</dd>
|
|
<dt>-90 or 270</dt>
|
|
<dd>translate(0 height) rotate(-90)</dd>
|
|
<dt>180 or -180</dt>
|
|
<dd>translate(width height) rotate(180)</dd>
|
|
<dt>90 or -270</dt>
|
|
<dd>translate(width 0) rotate(90)</dd>
|
|
</dl>
|
|
<p>The values for width and height are the dimensions of the
|
|
top-level <span class="attribute">viewBox</span> in the user
|
|
coordinate system or the dimensions of the top-level viewport if
|
|
there is no <span class="attribute">viewBox</span> specified.</p>
|
|
<div class="requirement" id="assert_pageOrientationInPrintPreview">
|
|
<p>A User Agent for Printing or Print Preview MUST display each
|
|
page with the orientation as specified by <a href=
|
|
"#page-orientation-property">page-orientation</a>.</p>
|
|
</div>
|
|
<h3 id="use-master-page-attribute">3.9 The use-master-page
|
|
attribute</h3>
|
|
<div class="adef-list">
|
|
<p>The use-master-page attribute may appear only on a <span class=
|
|
"element">use</span> element referencing an external page
|
|
element.</p>
|
|
<p><em>Attribute definition:</em></p>
|
|
<dl>
|
|
<dt><a id="UseMasterPageAttribute" name=
|
|
"useMasterPageAttribute"></a> <span class=
|
|
"adef">use-master-page</span> = <span class="attr-value">"current"
|
|
| "external"</span></dt>
|
|
<dd><br />
|
|
The attribute value can be either of the following:
|
|
<dl>
|
|
<dt class="attr-value" id="usemasterpage-current">current</dt>
|
|
<dd>The current Master Pages within the referencing document must
|
|
be used for the externally referenced page.</dd>
|
|
<dt class="attr-value" id="usermasterpage-external">external</dt>
|
|
<dd>The current Master Pages from the referenced document must be
|
|
used for the externally referenced page.</dd>
|
|
</dl>
|
|
<br />
|
|
<span class="anim-target"><a href=
|
|
"http://www.w3.org/TR/SVGMobile12/animate.html#Animatable">
|
|
Animatable</a>: No</span></dd>
|
|
</dl>
|
|
</div>
|
|
<p>Both the current Foreground Master Page and Background Master
|
|
Page of the referencing document must be used when use-master-page
|
|
is set to <span class="attr-value"><a href=
|
|
"#usemasterpage-current">current</a></span>.</p>
|
|
<p>Both the current Foreground Master Page and Background Master
|
|
Page of the externally referenced document must be used when
|
|
use-master-page is set to <span class="attr-value"><a href=
|
|
"#usemasterpage-current">external</a></span>.</p>
|
|
<p>By default, if the use-master-page attribute is not specified on
|
|
the use element referencing an external page, then both the current
|
|
Foreground Master Page and Background Master Page of the
|
|
referencing document must be used.</p>
|
|
<div class="requirement" id="assert_useMasterPageCurrent">
|
|
<p>A User Agent for Printing or Print Preview MUST use the current
|
|
Foreground Master Page and Background Master Page of the
|
|
referencing document when use-master-page is set to a value of
|
|
<span class="attr-value"><a href=
|
|
"#usemasterpage-current">current</a></span>.</p>
|
|
</div>
|
|
<div class="requirement" id="assert_useMasterPageExternal">
|
|
<p>A User Agent for Printing or Print Preview MUST use the current
|
|
Foreground Master Page and Background Master Page of the externally
|
|
referenced document when use-master-page is set to a value of
|
|
<span class="attr-value"><a href=
|
|
"#usemasterpage-current">external</a></span>.</p>
|
|
</div>
|
|
<div class="requirement" id="assert_useMasterPageDefault">
|
|
<p>A User Agent for Printing or Print Preview MUST use the current
|
|
Foreground Master Page and Background Master Page of the
|
|
referencing document if use-master-page is not set on the use
|
|
element.</p>
|
|
</div>
|
|
<p class="note">TODO: Need feedback on this feature. Are there
|
|
compelling uses cases for having this extra complexity? What
|
|
benefit does it provide?</p>
|
|
<h3 id="print-display-attr">3.10 The print-display attribute</h3>
|
|
<div class="adef-list">
|
|
<p><em>Attribute definition:</em></p>
|
|
<dl>
|
|
<dt><a id="PrintDisplayAttribute" name=
|
|
"printDisplayAttribute"></a><span class="adef">print-display</span>
|
|
= <span class="attr-value">"noPrint" | "print"</span></dt>
|
|
<dd><br />
|
|
The attribute value can be either of the following:
|
|
<dl>
|
|
<dt class="attr-value" id="printdisplay-noprint">noPrint</dt>
|
|
<dd>This element and its children are ignored for the purposes of
|
|
printing.</dd>
|
|
<dt class="attr-value" id="printdisplay-print">print</dt>
|
|
<dd>The <a href=
|
|
"http://www.w3.org/TR/SVGMobile12/intro.html#TermDefaultValue">
|
|
<span class="svg-term">default value</span></a>. This element is
|
|
not ignored for the purposes of printing.</dd>
|
|
</dl>
|
|
<br />
|
|
<span class="anim-target"><a href=
|
|
"http://www.w3.org/TR/SVGMobile12/animate.html#Animatable">
|
|
Animatable</a>: No</span></dd>
|
|
</dl>
|
|
</div>
|
|
<div class="requirement" id="assert_noPrint">
|
|
<p>A User Agent for Printing or Print Preview MUST, for the
|
|
purposes of printing or print preview, treat a value of
|
|
<span class="attr-value"><a href=
|
|
"#printdisplay-noprint">noPrint</a></span> for the print-display
|
|
attribute as though the element has <a href=
|
|
"http://www.w3.org/TR/SVGMobile12/painting.html#DisplayProperty">
|
|
display=none</a>.</p>
|
|
</div>
|
|
<div class="note">
|
|
<p>TODO: Need feedback on this feature. display-print is a
|
|
replacement for noPrint. The attribute was originally a boolean.
|
|
This changes is still under consideration. The following
|
|
alternatives are available:</p>
|
|
<dl>
|
|
<dd>Add to 'print-display' the values "printOnly", "All" and
|
|
"None"</dd>
|
|
<dd>Replaced with @media. Could have @media print {.foo
|
|
{display:none}}</dd>
|
|
<dd>Replaced with a print feature string.</dd>
|
|
</dl>
|
|
</div>
|
|
<h3 id="pagecss">3.11 CSS and pages</h3>
|
|
<div class="requirement" id="assert_CSSStylePriorToPages">
|
|
<p>Content that uses CSS SHOULD define all styles for use in the
|
|
entire document at the start of the SVG document, prior to any
|
|
<span class="element">page</span> elements.</p>
|
|
</div>
|
|
<div class="requirement" id="assert_presentationAttributes">
|
|
<p>Content intended for print applications SHOULD be authored using
|
|
presentation attributes exclusively.</p>
|
|
</div>
|
|
<h2 id="animate">4 Animation and Scripting</h2>
|
|
<div class="requirement" id="assert_noScriptOrAnimation">
|
|
<p>A User Agent for Printing MUST NOT run any script or start any
|
|
animation in the SVG document.</p>
|
|
</div>
|
|
<div class="requirement" id="assert_noScriptOrAnimationInPreview">
|
|
<p>A User Agent for Print Preview MUST NOT run any script or start
|
|
any animation in any page being displayed.</p>
|
|
</div>
|
|
<h2 id="ColorIntroduction">5 Color</h2>
|
|
<p>SVG Print extends the control of color, relative to SVG Tiny
|
|
1.2, in two ways. Firstly by adding an additional color space for
|
|
interpolation and compositing; this means that colors are no longer
|
|
constrained to the sRGB gamut. Secondly by extending the syntax for
|
|
Paint, thus allowing colors to be specified as calibrated (ICC and
|
|
named) and uncalibrated ('device') color.</p>
|
|
<h3 id="interpolation">5.1 Color interpolation</h3>
|
|
<p>The color-interpolation property, not in SVG Tiny 1.2 but used
|
|
in <a href=
|
|
"http://www.w3.org/TR/SVG11/painting.html#ColorInterpolationProperties">
|
|
SVG 1.1</a> [SVG11], is extended by this specification to add new
|
|
values using the CIE L*a*b* color space. Both the cartesian
|
|
(<strong>CIE-Lab</strong>) and polar (<strong>CIE-LCHab</strong>)
|
|
forms are supported.</p>
|
|
<div class="requirement" id="assert_colorInterpolation">
|
|
<p>A User Agent for Printing or Print Preview MUST use the color
|
|
space defined by color-interpolation for calculations when
|
|
interpolating between gradient stops and alpha compositing of
|
|
graphics elements into the current background.</p>
|
|
</div>
|
|
<div class="propdef">
|
|
<dl>
|
|
<dt><span class="index-def" title="'margin-top'"><a class=
|
|
"propdef-title" id="propdef-color-interpolation" name=
|
|
"propdef-color-interpolation"><span class=
|
|
"prop-name">'color-interpolation'</span></a></span></dt>
|
|
<dd>
|
|
<table cellpadding="0" cellspacing="0" class="propinfo" summary=
|
|
"color-interpolation property">
|
|
<tbody>
|
|
<tr valign="baseline">
|
|
<td><em>Value:</em></td>
|
|
<td>auto | sRGB | linearRGB | CIE-Lab | CIE-LCHab | <a href=
|
|
"http://www.w3.org/TR/REC-CSS2/cascade.html#value-def-inherit"
|
|
class="noxref"><span class=
|
|
"value-inst-inherit noxref">inherit</span></a></td>
|
|
</tr>
|
|
<tr valign="baseline">
|
|
<td><em>Initial:</em></td>
|
|
<td>sRGB</td>
|
|
</tr>
|
|
<tr valign="baseline">
|
|
<td><em>Applies to:</em></td>
|
|
<td><a href=
|
|
"http://www.w3.org/TR/SVGMobile12/intro.html#TermContainerElement">container
|
|
elements</a>, <a href=
|
|
"http://www.w3.org/TR/SVGMobile12/intro.html#TermGraphicsElement">graphics
|
|
elements</a> and <a href=
|
|
"http://www.w3.org/TR/SVGMobile12/animate.html#AnimateColorElement">
|
|
<span class="element-name">'animateColor'</span></a></td>
|
|
</tr>
|
|
<tr valign="baseline">
|
|
<td><em>Inherited:</em></td>
|
|
<td>yes</td>
|
|
</tr>
|
|
<tr valign="baseline">
|
|
<td><em>Percentages:</em></td>
|
|
<td>N/A</td>
|
|
</tr>
|
|
<tr valign="baseline">
|
|
<td><em>Media:</em></td>
|
|
<td>visual</td>
|
|
</tr>
|
|
<tr valign="baseline">
|
|
<td><em><a href=
|
|
"http://www.w3.org/TR/SVGMobile12/animate.html#Animatable">Animatable</a>:</em></td>
|
|
<td>yes</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
</div>
|
|
<dl>
|
|
<dt><strong>auto</strong></dt>
|
|
<dd>Indicates that the user agent can choose any of the color
|
|
spaces - <strong>sRGB</strong>, <strong>linearRGB</strong>,
|
|
<strong>CIE-Lab</strong> or <strong>CIE-LCHab</strong>- for color
|
|
interpolation. This option indicates that the author doesn't
|
|
require that color interpolation occur in a particular color
|
|
space.</dd>
|
|
<dt><strong>sRGB</strong></dt>
|
|
<dd>Indicates that color interpolation must occur in the sRGB color
|
|
space defined by [sRGB].</dd>
|
|
<dt><strong>linearRGB</strong></dt>
|
|
<dd>Indicates that color interpolation must occur in the linearized
|
|
RGB color space (sRGB with a linear transfer function) as defined
|
|
in [sRGB].</dd>
|
|
<dt><strong>CIE-Lab</strong></dt>
|
|
<dd>Indicates that color interpolation must occur in the cartesian
|
|
L*a*b* color space defined by [CIE15].</dd>
|
|
<dt><strong>CIE-LCHab</strong></dt>
|
|
<dd>Indicates that color interpolation must occur in the polar
|
|
L*CH<sub>ab</sub> color space defined by [CIE15].</dd>
|
|
</dl>
|
|
<p>The <span class="prop-name">'color-interpolation'</span>
|
|
property specifies the color space for gradient interpolations and
|
|
alpha compositing.</p>
|
|
<p>When a child element is blended into a background, the value of
|
|
the <span class="prop-name">'color-interpolation'</span> property
|
|
on the <em>child</em> determines the type of blending, not the
|
|
value of the <span class="prop-name">'color-interpolation'</span>
|
|
on the parent.</p>
|
|
<h3 id="Paint">5.2 Specifying paint</h3>
|
|
<p>The definition of <a href=
|
|
"http://www.w3.org/TR/SVGMobile12/painting.html#SpecifyingPaint">paint</a>
|
|
in SVG Tiny 1.2 [SVGT12] is extended by this specification to add
|
|
the icc-color values from <a href=
|
|
"http://www.w3.org/TR/SVG11/painting.html#SpecifyingPaint">paint</a>
|
|
in SVG Full 1.1 [SVG11] and also to add new values for named colors
|
|
and uncalibrated (device) colors.</p>
|
|
<table cellpadding="0" cellspacing="0" summary=
|
|
"paint specification">
|
|
<tr valign="baseline">
|
|
<td><a href=
|
|
"http://www.w3.org/TR/SVGMobile12/types.html#DataTypePaint"><span class="prop-name">
|
|
<paint></span></a> : </td>
|
|
<td><span class="prop-value">none |<br />
|
|
currentColor |<br />
|
|
<a href=
|
|
"http://www.w3.org/TR/SVGMobile12/types.html#DataTypeColor"><color></a>
|
|
|<br />
|
|
<a href=
|
|
"http://www.w3.org/TR/SVGMobile12/types.html#DataTypeColor"><color></a>
|
|
icc-color(<name> [,<icccolorvalue>]*) |<br />
|
|
<a href=
|
|
"http://www.w3.org/TR/SVGMobile12/types.html#DataTypeColor"><color></a>
|
|
icc-named-color(<name>, <namedColor>) |<br />
|
|
<a href=
|
|
"http://www.w3.org/TR/SVGMobile12/types.html#DataTypeColor"><color></a>
|
|
device-color(<name> [,<devicecolorvalue>]*) |<br />
|
|
<a href=
|
|
"http://www.w3.org/TR/SVGMobile12/types.html#DataTypeFuncXMLRI"><FuncXMLRI></a>
|
|
[ none | currentColor | <a href=
|
|
"http://www.w3.org/TR/SVGMobile12/types.html#DataTypeColor"><color></a>]
|
|
|<br />
|
|
<a href=
|
|
"http://www.w3.org/TR/SVGMobile12/painting.html#systemPaint"><system
|
|
paint></a> |<br />
|
|
<br />
|
|
<a href=
|
|
"http://www.w3.org/TR/REC-CSS2/cascade.html#value-def-inherit"
|
|
class="noxref"><span class=
|
|
"value-inst-inherit noxref">inherit</span></a></span></td>
|
|
</tr>
|
|
</table>
|
|
<dl>
|
|
<dt class="prop-value">none</dt>
|
|
<dd>Indicates that no paint shall be applied.</dd>
|
|
<dt class="prop-value">currentColor</dt>
|
|
<dd>Indicates that painting shall be done using the color specified
|
|
by the current value of the <a href=
|
|
"http://www.w3.org/TR/SVGMobile12/painting.html#ColorProperty"><span class="prop-name">
|
|
'color'</span></a> property. This mechanism is provided to
|
|
facilitate sharing of color attributes between parent grammars such
|
|
as other (non-SVG) XML. This mechanism allows you to define a style
|
|
in your HTML which sets the <a href=
|
|
"http://www.w3.org/TR/SVGMobile12/painting.html#ColorProperty"><span class="prop-name">
|
|
'color'</span></a> property and then pass that style to the
|
|
<a href="http://www.w3.org/TR/SVGMobile12/intro.html#TermSVGUserAgent">
|
|
<span class="svg-term">SVG user agent</span></a> so that your SVG
|
|
text will draw in the same color.</dd>
|
|
<dt class="prop-value"><a href=
|
|
"http://www.w3.org/TR/SVGMobile12/types.html#DataTypeColor"><color></a></dt>
|
|
<dd>the explicit <a href=
|
|
"http://www.w3.org/TR/SVGMobile12/types.html#DataTypeColor">color</a>
|
|
(in the sRGB <a href="#ref-SRGB">[rRGB]</a> color space, see
|
|
<a href="#sRGBcolor">sRGB colors</a>).</dd>
|
|
<dt class="prop-value"><a href=
|
|
"http://www.w3.org/TR/SVGMobile12/types.html#DataTypeColor"><color></a>
|
|
icc-color(<name> [,<icccolorvalue>]*)</dt>
|
|
<dd>Indicates that the user agent searches the color profile
|
|
description database for a <a href=
|
|
"#ColorProfileDescriptions">color profile description</a> entry
|
|
whose name descriptor matches <name> and uses the last
|
|
matching entry that is found; painting shall be done using the
|
|
given ICC color, where the comma-separated list (with optional
|
|
white space) of <strong><icccolorvalue></strong>'s is a set
|
|
of ICC-profile-specific color values, expressed as <a href=
|
|
"http://www.w3.org/TR/SVGMobile12/types.html#DataTypeNumber"><number></a>s
|
|
(see <a href="#icc-colors">ICC colors</a>). If no match is found,
|
|
then the fallback sRGB color is used.</dd>
|
|
<dt class="prop-value"><a href=
|
|
"http://www.w3.org/TR/SVGMobile12/types.html#DataTypeColor"><color></a>
|
|
icc-named-color(<name>, <namedColor>)</dt>
|
|
<dd>Indicates that the user agent searches the color profile
|
|
description database for a <a href=
|
|
"#ColorProfileDescriptions">color profile description</a> entry
|
|
whose name descriptor matches <name> and uses the last
|
|
matching entry that is found; painting shall be done using the
|
|
given ICC color, where namedColor is a <a href=
|
|
"http://www.w3.org/TR/SVGMobile12/types.html#DataTypeString"><strinf></a>
|
|
indicating the named color to use.</dd>
|
|
<dt class="prop-value"><a href=
|
|
"http://www.w3.org/TR/SVGMobile12/types.html#DataTypeColor"><color></a>
|
|
device-color(<name> [,<devicecolorvalue>]*)</dt>
|
|
<dd>Indicates that the user agent searches the device color
|
|
description database for a <a href="#deviceColor-elem">deviceColor
|
|
element</a> entry whose name descriptor matches <name> and
|
|
uses the last matching entry that is found; painting shall be done
|
|
using the given the device color, where the data of
|
|
<strong><devicecolorvalue></strong> is a value or set of
|
|
values understood by the device that recognises the namesapce of
|
|
the <a href="#deviceColor-elem">deviceColor element</a>. If no
|
|
match is found, then the fallback sRGB color is used.
|
|
<p class="note">TODO: Need feedback on this feature. Looking into
|
|
the possibility of having ICC or Name ICC fallback for Device Color
|
|
as well. ICC or Named ICC should have priority over an sRGB
|
|
fallback if both types of fallback are specified.</p>
|
|
</dd>
|
|
<dt class="prop-value"><a href=
|
|
"http://www.w3.org/TR/SVGMobile12/types.html#DataTypeFuncXMLRI"><FuncXMLRI></a>
|
|
[ none | currentColor | <a href=
|
|
"http://www.w3.org/TR/SVGMobile12/types.html#DataTypeColor"><color></a>]</dt>
|
|
<dd>The <a href=
|
|
"http://www.w3.org/TR/SVGMobile12/types.html#DataTypeXMLRI"><FuncXMLRI></a>
|
|
specifies a <a href=
|
|
"http://www.w3.org/TR/SVGMobile12/painting.html#PaintServers">paint
|
|
server</a> such as a gradient. The fragment identifier of the
|
|
<a href=
|
|
"http://www.w3.org/TR/SVGMobile12/types.html#DataTypeXMLRI"><FuncXMLRI></a>
|
|
provides a link to the paint server (e.g., a <a href=
|
|
"http://www.w3.org/TR/SVGMobile12/painting.html#Gradients">gradient</a>
|
|
or <a href="http://www.w3.org/TR/SVGMobile12/painting.html#SolidColorElement"><span class=
|
|
"element-name">'solidColor'</span></a> ) that shall be used to
|
|
paint the current object. The <a href=
|
|
"http://www.w3.org/TR/SVGMobile12/intro.html#TermIRIReference"><span class="svg-term">
|
|
IRI reference</span></a> must be a <a href=
|
|
"http://www.w3.org/TR/SVGMobile12/intro.html#TermLocalIRIReference">
|
|
<span class="svg-term">Local IRI reference</span></a> . If the
|
|
<a href=
|
|
"http://www.w3.org/TR/SVGMobile12/intro.html#TermLocalIRIReference">
|
|
<span class="svg-term">Local IRI reference</span></a> is not valid
|
|
(e.g., it points to an object that doesn't exist or the object is
|
|
not a valid paint server), then the fallback value (if specified)
|
|
is used; otherwise it must be treated as if <span class=
|
|
"prop-value">none</span> was specified.</dd>
|
|
<dt class="prop-value"><system paint></dt>
|
|
<dd>A <a href=
|
|
"http://www.w3.org/TR/SVGMobile12/painting.html#systemPaint">System
|
|
Paint Server</a></dd>
|
|
</dl>
|
|
<p>Note that by default, color <em>interpolation</em> occurs in the
|
|
sRGB color space, even if an ICC-based color specification is
|
|
provided, unless the <a href=
|
|
"http://www.w3.org/TR/SVG11/painting.html#ColorInterpolationProperty"><span class=
|
|
"prop-name">'color-interpolation'</span></a> property is set to one
|
|
of the CIE Lab color spaces. If an sRGB color interpolation space
|
|
is specified, all ICC-based colors used for the interpolation must
|
|
be converted into the sRGB interpolation colorspace.</p>
|
|
<h4 id="sRGBcolor">5.2.1 sRGB colors</h4>
|
|
<p>As with SVG Tiny 1.2, colors may be specified in the sRGB color
|
|
space (see <a href="http://www.iec.ch/nr1899.htm">[sRGB]</a>).
|
|
Since all SVG Print and SVG Print Preview User Agents are color
|
|
management capable, the rendering requirements are more strict than
|
|
for SVG User Agents [SVG11] where color management is optional.</p>
|
|
<div class="requirement" id="assert_sRGB">
|
|
<p>When an sRGB color is used - because it is the sole color
|
|
specification, or in a permitted fallback situation - a conformant
|
|
SVG Print or SVG Print Preview User Agent shall render it in
|
|
conformance with the ICC profile for sRGB to obtain the desired
|
|
color appearance.</p>
|
|
</div>
|
|
<h4 id="icc-colors">5.2.2 ICC colors</h4>
|
|
<p>As with SVG Full 1.1, SVG Print content may specify color using
|
|
an ICC profile (see [<a href="#ref-ICC42">ICC42</a>]). For
|
|
resiliency and for compatibility with SVG Tiny 1.2, an sRGB
|
|
fallback must still be provided.</p>
|
|
<div class="requirement" id="assert_ICCColorPrecedence">
|
|
<p>If ICC-based colors are provided, a conformant SVG Print or SVG
|
|
Print Preview user agent MUST use the the ICC-based color in
|
|
preference to the sRGB fallback color, unless the ICC color profile
|
|
is unavailable, malformed, or uses a profile connection space other
|
|
than CIE XYZ or CIE LAB.</p>
|
|
</div>
|
|
<div class="requirement" id="assert_useICC">
|
|
<p>When an ICC color is used, a conformant SVG Print or SVG Print
|
|
Preview User Agent shall render it in conformance with the
|
|
specified ICC profile to obtain the desired color appearance.</p>
|
|
</div>
|
|
<h4 id="named">5.2.3 Named color</h4>
|
|
<p>SVG Print introduces the ability to specify a color using a
|
|
'Named Color Profile'.</p>
|
|
<div class="requirement" id="assert_ICCNamedColorPrecedence">
|
|
<p>If ICC-based named colors are provided, a conformant SVG Print
|
|
or SVG Print Preview user agent MUST use the the ICC-based named
|
|
color in preference to the sRGB fallback color, unless the ICC
|
|
named color profile is unavailable, malformed, or uses a profile
|
|
connection space other than CIE XYZ or CIE LAB.</p>
|
|
</div>
|
|
<div class="requirement" id="assert_useICCNamed">
|
|
<p>When an ICC named color is used, a conformant SVG Print or SVG
|
|
Print Preview User Agent shall render it in conformance with the
|
|
specified ICC profile to obtain the desired color appearance.</p>
|
|
</div>
|
|
<h4 id="device">5.2.4 Uncalibrated device colors</h4>
|
|
<p>SVG Print also introduces a method of specifying uncallibrated
|
|
device colors. This is sometimes useful in print workflows. This
|
|
feature utilises the <a href="#deviceColor-elem"><span class=
|
|
"element">deviceColor</span></a> element and the <a href=
|
|
"http://www.w3.org/TR/SVGMobile12/painting.html#SpecifyingPaint">device-color</a> keyword.</p>
|
|
<p>As these are uncalibrated, any interpolation or compositing
|
|
occurs using the fallback sRGB color space</p>
|
|
<p class="note">TODO: Need feedback on this feature. Looking into
|
|
the possibility of having ICC or Name ICC fallback for Device Color
|
|
as well. ICC or Named ICC should have priority over an sRGB
|
|
fallback if both types of fallback are specified.</p>
|
|
<h3 id="ColorProfileDescriptions">5.3 Color profile
|
|
descriptions</h3>
|
|
<h4 id="ColorProfileDescriptionsOverview">5.3.1 Overview of color
|
|
profile descriptions</h4>
|
|
<p>The <a href="http://www.color.org/">International Color
|
|
Consortium</a> has established a standard, the ICC Profile
|
|
[<a href="http://www.color.org/ICC-1A_1999-04.PDF">ICC32</a>], for
|
|
documenting the color characteristics of input and output devices.
|
|
Using these profiles, it is possible to build a transform and
|
|
correct visual data for viewing on different devices.</p>
|
|
<p>A <span class="SVG-Term">color profile description</span>
|
|
provides the bridge between an ICC profile and references to that
|
|
ICC profile within SVG content. The color profile description is
|
|
added to the user agent's list of known color profiles and then
|
|
used to select the relevant profile. The color profile description
|
|
contains descriptors for the location of the color profile on the
|
|
Web, a name to reference the profile and information about
|
|
rendering intent.</p>
|
|
<h4 id="ColorProfileAlternatives">5.3.2 Alternative ways for
|
|
defining a color profile description</h4>
|
|
<p>Color profile descriptions can be specified in either of the
|
|
following ways:</p>
|
|
<ul>
|
|
<li>a <a href="#ColorProfileElement"><span class=
|
|
"element-name">'color-profile'</span></a> element</li>
|
|
<li>an <em>@color-profile</em> rule within a CSS style sheet (only
|
|
applicable for user agents which support using CSS [<a href=
|
|
"http://www.w3.org/TR/REC-CSS2/">CSS2</a>] to style the SVG
|
|
content)</li>
|
|
</ul>
|
|
<div class="requirement" id="assert_colorProfileCSSBeforeElement">
|
|
<p>If a color profile with the same <em>name</em> value has been
|
|
identified by both a <a href="#ColorProfileElement"><span class=
|
|
"element-name">'color-profile'</span></a> element and
|
|
<em>@color-profile</em> rules within a CSS style sheet, then the
|
|
user agent MUST first attempt to locate the profile by using the
|
|
specifications in the <em>@color-profile</em> rules first.</p>
|
|
</div>
|
|
<h4 id="ColorProfileElement">5.3.3 The <span class=
|
|
"element-name">'color-profile'</span> element</h4>
|
|
<div class="schema">
|
|
<div class="schemaheader"><strong>Schema:</strong>
|
|
color-profile</div>
|
|
<div class="schemasource">
|
|
<pre>
|
|
<define name='color-profile'>
|
|
<element name='color-profile'>
|
|
<ref name='color-profile.AT'/>
|
|
<empty/>
|
|
</element>
|
|
</define>
|
|
|
|
<define name='color-profile.AT' combine='interleave'>
|
|
<ref name='svg.Core.attr'/>
|
|
<ref name='svg.local.attr'/>
|
|
<ref name='svg.name.attr'/>
|
|
<ref name='svg.rendering-intent.attr'/>
|
|
</define>
|
|
|
|
</pre></div>
|
|
</div>
|
|
<div class="adef-list">
|
|
<p><em>Attribute definitions:</em></p>
|
|
<dl>
|
|
<dt><span class="adef" id=
|
|
"ColorProfileElementHrefAttribute">xlink:href</span> =
|
|
"<span class="attr-value"><a href=
|
|
"http://www.w3.org/TR/SVGMobile12/types.html#DataTypeIRI"><iri></a></span>"</dt>
|
|
<dd>The location of an ICC profile resource.<br />
|
|
<span class="anim-target"><a href=
|
|
"http://www.w3.org/TR/SVGMobile12/animate.html#Animatable">Animatable</a>:
|
|
no.</span></dd>
|
|
<dt><span class="adef">local</span> = "<span class=
|
|
"attr-value"><string></span>"</dt>
|
|
<dd>The unique ID for a locally stored color profile.
|
|
<string> is the profile's unique ID as specified by <a href=
|
|
"http://www.color.org/">International Color Consortium</a>.
|
|
<div class="requirement" id="assert_localColorProfilesFirst">If
|
|
both the <a href="#ColorProfileElementHrefAttribute"><span class=
|
|
"attr-name">xlink:href</span></a> and the <span class=
|
|
"attr-name">local</span> attributes are specified, then the user
|
|
agent MUST search the local system for the locally stored color
|
|
profile first, and, if not available locally, then attempt to use
|
|
the resource identified by the <a href=
|
|
"#ColorProfileElementHrefAttribute"><span class=
|
|
"attr-name">xlink:href</span></a> attribute.</div>
|
|
(Note: Profile description fields do <em>not</em> represent a
|
|
profile's unique ID. With current ICC proposals, the profile's
|
|
unique ID is an MD5-encoded value within the profile
|
|
header.).<br />
|
|
<span class="anim-target"><a href=
|
|
"http://www.w3.org/TR/SVGMobile12/animate.html#Animatable">Animatable</a>:
|
|
no.</span></dd>
|
|
<dt><span class="adef" id=
|
|
"ColorProfileElementNameAttribute">name</span> = "<span class=
|
|
"attr-value"><name></span>"</dt>
|
|
<dd>The name which is used as the first parameter for <span class=
|
|
"prop-value">icc-color</span> specifications within <a href=
|
|
"http://www.w3.org/TR/SVGMobile12/painting.html#FillProperty"><span class="prop-name">
|
|
'fill'</span></a>, <a href=
|
|
"http://www.w3.org/TR/SVGMobile12/painting.html#StrokeProperty"><span class="prop-name">
|
|
'stroke'</span></a>, <a href=
|
|
"http://www.w3.org/TR/SVGMobile12/painting.html#StopColorProperty"><span class="prop-name">
|
|
'stop-color'</span></a>, <a href=
|
|
"http://www.w3.org/TR/SVG11/filters.html#FloodColorProperty"><span class=
|
|
"prop-name">'flood-color'</span></a> and <a href=
|
|
"http://www.w3.org/TR/SVG11/filters.html#LightingColorProperty"><span class=
|
|
"prop-name">'lighting-color'</span></a> property values to identify
|
|
the color profile to use for the ICC color specification and the
|
|
name which can be the value of the <a href=
|
|
"#ColorProfileProperty"><span class=
|
|
"prop-name">'color-profile'</span></a> property. Note that if
|
|
<name> is not provided, it will be impossible to reference
|
|
the given color profile description.
|
|
<div class="requirement" id=
|
|
"assert_sRGBPredefinedAndCaseInsensitive">The name "sRGB" is
|
|
predefined; any color profile descriptions with <span class=
|
|
"attr-value"><name></span> set to "sRGB" MUST be ignored.
|
|
When used in a style sheet, for consistency with <a href=
|
|
"http://www.w3.org/TR/REC-CSS2/grammar.html#q2">CSS lexical
|
|
scanning and parsing rules</a>, the keyword "sRGB" MUST be
|
|
case-insensitive. However, it is recommended that the mixed
|
|
capitalization "sRGB" SHOULD be used for consistency with common
|
|
industry practice.</div>
|
|
<br />
|
|
<span class="anim-target"><a href=
|
|
"http://www.w3.org/TR/SVGMobile12/animate.html#Animatable">Animatable</a>:
|
|
no.</span></dd>
|
|
<dt><span class="adef" id=
|
|
"ColorProfileElementRenderingIntentAttribute">rendering-intent</span>
|
|
= "<span class="attr-value">auto | perceptual |
|
|
relative-colorimetric | saturation |
|
|
absolute-colorimetric</span>"</dt>
|
|
<dd>
|
|
<p><span class="prop-name">'rendering-intent'</span> permits the
|
|
specification of a color profile rendering intent other than the
|
|
default. <span class="prop-name">'rendering-intent'</span> is
|
|
applicable primarily to color profiles corresponding to CMYK color
|
|
spaces. The different options cause different methods to be used
|
|
for translating colors to the color gamut of the target rendering
|
|
device:</p>
|
|
<dl>
|
|
<dt><strong>auto</strong></dt>
|
|
<dd>This is the default behavior. The user agent determines the
|
|
best intent based on the content type.
|
|
<div class="requirement" id="assert_renderingIntentAuto">For image
|
|
content containing an embedded profile, the User Agent MUST use the
|
|
intent specified within the profile. Otherwise, the user agent MUST
|
|
use the current profile and force the intent, overriding any intent
|
|
that might be stored in the profile itself.</div>
|
|
</dd>
|
|
<dt><strong>perceptual</strong></dt>
|
|
<dd>This method, often the preferred choice for images, preserves
|
|
the relationship between colors.
|
|
<div class="requirement" id="assert_renderingIntentPerceptual">This
|
|
method MUST maintain relative color values among the pixels as they
|
|
are mapped to the target device gamut. This method MAY change pixel
|
|
values that were originally within the target device gamut, in
|
|
order to avoid hue shifts and discontinuities and to preserve as
|
|
much as possible the overall appearance of the scene.</div>
|
|
</dd>
|
|
<dt><strong>saturation</strong></dt>
|
|
<dd>
|
|
<div class="requirement" id="assert_renderingIntentSaturation">This
|
|
option MUST preserve the relative saturation (chroma) values of the
|
|
original pixels. Out of gamut colors MUST be converted to colors
|
|
that have the same saturation but fall just inside the gamut.</div>
|
|
</dd>
|
|
<dt><strong>relative colorimetric</strong></dt>
|
|
<dd>
|
|
<div class="requirement" id=
|
|
"assert_renderingIntentRelativeColorimetric">This method MUST leave
|
|
colors that fall inside the gamut unchanged. This method MUST
|
|
convert out-of-gamut colors to colors that have the same lightness
|
|
but fall just inside the gamut.</div>
|
|
</dd>
|
|
<dt><strong>absolute colorimetric</strong></dt>
|
|
<dd>
|
|
<div class="requirement" id=
|
|
"assert_renderingIntentAbsoluteColorimetric">This method MUST
|
|
disable white point matching when converting colors.</div>
|
|
In general, this option is not recommended.</dd>
|
|
</dl>
|
|
<br />
|
|
<span class="anim-target"><a href=
|
|
"http://www.w3.org/TR/SVGMobile12/animate.html#Animatable">Animatable</a>:
|
|
no.</span></dd>
|
|
</dl>
|
|
</div>
|
|
<br />
|
|
<a id="ColorProfileDescriptionsColorProfileAtRule" class=
|
|
"indexref-color_profile_descriptions::@color-profile" name=
|
|
"ColorProfileDescriptionsColorProfileAtRule"></a>
|
|
<h4 id="ColorProfileAtRule">5.3.4 <strong>@color-profile</strong>
|
|
when using CSS styling</h4>
|
|
<p>When the document is styled using CSS, the
|
|
<strong>@color-profile</strong> rule can be used to specify a color
|
|
profile description. The general form is:</p>
|
|
<pre>
|
|
@color-profile { <color-profile-description> }
|
|
</pre>
|
|
<p>where the <color-profile-description> has the form:</p>
|
|
<pre>
|
|
descriptor: value;
|
|
[...]
|
|
descriptor: value;
|
|
</pre>
|
|
<p>Each @color-profile rule specifies a value for every color
|
|
profile descriptor, either implicitly or explicitly. Those not
|
|
given explicit values in the rule take the initial value listed
|
|
with each descriptor in this specification. These descriptors apply
|
|
solely within the context of the @color-profile rule in which they
|
|
are defined, and do not apply to document language elements. Thus,
|
|
there is no notion of which elements the descriptors apply to, or
|
|
whether the values are inherited by child elements.</p>
|
|
<p>The following are the descriptors for a
|
|
<color-profile-description>:</p>
|
|
<div class="propdef">
|
|
<dl>
|
|
<dt><span class="index-def" title="'src'"><a id=
|
|
"propdef-color-profile-src" class="propdef-title" name=
|
|
"propdef-color-profile-src"><strong>'src'</strong></a>
|
|
(Descriptor)</span></dt>
|
|
<dd>
|
|
<table cellpadding="0" cellspacing="0" class="propinfo" summary=
|
|
"src descriptor definition for @color-profile">
|
|
<tr>
|
|
<td><em>Values:</em></td>
|
|
<td>sRGB | <local-profile> | <a href=
|
|
"http://www.w3.org/TR/SVGMobile12/types.html#DataTypeIRI"><iri></a>
|
|
| (<local-profile> <a href=
|
|
"http://www.w3.org/TR/SVGMobile12/types.html#DataTypeIRI"><iri></a>)
|
|
| <a href=
|
|
"http://www.w3.org/TR/REC-CSS2/cascade.html#value-def-inherit"
|
|
class="noxref"><span class=
|
|
"value-inst-inherit noxref">inherit</span></a></td>
|
|
</tr>
|
|
<tr>
|
|
<td><em>Initial:</em></td>
|
|
<td>sRGB</td>
|
|
</tr>
|
|
<tr>
|
|
<td><em>Media:</em></td>
|
|
<td>visual</td>
|
|
</tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
</div>
|
|
<dl>
|
|
<dt><strong>sRGB</strong></dt>
|
|
<dd>The source profile is the <a href=
|
|
"http://www.iec.ch/nr1899.htm">sRGB</a> color space. For
|
|
consistency with <a href=
|
|
"http://www.w3.org/TR/REC-CSS2/grammar.html#q2">CSS lexical
|
|
scanning and parsing rules</a>, the keyword "sRGB" is
|
|
case-insensitive; however, it is recommended that the mixed
|
|
capitalization "sRGB" be used for consistency with common industry
|
|
practice.</dd>
|
|
<dt><strong><local-profile></strong></dt>
|
|
<dd>The source profile is a locally-stored profile. The syntax for
|
|
<local-profile> is:
|
|
<pre>
|
|
"local(" + <string> + ")"
|
|
</pre>
|
|
where <string> is the profile's unique ID as specified by
|
|
<a href="http://www.color.org/">International Color Consortium</a>.
|
|
(Note: Profile description fields do <em>not</em> represent a
|
|
profile's unique ID. With current ICC proposals, the profile's
|
|
unique ID is an MD5-encoded value within the profile header.)</dd>
|
|
<dt><strong><a href=
|
|
"http://www.w3.org/TR/SVGMobile12/types.html#DataTypeIRI"><iri></a></strong></dt>
|
|
<dd>The source profile is a <a href=
|
|
"http://www.w3.org/TR/SVGMobile12/intro.html#TermIRIReference">IRI
|
|
reference</a> to a color profile.</dd>
|
|
<dt>(<strong><local-profile> <a href=
|
|
"http://www.w3.org/TR/SVGMobile12/types.html#DataTypeIRI"><iri></a>)</strong></dt>
|
|
<dd>Two profiles are specified. If <local-profile> cannot be
|
|
found on the local system, then the <a href=
|
|
"http://www.w3.org/TR/SVGMobile12/types.html#DataTypeIRI"><iri></a>
|
|
is used.</dd>
|
|
</dl>
|
|
<div class="propdef">
|
|
<dl>
|
|
<dt><span class="index-def" title="'name'"><a id=
|
|
"propdef-color-profile-name" class="propdef-title" name=
|
|
"propdef-color-profile-name"><strong>'name'</strong></a>
|
|
(Descriptor)</span></dt>
|
|
<dd>
|
|
<table cellpadding="0" cellspacing="0" class="propinfo" summary=
|
|
"name descriptor definition for @color-profile">
|
|
<tr>
|
|
<td><em>Values:</em></td>
|
|
<td><name></td>
|
|
</tr>
|
|
<tr>
|
|
<td><em>Initial:</em></td>
|
|
<td>undefined</td>
|
|
</tr>
|
|
<tr>
|
|
<td><em>Media:</em></td>
|
|
<td>visual</td>
|
|
</tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
</div>
|
|
<dl>
|
|
<dt><strong><name></strong></dt>
|
|
<dd>See the description for the <a href=
|
|
"#ColorProfileElementNameAttribute"><span class=
|
|
"attr-name">name</span></a> attribute on the <a href=
|
|
"#ColorProfileElement"><span class=
|
|
"element-name">'color-profile'</span></a> element. Note that if
|
|
<name> is not provided, it will be impossible to reference
|
|
the given @color-profile definition.</dd>
|
|
</dl>
|
|
<div class="propdef">
|
|
<dl>
|
|
<dt><span class="index-def" title="'rendering-intent'"><a id=
|
|
"propdef-rendering-intent" class="propdef-title" name=
|
|
"propdef-rendering-intent"><strong>'rendering-intent'</strong></a>
|
|
(Descriptor)</span></dt>
|
|
<dd>
|
|
<table cellpadding="0" cellspacing="0" class="propinfo" summary=
|
|
"rendering-intent descriptor definition for @color-profile">
|
|
<tr>
|
|
<td><em>Values:</em></td>
|
|
<td>auto | perceptual | relative-colorimetric |<br />
|
|
saturation | absolute-colorimetric</td>
|
|
</tr>
|
|
<tr>
|
|
<td><em>Initial:</em></td>
|
|
<td>auto</td>
|
|
</tr>
|
|
<tr>
|
|
<td><em>Media:</em></td>
|
|
<td>visual</td>
|
|
</tr>
|
|
<tr valign="baseline">
|
|
<td><em><a href=
|
|
"http://www.w3.org/TR/SVGMobile12/animate.html#Animatable">Animatable</a>:</em></td>
|
|
<td>no</td>
|
|
</tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
</div>
|
|
<p>See the description for the <a href=
|
|
"#ColorProfileElementRenderingIntentAttribute"><span class=
|
|
"attr-name">rendering-intent</span></a> attribute on the <a href=
|
|
"#ColorProfileElement"><span class=
|
|
"element-name">'color-profile'</span></a> element.</p>
|
|
<div class="note">
|
|
<p>TODO: Need some conformance criteria. Also, this reiterates some
|
|
of the color-profile element stuff, so we should reference that
|
|
more here.</p>
|
|
</div>
|
|
<h4 id="ColorProfileProperty">5.3.5 <span class=
|
|
"prop-name">'color-profile'</span> property</h4>
|
|
<div class="propdef">
|
|
<dl>
|
|
<dt><span class="index-def" title="'margin-top'"><a id=
|
|
"propdef-color-profile" class="propdef-title" name=
|
|
"propdef-color-profile"><span class=
|
|
"prop-name">'color-profile'</span></a></span></dt>
|
|
<dd>
|
|
<table cellpadding="0" cellspacing="0" class="propinfo" summary=
|
|
"color-profile property">
|
|
<tr valign="baseline">
|
|
<td><em>Value:</em></td>
|
|
<td>auto | sRGB | <name> | <a href=
|
|
"http://www.w3.org/TR/SVGMobile12/types.html#DataTypeIRI"><iri></a>
|
|
| <a href=
|
|
"http://www.w3.org/TR/REC-CSS2/cascade.html#value-def-inherit"
|
|
class="noxref"><span class=
|
|
"value-inst-inherit noxref">inherit</span></a></td>
|
|
</tr>
|
|
<tr valign="baseline">
|
|
<td><em>Initial:</em></td>
|
|
<td>auto</td>
|
|
</tr>
|
|
<tr valign="baseline">
|
|
<td><em>Applies to:</em></td>
|
|
<td><a href=
|
|
"http://www.w3.org/TR/SVGMobile12/struct.html#ImageElement"><span class="element-name">
|
|
'image'</span></a> elements that refer to raster images</td>
|
|
</tr>
|
|
<tr valign="baseline">
|
|
<td><em>Inherited:</em></td>
|
|
<td>yes</td>
|
|
</tr>
|
|
<tr valign="baseline">
|
|
<td><em>Percentages:</em></td>
|
|
<td>N/A</td>
|
|
</tr>
|
|
<tr valign="baseline">
|
|
<td><em>Media:</em></td>
|
|
<td>visual</td>
|
|
</tr>
|
|
<tr valign="baseline">
|
|
<td><em><a href=
|
|
"http://www.w3.org/TR/SVGMobile12/animate.html#Animatable">Animatable</a>:</em></td>
|
|
<td>yes</td>
|
|
</tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
</div>
|
|
<dl>
|
|
<dt><strong>auto</strong></dt>
|
|
<dd>This is the default behavior. All colors are presumed to be
|
|
defined in the sRGB color space unless a more precise embedded
|
|
profile is specified within content data. For images that do have a
|
|
profile built into their data, that profile is used. For images
|
|
that do not have a profile, the sRGB profile is used.</dd>
|
|
<dt><strong>sRGB</strong></dt>
|
|
<dd>The source profile is assumed to be sRGB. This differs from
|
|
auto in that it overrides an embedded profile inside an
|
|
image.<br />
|
|
<br />
|
|
For consistency with <a href=
|
|
"http://www.w3.org/TR/REC-CSS2/grammar.html#q2">CSS lexical
|
|
scanning and parsing rules</a>, the keyword "sRGB" is
|
|
case-insensitive; however, it is recommended that the mixed
|
|
capitalization "sRGB" be used for consistency with common industry
|
|
practice.</dd>
|
|
<dt><strong><name></strong></dt>
|
|
<dd>A name corresponding to a defined color profile that is in the
|
|
user agent's color profile description database. The user agent
|
|
searches the color profile description database for a <a href=
|
|
"#ColorProfileDescriptions">color profile description</a> entry
|
|
whose name descriptor matches <name> and uses the last
|
|
matching entry that is found. If a match is found, the
|
|
corresponding profile overrides an embedded profile inside an
|
|
image. If no match is found, then the embedded profile inside the
|
|
image is used.</dd>
|
|
<dt><strong><a href=
|
|
"http://www.w3.org/TR/SVGMobile12/types.html#DataTypeIRI"><iri></a></strong></dt>
|
|
<dd>A <a href=
|
|
"http://www.w3.org/TR/SVGMobile12/intro.html#TermIRIReference">IRI
|
|
reference</a> to the source color profile. The referenced color
|
|
profile overrides an embedded profile inside the image.</dd>
|
|
</dl>
|
|
<div class="note">
|
|
<p>TODO: Need some conformance criteria. Also, need to reference
|
|
color-profile element.</p>
|
|
</div>
|
|
<h3 id="deviceColor-elem">5.4 deviceColor Element</h3>
|
|
<p>Certain print applications can improve printing quality by
|
|
specifying colors by name or in an alternative color format. This
|
|
is commonly referred to as using 'spot' colors, device colors or
|
|
inks, and usually means that a particular ink will be used for the
|
|
color when it is printed. Furthermore, there are applications in
|
|
the printing press industry where presses can be set up with
|
|
different inks for different jobs. This means that the content
|
|
creator will need to create content tailored to the particular
|
|
press setup in order to obtain the best results.</p>
|
|
<p>The <span class="element">deviceColor</span> element can be used
|
|
to indicate an alternative color for a particular paint. This
|
|
element will be mostly used in closed workflows, since the names of
|
|
the inks and the parameters (percentages of each ink's color
|
|
components) rarely have meaning outside the domain of the target
|
|
device.</p>
|
|
<div class="schema">
|
|
<div class="schemaheader"><strong>Schema:</strong>
|
|
deviceColor</div>
|
|
<div class="schemasource">
|
|
<pre>
|
|
<xs:element name="deviceColor">
|
|
<xs:complexType>
|
|
|
|
<xs:attribute ref="href" use="required"
|
|
namespace="http://www.w3.org/1999/xlink"/>
|
|
<xs:attribute ref="name" use="required" type="string"/>
|
|
<xs:anyAttribute namespace="##any" processContents="skip"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</pre></div>
|
|
</div>
|
|
<div class="note">
|
|
<p>TODO: This needs to be converted to RNG</p>
|
|
</div>
|
|
<dl>
|
|
<dt>xlink:href</dt>
|
|
<dd>
|
|
<p>A URI used to identify the device-specific information included
|
|
in this element. If the User Agent does not recognize the URI (ie.
|
|
is not able to recognize the particular device parameters) then the
|
|
element should be ignored and should not be part of the rendering
|
|
process.</p>
|
|
<table>
|
|
<tr>
|
|
<td><em><a href=
|
|
"http://www.w3.org/TR/SVGMobile12/animate.html#Animatable">Animatable</a>:</em></td>
|
|
<td>no</td>
|
|
</tr>
|
|
</table>
|
|
</dd>
|
|
<dt>name</dt>
|
|
<dd>
|
|
<p>The name of this device-specific color information. The
|
|
<span class="attribute">name</span> attribute is used within the
|
|
<span class="property">device-color</span> specification within
|
|
<span class="type"><paint></span> to reference this
|
|
<span class="element">deviceColor</span> element.</p>
|
|
<table>
|
|
<tr>
|
|
<td><em><a href=
|
|
"http://www.w3.org/TR/SVGMobile12/animate.html#Animatable">Animatable</a>:</em></td>
|
|
<td>no</td>
|
|
</tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<p>The <span class="element">deviceColor</span> element uses
|
|
attributes from external namespaces to define the device specific
|
|
properties that are to be used when the <span class=
|
|
"element">deviceColor</span> is referenced from a <span class=
|
|
"type"><paint></span>.</p>
|
|
<p>The following example illustrates the use of <span class=
|
|
"element">deviceColor</span>. There are two things to note:</p>
|
|
<ol>
|
|
<li>The <span class="element">deviceColor</span> element describes
|
|
device specific setup information.</li>
|
|
<li>The <span class="property">device-color</span> keyword is used
|
|
as an alternative <span class="type"><paint></span>
|
|
specification, achieving the desired <span class=
|
|
"type"><paint></span> when the output is the named device (or
|
|
when the User Agent is able to understand the device specific
|
|
information).</li>
|
|
</ol>
|
|
<div class="example">
|
|
<div class="exampleheader"><strong>Example:</strong>
|
|
deviceColor</div>
|
|
<div class="examplesource">
|
|
<pre>
|
|
<svg xmlns="http://www.w3.org/2000/svg" version="1.2"
|
|
xmlns:xlink="http://www.w3.org/1999/xlink"
|
|
xmlns:ecpi="http://www.example.com/press/inks">
|
|
|
|
<defs>
|
|
<!-- describe a particular output device -->
|
|
<deviceColor name="device-inks"
|
|
xlink:href="http://www.example.com/pressInks"
|
|
ecpi:value="Cyan, Magenta, Yellow, Black, Silver, Gray, Green"/>
|
|
</defs>
|
|
|
|
<text x="100" y="150" font-family="Verdana" font-size="35"
|
|
fill="rgb(22,33,44) device-color(device-inks, 11,55,66,77,0,0,88)" >
|
|
|
|
Hello, out there
|
|
|
|
</text>
|
|
|
|
</svg>
|
|
</pre></div>
|
|
</div>
|
|
<p>In the example above, a supplemental attribute, <span class=
|
|
"attribute">value</span>, from a private namespace has been added.
|
|
This example <span class="attribute">value</span> attribute
|
|
provides the definitions of colors or inks to be interpreted in the
|
|
context of the URI specified. It is in a private namespace so that
|
|
content and context authors can use any understood format to convey
|
|
the necessary information. When the particular <span class=
|
|
"element">deviceColor</span> element is referenced later by a
|
|
<span class="property">device-color</span> keyword specification,
|
|
it is generally expected that the number of parameters following
|
|
the name reference (1st parameter) in the function-like
|
|
representation for the value of <span class=
|
|
"property">device-color</span> alternate in a fill or stroke
|
|
attribute (for example) will have an understood one-to-one
|
|
correspondence with the information specified for the value
|
|
attribute in the the <span class="element">deviceColor</span>
|
|
element. The interpretation of the parameters is implied
|
|
specifically by the context set by the URI.</p>
|
|
<div class="note">
|
|
<p>TODO: Need some conformance criteria.</p>
|
|
</div>
|
|
<h2 id="definitions">6 Definitions</h2>
|
|
<dl>
|
|
<dt>color appearance</dt>
|
|
<dd>Color-appearance models extend basic colorimetry, as defined by
|
|
CIE tristimulus values, to the prediction of color matches and
|
|
color appearance across varying viewing conditions.</dd>
|
|
<dt>gamut</dt>
|
|
<dd>The subset of colors which can be accurately represented in a
|
|
given colorspace or on a given output device.</dd>
|
|
</dl>
|
|
<h2 id="references">7 References</h2>
|
|
<h3 id="normref">7.1 Normative References</h3>
|
|
<dl>
|
|
<dt id="ref-CIE"><strong class="normref">[CIE15]</strong></dt>
|
|
<dd><cite>International Commission on Illumination (CIE).
|
|
Colorimetry, 3rd Edition. Publication CIE 15:2004, ISBN
|
|
3-901-906-33-9</cite><br />
|
|
Available at <a href="
|
|
http://www.cie.co.at/publ/abst/15-2004.html">http://www.cie.co.at/publ/abst/15-2004.html</a></dd>
|
|
<dt id="ref-ICC42"><strong class="normref">[ICC42]</strong></dt>
|
|
<dd><cite>International Color Consortium. Specification
|
|
ICC.1:2004-10 (Profile version 4.2.0.0) Image technology colour
|
|
management — Architecture, profile format, and data
|
|
structure.</cite><br />
|
|
Available at <a href=
|
|
"http://www.color.org/ICC1V42.pdf">http://www.color.org/ICC1V42.pdf</a></dd>
|
|
<dt id="ref-SRGB"><strong class="normref">[SRGB]</strong></dt>
|
|
<dd><cite><a href=
|
|
"http://domino.iec.ch/webstore/webstore.nsf/artnum/025408">IEC
|
|
61966-2-1 (1999-10) - "Multimedia systems and equipment - Colour
|
|
measurement and management - Part 2-1: Colour management - Default
|
|
RGB colour space - sRGB</a></cite>, ISBN: 2-8318-4989-6 ICS
|
|
codes: 33.160.60, 37.080 TC 100 51 pp.<br />
|
|
Available at: <a href=
|
|
"http://domino.iec.ch/webstore/webstore.nsf/artnum/025408">http://domino.iec.ch/webstore/webstore.nsf/artnum/025408</a>.</dd>
|
|
<dt id="ref-SVG12Full"><strong class=
|
|
"normref">[SVG12]</strong></dt>
|
|
<dd><strong>Scalable Vector Graphics (SVG) 1.2
|
|
Specification</strong>, Dean Jackson editor, W3C, 27 October 2004
|
|
(Working Draft). See <a href=
|
|
"http://www.w3.org/TR/2004/WD-SVG12-20041027/">http://www.w3.org/TR/2004/WD-SVG12-20041027/</a></dd>
|
|
</dl>
|
|
<h3 id="informref">7.2 Informative References</h3>
|
|
<dl>
|
|
<dt id="ref-SVG11"><strong class="informref">[SVG11]</strong></dt>
|
|
<dd><cite class="w3crec"><a href=
|
|
"http://www.w3.org/TR/2003/REC-SVG11-20030114/">Scalable Vector
|
|
Graphics (SVG) 1.1</a></cite>, J. Ferraiolo, <span class=
|
|
"ruby"><span lang="ja" class="rb" xml:lang="ja">藤沢 淳</span>
|
|
<span class="rp">(</span><span class="rt"><span class=
|
|
"familyname">Fujisawa</span> Jun</span><span class=
|
|
"rp">)</span></span>, D. Jackson, eds. World Wide Web Consortium,14
|
|
January 2003.<br />
|
|
Latest version available at: <a href=
|
|
"http://www.w3.org/TR/SVG11/">http://www.w3.org/TR/SVG11/</a></dd>
|
|
<dt id="SVG12Requirements"><strong class=
|
|
"informref">[SVG12Reqs]</strong></dt>
|
|
<dd><strong>SVG 1.1/1.2/2.0 Requirements</strong>, Dean Jackson
|
|
editor, W3C, 22 April 2002 (Working Draft). See <a href=
|
|
"http://www.w3.org/TR/2002/WD-SVG2Reqs-20020422/">http://www.w3.org/TR/2002/WD-SVG2Reqs-20020422/</a></dd>
|
|
<dt id="SVG12PrintRequirements"><strong class=
|
|
"informref">[SVGPrintReqs]</strong></dt>
|
|
<dd><strong>SVG Printing Requirements</strong>, Jun Fujisawa, Lee
|
|
Klosterman Craig Brown, Alex Danilo editors, W3C, 18 February 2003
|
|
(Working Draft). See <a href=
|
|
"http://www.w3.org/TR/2003/WD-SVGPrintReqs-20030218/">http://www.w3.org/TR/2003/WD-SVGPrintReqs-20030218/</a></dd>
|
|
<dt id="SVG12PrintPrimer"><strong class=
|
|
"informref">[SVG12PrintPrimer]</strong></dt>
|
|
<dd><strong>SVG Print 1.2 Primer</strong>, Anthony Grasso, Andrew
|
|
Shellshear, Chris Lilley, editors, W3C, 21 December 2007 (Working
|
|
Draft). See <a href=
|
|
"http://www.w3.org/TR/2007/WD-SVGPrintPrimer12-20071221/">http://www.w3.org/TR/2007/WD-SVGPrintPrimer12-20071221/</a></dd>
|
|
</dl>
|
|
</body>
|
|
</html>
|