<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>241717</bug_id>
          
          <creation_ts>2022-06-17 09:06:13 -0700</creation_ts>
          <short_desc>Lack of font support for Kashmiri characters makes text deviate from true semantics</short_desc>
          <delta_ts>2022-06-24 08:10:27 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Text</component>
          <version>Safari 15</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="r12a">ishida</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ishida</cc>
    
    <cc>mmaxfield</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1876459</commentid>
    <comment_count>0</comment_count>
      <attachid>460299</attachid>
    <who name="r12a">ishida</who>
    <bug_when>2022-06-17 09:06:13 -0700</bug_when>
    <thetext>Created attachment 460299
Example glyph forms for Kashmiri.

This issue is applicable to Kashmiri written with the Perso-arabic script.

Kashmiri is written using the nastaliq style of Arabic writing. However, there are almost no fonts that properly support Kashmiri written in that orthography. (Noto Nastaliq Urdu was only updated in Feb 2022 to support Kashmiri.)

The result of this is that people resort to using inappropriate characters in their text so that the content looks visually more like they are expecting, and even then gaps remain. For example, to make the sukun look like an inverted v rather than a circle, users often use U+065B ARABIC VOWEL SIGN INVERTED SMALL V ABOVE, which is supposed to be used as an African vowel diacritic. There are several such problems in Kashmiri. Lists can be found here and here

Keyboards and input methods also need to be configured to insert the correct characters, but this doesn&apos;t help while there are so few fonts available that can display the characters.

This issue is not likely to be fixed by specifications or browser fixes, but does cause a significant constraint for Kashmiris wishing to use the Web.

There is an additional issue, however, related to pre-installed fonts on macOS (see below).

Tests &amp; results:
interactive test, A given font will correctly render characters needed for Kashmiri in the perso-arabic script.
https://w3c.github.io/i18n-tests/exploratory/vanilla?text=%D8%A7%D9%9F%09%DB%8C%D9%9A%DB%8C%D9%9A%DB%8C%D9%9A%09%D9%88%D9%9A%09%D8%AD%D9%94%09%D8%B1%D9%94%09%D8%A8%D9%94%D8%A8%D9%94%D8%A8%D9%94%09%DB%8C%DB%8C%DB%8C%09%DA%A9%DA%A9%DA%A9%09%D8%A0%D8%A0%D8%A0%20%D8%A0%09%D9%BE%D9%92%09%DB%84&amp;lang=ks&amp;fontSize=49&amp;fontFamily=Noto%20Nastaliq%20Urdu&amp;width=845&amp;height=292&amp;a=A%20given%20font%20will%20correctly%20render%20characters%20needed%20for%20Kashmiri%20in%20the%20perso-arabic%20script.&amp;i=Test%20passes%20if%20the%20shapes%20of%20the%20characters%20match%20those%20at%20https%3A%2F%2Fgithub.com%2Fw3c%2Falreq%2Fissues%2F249.%20%20In%20particular%3A%20farsi%20yeh%20with%20small%20v%20above%20should%20join%20to%20the%20left%3B%20the%204%20forms%20of%20kashmiri%20yeh%20should%20appear%3B%20hamzas%20should%20use%20the%20round%20form%3B%20the%20sukun%20over%20PA%20should%20be%20an%20inverted%20v.%20Use%20the%20control%20below%20to%20test%20various%20fonts.


The glyph shapes when the text in the test are displayed should resemble those in the image just below. In particular: farsi yeh with small v above should join to the left; the 4 forms of kashmiri yeh should appear; hamzas should use the round form; the sukun over PA should be an inverted v.

See the attached image.

As of March 2022, the latest version of Noto Nastaliq Urdu supports the needed glyphs, if the language is set to &apos;ks&apos;, and displays correctly on Windows10. However, on macOS 12.2.1 the pre-installed version of the font cannot be overwritten and is used to display Kashmiri text in browsers, meaning that there is no support on macOS at the time of writing.

SIL&apos;s Awami Nastaliq font succeeds in correctly rendering all but one feature: the hamza is s-shaped, as used for Urdu, rather than rounded. However, this is a Graphite font, and so only works currently on Gecko browsers.

The Gulmarg Nastaleeq font supports some features in Windows, but appears to not have glyphs for KASHMIRI YEH or for LETTER WAW WITH RING. It also doesn&apos;t work on macOS, presumbly for the same reason as the Noto font.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1876460</commentid>
    <comment_count>1</comment_count>
    <who name="r12a">ishida</who>
    <bug_when>2022-06-17 09:14:16 -0700</bug_when>
    <thetext>This bug report is being tracked by the W3C at https://www.w3.org/TR/2022/DNOTE-arab-ks-gap-20220617/#issue249_fonts</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1876843</commentid>
    <comment_count>2</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2022-06-20 12:20:35 -0700</bug_when>
    <thetext>Is the request here to ship a different font with macOS? If so, that&apos;s outside the scope of WebKit open source project.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1876934</commentid>
    <comment_count>3</comment_count>
    <who name="r12a">ishida</who>
    <bug_when>2022-06-21 03:35:56 -0700</bug_when>
    <thetext>I&apos;m not suggesting any particular solution, just asking that it be possible for Kashmiri users (and others) to write and read their language on the Web.  Safari/Webkit browsers don&apos;t appear to allow that at the moment (unlike Blink &amp; Gecko browsers). I&apos;m hoping that you can help unblock that situation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1878168</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-06-24 08:10:27 -0700</bug_when>
    <thetext>&lt;rdar://problem/95855676&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>460299</attachid>
            <date>2022-06-17 09:06:13 -0700</date>
            <delta_ts>2022-06-17 09:06:13 -0700</delta_ts>
            <desc>Example glyph forms for Kashmiri.</desc>
            <filename>159508963-5418f8d3-b5de-43e8-9c3a-31cd1a315f0f.png</filename>
            <type>image/png</type>
            <size>5313</size>
            <attacher name="r12a">ishida</attacher>
            
              <data encoding="base64">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
AAAAAElFTkSuQmCC
</data>

          </attachment>
      

    </bug>

</bugzilla>