tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

shaping-no-join-003.html (2228B)


      1 <!DOCTYPE html>
      2 <meta charset="utf-8">
      3 <title>CSS Text level 3 Test: zwnj and text-shaping, cross font, explicit</title>
      4 <link rel="author" title="Florian Rivoal" href="https://florian.rivoal.net/">
      5 <link rel="help" href="https://drafts.csswg.org/css-text-3/#text-encoding">
      6 <link rel="help" href="https://www.unicode.org/versions/Unicode11.0.0/ch23.pdf">
      7 <link rel="help" href="https://www.unicode.org/versions/Unicode11.0.0/ch09.pdf">
      8 <link rel="help" href="https://www.w3.org/TR/alreq/#h_disjoining_enforcement">
      9 <link rel="help" href="https://www.w3.org/TR/alreq/#h_joining_enforcement">
     10 <link rel="match" href="reference/shaping-no-join-001-ref.html">
     11 <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.">
     12 <style>
     13  table {
     14    font-size: 3em;
     15    border-spacing: 0 3px;
     16  }
     17  td {
     18    padding: 0 0.5ch;
     19    line-height: 1;
     20    border: 1px solid;
     21  }
     22  @font-face {
     23    font-family: 'joiners';
     24    src: url('/fonts/noto/noto-sans-v8-latin-regular.woff') format('woff');
     25  }
     26  @font-face {
     27    font-family: 'csstest_noto';
     28    src: url('/fonts/noto/NotoNaskhArabic-regular.woff2') format('woff2');
     29  }
     30  span {
     31    font-family: 'joiners';
     32    line-height: 0;
     33  }
     34  table {
     35    font-family: 'csstest_noto';
     36  }
     37 </style>
     38 
     39 <p>Test passes if both halves of each of the pairs below are identical:
     40 
     41 <table dir=rtl lang=ar>
     42 <tr><!-- alef, isolated rather than final -->
     43  <td>&#x640;<span>&zwnj;</span>&#x0627;
     44  <td>&#x640;&#xFE8D;
     45 <tr><!-- beh, isolated rather than initial -->
     46  <td>&#x0628;<span>&zwnj;</span>&#x640;
     47  <td>&#xFE8F;&#x640;
     48 <tr><!-- beh, final rather than medial -->
     49  <td>&#x640;&#x0628;<span>&zwnj;</span>&#x640;
     50  <td>&#x640;&#xFE90;&#x640;
     51 <tr><!-- beh, isolated rather than medial -->
     52  <td>&#x640;<span>&zwnj;</span>&#x0628;<span>&zwnj;</span>&#x640;
     53  <td>&#x640;&#xFE8F;&#x640;
     54 <tr><!-- beh, initial rather than medial -->
     55  <td>&#x640;<span>&zwnj;</span>&#x0628;&#x640;
     56  <td>&#x640;&#xFE91;&#x640;
     57 <tr><!-- beh, isolated rather than final -->
     58  <td>&#x640;<span>&zwnj;</span>&#x0628;
     59  <td>&#x640;&#xFE8F;
     60 </table>