﻿<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
	<head>
		<title>CSS Test: text-emphasis-style - filled - basic cases</title>
		<link rel="author" title="Makoto Kikuchi" href="mailto:kikuchi@est.co.jp" />
		<link rel="help" title="CSS Text Level 3: 11.2.1.  Emphasis Mark Style: the ‘text-emphasis-style’ property" href="http://www.w3.org/TR/css-text-3/#text-emphasis-style" />
		<link rel="match" href="reference/text-emphasis-style-filled-001-ref.xht"/>
		<meta name="flags" content="" />
		<meta name="assert" content="This property applies emphasis marks to the element's text. " />
		<style type="text/css"><![CDATA[
				.common
				{
					line-height: 1em;
					position: relative;
				}
				.parent
				{
					border: solid 1px gray;
					font-size: 2em;
					width: 10em;
				}
				.refcommon
				{
					font-size: 0.5em;
					left: 0em;
					position: absolute;
					top: -1.5em;
				}
				#test1
				{
					text-emphasis-style: filled;
				}
				#test2
				{
					text-emphasis-style: filled circle;
				}
				#test3
				{
					text-emphasis-style: filled dot;
				}
				#test4
				{
					text-emphasis-style: filled double-circle;
				}
				#test5
				{
					text-emphasis-style: filled sesame;
				}
				#test6
				{
					text-emphasis-style: filled triangle;
				}
		]]></style>
		<script type="text/javascript">
			//	<![CDATA[
					// Set Font Family to 'IPAMincho'
					function setFontFamily () {
						var fontName = 'IPAMincho';
						var divs = document.getElementsByTagName('div');
						var i = 0;
						var div;
						while (i < divs.length) {
							div = divs.item(i);
							if (div.className == 'parent') {
								div.style.fontFamily = fontName;
							}
							i++;
						}
					}
			//	]]>
		</script>
	</head>
	<body>
		<div>
			<p>Test passes if each pair of upper and lower "Filler Text" in the square box is identical.</p>
			filled
			<div class="parent">
				<div><span id="test1">Filler</span> Text</div>
				<br />
				<div>
					<span class="common">F<span class="refcommon">&#x2022;</span></span><span class="common">i<span class="refcommon">&#x2022;</span></span><span class="common">l<span class="refcommon">&#x2022;</span></span><span class="common">l<span class="refcommon">&#x2022;</span></span><span class="common">e<span class="refcommon">&#x2022;</span></span><span class="common">r<span class="refcommon">&#x2022;</span></span>
					Text
				</div>
			</div>
			<br />
			filled circle
			<div class="parent">
				<div><span id="test2">Filler</span> Text</div>
				<br />
				<div>
					<span class="common">F<span class="refcommon">&#x25CF;</span></span><span class="common">i<span class="refcommon">&#x25CF;</span></span><span class="common">l<span class="refcommon">&#x25CF;</span></span><span class="common">l<span class="refcommon">&#x25CF;</span></span><span class="common">e<span class="refcommon">&#x25CF;</span></span><span class="common">r<span class="refcommon">&#x25CF;</span></span>
					Text
				</div>
			</div>
			<br />
			filled dot
			<div class="parent">
				<div><span id="test3">Filler</span> Text</div>
				<br />
				<div>
					<span class="common">F<span class="refcommon">&#x2022;</span></span><span class="common">i<span class="refcommon">&#x2022;</span></span><span class="common">l<span class="refcommon">&#x2022;</span></span><span class="common">l<span class="refcommon">&#x2022;</span></span><span class="common">e<span class="refcommon">&#x2022;</span></span><span class="common">r<span class="refcommon">&#x2022;</span></span>
					Text
				</div>
			</div>
			<br />
			filled double-circle
			<div class="parent">
				<div><span id="test4">Filler</span> Text</div>
				<br />
				<div>
					<span class="common">F<span class="refcommon">&#x25C9;</span></span><span class="common">i<span class="refcommon">&#x25C9;</span></span><span class="common">l<span class="refcommon">&#x25C9;</span></span><span class="common">l<span class="refcommon">&#x25C9;</span></span><span class="common">e<span class="refcommon">&#x25C9;</span></span><span class="common">r<span class="refcommon">&#x25C9;</span></span>
					Text
				</div>
			</div>
			<br />
			filled sesame
			<div class="parent">
				<div><span id="test5">Filler</span> Text</div>
				<br />
				<div>
					<span class="common">F<span class="refcommon">&#xFE45;</span></span><span class="common">i<span class="refcommon">&#xFE45;</span></span><span class="common">l<span class="refcommon">&#xFE45;</span></span><span class="common">l<span class="refcommon">&#xFE45;</span></span><span class="common">e<span class="refcommon">&#xFE45;</span></span><span class="common">r<span class="refcommon">&#xFE45;</span></span>
					 Text
				</div>
			</div>
			<br />
			filled triangle
			<div class="parent">
				<div><span id="test6">Filler</span> Text</div>
				<br />
				<div>
					<span class="common">F<span class="refcommon">&#x25B2;</span></span><span class="common">i<span class="refcommon">&#x25B2;</span></span><span class="common">l<span class="refcommon">&#x25B2;</span></span><span class="common">l<span class="refcommon">&#x25B2;</span></span><span class="common">e<span class="refcommon">&#x25B2;</span></span><span class="common">r<span class="refcommon">&#x25B2;</span></span>
					 Text
				</div>
			</div>
			<p class="fontChange" style="display: block;">
				If you are unable to see font glyphs for certain characters using the browsers default font, install the <a href="http://ossipedia.ipa.go.jp/ipafont/">IPA Font(http://ossipedia.ipa.go.jp/ipafont/)</a> and apply it.
				<button type="button" onclick="setFontFamily()">
					Apply
				</button>
			</p>
			<script type="text/javascript">
				if (document.getElementById) {
					document.getElementById('fontChange').style.display = 'block'
				}
			</script>
		</div>
	</body>
</html>
