diff options
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.html | 114 |
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> |