diff options
Diffstat (limited to 'layout/reftests/font-face')
191 files changed, 8117 insertions, 0 deletions
diff --git a/layout/reftests/font-face/486974-1.html b/layout/reftests/font-face/486974-1.html new file mode 100644 index 000000000..baee6e756 --- /dev/null +++ b/layout/reftests/font-face/486974-1.html @@ -0,0 +1,24 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> +<html lang="en-US"> +<head> + <title></title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <style type="text/css"> + + @font-face { + font-family: "MarkA"; + src: url(../fonts/markA.ttf); + } + + body { font-family: "MarkA" } + + span { font-style: oblique } + </style> +</head> +<body> + +<p>A<span>A</span></p> + +</body> +</html> diff --git a/layout/reftests/font-face/507960-1-bad-checksums-ttf.html b/layout/reftests/font-face/507960-1-bad-checksums-ttf.html new file mode 100644 index 000000000..f34497c93 --- /dev/null +++ b/layout/reftests/font-face/507960-1-bad-checksums-ttf.html @@ -0,0 +1,16 @@ +<html> +<head> +<style type="text/css"> + @font-face { + font-family: test; + src: url(../fonts/DeLarge/DeLarge-bad-checksums.ttf); + } + body { + font-family: test; + } +</style> +</head> +<body> + HELLO WORLD +</body> +</html> diff --git a/layout/reftests/font-face/507960-1-bad-checksums-woff.html b/layout/reftests/font-face/507960-1-bad-checksums-woff.html new file mode 100644 index 000000000..1dfea4863 --- /dev/null +++ b/layout/reftests/font-face/507960-1-bad-checksums-woff.html @@ -0,0 +1,16 @@ +<html> +<head> +<style type="text/css"> + @font-face { + font-family: test; + src: url(../fonts/DeLarge/DeLarge-bad-checksums.woff); + } + body { + font-family: test; + } +</style> +</head> +<body> + HELLO WORLD +</body> +</html> diff --git a/layout/reftests/font-face/507960-1-bad-offset-woff.html b/layout/reftests/font-face/507960-1-bad-offset-woff.html new file mode 100644 index 000000000..6c5f7eeff --- /dev/null +++ b/layout/reftests/font-face/507960-1-bad-offset-woff.html @@ -0,0 +1,16 @@ +<html> +<head> +<style type="text/css"> + @font-face { + font-family: test; + src: url(../fonts/DeLarge/DeLarge-bad-offset.woff); + } + body { + font-family: test; + } +</style> +</head> +<body> + HELLO WORLD +</body> +</html> diff --git a/layout/reftests/font-face/507960-1-bad-sfnt-version-ttf.html b/layout/reftests/font-face/507960-1-bad-sfnt-version-ttf.html new file mode 100644 index 000000000..28389c07a --- /dev/null +++ b/layout/reftests/font-face/507960-1-bad-sfnt-version-ttf.html @@ -0,0 +1,16 @@ +<html> +<head> +<style type="text/css"> + @font-face { + font-family: test; + src: url(../fonts/DeLarge/DeLarge-bad-sfnt-version.ttf); + } + body { + font-family: test; + } +</style> +</head> +<body> + HELLO WORLD +</body> +</html> diff --git a/layout/reftests/font-face/507960-1-bad-sfnt-version-woff.html b/layout/reftests/font-face/507960-1-bad-sfnt-version-woff.html new file mode 100644 index 000000000..5163297be --- /dev/null +++ b/layout/reftests/font-face/507960-1-bad-sfnt-version-woff.html @@ -0,0 +1,16 @@ +<html> +<head> +<style type="text/css"> + @font-face { + font-family: test; + src: url(../fonts/DeLarge/DeLarge-bad-sfnt-version.woff); + } + body { + font-family: test; + } +</style> +</head> +<body> + HELLO WORLD +</body> +</html> diff --git a/layout/reftests/font-face/507960-1-bad-woff-sig.html b/layout/reftests/font-face/507960-1-bad-woff-sig.html new file mode 100644 index 000000000..e710abc6f --- /dev/null +++ b/layout/reftests/font-face/507960-1-bad-woff-sig.html @@ -0,0 +1,16 @@ +<html> +<head> +<style type="text/css"> + @font-face { + font-family: test; + src: url(../fonts/DeLarge/DeLarge-bad-woff-sig.woff); + } + body { + font-family: test; + } +</style> +</head> +<body> + HELLO WORLD +</body> +</html> diff --git a/layout/reftests/font-face/507960-1-nofont.html b/layout/reftests/font-face/507960-1-nofont.html new file mode 100644 index 000000000..2c584a6fa --- /dev/null +++ b/layout/reftests/font-face/507960-1-nofont.html @@ -0,0 +1,11 @@ +<html> +<head> +<style type="text/css"> + body { + } +</style> +</head> +<body> + HELLO WORLD +</body> +</html> diff --git a/layout/reftests/font-face/507960-1-ref.html b/layout/reftests/font-face/507960-1-ref.html new file mode 100644 index 000000000..a9694eedb --- /dev/null +++ b/layout/reftests/font-face/507960-1-ref.html @@ -0,0 +1,16 @@ +<html> +<head> +<style type="text/css"> + @font-face { + font-family: test; + src: url(../fonts/DeLarge/DeLarge.ttf); + } + body { + font-family: test; + } +</style> +</head> +<body> + HELLO WORLD +</body> +</html> diff --git a/layout/reftests/font-face/507960-1-woff-bad-hint.html b/layout/reftests/font-face/507960-1-woff-bad-hint.html new file mode 100644 index 000000000..1d8002da9 --- /dev/null +++ b/layout/reftests/font-face/507960-1-woff-bad-hint.html @@ -0,0 +1,16 @@ +<html> +<head> +<style type="text/css"> + @font-face { + font-family: test; + src: url(../fonts/DeLarge/DeLarge.woff) format("not-woff"); + } + body { + font-family: test; + } +</style> +</head> +<body> + HELLO WORLD +</body> +</html> diff --git a/layout/reftests/font-face/507960-1-woff-hint.html b/layout/reftests/font-face/507960-1-woff-hint.html new file mode 100644 index 000000000..a0d84e230 --- /dev/null +++ b/layout/reftests/font-face/507960-1-woff-hint.html @@ -0,0 +1,16 @@ +<html> +<head> +<style type="text/css"> + @font-face { + font-family: test; + src: url(../fonts/DeLarge/DeLarge.woff) format("woff"); + } + body { + font-family: test; + } +</style> +</head> +<body> + HELLO WORLD +</body> +</html> diff --git a/layout/reftests/font-face/507960-1-woff.html b/layout/reftests/font-face/507960-1-woff.html new file mode 100644 index 000000000..97bc8a8a8 --- /dev/null +++ b/layout/reftests/font-face/507960-1-woff.html @@ -0,0 +1,16 @@ +<html> +<head> +<style type="text/css"> + @font-face { + font-family: test; + src: url(../fonts/DeLarge/DeLarge.woff); + } + body { + font-family: test; + } +</style> +</head> +<body> + HELLO WORLD +</body> +</html> diff --git a/layout/reftests/font-face/534352-1-extra-cmap-sentinel-ref.html b/layout/reftests/font-face/534352-1-extra-cmap-sentinel-ref.html new file mode 100644 index 000000000..d3116800a --- /dev/null +++ b/layout/reftests/font-face/534352-1-extra-cmap-sentinel-ref.html @@ -0,0 +1,12 @@ +<html> +<head> +<style type="text/css"> +body { + font-family: serif; +} +</style> +</head> +<body> +This should NOT be in the default serif font. +</body> +</html> diff --git a/layout/reftests/font-face/534352-1-extra-cmap-sentinel.html b/layout/reftests/font-face/534352-1-extra-cmap-sentinel.html new file mode 100644 index 000000000..c0a566bdd --- /dev/null +++ b/layout/reftests/font-face/534352-1-extra-cmap-sentinel.html @@ -0,0 +1,19 @@ +<html> +<head> +<!-- font Prototype.ttf (see bug 496573 comment #25 and bug 534352) + has a redundant [0xFFFF,0xFFFF] sentinel value in the cmap --> +<style type="text/css"> +@font-face { + font-family: test; + src: url(../fonts/Prototype.ttf); +} + +body { + font-family: test, serif; +} +</style> +</head> +<body> +This should NOT be in the default serif font. +</body> +</html> diff --git a/layout/reftests/font-face/ahem-metrics-1-ref.html b/layout/reftests/font-face/ahem-metrics-1-ref.html new file mode 100644 index 000000000..14eb6b291 --- /dev/null +++ b/layout/reftests/font-face/ahem-metrics-1-ref.html @@ -0,0 +1,8 @@ +<title>Testcase, bug 467084</title> +<style> +body { background: white; } +body > div { background: blue; height: 100px; width: 100px; padding: 5px; } +body > div > div { background: aqua; height: 100px; width: 100px; } +</style> +<div><div></div></div> + diff --git a/layout/reftests/font-face/ahem-metrics-1.html b/layout/reftests/font-face/ahem-metrics-1.html new file mode 100644 index 000000000..e5a83113b --- /dev/null +++ b/layout/reftests/font-face/ahem-metrics-1.html @@ -0,0 +1,8 @@ +<title>Testcase, bug 467084</title> +<style> +html { background: white; } +@font-face { font-family: "AcidAhemTest"; src: url(../fonts/Ahem.ttf); } +body { background: blue; height: 100px; width: 100px; padding: 5px; } +span { color: transparent; background: aqua; font: 100px/1 AcidAhemTest; } +</style> +<span>X</span> diff --git a/layout/reftests/font-face/bug533251-ref.html b/layout/reftests/font-face/bug533251-ref.html new file mode 100644 index 000000000..205aa119c --- /dev/null +++ b/layout/reftests/font-face/bug533251-ref.html @@ -0,0 +1,25 @@ +<!DOCTYPE HTML> +<html lang="en"> +<head> +<title>Bug 533251 crashtest</title> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> + +<style type="text/css"> + +@font-face { + font-family: test; + src: url(../fonts/markA.ttf); +} + +body { + background-color: white; +} + +p { font-family: test; } + +</style> +</head> +<body> +<p>A</p> +</body> +</html>
\ No newline at end of file diff --git a/layout/reftests/font-face/bug533251.html b/layout/reftests/font-face/bug533251.html new file mode 100644 index 000000000..2ff13480c --- /dev/null +++ b/layout/reftests/font-face/bug533251.html @@ -0,0 +1,31 @@ +<!DOCTYPE HTML> +<html lang="ru"> +<head> +<title>Bug 533251 crashtest</title> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> + +<style type="text/css"> + +@font-face { + font-family: test; + src: url(../fonts/markA.ttf); +} + +body { + background-color: white; +} + +div { + font-family: Bongo2020; /* nonexistent font */ + color: white; +} + +p { font-family: test; } + +</style> +</head> +<body> +<p>A</p> +<div>This shouldn't crash...</div> +</body> +</html>
\ No newline at end of file diff --git a/layout/reftests/font-face/cjkcisvs-1-ref.html b/layout/reftests/font-face/cjkcisvs-1-ref.html new file mode 100644 index 000000000..49c384b15 --- /dev/null +++ b/layout/reftests/font-face/cjkcisvs-1-ref.html @@ -0,0 +1,22 @@ +<!DOCTYPE html><meta charset=utf-8> +<title>Duplicate encoded quartet</title> +<style> +@font-face { font-family: DupEncQuartet; src: url('../fonts/gw1270797.ttf') format("truetype"); } +th { width: 72pt } +td { font-size: 72pt; font-family: DupEncQuartet, sans-serif; text-align: center } +</style> +<body> +<table border> +<caption>Duplicate encoded quartet</caption> +<tr> +<th>CJK Compatibility Ideographs</td> +<th>Adobe-Japan1 IVS</td> +<th>Hanyo-Denshi IVS</td> +<th>CJK Compatibility Ideographs Standardized Variant</td> +</tr> +<tr> +<td></td> +<td></td> +<td></td> +<td></td> +</tr> diff --git a/layout/reftests/font-face/cjkcisvs-1.html b/layout/reftests/font-face/cjkcisvs-1.html new file mode 100644 index 000000000..e0d63e491 --- /dev/null +++ b/layout/reftests/font-face/cjkcisvs-1.html @@ -0,0 +1,22 @@ +<!DOCTYPE html><meta charset=utf-8> +<title>Duplicate encoded quartet</title> +<style> +@font-face { font-family: DupEncQuartet; src: url('../fonts/gw1270797.ttf') format("truetype"); } +th { width: 72pt } +td { font-size: 72pt; font-family: DupEncQuartet, sans-serif; text-align: center } +</style> +<body> +<table border> +<caption>Duplicate encoded quartet</caption> +<tr> +<th>CJK Compatibility Ideographs</td> +<th>Adobe-Japan1 IVS</td> +<th>Hanyo-Denshi IVS</td> +<th>CJK Compatibility Ideographs Standardized Variant</td> +</tr> +<tr> +<td>神</td> +<td>神󠄀</td> +<td>神󠄃</td> +<td>神︀</td> +</tr> diff --git a/layout/reftests/font-face/color-1-notref.html b/layout/reftests/font-face/color-1-notref.html new file mode 100644 index 000000000..85a9e74df --- /dev/null +++ b/layout/reftests/font-face/color-1-notref.html @@ -0,0 +1,20 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="UTF-8"/> +<style> +@font-face { + font-family: emoji; + src: url("../fonts/emoji.ttf"); +} + +span { + font-family: emoji; + font-size: 25pt; +} +</style> +</head> +<body> +<span></span> +</body> +</html> diff --git a/layout/reftests/font-face/color-1-ref.html b/layout/reftests/font-face/color-1-ref.html new file mode 100644 index 000000000..6c3eaf44b --- /dev/null +++ b/layout/reftests/font-face/color-1-ref.html @@ -0,0 +1,21 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="UTF-8"/> +<style> +@font-face { + font-family: emoji; + src: url("../fonts/emoji.ttf"); +} + +span { + font-family: emoji; + font-size: 25pt; + color: yellow; +} +</style> +</head> +<body> +<span></span> +</body> +</html> diff --git a/layout/reftests/font-face/color-1a.html b/layout/reftests/font-face/color-1a.html new file mode 100644 index 000000000..28b4034a5 --- /dev/null +++ b/layout/reftests/font-face/color-1a.html @@ -0,0 +1,20 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="UTF-8"/> +<style> +@font-face { + font-family: emojiyellow; + src: url("../fonts/emoji-yellow.ttf"); +} + +span { + font-family: emojiyellow; + font-size: 25pt; +} +</style> +</head> +<body> +<span></span> +</body> +</html> diff --git a/layout/reftests/font-face/color-1b.html b/layout/reftests/font-face/color-1b.html new file mode 100644 index 000000000..8e2eefd2c --- /dev/null +++ b/layout/reftests/font-face/color-1b.html @@ -0,0 +1,21 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="UTF-8"/> +<style> +@font-face { + font-family: emojiyellow; + src: url("../fonts/emoji-yellow.ttf"); +} + +span { + font-family: emojiyellow; + font-size: 25pt; + color: red; +} +</style> +</head> +<body> +<span></span> +</body> +</html> diff --git a/layout/reftests/font-face/color-2-notref.html b/layout/reftests/font-face/color-2-notref.html new file mode 100644 index 000000000..eeb61944a --- /dev/null +++ b/layout/reftests/font-face/color-2-notref.html @@ -0,0 +1,20 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="UTF-8"/> +<style> +@font-face { + font-family: colr-unset; + src: url("../fonts/colr-unset.ttf"); +} + +span { + font-family: colr-unset; + font-size: 25pt; +} +</style> +</head> +<body> +<span>D</span><span>D</span><span>D</span> +</body> +</html> diff --git a/layout/reftests/font-face/color-2-ref.html b/layout/reftests/font-face/color-2-ref.html new file mode 100644 index 000000000..0962a70e3 --- /dev/null +++ b/layout/reftests/font-face/color-2-ref.html @@ -0,0 +1,20 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="UTF-8"/> +<style> +@font-face { + font-family: colr-unset; + src: url("../fonts/colr-unset.ttf"); +} + +span { + font-family: colr-unset; + font-size: 25pt; +} +</style> +</head> +<body> +<span>A</span><span>B</span><span>C</span> +</body> +</html> diff --git a/layout/reftests/font-face/color-2a.html b/layout/reftests/font-face/color-2a.html new file mode 100644 index 000000000..3b9b25bce --- /dev/null +++ b/layout/reftests/font-face/color-2a.html @@ -0,0 +1,20 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="UTF-8"/> +<style> +@font-face { + font-family: colr-unset; + src: url("../fonts/colr-unset.ttf"); +} + +span { + font-family: colr-unset; + font-size: 25pt; +} +</style> +</head> +<body> +<span>A</span><span style="color: #00FF00FF">A</span><span style="color: #0000FFFF">A</span> +</body> +</html> diff --git a/layout/reftests/font-face/cross-iframe-1-inner-1.html b/layout/reftests/font-face/cross-iframe-1-inner-1.html new file mode 100644 index 000000000..b799b7a85 --- /dev/null +++ b/layout/reftests/font-face/cross-iframe-1-inner-1.html @@ -0,0 +1,26 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> +<html lang="en-US"> +<head> + <title></title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <style type="text/css"> + + @font-face { + font-family: "MarkA"; + src: url(../fonts/markA.ttf); + } + + html, body { + margin: 0; + padding: 0; + } + + </style> +</head> +<body> + +<p><span style="font-family: MarkA">A</span><span style="font-family: MarkB">B</span><span style="font-family: MarkC">C</span></p> + +</body> +</html> diff --git a/layout/reftests/font-face/cross-iframe-1-inner-2.html b/layout/reftests/font-face/cross-iframe-1-inner-2.html new file mode 100644 index 000000000..f0d0345e3 --- /dev/null +++ b/layout/reftests/font-face/cross-iframe-1-inner-2.html @@ -0,0 +1,26 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> +<html lang="en-US"> +<head> + <title></title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <style type="text/css"> + + @font-face { + font-family: "MarkB"; + src: url(../fonts/markB.ttf); + } + + html, body { + margin: 0; + padding: 0; + } + + </style> +</head> +<body> + +<p><span style="font-family: MarkA">A</span><span style="font-family: MarkB">B</span><span style="font-family: MarkC">C</span></p> + +</body> +</html> diff --git a/layout/reftests/font-face/cross-iframe-1-ref.html b/layout/reftests/font-face/cross-iframe-1-ref.html new file mode 100644 index 000000000..3bacb4839 --- /dev/null +++ b/layout/reftests/font-face/cross-iframe-1-ref.html @@ -0,0 +1,37 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> +<html lang="en-US"> +<head> + <title></title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <style type="text/css"> + + @font-face { + font-family: "MarkD"; + src: url(../fonts/markD.ttf); + } + + div { + margin: 0; + border: none; + padding: 0; + position: absolute; + left: 0; + } + + </style> +</head> +<body> + +<!-- use nonexistent family to prevent kerning --> +<p><span style="font-family: Nonexistent1">A</span><span style="font-family: Nonexistent2">B</span><span style="font-family: MarkD">D</span></p> + +<div style="top: 4em" src="cross-iframe-1-inner-1.html"> +<p><span style="font-family: MarkD">D</span><span style="font-family: Nonexistent2">B</span><span style="font-family: Nonexistent1">C</span></p> +</div> +<div style="top: 7em" src="cross-iframe-1-inner-2.html"> +<p><span>A</span><span style="font-family: MarkD">D</span><span>C</span></p> +</div> + +</body> +</html> diff --git a/layout/reftests/font-face/cross-iframe-1.html b/layout/reftests/font-face/cross-iframe-1.html new file mode 100644 index 000000000..351bca324 --- /dev/null +++ b/layout/reftests/font-face/cross-iframe-1.html @@ -0,0 +1,32 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> +<html lang="en-US"> +<head> + <title></title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <style type="text/css"> + + @font-face { + font-family: "MarkC"; + src: url(../fonts/markC.ttf); + } + + iframe { + margin: 0; + border: none; + padding: 0; + position: absolute; + left: 0; + } + + </style> +</head> +<body> + +<p><span style="font-family: MarkA">A</span><span style="font-family: MarkB">B</span><span style="font-family: MarkC">C</span></p> + +<iframe style="top: 4em" src="cross-iframe-1-inner-1.html"></iframe> +<iframe style="top: 7em" src="cross-iframe-1-inner-2.html"></iframe> + +</body> +</html> diff --git a/layout/reftests/font-face/delete-rule-1-ref.html b/layout/reftests/font-face/delete-rule-1-ref.html new file mode 100644 index 000000000..01485efc1 --- /dev/null +++ b/layout/reftests/font-face/delete-rule-1-ref.html @@ -0,0 +1,13 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> +<html lang="en-US"> +<head> + <title></title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +</head> +<body> + +<p>ABC</p> + +</body> +</html> diff --git a/layout/reftests/font-face/delete-rule-1.html b/layout/reftests/font-face/delete-rule-1.html new file mode 100644 index 000000000..bc1307488 --- /dev/null +++ b/layout/reftests/font-face/delete-rule-1.html @@ -0,0 +1,42 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> +<html lang="en-US" class="reftest-wait"> +<head> + <title></title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <style type="text/css"> + + @font-face { + font-family: "MarkA"; + src: url(../fonts/markA.ttf); + } + + @font-face { + font-family: "MarkB"; + src: url(../fonts/markB.ttf); + } + + body { font-family: "MarkA", "MarkB"; } + + </style> + <script type="application/ecmascript"> + + function run() { + var sheet = document.getElementsByTagName("style")[0].sheet; + for (var i = sheet.cssRules.length - 1; i >= 0; --i) { + if (sheet.cssRules[i].type == CSSRule.FONT_FACE_RULE) { + sheet.deleteRule(i); + } + } + + document.documentElement.removeAttribute("class"); + } + + </script> +</head> +<body onload="setTimeout(run, 20)"> + +<p>ABC</p> + +</body> +</html> diff --git a/layout/reftests/font-face/disable-sheet-1-ref.html b/layout/reftests/font-face/disable-sheet-1-ref.html new file mode 100644 index 000000000..01485efc1 --- /dev/null +++ b/layout/reftests/font-face/disable-sheet-1-ref.html @@ -0,0 +1,13 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> +<html lang="en-US"> +<head> + <title></title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +</head> +<body> + +<p>ABC</p> + +</body> +</html> diff --git a/layout/reftests/font-face/disable-sheet-1.html b/layout/reftests/font-face/disable-sheet-1.html new file mode 100644 index 000000000..916b81f7f --- /dev/null +++ b/layout/reftests/font-face/disable-sheet-1.html @@ -0,0 +1,34 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> +<html lang="en-US" class="reftest-wait"> +<head> + <title></title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <style type="text/css"> + + @font-face { + font-family: "MarkA"; + src: url(../fonts/markA.ttf); + } + + </style> + <style type="text/css"> + + body { font-family: "MarkA"; } + + </style> + <script type="application/ecmascript"> + + function run() { + document.getElementsByTagName("style")[0].disabled = true; + document.documentElement.removeAttribute("class"); + } + + </script> +</head> +<body onload="setTimeout(run, 20)"> + +<p>ABC</p> + +</body> +</html> diff --git a/layout/reftests/font-face/disable-sheet-4-ref.html b/layout/reftests/font-face/disable-sheet-4-ref.html new file mode 100644 index 000000000..c6b199890 --- /dev/null +++ b/layout/reftests/font-face/disable-sheet-4-ref.html @@ -0,0 +1,26 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> +<html lang="en-US"> +<head> + <title></title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <style type="text/css"> + + @font-face { + font-family: "Mark2A"; + src: url(../fonts/mark2A.ttf); + } + + </style> + <style type="text/css"> + + body { font-family: "Mark2A"; } + + </style> +</head> +<body> + +<p>ABC</p> + +</body> +</html> diff --git a/layout/reftests/font-face/disable-sheet-4.html b/layout/reftests/font-face/disable-sheet-4.html new file mode 100644 index 000000000..d4ff024bf --- /dev/null +++ b/layout/reftests/font-face/disable-sheet-4.html @@ -0,0 +1,44 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> +<html lang="en-US" class="reftest-wait"> +<head> + <title></title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <style type="text/css"> + + @font-face { + font-family: "One"; + src: url(../fonts/markA.ttf); + } + + </style> + <style type="text/css"> + + @font-face { + font-family: "One"; + src: url(../fonts/mark2A.ttf); + } + + </style> + <style type="text/css"> + + body { font-family: "One"; } + + </style> + <script type="application/ecmascript"> + + function run() { + // The restore-size-detector iframe will remove the class attribute. + document.getElementsByTagName("iframe")[0].contentWindow.arm(); + + document.getElementsByTagName("style")[0].disabled = true; + } + + </script> +</head> +<body onload="setTimeout(run, 20)"> + +<p style="position:relative; width: -moz-max-content">ABC<iframe style="visibility:hidden;position:absolute;height:100%;width:100%" src="restore-size-detector-iframe.html"></iframe></p> + +</body> +</html> diff --git a/layout/reftests/font-face/disable-sheet-5.html b/layout/reftests/font-face/disable-sheet-5.html new file mode 100644 index 000000000..17cfc3ebc --- /dev/null +++ b/layout/reftests/font-face/disable-sheet-5.html @@ -0,0 +1,44 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> +<html lang="en-US" class="reftest-wait"> +<head> + <title></title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <style type="text/css"> + + @font-face { + font-family: "One"; + src: url(../fonts/mark2A.ttf); + } + + </style> + <style type="text/css"> + + @font-face { + font-family: "One"; + src: url(../fonts/markA.ttf); + } + + </style> + <style type="text/css"> + + body { font-family: "One"; } + + </style> + <script type="application/ecmascript"> + + function run() { + // The resize-detector iframe will remove the class attribute. + document.getElementsByTagName("iframe")[0].contentWindow.arm_for_wider(); + + document.getElementsByTagName("style")[1].disabled = true; + } + + </script> +</head> +<body onload="setTimeout(run, 20)"> + +<p style="position:relative; width: -moz-max-content">ABC<iframe style="visibility:hidden;position:absolute;height:100%;width:100%" src="resize-detector-iframe.html"></iframe></p> + +</body> +</html> diff --git a/layout/reftests/font-face/download-1-notref.html b/layout/reftests/font-face/download-1-notref.html new file mode 100644 index 000000000..7e6df9c92 --- /dev/null +++ b/layout/reftests/font-face/download-1-notref.html @@ -0,0 +1,18 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> +<html lang="en-US"> +<head> + <title></title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <style type="text/css"> + + body { font-family: "MarkA"; } + + </style> +</head> +<body> + +<p>ABC</p> + +</body> +</html> diff --git a/layout/reftests/font-face/download-1.html b/layout/reftests/font-face/download-1.html new file mode 100644 index 000000000..e2fab2c08 --- /dev/null +++ b/layout/reftests/font-face/download-1.html @@ -0,0 +1,23 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> +<html lang="en-US"> +<head> + <title></title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <style type="text/css"> + + @font-face { + font-family: "MarkA"; + src: url(../fonts/markA.ttf); + } + + body { font-family: "MarkA"; } + + </style> +</head> +<body> + +<p>ABC</p> + +</body> +</html> diff --git a/layout/reftests/font-face/download-2-big-otf.html b/layout/reftests/font-face/download-2-big-otf.html new file mode 100644 index 000000000..e2a3a757d --- /dev/null +++ b/layout/reftests/font-face/download-2-big-otf.html @@ -0,0 +1,23 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> +<html lang="en-US"> +<head> + <title></title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <style type="text/css"> + + @font-face { + font-family: "MarkA"; + src: url(../fonts/markA.otf); + } + + body { font-family: "MarkA"; font-size: 50px; } + + </style> +</head> +<body> + +<p>A</p> + +</body> +</html> diff --git a/layout/reftests/font-face/download-2-big.html b/layout/reftests/font-face/download-2-big.html new file mode 100644 index 000000000..3f57fd330 --- /dev/null +++ b/layout/reftests/font-face/download-2-big.html @@ -0,0 +1,23 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> +<html lang="en-US"> +<head> + <title></title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <style type="text/css"> + + @font-face { + font-family: "MarkA"; + src: url(../fonts/markA.ttf); + } + + body { font-family: "MarkA"; font-size: 50px; } + + </style> +</head> +<body> + +<p>A</p> + +</body> +</html> diff --git a/layout/reftests/font-face/download-2-ref.html b/layout/reftests/font-face/download-2-ref.html new file mode 100644 index 000000000..2fff8251e --- /dev/null +++ b/layout/reftests/font-face/download-2-ref.html @@ -0,0 +1,23 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> +<html lang="en-US"> +<head> + <title></title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <style type="text/css"> + + @font-face { + font-family: "MarkB"; + src: url(../fonts/markB.ttf); + } + + body { font-family: "MarkB"; } + + </style> +</head> +<body> + +<p>B</p> + +</body> +</html> diff --git a/layout/reftests/font-face/download-2.html b/layout/reftests/font-face/download-2.html new file mode 100644 index 000000000..8e09e4160 --- /dev/null +++ b/layout/reftests/font-face/download-2.html @@ -0,0 +1,23 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> +<html lang="en-US"> +<head> + <title></title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <style type="text/css"> + + @font-face { + font-family: "MarkA"; + src: url(../fonts/markA.ttf); + } + + body { font-family: "MarkA"; } + + </style> +</head> +<body> + +<p>A</p> + +</body> +</html> diff --git a/layout/reftests/font-face/download-3-notref.html b/layout/reftests/font-face/download-3-notref.html new file mode 100644 index 000000000..4a25b95db --- /dev/null +++ b/layout/reftests/font-face/download-3-notref.html @@ -0,0 +1,27 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> +<html lang="en-US"> +<head> + <title></title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <style type="text/css"> + body { font-family: "MarkA"; } + </style> +</head> +<body> + +<div id="t" style="visibility:hidden; width: -moz-fit-content">ABC</div> +<script> + document.body.offsetWidth; + var n = document.getElementById("t"); + var w = document.defaultView.getComputedStyle(n, "").width; + var h = document.defaultView.getComputedStyle(n, "").height; + var d = document.createElement("div"); + d.style.width = w; + d.style.height = h; + d.style.backgroundColor = "green"; + n.parentNode.removeChild(n); + document.body.appendChild(d); +</script> +</body> +</html> diff --git a/layout/reftests/font-face/download-3-ref.html b/layout/reftests/font-face/download-3-ref.html new file mode 100644 index 000000000..ab463b349 --- /dev/null +++ b/layout/reftests/font-face/download-3-ref.html @@ -0,0 +1,39 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> +<html lang="en-US"> +<head> + <title></title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <style type="text/css"> + + @font-face { + font-family: "MarkA"; + src: url(../fonts/markA.ttf); + } + + body { font-family: "MarkA"; } + + </style> +</head> +<body> + +<div id="t" style="visibility:hidden; width: -moz-fit-content">ABC</div> +<script> + // Force a reflow to make sure we start our font download now + document.body.offsetWidth; + window.addEventListener("load", + function() { + var n = document.getElementById("t"); + var w = document.defaultView.getComputedStyle(n, "").width; + var h = document.defaultView.getComputedStyle(n, "").height; + var d = document.createElement("div"); + d.style.width = w; + d.style.height = h; + d.style.backgroundColor = "green"; + n.parentNode.removeChild(n); + document.body.appendChild(d); + }, + false); +</script> +</body> +</html> diff --git a/layout/reftests/font-face/download-3.html b/layout/reftests/font-face/download-3.html new file mode 100644 index 000000000..e27252e73 --- /dev/null +++ b/layout/reftests/font-face/download-3.html @@ -0,0 +1,42 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> +<html lang="en-US" style="display: none"> +<head> + <title></title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <style type="text/css"> + + @font-face { + font-family: "MarkA"; + src: url(../fonts/markA.ttf); + } + + body { font-family: "MarkA"; } + + </style> +</head> +<body> + +<div id="t" style="visibility:hidden; width: -moz-fit-content">ABC</div> +<script> + // Make sure to show our stuff as late as we can, so we only get reflows + // from onload. + window.addEventListener("DOMContentLoaded", + function() { document.documentElement.style.display = ""; }, + false) + window.addEventListener("load", + function() { + var n = document.getElementById("t"); + var w = document.defaultView.getComputedStyle(n, "").width; + var h = document.defaultView.getComputedStyle(n, "").height; + var d = document.createElement("div"); + d.style.width = w; + d.style.height = h; + d.style.backgroundColor = "green"; + n.parentNode.removeChild(n); + document.body.appendChild(d); + }, + false); +</script> +</body> +</html> diff --git a/layout/reftests/font-face/dynamic-duplicate-rule-1-ref.html b/layout/reftests/font-face/dynamic-duplicate-rule-1-ref.html new file mode 100644 index 000000000..ce1b30b3e --- /dev/null +++ b/layout/reftests/font-face/dynamic-duplicate-rule-1-ref.html @@ -0,0 +1,35 @@ +<!DOCTYPE HTML> +<html> +<head> +<meta charset="utf-8"> + +<style type="text/css" id="style1"> +@font-face { + font-family: foo; + src: local("Arial"), + local("DejaVu Sans"), + local("Free Sans"), + local("Open Sans"), + local("Droid Sans"), + local("Roboto"); +} +</style> + +<style type="text/css"> +body { + font-family: serif; +} +.test { + font-family: foo; +} +</style> + +</head> + +<body> +<div> +foo <span class="test">bar</span> baz +</div> +</body> + +</html> diff --git a/layout/reftests/font-face/dynamic-duplicate-rule-1a.html b/layout/reftests/font-face/dynamic-duplicate-rule-1a.html new file mode 100644 index 000000000..215f09f35 --- /dev/null +++ b/layout/reftests/font-face/dynamic-duplicate-rule-1a.html @@ -0,0 +1,65 @@ +<!DOCTYPE HTML> +<html class="reftest-wait"> +<head> +<meta charset="utf-8"> + +<!-- Testcase for bug 879963 regression. + We have two <style> elements with identical @font-face rules, which will + share a common proxy font entry. When the entry is loaded, the references + in both rules must be updated, otherwise text may disappear if the "wrong" + (non-updated) rule is subsequently used. + By disabling the first style element after the document has loaded (and the + user font has been resolved to a real font entry), we can check that the + second rule also works as expected. + Note that if a platform doesn't have any of the local() fonts listed, + the testcase will "pass" harmlessly as a no-op. --> + +<style type="text/css" id="style1"> +@font-face { + font-family: foo; + src: local("Arial"), + local("DejaVu Sans"), + local("Free Sans"), + local("Open Sans"), + local("Droid Sans"), + local("Roboto"); +} +</style> + +<style type="text/css" id="style2"> +@font-face { + font-family: foo; + src: local("Arial"), + local("DejaVu Sans"), + local("Free Sans"), + local("Open Sans"), + local("Droid Sans"), + local("Roboto"); +} +</style> + +<style type="text/css"> +body { + font-family: serif; +} +.test { + font-family: foo; +} +</style> + +<script type="application/javascript"> +function run() { + document.getElementById("style1").disabled = true; + document.documentElement.removeAttribute("class"); +} +</script> + +</head> + +<body onload="run()"> +<div> +foo <span class="test">bar</span> baz +</div> +</body> + +</html> diff --git a/layout/reftests/font-face/dynamic-duplicate-rule-1b.html b/layout/reftests/font-face/dynamic-duplicate-rule-1b.html new file mode 100644 index 000000000..647bf53d9 --- /dev/null +++ b/layout/reftests/font-face/dynamic-duplicate-rule-1b.html @@ -0,0 +1,59 @@ +<!DOCTYPE HTML> +<html class="reftest-wait"> +<head> +<meta charset="utf-8"> + +<!-- Testcase for bug 879963 regression. + Identical to dynamic-duplicate-rule-1a, except that we disable the + second rule (rather than the first), to allow for the possibility of + changes in how rules are ordered/searched. --> + +<style type="text/css" id="style1"> +@font-face { + font-family: foo; + src: local("Arial"), + local("DejaVu Sans"), + local("Free Sans"), + local("Open Sans"), + local("Droid Sans"), + local("Roboto"); +} +</style> + +<style type="text/css" id="style2"> +@font-face { + font-family: foo; + src: local("Arial"), + local("DejaVu Sans"), + local("Free Sans"), + local("Open Sans"), + local("Droid Sans"), + local("Roboto"); +} +</style> + +<style type="text/css"> +body { + font-family: serif; +} +.test { + font-family: foo; +} +</style> + +<script type="application/javascript"> +function run() { + document.getElementById("style2").disabled = true; + document.documentElement.removeAttribute("class"); +} +</script> + +</head> + +<body onload="run()"> +<div> +foo <span class="test">bar</span> baz +</div> +</body> + +</html> diff --git a/layout/reftests/font-face/dynamic-duplicate-rule-1c.html b/layout/reftests/font-face/dynamic-duplicate-rule-1c.html new file mode 100644 index 000000000..16fcb3437 --- /dev/null +++ b/layout/reftests/font-face/dynamic-duplicate-rule-1c.html @@ -0,0 +1,85 @@ +<!DOCTYPE HTML> +<html class="reftest-wait"> +<head> +<meta charset="utf-8"> + +<!-- Testcase for bug 879963 regression. + + This test is designed to hit the case where we were adding the same + proxy font entry to a family multiple times during user font set updates. + + Note that if a platform doesn't have any of the local() fonts listed, + the testcase will "pass" harmlessly as a no-op. --> + +<style type="text/css" id="style1"> +@font-face { + font-family: foo; + src: local("Arial"), + local("DejaVu Sans"), + local("Free Sans"), + local("Open Sans"), + local("Droid Sans"), + local("Roboto"); +} +</style> + +<style type="text/css" id="style2"> +@font-face { + font-family: foo; + src: local("Arial"), + local("DejaVu Sans"), + local("Free Sans"), + local("Open Sans"), + local("Droid Sans"), + local("Roboto"); +} +</style> + +<style type="text/css" id="style3"> +@font-face { + font-family: foo; + src: local("Arial"), + local("DejaVu Sans"), + local("Free Sans"), + local("Open Sans"), + local("Droid Sans"), + local("Roboto"); +} +</style> + +<style type="text/css"> +body { + font-family: serif; +} +.test { + font-family: foo; +} +</style> + +<script type="application/javascript"> +function run() { + // Disable one of our three identical style elements. + // This will trigger an update of the user font set, + // and there will still be two identical rules present. + document.getElementById("style3").disabled = true; + + // Now we trigger the use of the 'foo' font family, + // so that font loading occurs. + // If there are duplicate proxy entries in the family, + // and only the first one gets replaced by the real face, + // blank text will result. + document.getElementById("test").className = "test"; + + document.documentElement.removeAttribute("class"); +} +</script> + +</head> + +<body onload="run()"> +<div> +foo <span id="test">bar</span> baz +</div> +</body> + +</html> diff --git a/layout/reftests/font-face/enable-sheet-1-ref.html b/layout/reftests/font-face/enable-sheet-1-ref.html new file mode 100644 index 000000000..eb0b6405c --- /dev/null +++ b/layout/reftests/font-face/enable-sheet-1-ref.html @@ -0,0 +1,26 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> +<html lang="en-US"> +<head> + <title></title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <style type="text/css"> + + @font-face { + font-family: "MarkA"; + src: url(../fonts/markA.ttf); + } + + </style> + <style type="text/css"> + + body { font-family: "MarkA"; } + + </style> +</head> +<body> + +<p>ABC</p> + +</body> +</html> diff --git a/layout/reftests/font-face/enable-sheet-1.html b/layout/reftests/font-face/enable-sheet-1.html new file mode 100644 index 000000000..01ff9cf18 --- /dev/null +++ b/layout/reftests/font-face/enable-sheet-1.html @@ -0,0 +1,38 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> +<html lang="en-US" class="reftest-wait"> +<head> + <title></title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <style type="text/css"> + + @font-face { + font-family: "MarkA"; + src: url(../fonts/markA.ttf); + } + + </style> + <style type="text/css"> + + body { font-family: "MarkA"; } + + </style> + <script type="application/ecmascript"> + + document.getElementsByTagName("style")[0].disabled = true; + + function run() { + // The resize-detector iframe will remove the class attribute. + document.getElementsByTagName("iframe")[0].contentWindow.arm(); + + document.getElementsByTagName("style")[0].disabled = false; + } + + </script> +</head> +<body onload="setTimeout(run, 20)"> + +<p style="position:relative; width: -moz-max-content">ABC<iframe style="visibility:hidden;position:absolute;height:100%;width:100%" src="resize-detector-iframe.html"></iframe></p> + +</body> +</html> diff --git a/layout/reftests/font-face/enable-sheet-2.html b/layout/reftests/font-face/enable-sheet-2.html new file mode 100644 index 000000000..12a9d5fe7 --- /dev/null +++ b/layout/reftests/font-face/enable-sheet-2.html @@ -0,0 +1,47 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> +<html lang="en-US" class="reftest-wait"> +<head> + <title></title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <style type="text/css"> + + @font-face { + font-family: "MarkA"; + src: url(../fonts/markA.ttf); + } + + </style> + <style type="text/css"> + + @font-face { + font-family: "MarkB"; + src: url(../fonts/markB.ttf); + } + + </style> + <style type="text/css"> + + body { font-family: "MarkA", "MarkB"; } + + </style> + <script type="application/ecmascript"> + + document.getElementsByTagName("style")[0].disabled = true; + + function run() { + // The resize-detector iframe will remove the class attribute. + // Allow an intermediate state where we lose the special "B" glyph. + document.getElementsByTagName("iframe")[0].contentWindow.arm_for_wider(); + + document.getElementsByTagName("style")[0].disabled = false; + } + + </script> +</head> +<body onload="setTimeout(run, 20)"> + +<p style="position:relative; width: -moz-max-content">ABC<iframe style="visibility:hidden;position:absolute;height:100%;width:100%" src="resize-detector-iframe.html"></iframe></p> + +</body> +</html> diff --git a/layout/reftests/font-face/enable-sheet-3.html b/layout/reftests/font-face/enable-sheet-3.html new file mode 100644 index 000000000..8cef6ccdd --- /dev/null +++ b/layout/reftests/font-face/enable-sheet-3.html @@ -0,0 +1,47 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> +<html lang="en-US" class="reftest-wait"> +<head> + <title></title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <style type="text/css"> + + @font-face { + font-family: "MarkA"; + src: url(../fonts/markA.ttf); + } + + </style> + <style type="text/css"> + + @font-face { + font-family: "MarkB"; + src: url(../fonts/markB.ttf); + } + + </style> + <style type="text/css"> + + body { font-family: "MarkA", "MarkB"; } + + </style> + <script type="application/ecmascript"> + + document.getElementsByTagName("style")[1].disabled = true; + + function run() { + // The resize-detector iframe will remove the class attribute. + // Allow an intermediate state where we lose the special "A" glyph. + document.getElementsByTagName("iframe")[0].contentWindow.arm_for_wider(); + + document.getElementsByTagName("style")[1].disabled = false; + } + + </script> +</head> +<body onload="setTimeout(run, 20)"> + +<p style="position:relative; width: -moz-max-content">ABC<iframe style="visibility:hidden;position:absolute;height:100%;width:100%" src="resize-detector-iframe.html"></iframe></p> + +</body> +</html> diff --git a/layout/reftests/font-face/enable-sheet-4-ref.html b/layout/reftests/font-face/enable-sheet-4-ref.html new file mode 100644 index 000000000..c6b199890 --- /dev/null +++ b/layout/reftests/font-face/enable-sheet-4-ref.html @@ -0,0 +1,26 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> +<html lang="en-US"> +<head> + <title></title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <style type="text/css"> + + @font-face { + font-family: "Mark2A"; + src: url(../fonts/mark2A.ttf); + } + + </style> + <style type="text/css"> + + body { font-family: "Mark2A"; } + + </style> +</head> +<body> + +<p>ABC</p> + +</body> +</html> diff --git a/layout/reftests/font-face/enable-sheet-4.html b/layout/reftests/font-face/enable-sheet-4.html new file mode 100644 index 000000000..8ae26f7a3 --- /dev/null +++ b/layout/reftests/font-face/enable-sheet-4.html @@ -0,0 +1,46 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> +<html lang="en-US" class="reftest-wait"> +<head> + <title></title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <style type="text/css"> + + @font-face { + font-family: "One"; + src: url(../fonts/markA.ttf); + } + + </style> + <style type="text/css"> + + @font-face { + font-family: "One"; + src: url(../fonts/mark2A.ttf); + } + + </style> + <style type="text/css"> + + body { font-family: "One"; } + + </style> + <script type="application/ecmascript"> + + document.getElementsByTagName("style")[0].disabled = true; + + function run() { + // The restore-size-detector iframe will remove the class attribute. + document.getElementsByTagName("iframe")[0].contentWindow.arm(); + + document.getElementsByTagName("style")[0].disabled = false; + } + + </script> +</head> +<body onload="setTimeout(run, 20)"> + +<p style="position:relative; width: -moz-max-content">ABC<iframe style="visibility:hidden;position:absolute;height:100%;width:100%" src="restore-size-detector-iframe.html"></iframe></p> + +</body> +</html> diff --git a/layout/reftests/font-face/enable-sheet-5.html b/layout/reftests/font-face/enable-sheet-5.html new file mode 100644 index 000000000..4478df502 --- /dev/null +++ b/layout/reftests/font-face/enable-sheet-5.html @@ -0,0 +1,46 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> +<html lang="en-US" class="reftest-wait"> +<head> + <title></title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <style type="text/css"> + + @font-face { + font-family: "One"; + src: url(../fonts/markA.ttf); + } + + </style> + <style type="text/css"> + + @font-face { + font-family: "One"; + src: url(../fonts/mark2A.ttf); + } + + </style> + <style type="text/css"> + + body { font-family: "One"; } + + </style> + <script type="application/ecmascript"> + + document.getElementsByTagName("style")[1].disabled = true; + + function run() { + // The resize-detector iframe will remove the class attribute. + document.getElementsByTagName("iframe")[0].contentWindow.arm_for_wider(); + + document.getElementsByTagName("style")[1].disabled = false; + } + + </script> +</head> +<body onload="setTimeout(run, 20)"> + +<p style="position:relative; width: -moz-max-content">ABC<iframe style="visibility:hidden;position:absolute;height:100%;width:100%" src="resize-detector-iframe.html"></iframe></p> + +</body> +</html> diff --git a/layout/reftests/font-face/enable-sheet-6.html b/layout/reftests/font-face/enable-sheet-6.html new file mode 100644 index 000000000..41a524c37 --- /dev/null +++ b/layout/reftests/font-face/enable-sheet-6.html @@ -0,0 +1,46 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> +<html lang="en-US" class="reftest-wait"> +<head> + <title></title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <style type="text/css"> + + @font-face { + font-family: "One"; + src: url(../fonts/markA.ttf); + } + + </style> + <style type="text/css"> + + @font-face { + font-family: "One"; + src: url(../fonts/markB.ttf); + } + + </style> + <style type="text/css"> + + body { font-family: "One"; } + + </style> + <script type="application/ecmascript"> + + document.getElementsByTagName("style")[0].disabled = true; + + function run() { + // The resize-detector iframe will remove the class attribute. + document.getElementsByTagName("iframe")[0].contentWindow.arm_for_wider(); + + document.getElementsByTagName("style")[0].disabled = false; + } + + </script> +</head> +<body onload="setTimeout(run, 20)"> + +<p style="position:relative; width: -moz-max-content">ABC<iframe style="visibility:hidden;position:absolute;height:100%;width:100%" src="resize-detector-iframe.html"></iframe></p> + +</body> +</html> diff --git a/layout/reftests/font-face/enable-sheet-7.html b/layout/reftests/font-face/enable-sheet-7.html new file mode 100644 index 000000000..d7138866f --- /dev/null +++ b/layout/reftests/font-face/enable-sheet-7.html @@ -0,0 +1,46 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> +<html lang="en-US" class="reftest-wait"> +<head> + <title></title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <style type="text/css"> + + @font-face { + font-family: "One"; + src: url(../fonts/markA.ttf); + } + + </style> + <style type="text/css"> + + @font-face { + font-family: "One"; + src: url(../fonts/markB.ttf); + } + + </style> + <style type="text/css"> + + body { font-family: "One"; } + + </style> + <script type="application/ecmascript"> + + document.getElementsByTagName("style")[1].disabled = true; + + function run() { + // The resize-detector iframe will remove the class attribute. + document.getElementsByTagName("iframe")[0].contentWindow.arm_for_wider(); + + document.getElementsByTagName("style")[1].disabled = false; + } + + </script> +</head> +<body onload="setTimeout(run, 20)"> + +<p style="position:relative; width: -moz-max-content">ABC<iframe style="visibility:hidden;position:absolute;height:100%;width:100%" src="resize-detector-iframe.html"></iframe></p> + +</body> +</html> diff --git a/layout/reftests/font-face/ex-unit-1-dynamic.html b/layout/reftests/font-face/ex-unit-1-dynamic.html new file mode 100644 index 000000000..b8b2b1ca6 --- /dev/null +++ b/layout/reftests/font-face/ex-unit-1-dynamic.html @@ -0,0 +1,20 @@ +<!DOCTYPE HTML> +<html class="reftest-wait"> +<title>ex unit with Ahem font</title> +<style type="text/css"> +html { background: white; } +body { font-family: Ahhhem; font-size: 50px; + height: 2ex; width: 2ex; position: relative; + background: blue; } +</style> +<script type="application/ecmascript"> +function run() { + document.getElementsByTagName("iframe")[0].contentWindow.arm(); + document.getElementsByTagName("style")[0].sheet.insertRule( + '@font-face { font-family: "Ahhhem"; src: url(../fonts/Ahem.ttf); }', + 0); +} +</script> +<body onload="setTimeout(run, 0)"> +<iframe style="visibility:hidden;position:absolute;height:100%;width:100%" src="resize-detector-iframe.html"></iframe> +</body> diff --git a/layout/reftests/font-face/ex-unit-1-ref.html b/layout/reftests/font-face/ex-unit-1-ref.html new file mode 100644 index 000000000..5b25263e3 --- /dev/null +++ b/layout/reftests/font-face/ex-unit-1-ref.html @@ -0,0 +1,7 @@ +<!DOCTYPE HTML> +<title>ex unit with Ahem font</title> +<style type="text/css"> +html { background: white; } +div { height: 80px; width: 80px; background: blue; } +</style> +<div></div> diff --git a/layout/reftests/font-face/ex-unit-1.html b/layout/reftests/font-face/ex-unit-1.html new file mode 100644 index 000000000..d39f10168 --- /dev/null +++ b/layout/reftests/font-face/ex-unit-1.html @@ -0,0 +1,7 @@ +<!DOCTYPE HTML> +<title>ex unit with Ahem font</title> +<style type="text/css"> +@font-face { font-family: "Ahhhem"; src: url(../fonts/Ahem.ttf); } +html { background: white; } +body { font-family: Ahhhem; font-size: 50px; height: 2ex; width: 2ex; background: blue; } +</style> diff --git a/layout/reftests/font-face/fallback-to-system-1-ref.html b/layout/reftests/font-face/fallback-to-system-1-ref.html new file mode 100644 index 000000000..08aacd5f5 --- /dev/null +++ b/layout/reftests/font-face/fallback-to-system-1-ref.html @@ -0,0 +1,24 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> +<html lang="en-US"> +<head> + <title></title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <style type="text/css"> + + span { + /* to ensure the same vertical positioning of the text */ + display: inline-block; + height: 3em; + width: 1em; + vertical-align: baseline; + } + + </style> +</head> +<body> + +<p>DEF<span></span></p> + +</body> +</html> diff --git a/layout/reftests/font-face/fallback-to-system-1.html b/layout/reftests/font-face/fallback-to-system-1.html new file mode 100644 index 000000000..5b6af1047 --- /dev/null +++ b/layout/reftests/font-face/fallback-to-system-1.html @@ -0,0 +1,31 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> +<html lang="en-US"> +<head> + <title></title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <style type="text/css"> + + @font-face { + font-family: "MarkA"; + src: url(../fonts/markA.ttf); + } + + body { font-family: "MarkA"; line-height: 1.5em; } + + span { + /* to ensure the same vertical positioning of the text */ + display: inline-block; + height: 3em; + width: 1em; + vertical-align: baseline; + } + + </style> +</head> +<body> + +<p>DEF<span></span></p> + +</body> +</html> diff --git a/layout/reftests/font-face/font-display-1-ref.html b/layout/reftests/font-face/font-display-1-ref.html new file mode 100644 index 000000000..73e71fcb8 --- /dev/null +++ b/layout/reftests/font-face/font-display-1-ref.html @@ -0,0 +1,46 @@ +<!DOCTYPE html> +<html> +<head> +<title>font-display test</title> +<meta charset="utf-8"> +<style> +body { margin: 20px } + +@font-face { + font-family: test1-ref; + src: url(../fonts/markA.woff); +} + +div.test { + font-size: 600%; + line-height: 1.3em; + width: 500px; +} + +div.test p { + display: inline-block; + width: 150px; + margin: 0; +} + +.auto { font-family: test1-ref; } +.block { font-family: test1-ref; } +.swap { font-family: test1-ref; } +.fallback { font-family: test1-ref; } +.optional { font-family: font-that-does-not-exist; } + +</style> +</head> + +<body> +<div class="test"> +<p class="auto">A</p> +<p class="block">A</p> +</div> +<div class="test"> +<p class="swap">A</p> +<p class="fallback">A</p> +<p class="optional">A</p> +</div> +</body> +</html> diff --git a/layout/reftests/font-face/font-display-1.html b/layout/reftests/font-face/font-display-1.html new file mode 100644 index 000000000..12c317286 --- /dev/null +++ b/layout/reftests/font-face/font-display-1.html @@ -0,0 +1,71 @@ +<!DOCTYPE html> +<html> +<head> +<title>font-display test</title> +<meta charset="utf-8"> +<style> +body { margin: 20px } + +@font-face { + font-family: test1-auto; + src: url(../fonts/markA.woff); + font-display: auto; +} + +@font-face { + font-family: test1-block; + src: url(../fonts/markA.woff); + font-display: block; +} + +@font-face { + font-family: test1-swap; + src: url(../fonts/markA.woff); + font-display: swap; +} + +@font-face { + font-family: test1-fallback; + src: url(../fonts/markA.woff); + font-display: fallback; +} + +@font-face { + font-family: test1-optional; + src: url(../fonts/markfonts-delay.sjs?font=markA&delay=200&test=font-display-1-optional); + font-display: optional; +} + +div.test { + font-size: 600%; + line-height: 1.3em; + width: 500px; +} + +div.test p { + display: inline-block; + width: 150px; + margin: 0; +} + +.auto { font-family: test1-auto; } +.block { font-family: test1-block; } +.swap { font-family: test1-swap; } +.fallback { font-family: test1-fallback; } +.optional { font-family: test1-optional; } + +</style> +</head> + +<body> +<div class="test"> +<p class="auto">A</p> +<p class="block">A</p> +</div> +<div class="test"> +<p class="swap">A</p> +<p class="fallback">A</p> +<p class="optional">A</p> +</div> +</body> +</html> diff --git a/layout/reftests/font-face/font-display-2-ref.html b/layout/reftests/font-face/font-display-2-ref.html new file mode 100644 index 000000000..db45af7bc --- /dev/null +++ b/layout/reftests/font-face/font-display-2-ref.html @@ -0,0 +1,46 @@ +<!DOCTYPE html> +<html> +<head> +<title>font-display test</title> +<meta charset="utf-8"> +<style> +body { margin: 20px } + +@font-face { + font-family: test2-ref; + src: url(../fonts/markA.woff); +} + +div.test { + font-size: 600%; + line-height: 1.3em; + width: 500px; +} + +div.test p { + display: inline-block; + width: 150px; + margin: 0; +} + +.auto { font-family: test2-ref; } +.block { font-family: test2-ref; } +.swap { font-family: test2-ref; } +.fallback { font-family: font-that-does-not-exist; } +.optional { font-family: font-that-does-not-exist; } + +</style> +</head> + +<body> +<div class="test"> +<p class="auto">A</p> +<p class="block">A</p> +</div> +<div class="test"> +<p class="swap">A</p> +<p class="fallback">A</p> +<p class="optional">A</p> +</div> +</body> +</html> diff --git a/layout/reftests/font-face/font-display-2.html b/layout/reftests/font-face/font-display-2.html new file mode 100644 index 000000000..617c6cfc7 --- /dev/null +++ b/layout/reftests/font-face/font-display-2.html @@ -0,0 +1,71 @@ +<!DOCTYPE html> +<html> +<head> +<title>font-display test</title> +<meta charset="utf-8"> +<style> +body { margin: 20px } + +@font-face { + font-family: test2-auto; + src: url(../fonts/markfonts-delay.sjs?font=markA&delay=4500&test=font-display-2-auto); + font-display: auto; +} + +@font-face { + font-family: test2-block; + src: url(../fonts/markfonts-delay.sjs?font=markA&delay=4500&test=font-display-2-block); + font-display: block; +} + +@font-face { + font-family: test2-swap; + src: url(../fonts/markfonts-delay.sjs?font=markA&delay=4500&test=font-display-2-swap); + font-display: swap; +} + +@font-face { + font-family: test2-fallback; + src: url(../fonts/markfonts-delay.sjs?font=markA&delay=4500&test=font-display-2-fallback); + font-display: fallback; +} + +@font-face { + font-family: test2-optional; + src: url(../fonts/markfonts-delay.sjs?font=markA&delay=4500&test=font-display-2-optional); + font-display: optional; +} + +div.test { + font-size: 600%; + line-height: 1.3em; + width: 500px; +} + +div.test p { + display: inline-block; + width: 150px; + margin: 0; +} + +.auto { font-family: test2-auto; } +.block { font-family: test2-block; } +.swap { font-family: test2-swap; } +.fallback { font-family: test2-fallback; } +.optional { font-family: test2-optional; } + +</style> +</head> + +<body> +<div class="test"> +<p class="auto">A</p> +<p class="block">A</p> +</div> +<div class="test"> +<p class="swap">A</p> +<p class="fallback">A</p> +<p class="optional">A</p> +</div> +</body> +</html> diff --git a/layout/reftests/font-face/font-error-404-1-ref.html b/layout/reftests/font-face/font-error-404-1-ref.html new file mode 100644 index 000000000..3c3ee58f5 --- /dev/null +++ b/layout/reftests/font-face/font-error-404-1-ref.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> +<head> +<style type="text/css"> +body { + font-family: monospace; + font-size: 36px; +} +</style> +</head> +<body> +Hello world +</body> +</html> diff --git a/layout/reftests/font-face/font-error-404-1.html b/layout/reftests/font-face/font-error-404-1.html new file mode 100644 index 000000000..defec9d08 --- /dev/null +++ b/layout/reftests/font-face/font-error-404-1.html @@ -0,0 +1,19 @@ +<!DOCTYPE html> +<html> +<head> +<style type="text/css"> +/* When the font data is returned with a 404 (Not found) status, it should not be used */ +@font-face { + font-family: foo; + src: url(../fonts/Chunkfive.sjs?statusCode=404&statusReason=Not%20found); +} +body { + font-family: foo, monospace; + font-size: 36px; +} +</style> +</head> +<body> +Hello world +</body> +</html> diff --git a/layout/reftests/font-face/font-error-404-2-ref.html b/layout/reftests/font-face/font-error-404-2-ref.html new file mode 100644 index 000000000..e63d18453 --- /dev/null +++ b/layout/reftests/font-face/font-error-404-2-ref.html @@ -0,0 +1,18 @@ +<!DOCTYPE html> +<html> +<head> +<style type="text/css"> +@font-face { + font-family: foo; + src: url(../fonts/Chunkfive.otf); +} +body { + font-family: foo, monospace; + font-size: 36px; +} +</style> +</head> +<body> +Hello world +</body> +</html> diff --git a/layout/reftests/font-face/font-error-404-2.html b/layout/reftests/font-face/font-error-404-2.html new file mode 100644 index 000000000..18edf1b34 --- /dev/null +++ b/layout/reftests/font-face/font-error-404-2.html @@ -0,0 +1,19 @@ +<!DOCTYPE html> +<html> +<head> +<style type="text/css"> +/* Chunkfive.sjs with a 200 (OK) status should work identically to Chunkfive.otf */ +@font-face { + font-family: foo; + src: url(../fonts/Chunkfive.sjs?statusCode=200&statusReason=OK); +} +body { + font-family: foo, monospace; + font-size: 36px; +} +</style> +</head> +<body> +Hello world +</body> +</html> diff --git a/layout/reftests/font-face/font-familiy-whitespace-1-notref.html b/layout/reftests/font-face/font-familiy-whitespace-1-notref.html new file mode 100644 index 000000000..3e6a46566 --- /dev/null +++ b/layout/reftests/font-face/font-familiy-whitespace-1-notref.html @@ -0,0 +1,9 @@ +<!doctype html> +<style> +@font-face { + font-family: Awesome font; + src: url(../fonts/markA.ttf); +} +p { /* Default font */ } +</style> +<p>A diff --git a/layout/reftests/font-face/font-familiy-whitespace-1-ref.html b/layout/reftests/font-face/font-familiy-whitespace-1-ref.html new file mode 100644 index 000000000..5baf0ece1 --- /dev/null +++ b/layout/reftests/font-face/font-familiy-whitespace-1-ref.html @@ -0,0 +1,9 @@ +<!doctype html> +<style> +@font-face { + font-family: Awesome font; + src: url(../fonts/markA.ttf); +} +p { font-family: Awesome font } +</style> +<p>A diff --git a/layout/reftests/font-face/font-familiy-whitespace-1.html b/layout/reftests/font-face/font-familiy-whitespace-1.html new file mode 100644 index 000000000..237945b4c --- /dev/null +++ b/layout/reftests/font-face/font-familiy-whitespace-1.html @@ -0,0 +1,9 @@ +<!doctype html> +<style> +@font-face { + font-family: Awesome font; + src: url(../fonts/markA.ttf); +} +p { font-family: Awesome/**/font } +</style> +<p>A diff --git a/layout/reftests/font-face/font-redirect.html b/layout/reftests/font-face/font-redirect.html new file mode 100644 index 000000000..5341d0741 --- /dev/null +++ b/layout/reftests/font-face/font-redirect.html @@ -0,0 +1,23 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> +<html lang="en-US"> +<head> + <title></title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <style type="text/css"> + + @font-face { + font-family: "MarkA"; + src: url(../fonts/markA-redirect.ttf); + } + + body { font-family: "MarkA"; } + + </style> +</head> +<body> + +<p>ABC</p> + +</body> +</html> diff --git a/layout/reftests/font-face/helveticaneue-ultra-ref.html b/layout/reftests/font-face/helveticaneue-ultra-ref.html new file mode 100644 index 000000000..84c675667 --- /dev/null +++ b/layout/reftests/font-face/helveticaneue-ultra-ref.html @@ -0,0 +1,37 @@ +<!DOCTYPE HTML> +<html> +<head> +<title>Helvetica Neue UltraLight</title> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> + +<style type="text/css"> + +body { + margin: 50px; + font-size: 60pt; +} + +@font-face { + font-family: MyUltralight; + src: local(HelveticaNeue-UltraLight); + font-weight: 100; +} + +p { + font-family: MyUltralight, serif; + font-weight: 100; +} + +</style> + +<script type="text/javascript"> + +</script> + +</head> +<body> + +<p>Lovely lightness!!</p> + +</body> +</html>
\ No newline at end of file diff --git a/layout/reftests/font-face/helveticaneue-ultra.html b/layout/reftests/font-face/helveticaneue-ultra.html new file mode 100644 index 000000000..08761543c --- /dev/null +++ b/layout/reftests/font-face/helveticaneue-ultra.html @@ -0,0 +1,31 @@ +<!DOCTYPE HTML> +<html> +<head> +<title>Helvetica Neue UltraLight</title> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> + +<style type="text/css"> + +body { + margin: 50px; + font-size: 60pt; +} + +p { + font-family: Helvetica Neue, serif; + font-weight: 100; +} + +</style> + +<script type="text/javascript"> + +</script> + +</head> +<body> + +<p>Lovely lightness!!</p> + +</body> +</html>
\ No newline at end of file diff --git a/layout/reftests/font-face/insert-rule-1-ref.html b/layout/reftests/font-face/insert-rule-1-ref.html new file mode 100644 index 000000000..df585c222 --- /dev/null +++ b/layout/reftests/font-face/insert-rule-1-ref.html @@ -0,0 +1,20 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> +<html lang="en-US"> +<head> + <title></title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <style type="text/css"> + + body { font-family: "MarkA", "MarkB"; } + @font-face { font-family: "MarkA"; src: url(../fonts/markA.ttf); } + @font-face { font-family: "MarkB"; src: url(../fonts/markB.ttf); } + + </style> +</head> +<body> + +<p>ABC</p> + +</body> +</html> diff --git a/layout/reftests/font-face/insert-rule-1a.html b/layout/reftests/font-face/insert-rule-1a.html new file mode 100644 index 000000000..ef15e3ab9 --- /dev/null +++ b/layout/reftests/font-face/insert-rule-1a.html @@ -0,0 +1,30 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> +<html lang="en-US" class="reftest-wait"> +<head> + <title></title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <style type="text/css"> + + @font-face { font-family: 'MarkB'; src: url(../fonts/markB.ttf); } + body { font-family: "MarkA", "MarkB"; } + + </style> + <script type="application/ecmascript"> + + function run() { + // The resize-detector iframe will remove the class attribute. + document.getElementsByTagName("iframe")[0].contentWindow.arm_for_wider(); + + var sheet = document.getElementsByTagName("style")[0].sheet; + sheet.insertRule("@font-face { font-family: 'MarkA'; src: url(../fonts/markA.ttf); }", sheet.cssRules.length); + } + + </script> +</head> +<body onload="setTimeout(run, 20)"> + +<p style="position:relative; width: -moz-max-content">ABC<iframe style="visibility:hidden;position:absolute;height:100%;width:100%" src="resize-detector-iframe.html"></iframe></p> + +</body> +</html> diff --git a/layout/reftests/font-face/insert-rule-1b.html b/layout/reftests/font-face/insert-rule-1b.html new file mode 100644 index 000000000..7510d9d8f --- /dev/null +++ b/layout/reftests/font-face/insert-rule-1b.html @@ -0,0 +1,30 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> +<html lang="en-US" class="reftest-wait"> +<head> + <title></title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <style type="text/css"> + + body { font-family: "MarkA", "MarkB"; } + @font-face { font-family: 'MarkA'; src: url(../fonts/markA.ttf); } + + </style> + <script type="application/ecmascript"> + + function run() { + // The resize-detector iframe will remove the class attribute. + document.getElementsByTagName("iframe")[0].contentWindow.arm_for_wider(); + + var sheet = document.getElementsByTagName("style")[0].sheet; + sheet.insertRule("@font-face { font-family: 'MarkB'; src: url(../fonts/markB.ttf); }", 0); + } + + </script> +</head> +<body onload="setTimeout(run, 20)"> + +<p style="position:relative; width: -moz-max-content">ABC<iframe style="visibility:hidden;position:absolute;height:100%;width:100%" src="resize-detector-iframe.html"></iframe></p> + +</body> +</html> diff --git a/layout/reftests/font-face/ivs-1-ref.html b/layout/reftests/font-face/ivs-1-ref.html new file mode 100644 index 000000000..0c71c77f3 --- /dev/null +++ b/layout/reftests/font-face/ivs-1-ref.html @@ -0,0 +1,14 @@ +<!DOCTYPE html>
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<style>
+@font-face { font-family: IVSテスト; src: url('../fonts/gw432047.ttf') format("truetype"); }
+body { background: white }
+span { font-size: 72pt; font-family: IVSテスト, serif; border: 1px red solid }
+</style>
+</head>
+<body>
+<span></span>
+</body>
+</html>
diff --git a/layout/reftests/font-face/ivs-1.html b/layout/reftests/font-face/ivs-1.html new file mode 100644 index 000000000..bdd417731 --- /dev/null +++ b/layout/reftests/font-face/ivs-1.html @@ -0,0 +1,14 @@ +<!DOCTYPE html>
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<style>
+@font-face { font-family: IVSテスト; src: url('../fonts/gw432047.ttf') format("truetype"); }
+body { background: white }
+span { font-size: 72pt; font-family: IVSテスト, serif; border: 1px red solid }
+</style>
+</head>
+<body>
+<span>葛󠄀葛󠄁</span>
+</body>
+</html>
diff --git a/layout/reftests/font-face/load-badchecksum-ref.html b/layout/reftests/font-face/load-badchecksum-ref.html new file mode 100644 index 000000000..6e8cac31b --- /dev/null +++ b/layout/reftests/font-face/load-badchecksum-ref.html @@ -0,0 +1,32 @@ +<!DOCTYPE HTML> +<html> +<head> + <title>Checksums for downloadable fonts</title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + + <style type="text/css"> + body { margin: 50px; font-size: 24px; } + + @font-face { + font-family: VeraBadChecksum; + src: url(../fonts/VeraBd.ttf); + } + + @font-face { + font-family: VeraGoodChecksum; + src: url(../fonts/VeraBd-validchecksum.ttf); + } + + .verabad { font-family: VeraBadChecksum, Futura, sans-serif; } + .veragood { font-family: VeraGoodChecksum, Futura, sans-serif; } + + </style> + + <script type="text/javascript"> + </script> + +</head> +<body> +<p class="veragood">Fonts load with or without correct head table checksums</p> +</body> +</html>
\ No newline at end of file diff --git a/layout/reftests/font-face/load-badchecksum.html b/layout/reftests/font-face/load-badchecksum.html new file mode 100644 index 000000000..22ee060ee --- /dev/null +++ b/layout/reftests/font-face/load-badchecksum.html @@ -0,0 +1,32 @@ +<!DOCTYPE HTML> +<html> +<head> + <title>Checksums for downloadable fonts</title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + + <style type="text/css"> + body { margin: 50px; font-size: 24px; } + + @font-face { + font-family: VeraBadChecksum; + src: url(../fonts/VeraBd.ttf); + } + + @font-face { + font-family: VeraGoodChecksum; + src: url(../fonts/VeraBd-validchecksum.ttf); + } + + .verabad { font-family: VeraBadChecksum, Futura, sans-serif; } + .veragood { font-family: VeraGoodChecksum, Futura, sans-serif; } + + </style> + + <script type="text/javascript"> + </script> + +</head> +<body> +<p class="verabad">Fonts load with or without correct head table checksums</p> +</body> +</html>
\ No newline at end of file diff --git a/layout/reftests/font-face/load-badfullname-ref.html b/layout/reftests/font-face/load-badfullname-ref.html new file mode 100644 index 000000000..c422aacc3 --- /dev/null +++ b/layout/reftests/font-face/load-badfullname-ref.html @@ -0,0 +1,35 @@ +<!DOCTYPE HTML> +<html> +<head> +<title>Test of fonts with funky fullnames</title> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> + +<style type="text/css"> + +@font-face { + font-family: test; + src: url(../fonts/markA.ttf); +} + +body { + margin: 50px; + font-size: 12pt; + font-family: Gill Sans, Futura, sans-serif; +} + +p.test1 { font-size: 48pt; font-family: test, Futura, sans-serif; } +p.test2 { font-size: 48pt; font-family: test, Futura, sans-serif; } + +</style> + +</head> +<body> + +<p>Letter A should <strong>not</strong> appear below:</p> + +<p class="test1">A</p> + +<p class="test2">A</p> + +</body> +</html>
\ No newline at end of file diff --git a/layout/reftests/font-face/load-badfullname.html b/layout/reftests/font-face/load-badfullname.html new file mode 100644 index 000000000..0c00694f6 --- /dev/null +++ b/layout/reftests/font-face/load-badfullname.html @@ -0,0 +1,40 @@ +<!DOCTYPE HTML> +<html> +<head> +<title>Test of fonts with funky fullnames</title> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> + +<style type="text/css"> + +@font-face { + font-family: test1; + src: url(../fonts/markA-badfullname.ttf); +} + +@font-face { + font-family: test2; + src: url(../fonts/markA-shortfullname.ttf); +} + +body { + margin: 50px; + font-size: 12pt; + font-family: Gill Sans, Futura, sans-serif; +} + +p.test1 { font-size: 48pt; font-family: test1, Futura, sans-serif; } +p.test2 { font-size: 48pt; font-family: test2, Futura, sans-serif; } + +</style> + +</head> +<body> + +<p>Letter A should <strong>not</strong> appear below:</p> + +<p class="test1">A</p> + +<p class="test2">A</p> + +</body> +</html>
\ No newline at end of file diff --git a/layout/reftests/font-face/local-1-ref.html b/layout/reftests/font-face/local-1-ref.html new file mode 100644 index 000000000..7304b5265 --- /dev/null +++ b/layout/reftests/font-face/local-1-ref.html @@ -0,0 +1,23 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> +<html> +<head> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + <meta http-equiv="Content-Style-Type" content="text/css"> + <title>test src: local() reference</title> + <style type="text/css"> + body { + font-family: Nimbus Sans L, Helvetica, Bitstream Vera Sans, + Arial, Liberation Sans, SwissA, + Fira Sans OT, Fira Sans, Droid Sans, Roboto, serif; + } + </style> +</head> +<body> + <p style="font-weight: normal;"> + The quick brown fox jumped over the lazy dog + </p> + <p style="font-weight: bold;"> + The quick brown fox jumped over the lazy dog + </p> +</body> +</html> diff --git a/layout/reftests/font-face/local-1.html b/layout/reftests/font-face/local-1.html new file mode 100644 index 000000000..64e450002 --- /dev/null +++ b/layout/reftests/font-face/local-1.html @@ -0,0 +1,63 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> +<html> +<head> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + <meta http-equiv="Content-Style-Type" content="text/css"> + <title>test src: local()</title> + <!-- + + Most systems are expected to have either Linotype's Helvetica or a + substitute. These are needed for PostScript or PDF support. MS + systems will have Monotype's Arial installed. Systems with + ghostscript will normally have Nimbus Sans L. Linux systems without + ghostscript may have Adobe's bitmap Helvetica for X11 or Ascender / + Red Hat's Liberation Sans. + + The result will be compared with fonts chosen through font-family. + Platform aliases (on Windows and Linux) will map family names from + one substitute to another, but similar aliasing does not happen with + face names in local(). Therefore, all Helvetica substitute fonts + are included in the @font-face rules. + + Full names are specified for all fonts for MS Windows and Linux, and + PostScript names are included for Mac for all fonts up to + Helvetica, which is expected to be on every Mac. + + The generic fallback is chosen to be serif, which is not expected to + be the same as any of the local (sans-serif) faces in the @font-face + rules, so that it makes failure to reference the local faces more + obvious. + + --> + <style type="text/css"> + @font-face { + font-family: "Local"; + src: local(Nimbus Sans L), local(NimbusSansL-Regu), + local(Helvetica), local(Bitstream Vera Sans), + local(Arial), local(Liberation Sans), local(SwissA), + local(Fira Sans OT), local(Fira Sans), + local(Droid Sans), local(Roboto); + font-weight: 100; + } + @font-face { + font-family: "Local"; + src: local(Nimbus Sans L Bold), local(NimbusSansL-Bold), + local(Helvetica Bold), local(Helvetica-Bold), + local(Bitstream Vera Sans Bold), + local(Arial Bold), local(Liberation Sans Bold), local(SwissA Bold), + local(Fira Sans OT Bold), local(Fira Sans Bold), + local(Droid Sans Bold), local(Roboto Bold); + font-weight: normal; + } + body { font-family: Local, serif } + </style> +</head> +<body> + <p style="font-weight: 100"> + The quick brown fox jumped over the lazy dog + </p> + <p style="font-weight: normal;"> + The quick brown fox jumped over the lazy dog + </p> +</body> +</html> diff --git a/layout/reftests/font-face/local-styled-1-ref.html b/layout/reftests/font-face/local-styled-1-ref.html new file mode 100644 index 000000000..d38f5974a --- /dev/null +++ b/layout/reftests/font-face/local-styled-1-ref.html @@ -0,0 +1,34 @@ +<!DOCTYPE html> +<html> +<head> +<style type="text/css"> +@font-face { + font-family: test; + src: local(Nimbus Sans L), local(NimbusSansL-Regu), + local(Helvetica), local(Bitstream Vera Sans), + local(Arial), local(Liberation Sans), local(SwissA), + local(Fira Sans OT), local(Fira Sans), + local(Droid Sans), local(Roboto); +} +div { + font-family: test, serif; + margin: 10px; +} +</style> +</head> +<body> +<div style="font-family:serif"> +This serif font should NOT be used below. +</div> +<hr> +<div> +These three lines should all use the same font face. +</div> +<div> +This line should NOT be bold. +</div> +<div> +This line should NOT be italic. +</div> +</body> +</html> diff --git a/layout/reftests/font-face/local-styled-1.html b/layout/reftests/font-face/local-styled-1.html new file mode 100644 index 000000000..155fce870 --- /dev/null +++ b/layout/reftests/font-face/local-styled-1.html @@ -0,0 +1,52 @@ +<!DOCTYPE html> +<html> +<head> +<style type="text/css"> +@font-face { + font-family: test; + src: local(Nimbus Sans L), local(NimbusSansL-Regu), + local(Helvetica), local(Bitstream Vera Sans), + local(Arial), local(Liberation Sans), local(SwissA), + local(Fira Sans OT), local(Fira Sans), + local(Droid Sans), local(Roboto); +} +@font-face { + font-family: test; + font-style: italic; + src: local(Nimbus Sans L), local(NimbusSansL-Regu), + local(Helvetica), local(Bitstream Vera Sans), + local(Arial), local(Liberation Sans), local(SwissA), + local(Fira Sans OT), local(Fira Sans), + local(Droid Sans), local(Roboto); +} +@font-face { + font-family: test; + font-weight: bold; + src: local(Nimbus Sans L), local(NimbusSansL-Regu), + local(Helvetica), local(Bitstream Vera Sans), + local(Arial), local(Liberation Sans), local(SwissA), + local(Fira Sans OT), local(Fira Sans), + local(Droid Sans), local(Roboto); +} +div { + font-family: test, serif; + margin: 10px; +} +</style> +</head> +<body> +<div style="font-family:serif"> +This serif font should NOT be used below. +</div> +<hr> +<div> +These three lines should all use the same font face. +</div> +<div> +<b>This line should NOT be bold.</b> +</div> +<div> +<i>This line should NOT be italic.</i> +</div> +</body> +</html> diff --git a/layout/reftests/font-face/media-query-add-1-ref.html b/layout/reftests/font-face/media-query-add-1-ref.html new file mode 100644 index 000000000..e2fab2c08 --- /dev/null +++ b/layout/reftests/font-face/media-query-add-1-ref.html @@ -0,0 +1,23 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> +<html lang="en-US"> +<head> + <title></title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <style type="text/css"> + + @font-face { + font-family: "MarkA"; + src: url(../fonts/markA.ttf); + } + + body { font-family: "MarkA"; } + + </style> +</head> +<body> + +<p>ABC</p> + +</body> +</html> diff --git a/layout/reftests/font-face/media-query-add-1.html b/layout/reftests/font-face/media-query-add-1.html new file mode 100644 index 000000000..3371dff19 --- /dev/null +++ b/layout/reftests/font-face/media-query-add-1.html @@ -0,0 +1,27 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> +<html lang="en-US" class="reftest-wait"> +<head> + <title></title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <style type="text/css"> + + html, body, iframe { margin: 0; padding: 0; border: none; } + + </style> + <script type="application/ecmascript"> + + function run() { + var iframe = document.getElementsByTagName("iframe")[0] + iframe.contentWindow.arm(); + iframe.style.width = "300px"; + } + + </script> +</head> +<body onload="setTimeout(run, 20)"> + +<iframe style="height: 5em; width: 100px" src="media-query-inner-1.html"></iframe> + +</body> +</html> diff --git a/layout/reftests/font-face/media-query-inner-1.html b/layout/reftests/font-face/media-query-inner-1.html new file mode 100644 index 000000000..afaa6ba1a --- /dev/null +++ b/layout/reftests/font-face/media-query-inner-1.html @@ -0,0 +1,34 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> +<html lang="en-US"> +<head> + <title></title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <style type="text/css" media="(min-width: 200px)"> + + @font-face { + font-family: "MarkA"; + src: url(../fonts/markA.ttf); + } + + </style> + <style type="text/css"> + + body { font-family: "MarkA"; } + + </style> + <script type="application/ecmascript"> + + function arm() { + // The resize-detector iframe will remove the class attribute. + document.getElementsByTagName("iframe")[0].contentWindow.arm(); + } + + </script> +</head> +<body> + +<p style="position:relative; width: -moz-max-content">ABC<iframe style="visibility:hidden;position:absolute;height:100%;width:100%" src="resize-detector-iframe.html"></iframe></p> + +</body> +</html> diff --git a/layout/reftests/font-face/media-query-remove-1-ref.html b/layout/reftests/font-face/media-query-remove-1-ref.html new file mode 100644 index 000000000..7e6df9c92 --- /dev/null +++ b/layout/reftests/font-face/media-query-remove-1-ref.html @@ -0,0 +1,18 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> +<html lang="en-US"> +<head> + <title></title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <style type="text/css"> + + body { font-family: "MarkA"; } + + </style> +</head> +<body> + +<p>ABC</p> + +</body> +</html> diff --git a/layout/reftests/font-face/media-query-remove-1.html b/layout/reftests/font-face/media-query-remove-1.html new file mode 100644 index 000000000..bb1361ffc --- /dev/null +++ b/layout/reftests/font-face/media-query-remove-1.html @@ -0,0 +1,27 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> +<html lang="en-US" class="reftest-wait"> +<head> + <title></title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <style type="text/css"> + + html, body, iframe { margin: 0; padding: 0; border: none; } + + </style> + <script type="application/ecmascript"> + + function run() { + var iframe = document.getElementsByTagName("iframe")[0] + iframe.contentWindow.arm(); + iframe.style.width = "100px"; + } + + </script> +</head> +<body onload="setTimeout(run, 20)"> + +<iframe style="height: 5em; width: 300px" src="media-query-inner-1.html"></iframe> + +</body> +</html> diff --git a/layout/reftests/font-face/missing-names-ref.html b/layout/reftests/font-face/missing-names-ref.html new file mode 100644 index 000000000..be9cc9278 --- /dev/null +++ b/layout/reftests/font-face/missing-names-ref.html @@ -0,0 +1,32 @@ +<!DOCTYPE HTML> +<html> +<head> +<title>Missing name tests</title> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> + +<style type="text/css"> + +body { + margin: 50px; +} + +@font-face { font-family: markA-regular; src: url(../fonts/markA.ttf); } + +.markA-regular { font-family: markA-regular; } + +</style> + +<script type="text/javascript"> + +</script> + +</head> +<body> +<p>These lines should all be the same non-alphabetic character:</p> +<p class="markA-regular">A</p> +<p class="markA-regular">A</p> +<p class="markA-regular">A</p> +<p class="markA-regular">A</p> +<p class="markA-regular">A</p> +</body> +</html>
\ No newline at end of file diff --git a/layout/reftests/font-face/missing-names.html b/layout/reftests/font-face/missing-names.html new file mode 100644 index 000000000..9cc4a2ac7 --- /dev/null +++ b/layout/reftests/font-face/missing-names.html @@ -0,0 +1,40 @@ +<!DOCTYPE HTML> +<html> +<head> +<title>Missing name tests</title> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> + +<style type="text/css"> + +body { + margin: 50px; +} + +@font-face { font-family: markA-regular; src: url(../fonts/markA.ttf); } +@font-face { font-family: markA-nofamily; src: url(../fonts/markA-nofamily.ttf); } +@font-face { font-family: markA-nofullname; src: url(../fonts/markA-nofullname.ttf); } +@font-face { font-family: markA-nostyle; src: url(../fonts/markA-nostyle.ttf); } +@font-face { font-family: markA-noversion; src: url(../fonts/markA-noversion.ttf); } + +.markA-regular { font-family: markA-regular; } +.markA-nofamily { font-family: markA-nofamily; } +.markA-nofullname { font-family: markA-nofullname; } +.markA-noversion { font-family: markA-noversion; } +.markA-nostyle { font-family: markA-nostyle; } + +</style> + +<script type="text/javascript"> + +</script> + +</head> +<body> +<p>These lines should all be the same non-alphabetic character:</p> +<p class="markA-regular">A</p> +<p class="markA-nofamily">A</p> +<p class="markA-nofullname">A</p> +<p class="markA-nostyle">A</p> +<p class="markA-noversion">A</p> +</body> +</html>
\ No newline at end of file diff --git a/layout/reftests/font-face/multiple-descriptor-1-notref.html b/layout/reftests/font-face/multiple-descriptor-1-notref.html new file mode 100644 index 000000000..421007bd4 --- /dev/null +++ b/layout/reftests/font-face/multiple-descriptor-1-notref.html @@ -0,0 +1,14 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> +<html lang="en-US"> +<head> + <title></title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +</head> +<body> + +<p>ABC</p> +<p>ABC</p> + +</body> +</html> diff --git a/layout/reftests/font-face/multiple-descriptor-1-ref.html b/layout/reftests/font-face/multiple-descriptor-1-ref.html new file mode 100644 index 000000000..e0e423016 --- /dev/null +++ b/layout/reftests/font-face/multiple-descriptor-1-ref.html @@ -0,0 +1,24 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> +<html lang="en-US"> +<head> + <title></title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <style type="text/css"> + + /* The last descriptor in a given rule wins, per CSS 2.0 */ + + @font-face { + src: url(../fonts/markA.ttf); + font-family: "MarkA"; + } + + </style> +</head> +<body> + +<p>ABC</p> +<p style="font-family: MarkA">ABC</p> + +</body> +</html> diff --git a/layout/reftests/font-face/multiple-descriptor-1.html b/layout/reftests/font-face/multiple-descriptor-1.html new file mode 100644 index 000000000..0596026d9 --- /dev/null +++ b/layout/reftests/font-face/multiple-descriptor-1.html @@ -0,0 +1,26 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> +<html lang="en-US"> +<head> + <title></title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <style type="text/css"> + + /* The last descriptor in a given rule wins, per CSS 2.0 */ + + @font-face { + font-family: "One"; + src: url(../fonts/markB.ttf); + src: url(../fonts/markA.ttf); + font-family: "Two"; + } + + </style> +</head> +<body> + +<p style="font-family: One">ABC</p> +<p style="font-family: Two">ABC</p> + +</body> +</html> diff --git a/layout/reftests/font-face/multiple-in-family-1-notref.html b/layout/reftests/font-face/multiple-in-family-1-notref.html new file mode 100644 index 000000000..ec5e8f4da --- /dev/null +++ b/layout/reftests/font-face/multiple-in-family-1-notref.html @@ -0,0 +1,26 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> +<html lang="en-US"> +<head> + <title></title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <style type="text/css"> + + @font-face { + font-family: "MarkA"; + src: url(../fonts/markA.ttf); + } + + body { font-family: "MarkA"; } + + </style> +</head> +<body> + +<p>ABC</p> +<p>A</p> +<p>B</p> +<p>C</p> + +</body> +</html> diff --git a/layout/reftests/font-face/multiple-in-family-1-ref.html b/layout/reftests/font-face/multiple-in-family-1-ref.html new file mode 100644 index 000000000..2e79e70d2 --- /dev/null +++ b/layout/reftests/font-face/multiple-in-family-1-ref.html @@ -0,0 +1,34 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> +<html lang="en-US"> +<head> + <title></title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <style type="text/css"> + + @font-face { + font-family: "MarkA"; + src: url(../fonts/markA.ttf); + } + + @font-face { + font-family: "MarkB"; + src: url(../fonts/markB.ttf); + } + + @font-face { + font-family: "MarkD"; + src: url(../fonts/markD.ttf); + } + + </style> +</head> +<body> + +<p style="font-family: MarkD">DDC</p> +<p style="font-family: MarkA">A</p> +<p style="font-family: MarkB">B</p> +<p style="font-family: MarkA">C</p> + +</body> +</html> diff --git a/layout/reftests/font-face/multiple-in-family-1.html b/layout/reftests/font-face/multiple-in-family-1.html new file mode 100644 index 000000000..0bc5bc8d0 --- /dev/null +++ b/layout/reftests/font-face/multiple-in-family-1.html @@ -0,0 +1,31 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> +<html lang="en-US"> +<head> + <title></title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <style type="text/css"> + + @font-face { + font-family: "MarkA"; + src: url(../fonts/markA.ttf); + } + + @font-face { + font-family: "MarkB"; + src: url(../fonts/markB.ttf); + } + + body { font-family: "MarkA", "MarkB"; } + + </style> +</head> +<body> + +<p>ABC</p> +<p>A</p> +<p>B</p> +<p>C</p> + +</body> +</html> diff --git a/layout/reftests/font-face/multiple-in-family-1b.html b/layout/reftests/font-face/multiple-in-family-1b.html new file mode 100644 index 000000000..72dd13ebd --- /dev/null +++ b/layout/reftests/font-face/multiple-in-family-1b.html @@ -0,0 +1,33 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> +<html lang="en-US"> +<head> + <title></title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <style type="text/css"> + + /* This has the @font-face rules in the other order, in case that matters */ + + @font-face { + font-family: "MarkB"; + src: url(../fonts/markB.ttf); + } + + @font-face { + font-family: "MarkA"; + src: url(../fonts/markA.ttf); + } + + body { font-family: "MarkA", "MarkB"; } + + </style> +</head> +<body> + +<p>ABC</p> +<p>A</p> +<p>B</p> +<p>C</p> + +</body> +</html> diff --git a/layout/reftests/font-face/name-collision-bad-url-ref.html b/layout/reftests/font-face/name-collision-bad-url-ref.html new file mode 100644 index 000000000..b77bfc4f1 --- /dev/null +++ b/layout/reftests/font-face/name-collision-bad-url-ref.html @@ -0,0 +1,57 @@ +<!DOCTYPE HTML> +<html> +<head> +<title>Font name collision test</title> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> + +<!-- + Font family names in @font-face rules take precedence over locally-available font families, + so none of the names of commonly used platform fonts should match against locally available + fonts. +--> + +<style type="text/css"> + +@font-face { + font-family: fallback; + src: url(../fonts/mplus/mplus-1p-regular.ttf); +} + +body { + margin: 50px; + font-family: fallback; +} + +table { + margin-left: 3em; +} + +table td { + font-family: fallback; + font-size: 24pt; +} + +</style> + +</head> + +<body> + +<p>All text below should appear in the same "fallback" font face:</p> + +<table> +<tr class="sample"><td>Sample</td></tr> +<tr class="arial"><td>Arial</td></tr> +<tr class="timesnewroman"><td>Times New Roman</td></tr> +<tr class="couriernew"><td>Courier New</td></tr> +<tr class="futura"><td>Futura</td></tr> +<tr class="helvetica"><td>Helvetica</td></tr> +<tr class="times"><td>Times</td></tr> +<tr class="courier"><td>Courier</td></tr> +<tr class="bitstreamverasans"><td>Bitstream Vera Sans</td></tr> +<tr class="dejavusans"><td>DejaVu Sans</td></tr> +<tr class="freesans"><td>FreeSans</td></tr> +</table> + +</body> +</html> diff --git a/layout/reftests/font-face/name-collision-bad-url.html b/layout/reftests/font-face/name-collision-bad-url.html new file mode 100644 index 000000000..5fc31c1f5 --- /dev/null +++ b/layout/reftests/font-face/name-collision-bad-url.html @@ -0,0 +1,154 @@ +<!DOCTYPE HTML> +<html> +<head> +<title>Font name collision test</title> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> + +<!-- + Font family names in @font-face rules take precedence over locally-available font families, + so none of the names of commonly used platform fonts should match against locally available + fonts. +--> + +<style type="text/css"> + +@font-face { + font-family: fallback; + src: url(../fonts/mplus/mplus-1p-regular.ttf); +} + +body { + margin: 50px; + font-family: fallback; +} + +table { + margin-left: 3em; +} + +@font-face { + font-family: Sample; + src: url(../fonts/bogus-dir/bogus-font.ttf); + font-weight: 900; +} + +.sample { font-family: Sample, fallback; } + +/* Windows */ + +@font-face { + font-family: Arial; + src: url(../fonts/bogus-dir/bogus-font.ttf); + font-weight: 900; +} + +.arial { font-family: Arial, fallback; } + +@font-face { + font-family: Times New Roman; + src: url(../fonts/bogus-dir/bogus-font.ttf); + font-weight: 900; +} + +.timesnewroman { font-family: Times New Roman, fallback; } + +@font-face { + font-family: Courier New; + src: url(../fonts/bogus-dir/bogus-font.ttf); + font-weight: 900; +} + +.couriernew { font-family: Courier New, fallback; } + +/* Mac OS X */ + +@font-face { + font-family: Futura; + src: url(../fonts/bogus-dir/bogus-font.ttf); + font-weight: 900; +} + +.futura { font-family: Futura, fallback; } + +@font-face { + font-family: Helvetica; + src: url(../fonts/bogus-dir/bogus-font.ttf); + font-weight: 900; +} + +.helvetica { font-family: Helvetica, fallback; } + +@font-face { + font-family: Times; + src: url(../fonts/bogus-dir/bogus-font.ttf); + font-weight: 900; +} + +.times { font-family: Times, fallback; } + +@font-face { + font-family: Courier; + src: url(../fonts/bogus-dir/bogus-font.ttf); + font-weight: 900; +} + +.courier { font-family: Courier, fallback; } + +/* Linux */ + +@font-face { + font-family: Bitstream Vera Sans; + src: url(../fonts/bogus-dir/bogus-font.ttf); + font-weight: 900; +} + +.bitstreamverasans { font-family: Bitstream Vera Sans, fallback; } + +@font-face { + font-family: DejaVu Sans; + src: url(../fonts/bogus-dir/bogus-font.ttf); + font-weight: 900; +} + +.dejavusans { font-family: DejaVu Sans, fallback; } + +@font-face { + font-family: FreeSans; + src: url(../fonts/bogus-dir/bogus-font.ttf); + font-weight: 900; +} + +.freesans { font-family: FreeSans, fallback; } + +table { + font-family: Sample; +} + +table td { + font-size: 24pt; +} + +</style> + +</head> + +<body> + +<p>All text below should appear in the same "fallback" font face:</p> + +<table> +<tr class="sample"><td>Sample</td></tr> +<tr class="arial"><td>Arial</td></tr> +<tr class="timesnewroman"><td>Times New Roman</td></tr> +<tr class="couriernew"><td>Courier New</td></tr> +<tr class="futura"><td>Futura</td></tr> +<tr class="helvetica"><td>Helvetica</td></tr> +<tr class="times"><td>Times</td></tr> +<tr class="courier"><td>Courier</td></tr> +<tr class="bitstreamverasans"><td>Bitstream Vera Sans</td></tr> +<tr class="dejavusans"><td>DejaVu Sans</td></tr> +<tr class="freesans"><td>FreeSans</td></tr> +</table> + +</body> +</html> diff --git a/layout/reftests/font-face/name-collision-ref.html b/layout/reftests/font-face/name-collision-ref.html new file mode 100644 index 000000000..d5f5d4106 --- /dev/null +++ b/layout/reftests/font-face/name-collision-ref.html @@ -0,0 +1,68 @@ +<!DOCTYPE HTML> +<html> +<head> +<title>Font name collision test</title> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> + +<!-- + Font family names in @font-face rules take precedence over locally-available font families, + so none of the names of commonly used platform fonts should match against locally available + fonts. +--> + +<style type="text/css"> + +@font-face { + font-family: fallback; + src: url(../fonts/mplus/mplus-1p-regular.ttf); +} + +body { + margin: 50px; + font-family: fallback; +} + +table { + margin-left: 3em; +} + +@font-face { + font-family: Sample; + src: url(../fonts/mplus/mplus-1p-black.ttf); + font-weight: 900; +} + +.sample { font-family: Sample, fallback; } + +table { + font-family: Sample; +} + +table td { + font-size: 24pt; +} + +</style> + +</head> + +<body> + +<p>All text below should appear in the same extra bold font face:</p> + +<table> +<tr class="sample"><td>Sample</td></tr> +<tr class="arial"><td>Arial</td></tr> +<tr class="timesnewroman"><td>Times New Roman</td></tr> +<tr class="couriernew"><td>Courier New</td></tr> +<tr class="futura"><td>Futura</td></tr> +<tr class="helvetica"><td>Helvetica</td></tr> +<tr class="times"><td>Times</td></tr> +<tr class="courier"><td>Courier</td></tr> +<tr class="bitstreamverasans"><td>Bitstream Vera Sans</td></tr> +<tr class="dejavusans"><td>DejaVu Sans</td></tr> +<tr class="freesans"><td>FreeSans</td></tr> +</table> + +</body> +</html> diff --git a/layout/reftests/font-face/name-collision-with-prefs-font-ref.html b/layout/reftests/font-face/name-collision-with-prefs-font-ref.html new file mode 100644 index 000000000..b1d522f51 --- /dev/null +++ b/layout/reftests/font-face/name-collision-with-prefs-font-ref.html @@ -0,0 +1,29 @@ +<!DOCTYPE HTML> +<html> +<head> +<title>Bug 668758 - @font-face disrupts font preferences</title> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> + +<style type="text/css"> + +body { + margin: 50px; + font-family: serif; +} + +</style> + +</head> + +<body> + +<p> +This should be rendered using the default serif font. +</p> + +<pre> +And this is preformatted text that ought to be monospaced. +</pre> + +</body> +</html> diff --git a/layout/reftests/font-face/name-collision-with-prefs-font.html b/layout/reftests/font-face/name-collision-with-prefs-font.html new file mode 100644 index 000000000..0f90870de --- /dev/null +++ b/layout/reftests/font-face/name-collision-with-prefs-font.html @@ -0,0 +1,65 @@ +<!DOCTYPE HTML> +<html> +<head> +<title>Bug 668758 - @font-face disrupts font preferences</title> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> + +<style type="text/css"> + +/* none of these @font-face declarations should affect the rendering! */ +@font-face { + font-family: Times; + src: url(../fonts/mplus/mplus-1p-black.ttf); +} + +@font-face { + font-family: Times New Roman; + src: url(../fonts/mplus/mplus-1p-black.ttf); +} + +@font-face { + font-family: Tms Rmn; + src: url(../fonts/mplus/mplus-1p-black.ttf); +} + +@font-face { + font-family: Droid Serif; + src: url(../fonts/mplus/mplus-1p-black.ttf); +} + +@font-face { + font-family: Courier; + src: url(../fonts/mplus/mplus-1p-black.ttf); +} + +@font-face { + font-family: Courier New; + src: url(../fonts/mplus/mplus-1p-black.ttf); +} + +@font-face { + font-family: Droid Sans Mono; + src: url(../fonts/mplus/mplus-1p-black.ttf); +} + +body { + margin: 50px; + font-family: serif; +} + +</style> + +</head> + +<body> + +<p> +This should be rendered using the default serif font. +</p> + +<pre> +And this is preformatted text that ought to be monospaced. +</pre> + +</body> +</html> diff --git a/layout/reftests/font-face/name-collision.html b/layout/reftests/font-face/name-collision.html new file mode 100644 index 000000000..5bff99d43 --- /dev/null +++ b/layout/reftests/font-face/name-collision.html @@ -0,0 +1,154 @@ +<!DOCTYPE HTML> +<html> +<head> +<title>Font name collision test</title> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> + +<!-- + Font family names in @font-face rules take precedence over locally-available font families, + so none of the names of commonly used platform fonts should match against locally available + fonts. +--> + +<style type="text/css"> + +@font-face { + font-family: fallback; + src: url(../fonts/mplus/mplus-1p-regular.ttf); +} + +body { + margin: 50px; + font-family: fallback; +} + +table { + margin-left: 3em; +} + +@font-face { + font-family: Sample; + src: url(../fonts/mplus/mplus-1p-black.ttf); + font-weight: 900; +} + +.sample { font-family: Sample, fallback; } + +/* Windows */ + +@font-face { + font-family: Arial; + src: url(../fonts/mplus/mplus-1p-black.ttf); + font-weight: 900; +} + +.arial { font-family: Arial, fallback; } + +@font-face { + font-family: Times New Roman; + src: url(../fonts/mplus/mplus-1p-black.ttf); + font-weight: 900; +} + +.timesnewroman { font-family: Times New Roman, fallback; } + +@font-face { + font-family: Courier New; + src: url(../fonts/mplus/mplus-1p-black.ttf); + font-weight: 900; +} + +.couriernew { font-family: Courier New, fallback; } + +/* Mac OS X */ + +@font-face { + font-family: Futura; + src: url(../fonts/mplus/mplus-1p-black.ttf); + font-weight: 900; +} + +.futura { font-family: Futura, fallback; } + +@font-face { + font-family: Helvetica; + src: url(../fonts/mplus/mplus-1p-black.ttf); + font-weight: 900; +} + +.helvetica { font-family: Helvetica, fallback; } + +@font-face { + font-family: Times; + src: url(../fonts/mplus/mplus-1p-black.ttf); + font-weight: 900; +} + +.times { font-family: Times, fallback; } + +@font-face { + font-family: Courier; + src: url(../fonts/mplus/mplus-1p-black.ttf); + font-weight: 900; +} + +.courier { font-family: Courier, fallback; } + +/* Linux */ + +@font-face { + font-family: Bitstream Vera Sans; + src: url(../fonts/mplus/mplus-1p-black.ttf); + font-weight: 900; +} + +.bitstreamverasans { font-family: Bitstream Vera Sans, fallback; } + +@font-face { + font-family: DejaVu Sans; + src: url(../fonts/mplus/mplus-1p-black.ttf); + font-weight: 900; +} + +.dejavusans { font-family: DejaVu Sans, fallback; } + +@font-face { + font-family: FreeSans; + src: url(../fonts/mplus/mplus-1p-black.ttf); + font-weight: 900; +} + +.freesans { font-family: FreeSans, fallback; } + +table { + font-family: Sample; +} + +table td { + font-size: 24pt; +} + +</style> + +</head> + +<body> + +<p>All text below should appear in the same extra bold font face:</p> + +<table> +<tr class="sample"><td>Sample</td></tr> +<tr class="arial"><td>Arial</td></tr> +<tr class="timesnewroman"><td>Times New Roman</td></tr> +<tr class="couriernew"><td>Courier New</td></tr> +<tr class="futura"><td>Futura</td></tr> +<tr class="helvetica"><td>Helvetica</td></tr> +<tr class="times"><td>Times</td></tr> +<tr class="courier"><td>Courier</td></tr> +<tr class="bitstreamverasans"><td>Bitstream Vera Sans</td></tr> +<tr class="dejavusans"><td>DejaVu Sans</td></tr> +<tr class="freesans"><td>FreeSans</td></tr> +</table> + +</body> +</html> diff --git a/layout/reftests/font-face/name-override-1-ref.html b/layout/reftests/font-face/name-override-1-ref.html new file mode 100644 index 000000000..839132295 --- /dev/null +++ b/layout/reftests/font-face/name-override-1-ref.html @@ -0,0 +1,23 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> +<html lang="en-US"> +<head> + <title></title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <style type="text/css"> + + @font-face { + font-family: "MarkD"; + src: url(../fonts/markD.ttf); + } + + body { font-family: "MarkD"; } + + </style> +</head> +<body> + +<p>DBD</p> + +</body> +</html> diff --git a/layout/reftests/font-face/name-override-1.html b/layout/reftests/font-face/name-override-1.html new file mode 100644 index 000000000..3acdcc13e --- /dev/null +++ b/layout/reftests/font-face/name-override-1.html @@ -0,0 +1,23 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> +<html lang="en-US"> +<head> + <title></title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <style type="text/css"> + + @font-face { + font-family: "Foobar"; + src: url(../fonts/markA.ttf), url(../fonts/markC.ttf); + } + + body { font-family: "Foobar"; } + + </style> +</head> +<body> + +<p>ABC</p> + +</body> +</html> diff --git a/layout/reftests/font-face/name-override-simple-1-ref.html b/layout/reftests/font-face/name-override-simple-1-ref.html new file mode 100644 index 000000000..86828aa0d --- /dev/null +++ b/layout/reftests/font-face/name-override-simple-1-ref.html @@ -0,0 +1,23 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> +<html lang="en-US"> +<head> + <title></title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <style type="text/css"> + + @font-face { + font-family: "MarkD"; + src: url(../fonts/markD.ttf); + } + + body { font-family: "MarkD"; } + + </style> +</head> +<body> + +<p>ABD</p> + +</body> +</html> diff --git a/layout/reftests/font-face/name-override-simple-1.html b/layout/reftests/font-face/name-override-simple-1.html new file mode 100644 index 000000000..cddde019d --- /dev/null +++ b/layout/reftests/font-face/name-override-simple-1.html @@ -0,0 +1,23 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> +<html lang="en-US"> +<head> + <title></title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <style type="text/css"> + + @font-face { + font-family: "Foobar"; + src: url(../fonts/markC.ttf); + } + + body { font-family: "Foobar"; } + + </style> +</head> +<body> + +<p>ABC</p> + +</body> +</html> diff --git a/layout/reftests/font-face/order-1-ref.html b/layout/reftests/font-face/order-1-ref.html new file mode 100644 index 000000000..e2fab2c08 --- /dev/null +++ b/layout/reftests/font-face/order-1-ref.html @@ -0,0 +1,23 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> +<html lang="en-US"> +<head> + <title></title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <style type="text/css"> + + @font-face { + font-family: "MarkA"; + src: url(../fonts/markA.ttf); + } + + body { font-family: "MarkA"; } + + </style> +</head> +<body> + +<p>ABC</p> + +</body> +</html> diff --git a/layout/reftests/font-face/order-1.html b/layout/reftests/font-face/order-1.html new file mode 100644 index 000000000..cca7d18b7 --- /dev/null +++ b/layout/reftests/font-face/order-1.html @@ -0,0 +1,28 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> +<html lang="en-US"> +<head> + <title></title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <style type="text/css"> + + @font-face { + font-family: "One"; + src: url(../fonts/mark2A.ttf); + } + + @font-face { + font-family: "One"; + src: url(../fonts/markA.ttf); + } + + body { font-family: "One"; } + + </style> +</head> +<body> + +<p>ABC</p> + +</body> +</html> diff --git a/layout/reftests/font-face/order-2-ref.html b/layout/reftests/font-face/order-2-ref.html new file mode 100644 index 000000000..704a12014 --- /dev/null +++ b/layout/reftests/font-face/order-2-ref.html @@ -0,0 +1,28 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> +<html lang="en-US"> +<head> + <title></title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <style type="text/css"> + + @font-face { + font-family: "MarkD"; + src: url(../fonts/markD.ttf); + } + + @font-face { + font-family: "Mark2A"; + src: url(../fonts/mark2A.ttf); + } + + body { font-family: "MarkD", "Mark2A"; } + + </style> +</head> +<body> + +<p>DAC</p> + +</body> +</html> diff --git a/layout/reftests/font-face/order-2.html b/layout/reftests/font-face/order-2.html new file mode 100644 index 000000000..b6e6ddbb8 --- /dev/null +++ b/layout/reftests/font-face/order-2.html @@ -0,0 +1,38 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> +<html lang="en-US"> +<head> + <title></title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <style type="text/css"> + + @font-face { + font-family: "One"; + src: url(../fonts/markB.ttf); + } + + @font-face { + font-family: "One"; + src: url(../fonts/mark2B.ttf); + } + + @font-face { + font-family: "One"; + src: url(../fonts/mark2A.ttf); + } + + @font-face { + font-family: "One"; + src: url(../fonts/markA.ttf); + } + + body { font-family: "One"; } + + </style> +</head> +<body> + +<p>ABC</p> + +</body> +</html> diff --git a/layout/reftests/font-face/order-3-ref.html b/layout/reftests/font-face/order-3-ref.html new file mode 100644 index 000000000..704a12014 --- /dev/null +++ b/layout/reftests/font-face/order-3-ref.html @@ -0,0 +1,28 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> +<html lang="en-US"> +<head> + <title></title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <style type="text/css"> + + @font-face { + font-family: "MarkD"; + src: url(../fonts/markD.ttf); + } + + @font-face { + font-family: "Mark2A"; + src: url(../fonts/mark2A.ttf); + } + + body { font-family: "MarkD", "Mark2A"; } + + </style> +</head> +<body> + +<p>DAC</p> + +</body> +</html> diff --git a/layout/reftests/font-face/order-3.html b/layout/reftests/font-face/order-3.html new file mode 100644 index 000000000..e481792da --- /dev/null +++ b/layout/reftests/font-face/order-3.html @@ -0,0 +1,38 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> +<html lang="en-US"> +<head> + <title></title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <style type="text/css"> + + @font-face { + font-family: "One"; + src: url(../fonts/markB.ttf); + } + + @font-face { + font-family: "One"; + src: url(../fonts/mark2A.ttf); + } + + @font-face { + font-family: "One"; + src: url(../fonts/mark2B.ttf); + } + + @font-face { + font-family: "One"; + src: url(../fonts/markA.ttf); + } + + body { font-family: "One"; } + + </style> +</head> +<body> + +<p>ABC</p> + +</body> +</html> diff --git a/layout/reftests/font-face/prop-order-over-rule-order-1a.html b/layout/reftests/font-face/prop-order-over-rule-order-1a.html new file mode 100644 index 000000000..9b92535e2 --- /dev/null +++ b/layout/reftests/font-face/prop-order-over-rule-order-1a.html @@ -0,0 +1,28 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> +<html lang="en-US"> +<head> + <title></title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <style type="text/css"> + + @font-face { + font-family: "MarkA"; + src: url(../fonts/markA.ttf); + } + + @font-face { + font-family: "Mark2A"; + src: url(../fonts/mark2A.ttf); + } + + body { font-family: "MarkA", "Mark2A"; } + + </style> +</head> +<body> + +<p>ABC</p> + +</body> +</html> diff --git a/layout/reftests/font-face/prop-order-over-rule-order-1b.html b/layout/reftests/font-face/prop-order-over-rule-order-1b.html new file mode 100644 index 000000000..2d3c8d34e --- /dev/null +++ b/layout/reftests/font-face/prop-order-over-rule-order-1b.html @@ -0,0 +1,28 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> +<html lang="en-US"> +<head> + <title></title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <style type="text/css"> + + @font-face { + font-family: "MarkA"; + src: url(../fonts/markA.ttf); + } + + @font-face { + font-family: "Mark2A"; + src: url(../fonts/mark2A.ttf); + } + + body { font-family: "Mark2A", "MarkA"; } + + </style> +</head> +<body> + +<p>ABC</p> + +</body> +</html> diff --git a/layout/reftests/font-face/prop-order-over-rule-order-2a.html b/layout/reftests/font-face/prop-order-over-rule-order-2a.html new file mode 100644 index 000000000..e29584478 --- /dev/null +++ b/layout/reftests/font-face/prop-order-over-rule-order-2a.html @@ -0,0 +1,28 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> +<html lang="en-US"> +<head> + <title></title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <style type="text/css"> + + @font-face { + font-family: "Mark2A"; + src: url(../fonts/mark2A.ttf); + } + + @font-face { + font-family: "MarkA"; + src: url(../fonts/markA.ttf); + } + + body { font-family: "MarkA", "Mark2A"; } + + </style> +</head> +<body> + +<p>ABC</p> + +</body> +</html> diff --git a/layout/reftests/font-face/prop-order-over-rule-order-2b.html b/layout/reftests/font-face/prop-order-over-rule-order-2b.html new file mode 100644 index 000000000..6e44aae59 --- /dev/null +++ b/layout/reftests/font-face/prop-order-over-rule-order-2b.html @@ -0,0 +1,28 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> +<html lang="en-US"> +<head> + <title></title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <style type="text/css"> + + @font-face { + font-family: "Mark2A"; + src: url(../fonts/mark2A.ttf); + } + + @font-face { + font-family: "MarkA"; + src: url(../fonts/markA.ttf); + } + + body { font-family: "Mark2A", "MarkA"; } + + </style> +</head> +<body> + +<p>ABC</p> + +</body> +</html> diff --git a/layout/reftests/font-face/reflow-sanity-1-data.html b/layout/reftests/font-face/reflow-sanity-1-data.html new file mode 100644 index 000000000..84e4b3b31 --- /dev/null +++ b/layout/reftests/font-face/reflow-sanity-1-data.html @@ -0,0 +1,54 @@ +<!DOCTYPE html> +<html> +<head> +<title>test @font-face reflow sanity</title> +<meta charset="utf-8"> +<style> +body { margin: 20px } + +@font-face { + font-family: reflow1data; + src: url(data:font/opentype;base64,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); +} + +@font-face { + font-family: reflow1data; + src: url(data:font/opentype;base64,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); + font-weight: bold; +} + +@font-face { + font-family: reflow1data; + src: url(data:font/opentype;base64,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); + font-style: italic; +} + +@font-face { + font-family: reflow1data; + src: url(data:font/opentype;base64,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); + font-weight: bold; + font-style: italic; +} + +div#test { + font-family: reflow1data; + font-size: 400%; + line-height: 1em; +} + +div#test p { + margin: 0; + display: inline-block; +} +</style> +</head> + +<body> +<div id=test> +<p>A</p> +<p style="font-weight: bold">B</p> +<p style="font-style: italic">C</p> +<p style="font-style: italic; font-weight: bold">D</p> +</div> +</body> +</html> diff --git a/layout/reftests/font-face/reflow-sanity-1-ref.html b/layout/reftests/font-face/reflow-sanity-1-ref.html new file mode 100644 index 000000000..c173a519b --- /dev/null +++ b/layout/reftests/font-face/reflow-sanity-1-ref.html @@ -0,0 +1,35 @@ +<!DOCTYPE html> +<html> +<head> +<title>test @font-face reflow sanity</title> +<meta charset="utf-8"> +<style> +body { margin: 20px } + +@font-face { + font-family: reflow1ref; + src: url(../fonts/markA.ttf); +} + +div#test { + font-family: reflow1ref; + font-size: 400%; + line-height: 1em; +} + +div#test p { + margin: 0; + display: inline-block; +} +</style> +</head> + +<body> +<div id=test> +<p>A</p> +<p>A</p> +<p>A</p> +<p>A</p> +</div> +</body> +</html> diff --git a/layout/reftests/font-face/reflow-sanity-1.html b/layout/reftests/font-face/reflow-sanity-1.html new file mode 100644 index 000000000..2206483f3 --- /dev/null +++ b/layout/reftests/font-face/reflow-sanity-1.html @@ -0,0 +1,54 @@ +<!DOCTYPE html> +<html> +<head> +<title>test @font-face reflow sanity</title> +<meta charset="utf-8"> +<style> +body { margin: 20px } + +@font-face { + font-family: reflow1; + src: url(../fonts/markA.ttf); +} + +@font-face { + font-family: reflow1; + src: url(../fonts/markB.ttf); + font-weight: bold; +} + +@font-face { + font-family: reflow1; + src: url(../fonts/markC.ttf); + font-style: italic; +} + +@font-face { + font-family: reflow1; + src: url(../fonts/markD.ttf); + font-weight: bold; + font-style: italic; +} + +div#test { + font-family: reflow1; + font-size: 400%; + line-height: 1em; +} + +div#test p { + margin: 0; + display: inline-block; +} +</style> +</head> + +<body> +<div id=test> +<p>A</p> +<p style="font-weight: bold">B</p> +<p style="font-style: italic">C</p> +<p style="font-style: italic; font-weight: bold">D</p> +</div> +</body> +</html> diff --git a/layout/reftests/font-face/reflow-sanity-delay-1-metrics.html b/layout/reftests/font-face/reflow-sanity-delay-1-metrics.html new file mode 100644 index 000000000..0ea0d8895 --- /dev/null +++ b/layout/reftests/font-face/reflow-sanity-delay-1-metrics.html @@ -0,0 +1,54 @@ +<!DOCTYPE html> +<html> +<head> +<title>test @font-face reflow sanity</title> +<meta charset="utf-8"> +<style> +body { margin: 20px } + +@font-face { + font-family: reflow1metrics; + src: url(../fonts/markfonts-delay.sjs?font=markA&delay=2500&test=delay-1-metrics); +} + +@font-face { + font-family: reflow1metrics; + src: url(../fonts/markfonts-delay.sjs?font=markB&delay=2200&test=delay-1-metrics); + font-weight: bold; +} + +@font-face { + font-family: reflow1metrics; + src: url(../fonts/markfonts-delay.sjs?font=markC&delay=200&test=delay-1-metrics); + font-style: italic; +} + +@font-face { + font-family: reflow1metrics; + src: url(../fonts/markfonts-delay.sjs?font=markD&delay=900&test=delay-1-metrics); + font-weight: bold; + font-style: italic; +} + +div#test { + font-family: reflow1metrics; + font-size: 400%; + line-height: 1em; +} + +div#test p { + margin: 0; + display: inline-block; +} +</style> +</head> + +<body> +<div id=test> +<p style="font-family: reflow1metrics, cursive;">A</p> +<p style="font-family: reflow1metrics, fantasy; font-weight: bold">B</p> +<p style="font-family: reflow1metrics, monospace; font-style: italic">C</p> +<p style="font-family: reflow1metrics, sans-serif; font-style: italic; font-weight: bold">D</p> +</div> +</body> +</html> diff --git a/layout/reftests/font-face/reflow-sanity-delay-1a.html b/layout/reftests/font-face/reflow-sanity-delay-1a.html new file mode 100644 index 000000000..741a14a76 --- /dev/null +++ b/layout/reftests/font-face/reflow-sanity-delay-1a.html @@ -0,0 +1,54 @@ +<!DOCTYPE html> +<html> +<head> +<title>test @font-face reflow sanity</title> +<meta charset="utf-8"> +<style> +body { margin: 20px } + +@font-face { + font-family: reflow1a; + src: url(../fonts/markfonts-delay.sjs?font=markA&delay=100&test=delay-1a); +} + +@font-face { + font-family: reflow1a; + src: url(../fonts/markfonts-delay.sjs?font=markB&delay=1000&test=delay-1a); + font-weight: bold; +} + +@font-face { + font-family: reflow1a; + src: url(../fonts/markfonts-delay.sjs?font=markC&delay=1500&test=delay-1a); + font-style: italic; +} + +@font-face { + font-family: reflow1a; + src: url(../fonts/markfonts-delay.sjs?font=markD&delay=2000&test=delay-1a); + font-weight: bold; + font-style: italic; +} + +div#test { + font-family: reflow1a; + font-size: 400%; + line-height: 1em; +} + +div#test p { + margin: 0; + display: inline-block; +} +</style> +</head> + +<body> +<div id=test> +<p>A</p> +<p style="font-weight: bold">B</p> +<p style="font-style: italic">C</p> +<p style="font-style: italic; font-weight: bold">D</p> +</div> +</body> +</html> diff --git a/layout/reftests/font-face/reflow-sanity-delay-1b.html b/layout/reftests/font-face/reflow-sanity-delay-1b.html new file mode 100644 index 000000000..f49250c34 --- /dev/null +++ b/layout/reftests/font-face/reflow-sanity-delay-1b.html @@ -0,0 +1,54 @@ +<!DOCTYPE html> +<html> +<head> +<title>test @font-face reflow sanity</title> +<meta charset="utf-8"> +<style> +body { margin: 20px } + +@font-face { + font-family: reflow1b; + src: url(../fonts/markfonts-delay.sjs?font=markA&delay=2500&test=delay-1b); +} + +@font-face { + font-family: reflow1b; + src: url(../fonts/markfonts-delay.sjs?font=markB&delay=500&test=delay-1b); + font-weight: bold; +} + +@font-face { + font-family: reflow1b; + src: url(../fonts/markfonts-delay.sjs?font=markC&delay=1100&test=delay-1b); + font-style: italic; +} + +@font-face { + font-family: reflow1b; + src: url(../fonts/markfonts-delay.sjs?font=markD&delay=100&test=delay-1b); + font-weight: bold; + font-style: italic; +} + +div#test { + font-family: reflow1b; + font-size: 400%; + line-height: 1em; +} + +div#test p { + margin: 0; + display: inline-block; +} +</style> +</head> + +<body> +<div id=test> +<p>A</p> +<p style="font-weight: bold">B</p> +<p style="font-style: italic">C</p> +<p style="font-style: italic; font-weight: bold">D</p> +</div> +</body> +</html> diff --git a/layout/reftests/font-face/reflow-sanity-delay-1c.html b/layout/reftests/font-face/reflow-sanity-delay-1c.html new file mode 100644 index 000000000..dd5e10208 --- /dev/null +++ b/layout/reftests/font-face/reflow-sanity-delay-1c.html @@ -0,0 +1,54 @@ +<!DOCTYPE html> +<html> +<head> +<title>test @font-face reflow sanity</title> +<meta charset="utf-8"> +<style> +body { margin: 20px } + +@font-face { + font-family: markA; + src: url(../fonts/markfonts-delay.sjs?font=markA&delay=2500&test=delay-1c); +} + +@font-face { + font-family: markB; + src: url(../fonts/markfonts-delay.sjs?font=markB&delay=500&test=delay-1c); + font-weight: bold; +} + +@font-face { + font-family: markC; + src: url(../fonts/markfonts-delay.sjs?font=markC&delay=1100&test=delay-1c); + font-style: italic; +} + +@font-face { + font-family: markD; + src: url(../fonts/markfonts-delay.sjs?font=markD&delay=100&test=delay-1c); + font-weight: bold; + font-style: italic; +} + +div#test { + font-family: markA; + font-size: 400%; + line-height: 1em; +} + +div#test p { + margin: 0; + display: inline-block; +} +</style> +</head> + +<body> +<div id=test> +<p style="font-family: marka, markb, markc, markd;">A</p> +<p style="font-family: marka, markb, markc, markd; font-weight: bold">B</p> +<p style="font-family: marka, markb, markc, markd; font-style: italic">C</p> +<p style="font-family: marka, markb, markc, markd; font-style: italic; font-weight: bold">D</p> +</div> +</body> +</html> diff --git a/layout/reftests/font-face/reftest-stylo.list b/layout/reftests/font-face/reftest-stylo.list new file mode 100644 index 000000000..2f417856a --- /dev/null +++ b/layout/reftests/font-face/reftest-stylo.list @@ -0,0 +1,235 @@ +# DO NOT EDIT! This is a auto-generated temporary list for Stylo testing +# Tests using downloaded fonts use HTTP(..) because they use fonts in +# ../fonts/. We can't use file:/// URLs because of cross-directory access +# restrictions on file: URLs. + +HTTP(..) == download-1.html download-1.html +HTTP(..) == download-2.html download-2.html +HTTP(..) == download-2.html download-2.html +random-if(winWidget) HTTP(..) == download-2-big.html download-2-big.html +# bug 470713 +HTTP(..) == download-2-big-otf.html download-2-big-otf.html +asserts-if(Android&&!asyncPan,1-8) HTTP(..) == download-3-notref.html download-3-notref.html +# bug 1019192 +asserts-if(Android,0-8) HTTP(..) == download-3-ref.html download-3-ref.html +# same bugs as above +asserts-if(Android,0-8) HTTP(..) == fallback-to-system-1.html fallback-to-system-1.html +# just delayed assertions from above tests +HTTP(..) == name-override-simple-1.html name-override-simple-1.html +HTTP(..) == name-override-simple-1.html name-override-simple-1.html +HTTP(..) == name-override-1.html name-override-1.html +HTTP(..) == multiple-descriptor-1.html multiple-descriptor-1.html +HTTP(..) == multiple-descriptor-1.html multiple-descriptor-1.html +skip HTTP(..) == src-list-1.html src-list-1.html +HTTP(..) == src-list-2.html src-list-2.html +random-if(winWidget) HTTP(..) == src-list-2-big-otf.html src-list-2-big-otf.html +# bug 470713 +skip-if(B2G||Mulet) HTTP(..) == src-list-format-1.html src-list-format-1.html +# bug 773482 +# Initial mulet triage: parity with B2G/B2G Desktop +HTTP(..) == src-list-format-2.html src-list-format-2.html +HTTP(..) == src-list-format-3.html src-list-format-3.html +HTTP(..) == src-list-format-4.html src-list-format-4.html +HTTP(..) == src-list-format-5.html src-list-format-5.html +HTTP(..) == src-list-format-6.html src-list-format-6.html +# assumes AAT fonts are only supported on MacOS +skip-if(B2G||Mulet) random-if(cocoaWidget) HTTP(..) == src-list-format-7.html src-list-format-7.html +# Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) random-if(!cocoaWidget) HTTP(..) == src-list-format-7.html src-list-format-7.html +# Initial mulet triage: parity with B2G/B2G Desktop +fails-if(Android||B2G) == src-list-local-full.html src-list-local-full.html +# bug 773482 +fails-if(Android||B2G) == src-list-local-full-quotes.html src-list-local-full-quotes.html +# bug 773482 +skip-if(B2G||Mulet) HTTP(..) == src-list-local-fallback.html src-list-local-fallback.html +# Initial mulet triage: parity with B2G/B2G Desktop + +# data url tests (these don't need the HTTP server) +== src-list-data-1.html src-list-data-1.html +== src-list-data-2.html src-list-data-2.html +== src-list-data-3.html src-list-data-3.html +== src-list-data-4.html src-list-data-4.html + +# load with data url vs. font data load +skip-if(B2G||Mulet) HTTP(..) == src-list-actual-font-ref.html src-list-actual-font-ref.html +# bug 773482 +# Initial mulet triage: parity with B2G/B2G Desktop + +# localized full fontnames should *not* match, only English ones (need locale-invariant key) +skip HTTP(..) == src-list-local-localized.html src-list-local-localized.html +# 486787, 486497 + +# postscript name lookup +# fontconfig only supports postscript name lookup from 2.10.92, Android/B2G not supported +skip-if(B2G||Mulet) fails-if(Android) random-if(gtkWidget) == src-list-local-ps.html src-list-local-ps.html +# bug 773482 +# Mac-specific test of 100 weight faces +random-if(!cocoaWidget) == helveticaneue-ultra.html helveticaneue-ultra.html + +HTTP(..) == order-1.html order-1.html +HTTP(..) == order-2.html order-2.html +HTTP(..) == order-3.html order-3.html +HTTP(..) == multiple-in-family-1.html multiple-in-family-1.html +HTTP(..) == multiple-in-family-1b.html multiple-in-family-1b.html +HTTP(..) == multiple-in-family-1.html multiple-in-family-1.html +HTTP(..) == prop-order-over-rule-order-1a.html prop-order-over-rule-order-1a.html +HTTP(..) == prop-order-over-rule-order-1b.html prop-order-over-rule-order-1b.html +HTTP(..) == prop-order-over-rule-order-1a.html prop-order-over-rule-order-1a.html +skip-if(B2G||Mulet) HTTP(..) == cross-iframe-1.html cross-iframe-1.html +# bug 773482 +# Initial mulet triage: parity with B2G/B2G Desktop + +# unicode-range +HTTP(..) == unicoderange-1.html unicoderange-1.html +HTTP(..) == unicoderange-2.html unicoderange-2.html +HTTP(..) == unicoderange-3.html unicoderange-3.html +HTTP(..) == unicoderange-4.html unicoderange-4.html + +# Dynamic changes +# we need to skip these because of the bug that's causing order-2.html to fail +skip == enable-sheet-1.html enable-sheet-1.html +skip == enable-sheet-2.html enable-sheet-2.html +skip == enable-sheet-3.html enable-sheet-3.html +skip == enable-sheet-4.html enable-sheet-4.html +skip == enable-sheet-5.html enable-sheet-5.html +skip == enable-sheet-6.html enable-sheet-6.html +skip == enable-sheet-7.html enable-sheet-7.html +skip == disable-sheet-1.html disable-sheet-1.html +# bug 773482 +# Initial mulet triage: parity with B2G/B2G Desktop +# We're missing disable-sheet-{2,3,6,7} (analogs to +# enable-sheet{2,3,6,7}) because I don't know how to detect test +# completion for those cases. +skip == disable-sheet-4.html disable-sheet-4.html +skip == disable-sheet-5.html disable-sheet-5.html +skip-if(B2G||Mulet) HTTP(..) == sheet-set-base-1.html sheet-set-base-1.html +# bug 773482 +# Initial mulet triage: parity with B2G/B2G Desktop +skip == sheet-set-switch-1.html sheet-set-switch-1.html +# bug 468217 +skip == insert-rule-1a.html insert-rule-1a.html +skip == insert-rule-1b.html insert-rule-1b.html +skip == delete-rule-1.html delete-rule-1.html +# bug 773482 +# Initial mulet triage: parity with B2G/B2G Desktop +skip == media-query-add-1.html media-query-add-1.html +skip == media-query-remove-1.html media-query-remove-1.html +skip == media-query-add-1-ref.html media-query-add-1-ref.html + +HTTP(..) == ahem-metrics-1.html ahem-metrics-1.html +HTTP(..) == ex-unit-1.html ex-unit-1.html +HTTP(..) == ex-unit-1-dynamic.html ex-unit-1-dynamic.html + +== local-1.html local-1.html +== local-styled-1.html local-styled-1.html + +skip-if(B2G||Mulet) HTTP(..) == synthetic-weight-style.html synthetic-weight-style.html +# bug 773482 +# Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) HTTP(..) == synthetic-variations.html synthetic-variations.html +# Initial mulet triage: parity with B2G/B2G Desktop + +# Leak test +skip HTTP(..) load 486974-1.html + +# compare fonts with and without bad head checksum +HTTP(..) == load-badchecksum.html load-badchecksum.html + +# @font-face names take precedence over names of platform fonts (bug 494360) +skip-if(B2G||Mulet) HTTP(..) == name-collision.html name-collision.html +# bug 773482 +# Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) HTTP(..) == name-collision-bad-url.html name-collision-bad-url.html +# bug 773482 +# Initial mulet triage: parity with B2G/B2G Desktop + +HTTP(..) == name-collision-with-prefs-font.html name-collision-with-prefs-font.html +# bug 668758 +HTTP(..) == load-badfullname.html load-badfullname.html + +# 507960-1-* : a collection of tests using DeLarge from openfontlibrary.org +# check that the original DeLarge face (ttf) loads; if this fails, +# none of the following tests are meaningful +HTTP(..) == 507960-1-nofont.html 507960-1-nofont.html +# check that the WOFF version loads, with and without a format hint +HTTP(..) == 507960-1-woff.html 507960-1-woff.html +HTTP(..) == 507960-1-woff-hint.html 507960-1-woff-hint.html +# try damaged fonts that should still load (bad checksums) +HTTP(..) == 507960-1-bad-checksums-ttf.html 507960-1-bad-checksums-ttf.html +HTTP(..) == 507960-1-bad-checksums-woff.html 507960-1-bad-checksums-woff.html +# try versions that should NOT load (bad offsets, signatures, hint) +HTTP(..) == 507960-1-bad-sfnt-version-ttf.html 507960-1-bad-sfnt-version-ttf.html +HTTP(..) == 507960-1-bad-sfnt-version-woff.html 507960-1-bad-sfnt-version-woff.html +skip-if(B2G||Mulet) HTTP(..) == 507960-1-bad-woff-sig.html 507960-1-bad-woff-sig.html +# Initial mulet triage: parity with B2G/B2G Desktop +HTTP(..) == 507960-1-bad-offset-woff.html 507960-1-bad-offset-woff.html +HTTP(..) == 507960-1-woff-bad-hint.html 507960-1-woff-bad-hint.html + +# Tests for bug 523717 +HTTP(..) == underline-offset-change-1.html underline-offset-change-1.html +skip == underline-offset-change-2.html underline-offset-change-2.html +fails-if(cocoaWidget) fails-if(winWidget) HTTP(..) == underline-offset-change-1-ref.html underline-offset-change-1-ref.html +# Bug 534132 + +HTTP(..) == 534352-1-extra-cmap-sentinel.html 534352-1-extra-cmap-sentinel.html +HTTP(..) == bug533251.html bug533251.html + +# Bug 875287 +HTTP(..) == font-familiy-whitespace-1.html font-familiy-whitespace-1.html +HTTP(..) == font-familiy-whitespace-1.html font-familiy-whitespace-1.html + +skip-if(B2G||Mulet||Android) HTTP(..) == ivs-1.html ivs-1.html +# bug 773482 +# Initial mulet triage: parity with B2G/B2G Desktop +# Android bug 1250229 +skip-if(B2G||Mulet||Android) HTTP(..) == cjkcisvs-1.html cjkcisvs-1.html +# Initial mulet triage: parity with B2G/B2G Desktop +# Android bug 1250229 + +skip-if(B2G||Mulet) HTTP(..) == missing-names.html missing-names.html +# bug 773482 +# Initial mulet triage: parity with B2G/B2G Desktop + +# Tests for bug 670900 - handling of 404 (not found) error in @font-face URL +# (using Chunkfive font data returned from a .sjs file) +HTTP(..) == font-error-404-1.html font-error-404-1.html +# HTTP status 404, don't load +skip-if(B2G||Mulet) HTTP(..) == font-error-404-2.html font-error-404-2.html +# HTTP status 200, load +# bug 773482 +# Initial mulet triage: parity with B2G/B2G Desktop +HTTP(..) == font-error-404-1.html font-error-404-1.html +# sanity-check that the results differ + +# Font load redirection +HTTP(..) == font-redirect.html font-redirect.html + +# Tests for potential regressions from bug 879963 +== dynamic-duplicate-rule-1a.html dynamic-duplicate-rule-1a.html +== dynamic-duplicate-rule-1b.html dynamic-duplicate-rule-1b.html +== dynamic-duplicate-rule-1c.html dynamic-duplicate-rule-1c.html + +# Test for COLR and CPAL support +HTTP(..) == color-1a.html color-1a.html +HTTP(..) == color-1a.html color-1a.html +HTTP(..) == color-1b.html color-1b.html +HTTP(..) == color-2a.html color-2a.html +HTTP(..) == color-2a.html color-2a.html + +pref(gfx.downloadable_fonts.woff2.enabled,true) HTTP(..) == woff2-1.html woff2-1.html + +# sanity tests for reflow behavior with downloadable fonts +HTTP(..) == reflow-sanity-1.html reflow-sanity-1.html +HTTP(..) == reflow-sanity-1-data.html reflow-sanity-1-data.html +HTTP(..) == reflow-sanity-1.html reflow-sanity-1.html +HTTP(..) == reflow-sanity-delay-1a.html reflow-sanity-delay-1a.html +HTTP(..) == reflow-sanity-delay-1b.html reflow-sanity-delay-1b.html +HTTP(..) == reflow-sanity-delay-1c.html reflow-sanity-delay-1c.html +HTTP(..) == reflow-sanity-delay-1-metrics.html reflow-sanity-delay-1-metrics.html + +# font-display +pref(layout.css.font-display.enabled,true) HTTP(..) == font-display-1.html font-display-1.html +# normal font load (~500ms) +pref(layout.css.font-display.enabled,true) fuzzy-if(OSX==1010,3,5) HTTP(..) == font-display-2.html font-display-2.html +# font load takes 4500ms + diff --git a/layout/reftests/font-face/reftest.list b/layout/reftests/font-face/reftest.list new file mode 100644 index 000000000..f7d9eb87c --- /dev/null +++ b/layout/reftests/font-face/reftest.list @@ -0,0 +1,186 @@ +# Tests using downloaded fonts use HTTP(..) because they use fonts in +# ../fonts/. We can't use file:/// URLs because of cross-directory access +# restrictions on file: URLs. + +HTTP(..) != download-1.html download-1-notref.html +HTTP(..) == download-2.html download-2-ref.html +HTTP(..) != download-2.html about:blank +random-if(winWidget||gtkWidget) HTTP(..) == download-2-big.html download-2-big-otf.html # bug 470713 +HTTP(..) != download-2-big-otf.html about:blank +asserts-if(Android&&!asyncPan,1-8) HTTP(..) != download-3-notref.html download-3.html # bug 1019192 +asserts-if(Android,0-8) HTTP(..) == download-3-ref.html download-3.html # same bugs as above +asserts-if(Android,0-8) HTTP(..) == fallback-to-system-1.html fallback-to-system-1-ref.html # just delayed assertions from above tests +HTTP(..) == name-override-simple-1.html name-override-simple-1-ref.html +HTTP(..) != name-override-simple-1.html download-1-notref.html +fails HTTP(..) == name-override-1.html name-override-1-ref.html +HTTP(..) == multiple-descriptor-1.html multiple-descriptor-1-ref.html +HTTP(..) != multiple-descriptor-1.html multiple-descriptor-1-notref.html +HTTP(..) == src-list-1.html src-list-1-ref.html +HTTP(..) == src-list-2.html src-list-2-ref.html +random-if(winWidget||gtkWidget) HTTP(..) == src-list-2-big-otf.html src-list-2-big-ref.html # bug 470713 +HTTP(..) == src-list-format-1.html src-list-format-1-ref.html +HTTP(..) == src-list-format-2.html src-list-format-2-ref.html +HTTP(..) == src-list-format-3.html src-list-format-3-ref.html +HTTP(..) == src-list-format-4.html src-list-format-1-ref.html +HTTP(..) == src-list-format-5.html src-list-format-2-ref.html +HTTP(..) == src-list-format-6.html src-list-format-3-ref.html +# assumes AAT fonts are only supported on MacOS +random-if(cocoaWidget) HTTP(..) == src-list-format-7.html src-list-format-2-ref.html +random-if(!cocoaWidget) HTTP(..) == src-list-format-7.html src-list-format-3-ref.html +fails-if(Android) == src-list-local-full.html src-list-local-full-ref.html +fails-if(Android) == src-list-local-full-quotes.html src-list-local-full-ref.html +HTTP(..) == src-list-local-fallback.html src-list-local-fallback-ref.html + +# data url tests (these don't need the HTTP server) +== src-list-data-1.html src-list-data-ref.html +== src-list-data-2.html src-list-data-ref.html +== src-list-data-3.html src-list-data-ref.html +== src-list-data-4.html src-list-data-ref.html + +# load with data url vs. font data load +HTTP(..) == src-list-actual-font-ref.html src-list-data-1.html + +# localized full fontnames should *not* match, only English ones (need locale-invariant key) +skip HTTP(..) == src-list-local-localized.html src-list-local-localized-ref.html # 486787, 486497 + +# postscript name lookup +# fontconfig only supports postscript name lookup from 2.10.92, Android not supported +fails-if(Android) random-if(gtkWidget) == src-list-local-ps.html src-list-local-full-ref.html +# Mac-specific test of 100 weight faces +random-if(!cocoaWidget) == helveticaneue-ultra.html helveticaneue-ultra-ref.html + +HTTP(..) == order-1.html order-1-ref.html +HTTP(..) == order-2.html order-2-ref.html +HTTP(..) == order-3.html order-3-ref.html +HTTP(..) == multiple-in-family-1.html multiple-in-family-1-ref.html +HTTP(..) == multiple-in-family-1b.html multiple-in-family-1-ref.html +HTTP(..) != multiple-in-family-1.html multiple-in-family-1-notref.html +HTTP(..) == prop-order-over-rule-order-1a.html prop-order-over-rule-order-2a.html +HTTP(..) == prop-order-over-rule-order-1b.html prop-order-over-rule-order-2b.html +HTTP(..) != prop-order-over-rule-order-1a.html prop-order-over-rule-order-1b.html +HTTP(..) == cross-iframe-1.html cross-iframe-1-ref.html + +# unicode-range +HTTP(..) == unicoderange-1.html unicoderange-1-ref.html +HTTP(..) == unicoderange-2.html unicoderange-2-ref.html +HTTP(..) == unicoderange-3.html unicoderange-3-ref.html +HTTP(..) == unicoderange-4.html unicoderange-4-ref.html + +# Dynamic changes +# we need to skip these because of the bug that's causing order-2.html to fail +HTTP(..) == enable-sheet-1.html enable-sheet-1-ref.html +skip HTTP(..) == enable-sheet-2.html multiple-in-family-1-ref.html +skip HTTP(..) == enable-sheet-3.html multiple-in-family-1-ref.html +HTTP(..) == enable-sheet-4.html enable-sheet-4-ref.html +HTTP(..) == enable-sheet-5.html enable-sheet-4-ref.html +skip HTTP(..) == enable-sheet-6.html multiple-in-family-1-ref.html +skip HTTP(..) == enable-sheet-7.html multiple-in-family-1-ref.html +HTTP(..) == disable-sheet-1.html disable-sheet-1-ref.html +# We're missing disable-sheet-{2,3,6,7} (analogs to +# enable-sheet{2,3,6,7}) because I don't know how to detect test +# completion for those cases. +HTTP(..) == disable-sheet-4.html disable-sheet-4-ref.html +HTTP(..) == disable-sheet-5.html disable-sheet-4-ref.html +HTTP(..) == sheet-set-base-1.html sheet-set-base-1-ref.html +random-if(cocoaWidget) HTTP(..) == sheet-set-switch-1.html sheet-set-switch-1-ref.html # bug 468217 +HTTP(..) == insert-rule-1a.html insert-rule-1-ref.html +HTTP(..) == insert-rule-1b.html insert-rule-1-ref.html +HTTP(..) == delete-rule-1.html delete-rule-1-ref.html +HTTP(..) == media-query-add-1.html media-query-add-1-ref.html +HTTP(..) == media-query-remove-1.html media-query-remove-1-ref.html +HTTP(..) != media-query-add-1-ref.html media-query-remove-1-ref.html + +HTTP(..) == ahem-metrics-1.html ahem-metrics-1-ref.html +HTTP(..) == ex-unit-1.html ex-unit-1-ref.html +HTTP(..) == ex-unit-1-dynamic.html ex-unit-1-ref.html + +== local-1.html local-1-ref.html +== local-styled-1.html local-styled-1-ref.html + +HTTP(..) == synthetic-weight-style.html synthetic-weight-style-ref.html +HTTP(..) == synthetic-variations.html synthetic-variations-ref.html + +# Leak test +HTTP(..) load 486974-1.html + +# compare fonts with and without bad head checksum +HTTP(..) == load-badchecksum.html load-badchecksum-ref.html + +# @font-face names take precedence over names of platform fonts (bug 494360) +HTTP(..) == name-collision.html name-collision-ref.html +HTTP(..) == name-collision-bad-url.html name-collision-bad-url-ref.html + +HTTP(..) == name-collision-with-prefs-font.html name-collision-with-prefs-font-ref.html # bug 668758 +HTTP(..) == load-badfullname.html load-badfullname-ref.html + +# 507960-1-* : a collection of tests using DeLarge from openfontlibrary.org +# check that the original DeLarge face (ttf) loads; if this fails, +# none of the following tests are meaningful +HTTP(..) != 507960-1-nofont.html 507960-1-ref.html +# check that the WOFF version loads, with and without a format hint +HTTP(..) == 507960-1-woff.html 507960-1-ref.html +HTTP(..) == 507960-1-woff-hint.html 507960-1-ref.html +# try damaged fonts that should still load (bad checksums) +HTTP(..) == 507960-1-bad-checksums-ttf.html 507960-1-ref.html +HTTP(..) == 507960-1-bad-checksums-woff.html 507960-1-ref.html +# try versions that should NOT load (bad offsets, signatures, hint) +HTTP(..) != 507960-1-bad-sfnt-version-ttf.html 507960-1-ref.html +HTTP(..) != 507960-1-bad-sfnt-version-woff.html 507960-1-ref.html +HTTP(..) != 507960-1-bad-woff-sig.html 507960-1-ref.html +HTTP(..) != 507960-1-bad-offset-woff.html 507960-1-ref.html +HTTP(..) != 507960-1-woff-bad-hint.html 507960-1-ref.html + +# Tests for bug 523717 +HTTP(..) == underline-offset-change-1.html underline-offset-change-1-ref.html +HTTP(..) == underline-offset-change-2.html underline-offset-change-2-ref.html +fails-if(cocoaWidget) fails-if(winWidget) HTTP(..) != underline-offset-change-1-ref.html underline-offset-change-2-ref.html # Bug 534132 + +HTTP(..) != 534352-1-extra-cmap-sentinel.html 534352-1-extra-cmap-sentinel-ref.html +HTTP(..) == bug533251.html bug533251-ref.html + +# Bug 875287 +HTTP(..) == font-familiy-whitespace-1.html font-familiy-whitespace-1-ref.html +HTTP(..) != font-familiy-whitespace-1.html font-familiy-whitespace-1-notref.html + +skip-if(Android) HTTP(..) == ivs-1.html ivs-1-ref.html # Android bug 1250229 +skip-if(Android) HTTP(..) == cjkcisvs-1.html cjkcisvs-1-ref.html # Android bug 1250229 + +HTTP(..) == missing-names.html missing-names-ref.html + +# Tests for bug 670900 - handling of 404 (not found) error in @font-face URL +# (using Chunkfive font data returned from a .sjs file) +HTTP(..) == font-error-404-1.html font-error-404-1-ref.html # HTTP status 404, don't load +HTTP(..) == font-error-404-2.html font-error-404-2-ref.html # HTTP status 200, load +HTTP(..) != font-error-404-1.html font-error-404-2.html # sanity-check that the results differ + +# Font load redirection +HTTP(..) == font-redirect.html order-1-ref.html + +# Tests for potential regressions from bug 879963 +== dynamic-duplicate-rule-1a.html dynamic-duplicate-rule-1-ref.html +== dynamic-duplicate-rule-1b.html dynamic-duplicate-rule-1-ref.html +== dynamic-duplicate-rule-1c.html dynamic-duplicate-rule-1-ref.html + +# Test for COLR and CPAL support +HTTP(..) == color-1a.html color-1-ref.html +HTTP(..) != color-1a.html color-1-notref.html +HTTP(..) == color-1b.html color-1-ref.html +HTTP(..) == color-2a.html color-2-ref.html +HTTP(..) != color-2a.html color-2-notref.html + +pref(gfx.downloadable_fonts.woff2.enabled,true) HTTP(..) == woff2-1.html woff2-1-ref.html +pref(gfx.downloadable_fonts.woff2.enabled,true) HTTP(..) == woff2-totalsfntsize.html woff2-totalsfntsize-ref.html + +# sanity tests for reflow behavior with downloadable fonts +HTTP(..) == reflow-sanity-1.html reflow-sanity-1-ref.html +HTTP(..) == reflow-sanity-1-data.html reflow-sanity-1-ref.html +HTTP(..) == reflow-sanity-1.html reflow-sanity-1-data.html +HTTP(..) == reflow-sanity-delay-1a.html reflow-sanity-1-ref.html +HTTP(..) == reflow-sanity-delay-1b.html reflow-sanity-1-ref.html +HTTP(..) == reflow-sanity-delay-1c.html reflow-sanity-1-ref.html +HTTP(..) == reflow-sanity-delay-1-metrics.html reflow-sanity-1-ref.html + +# font-display +pref(layout.css.font-display.enabled,true) HTTP(..) == font-display-1.html font-display-1-ref.html # normal font load (~500ms) +pref(layout.css.font-display.enabled,true) fuzzy-if(OSX==1010,3,5) HTTP(..) == font-display-2.html font-display-2-ref.html # font load takes 4500ms + diff --git a/layout/reftests/font-face/resize-detector-iframe.html b/layout/reftests/font-face/resize-detector-iframe.html new file mode 100644 index 000000000..5283f22c0 --- /dev/null +++ b/layout/reftests/font-face/resize-detector-iframe.html @@ -0,0 +1,32 @@ +<!DOCTYPE HTML> +<html> +<head> + <title>Resize-notifying IFRAME</title> + <script type="application/ecmascript"> + + var gTarget; + + /* the test is done after the next resize */ + function arm() { + gTarget = -1; + window.addEventListener("resize", got_resize, false); + } + + /* the test is done after the next resize to wider than the current width */ + function arm_for_wider() { + gTarget = window.innerWidth; + window.addEventListener("resize", got_resize, false); + } + + function got_resize() { + if (window.innerWidth > gTarget) { + // Remove the class="reftest-wait" from the top window + window.top.document.documentElement.removeAttribute("class"); + } + } + + </script> +</head> +<body> +</body> +</html> diff --git a/layout/reftests/font-face/restore-size-detector-iframe.html b/layout/reftests/font-face/restore-size-detector-iframe.html new file mode 100644 index 000000000..3cc72f877 --- /dev/null +++ b/layout/reftests/font-face/restore-size-detector-iframe.html @@ -0,0 +1,32 @@ +<!DOCTYPE HTML> +<html> +<head> + <title>Resize-notifying IFRAME</title> + <script type="application/ecmascript"> + + var gTarget; + + /* + * the test is done after the width becomes narrower (immediately) + * and then comes back to the same size. However, the two things + * might happen at once. + */ + function arm() { + gTarget = window.innerWidth; + window.addEventListener("resize", got_resize, false); + setTimeout(got_resize, 200); + } + + function got_resize() { + if (window.innerWidth == gTarget) { + gTarget = -1; + // Remove the class="reftest-wait" from the top window + window.top.document.documentElement.removeAttribute("class"); + } + } + + </script> +</head> +<body> +</body> +</html> diff --git a/layout/reftests/font-face/sheet-set-base-1-ref.html b/layout/reftests/font-face/sheet-set-base-1-ref.html new file mode 100644 index 000000000..03109f278 --- /dev/null +++ b/layout/reftests/font-face/sheet-set-base-1-ref.html @@ -0,0 +1,26 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> +<html lang="en-US"> +<head> + <title></title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <style type="text/css"> + + @font-face { + font-family: "MarkD"; + src: url(../fonts/markD.ttf); + } + + </style> + <style type="text/css"> + + body { font-family: "MarkD"; } + + </style> +</head> +<body> + +<p>DBC</p> + +</body> +</html> diff --git a/layout/reftests/font-face/sheet-set-base-1.html b/layout/reftests/font-face/sheet-set-base-1.html new file mode 100644 index 000000000..f0b10b3c9 --- /dev/null +++ b/layout/reftests/font-face/sheet-set-base-1.html @@ -0,0 +1,34 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> +<html lang="en-US"> +<head> + <title></title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <style type="text/css" title="Set A"> + + @font-face { + font-family: "MarkA"; + src: url(../fonts/markA.ttf); + } + + </style> + <style type="text/css" title="Set B"> + + @font-face { + font-family: "MarkB"; + src: url(../fonts/markB.ttf); + } + + </style> + <style type="text/css"> + + body { font-family: "MarkA", "MarkB"; } + + </style> +</head> +<body> + +<p>ABC</p> + +</body> +</html> diff --git a/layout/reftests/font-face/sheet-set-switch-1-ref.html b/layout/reftests/font-face/sheet-set-switch-1-ref.html new file mode 100644 index 000000000..86525231a --- /dev/null +++ b/layout/reftests/font-face/sheet-set-switch-1-ref.html @@ -0,0 +1,28 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> +<html lang="en-US"> +<head> + <title></title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <style type="text/css"> + + @font-face { + font-family: "Mark2D"; + src: url(../fonts/mark2D.ttf); + } + + @font-face { + font-family: "MarkB"; + src: url(../fonts/markB.ttf); + } + + body { font-family: "Mark2D", "MarkB"; } + + </style> +</head> +<body> + +<p>ADB</p> + +</body> +</html> diff --git a/layout/reftests/font-face/sheet-set-switch-1.html b/layout/reftests/font-face/sheet-set-switch-1.html new file mode 100644 index 000000000..7d94b066f --- /dev/null +++ b/layout/reftests/font-face/sheet-set-switch-1.html @@ -0,0 +1,49 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> +<html lang="en-US" class="reftest-wait"> +<head> + <title></title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <style type="text/css" title="Set A"> + + @font-face { + font-family: "MarkA"; + src: url(../fonts/markA.ttf); + } + + </style> + <style type="text/css" title="Set B"> + + @font-face { + font-family: "Mark2B"; + src: url(../fonts/mark2B.ttf); + } + + </style> + <style type="text/css"> + + @font-face { + font-family: "MarkC"; + src: url(../fonts/markC.ttf); + } + + body { font-family: "MarkA", "Mark2B", "MarkC"; } + + </style> + <script type="application/ecmascript"> + + function run() { + // The resize-detector iframe will remove the class attribute. + document.getElementsByTagName("iframe")[0].contentWindow.arm_for_wider(); + + document.selectedStyleSheetSet = "Set B"; + } + + </script> +</head> +<body onload="setTimeout(run, 20)"> + +<p style="position:relative; width: -moz-max-content">ABC<iframe style="visibility:hidden;position:absolute;height:100%;width:100%" src="resize-detector-iframe.html"></iframe></p> + +</body> +</html> diff --git a/layout/reftests/font-face/src-list-1-ref.html b/layout/reftests/font-face/src-list-1-ref.html new file mode 100644 index 000000000..660046dd1 --- /dev/null +++ b/layout/reftests/font-face/src-list-1-ref.html @@ -0,0 +1,23 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> +<html lang="en-US"> +<head> + <title></title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <style type="text/css"> + + @font-face { + font-family: "MarkD"; + src: url(../fonts/markD.ttf); + } + + body { font-family: "MarkD"; } + + </style> +</head> +<body> + +<p>DBC</p> + +</body> +</html> diff --git a/layout/reftests/font-face/src-list-1.html b/layout/reftests/font-face/src-list-1.html new file mode 100644 index 000000000..c968a0031 --- /dev/null +++ b/layout/reftests/font-face/src-list-1.html @@ -0,0 +1,23 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> +<html lang="en-US"> +<head> + <title></title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <style type="text/css"> + + @font-face { + font-family: "One"; + src: url(../fonts/markA.ttf), url(../fonts/mark2A.ttf); + } + + body { font-family: "One"; } + + </style> +</head> +<body> + +<p>ABC</p> + +</body> +</html> diff --git a/layout/reftests/font-face/src-list-2-big-otf.html b/layout/reftests/font-face/src-list-2-big-otf.html new file mode 100644 index 000000000..98b4b8ee7 --- /dev/null +++ b/layout/reftests/font-face/src-list-2-big-otf.html @@ -0,0 +1,23 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> +<html lang="en-US"> +<head> + <title></title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <style type="text/css"> + + @font-face { + font-family: "One"; + src: url(../fonts/markA.otf), url(../fonts/markB.otf); + } + + body { font-family: "One"; font-size: 50px; } + + </style> +</head> +<body> + +<p>ABC</p> + +</body> +</html> diff --git a/layout/reftests/font-face/src-list-2-big-ref.html b/layout/reftests/font-face/src-list-2-big-ref.html new file mode 100644 index 000000000..ce855b704 --- /dev/null +++ b/layout/reftests/font-face/src-list-2-big-ref.html @@ -0,0 +1,23 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> +<html lang="en-US"> +<head> + <title></title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <style type="text/css"> + + @font-face { + font-family: "MarkD"; + src: url(../fonts/markD.ttf); + } + + body { font-family: MarkD; font-size: 50px; } + + </style> +</head> +<body> + +<p>DBC</p> + +</body> +</html> diff --git a/layout/reftests/font-face/src-list-2-ref.html b/layout/reftests/font-face/src-list-2-ref.html new file mode 100644 index 000000000..02316eaac --- /dev/null +++ b/layout/reftests/font-face/src-list-2-ref.html @@ -0,0 +1,23 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> +<html lang="en-US"> +<head> + <title></title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <style type="text/css"> + + @font-face { + font-family: "MarkD"; + src: url(../fonts/markD.ttf); + } + + body { font-family: MarkD; } + + </style> +</head> +<body> + +<p>DBC</p> + +</body> +</html> diff --git a/layout/reftests/font-face/src-list-2.html b/layout/reftests/font-face/src-list-2.html new file mode 100644 index 000000000..5cfb307ae --- /dev/null +++ b/layout/reftests/font-face/src-list-2.html @@ -0,0 +1,23 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> +<html lang="en-US"> +<head> + <title></title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <style type="text/css"> + + @font-face { + font-family: "One"; + src: url(../fonts/markA.ttf), url(../fonts/markB.ttf); + } + + body { font-family: "One"; } + + </style> +</head> +<body> + +<p>ABC</p> + +</body> +</html> diff --git a/layout/reftests/font-face/src-list-actual-font-ref.html b/layout/reftests/font-face/src-list-actual-font-ref.html new file mode 100644 index 000000000..a12ab9dcd --- /dev/null +++ b/layout/reftests/font-face/src-list-actual-font-ref.html @@ -0,0 +1,21 @@ +<!DOCTYPE HTML> +<html> +<head> +<style type="text/css"> +@font-face { + font-family: test; + src: url(../fonts/loadtest.ttf); +} + +body { + margin: 20px; + font-size: 100px; + font-family: test; +} +p { margin: 0; padding: 0; } +</style> +</head> +<body> +<p>FAIL</p> +</body> +</html> diff --git a/layout/reftests/font-face/src-list-data-1.html b/layout/reftests/font-face/src-list-data-1.html new file mode 100644 index 000000000..f313f4869 --- /dev/null +++ b/layout/reftests/font-face/src-list-data-1.html @@ -0,0 +1,21 @@ +<!DOCTYPE HTML> +<html> +<head> +<style type="text/css"> +@font-face { + font-family: test; + src: url(data:font/opentype;base64,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AC4AIABDAG8AcAB5AHIAaQBnAGgAdAAgAGkAbgBmAG8AIABwAGUAbgBkAGkAbgBnAC4AbABvAGEAZAB0AGUAcwB0AFIAZQBnAHUAbABhAHIAdwBlAGIAZgBvAG4AdABsAG8AYQBkAHQAZQBzAHQAIABSAGUAZwB1AGwAYQByAFYAZQByAHMAaQBvAG4AIAAwADAAMQAuADAAMAAxAEIAYQBzAGUAZAAgAG8AbgAgAEwAZQBhAGcAdQBlACAARwBvAHQAaABpAGMAIABiAHkAIABMAGUAYQBnAHUAZQAgAG8AZgAgAE0AbwB2AGUAYQBiAGwAZQAgAFQAeQBwAGUALAAgAG0AbwBkAGkAZgBpAGUAZAAgAGIAeQAgAEoAbwBoAG4AIABEAGEAZwBnAGUAdAB0AGgAdAB0AHAAOgAvAC8AdwB3AHcALgB0AGgAZQBsAGUAYQBnAHUAZQBvAGYAbQBvAHYAZQBhAGIAbABlAHQAeQBwAGUALgBjAG8AbQAvAGwAZQBhAGcAdQBlAC0AZwBvAHQAaABpAGMAQQBsAGwAIABmAG8AbgB0AHMAIABmAHIAbwBtACAAVABoAGUAIABMAGUAYQBnAHUAZQAgAG8AZgAgAE0AbwB2AGUAYQBiAGwAZQAgAFQAeQBwAGUAIABhAHIAZQAgAHMAdQBiAGoAZQBjAHQAIAB0AG8AIAB0AGgAZQAgAE8AcABlAG4AIABGAG8AbgB0ACAATABpAGMAZQBuAHMAZQBoAHQAdABwADoALwAvAHMAYwByAGkAcAB0AHMALgBzAGkAbAAuAG8AcgBnAC8ATwBGAEwAAgAAAAAAAP9nAGYAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwADQAOAA8AEAARABIAEwAUABUAFgAXABgAGQAaABsAHAAdAB4AHwAgACEAIgAjACQAJQAmACcAKAApACoAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAOgA7ADwAPQA+AD8AQABBAEIAQwBEAEUARgBHAEgASQBKAEsATABNAE4ATwBQAFEAUgBTAFQAVQBWAFcAWABZAFoAWwBcAF0AXgBfAGAAYQECAKMAhACFAJYAjgCLAQMAigDaAI0AwwDeAKIArQDJAMcArgBiAGMAkABkAMsAZQDIAMoAzwDMAM0AzgDpAGYA0wDQANEArwBnAJEA1gDUANUAaADrAO0AiQBqAGkAawBtAGwAbgCgAG8AcQBwAHIAcwB1AHQAdgB3AOoAeAB6AHkAewB9AHwAoQB/AH4AgACBAOwA7gC6ANcA4gDjALAAsQDkAOUAuwDmAOcA2ADhANsA3ADdAOAA2QDfAQQBBQEGAQcBCAEJAQoBCwEMAQ0BDgEPARABEQCyALMAtgC3AMQAtAC1AMUAhwCrARIBEwEUAIwA7wEVARYBFwd1bmkwMEEwB3VuaTAwQUQHdW5pMjAwMAd1bmkyMDAxB3VuaTIwMDIHdW5pMjAwMwd1bmkyMDA0B3VuaTIwMDUHdW5pMjAwNgd1bmkyMDA3B3VuaTIwMDgHdW5pMjAwOQd1bmkyMDBBB3VuaTIwMTAHdW5pMjAxMQpmaWd1cmVkYXNoB3VuaTIwMkYHdW5pMjA1RgRFdXJvB3VuaUUwMDAHdW5pRkIwMQd1bmlGQjAyAAAAAQAB//8ADwAAAAEAAAAAyYlvMQAAAADGp3m3AAAAAMrhKHcAAQAAAAwAAAAWAAAAAgABAAEA3wABAAQAAAABAAAAAAABAAAACgAuADwAAkRGTFQADmxhdG4AGAAEAAAAAP//AAAABAAAAAD//wABAAAAAVRTVDEACAAAAAEAAAABAAQAAQAAAAEACAACAA4ABABEADMANgBWAAEABAAkACkALAAvAAA=); +} + +body { + margin: 20px; + font-size: 100px; + font-family: test; +} +p { margin: 0; padding: 0; } +</style> +</head> +<body> +<p>FAIL</p> +</body> +</html> diff --git a/layout/reftests/font-face/src-list-data-2.html b/layout/reftests/font-face/src-list-data-2.html new file mode 100644 index 000000000..6b3f6a8f7 --- /dev/null +++ b/layout/reftests/font-face/src-list-data-2.html @@ -0,0 +1,21 @@ +<!DOCTYPE HTML> +<html> +<head> +<style type="text/css"> +@font-face { + font-family: test; + src: url(data:font/opentype,funkyfurryfoo), url(data:font/opentype;base64,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AC4AIABDAG8AcAB5AHIAaQBnAGgAdAAgAGkAbgBmAG8AIABwAGUAbgBkAGkAbgBnAC4AbABvAGEAZAB0AGUAcwB0AFIAZQBnAHUAbABhAHIAdwBlAGIAZgBvAG4AdABsAG8AYQBkAHQAZQBzAHQAIABSAGUAZwB1AGwAYQByAFYAZQByAHMAaQBvAG4AIAAwADAAMQAuADAAMAAxAEIAYQBzAGUAZAAgAG8AbgAgAEwAZQBhAGcAdQBlACAARwBvAHQAaABpAGMAIABiAHkAIABMAGUAYQBnAHUAZQAgAG8AZgAgAE0AbwB2AGUAYQBiAGwAZQAgAFQAeQBwAGUALAAgAG0AbwBkAGkAZgBpAGUAZAAgAGIAeQAgAEoAbwBoAG4AIABEAGEAZwBnAGUAdAB0AGgAdAB0AHAAOgAvAC8AdwB3AHcALgB0AGgAZQBsAGUAYQBnAHUAZQBvAGYAbQBvAHYAZQBhAGIAbABlAHQAeQBwAGUALgBjAG8AbQAvAGwAZQBhAGcAdQBlAC0AZwBvAHQAaABpAGMAQQBsAGwAIABmAG8AbgB0AHMAIABmAHIAbwBtACAAVABoAGUAIABMAGUAYQBnAHUAZQAgAG8AZgAgAE0AbwB2AGUAYQBiAGwAZQAgAFQAeQBwAGUAIABhAHIAZQAgAHMAdQBiAGoAZQBjAHQAIAB0AG8AIAB0AGgAZQAgAE8AcABlAG4AIABGAG8AbgB0ACAATABpAGMAZQBuAHMAZQBoAHQAdABwADoALwAvAHMAYwByAGkAcAB0AHMALgBzAGkAbAAuAG8AcgBnAC8ATwBGAEwAAgAAAAAAAP9nAGYAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwADQAOAA8AEAARABIAEwAUABUAFgAXABgAGQAaABsAHAAdAB4AHwAgACEAIgAjACQAJQAmACcAKAApACoAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAOgA7ADwAPQA+AD8AQABBAEIAQwBEAEUARgBHAEgASQBKAEsATABNAE4ATwBQAFEAUgBTAFQAVQBWAFcAWABZAFoAWwBcAF0AXgBfAGAAYQECAKMAhACFAJYAjgCLAQMAigDaAI0AwwDeAKIArQDJAMcArgBiAGMAkABkAMsAZQDIAMoAzwDMAM0AzgDpAGYA0wDQANEArwBnAJEA1gDUANUAaADrAO0AiQBqAGkAawBtAGwAbgCgAG8AcQBwAHIAcwB1AHQAdgB3AOoAeAB6AHkAewB9AHwAoQB/AH4AgACBAOwA7gC6ANcA4gDjALAAsQDkAOUAuwDmAOcA2ADhANsA3ADdAOAA2QDfAQQBBQEGAQcBCAEJAQoBCwEMAQ0BDgEPARABEQCyALMAtgC3AMQAtAC1AMUAhwCrARIBEwEUAIwA7wEVARYBFwd1bmkwMEEwB3VuaTAwQUQHdW5pMjAwMAd1bmkyMDAxB3VuaTIwMDIHdW5pMjAwMwd1bmkyMDA0B3VuaTIwMDUHdW5pMjAwNgd1bmkyMDA3B3VuaTIwMDgHdW5pMjAwOQd1bmkyMDBBB3VuaTIwMTAHdW5pMjAxMQpmaWd1cmVkYXNoB3VuaTIwMkYHdW5pMjA1RgRFdXJvB3VuaUUwMDAHdW5pRkIwMQd1bmlGQjAyAAAAAQAB//8ADwAAAAEAAAAAyYlvMQAAAADGp3m3AAAAAMrhKHcAAQAAAAwAAAAWAAAAAgABAAEA3wABAAQAAAABAAAAAAABAAAACgAuADwAAkRGTFQADmxhdG4AGAAEAAAAAP//AAAABAAAAAD//wABAAAAAVRTVDEACAAAAAEAAAABAAQAAQAAAAEACAACAA4ABABEADMANgBWAAEABAAkACkALAAvAAA=); +} + +body { + margin: 20px; + font-size: 100px; + font-family: test; +} +p { margin: 0; padding: 0; } +</style> +</head> +<body> +<p>FAIL</p> +</body> +</html> diff --git a/layout/reftests/font-face/src-list-data-3.html b/layout/reftests/font-face/src-list-data-3.html new file mode 100644 index 000000000..5b6b2e4cb --- /dev/null +++ b/layout/reftests/font-face/src-list-data-3.html @@ -0,0 +1,35 @@ +<!DOCTYPE HTML> +<html class="reftest-wait"> +<head> +<style type="text/css"> +@font-face { + font-family: test; + src: url(data:font/opentype;base64,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AC4AIABDAG8AcAB5AHIAaQBnAGgAdAAgAGkAbgBmAG8AIABwAGUAbgBkAGkAbgBnAC4AbABvAGEAZAB0AGUAcwB0AFIAZQBnAHUAbABhAHIAdwBlAGIAZgBvAG4AdABsAG8AYQBkAHQAZQBzAHQAIABSAGUAZwB1AGwAYQByAFYAZQByAHMAaQBvAG4AIAAwADAAMQAuADAAMAAxAEIAYQBzAGUAZAAgAG8AbgAgAEwAZQBhAGcAdQBlACAARwBvAHQAaABpAGMAIABiAHkAIABMAGUAYQBnAHUAZQAgAG8AZgAgAE0AbwB2AGUAYQBiAGwAZQAgAFQAeQBwAGUALAAgAG0AbwBkAGkAZgBpAGUAZAAgAGIAeQAgAEoAbwBoAG4AIABEAGEAZwBnAGUAdAB0AGgAdAB0AHAAOgAvAC8AdwB3AHcALgB0AGgAZQBsAGUAYQBnAHUAZQBvAGYAbQBvAHYAZQBhAGIAbABlAHQAeQBwAGUALgBjAG8AbQAvAGwAZQBhAGcAdQBlAC0AZwBvAHQAaABpAGMAQQBsAGwAIABmAG8AbgB0AHMAIABmAHIAbwBtACAAVABoAGUAIABMAGUAYQBnAHUAZQAgAG8AZgAgAE0AbwB2AGUAYQBiAGwAZQAgAFQAeQBwAGUAIABhAHIAZQAgAHMAdQBiAGoAZQBjAHQAIAB0AG8AIAB0AGgAZQAgAE8AcABlAG4AIABGAG8AbgB0ACAATABpAGMAZQBuAHMAZQBoAHQAdABwADoALwAvAHMAYwByAGkAcAB0AHMALgBzAGkAbAAuAG8AcgBnAC8ATwBGAEwAAgAAAAAAAP9nAGYAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwADQAOAA8AEAARABIAEwAUABUAFgAXABgAGQAaABsAHAAdAB4AHwAgACEAIgAjACQAJQAmACcAKAApACoAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAOgA7ADwAPQA+AD8AQABBAEIAQwBEAEUARgBHAEgASQBKAEsATABNAE4ATwBQAFEAUgBTAFQAVQBWAFcAWABZAFoAWwBcAF0AXgBfAGAAYQECAKMAhACFAJYAjgCLAQMAigDaAI0AwwDeAKIArQDJAMcArgBiAGMAkABkAMsAZQDIAMoAzwDMAM0AzgDpAGYA0wDQANEArwBnAJEA1gDUANUAaADrAO0AiQBqAGkAawBtAGwAbgCgAG8AcQBwAHIAcwB1AHQAdgB3AOoAeAB6AHkAewB9AHwAoQB/AH4AgACBAOwA7gC6ANcA4gDjALAAsQDkAOUAuwDmAOcA2ADhANsA3ADdAOAA2QDfAQQBBQEGAQcBCAEJAQoBCwEMAQ0BDgEPARABEQCyALMAtgC3AMQAtAC1AMUAhwCrARIBEwEUAIwA7wEVARYBFwd1bmkwMEEwB3VuaTAwQUQHdW5pMjAwMAd1bmkyMDAxB3VuaTIwMDIHdW5pMjAwMwd1bmkyMDA0B3VuaTIwMDUHdW5pMjAwNgd1bmkyMDA3B3VuaTIwMDgHdW5pMjAwOQd1bmkyMDBBB3VuaTIwMTAHdW5pMjAxMQpmaWd1cmVkYXNoB3VuaTIwMkYHdW5pMjA1RgRFdXJvB3VuaUUwMDAHdW5pRkIwMQd1bmlGQjAyAAAAAQAB//8ADwAAAAEAAAAAyYlvMQAAAADGp3m3AAAAAMrhKHcAAQAAAAwAAAAWAAAAAgABAAEA3wABAAQAAAABAAAAAAABAAAACgAuADwAAkRGTFQADmxhdG4AGAAEAAAAAP//AAAABAAAAAD//wABAAAAAVRTVDEACAAAAAEAAAABAAQAAQAAAAEACAACAA4ABABEADMANgBWAAEABAAkACkALAAvAAA=); +} + +body { + margin: 20px; + font-size: 100px; + font-family: serif; +} +p { margin: 0; padding: 0; } +</style> +<script type="text/javascript"> +function clearwait() +{ + window.top.document.documentElement.removeAttribute("class"); +} + +function dostuff() +{ + var el = document.getElementById("main"); + el.style.fontFamily = "test"; + setTimeout(clearwait, 20); +} +window.onload = dostuff; +</script> +</head> +<body id="main"> +<p>FAIL</p> +</body> +</html> diff --git a/layout/reftests/font-face/src-list-data-4.html b/layout/reftests/font-face/src-list-data-4.html new file mode 100644 index 000000000..940aaae49 --- /dev/null +++ b/layout/reftests/font-face/src-list-data-4.html @@ -0,0 +1,35 @@ +<!DOCTYPE HTML> +<html class="reftest-wait"> +<head> +<style type="text/css"> +@font-face { + font-family: test; + src: url(data:font/opentype,funkyfurryfoo), url(data:font/opentype;base64,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AC4AIABDAG8AcAB5AHIAaQBnAGgAdAAgAGkAbgBmAG8AIABwAGUAbgBkAGkAbgBnAC4AbABvAGEAZAB0AGUAcwB0AFIAZQBnAHUAbABhAHIAdwBlAGIAZgBvAG4AdABsAG8AYQBkAHQAZQBzAHQAIABSAGUAZwB1AGwAYQByAFYAZQByAHMAaQBvAG4AIAAwADAAMQAuADAAMAAxAEIAYQBzAGUAZAAgAG8AbgAgAEwAZQBhAGcAdQBlACAARwBvAHQAaABpAGMAIABiAHkAIABMAGUAYQBnAHUAZQAgAG8AZgAgAE0AbwB2AGUAYQBiAGwAZQAgAFQAeQBwAGUALAAgAG0AbwBkAGkAZgBpAGUAZAAgAGIAeQAgAEoAbwBoAG4AIABEAGEAZwBnAGUAdAB0AGgAdAB0AHAAOgAvAC8AdwB3AHcALgB0AGgAZQBsAGUAYQBnAHUAZQBvAGYAbQBvAHYAZQBhAGIAbABlAHQAeQBwAGUALgBjAG8AbQAvAGwAZQBhAGcAdQBlAC0AZwBvAHQAaABpAGMAQQBsAGwAIABmAG8AbgB0AHMAIABmAHIAbwBtACAAVABoAGUAIABMAGUAYQBnAHUAZQAgAG8AZgAgAE0AbwB2AGUAYQBiAGwAZQAgAFQAeQBwAGUAIABhAHIAZQAgAHMAdQBiAGoAZQBjAHQAIAB0AG8AIAB0AGgAZQAgAE8AcABlAG4AIABGAG8AbgB0ACAATABpAGMAZQBuAHMAZQBoAHQAdABwADoALwAvAHMAYwByAGkAcAB0AHMALgBzAGkAbAAuAG8AcgBnAC8ATwBGAEwAAgAAAAAAAP9nAGYAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwADQAOAA8AEAARABIAEwAUABUAFgAXABgAGQAaABsAHAAdAB4AHwAgACEAIgAjACQAJQAmACcAKAApACoAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAOgA7ADwAPQA+AD8AQABBAEIAQwBEAEUARgBHAEgASQBKAEsATABNAE4ATwBQAFEAUgBTAFQAVQBWAFcAWABZAFoAWwBcAF0AXgBfAGAAYQECAKMAhACFAJYAjgCLAQMAigDaAI0AwwDeAKIArQDJAMcArgBiAGMAkABkAMsAZQDIAMoAzwDMAM0AzgDpAGYA0wDQANEArwBnAJEA1gDUANUAaADrAO0AiQBqAGkAawBtAGwAbgCgAG8AcQBwAHIAcwB1AHQAdgB3AOoAeAB6AHkAewB9AHwAoQB/AH4AgACBAOwA7gC6ANcA4gDjALAAsQDkAOUAuwDmAOcA2ADhANsA3ADdAOAA2QDfAQQBBQEGAQcBCAEJAQoBCwEMAQ0BDgEPARABEQCyALMAtgC3AMQAtAC1AMUAhwCrARIBEwEUAIwA7wEVARYBFwd1bmkwMEEwB3VuaTAwQUQHdW5pMjAwMAd1bmkyMDAxB3VuaTIwMDIHdW5pMjAwMwd1bmkyMDA0B3VuaTIwMDUHdW5pMjAwNgd1bmkyMDA3B3VuaTIwMDgHdW5pMjAwOQd1bmkyMDBBB3VuaTIwMTAHdW5pMjAxMQpmaWd1cmVkYXNoB3VuaTIwMkYHdW5pMjA1RgRFdXJvB3VuaUUwMDAHdW5pRkIwMQd1bmlGQjAyAAAAAQAB//8ADwAAAAEAAAAAyYlvMQAAAADGp3m3AAAAAMrhKHcAAQAAAAwAAAAWAAAAAgABAAEA3wABAAQAAAABAAAAAAABAAAACgAuADwAAkRGTFQADmxhdG4AGAAEAAAAAP//AAAABAAAAAD//wABAAAAAVRTVDEACAAAAAEAAAABAAQAAQAAAAEACAACAA4ABABEADMANgBWAAEABAAkACkALAAvAAA=); +} + +body { + margin: 20px; + font-size: 100px; + font-family: serif; +} +p { margin: 0; padding: 0; } +</style> +<script type="text/javascript"> +function clearwait() +{ + window.top.document.documentElement.removeAttribute("class"); +} + +function dostuff() +{ + var el = document.getElementById("main"); + el.style.fontFamily = "test"; + setTimeout(clearwait, 20); +} +window.onload = dostuff; +</script> +</head> +<body id="main"> +<p>FAIL</p> +</body> +</html> diff --git a/layout/reftests/font-face/src-list-data-ref.html b/layout/reftests/font-face/src-list-data-ref.html new file mode 100644 index 000000000..e951b2707 --- /dev/null +++ b/layout/reftests/font-face/src-list-data-ref.html @@ -0,0 +1,21 @@ +<!DOCTYPE HTML> +<html> +<head> +<style type="text/css"> +@font-face { + font-family: test; + src: url(data:font/opentype;base64,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); +} + +body { + margin: 20px; + font-size: 100px; + font-family: test; +} +p { margin: 0; padding: 0; } +</style> +</head> +<body> +<p>PaSs</p> +</body> +</html> diff --git a/layout/reftests/font-face/src-list-format-1-ref.html b/layout/reftests/font-face/src-list-format-1-ref.html new file mode 100644 index 000000000..551d75b35 --- /dev/null +++ b/layout/reftests/font-face/src-list-format-1-ref.html @@ -0,0 +1,23 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> +<html lang="en-US"> +<head> + <title></title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <style type="text/css"> + + @font-face { + font-family: "Mark2D"; + src: url(../fonts/mark2D.ttf); + } + + body { font-family: "Mark2D"; } + + </style> +</head> +<body> + +<p>DBC</p> + +</body> +</html> diff --git a/layout/reftests/font-face/src-list-format-1.html b/layout/reftests/font-face/src-list-format-1.html new file mode 100644 index 000000000..437847a8d --- /dev/null +++ b/layout/reftests/font-face/src-list-format-1.html @@ -0,0 +1,23 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> +<html lang="en-US"> +<head> + <title></title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <style type="text/css"> + + @font-face { + font-family: "One"; + src: url(../fonts/markA.ttf) format("unknown"), url(../fonts/mark2A.ttf); + } + + body { font-family: "One"; } + + </style> +</head> +<body> + +<p>ABC</p> + +</body> +</html> diff --git a/layout/reftests/font-face/src-list-format-2-ref.html b/layout/reftests/font-face/src-list-format-2-ref.html new file mode 100644 index 000000000..551d75b35 --- /dev/null +++ b/layout/reftests/font-face/src-list-format-2-ref.html @@ -0,0 +1,23 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> +<html lang="en-US"> +<head> + <title></title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <style type="text/css"> + + @font-face { + font-family: "Mark2D"; + src: url(../fonts/mark2D.ttf); + } + + body { font-family: "Mark2D"; } + + </style> +</head> +<body> + +<p>DBC</p> + +</body> +</html> diff --git a/layout/reftests/font-face/src-list-format-2.html b/layout/reftests/font-face/src-list-format-2.html new file mode 100644 index 000000000..2319f1055 --- /dev/null +++ b/layout/reftests/font-face/src-list-format-2.html @@ -0,0 +1,23 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> +<html lang="en-US"> +<head> + <title></title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <style type="text/css"> + + @font-face { + font-family: "One"; + src: url(../fonts/markA.ttf) format("unknown"), url(../fonts/mark2A.ttf) format("truetype"); + } + + body { font-family: "One"; } + + </style> +</head> +<body> + +<p>ABC</p> + +</body> +</html> diff --git a/layout/reftests/font-face/src-list-format-3-ref.html b/layout/reftests/font-face/src-list-format-3-ref.html new file mode 100644 index 000000000..02316eaac --- /dev/null +++ b/layout/reftests/font-face/src-list-format-3-ref.html @@ -0,0 +1,23 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> +<html lang="en-US"> +<head> + <title></title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <style type="text/css"> + + @font-face { + font-family: "MarkD"; + src: url(../fonts/markD.ttf); + } + + body { font-family: MarkD; } + + </style> +</head> +<body> + +<p>DBC</p> + +</body> +</html> diff --git a/layout/reftests/font-face/src-list-format-3.html b/layout/reftests/font-face/src-list-format-3.html new file mode 100644 index 000000000..00c7678ae --- /dev/null +++ b/layout/reftests/font-face/src-list-format-3.html @@ -0,0 +1,23 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> +<html lang="en-US"> +<head> + <title></title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <style type="text/css"> + + @font-face { + font-family: "One"; + src: url(../fonts/markA.ttf) format("unknown", "truetype"), url(../fonts/mark2A.ttf) format("truetype"); + } + + body { font-family: "One"; } + + </style> +</head> +<body> + +<p>ABC</p> + +</body> +</html> diff --git a/layout/reftests/font-face/src-list-format-4.html b/layout/reftests/font-face/src-list-format-4.html new file mode 100644 index 000000000..fa14bbaa2 --- /dev/null +++ b/layout/reftests/font-face/src-list-format-4.html @@ -0,0 +1,24 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> +<html lang="en-US"> +<head> + <title></title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <style type="text/css"> + + @font-face { + font-family: "One"; + /* assumes we don't support embedded-opentype and thus wouldn't try to load it */ + src: url(../fonts/markA.ttf) format("embedded-opentype"), url(../fonts/mark2A.ttf); + } + + body { font-family: "One"; } + + </style> +</head> +<body> + +<p>ABC</p> + +</body> +</html> diff --git a/layout/reftests/font-face/src-list-format-5.html b/layout/reftests/font-face/src-list-format-5.html new file mode 100644 index 000000000..2719e2629 --- /dev/null +++ b/layout/reftests/font-face/src-list-format-5.html @@ -0,0 +1,24 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> +<html lang="en-US"> +<head> + <title></title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <style type="text/css"> + + @font-face { + font-family: "One"; + /* assumes we don't support embedded-opentype and thus wouldn't try to load it */ + src: url(../fonts/markA.ttf) format("embedded-opentype"), url(../fonts/mark2A.ttf) format("truetype"); + } + + body { font-family: "One"; } + + </style> +</head> +<body> + +<p>ABC</p> + +</body> +</html> diff --git a/layout/reftests/font-face/src-list-format-6.html b/layout/reftests/font-face/src-list-format-6.html new file mode 100644 index 000000000..c014de280 --- /dev/null +++ b/layout/reftests/font-face/src-list-format-6.html @@ -0,0 +1,24 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> +<html lang="en-US"> +<head> + <title></title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <style type="text/css"> + + @font-face { + font-family: "One"; + /* assumes we don't support embedded-opentype and thus wouldn't try to load it */ + src: url(../fonts/markA.ttf) format("embedded-opentype", "truetype"), url(../fonts/mark2A.ttf) format("truetype"); + } + + body { font-family: "One"; } + + </style> +</head> +<body> + +<p>ABC</p> + +</body> +</html> diff --git a/layout/reftests/font-face/src-list-format-7.html b/layout/reftests/font-face/src-list-format-7.html new file mode 100644 index 000000000..fff76a734 --- /dev/null +++ b/layout/reftests/font-face/src-list-format-7.html @@ -0,0 +1,23 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> +<html lang="en-US"> +<head> + <title></title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <style type="text/css"> + + @font-face { + font-family: "One"; + src: url(../fonts/markA.ttf) format("truetype-aat"), url(../fonts/mark2A.ttf); + } + + body { font-family: "One"; } + + </style> +</head> +<body> + +<p>ABC</p> + +</body> +</html> diff --git a/layout/reftests/font-face/src-list-local-fallback-ref.html b/layout/reftests/font-face/src-list-local-fallback-ref.html new file mode 100644 index 000000000..388e1e92e --- /dev/null +++ b/layout/reftests/font-face/src-list-local-fallback-ref.html @@ -0,0 +1,41 @@ +<!DOCTYPE HTML> +<html> +<head> +<title>src local on load fallback</title> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> + +<style type="text/css"> + +body { + margin: 50px; + font-size: 24pt; + font-family: sans-serif; +} + +p { margin-left: 1em; } + +p { font-family: Futura, Bitstream Vera Sans, DejaVu Sans, Arial, serif; } + +</style> + +<script type="text/javascript"> + +</script> + +</head> +<body> + +<h4>These should appear in sans-serif face, not serif:</h4> + +<p id="test0">Simple use of src local()</p> + +<p id="test1">The URL for the font data is bogus</p> + +<p id="test2">The URL exists but does not return font data</p> + +<p id="test3">Same as above, but first local not found</p> + +<p id="test4">Same as above, bogus url follows unknown local font</p> + +</body> +</html>
\ No newline at end of file diff --git a/layout/reftests/font-face/src-list-local-fallback.html b/layout/reftests/font-face/src-list-local-fallback.html new file mode 100644 index 000000000..83845738a --- /dev/null +++ b/layout/reftests/font-face/src-list-local-fallback.html @@ -0,0 +1,70 @@ +<!DOCTYPE HTML> +<html> +<head> +<title>src local on load fallback</title> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> + +<style type="text/css"> + +body { + margin: 50px; + font-size: 24pt; + font-family: sans-serif; +} + +p { margin-left: 1em; } + +@font-face { + font-family: test0; + src: local("Futura-Medium"), local("Bitstream Vera Sans"), local("Bitstream Vera Sans Roman"), local("DejaVu Sans"), local("Arial"); +} + +@font-face { + font-family: test1; + src: url(bogus-dir/bogus.ttf), local("Futura-Medium"), local("Bitstream Vera Sans"), local("Bitstream Vera Sans Roman"), local("DejaVu Sans"), local("Arial"); +} + +@font-face { + font-family: test2; + src: url(../fonts/README), local("Futura-Medium"), local("Bitstream Vera Sans"), local("Bitstream Vera Sans Roman"), local("DejaVu Sans"), local("Arial"); +} + +@font-face { + font-family: test3; + src: url(../fonts/README), local("Bogosity"), local("Futura-Medium"), local("Bitstream Vera Sans"), local("Bitstream Vera Sans Roman"), local("DejaVu Sans"), local("Arial"); +} + +@font-face { + font-family: test4; + src: url(../fonts/README), local("Bogosity"), url(bogus-dir/bogus.ttf), local("Futura-Medium"), local("Bitstream Vera Sans"), local("Bitstream Vera Sans Roman"), local("DejaVu Sans"), local("Arial"); +} + +#test0 { font-family: test0, serif; } +#test1 { font-family: test1, serif; } +#test2 { font-family: test2, serif; } +#test3 { font-family: test3, serif; } +#test4 { font-family: test4, serif; } + +</style> + +<script type="text/javascript"> + +</script> + +</head> +<body> + +<h4>These should appear in sans-serif face, not serif:</h4> + +<p id="test0">Simple use of src local()</p> + +<p id="test1">The URL for the font data is bogus</p> + +<p id="test2">The URL exists but does not return font data</p> + +<p id="test3">Same as above, but first local not found</p> + +<p id="test4">Same as above, bogus url follows unknown local font</p> + +</body> +</html>
\ No newline at end of file diff --git a/layout/reftests/font-face/src-list-local-full-quotes.html b/layout/reftests/font-face/src-list-local-full-quotes.html new file mode 100644 index 000000000..c63e6f401 --- /dev/null +++ b/layout/reftests/font-face/src-list-local-full-quotes.html @@ -0,0 +1,52 @@ +<!DOCTYPE HTML> +<html> +<head> +<title>src local with full names</title> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> + +<style type="text/css"> + +body { + margin: 50px; + font-size: 24pt; +} + +/* use full names */ + +@font-face { + font-family: test-regular; + src: local("Helvetica Neue"), local("Bitstream Vera Sans"), local("Bitstream Vera Sans Roman"), local("DejaVu Sans"), local("FreeSans"), local("Free Sans"), local("SwissA"), local("Arial"); +} + +/* use Helvetica on the Mac, since Futura has no bold face on 10.4, 10.5 */ +@font-face { + font-family: test-bold; + src: local("Helvetica Neue Bold"), local("Bitstream Vera Sans Bold"), local("DejaVu Sans Bold"), local("FreeSans Bold"), local("Free Sans Bold"), local("SwissA Bold"), local("Arial Bold"); +} + +@font-face { + font-family: test-italic; + src: local("Helvetica Neue Italic"), local("Bitstream Vera Sans Oblique"), local("DejaVu Sans Oblique"), local("FreeSans Oblique"), local("Free Sans Oblique"), local("SwissA Italic"), local("Arial Italic"); +} + +.regular { font-family: test-regular, serif; } +.bold { font-family: test-bold, serif; } +.italic { font-family: test-italic, serif; } + +</style> + +<script type="text/javascript"> + +</script> + +</head> +<body> + +<p class="regular">This should be a sans-serif face</p> + +<p class="bold">This should be a bold sans-serif face</p> + +<p class="italic">This should be an italic sans-serif face</p> + +</body> +</html> diff --git a/layout/reftests/font-face/src-list-local-full-ref.html b/layout/reftests/font-face/src-list-local-full-ref.html new file mode 100644 index 000000000..4d357f8a2 --- /dev/null +++ b/layout/reftests/font-face/src-list-local-full-ref.html @@ -0,0 +1,39 @@ +<!DOCTYPE HTML> +<html> +<head> +<title>src local ref with regular, bold, italic</title> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> + +<style type="text/css"> + +body { + margin: 50px; + font-size: 24pt; +} + +/* Bitstream Vera must be adjacent to DejaVu to because the latter is picked + up by fontconfig aliases for the former. */ + +p { font-family: Helvetica Neue, Bitstream Vera Sans, DejaVu Sans, FreeSans, SwissA, Arial, serif; } + +.regular { } +.bold { font-weight: bold; } +.italic { font-style: italic; } + +</style> + +<script type="text/javascript"> + +</script> + +</head> +<body> + +<p class="regular">This should be a sans-serif face</p> + +<p class="bold">This should be a bold sans-serif face</p> + +<p class="italic">This should be an italic sans-serif face</p> + +</body> +</html> diff --git a/layout/reftests/font-face/src-list-local-full.html b/layout/reftests/font-face/src-list-local-full.html new file mode 100644 index 000000000..c4aafdfa1 --- /dev/null +++ b/layout/reftests/font-face/src-list-local-full.html @@ -0,0 +1,52 @@ +<!DOCTYPE HTML> +<html> +<head> +<title>src local with full names</title> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> + +<style type="text/css"> + +body { + margin: 50px; + font-size: 24pt; +} + +/* use full names */ + +@font-face { + font-family: test-regular; + src: local(Helvetica Neue), local(Bitstream Vera Sans), local(Bitstream Vera Sans Roman), local(DejaVu Sans), local(FreeSans), local(Free Sans), local(SwissA), local(Arial); +} + +/* use Helvetica on the Mac, since Futura has no bold face on 10.4, 10.5 */ +@font-face { + font-family: test-bold; + src: local(Helvetica Neue Bold), local(Bitstream Vera Sans Bold), local(DejaVu Sans Bold), local(FreeSans Bold), local(Free Sans Bold), local(SwissA Bold), local(Arial Bold); +} + +@font-face { + font-family: test-italic; + src: local(Helvetica Neue Italic), local(Bitstream Vera Sans Oblique), local(DejaVu Sans Oblique), local(FreeSans Oblique), local(Free Sans Oblique), local(SwissA Italic), local(Arial Italic); +} + +.regular { font-family: test-regular, serif; } +.bold { font-family: test-bold, serif; } +.italic { font-family: test-italic, serif; } + +</style> + +<script type="text/javascript"> + +</script> + +</head> +<body> + +<p class="regular">This should be a sans-serif face</p> + +<p class="bold">This should be a bold sans-serif face</p> + +<p class="italic">This should be an italic sans-serif face</p> + +</body> +</html> diff --git a/layout/reftests/font-face/src-list-local-localized-ref.html b/layout/reftests/font-face/src-list-local-localized-ref.html new file mode 100644 index 000000000..5647133f9 --- /dev/null +++ b/layout/reftests/font-face/src-list-local-localized-ref.html @@ -0,0 +1,378 @@ +<!DOCTYPE HTML> +<html> +<head> +<title>Localized fullnames</title> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> + +<style type="text/css"> + +@font-face { + font-family: testbackup; + src: url(../fonts/markA.ttf); +} + +body { + margin: 50px; + font-size: 18px; + font-family: Futura, Helvetica, Calibri, Verdana, sans-serif; +} + +table { + font-family: testbackup, serif; + border-collapse: collapse; + margin-left: 1em; +} + +td + td { + padding-left: 1em; +} + +</style> + + +</head> +<body> + +<h4>The letter A should not appear below independent of locale:</h4> + +<p>(Mouse over to see local name used)</p> + +<table> +<tr> +<td class="test0">AA</td> +<td class="test1">AA</td> +<td class="test2">AA</td> +<td class="test3">AA</td> +<td class="test4">AA</td> +<td class="test5">AA</td> +<td class="test6">AA</td> +<td class="test7">AA</td> +<td class="test8">AA</td> +<td class="test9">AA</td> +</tr> +<tr> +<td class="test10">AA</td> +<td class="test11">AA</td> +<td class="test12">AA</td> +<td class="test13">AA</td> +<td class="test14">AA</td> +<td class="test15">AA</td> +<td class="test16">AA</td> +<td class="test17">AA</td> +<td class="test18">AA</td> +<td class="test19">AA</td> +</tr> +<tr> +<td class="test20">AA</td> +<td class="test21">AA</td> +<td class="test22">AA</td> +<td class="test23">AA</td> +<td class="test24">AA</td> +<td class="test25">AA</td> +<td class="test26">AA</td> +<td class="test27">AA</td> +<td class="test28">AA</td> +<td class="test29">AA</td> +</tr> +<tr> +<td class="test30">AA</td> +<td class="test31">AA</td> +<td class="test32">AA</td> +<td class="test33">AA</td> +<td class="test34">AA</td> +<td class="test35">AA</td> +<td class="test36">AA</td> +<td class="test37">AA</td> +<td class="test38">AA</td> +<td class="test39">AA</td> +</tr> +<tr> +<td class="test40">AA</td> +<td class="test41">AA</td> +<td class="test42">AA</td> +<td class="test43">AA</td> +<td class="test44">AA</td> +<td class="test45">AA</td> +<td class="test46">AA</td> +<td class="test47">AA</td> +<td class="test48">AA</td> +<td class="test49">AA</td> +</tr> +<tr> +<td class="test50">AA</td> +<td class="test51">AA</td> +<td class="test52">AA</td> +<td class="test53">AA</td> +<td class="test54">AA</td> +<td class="test55">AA</td> +<td class="test56">AA</td> +<td class="test57">AA</td> +<td class="test58">AA</td> +<td class="test59">AA</td> +</tr> +<tr> +<td class="test60">AA</td> +<td class="test61">AA</td> +<td class="test62">AA</td> +<td class="test63">AA</td> +<td class="test64">AA</td> +<td class="test65">AA</td> +<td class="test66">AA</td> +<td class="test67">AA</td> +<td class="test68">AA</td> +<td class="test69">AA</td> +</tr> +<tr> +<td class="test70">AA</td> +<td class="test71">AA</td> +<td class="test72">AA</td> +<td class="test73">AA</td> +<td class="test74">AA</td> +<td class="test75">AA</td> +<td class="test76">AA</td> +<td class="test77">AA</td> +<td class="test78">AA</td> +<td class="test79">AA</td> +</tr> +<tr> +<td class="test80">AA</td> +<td class="test81">AA</td> +<td class="test82">AA</td> +<td class="test83">AA</td> +<td class="test84">AA</td> +<td class="test85">AA</td> +<td class="test86">AA</td> +<td class="test87">AA</td> +<td class="test88">AA</td> +<td class="test89">AA</td> +</tr> +<tr> +<td class="test90">AA</td> +<td class="test91">AA</td> +<td class="test92">AA</td> +<td class="test93">AA</td> +<td class="test94">AA</td> +<td class="test95">AA</td> +<td class="test96">AA</td> +<td class="test97">AA</td> +<td class="test98">AA</td> +<td class="test99">AA</td> +</tr> +<tr> +<td class="test100">AA</td> +<td class="test101">AA</td> +<td class="test102">AA</td> +<td class="test103">AA</td> +<td class="test104">AA</td> +<td class="test105">AA</td> +<td class="test106">AA</td> +<td class="test107">AA</td> +<td class="test108">AA</td> +<td class="test109">AA</td> +</tr> +<tr> +<td class="test110">AA</td> +<td class="test111">AA</td> +<td class="test112">AA</td> +<td class="test113">AA</td> +<td class="test114">AA</td> +<td class="test115">AA</td> +<td class="test116">AA</td> +<td class="test117">AA</td> +<td class="test118">AA</td> +<td class="test119">AA</td> +</tr> +<tr> +<td class="test120">AA</td> +<td class="test121">AA</td> +<td class="test122">AA</td> +<td class="test123">AA</td> +<td class="test124">AA</td> +<td class="test125">AA</td> +<td class="test126">AA</td> +<td class="test127">AA</td> +<td class="test128">AA</td> +<td class="test129">AA</td> +</tr> +<tr> +<td class="test130">AA</td> +<td class="test131">AA</td> +<td class="test132">AA</td> +<td class="test133">AA</td> +<td class="test134">AA</td> +<td class="test135">AA</td> +<td class="test136">AA</td> +<td class="test137">AA</td> +<td class="test138">AA</td> +<td class="test139">AA</td> +</tr> +<tr> +<td class="test140">AA</td> +<td class="test141">AA</td> +<td class="test142">AA</td> +<td class="test143">AA</td> +<td class="test144">AA</td> +<td class="test145">AA</td> +<td class="test146">AA</td> +<td class="test147">AA</td> +<td class="test148">AA</td> +<td class="test149">AA</td> +</tr> +<tr> +<td class="test150">AA</td> +<td class="test151">AA</td> +<td class="test152">AA</td> +<td class="test153">AA</td> +<td class="test154">AA</td> +<td class="test155">AA</td> +<td class="test156">AA</td> +<td class="test157">AA</td> +<td class="test158">AA</td> +<td class="test159">AA</td> +</tr> +<tr> +<td class="test160">AA</td> +<td class="test161">AA</td> +<td class="test162">AA</td> +<td class="test163">AA</td> +<td class="test164">AA</td> +<td class="test165">AA</td> +<td class="test166">AA</td> +<td class="test167">AA</td> +<td class="test168">AA</td> +<td class="test169">AA</td> +</tr> +<tr> +<td class="test170">AA</td> +<td class="test171">AA</td> +<td class="test172">AA</td> +<td class="test173">AA</td> +<td class="test174">AA</td> +<td class="test175">AA</td> +<td class="test176">AA</td> +<td class="test177">AA</td> +<td class="test178">AA</td> +<td class="test179">AA</td> +</tr> +<tr> +<td class="test180">AA</td> +<td class="test181">AA</td> +<td class="test182">AA</td> +<td class="test183">AA</td> +<td class="test184">AA</td> +<td class="test185">AA</td> +<td class="test186">AA</td> +<td class="test187">AA</td> +<td class="test188">AA</td> +<td class="test189">AA</td> +</tr> +<tr> +<td class="test190">AA</td> +<td class="test191">AA</td> +<td class="test192">AA</td> +<td class="test193">AA</td> +<td class="test194">AA</td> +<td class="test195">AA</td> +<td class="test196">AA</td> +<td class="test197">AA</td> +<td class="test198">AA</td> +<td class="test199">AA</td> +</tr> +<tr> +<td class="test200">AA</td> +<td class="test201">AA</td> +<td class="test202">AA</td> +<td class="test203">AA</td> +<td class="test204">AA</td> +<td class="test205">AA</td> +<td class="test206">AA</td> +<td class="test207">AA</td> +<td class="test208">AA</td> +<td class="test209">AA</td> +</tr> +<tr> +<td class="test210">AA</td> +<td class="test211">AA</td> +<td class="test212">AA</td> +<td class="test213">AA</td> +<td class="test214">AA</td> +<td class="test215">AA</td> +<td class="test216">AA</td> +<td class="test217">AA</td> +<td class="test218">AA</td> +<td class="test219">AA</td> +</tr> +<tr> +<td class="test220">AA</td> +<td class="test221">AA</td> +<td class="test222">AA</td> +<td class="test223">AA</td> +<td class="test224">AA</td> +<td class="test225">AA</td> +<td class="test226">AA</td> +<td class="test227">AA</td> +<td class="test228">AA</td> +<td class="test229">AA</td> +</tr> +<tr> +<td class="test230">AA</td> +<td class="test231">AA</td> +<td class="test232">AA</td> +<td class="test233">AA</td> +<td class="test234">AA</td> +<td class="test235">AA</td> +<td class="test236">AA</td> +<td class="test237">AA</td> +<td class="test238">AA</td> +<td class="test239">AA</td> +</tr> +<tr> +<td class="test240">AA</td> +<td class="test241">AA</td> +<td class="test242">AA</td> +<td class="test243">AA</td> +<td class="test244">AA</td> +<td class="test245">AA</td> +<td class="test246">AA</td> +<td class="test247">AA</td> +<td class="test248">AA</td> +<td class="test249">AA</td> +</tr> +<tr> +<td class="test250">AA</td> +<td class="test251">AA</td> +<td class="test252">AA</td> +<td class="test253">AA</td> +<td class="test254">AA</td> +<td class="test255">AA</td> +<td class="test256">AA</td> +<td class="test257">AA</td> +<td class="test258">AA</td> +<td class="test259">AA</td> +</tr> +<tr> +<td class="test260">AA</td> +<td class="test261">AA</td> +<td class="test262">AA</td> +<td class="test263">AA</td> +<td class="test264">AA</td> +<td class="test265">AA</td> +<td class="test266">AA</td> +<td class="test267">AA</td> +<td class="test268">AA</td> +<td class="test269">AA</td> +</tr> +<tr> +<td class="test270">AA</td> +<td class="test271">AA</td> +<td class="test272">AA</td> +<td class="test273">AA</td> +<td class="test274">AA</td> +<td class="test275">AA</td> +<td class="test276">AA</td> +<td class="test277">AA</td> +<td class="test278">AA</td> +</tr> +</table> +</body> +</html>
\ No newline at end of file diff --git a/layout/reftests/font-face/src-list-local-localized.html b/layout/reftests/font-face/src-list-local-localized.html new file mode 100644 index 000000000..6638e514f --- /dev/null +++ b/layout/reftests/font-face/src-list-local-localized.html @@ -0,0 +1,939 @@ +<!DOCTYPE HTML> +<html> +<head> +<title>Localized fullnames</title> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> + +<style type="text/css"> + +@font-face { + font-family: testbackup; + src: url(../fonts/markA.ttf); +} + +body { + margin: 50px; + font-size: 18px; + font-family: Futura, Helvetica, Calibri, Verdana, sans-serif; +} + +table { + font-family: testbackup, serif; + border-collapse: collapse; + margin-left: 1em; +} + +td + td { + padding-left: 1em; +} + +</style> + +<style type="text/css"> +@font-face { font-family: test0; src: local("#궁서체 일반체"); } +.test0 { font-family: test0, testbackup; } +@font-face { font-family: test1; src: local("#헤드라인A 일반체"); } +.test1 { font-family: test1, testbackup; } +@font-face { font-family: test2; src: local("AppleGothic 일반체"); } +.test2 { font-family: test2, testbackup; } +@font-face { font-family: test3; src: local("Arial Black Normal"); } +.test3 { font-family: test3, testbackup; } +@font-face { font-family: test4; src: local("Arial Black Standard"); } +.test4 { font-family: test4, testbackup; } +@font-face { font-family: test5; src: local("Arial Black normal"); } +.test5 { font-family: test5, testbackup; } +@font-face { font-family: test6; src: local("Arial Black obyčejné"); } +.test6 { font-family: test6, testbackup; } +@font-face { font-family: test7; src: local("Arial Black Обычный"); } +.test7 { font-family: test7, testbackup; } +@font-face { font-family: test8; src: local("Arial Black Κανονικά"); } +.test8 { font-family: test8, testbackup; } +@font-face { font-family: test9; src: local("Arial Corsivo"); } +.test9 { font-family: test9, testbackup; } +@font-face { font-family: test10; src: local("Arial Cursief"); } +.test10 { font-family: test10, testbackup; } +@font-face { font-family: test11; src: local("Arial Cursiva"); } +.test11 { font-family: test11, testbackup; } +@font-face { font-family: test12; src: local("Arial Dőlt"); } +.test12 { font-family: test12, testbackup; } +@font-face { font-family: test13; src: local("Arial Etzana"); } +.test13 { font-family: test13, testbackup; } +@font-face { font-family: test14; src: local("Arial Fet Kursiv"); } +.test14 { font-family: test14, testbackup; } +@font-face { font-family: test15; src: local("Arial Fet"); } +.test15 { font-family: test15, testbackup; } +@font-face { font-family: test16; src: local("Arial Fett Kursiv"); } +.test16 { font-family: test16, testbackup; } +@font-face { font-family: test17; src: local("Arial Fett"); } +.test17 { font-family: test17, testbackup; } +@font-face { font-family: test18; src: local("Arial Félkövér dőlt"); } +.test18 { font-family: test18, testbackup; } +@font-face { font-family: test19; src: local("Arial Félkövér"); } +.test19 { font-family: test19, testbackup; } +@font-face { font-family: test20; src: local("Arial Gras Italique"); } +.test20 { font-family: test20, testbackup; } +@font-face { font-family: test21; src: local("Arial Gras"); } +.test21 { font-family: test21, testbackup; } +@font-face { font-family: test22; src: local("Arial Grassetto Corsivo"); } +.test22 { font-family: test22, testbackup; } +@font-face { font-family: test23; src: local("Arial Grassetto"); } +.test23 { font-family: test23, testbackup; } +@font-face { font-family: test24; src: local("Arial Halvfet Kursiv"); } +.test24 { font-family: test24, testbackup; } +@font-face { font-family: test25; src: local("Arial Halvfet"); } +.test25 { font-family: test25, testbackup; } +@font-face { font-family: test26; src: local("Arial Italique"); } +.test26 { font-family: test26, testbackup; } +@font-face { font-family: test27; src: local("Arial Itálico"); } +.test27 { font-family: test27, testbackup; } +@font-face { font-family: test28; src: local("Arial Kalın İtalik"); } +.test28 { font-family: test28, testbackup; } +@font-face { font-family: test29; src: local("Arial Kalın"); } +.test29 { font-family: test29, testbackup; } +@font-face { font-family: test30; src: local("Arial Krepko poševno"); } +.test30 { font-family: test30, testbackup; } +@font-face { font-family: test31; src: local("Arial Krepko"); } +.test31 { font-family: test31, testbackup; } +@font-face { font-family: test32; src: local("Arial Kursiv"); } +.test32 { font-family: test32, testbackup; } +@font-face { font-family: test33; src: local("Arial Kursivoitu"); } +.test33 { font-family: test33, testbackup; } +@font-face { font-family: test34; src: local("Arial Kursywa"); } +.test34 { font-family: test34, testbackup; } +@font-face { font-family: test35; src: local("Arial Kurzíva"); } +.test35 { font-family: test35, testbackup; } +@font-face { font-family: test36; src: local("Arial Lihavoitu Kursivoi"); } +.test36 { font-family: test36, testbackup; } +@font-face { font-family: test37; src: local("Arial Lihavoitu"); } +.test37 { font-family: test37, testbackup; } +@font-face { font-family: test38; src: local("Arial Lodi etzana"); } +.test38 { font-family: test38, testbackup; } +@font-face { font-family: test39; src: local("Arial Lodia"); } +.test39 { font-family: test39, testbackup; } +@font-face { font-family: test40; src: local("Arial Negreta"); } +.test40 { font-family: test40, testbackup; } +@font-face { font-family: test41; src: local("Arial Negrita Cursiva"); } +.test41 { font-family: test41, testbackup; } +@font-face { font-family: test42; src: local("Arial Negrita"); } +.test42 { font-family: test42, testbackup; } +@font-face { font-family: test43; src: local("Arial Negrito Itálico"); } +.test43 { font-family: test43, testbackup; } +@font-face { font-family: test44; src: local("Arial Negrito"); } +.test44 { font-family: test44, testbackup; } +@font-face { font-family: test45; src: local("Arial Pogrubiona kursywa"); } +.test45 { font-family: test45, testbackup; } +@font-face { font-family: test46; src: local("Arial Pogrubiony"); } +.test46 { font-family: test46, testbackup; } +@font-face { font-family: test47; src: local("Arial Poševno"); } +.test47 { font-family: test47, testbackup; } +@font-face { font-family: test48; src: local("Arial Tučná kurzíva"); } +.test48 { font-family: test48, testbackup; } +@font-face { font-family: test49; src: local("Arial Tučné"); } +.test49 { font-family: test49, testbackup; } +@font-face { font-family: test50; src: local("Arial Vet Cursief"); } +.test50 { font-family: test50, testbackup; } +@font-face { font-family: test51; src: local("Arial Vet"); } +.test51 { font-family: test51, testbackup; } +@font-face { font-family: test52; src: local("Arial fed kursiv"); } +.test52 { font-family: test52, testbackup; } +@font-face { font-family: test53; src: local("Arial fed"); } +.test53 { font-family: test53, testbackup; } +@font-face { font-family: test54; src: local("Arial kursiv"); } +.test54 { font-family: test54, testbackup; } +@font-face { font-family: test55; src: local("Arial kurzíva"); } +.test55 { font-family: test55, testbackup; } +@font-face { font-family: test56; src: local("Arial nghiêng đậm"); } +.test56 { font-family: test56, testbackup; } +@font-face { font-family: test57; src: local("Arial nghiêng"); } +.test57 { font-family: test57, testbackup; } +@font-face { font-family: test58; src: local("Arial tučné kurzíva"); } +.test58 { font-family: test58, testbackup; } +@font-face { font-family: test59; src: local("Arial tučné"); } +.test59 { font-family: test59, testbackup; } +@font-face { font-family: test60; src: local("Arial İtalik"); } +.test60 { font-family: test60, testbackup; } +@font-face { font-family: test61; src: local("Arial đậm"); } +.test61 { font-family: test61, testbackup; } +@font-face { font-family: test62; src: local("Arial Έντονα Πλάγια"); } +.test62 { font-family: test62, testbackup; } +@font-face { font-family: test63; src: local("Arial Έντονα"); } +.test63 { font-family: test63, testbackup; } +@font-face { font-family: test64; src: local("Arial Πλάγια"); } +.test64 { font-family: test64, testbackup; } +@font-face { font-family: test65; src: local("Arial Курсив"); } +.test65 { font-family: test65, testbackup; } +@font-face { font-family: test66; src: local("Arial Полужирный Курсив"); } +.test66 { font-family: test66, testbackup; } +@font-face { font-family: test67; src: local("Arial Полужирный"); } +.test67 { font-family: test67, testbackup; } +@font-face { font-family: test68; src: local("Brush Script MT Πλάγια"); } +.test68 { font-family: test68, testbackup; } +@font-face { font-family: test69; src: local("Brush Script MT Курсив"); } +.test69 { font-family: test69, testbackup; } +@font-face { font-family: test70; src: local("Century Gothic Halvfet"); } +.test70 { font-family: test70, testbackup; } +@font-face { font-family: test71; src: local("Century Gothic Italique"); } +.test71 { font-family: test71, testbackup; } +@font-face { font-family: test72; src: local("Century Gothic Kalın"); } +.test72 { font-family: test72, testbackup; } +@font-face { font-family: test73; src: local("Century Gothic Krepko poševno"); } +.test73 { font-family: test73, testbackup; } +@font-face { font-family: test74; src: local("Century Gothic Krepko"); } +.test74 { font-family: test74, testbackup; } +@font-face { font-family: test75; src: local("Century Gothic Kursiv"); } +.test75 { font-family: test75, testbackup; } +@font-face { font-family: test76; src: local("Comic Sans MS Negreta"); } +.test76 { font-family: test76, testbackup; } +@font-face { font-family: test77; src: local("Comic Sans MS Έντονα"); } +.test77 { font-family: test77, testbackup; } +@font-face { font-family: test78; src: local("Courier Carregado"); } +.test78 { font-family: test78, testbackup; } +@font-face { font-family: test79; src: local("Courier Fet"); } +.test79 { font-family: test79, testbackup; } +@font-face { font-family: test80; src: local("Courier Fett"); } +.test80 { font-family: test80, testbackup; } +@font-face { font-family: test81; src: local("Courier Gras"); } +.test81 { font-family: test81, testbackup; } +@font-face { font-family: test82; src: local("Courier lihava"); } +.test82 { font-family: test82, testbackup; } +@font-face { font-family: test83; src: local("Courier vet"); } +.test83 { font-family: test83, testbackup; } +@font-face { font-family: test84; src: local("Courier עבה"); } +.test84 { font-family: test84, testbackup; } +@font-face { font-family: test85; src: local("Courier أسود"); } +.test85 { font-family: test85, testbackup; } +@font-face { font-family: test86; src: local("Courier برجسته"); } +.test86 { font-family: test86, testbackup; } +@font-face { font-family: test87; src: local("EucrosiaUPC Полужирный"); } +.test87 { font-family: test87, testbackup; } +@font-face { font-family: test88; src: local("Franklin Gothic Medium Kursiv"); } +.test88 { font-family: test88, testbackup; } +@font-face { font-family: test89; src: local("Garamond Kursywa"); } +.test89 { font-family: test89, testbackup; } +@font-face { font-family: test90; src: local("Garamond Kurzíva"); } +.test90 { font-family: test90, testbackup; } +@font-face { font-family: test91; src: local("Georgia Italique"); } +.test91 { font-family: test91, testbackup; } +@font-face { font-family: test92; src: local("Georgia Itálico"); } +.test92 { font-family: test92, testbackup; } +@font-face { font-family: test93; src: local("Georgia Kalın İtalik"); } +.test93 { font-family: test93, testbackup; } +@font-face { font-family: test94; src: local("HGP明朝B"); } +.test94 { font-family: test94, testbackup; } +@font-face { font-family: test95; src: local("HGP明朝E"); } +.test95 { font-family: test95, testbackup; } +@font-face { font-family: test96; src: local("HGPゴシックE"); } +.test96 { font-family: test96, testbackup; } +@font-face { font-family: test97; src: local("HGPゴシックM"); } +.test97 { font-family: test97, testbackup; } +@font-face { font-family: test98; src: local("HGP創英角ゴシックUB"); } +.test98 { font-family: test98, testbackup; } +@font-face { font-family: test99; src: local("HGS明朝B"); } +.test99 { font-family: test99, testbackup; } +@font-face { font-family: test100; src: local("HGS明朝E"); } +.test100 { font-family: test100, testbackup; } +@font-face { font-family: test101; src: local("HGS行書体"); } +.test101 { font-family: test101, testbackup; } +@font-face { font-family: test102; src: local("HGS教科書体"); } +.test102 { font-family: test102, testbackup; } +@font-face { font-family: test103; src: local("HGSゴシックE"); } +.test103 { font-family: test103, testbackup; } +@font-face { font-family: test104; src: local("HGSゴシックM"); } +.test104 { font-family: test104, testbackup; } +@font-face { font-family: test105; src: local("HGS創英プレゼンスEB"); } +.test105 { font-family: test105, testbackup; } +@font-face { font-family: test106; src: local("HG明朝B"); } +.test106 { font-family: test106, testbackup; } +@font-face { font-family: test107; src: local("HG正楷書体-PRO"); } +.test107 { font-family: test107, testbackup; } +@font-face { font-family: test108; src: local("HGゴシックE"); } +.test108 { font-family: test108, testbackup; } +@font-face { font-family: test109; src: local("HGゴシックM"); } +.test109 { font-family: test109, testbackup; } +@font-face { font-family: test110; src: local("HG丸ゴシックM-PRO"); } +.test110 { font-family: test110, testbackup; } +@font-face { font-family: test111; src: local("HG創英プレゼンスEB"); } +.test111 { font-family: test111, testbackup; } +@font-face { font-family: test112; src: local("Helvetica Carregado"); } +.test112 { font-family: test112, testbackup; } +@font-face { font-family: test113; src: local("Helvetica עבה"); } +.test113 { font-family: test113, testbackup; } +@font-face { font-family: test114; src: local("Helvetica أسود"); } +.test114 { font-family: test114, testbackup; } +@font-face { font-family: test115; src: local("Helvetica برجسته"); } +.test115 { font-family: test115, testbackup; } +@font-face { font-family: test116; src: local("Osaka−等幅"); } +.test116 { font-family: test116, testbackup; } +@font-face { font-family: test117; src: local("Thonburi Carregado"); } +.test117 { font-family: test117, testbackup; } +@font-face { font-family: test118; src: local("Thonburi Gras"); } +.test118 { font-family: test118, testbackup; } +@font-face { font-family: test119; src: local("Thonburi vet"); } +.test119 { font-family: test119, testbackup; } +@font-face { font-family: test120; src: local("Times Cursiva"); } +.test120 { font-family: test120, testbackup; } +@font-face { font-family: test121; src: local("Times Gras"); } +.test121 { font-family: test121, testbackup; } +@font-face { font-family: test122; src: local("Times Negrita"); } +.test122 { font-family: test122, testbackup; } +@font-face { font-family: test123; src: local("Times New Roman Corsivo"); } +.test123 { font-family: test123, testbackup; } +@font-face { font-family: test124; src: local("Times New Roman Cursief"); } +.test124 { font-family: test124, testbackup; } +@font-face { font-family: test125; src: local("Times New Roman Cursiva"); } +.test125 { font-family: test125, testbackup; } +@font-face { font-family: test126; src: local("Times New Roman Dőlt"); } +.test126 { font-family: test126, testbackup; } +@font-face { font-family: test127; src: local("Times New Roman Etzana"); } +.test127 { font-family: test127, testbackup; } +@font-face { font-family: test128; src: local("Times New Roman Fet Kursiv"); } +.test128 { font-family: test128, testbackup; } +@font-face { font-family: test129; src: local("Times New Roman Fet"); } +.test129 { font-family: test129, testbackup; } +@font-face { font-family: test130; src: local("Times New Roman Fett Kursiv"); } +.test130 { font-family: test130, testbackup; } +@font-face { font-family: test131; src: local("Times New Roman Fett"); } +.test131 { font-family: test131, testbackup; } +@font-face { font-family: test132; src: local("Times New Roman Félkövér dőlt"); } +.test132 { font-family: test132, testbackup; } +@font-face { font-family: test133; src: local("Times New Roman Félkövér"); } +.test133 { font-family: test133, testbackup; } +@font-face { font-family: test134; src: local("Times New Roman Gras Italique"); } +.test134 { font-family: test134, testbackup; } +@font-face { font-family: test135; src: local("Times New Roman Gras"); } +.test135 { font-family: test135, testbackup; } +@font-face { font-family: test136; src: local("Times New Roman Grassetto Corsivo"); } +.test136 { font-family: test136, testbackup; } +@font-face { font-family: test137; src: local("Times New Roman Grassetto"); } +.test137 { font-family: test137, testbackup; } +@font-face { font-family: test138; src: local("Times New Roman Halvfet Kursiv"); } +.test138 { font-family: test138, testbackup; } +@font-face { font-family: test139; src: local("Times New Roman Halvfet"); } +.test139 { font-family: test139, testbackup; } +@font-face { font-family: test140; src: local("Times New Roman Italique"); } +.test140 { font-family: test140, testbackup; } +@font-face { font-family: test141; src: local("Times New Roman Itálico"); } +.test141 { font-family: test141, testbackup; } +@font-face { font-family: test142; src: local("Times New Roman Kalın İtalik"); } +.test142 { font-family: test142, testbackup; } +@font-face { font-family: test143; src: local("Times New Roman Kalın"); } +.test143 { font-family: test143, testbackup; } +@font-face { font-family: test144; src: local("Times New Roman Krepko poševno"); } +.test144 { font-family: test144, testbackup; } +@font-face { font-family: test145; src: local("Times New Roman Krepko"); } +.test145 { font-family: test145, testbackup; } +@font-face { font-family: test146; src: local("Times New Roman Kursiv"); } +.test146 { font-family: test146, testbackup; } +@font-face { font-family: test147; src: local("Times New Roman Kursivoitu"); } +.test147 { font-family: test147, testbackup; } +@font-face { font-family: test148; src: local("Times New Roman Kurzíva"); } +.test148 { font-family: test148, testbackup; } +@font-face { font-family: test149; src: local("Times New Roman Lihavoitu Kursivoi"); } +.test149 { font-family: test149, testbackup; } +@font-face { font-family: test150; src: local("Times New Roman Lihavoitu"); } +.test150 { font-family: test150, testbackup; } +@font-face { font-family: test151; src: local("Times New Roman Lodi etzana"); } +.test151 { font-family: test151, testbackup; } +@font-face { font-family: test152; src: local("Times New Roman Lodia"); } +.test152 { font-family: test152, testbackup; } +@font-face { font-family: test153; src: local("Times New Roman Negreta cursiva"); } +.test153 { font-family: test153, testbackup; } +@font-face { font-family: test154; src: local("Times New Roman Negreta"); } +.test154 { font-family: test154, testbackup; } +@font-face { font-family: test155; src: local("Times New Roman Negrita Cursiva"); } +.test155 { font-family: test155, testbackup; } +@font-face { font-family: test156; src: local("Times New Roman Negrita"); } +.test156 { font-family: test156, testbackup; } +@font-face { font-family: test157; src: local("Times New Roman Negrito Itálico"); } +.test157 { font-family: test157, testbackup; } +@font-face { font-family: test158; src: local("Times New Roman Negrito"); } +.test158 { font-family: test158, testbackup; } +@font-face { font-family: test159; src: local("Times New Roman Pogrubiona kursywa"); } +.test159 { font-family: test159, testbackup; } +@font-face { font-family: test160; src: local("Times New Roman Pogrubiona"); } +.test160 { font-family: test160, testbackup; } +@font-face { font-family: test161; src: local("Times New Roman Poševno"); } +.test161 { font-family: test161, testbackup; } +@font-face { font-family: test162; src: local("Times New Roman Tučná kurzíva"); } +.test162 { font-family: test162, testbackup; } +@font-face { font-family: test163; src: local("Times New Roman Tučné"); } +.test163 { font-family: test163, testbackup; } +@font-face { font-family: test164; src: local("Times New Roman Vet Cursief"); } +.test164 { font-family: test164, testbackup; } +@font-face { font-family: test165; src: local("Times New Roman Vet"); } +.test165 { font-family: test165, testbackup; } +@font-face { font-family: test166; src: local("Times New Roman cursiva"); } +.test166 { font-family: test166, testbackup; } +@font-face { font-family: test167; src: local("Times New Roman fed kursiv"); } +.test167 { font-family: test167, testbackup; } +@font-face { font-family: test168; src: local("Times New Roman fed"); } +.test168 { font-family: test168, testbackup; } +@font-face { font-family: test169; src: local("Times New Roman kursiv"); } +.test169 { font-family: test169, testbackup; } +@font-face { font-family: test170; src: local("Times New Roman kursywa"); } +.test170 { font-family: test170, testbackup; } +@font-face { font-family: test171; src: local("Times New Roman kurzíva"); } +.test171 { font-family: test171, testbackup; } +@font-face { font-family: test172; src: local("Times New Roman nghiêng đậm"); } +.test172 { font-family: test172, testbackup; } +@font-face { font-family: test173; src: local("Times New Roman nghiêng"); } +.test173 { font-family: test173, testbackup; } +@font-face { font-family: test174; src: local("Times New Roman tučné kurzíva"); } +.test174 { font-family: test174, testbackup; } +@font-face { font-family: test175; src: local("Times New Roman tučné"); } +.test175 { font-family: test175, testbackup; } +@font-face { font-family: test176; src: local("Times New Roman İtalik"); } +.test176 { font-family: test176, testbackup; } +@font-face { font-family: test177; src: local("Times New Roman đậm"); } +.test177 { font-family: test177, testbackup; } +@font-face { font-family: test178; src: local("Times New Roman Έντονα Πλάγια"); } +.test178 { font-family: test178, testbackup; } +@font-face { font-family: test179; src: local("Times New Roman Έντονα"); } +.test179 { font-family: test179, testbackup; } +@font-face { font-family: test180; src: local("Times New Roman Πλάγια"); } +.test180 { font-family: test180, testbackup; } +@font-face { font-family: test181; src: local("Times New Roman Курсив"); } +.test181 { font-family: test181, testbackup; } +@font-face { font-family: test182; src: local("Times New Roman Полужирный Курсив"); } +.test182 { font-family: test182, testbackup; } +@font-face { font-family: test183; src: local("Times New Roman Полужирный"); } +.test183 { font-family: test183, testbackup; } +@font-face { font-family: test184; src: local("Times grassetto"); } +.test184 { font-family: test184, testbackup; } +@font-face { font-family: test185; src: local("Verdana Corsivo"); } +.test185 { font-family: test185, testbackup; } +@font-face { font-family: test186; src: local("Verdana Cursief"); } +.test186 { font-family: test186, testbackup; } +@font-face { font-family: test187; src: local("Verdana Cursiva"); } +.test187 { font-family: test187, testbackup; } +@font-face { font-family: test188; src: local("Verdana Dőlt"); } +.test188 { font-family: test188, testbackup; } +@font-face { font-family: test189; src: local("Verdana Etzana"); } +.test189 { font-family: test189, testbackup; } +@font-face { font-family: test190; src: local("Verdana Fet Kursiv"); } +.test190 { font-family: test190, testbackup; } +@font-face { font-family: test191; src: local("Verdana Fet"); } +.test191 { font-family: test191, testbackup; } +@font-face { font-family: test192; src: local("Verdana Fett Kursiv"); } +.test192 { font-family: test192, testbackup; } +@font-face { font-family: test193; src: local("Verdana Fett"); } +.test193 { font-family: test193, testbackup; } +@font-face { font-family: test194; src: local("Verdana Félkövér dőlt"); } +.test194 { font-family: test194, testbackup; } +@font-face { font-family: test195; src: local("Verdana Félkövér"); } +.test195 { font-family: test195, testbackup; } +@font-face { font-family: test196; src: local("Verdana Gras Italique"); } +.test196 { font-family: test196, testbackup; } +@font-face { font-family: test197; src: local("Verdana Gras"); } +.test197 { font-family: test197, testbackup; } +@font-face { font-family: test198; src: local("Verdana Grassetto Corsivo"); } +.test198 { font-family: test198, testbackup; } +@font-face { font-family: test199; src: local("Verdana Grassetto"); } +.test199 { font-family: test199, testbackup; } +@font-face { font-family: test200; src: local("Verdana Halvfet Kursiv"); } +.test200 { font-family: test200, testbackup; } +@font-face { font-family: test201; src: local("Verdana Halvfet"); } +.test201 { font-family: test201, testbackup; } +@font-face { font-family: test202; src: local("Verdana Italique"); } +.test202 { font-family: test202, testbackup; } +@font-face { font-family: test203; src: local("Verdana Itálico"); } +.test203 { font-family: test203, testbackup; } +@font-face { font-family: test204; src: local("Verdana Kalın İtalik"); } +.test204 { font-family: test204, testbackup; } +@font-face { font-family: test205; src: local("Verdana Kalın"); } +.test205 { font-family: test205, testbackup; } +@font-face { font-family: test206; src: local("Verdana Krepko poševno"); } +.test206 { font-family: test206, testbackup; } +@font-face { font-family: test207; src: local("Verdana Krepko"); } +.test207 { font-family: test207, testbackup; } +@font-face { font-family: test208; src: local("Verdana Kursiv"); } +.test208 { font-family: test208, testbackup; } +@font-face { font-family: test209; src: local("Verdana Kursivoitu"); } +.test209 { font-family: test209, testbackup; } +@font-face { font-family: test210; src: local("Verdana Kursywa"); } +.test210 { font-family: test210, testbackup; } +@font-face { font-family: test211; src: local("Verdana Kurzíva"); } +.test211 { font-family: test211, testbackup; } +@font-face { font-family: test212; src: local("Verdana Lihavoitu Kursivoi"); } +.test212 { font-family: test212, testbackup; } +@font-face { font-family: test213; src: local("Verdana Lihavoitu"); } +.test213 { font-family: test213, testbackup; } +@font-face { font-family: test214; src: local("Verdana Lodi etzana"); } +.test214 { font-family: test214, testbackup; } +@font-face { font-family: test215; src: local("Verdana Lodia"); } +.test215 { font-family: test215, testbackup; } +@font-face { font-family: test216; src: local("Verdana Negreta cursiva"); } +.test216 { font-family: test216, testbackup; } +@font-face { font-family: test217; src: local("Verdana Negreta"); } +.test217 { font-family: test217, testbackup; } +@font-face { font-family: test218; src: local("Verdana Negrita Cursiva"); } +.test218 { font-family: test218, testbackup; } +@font-face { font-family: test219; src: local("Verdana Negrita"); } +.test219 { font-family: test219, testbackup; } +@font-face { font-family: test220; src: local("Verdana Negrito Itálico"); } +.test220 { font-family: test220, testbackup; } +@font-face { font-family: test221; src: local("Verdana Negrito"); } +.test221 { font-family: test221, testbackup; } +@font-face { font-family: test222; src: local("Verdana Pogrubiona kursywa"); } +.test222 { font-family: test222, testbackup; } +@font-face { font-family: test223; src: local("Verdana Pogrubiony"); } +.test223 { font-family: test223, testbackup; } +@font-face { font-family: test224; src: local("Verdana Poševno"); } +.test224 { font-family: test224, testbackup; } +@font-face { font-family: test225; src: local("Verdana Tučná kurzíva"); } +.test225 { font-family: test225, testbackup; } +@font-face { font-family: test226; src: local("Verdana Tučné"); } +.test226 { font-family: test226, testbackup; } +@font-face { font-family: test227; src: local("Verdana Vet Cursief"); } +.test227 { font-family: test227, testbackup; } +@font-face { font-family: test228; src: local("Verdana Vet"); } +.test228 { font-family: test228, testbackup; } +@font-face { font-family: test229; src: local("Verdana fed kursiv"); } +.test229 { font-family: test229, testbackup; } +@font-face { font-family: test230; src: local("Verdana fed"); } +.test230 { font-family: test230, testbackup; } +@font-face { font-family: test231; src: local("Verdana kursiv"); } +.test231 { font-family: test231, testbackup; } +@font-face { font-family: test232; src: local("Verdana kurzíva"); } +.test232 { font-family: test232, testbackup; } +@font-face { font-family: test233; src: local("Verdana tučné kurzíva"); } +.test233 { font-family: test233, testbackup; } +@font-face { font-family: test234; src: local("Verdana tučné"); } +.test234 { font-family: test234, testbackup; } +@font-face { font-family: test235; src: local("Verdana İtalik"); } +.test235 { font-family: test235, testbackup; } +@font-face { font-family: test236; src: local("Verdana Έντονα Πλάγια"); } +.test236 { font-family: test236, testbackup; } +@font-face { font-family: test237; src: local("Verdana Έντονα"); } +.test237 { font-family: test237, testbackup; } +@font-face { font-family: test238; src: local("Verdana Πλάγια"); } +.test238 { font-family: test238, testbackup; } +@font-face { font-family: test239; src: local("Verdana Курсив"); } +.test239 { font-family: test239, testbackup; } +@font-face { font-family: test240; src: local("Verdana Полужирный Курсив"); } +.test240 { font-family: test240, testbackup; } +@font-face { font-family: test241; src: local("Verdana Полужирный"); } +.test241 { font-family: test241, testbackup; } +@font-face { font-family: test242; src: local("儷宋 Pro"); } +.test242 { font-family: test242, testbackup; } +@font-face { font-family: test243; src: local("儷黑 Pro"); } +.test243 { font-family: test243, testbackup; } +@font-face { font-family: test244; src: local("MS 明朝"); } +.test244 { font-family: test244, testbackup; } +@font-face { font-family: test245; src: local("MS P明朝"); } +.test245 { font-family: test245, testbackup; } +@font-face { font-family: test246; src: local("MS ゴシック"); } +.test246 { font-family: test246, testbackup; } +@font-face { font-family: test247; src: local("MS Pゴシック"); } +.test247 { font-family: test247, testbackup; } +@font-face { font-family: test248; src: local("仿宋"); } +.test248 { font-family: test248, testbackup; } +@font-face { font-family: test249; src: local("楷体"); } +.test249 { font-family: test249, testbackup; } +@font-face { font-family: test250; src: local("굴림"); } +.test250 { font-family: test250, testbackup; } +@font-face { font-family: test251; src: local("궁서"); } +.test251 { font-family: test251, testbackup; } +@font-face { font-family: test252; src: local("돋움"); } +.test252 { font-family: test252, testbackup; } +@font-face { font-family: test253; src: local("바탕"); } +.test253 { font-family: test253, testbackup; } +@font-face { font-family: test254; src: local("標楷體"); } +.test254 { font-family: test254, testbackup; } +@font-face { font-family: test255; src: local("細明體"); } +.test255 { font-family: test255, testbackup; } +@font-face { font-family: test256; src: local("굴림체"); } +.test256 { font-family: test256, testbackup; } +@font-face { font-family: test257; src: local("바탕체"); } +.test257 { font-family: test257, testbackup; } +@font-face { font-family: test258; src: local("細明體-ExtB"); } +.test258 { font-family: test258, testbackup; } +@font-face { font-family: test259; src: local("細明體_HKSCS"); } +.test259 { font-family: test259, testbackup; } +@font-face { font-family: test260; src: local("メイリオ ボールド イタリック"); } +.test260 { font-family: test260, testbackup; } +@font-face { font-family: test261; src: local("メイリオ ボールド"); } +.test261 { font-family: test261, testbackup; } +@font-face { font-family: test262; src: local("メイリオ"); } +.test262 { font-family: test262, testbackup; } +@font-face { font-family: test263; src: local("华文仿宋"); } +.test263 { font-family: test263, testbackup; } +@font-face { font-family: test264; src: local("华文细黑"); } +.test264 { font-family: test264, testbackup; } +@font-face { font-family: test265; src: local("华文黑体"); } +.test265 { font-family: test265, testbackup; } +@font-face { font-family: test266; src: local("微软雅黑"); } +.test266 { font-family: test266, testbackup; } +@font-face { font-family: test267; src: local("新細明體"); } +.test267 { font-family: test267, testbackup; } +@font-face { font-family: test268; src: local("新細明體-ExtB"); } +.test268 { font-family: test268, testbackup; } +@font-face { font-family: test269; src: local("微軟正黑體 Bold"); } +.test269 { font-family: test269, testbackup; } +@font-face { font-family: test270; src: local("רעננה"); } +.test270 { font-family: test270, testbackup; } +@font-face { font-family: test271; src: local("微軟正黑體"); } +.test271 { font-family: test271, testbackup; } +@font-face { font-family: test272; src: local("蘋果儷中黑"); } +.test272 { font-family: test272, testbackup; } +@font-face { font-family: test273; src: local("蘋果儷細宋"); } +.test273 { font-family: test273, testbackup; } +@font-face { font-family: test274; src: local("ヒラギノ角ゴ Pro W3"); } +.test274 { font-family: test274, testbackup; } +@font-face { font-family: test275; src: local("ヒラギノ丸ゴ Pro W4"); } +.test275 { font-family: test275, testbackup; } +@font-face { font-family: test276; src: local("ヒラギノ明朝 Pro W6"); } +.test276 { font-family: test276, testbackup; } +@font-face { font-family: test277; src: local("ヒラギノ丸ゴ ProN W4"); } +.test277 { font-family: test277, testbackup; } +@font-face { font-family: test278; src: local("רעננה Bold"); } +.test278 { font-family: test278, testbackup; } +</style> + +</head> +<body> + +<h4>The letter A should not appear below independent of locale:</h4> + +<p>(Mouse over to see local name used)</p> + +<table> +<tr> +<td class="test0" title="#궁서체 일반체">AA</td> +<td class="test1" title="#헤드라인A 일반체">AA</td> +<td class="test2" title="AppleGothic 일반체">AA</td> +<td class="test3" title="Arial Black Normal">AA</td> +<td class="test4" title="Arial Black Standard">AA</td> +<td class="test5" title="Arial Black normal">AA</td> +<td class="test6" title="Arial Black obyčejné">AA</td> +<td class="test7" title="Arial Black Обычный">AA</td> +<td class="test8" title="Arial Black Κανονικά">AA</td> +<td class="test9" title="Arial Corsivo">AA</td> +</tr> +<tr> +<td class="test10" title="Arial Cursief">AA</td> +<td class="test11" title="Arial Cursiva">AA</td> +<td class="test12" title="Arial Dőlt">AA</td> +<td class="test13" title="Arial Etzana">AA</td> +<td class="test14" title="Arial Fet Kursiv">AA</td> +<td class="test15" title="Arial Fet">AA</td> +<td class="test16" title="Arial Fett Kursiv">AA</td> +<td class="test17" title="Arial Fett">AA</td> +<td class="test18" title="Arial Félkövér dőlt">AA</td> +<td class="test19" title="Arial Félkövér">AA</td> +</tr> +<tr> +<td class="test20" title="Arial Gras Italique">AA</td> +<td class="test21" title="Arial Gras">AA</td> +<td class="test22" title="Arial Grassetto Corsivo">AA</td> +<td class="test23" title="Arial Grassetto">AA</td> +<td class="test24" title="Arial Halvfet Kursiv">AA</td> +<td class="test25" title="Arial Halvfet">AA</td> +<td class="test26" title="Arial Italique">AA</td> +<td class="test27" title="Arial Itálico">AA</td> +<td class="test28" title="Arial Kalın İtalik">AA</td> +<td class="test29" title="Arial Kalın">AA</td> +</tr> +<tr> +<td class="test30" title="Arial Krepko poševno">AA</td> +<td class="test31" title="Arial Krepko">AA</td> +<td class="test32" title="Arial Kursiv">AA</td> +<td class="test33" title="Arial Kursivoitu">AA</td> +<td class="test34" title="Arial Kursywa">AA</td> +<td class="test35" title="Arial Kurzíva">AA</td> +<td class="test36" title="Arial Lihavoitu Kursivoi">AA</td> +<td class="test37" title="Arial Lihavoitu">AA</td> +<td class="test38" title="Arial Lodi etzana">AA</td> +<td class="test39" title="Arial Lodia">AA</td> +</tr> +<tr> +<td class="test40" title="Arial Negreta">AA</td> +<td class="test41" title="Arial Negrita Cursiva">AA</td> +<td class="test42" title="Arial Negrita">AA</td> +<td class="test43" title="Arial Negrito Itálico">AA</td> +<td class="test44" title="Arial Negrito">AA</td> +<td class="test45" title="Arial Pogrubiona kursywa">AA</td> +<td class="test46" title="Arial Pogrubiony">AA</td> +<td class="test47" title="Arial Poševno">AA</td> +<td class="test48" title="Arial Tučná kurzíva">AA</td> +<td class="test49" title="Arial Tučné">AA</td> +</tr> +<tr> +<td class="test50" title="Arial Vet Cursief">AA</td> +<td class="test51" title="Arial Vet">AA</td> +<td class="test52" title="Arial fed kursiv">AA</td> +<td class="test53" title="Arial fed">AA</td> +<td class="test54" title="Arial kursiv">AA</td> +<td class="test55" title="Arial kurzíva">AA</td> +<td class="test56" title="Arial nghiêng đậm">AA</td> +<td class="test57" title="Arial nghiêng">AA</td> +<td class="test58" title="Arial tučné kurzíva">AA</td> +<td class="test59" title="Arial tučné">AA</td> +</tr> +<tr> +<td class="test60" title="Arial İtalik">AA</td> +<td class="test61" title="Arial đậm">AA</td> +<td class="test62" title="Arial Έντονα Πλάγια">AA</td> +<td class="test63" title="Arial Έντονα">AA</td> +<td class="test64" title="Arial Πλάγια">AA</td> +<td class="test65" title="Arial Курсив">AA</td> +<td class="test66" title="Arial Полужирный Курсив">AA</td> +<td class="test67" title="Arial Полужирный">AA</td> +<td class="test68" title="Brush Script MT Πλάγια">AA</td> +<td class="test69" title="Brush Script MT Курсив">AA</td> +</tr> +<tr> +<td class="test70" title="Century Gothic Halvfet">AA</td> +<td class="test71" title="Century Gothic Italique">AA</td> +<td class="test72" title="Century Gothic Kalın">AA</td> +<td class="test73" title="Century Gothic Krepko poševno">AA</td> +<td class="test74" title="Century Gothic Krepko">AA</td> +<td class="test75" title="Century Gothic Kursiv">AA</td> +<td class="test76" title="Comic Sans MS Negreta">AA</td> +<td class="test77" title="Comic Sans MS Έντονα">AA</td> +<td class="test78" title="Courier Carregado">AA</td> +<td class="test79" title="Courier Fet">AA</td> +</tr> +<tr> +<td class="test80" title="Courier Fett">AA</td> +<td class="test81" title="Courier Gras">AA</td> +<td class="test82" title="Courier lihava">AA</td> +<td class="test83" title="Courier vet">AA</td> +<td class="test84" title="Courier עבה">AA</td> +<td class="test85" title="Courier أسود">AA</td> +<td class="test86" title="Courier برجسته">AA</td> +<td class="test87" title="EucrosiaUPC Полужирный">AA</td> +<td class="test88" title="Franklin Gothic Medium Kursiv">AA</td> +<td class="test89" title="Garamond Kursywa">AA</td> +</tr> +<tr> +<td class="test90" title="Garamond Kurzíva">AA</td> +<td class="test91" title="Georgia Italique">AA</td> +<td class="test92" title="Georgia Itálico">AA</td> +<td class="test93" title="Georgia Kalın İtalik">AA</td> +<td class="test94" title="HGP明朝B">AA</td> +<td class="test95" title="HGP明朝E">AA</td> +<td class="test96" title="HGPゴシックE">AA</td> +<td class="test97" title="HGPゴシックM">AA</td> +<td class="test98" title="HGP創英角ゴシックUB">AA</td> +<td class="test99" title="HGS明朝B">AA</td> +</tr> +<tr> +<td class="test100" title="HGS明朝E">AA</td> +<td class="test101" title="HGS行書体">AA</td> +<td class="test102" title="HGS教科書体">AA</td> +<td class="test103" title="HGSゴシックE">AA</td> +<td class="test104" title="HGSゴシックM">AA</td> +<td class="test105" title="HGS創英プレゼンスEB">AA</td> +<td class="test106" title="HG明朝B">AA</td> +<td class="test107" title="HG正楷書体-PRO">AA</td> +<td class="test108" title="HGゴシックE">AA</td> +<td class="test109" title="HGゴシックM">AA</td> +</tr> +<tr> +<td class="test110" title="HG丸ゴシックM-PRO">AA</td> +<td class="test111" title="HG創英プレゼンスEB">AA</td> +<td class="test112" title="Helvetica Carregado">AA</td> +<td class="test113" title="Helvetica עבה">AA</td> +<td class="test114" title="Helvetica أسود">AA</td> +<td class="test115" title="Helvetica برجسته">AA</td> +<td class="test116" title="Osaka−等幅">AA</td> +<td class="test117" title="Thonburi Carregado">AA</td> +<td class="test118" title="Thonburi Gras">AA</td> +<td class="test119" title="Thonburi vet">AA</td> +</tr> +<tr> +<td class="test120" title="Times Cursiva">AA</td> +<td class="test121" title="Times Gras">AA</td> +<td class="test122" title="Times Negrita">AA</td> +<td class="test123" title="Times New Roman Corsivo">AA</td> +<td class="test124" title="Times New Roman Cursief">AA</td> +<td class="test125" title="Times New Roman Cursiva">AA</td> +<td class="test126" title="Times New Roman Dőlt">AA</td> +<td class="test127" title="Times New Roman Etzana">AA</td> +<td class="test128" title="Times New Roman Fet Kursiv">AA</td> +<td class="test129" title="Times New Roman Fet">AA</td> +</tr> +<tr> +<td class="test130" title="Times New Roman Fett Kursiv">AA</td> +<td class="test131" title="Times New Roman Fett">AA</td> +<td class="test132" title="Times New Roman Félkövér dőlt">AA</td> +<td class="test133" title="Times New Roman Félkövér">AA</td> +<td class="test134" title="Times New Roman Gras Italique">AA</td> +<td class="test135" title="Times New Roman Gras">AA</td> +<td class="test136" title="Times New Roman Grassetto Corsivo">AA</td> +<td class="test137" title="Times New Roman Grassetto">AA</td> +<td class="test138" title="Times New Roman Halvfet Kursiv">AA</td> +<td class="test139" title="Times New Roman Halvfet">AA</td> +</tr> +<tr> +<td class="test140" title="Times New Roman Italique">AA</td> +<td class="test141" title="Times New Roman Itálico">AA</td> +<td class="test142" title="Times New Roman Kalın İtalik">AA</td> +<td class="test143" title="Times New Roman Kalın">AA</td> +<td class="test144" title="Times New Roman Krepko poševno">AA</td> +<td class="test145" title="Times New Roman Krepko">AA</td> +<td class="test146" title="Times New Roman Kursiv">AA</td> +<td class="test147" title="Times New Roman Kursivoitu">AA</td> +<td class="test148" title="Times New Roman Kurzíva">AA</td> +<td class="test149" title="Times New Roman Lihavoitu Kursivoi">AA</td> +</tr> +<tr> +<td class="test150" title="Times New Roman Lihavoitu">AA</td> +<td class="test151" title="Times New Roman Lodi etzana">AA</td> +<td class="test152" title="Times New Roman Lodia">AA</td> +<td class="test153" title="Times New Roman Negreta cursiva">AA</td> +<td class="test154" title="Times New Roman Negreta">AA</td> +<td class="test155" title="Times New Roman Negrita Cursiva">AA</td> +<td class="test156" title="Times New Roman Negrita">AA</td> +<td class="test157" title="Times New Roman Negrito Itálico">AA</td> +<td class="test158" title="Times New Roman Negrito">AA</td> +<td class="test159" title="Times New Roman Pogrubiona kursywa">AA</td> +</tr> +<tr> +<td class="test160" title="Times New Roman Pogrubiona">AA</td> +<td class="test161" title="Times New Roman Poševno">AA</td> +<td class="test162" title="Times New Roman Tučná kurzíva">AA</td> +<td class="test163" title="Times New Roman Tučné">AA</td> +<td class="test164" title="Times New Roman Vet Cursief">AA</td> +<td class="test165" title="Times New Roman Vet">AA</td> +<td class="test166" title="Times New Roman cursiva">AA</td> +<td class="test167" title="Times New Roman fed kursiv">AA</td> +<td class="test168" title="Times New Roman fed">AA</td> +<td class="test169" title="Times New Roman kursiv">AA</td> +</tr> +<tr> +<td class="test170" title="Times New Roman kursywa">AA</td> +<td class="test171" title="Times New Roman kurzíva">AA</td> +<td class="test172" title="Times New Roman nghiêng đậm">AA</td> +<td class="test173" title="Times New Roman nghiêng">AA</td> +<td class="test174" title="Times New Roman tučné kurzíva">AA</td> +<td class="test175" title="Times New Roman tučné">AA</td> +<td class="test176" title="Times New Roman İtalik">AA</td> +<td class="test177" title="Times New Roman đậm">AA</td> +<td class="test178" title="Times New Roman Έντονα Πλάγια">AA</td> +<td class="test179" title="Times New Roman Έντονα">AA</td> +</tr> +<tr> +<td class="test180" title="Times New Roman Πλάγια">AA</td> +<td class="test181" title="Times New Roman Курсив">AA</td> +<td class="test182" title="Times New Roman Полужирный Курсив">AA</td> +<td class="test183" title="Times New Roman Полужирный">AA</td> +<td class="test184" title="Times grassetto">AA</td> +<td class="test185" title="Verdana Corsivo">AA</td> +<td class="test186" title="Verdana Cursief">AA</td> +<td class="test187" title="Verdana Cursiva">AA</td> +<td class="test188" title="Verdana Dőlt">AA</td> +<td class="test189" title="Verdana Etzana">AA</td> +</tr> +<tr> +<td class="test190" title="Verdana Fet Kursiv">AA</td> +<td class="test191" title="Verdana Fet">AA</td> +<td class="test192" title="Verdana Fett Kursiv">AA</td> +<td class="test193" title="Verdana Fett">AA</td> +<td class="test194" title="Verdana Félkövér dőlt">AA</td> +<td class="test195" title="Verdana Félkövér">AA</td> +<td class="test196" title="Verdana Gras Italique">AA</td> +<td class="test197" title="Verdana Gras">AA</td> +<td class="test198" title="Verdana Grassetto Corsivo">AA</td> +<td class="test199" title="Verdana Grassetto">AA</td> +</tr> +<tr> +<td class="test200" title="Verdana Halvfet Kursiv">AA</td> +<td class="test201" title="Verdana Halvfet">AA</td> +<td class="test202" title="Verdana Italique">AA</td> +<td class="test203" title="Verdana Itálico">AA</td> +<td class="test204" title="Verdana Kalın İtalik">AA</td> +<td class="test205" title="Verdana Kalın">AA</td> +<td class="test206" title="Verdana Krepko poševno">AA</td> +<td class="test207" title="Verdana Krepko">AA</td> +<td class="test208" title="Verdana Kursiv">AA</td> +<td class="test209" title="Verdana Kursivoitu">AA</td> +</tr> +<tr> +<td class="test210" title="Verdana Kursywa">AA</td> +<td class="test211" title="Verdana Kurzíva">AA</td> +<td class="test212" title="Verdana Lihavoitu Kursivoi">AA</td> +<td class="test213" title="Verdana Lihavoitu">AA</td> +<td class="test214" title="Verdana Lodi etzana">AA</td> +<td class="test215" title="Verdana Lodia">AA</td> +<td class="test216" title="Verdana Negreta cursiva">AA</td> +<td class="test217" title="Verdana Negreta">AA</td> +<td class="test218" title="Verdana Negrita Cursiva">AA</td> +<td class="test219" title="Verdana Negrita">AA</td> +</tr> +<tr> +<td class="test220" title="Verdana Negrito Itálico">AA</td> +<td class="test221" title="Verdana Negrito">AA</td> +<td class="test222" title="Verdana Pogrubiona kursywa">AA</td> +<td class="test223" title="Verdana Pogrubiony">AA</td> +<td class="test224" title="Verdana Poševno">AA</td> +<td class="test225" title="Verdana Tučná kurzíva">AA</td> +<td class="test226" title="Verdana Tučné">AA</td> +<td class="test227" title="Verdana Vet Cursief">AA</td> +<td class="test228" title="Verdana Vet">AA</td> +<td class="test229" title="Verdana fed kursiv">AA</td> +</tr> +<tr> +<td class="test230" title="Verdana fed">AA</td> +<td class="test231" title="Verdana kursiv">AA</td> +<td class="test232" title="Verdana kurzíva">AA</td> +<td class="test233" title="Verdana tučné kurzíva">AA</td> +<td class="test234" title="Verdana tučné">AA</td> +<td class="test235" title="Verdana İtalik">AA</td> +<td class="test236" title="Verdana Έντονα Πλάγια">AA</td> +<td class="test237" title="Verdana Έντονα">AA</td> +<td class="test238" title="Verdana Πλάγια">AA</td> +<td class="test239" title="Verdana Курсив">AA</td> +</tr> +<tr> +<td class="test240" title="Verdana Полужирный Курсив">AA</td> +<td class="test241" title="Verdana Полужирный">AA</td> +<td class="test242" title="儷宋 Pro">AA</td> +<td class="test243" title="儷黑 Pro">AA</td> +<td class="test244" title="MS 明朝">AA</td> +<td class="test245" title="MS P明朝">AA</td> +<td class="test246" title="MS ゴシック">AA</td> +<td class="test247" title="MS Pゴシック">AA</td> +<td class="test248" title="仿宋">AA</td> +<td class="test249" title="楷体">AA</td> +</tr> +<tr> +<td class="test250" title="굴림">AA</td> +<td class="test251" title="궁서">AA</td> +<td class="test252" title="돋움">AA</td> +<td class="test253" title="바탕">AA</td> +<td class="test254" title="標楷體">AA</td> +<td class="test255" title="細明體">AA</td> +<td class="test256" title="굴림체">AA</td> +<td class="test257" title="바탕체">AA</td> +<td class="test258" title="細明體-ExtB">AA</td> +<td class="test259" title="細明體_HKSCS">AA</td> +</tr> +<tr> +<td class="test260" title="メイリオ ボールド イタリック">AA</td> +<td class="test261" title="メイリオ ボールド">AA</td> +<td class="test262" title="メイリオ">AA</td> +<td class="test263" title="华文仿宋">AA</td> +<td class="test264" title="华文细黑">AA</td> +<td class="test265" title="华文黑体">AA</td> +<td class="test266" title="微软雅黑">AA</td> +<td class="test267" title="新細明體">AA</td> +<td class="test268" title="新細明體-ExtB">AA</td> +<td class="test269" title="微軟正黑體 Bold">AA</td> +</tr> +<tr> +<td class="test270" title="רעננה">AA</td> +<td class="test271" title="微軟正黑體">AA</td> +<td class="test272" title="蘋果儷中黑">AA</td> +<td class="test273" title="蘋果儷細宋">AA</td> +<td class="test274" title="ヒラギノ角ゴ Pro W3">AA</td> +<td class="test275" title="ヒラギノ丸ゴ Pro W4">AA</td> +<td class="test276" title="ヒラギノ明朝 Pro W6">AA</td> +<td class="test277" title="ヒラギノ丸ゴ ProN W4">AA</td> +<td class="test278" title="רעננה Bold">AA</td> +</tr> +</table> + +</body> +</html>
\ No newline at end of file diff --git a/layout/reftests/font-face/src-list-local-ps.html b/layout/reftests/font-face/src-list-local-ps.html new file mode 100644 index 000000000..4ca4335de --- /dev/null +++ b/layout/reftests/font-face/src-list-local-ps.html @@ -0,0 +1,57 @@ +<!DOCTYPE HTML> +<html> +<head> +<title>src local with postscript names</title> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> + +<style type="text/css"> + +body { + margin: 50px; + font-size: 24pt; +} + +/* use full names */ + +@font-face { + font-family: test-regular; + src: local(HelveticaNeue), local(BitstreamVeraSans-Roman), local(FreeSans), + local(SwissA), local(DejaVuSans), local(ArialMT); +} + +/* use Helvetica on the Mac, since Futura has no bold face on 10.4, 10.5 */ +@font-face { + font-family: test-bold; + src: local(HelveticaNeue-Bold), local(BitstreamVeraSans-Bold), + local(FreeSansBold), local(SwissA-Bold), local(DejaVuSans-Bold), + local(Arial-BoldMT); +} + +@font-face { + font-family: test-italic; + src: local(HelveticaNeue-Italic), local(BitstreamVeraSans-Oblique), + local(FreeSansOblique), local(SwissA-Italic), + local(DejaVuSans-Oblique), local(Arial-ItalicMT); +} + +.regular { font-family: test-regular, serif; } +.bold { font-family: test-bold, serif; } +.italic { font-family: test-italic, serif; } + +</style> + +<script type="text/javascript"> + +</script> + +</head> +<body> + +<p class="regular">This should be a sans-serif face</p> + +<p class="bold">This should be a bold sans-serif face</p> + +<p class="italic">This should be an italic sans-serif face</p> + +</body> +</html> diff --git a/layout/reftests/font-face/synthetic-variations-ref.html b/layout/reftests/font-face/synthetic-variations-ref.html new file mode 100644 index 000000000..f69164088 --- /dev/null +++ b/layout/reftests/font-face/synthetic-variations-ref.html @@ -0,0 +1,81 @@ +<!DOCTYPE HTML> +<html><head> + + +<title>@font-face and synthetic rendering</title> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + +<style type="text/css"> + +@font-face { + font-family: test; + src: url(../fonts/mplus/mplus-1p-regular.ttf); + font-weight: normal; +} + +body { + margin: 50px; + font-family: sans-serif; + font-size: 18pt; +} + +table { + border-collapse: collapse; +} + +#test1, #test2, #test3 { font-family: test, Times New Roman, Times, Bitstream Vera, serif; } + +th, td { + padding-left: 1em; + padding-right: 1em; + text-align: left; +} + +th { font-weight: normal; } +td { font-weight: bold; } +em { font-style: italic; } + +</style> + + +</head><body> + +<p>All lines should appear in a sans-serif face with proper bolding</p> + +<table id="test1"> +<tr class="w1"><th>normal</th><th><em>italic</em></th><td>bold</td><td><em>bolditalic</em></td></tr> +<tr class="w2"><th>normal</th><th><em>italic</em></th><td>bold</td><td><em>bolditalic</em></td></tr> +<tr class="w3"><th>normal</th><th><em>italic</em></th><td>bold</td><td><em>bolditalic</em></td></tr> +<tr class="w4"><th>normal</th><th><em>italic</em></th><td>bold</td><td><em>bolditalic</em></td></tr> +<tr class="w5"><th>normal</th><th><em>italic</em></th><td>bold</td><td><em>bolditalic</em></td></tr> +<tr class="w6"><th>normal</th><th><em>italic</em></th><td>bold</td><td><em>bolditalic</em></td></tr> +<tr class="w7"><th>normal</th><th><em>italic</em></th><td>bold</td><td><em>bolditalic</em></td></tr> +<tr class="w8"><th>normal</th><th><em>italic</em></th><td>bold</td><td><em>bolditalic</em></td></tr> +<tr class="w9"><th>normal</th><th><em>italic</em></th><td>bold</td><td><em>bolditalic</em></td></tr> +</table> + +<table id="test2"> +<tr class="w9"><th>normal</th><th><em>italic</em></th><td>bold</td><td><em>bolditalic</em></td></tr> +<tr class="w8"><th>normal</th><th><em>italic</em></th><td>bold</td><td><em>bolditalic</em></td></tr> +<tr class="w7"><th>normal</th><th><em>italic</em></th><td>bold</td><td><em>bolditalic</em></td></tr> +<tr class="w6"><th>normal</th><th><em>italic</em></th><td>bold</td><td><em>bolditalic</em></td></tr> +<tr class="w5"><th>normal</th><th><em>italic</em></th><td>bold</td><td><em>bolditalic</em></td></tr> +<tr class="w4"><th>normal</th><th><em>italic</em></th><td>bold</td><td><em>bolditalic</em></td></tr> +<tr class="w3"><th>normal</th><th><em>italic</em></th><td>bold</td><td><em>bolditalic</em></td></tr> +<tr class="w2"><th>normal</th><th><em>italic</em></th><td>bold</td><td><em>bolditalic</em></td></tr> +<tr class="w1"><th>normal</th><th><em>italic</em></th><td>bold</td><td><em>bolditalic</em></td></tr> +</table> + +<table id="test3"> +<tr class="w1"><th><span>normal</span></th><th><span><em>italic</em></span></th><td><span>bold</span></td><td><span><em>bolditalic</em></span></td></tr> +<tr class="w2"><th><span>normal</span></th><th><span><em>italic</em></span></th><td><span>bold</span></td><td><span><em>bolditalic</em></span></td></tr> +<tr class="w3"><th><span>normal</span></th><th><span><em>italic</em></span></th><td><span>bold</span></td><td><span><em>bolditalic</em></span></td></tr> +<tr class="w4"><th><span>normal</span></th><th><span><em>italic</em></span></th><td><span>bold</span></td><td><span><em>bolditalic</em></span></td></tr> +<tr class="w5"><th><span>normal</span></th><th><span><em>italic</em></span></th><td><span>bold</span></td><td><span><em>bolditalic</em></span></td></tr> +<tr class="w6"><th><span>normal</span></th><th><span><em>italic</em></span></th><td><span>bold</span></td><td><span><em>bolditalic</em></span></td></tr> +<tr class="w7"><th><span>normal</span></th><th><span><em>italic</em></span></th><td><span>bold</span></td><td><span><em>bolditalic</em></span></td></tr> +<tr class="w8"><th><span>normal</span></th><th><span><em>italic</em></span></th><td><span>bold</span></td><td><span><em>bolditalic</em></span></td></tr> +<tr class="w9"><th><span>normal</span></th><th><span><em>italic</em></span></th><td><span>bold</span></td><td><span><em>bolditalic</em></span></td></tr> +</table> + +</body></html>
\ No newline at end of file diff --git a/layout/reftests/font-face/synthetic-variations.html b/layout/reftests/font-face/synthetic-variations.html new file mode 100644 index 000000000..c5fbd7e7b --- /dev/null +++ b/layout/reftests/font-face/synthetic-variations.html @@ -0,0 +1,140 @@ +<!DOCTYPE HTML> +<html><head> + + +<title>@font-face and synthetic rendering</title> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + +<style type="text/css"> + +@font-face { + font-family: test1; + src: url(../fonts/mplus/mplus-1p-regular.ttf); + font-weight: normal; +} + +@font-face { + font-family: test2; + src: url(../fonts/mplus/mplus-1p-regular.ttf); + font-weight: normal; +} + +@font-face { + font-family: test3; + src: url(../fonts/mplus/mplus-1p-thin.ttf); + font-weight: 100; +} + +@font-face { + font-family: test3; + src: url(../fonts/mplus/mplus-1p-regular.ttf); + font-weight: 300; +} + +body { + margin: 50px; + font-family: sans-serif; + font-size: 18pt; +} + +table { + border-collapse: collapse; +} + +.w1 { font-weight: 100; } +.w2 { font-weight: 200; } +.w3 { font-weight: 300; } +.w4 { font-weight: 400; } +.w5 { font-weight: 500; } +.w6 { font-weight: 600; } +.w7 { font-weight: 700; } +.w8 { font-weight: 800; } +.w9 { font-weight: 900; } + +#test1 { font-family: test1, Times New Roman, Times, Bitstream Vera, serif; } +#test2 { font-family: test2, Times New Roman, Times, Bitstream Vera, serif; } +#test3 { font-family: test3, Times New Roman, Times, Bitstream Vera, serif; } + +th, td { + font-weight: inherit; + padding-left: 1em; + padding-right: 1em; + text-align: left; +} + +em { font-style: italic; } + +#test1 .w1 td, #test1 .w1 td span { font-weight: bolder; } +#test1 .w2 td, #test1 .w2 td span { font-weight: bolder; } +#test1 .w3 td, #test1 .w3 td span { font-weight: bolder; } +#test1 .w4 td { font-weight: bolder; } +#test1 .w5 td { font-weight: bolder; } +#test1 .w6 th { font-weight: lighter; } +#test1 .w7 th { font-weight: lighter; } +#test1 .w8 th, #test1 .w8 th span { font-weight: lighter; } +#test1 .w9 th, #test1 .w9 th span { font-weight: lighter; } + +#test2 .w1 td, #test2 .w1 td span { font-weight: bolder; } +#test2 .w2 td, #test2 .w2 td span { font-weight: bolder; } +#test2 .w3 td, #test2 .w3 td span { font-weight: bolder; } +#test2 .w4 td { font-weight: bolder; } +#test2 .w5 td { font-weight: bolder; } +#test2 .w6 th { font-weight: lighter; } +#test2 .w7 th { font-weight: lighter; } +#test2 .w8 th, #test2 .w8 th span { font-weight: lighter; } +#test2 .w9 th, #test2 .w9 th span { font-weight: lighter; } + +#test3 .w1 th, #test3 .w1 td, #test3 .w1 td span { font-weight: bolder; } +#test3 .w2 th, #test3 .w2 td, #test3 .w2 td span { font-weight: bolder; } +#test3 .w3 th, #test3 .w3 td, #test3 .w3 td span { font-weight: bolder; } +#test3 .w4 td { font-weight: bolder; } +#test3 .w5 td { font-weight: bolder; } +#test3 .w6 th { font-weight: lighter; } +#test3 .w7 th { font-weight: lighter; } +#test3 .w8 td, #test3 .w8 th, #test3 .w8 th span { font-weight: lighter; } +#test3 .w9 td, #test3 .w9 th, #test3 .w9 th span { font-weight: lighter; } + +</style> + + +</head><body> + +<p>All lines should appear in a sans-serif face with proper bolding</p> + +<table id="test1"> +<tr class="w1"><th><span>normal</span></th><th><em><span>italic</span></em></th><td><span>bold</span></td><td><em><span>bolditalic</span></em></td></tr> +<tr class="w2"><th><span>normal</span></th><th><em><span>italic</span></em></th><td><span>bold</span></td><td><em><span>bolditalic</span></em></td></tr> +<tr class="w3"><th><span>normal</span></th><th><em><span>italic</span></em></th><td><span>bold</span></td><td><em><span>bolditalic</span></em></td></tr> +<tr class="w4"><th><span>normal</span></th><th><em><span>italic</span></em></th><td><span>bold</span></td><td><em><span>bolditalic</span></em></td></tr> +<tr class="w5"><th><span>normal</span></th><th><em><span>italic</span></em></th><td><span>bold</span></td><td><em><span>bolditalic</span></em></td></tr> +<tr class="w6"><th><span>normal</span></th><th><em><span>italic</span></em></th><td><span>bold</span></td><td><em><span>bolditalic</span></em></td></tr> +<tr class="w7"><th><span>normal</span></th><th><em><span>italic</span></em></th><td><span>bold</span></td><td><em><span>bolditalic</span></em></td></tr> +<tr class="w8"><th><span>normal</span></th><th><em><span>italic</span></em></th><td><span>bold</span></td><td><em><span>bolditalic</span></em></td></tr> +<tr class="w9"><th><span>normal</span></th><th><em><span>italic</span></em></th><td><span>bold</span></td><td><em><span>bolditalic</span></em></td></tr> +</table> + +<table id="test2"> +<tr class="w9"><th><span>normal</span></th><th><em><span>italic</span></em></th><td><span>bold</span></td><td><em><span>bolditalic</span></em></td></tr> +<tr class="w8"><th><span>normal</span></th><th><em><span>italic</span></em></th><td><span>bold</span></td><td><em><span>bolditalic</span></em></td></tr> +<tr class="w7"><th><span>normal</span></th><th><em><span>italic</span></em></th><td><span>bold</span></td><td><em><span>bolditalic</span></em></td></tr> +<tr class="w6"><th><span>normal</span></th><th><em><span>italic</span></em></th><td><span>bold</span></td><td><em><span>bolditalic</span></em></td></tr> +<tr class="w5"><th><span>normal</span></th><th><em><span>italic</span></em></th><td><span>bold</span></td><td><em><span>bolditalic</span></em></td></tr> +<tr class="w4"><th><span>normal</span></th><th><em><span>italic</span></em></th><td><span>bold</span></td><td><em><span>bolditalic</span></em></td></tr> +<tr class="w3"><th><span>normal</span></th><th><em><span>italic</span></em></th><td><span>bold</span></td><td><em><span>bolditalic</span></em></td></tr> +<tr class="w2"><th><span>normal</span></th><th><em><span>italic</span></em></th><td><span>bold</span></td><td><em><span>bolditalic</span></em></td></tr> +<tr class="w1"><th><span>normal</span></th><th><em><span>italic</span></em></th><td><span>bold</span></td><td><em><span>bolditalic</span></em></td></tr> +</table> + +<table id="test3"> +<tr class="w1"><th><span>normal</span></th><th><span><em>italic</em></span></th><td><span>bold</span></td><td><span><em>bolditalic</em></span></td></tr> +<tr class="w2"><th><span>normal</span></th><th><span><em>italic</em></span></th><td><span>bold</span></td><td><span><em>bolditalic</em></span></td></tr> +<tr class="w3"><th><span>normal</span></th><th><span><em>italic</em></span></th><td><span>bold</span></td><td><span><em>bolditalic</em></span></td></tr> +<tr class="w4"><th><span>normal</span></th><th><span><em>italic</em></span></th><td><span>bold</span></td><td><span><em>bolditalic</em></span></td></tr> +<tr class="w5"><th><span>normal</span></th><th><span><em>italic</em></span></th><td><span>bold</span></td><td><span><em>bolditalic</em></span></td></tr> +<tr class="w6"><th><span>normal</span></th><th><span><em>italic</em></span></th><td><span>bold</span></td><td><span><em>bolditalic</em></span></td></tr> +<tr class="w7"><th><span>normal</span></th><th><span><em>italic</em></span></th><td><span>bold</span></td><td><span><em>bolditalic</em></span></td></tr> +<tr class="w8"><th><span>normal</span></th><th><span><em>italic</em></span></th><td><span>bold</span></td><td><span><em>bolditalic</em></span></td></tr> +<tr class="w9"><th><span>normal</span></th><th><span><em>italic</em></span></th><td><span>bold</span></td><td><span><em>bolditalic</em></span></td></tr> +</table> + +</body></html> diff --git a/layout/reftests/font-face/synthetic-weight-style-ref.html b/layout/reftests/font-face/synthetic-weight-style-ref.html new file mode 100644 index 000000000..af44b593f --- /dev/null +++ b/layout/reftests/font-face/synthetic-weight-style-ref.html @@ -0,0 +1,120 @@ +<!DOCTYPE HTML> +<html> +<head> +<title>@font-face and synthetic rendering</title> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> + +<style type="text/css"> + +@import url(../fonts/mplus/mplusfonts.css); + +body { + margin: 50px; + font-family: mplus1p, Futura, sans-serif; + font-size: 18pt; +} + +table { + border-collapse: collapse; + margin-left: 1em; +} + +td + td { + padding-left: 1em; +} + +</style> + + +</head> + +<body> + +<h4>Text below should appear in normal face with no synthetic bolding/italics</h4> + +<table> +<tr> +<td>100</td> +<td>Regular</td> +<td>Italic</td> +<td>Oblique</td> +<td>Regular</td> +<td>Italic</td> +<td>Oblique</td> +</tr> +<tr> +<td>200</td> +<td>Regular</td> +<td>Italic</td> +<td>Oblique</td> +<td>Regular</td> +<td>Italic</td> +<td>Oblique</td> +</tr> +<tr> +<td>300</td> +<td>Regular</td> +<td>Italic</td> +<td>Oblique</td> +<td>Regular</td> +<td>Italic</td> +<td>Oblique</td> +</tr> +<tr> +<td>400</td> +<td>Regular</td> +<td>Italic</td> +<td>Oblique</td> +<td>Regular</td> +<td>Italic</td> +<td>Oblique</td> +</tr> +<tr> +<td>500</td> +<td>Regular</td> +<td>Italic</td> +<td>Oblique</td> +<td>Regular</td> +<td>Italic</td> +<td>Oblique</td> +</tr> +<tr> +<td>600</td> +<td>Regular</td> +<td>Italic</td> +<td>Oblique</td> +<td>Regular</td> +<td>Italic</td> +<td>Oblique</td> +</tr> +<tr> +<td>700</td> +<td>Regular</td> +<td>Italic</td> +<td>Oblique</td> +<td>Regular</td> +<td>Italic</td> +<td>Oblique</td> +</tr> +<tr> +<td>800</td> +<td>Regular</td> +<td>Italic</td> +<td>Oblique</td> +<td>Regular</td> +<td>Italic</td> +<td>Oblique</td> +</tr> +<tr> +<td>900</td> +<td>Regular</td> +<td>Italic</td> +<td>Oblique</td> +<td>Regular</td> +<td>Italic</td> +<td>Oblique</td> +</tr> +</table> + +</body> +</html>
\ No newline at end of file diff --git a/layout/reftests/font-face/synthetic-weight-style.html b/layout/reftests/font-face/synthetic-weight-style.html new file mode 100644 index 000000000..332e62eae --- /dev/null +++ b/layout/reftests/font-face/synthetic-weight-style.html @@ -0,0 +1,165 @@ +<!DOCTYPE HTML> +<html> +<head> +<title>@font-face and synthetic rendering</title> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> + +<style type="text/css"> + +@import url(../fonts/mplus/mplusfonts.css); + +body { + margin: 50px; + font-family: mplus1p, Futura, sans-serif; + font-size: 18pt; +} + +table { + border-collapse: collapse; + margin-left: 1em; +} + +td + td { + padding-left: 1em; +} + +@font-face { font-family: mplus-w1; font-weight: 100; src: url(../fonts/mplus/mplus-1p-regular.ttf); } +@font-face { font-family: mplus-w1; font-style: italic; font-weight: 100; src: url(../fonts/mplus/mplus-1p-regular.ttf); } +@font-face { font-family: mplus-w1; font-style: oblique; font-weight: 100; src: url(../fonts/mplus/mplus-1p-regular.ttf); } +.mplus-w1 { font-family: mplus-w1; } + +@font-face { font-family: mplus-w2; font-weight: 200; src: url(../fonts/mplus/mplus-1p-regular.ttf); } +@font-face { font-family: mplus-w2; font-style: italic; font-weight: 200; src: url(../fonts/mplus/mplus-1p-regular.ttf); } +@font-face { font-family: mplus-w2; font-style: oblique; font-weight: 200; src: url(../fonts/mplus/mplus-1p-regular.ttf); } +.mplus-w2 { font-family: mplus-w2; } + +@font-face { font-family: mplus-w3; font-weight: 300; src: url(../fonts/mplus/mplus-1p-regular.ttf); } +@font-face { font-family: mplus-w3; font-style: italic; font-weight: 300; src: url(../fonts/mplus/mplus-1p-regular.ttf); } +@font-face { font-family: mplus-w3; font-style: oblique; font-weight: 300; src: url(../fonts/mplus/mplus-1p-regular.ttf); } +.mplus-w3 { font-family: mplus-w3; } + +@font-face { font-family: mplus-w4; font-weight: 400; src: url(../fonts/mplus/mplus-1p-regular.ttf); } +@font-face { font-family: mplus-w4; font-style: italic; font-weight: 400; src: url(../fonts/mplus/mplus-1p-regular.ttf); } +@font-face { font-family: mplus-w4; font-style: oblique; font-weight: 400; src: url(../fonts/mplus/mplus-1p-regular.ttf); } +.mplus-w4 { font-family: mplus-w4; } + +@font-face { font-family: mplus-w5; font-weight: 500; src: url(../fonts/mplus/mplus-1p-regular.ttf); } +@font-face { font-family: mplus-w5; font-style: italic; font-weight: 500; src: url(../fonts/mplus/mplus-1p-regular.ttf); } +@font-face { font-family: mplus-w5; font-style: oblique; font-weight: 500; src: url(../fonts/mplus/mplus-1p-regular.ttf); } +.mplus-w5 { font-family: mplus-w5; } + +@font-face { font-family: mplus-w6; font-weight: 600; src: url(../fonts/mplus/mplus-1p-regular.ttf); } +@font-face { font-family: mplus-w6; font-style: italic; font-weight: 600; src: url(../fonts/mplus/mplus-1p-regular.ttf); } +@font-face { font-family: mplus-w6; font-style: oblique; font-weight: 600; src: url(../fonts/mplus/mplus-1p-regular.ttf); } +.mplus-w6 { font-family: mplus-w6; } + +@font-face { font-family: mplus-w7; font-weight: 700; src: url(../fonts/mplus/mplus-1p-regular.ttf); } +@font-face { font-family: mplus-w7; font-style: italic; font-weight: 700; src: url(../fonts/mplus/mplus-1p-regular.ttf); } +@font-face { font-family: mplus-w7; font-style: oblique; font-weight: 700; src: url(../fonts/mplus/mplus-1p-regular.ttf); } +.mplus-w7 { font-family: mplus-w7; } + +@font-face { font-family: mplus-w8; font-weight: 800; src: url(../fonts/mplus/mplus-1p-regular.ttf); } +@font-face { font-family: mplus-w8; font-style: italic; font-weight: 800; src: url(../fonts/mplus/mplus-1p-regular.ttf); } +@font-face { font-family: mplus-w8; font-style: oblique; font-weight: 800; src: url(../fonts/mplus/mplus-1p-regular.ttf); } +.mplus-w8 { font-family: mplus-w8; } + +@font-face { font-family: mplus-w9; font-weight: 900; src: url(../fonts/mplus/mplus-1p-regular.ttf); } +@font-face { font-family: mplus-w9; font-style: italic; font-weight: 900; src: url(../fonts/mplus/mplus-1p-regular.ttf); } +@font-face { font-family: mplus-w9; font-style: oblique; font-weight: 900; src: url(../fonts/mplus/mplus-1p-regular.ttf); } +.mplus-w9 { font-family: mplus-w9; } + +</style> + + +</head> + +<body> + +<h4>Text below should appear in normal face with no synthetic bolding/italics</h4> + +<table> +<tr class="mplus-w1"> +<td style="font-family: mplus1p;">100</td> +<td>Regular</td> +<td style="font-style: italic;">Italic</td> +<td style="font-style: oblique;">Oblique</td> +<td style="font-weight: 100;">Regular</td> +<td style="font-style: italic;font-weight: 100;">Italic</td> +<td style="font-style: oblique;font-weight: 100;">Oblique</td> +</tr> +<tr class="mplus-w2"> +<td style="font-family: mplus1p;">200</td> +<td>Regular</td> +<td style="font-style: italic;">Italic</td> +<td style="font-style: oblique;">Oblique</td> +<td style="font-weight: 200;">Regular</td> +<td style="font-style: italic;font-weight: 200;">Italic</td> +<td style="font-style: oblique;font-weight: 200;">Oblique</td> +</tr> +<tr class="mplus-w3"> +<td style="font-family: mplus1p;">300</td> +<td>Regular</td> +<td style="font-style: italic;">Italic</td> +<td style="font-style: oblique;">Oblique</td> +<td style="font-weight: 300;">Regular</td> +<td style="font-style: italic;font-weight: 300;">Italic</td> +<td style="font-style: oblique;font-weight: 300;">Oblique</td> +</tr> +<tr class="mplus-w4"> +<td style="font-family: mplus1p;">400</td> +<td>Regular</td> +<td style="font-style: italic;">Italic</td> +<td style="font-style: oblique;">Oblique</td> +<td style="font-weight: 400;">Regular</td> +<td style="font-style: italic;font-weight: 400;">Italic</td> +<td style="font-style: oblique;font-weight: 400;">Oblique</td> +</tr> +<tr class="mplus-w5"> +<td style="font-family: mplus1p;">500</td> +<td>Regular</td> +<td style="font-style: italic;">Italic</td> +<td style="font-style: oblique;">Oblique</td> +<td style="font-weight: 500;">Regular</td> +<td style="font-style: italic;font-weight: 500;">Italic</td> +<td style="font-style: oblique;font-weight: 500;">Oblique</td> +</tr> +<tr class="mplus-w6"> +<td style="font-family: mplus1p;">600</td> +<td>Regular</td> +<td style="font-style: italic;">Italic</td> +<td style="font-style: oblique;">Oblique</td> +<td style="font-weight: 600;">Regular</td> +<td style="font-style: italic;font-weight: 600;">Italic</td> +<td style="font-style: oblique;font-weight: 600;">Oblique</td> +</tr> +<tr class="mplus-w7"> +<td style="font-family: mplus1p;">700</td> +<td>Regular</td> +<td style="font-style: italic;">Italic</td> +<td style="font-style: oblique;">Oblique</td> +<td style="font-weight: 700;">Regular</td> +<td style="font-style: italic;font-weight: 700;">Italic</td> +<td style="font-style: oblique;font-weight: 700;">Oblique</td> +</tr> +<tr class="mplus-w8"> +<td style="font-family: mplus1p;">800</td> +<td>Regular</td> +<td style="font-style: italic;">Italic</td> +<td style="font-style: oblique;">Oblique</td> +<td style="font-weight: 800;">Regular</td> +<td style="font-style: italic;font-weight: 800;">Italic</td> +<td style="font-style: oblique;font-weight: 800;">Oblique</td> +</tr> +<tr class="mplus-w9"> +<td style="font-family: mplus1p;">900</td> +<td>Regular</td> +<td style="font-style: italic;">Italic</td> +<td style="font-style: oblique;">Oblique</td> +<td style="font-weight: 900;">Regular</td> +<td style="font-style: italic;font-weight: 900;">Italic</td> +<td style="font-style: oblique;font-weight: 900;">Oblique</td> +</tr> +</table> + +</body> +</html>
\ No newline at end of file diff --git a/layout/reftests/font-face/underline-offset-change-1-ref.html b/layout/reftests/font-face/underline-offset-change-1-ref.html new file mode 100644 index 000000000..b3bd5c9ca --- /dev/null +++ b/layout/reftests/font-face/underline-offset-change-1-ref.html @@ -0,0 +1,25 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> +<html lang="en-US"> +<head> + <title>Switching first font to one with higher underline (reference)</title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <style type="text/css"> + + @font-face { + font-family: "Mark2AHighUnderline"; + src: url(../fonts/mark2A-highunderline.ttf); + } + + body { font-family: "Mark2AHighUnderline"; } + + p { text-decoration: underline; border: blue solid; padding: 0.2em; } + + </style> +</head> +<body> + +<p style="position:relative; width: -moz-max-content">A</p> + +</body> +</html> diff --git a/layout/reftests/font-face/underline-offset-change-1.html b/layout/reftests/font-face/underline-offset-change-1.html new file mode 100644 index 000000000..d4ccca7a3 --- /dev/null +++ b/layout/reftests/font-face/underline-offset-change-1.html @@ -0,0 +1,45 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> +<html lang="en-US" class="reftest-wait"> +<head> + <title>Switching first font to one with higher underline</title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <style type="text/css"> + + @font-face { + font-family: "Mark2AHighUnderline"; + src: url(../fonts/mark2A-highunderline.ttf); + } + + </style> + <style type="text/css"> + + @font-face { + font-family: "MarkALowUnderline"; + src: url(../fonts/markA-lowunderline.ttf); + } + + body { font-family: "Mark2AHighUnderline", "MarkALowUnderline"; } + + p { text-decoration: underline; border: blue solid; padding: 0.2em; } + + </style> + <script type="application/ecmascript"> + + document.getElementsByTagName("style")[0].disabled = true; + + function run() { + // The resize-detector iframe will remove the class attribute. + document.getElementsByTagName("iframe")[0].contentWindow.arm_for_wider(); + + document.getElementsByTagName("style")[0].disabled = false; + } + + </script> +</head> +<body onload="setTimeout(run, 20)"> + +<p style="position:relative; width: -moz-max-content">A<iframe style="visibility:hidden;position:absolute;height:100%;width:100%" src="resize-detector-iframe.html"></iframe></p> + +</body> +</html> diff --git a/layout/reftests/font-face/underline-offset-change-2-ref.html b/layout/reftests/font-face/underline-offset-change-2-ref.html new file mode 100644 index 000000000..17bf99d2c --- /dev/null +++ b/layout/reftests/font-face/underline-offset-change-2-ref.html @@ -0,0 +1,25 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> +<html lang="en-US"> +<head> + <title>Switching first font to one with lower underline (reference)</title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <style type="text/css"> + + @font-face { + font-family: "Mark2ALowUnderline"; + src: url(../fonts/mark2A-lowunderline.ttf); + } + + body { font-family: "Mark2ALowUnderline"; } + + p { text-decoration: underline; border: blue solid; padding: 0.2em; } + + </style> +</head> +<body> + +<p style="position:relative; width: -moz-max-content">A</p> + +</body> +</html> diff --git a/layout/reftests/font-face/underline-offset-change-2.html b/layout/reftests/font-face/underline-offset-change-2.html new file mode 100644 index 000000000..57896d593 --- /dev/null +++ b/layout/reftests/font-face/underline-offset-change-2.html @@ -0,0 +1,45 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> +<html lang="en-US" class="reftest-wait"> +<head> + <title>Switching first font to one with lower underline</title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <style type="text/css"> + + @font-face { + font-family: "Mark2ALowUnderline"; + src: url(../fonts/mark2A-lowunderline.ttf); + } + + </style> + <style type="text/css"> + + @font-face { + font-family: "MarkAHighUnderline"; + src: url(../fonts/markA-highunderline.ttf); + } + + body { font-family: "Mark2ALowUnderline", "MarkAHighUnderline"; } + + p { text-decoration: underline; border: blue solid; padding: 0.2em; } + + </style> + <script type="application/ecmascript"> + + document.getElementsByTagName("style")[0].disabled = true; + + function run() { + // The resize-detector iframe will remove the class attribute. + document.getElementsByTagName("iframe")[0].contentWindow.arm_for_wider(); + + document.getElementsByTagName("style")[0].disabled = false; + } + + </script> +</head> +<body onload="setTimeout(run, 20)"> + +<p style="position:relative; width: -moz-max-content">A<iframe style="visibility:hidden;position:absolute;height:100%;width:100%" src="resize-detector-iframe.html"></iframe></p> + +</body> +</html> diff --git a/layout/reftests/font-face/unicoderange-1-ref.html b/layout/reftests/font-face/unicoderange-1-ref.html new file mode 100644 index 000000000..904846830 --- /dev/null +++ b/layout/reftests/font-face/unicoderange-1-ref.html @@ -0,0 +1,34 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> +<html lang="en-US"> +<head> + <title></title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <style type="text/css"> + + @font-face { + font-family: ahemspace; + src: url(../fonts/Ahem.ttf); + unicode-range: u+20; + } + + @font-face { + font-family: "MarkD"; + src: url(../fonts/markD.ttf); + } + + @font-face { + font-family: "Mark2A"; + src: url(../fonts/mark2A.ttf); + } + + body { font-family: ahemspace, "MarkD", "Mark2A"; } + + </style> +</head> +<body> + +<p>DAC</p> + +</body> +</html> diff --git a/layout/reftests/font-face/unicoderange-1.html b/layout/reftests/font-face/unicoderange-1.html new file mode 100644 index 000000000..b1b008e01 --- /dev/null +++ b/layout/reftests/font-face/unicoderange-1.html @@ -0,0 +1,48 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> +<html lang="en-US"> +<head> + <title></title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <style type="text/css"> + + @font-face { + font-family: ahemspace; + src: url(../fonts/Ahem.ttf); + unicode-range: u+20; + } + + @font-face { + font-family: "One"; + src: url(../fonts/markB.ttf); + unicode-range: u+42; + } + + @font-face { + font-family: "One"; + src: url(../fonts/mark2B.ttf); + unicode-range: u+42; + } + + @font-face { + font-family: "One"; + src: url(../fonts/mark2A.ttf); + unicode-range: u+41; + } + + @font-face { + font-family: "One"; + src: url(../fonts/markA.ttf); + unicode-range: u+41; + } + + body { font-family: ahemspace, "One"; } + + </style> +</head> +<body> + +<p>ABC</p> + +</body> +</html> diff --git a/layout/reftests/font-face/unicoderange-2-ref.html b/layout/reftests/font-face/unicoderange-2-ref.html new file mode 100644 index 000000000..7b1194e4f --- /dev/null +++ b/layout/reftests/font-face/unicoderange-2-ref.html @@ -0,0 +1,34 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> +<html lang="en-US"> +<head> + <title></title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <style type="text/css"> + + @font-face { + font-family: ahemspace; + src: url(../fonts/Ahem.ttf); + unicode-range: u+20; + } + + @font-face { + font-family: "MarkD"; + src: url(../fonts/markD.ttf); + } + + @font-face { + font-family: "One"; + src: url(../fonts/mark2A.ttf); + } + + body { font-family: ahemspace, "MarkD", "One"; } + + </style> +</head> +<body> + +<p>DAC</p> + +</body> +</html> diff --git a/layout/reftests/font-face/unicoderange-2.html b/layout/reftests/font-face/unicoderange-2.html new file mode 100644 index 000000000..e380b4136 --- /dev/null +++ b/layout/reftests/font-face/unicoderange-2.html @@ -0,0 +1,58 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> +<html lang="en-US"> +<head> + <title></title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <style type="text/css"> + + @font-face { + font-family: ahemspace; + src: url(../fonts/Ahem.ttf); + unicode-range: u+20; + } + + @font-face { + font-family: "One"; + src: url(../fonts/markB.ttf); + } + + @font-face { + font-family: "One"; + src: url(../fonts/mark2A.ttf); + } + + @font-face { + font-family: "One"; + src: url(../fonts/markB.ttf); + unicode-range: u+42; + } + + @font-face { + font-family: "One"; + src: url(../fonts/mark2B.ttf); + unicode-range: u+42; + } + + @font-face { + font-family: "One"; + src: url(../fonts/mark2A.ttf); + unicode-range: u+41; + } + + @font-face { + font-family: "One"; + src: url(../fonts/markA.ttf); + unicode-range: u+41; + } + + body { font-family: ahemspace, "One"; } + + </style> +</head> +<body> + +<p>ABC</p> + +</body> +</html> diff --git a/layout/reftests/font-face/unicoderange-3-ref.html b/layout/reftests/font-face/unicoderange-3-ref.html new file mode 100644 index 000000000..1358cae30 --- /dev/null +++ b/layout/reftests/font-face/unicoderange-3-ref.html @@ -0,0 +1,34 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> +<html lang="en-US"> +<head> + <title></title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <style type="text/css"> + + @font-face { + font-family: ahemspace; + src: url(../fonts/Ahem.ttf); + unicode-range: u+20; + } + + @font-face { + font-family: "Mark2D"; + src: url(../fonts/mark2D.ttf); + } + + @font-face { + font-family: "MarkA"; + src: url(../fonts/markA.ttf); + } + + body { font-family: ahemspace, "Mark2D", "MarkA"; } + + </style> +</head> +<body> + +<p>DAC</p> + +</body> +</html> diff --git a/layout/reftests/font-face/unicoderange-3.html b/layout/reftests/font-face/unicoderange-3.html new file mode 100644 index 000000000..3cf278275 --- /dev/null +++ b/layout/reftests/font-face/unicoderange-3.html @@ -0,0 +1,48 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> +<html lang="en-US"> +<head> + <title></title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <style type="text/css"> + + @font-face { + font-family: ahemspace; + src: url(../fonts/Ahem.ttf); + unicode-range: u+20; + } + + @font-face { + font-family: "One"; + src: url(../fonts/markB.ttf); + unicode-range: u+42; + } + + @font-face { + font-family: "One"; + src: url(../fonts/mark2B.ttf); + unicode-range: u+41; + } + + @font-face { + font-family: "One"; + src: url(../fonts/mark2A.ttf); + unicode-range: u+41; + } + + @font-face { + font-family: "One"; + src: url(../fonts/markA.ttf); + unicode-range: u+42; + } + + body { font-family: ahemspace, "One"; } + + </style> +</head> +<body> + +<p>ABC</p> + +</body> +</html> diff --git a/layout/reftests/font-face/unicoderange-4-ref.html b/layout/reftests/font-face/unicoderange-4-ref.html new file mode 100644 index 000000000..904846830 --- /dev/null +++ b/layout/reftests/font-face/unicoderange-4-ref.html @@ -0,0 +1,34 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> +<html lang="en-US"> +<head> + <title></title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <style type="text/css"> + + @font-face { + font-family: ahemspace; + src: url(../fonts/Ahem.ttf); + unicode-range: u+20; + } + + @font-face { + font-family: "MarkD"; + src: url(../fonts/markD.ttf); + } + + @font-face { + font-family: "Mark2A"; + src: url(../fonts/mark2A.ttf); + } + + body { font-family: ahemspace, "MarkD", "Mark2A"; } + + </style> +</head> +<body> + +<p>DAC</p> + +</body> +</html> diff --git a/layout/reftests/font-face/unicoderange-4.html b/layout/reftests/font-face/unicoderange-4.html new file mode 100644 index 000000000..e3c899a03 --- /dev/null +++ b/layout/reftests/font-face/unicoderange-4.html @@ -0,0 +1,42 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> +<html lang="en-US"> +<head> + <title></title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <style type="text/css"> + + @font-face { + font-family: ahemspace; + src: url(../fonts/Ahem.ttf); + unicode-range: u+20; + } + + @font-face { + font-family: "One"; + src: url(../fonts/markA.ttf); + unicode-range: u+4?; + } + + @font-face { + font-family: "One"; + src: url(../fonts/mark2B.ttf); + unicode-range: u+4?; + } + + @font-face { + font-family: "One"; + src: url(../fonts/markD.ttf); + unicode-range: u+4?; + } + + body { font-family: ahemspace, "One"; } + + </style> +</head> +<body> + +<p>ABC</p> + +</body> +</html> diff --git a/layout/reftests/font-face/woff2-1-ref.html b/layout/reftests/font-face/woff2-1-ref.html new file mode 100644 index 000000000..690f68fc3 --- /dev/null +++ b/layout/reftests/font-face/woff2-1-ref.html @@ -0,0 +1,20 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<title>Test for WOFF2</title> +<style> +@font-face { + font-family: test; + src: url(../fonts/sil/GenR102.ttf); +} +body { + font-family: test, monospace; + font-size: 24px; +} +</style> +</head> +<body> +Hello WOFF2 World! +</body> +</html> diff --git a/layout/reftests/font-face/woff2-1.html b/layout/reftests/font-face/woff2-1.html new file mode 100644 index 000000000..35cd516a6 --- /dev/null +++ b/layout/reftests/font-face/woff2-1.html @@ -0,0 +1,20 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<title>Test for WOFF2</title> +<style> +@font-face { + font-family: test; + src: url(../fonts/sil/GenR102.woff2); +} +body { + font-family: test, monospace; + font-size: 24px; +} +</style> +</head> +<body> +Hello WOFF2 World! +</body> +</html> diff --git a/layout/reftests/font-face/woff2-totalsfntsize-ref.html b/layout/reftests/font-face/woff2-totalsfntsize-ref.html new file mode 100644 index 000000000..ee6dc8984 --- /dev/null +++ b/layout/reftests/font-face/woff2-totalsfntsize-ref.html @@ -0,0 +1,29 @@ +<!DOCTYPE html> +<html> +<head> +<style> +@font-face { + font-family: "webfont"; + src: url("../fonts/header-totalsfntsize-001.ttf") format("truetype"); +} +#container { + width: 100px; + height: 38px; + position: relative; + overflow: hidden; +} +#test { + font: 41px "webfont"; + position: absolute; + width: 41px; + height: 41px; + left: -1px; + top: -1px; +} +</style> +</head> +<body> +This test makes sure WOFF2 renders as expected. The test passes if you see the word PASS below. +<div id="container"><div id="test">P</div></div> +</body> +</html> diff --git a/layout/reftests/font-face/woff2-totalsfntsize.html b/layout/reftests/font-face/woff2-totalsfntsize.html new file mode 100644 index 000000000..85be1a2d0 --- /dev/null +++ b/layout/reftests/font-face/woff2-totalsfntsize.html @@ -0,0 +1,29 @@ +<!DOCTYPE html> +<html> +<head> +<style> +@font-face { + font-family: "webfont"; + src: url("../fonts/header-totalsfntsize-001.woff2") format("woff2"); +} +#container { + width: 100px; + height: 38px; + position: relative; + overflow: hidden; +} +#test { + font: 41px "webfont"; + position: absolute; + width: 41px; + height: 41px; + left: -1px; + top: -1px; +} +</style> +</head> +<body> +This test makes sure WOFF2 renders as expected. The test passes if you see the word PASS below. +<div id="container"><div id="test">P</div></div> +</body> +</html> |