<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<!--  THIS FILE WAS AUTOMATICALLY GENERATED, DO NOT EDIT.  -->
<html xmlns="http://www.w3.org/1999/xhtml">
	<head>
		<meta http-equiv="content-type" content="text/html;charset=UTF-8"/>
		<title>WOFF Test: Valid description Element With One No Language Tagged text Element</title>
		<link rel="author" title="Tal Leming" href="http://typesupply.com" />
		<link rel="help" href="http://dev.w3.org/webfonts/WOFF2/spec/#Metadata" />
		<link rel="help" href="http://www.w3.org/TR/WOFF/#conform-metadata-noeffect" />
		<link rel="help" href="http://dev.w3.org/webfonts/WOFF2/spec/#Metadata" />
		<link rel="reviewer" title="Chris Lilley" href="mailto:chris@w3.org" />
		<meta name="assert" content="The description element matches the schema. It contains one text element that does not have a language tag." />
		<style type="text/css"><![CDATA[
			@import url("support/test-fonts.css");
			body {
				font-size: 20px;
			}
			pre {
				font-size: 12px;
			}
			.test {
				font-family: "WOFF Test CFF Reference";
				font-size: 200px;
				margin-top: 50px;
			}
		]]></style>
	</head>
	<body>
		<p>Test passes if the word PASS appears below.</p>
		<p>The Extended Metadata Block is valid and may be displayed to the user upon request.</p>
		<div class="test">P</div>
		<p>The XML contained in the Extended Metadata Block is below.</p>
		<pre>
&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;metadata version="1.0"&gt;
	&lt;description url="http://w3c.org/Fonts"&gt;
		&lt;text&gt;
			Description without language.
		&lt;/text&gt;
	&lt;/description&gt;
&lt;/metadata&gt;
		</pre>
	</body>
</html>