<!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: Unescaped &lt; in Content</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://www.w3.org/TR/WOFF/#conform-invalid-mustignore" />
		<link rel="reviewer" title="Chris Lilley" href="mailto:chris@w3.org" />
		<link rel="match" href="metadatadisplay-well-formed-001-ref.xht" />
		<meta name="assert" content="The text element in the description element contains an unescaped &lt;." />
		<style type="text/css"><![CDATA[
			@import url("support/test-fonts.css");
			@font-face {
				font-family: "WOFF Test";
				src: url("support/metadatadisplay-well-formed-001.woff2") format("woff2");
			}
			body {
				font-size: 20px;
			}
			pre {
				font-size: 12px;
			}
			.test {
				font-family: "WOFF Test", "WOFF Test CFF Fallback";
				font-size: 200px;
				margin-top: 50px;
			}
		]]></style>
	</head>
	<body>
		<p>If the UA does not display WOFF metadata, the test passes if the word PASS appears below.</p>
		<p>The Extended Metadata Block is not valid and must not be displayed. If the UA does display it, the test fails.</p>
		<div class="test">P</div>
	</body>
</html>