summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/css/css-fonts/variations/font-weight-matching-installed-fonts.html
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/css/css-fonts/variations/font-weight-matching-installed-fonts.html')
-rw-r--r--testing/web-platform/tests/css/css-fonts/variations/font-weight-matching-installed-fonts.html114
1 files changed, 114 insertions, 0 deletions
diff --git a/testing/web-platform/tests/css/css-fonts/variations/font-weight-matching-installed-fonts.html b/testing/web-platform/tests/css/css-fonts/variations/font-weight-matching-installed-fonts.html
new file mode 100644
index 0000000000..a290fb64fc
--- /dev/null
+++ b/testing/web-platform/tests/css/css-fonts/variations/font-weight-matching-installed-fonts.html
@@ -0,0 +1,114 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <title>Testing new font-matching algorithm for font-weight values introduced in CSS Fonts level 4 (for system fonts)</title>
+ <link rel="help" href="https://www.w3.org/TR/css-fonts-4/#font-matching-algorithm" />
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <!-- THIS TEST REQUIRES THAT YOU INSTALL THE [csstest-*.ttf] FONTS OF THE [resources] FOLDER -->
+ <style>
+
+ .testcase {
+ float:left;
+ margin: 5px;
+ font-size:48pt;
+ font-feature-settings: "kern" 1;
+ color: rgba(0,0,0,0.5);
+ background: linear-gradient(to left, lime 0%, lime 91px, red 91px);
+ }
+
+ @font-face {
+ font-family: fontMatch;
+ src: local('CSSTest Weights 900');
+ font-weight: 100;
+ }
+
+ @font-face {
+ font-family: fontMatch;
+ src: local('CSSTest Weights 800');
+ font-weight: 250;
+ }
+
+ @font-face {
+ font-family: fontMatch;
+ src: local('CSSTest Weights 700');
+ font-weight: 400;
+ }
+
+ @font-face {
+ font-family: fontMatch;
+ src: local('CSSTest Weights 600');
+ font-weight: 450;
+ }
+
+ @font-face {
+ font-family: fontMatch;
+ src: local('CSSTest Weights 300');
+ font-weight: 500;
+ }
+
+ @font-face {
+ font-family: fontMatch;
+ src: local('CSSTest Weights 200');
+ font-weight: 750;
+ }
+
+ @font-face {
+ font-family: fontMatch;
+ src: local('CSSTest Weights 100');
+ font-weight: 900;
+ }
+
+ </style>
+</head>
+<body>
+
+ <span style="position: absolute; top: -100vh;">
+ <span style="font-family: fontMatch; font-weight: 100;">A</span>
+ <span style="font-family: fontMatch; font-weight: 250;">A</span>
+ <span style="font-family: fontMatch; font-weight: 400;">A</span>
+ <span style="font-family: fontMatch; font-weight: 450;">A</span>
+ <span style="font-family: fontMatch; font-weight: 500;">A</span>
+ <span style="font-family: fontMatch; font-weight: 750;">A</span>
+ <span style="font-family: fontMatch; font-weight: 900;">A</span>
+ </span>
+
+ <div id="testcases" style="overflow: hidden">
+ <!--
+ These testcases work using the new kerned CSSTest Weights fonts.
+ The letter A and its corresponding numeric digit kern as one character.
+ -->
+ <div class="testcase" style="font-family:'CSSTest Weights W2569'; font-weight: 375;">
+ A2
+ </div>
+ <div class="testcase" style="font-family:'CSSTest Weights Full'; font-weight: 375;">
+ A3
+ </div>
+ <div class="testcase" style="font-family:'CSSTest Weights W1479'; font-weight: 475;">
+ A4
+ </div>
+ <div class="testcase" style="font-family:'CSSTest Weights Full'; font-weight: 425;">
+ A5
+ </div>
+ <div class="testcase" style="font-family:'CSSTest Weights Full'; font-weight: 525;">
+ A6
+ </div>
+ <div class="testcase" style="font-family:'CSSTest Weights Full'; font-weight: 675;">
+ A7
+ </div>
+ <br clear="all">
+ </div>
+
+ <script>
+
+ var base_testcases = document.querySelectorAll('.testcase');
+ for(var i = 0; i < base_testcases.length; i++) {
+ test(
+ assert => { assert_approx_equals(base_testcases[i].getBoundingClientRect().width, 90, 2, "@font-face should be mapped to " + base_testcases[i].style.fontFamily + "."); },
+ "Test native font matching on " + base_testcases[i].style.fontFamily + " for weight " + base_testcases[i].style.fontWeight
+ );
+ }
+
+ </script>
+</body>
+</html>