summaryrefslogtreecommitdiffstats
path: root/layout/reftests/font-features/alternates-order.html
diff options
context:
space:
mode:
Diffstat (limited to 'layout/reftests/font-features/alternates-order.html')
-rw-r--r--layout/reftests/font-features/alternates-order.html116
1 files changed, 116 insertions, 0 deletions
diff --git a/layout/reftests/font-features/alternates-order.html b/layout/reftests/font-features/alternates-order.html
new file mode 100644
index 000000000..2efe803ab
--- /dev/null
+++ b/layout/reftests/font-features/alternates-order.html
@@ -0,0 +1,116 @@
+<!DOCTYPE html>
+<html>
+<head>
+<style type="text/css">
+@font-face {
+ font-family: libertine;
+ src: url(../fonts/LinLibertine_Re-4.7.5.woff) format("woff");
+}
+
+@font-face {
+ font-family: fontA;
+ src: url(../fonts/LinLibertine_Re-4.7.5.woff) format("woff");
+ font-feature-settings: "ss05" on;
+}
+
+@font-face {
+ font-family: fontB;
+ src: url(../fonts/LinLibertine_Re-4.7.5.woff) format("woff");
+ font-feature-settings: "ss05" off;
+}
+
+@font-feature-values libertine {
+ @styleset {
+ crossed-doubleu: 5;
+ somethingElse: 4;
+ }
+}
+
+@font-feature-values fontA {
+ @styleset { aLtW: 5; }
+}
+
+@font-feature-values fontB {
+ @styleset { crossedW: 5; several: 1 3 5; }
+ @styleset { altW: 4; }
+}
+
+@font-feature-values fontB {
+ @styleset {
+ AlTw: 5;
+ defined-for-fontB: 5;
+ scriptJ: 3;
+ }
+}
+
+body {
+ font-family: libertine, sans-serif;
+ font-size: 800%;
+ line-height: 1.2em;
+}
+
+/* font-feature-settings: "ss05"; crossed W */
+
+div { margin: 0 20px; }
+
+#test1 {
+ font-variant-alternates: styleset(crossed-doubleu);
+}
+
+#test2 {
+ /* testing case-insensitivity of styleset name */
+ font-family: fontB;
+ font-variant-alternates: styleset(altW);
+}
+
+#test3 {
+ /* testing case-insensitivity of styleset name */
+ font-family: fontB;
+ font-variant-alternates: styleset(ALTW);
+}
+
+#test4 {
+ /* testing escapes in styleset name */
+ font-family: fontB;
+ font-variant-alternates: styleset(\41 ltW);
+}
+
+#test5 {
+ /* testing font-specificity of feature value rule */
+ font-family: fontA;
+ font-variant-alternates: styleset(defined-for-fontB);
+}
+
+#test6 {
+ /* testing one feature doesn't affect another */
+ font-variant-alternates: styleset(somethingElse);
+ font-feature-settings: "ss05" on;
+}
+
+#test7 {
+ /* testing font-specificity of feature value rule */
+ font-family: fontA;
+ font-variant-alternates: styleset(scriptJ);
+ font-feature-settings: "ss06";
+}
+
+#test8 {
+ /* testing that an undefined value doesn't affect the results */
+ font-family: fontB;
+ font-variant-alternates: styleset(scriptJ, somethingUndefined, defined-for-fontB);
+}
+
+#test9 {
+ /* testing matching of font name with escape */
+ font-family: font\62 ;
+ font-variant-alternates: styleset(defined-for-fontB);
+}
+
+</style>
+</head>
+<body lang="en">
+<div><span id="test1">W</span> <span id="test2">W</span> <span id="test3">W</span></div>
+<div><span id="test4">W</span> <span id="test5">W</span> <span id="test6">W</span></div>
+<div><span id="test7">W</span> <span id="test8">W</span> <span id="test9">W</span></div>
+</body>
+</html>