gecko-dev/testing/web-platform/tests/css/css-text/text-encoding/shaping-join-002.html
Florian Rivoal 8ecfef6517 Bug 1516429 [wpt PR 14673] - [css-text] Arabic cursive joining and ZWJ, a=testonly
Automatic update from web-platform-tests
[css-text] Arabic cursive joining, with ZWJ, ZWNJ, and tatweel

Check both:
  - a dual-joining letter, which has a different form in each position
  - a right-joining letter, which has a different form in some positions

Run the same tests with everything in the same fonts, and changing the
font (in two different ways) for the joining character, as that triggers
different bugs in different browsers

--

wpt-commits: 541c2937f393952782e8f4f1a7e981177d6e06da
wpt-pr: 14673
2019-06-05 10:26:56 +01:00

59 lines
1.9 KiB
HTML

<!DOCTYPE html>
<meta charset="utf-8">
<title>CSS Text level 3 Test: zwj and text-shaping, cross font, fallback</title>
<link rel="author" title="Florian Rivoal" href="https://florian.rivoal.net/">
<link rel="help" href="https://drafts.csswg.org/css-text-3/#text-encoding">
<link rel="help" href="https://www.unicode.org/versions/Unicode11.0.0/ch23.pdf">
<link rel="help" href="https://www.unicode.org/versions/Unicode11.0.0/ch09.pdf">
<link rel="help" href="https://www.w3.org/TR/alreq/#h_joining_enforcement">
<link rel="match" href="reference/shaping-join-001-ref.html">
<meta name="assert" content="Arabic characters next to a ZERO WIDTH JOINER character must take their correct positional form, even if the ZWJ comes from a differnt font due to font fallback.">
<style>
table {
font-size: 3em;
border-spacing: 0 3px;
}
td {
padding: 0 0.5ch;
line-height: 1;
border: 1px solid;
}
@font-face {
font-family: 'primary';
src: url('/fonts/noto/NotoNaskhArabic-regular.woff2') format('woff2');
unicode-range: U+20;
}
@font-face {
font-family: 'joiners';
src: url('/fonts/noto/noto-sans-v8-latin-regular.woff') format('woff');
unicode-range: U+200C-200D;
}
@font-face {
font-family: 'csstest_noto';
src: url('/fonts/noto/NotoNaskhArabic-regular.woff2') format('woff2');
}
table {
/*using a primary font with just U+20 (space) to get the baseline right*/
font-family: 'primary', 'joiners', 'csstest_noto';
}
</style>
<p>Test passes if both halves of each of the pairs below are identical:
<table dir=rtl>
<tr><!-- alef, final form as it doesn't have a medial form -->
<td>&zwj;&#x0627;&zwj;
<td>&#xFE8E;
<tr><!-- alef, final form -->
<td>&zwj;&#x0627;
<td>&#xFE8E;
<tr><!-- beh, initial form -->
<td>&#x0628;&zwj;
<td>&#xFE91;
<tr><!-- beh, medial form -->
<td>&zwj;&#x0628;&zwj;
<td>&#xFE92;
<tr><!-- beh, final form -->
<td>&zwj;&#x0628;
<td>&#xFE90;
</table>