shaping-no-join-002.html (2308B)
1 <!DOCTYPE html> 2 <meta charset="utf-8"> 3 <title>CSS Text level 3 Test: zwnj and text-shaping, cross font, fallback</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 font fallback."> 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: 'primary'; 24 src: url('/fonts/noto/NotoNaskhArabic-regular.woff2') format('woff2'); 25 unicode-range: U+20; 26 } 27 @font-face { 28 font-family: 'joiners'; 29 src: url('/fonts/noto/noto-sans-v8-latin-regular.woff') format('woff'); 30 unicode-range: U+200C-200D; 31 } 32 @font-face { 33 font-family: 'csstest_noto'; 34 src: url('/fonts/noto/NotoNaskhArabic-regular.woff2') format('woff2'); 35 } 36 table { 37 /*using a primary font with just U+20 (space) to get the baseline right*/ 38 font-family: 'primary', 'joiners', 'csstest_noto'; 39 } 40 </style> 41 42 <p>Test passes if both halves of each of the pairs below are identical: 43 44 <table dir=rtl lang=ar> 45 <tr><!-- alef, isolated rather than final --> 46 <td>ـ‌ا 47 <td>ـﺍ 48 <tr><!-- beh, isolated rather than initial --> 49 <td>ب‌ـ 50 <td>ﺏـ 51 <tr><!-- beh, final rather than medial --> 52 <td>ـب‌ـ 53 <td>ـﺐـ 54 <tr><!-- beh, isolated rather than medial --> 55 <td>ـ‌ب‌ـ 56 <td>ـﺏـ 57 <tr><!-- beh, initial rather than medial --> 58 <td>ـ‌بـ 59 <td>ـﺑـ 60 <tr><!-- beh, isolated rather than final --> 61 <td>ـ‌ب 62 <td>ـﺏ 63 </table>