gecko-dev/testing/web-platform/tests/css/css-text/text-encoding/shaping-no-join-003.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

60 lines
2.2 KiB
HTML

<!DOCTYPE html>
<meta charset="utf-8">
<title>CSS Text level 3 Test: zwnj and text-shaping, cross font, explicit</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_disjoining_enforcement">
<link rel="help" href="https://www.w3.org/TR/alreq/#h_joining_enforcement">
<link rel="match" href="reference/shaping-no-join-001-ref.html">
<meta name="assert" content="Arabic characters next to a ZERO WIDTH NON JOINER character must not take their positional form, even if the ZWNJ comes from a differnt font due to being in a different element with an explicit different font.">
<style>
table {
font-size: 3em;
border-spacing: 0 3px;
}
td {
padding: 0 0.5ch;
line-height: 1;
border: 1px solid;
}
@font-face {
font-family: 'joiners';
src: url('/fonts/noto/noto-sans-v8-latin-regular.woff') format('woff');
}
@font-face {
font-family: 'csstest_noto';
src: url('/fonts/noto/NotoNaskhArabic-regular.woff2') format('woff2');
}
span {
font-family: 'joiners';
line-height: 0;
}
table {
font-family: 'csstest_noto';
}
</style>
<p>Test passes if both halves of each of the pairs below are identical:
<table dir=rtl lang=ar>
<tr><!-- alef, isolated rather than final -->
<td>&#x640;<span>&zwnj;</span>&#x0627;
<td>&#x640;&#xFE8D;
<tr><!-- beh, isolated rather than initial -->
<td>&#x0628;<span>&zwnj;</span>&#x640;
<td>&#xFE8F;&#x640;
<tr><!-- beh, final rather than medial -->
<td>&#x640;&#x0628;<span>&zwnj;</span>&#x640;
<td>&#x640;&#xFE90;&#x640;
<tr><!-- beh, isolated rather than medial -->
<td>&#x640;<span>&zwnj;</span>&#x0628;<span>&zwnj;</span>&#x640;
<td>&#x640;&#xFE8F;&#x640;
<tr><!-- beh, initial rather than medial -->
<td>&#x640;<span>&zwnj;</span>&#x0628;&#x640;
<td>&#x640;&#xFE91;&#x640;
<tr><!-- beh, isolated rather than final -->
<td>&#x640;<span>&zwnj;</span>&#x0628;
<td>&#x640;&#xFE8F;
</table>