<?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>194498</bug_id>
          
          <creation_ts>2019-02-11 05:13:25 -0800</creation_ts>
          <short_desc>[FreeType] Unable to render some Hebrew characters</short_desc>
          <delta_ts>2019-04-02 04:46:41 -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>WebKitGTK</component>
          <version>Other</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alberto Garcia">berto</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>bugs-noreply</cc>
    
    <cc>cgarcia</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>mmaxfield</cc>
    
    <cc>skakoty1337</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1504845</commentid>
    <comment_count>0</comment_count>
    <who name="Alberto Garcia">berto</who>
    <bug_when>2019-02-11 05:13:25 -0800</bug_when>
    <thetext>WebKitGTK is unable to render some Hebrew characters, displaying square boxes instead.

Here&apos;s the link to the test case:

   http://bibleconsultants.nl/downloads/webkit2gtk/resources.html

Here&apos;s what it&apos;s supposed to look like:

   http://bibleconsultants.nl/downloads/webkit2gtk/right-rendering.png

And here&apos;s how it appears on WebKitGTK:

   http://bibleconsultants.nl/downloads/webkit2gtk/wrong-rendering.png

The problem seems to be that some of those characters are decomposed (i.e combinations of two or more characters). The W3C validator does indeed emit a warning saying that &quot;Text run is not in Unicode Normalization Form C&quot;, but that doesn&apos;t seem to be a requirement for HTML and it should be possible to display the text correctly.

I reproduced this problem with WebKitGTK 2.22.6, and master seems to be affected as well.

Other tests (using Debian stretch packages):

  - Chromium 71.0.3578.80 also fails.
  - Firefox-ESR 60.5.0 works fine.
  - Chrome 71.0.3578.98 works fine.

Other apps (Gedit, gnome-terminal, ...) seem to work fine as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1504846</commentid>
    <comment_count>1</comment_count>
      <attachid>361673</attachid>
    <who name="Alberto Garcia">berto</who>
    <bug_when>2019-02-11 05:14:39 -0800</bug_when>
    <thetext>Created attachment 361673
Test case

Here&apos;s a simpler version of the text case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1504848</commentid>
    <comment_count>2</comment_count>
      <attachid>361674</attachid>
    <who name="Alberto Garcia">berto</who>
    <bug_when>2019-02-11 05:21:18 -0800</bug_when>
    <thetext>Created attachment 361674
Test case (NFC normalization)

Here&apos;s the same file as before but normalized using Unicode NFC.

This one can be displayed correctly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1504862</commentid>
    <comment_count>3</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2019-02-11 07:14:41 -0800</bug_when>
    <thetext>Note this affects many languages, not just Hebrew.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1504863</commentid>
    <comment_count>4</comment_count>
    <who name="Alberto Garcia">berto</who>
    <bug_when>2019-02-11 07:15:48 -0800</bug_when>
    <thetext>(In reply to Michael Catanzaro from comment #3)
&gt; Note this affects many languages, not just Hebrew.

Yes, most certainly, but this is the test case we have.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1505197</commentid>
    <comment_count>5</comment_count>
      <attachid>361789</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2019-02-12 04:48:01 -0800</bug_when>
    <thetext>Created attachment 361789
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1505218</commentid>
    <comment_count>6</comment_count>
    <who name="Alberto Garcia">berto</who>
    <bug_when>2019-02-12 07:37:51 -0800</bug_when>
    <thetext>(In reply to Carlos Garcia Campos from comment #5)
&gt; Created attachment 361789 [details]
&gt; Patch

I tried it in the 2.22.x branch, I confirm that it fixes this issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1505274</commentid>
    <comment_count>7</comment_count>
      <attachid>361789</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2019-02-12 10:36:01 -0800</bug_when>
    <thetext>Comment on attachment 361789
Patch

D&apos;oh!

It&apos;s frustrating that so many ICU APIs have to be called twice in a row to be used safely, instead of just allocating the buffer for us. Oh well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1505666</commentid>
    <comment_count>8</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2019-02-13 01:10:20 -0800</bug_when>
    <thetext>Committed r241402: &lt;https://trac.webkit.org/changeset/241402&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1523282</commentid>
    <comment_count>9</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2019-04-02 04:46:41 -0700</bug_when>
    <thetext>*** Bug 184448 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>361673</attachid>
            <date>2019-02-11 05:14:39 -0800</date>
            <delta_ts>2019-02-11 05:14:39 -0800</delta_ts>
            <desc>Test case</desc>
            <filename>test-case.html</filename>
            <type>text/html</type>
            <size>660</size>
            <attacher name="Alberto Garcia">berto</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWw+CjxodG1sPgo8aGVhZD4KICA8dGl0bGU+VGVzdCBjYXNlPC90aXRsZT4K
ICA8bWV0YSBjaGFyc2V0PSJVVEYtOCIvPgo8L2hlYWQ+Cjxib2R5Pgo8cD5hbmQ6INeV1rA8L3A+
CjxwPnRvOiDXkNa215zWvjwvcD4KPHA+c29uOiDXkda81rDXoNa11qXXmTwvcD4KPHA+SXNyYWVs
OiDXmda076yr1rDXqNa415DWtdaW15w8L3A+CjxwPnNwZWFrOiDXqta81rDXk9a315HWvNa11qPX
qDwvcD4KPHA+dG86INec1rU8L3A+CjxwPnNheTog15DXnta51pHXqDwvcD4KPHA+dGFrZTog16fW
sNeX1qTXlda8PC9wPgo8cD5oZS1nb2F0OiDvrKvWsNei1rTXmdeo1r48L3A+CjxwPmdvYXQ6INei
1rTXlta81rTXmded1pk8L3A+CjxwPnRvOiDXnNawPC9wPgo8cD5zaW46INeX1rfXmNa81rjWlNeQ
16o8L3A+CjxwPmFuZDog15XWsDwvcD4KPHA+YnVsbDog16LWtdao15LWttecPC9wPgo8cD5hbmQ6
INeV1rg8L3A+CjxwPnlvdW5nIHJhbTog15vWttan15HWtu+sqzwvcD4KPHA+c29uOiDXkda81rDX
oNa115nWvjwvcD4KPHA+eWVhcjog76yq1rjXoNa41pvXlDwvcD4KPHA+Y29tcGxldGU6INeq1rzW
sNee1rTXmdee1rTWltedPC9wPgo8cD50bzog15zWsDwvcD4KPHA+YnVybnQtb2ZmZXJpbmc6INei
1rnXnNa41r3XlNeDPC9wPgo8L2JvZHk+CjwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>361674</attachid>
            <date>2019-02-11 05:21:18 -0800</date>
            <delta_ts>2019-02-11 05:21:18 -0800</delta_ts>
            <desc>Test case (NFC normalization)</desc>
            <filename>test-case-nfc.html</filename>
            <type>text/html</type>
            <size>664</size>
            <attacher name="Alberto Garcia">berto</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWw+CjxodG1sPgo8aGVhZD4KICA8dGl0bGU+VGVzdCBjYXNlPC90aXRsZT4K
ICA8bWV0YSBjaGFyc2V0PSJVVEYtOCIvPgo8L2hlYWQ+Cjxib2R5Pgo8cD5hbmQ6INeV1rA8L3A+
CjxwPnRvOiDXkNa215zWvjwvcD4KPHA+c29uOiDXkdaw1rzXoNa11qXXmTwvcD4KPHA+SXNyYWVs
OiDXmda016nXgtaw16jWuNeQ1rXWltecPC9wPgo8cD5zcGVhazog16rWsNa815PWt9eR1rXWvNaj
16g8L3A+CjxwPnRvOiDXnNa1PC9wPgo8cD5zYXk6INeQ157WudaR16g8L3A+CjxwPnRha2U6INen
1rDXl9ak15XWvDwvcD4KPHA+aGUtZ29hdDog16nXgtaw16LWtNeZ16jWvjwvcD4KPHA+Z29hdDog
16LWtNeW1rTWvNeZ153WmTwvcD4KPHA+dG86INec1rA8L3A+CjxwPnNpbjog15fWt9eY1rjWvNaU
15DXqjwvcD4KPHA+YW5kOiDXldawPC9wPgo8cD5idWxsOiDXota11qjXkta215w8L3A+CjxwPmFu
ZDog15XWuDwvcD4KPHA+eW91bmcgcmFtOiDXm9a21qfXkda216nXgjwvcD4KPHA+c29uOiDXkdaw
1rzXoNa115nWvjwvcD4KPHA+eWVhcjog16nXgda416DWuNab15Q8L3A+CjxwPmNvbXBsZXRlOiDX
qtaw1rzXnta015nXnta01pbXnTwvcD4KPHA+dG86INec1rA8L3A+CjxwPmJ1cm50LW9mZmVyaW5n
OiDXota515zWuNa915TXgzwvcD4KPC9ib2R5Pgo8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>361789</attachid>
            <date>2019-02-12 04:48:01 -0800</date>
            <delta_ts>2019-02-12 10:36:01 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>wk-ft-norm.diff</filename>
            <type>text/plain</type>
            <size>2382</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAzMDc4Y2U5ODQ0Yi4uYWNjNjY2MjllZmQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNyBAQAorMjAxOS0wMi0xMiAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGln
YWxpYS5jb20+CisKKyAgICAgICAgW0ZyZWVUeXBlXSBVbmFibGUgdG8gcmVuZGVyIHNvbWUgSGVi
cmV3IGNoYXJhY3RlcnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE5NDQ5OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFdlIGFyZSBmYWlsaW5nIHRvIGZpbmQgYSBmb250IGZvciBzb21lIG9mIHRoZSBjb21i
aW5pbmcgY2hhcmFjdGVyIHNlcXVlbmNlcyBiZWNhdXNlIG5vcm1hbGl6YXRpb24gaXMgZmFpbGlu
ZyBkdWUKKyAgICAgICAgdG8gb3ZlcmZsb3cgZXJyb3IuIEluIGNhc2Ugb2Ygb3ZlcmZsb3csIG5v
cm1hbGl6ZSByZXR1cm5zIHRoZSByZXF1aXJlZCBsZW5ndGggZm9yIHRoZSBub3JtYWxpemVkIGNo
YXJhY3RlcnMsIHNvCisgICAgICAgIHdlIHNob3VsZCBoYW5kbGUgdGhhdCBjYXNlIHRvIHJlc2l6
ZSB0aGUgb3V0cHV0IGJ1ZmZlciBhbmQgdHJ5IGFnYWluLgorCisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvY2Fpcm8vRm9udENhaXJvSGFyZmJ1enpORy5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpGb250Q2FzY2FkZTo6Zm9udEZvckNvbWJpbmluZ0NoYXJhY3RlclNlcXVlbmNlIGNvbnN0KToK
KwogMjAxOS0wMi0xMiAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgogCiAgICAgICAgIElt
cGxlbWVudCBzZXJpYWxpemluZyBpbiBNSU1FIHR5cGUgcGFyc2VyCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9Gb250Q2Fpcm9IYXJmYnV6ek5HLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0ZvbnRDYWlyb0hhcmZi
dXp6TkcuY3BwCmluZGV4IDEwN2RjNzEzMTdiLi43ODNjMDE4ZWY1NiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vRm9udENhaXJvSGFyZmJ1enpORy5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vRm9udENhaXJv
SGFyZmJ1enpORy5jcHAKQEAgLTEwNCwxMSArMTA0LDIwIEBAIGNvbnN0IEZvbnQqIEZvbnRDYXNj
YWRlOjpmb250Rm9yQ29tYmluaW5nQ2hhcmFjdGVyU2VxdWVuY2UoY29uc3QgVUNoYXIqIGNoYXJh
Y3RlCiB7CiAgICAgVUVycm9yQ29kZSBlcnJvciA9IFVfWkVST19FUlJPUjsKICAgICBWZWN0b3I8
VUNoYXIsIDQ+IG5vcm1hbGl6ZWRDaGFyYWN0ZXJzKGxlbmd0aCk7Ci0gICAgQUxMT1dfREVQUkVD
QVRFRF9ERUNMQVJBVElPTlNfQkVHSU4KLSAgICBpbnQzMl90IG5vcm1hbGl6ZWRMZW5ndGggPSB1
bm9ybV9ub3JtYWxpemUoY2hhcmFjdGVycywgbGVuZ3RoLCBVTk9STV9ORkMsIFVOT1JNX1VOSUNP
REVfM18yLCBub3JtYWxpemVkQ2hhcmFjdGVycy5kYXRhKCksIGxlbmd0aCwgJmVycm9yKTsKLSAg
ICBBTExPV19ERVBSRUNBVEVEX0RFQ0xBUkFUSU9OU19FTkQKKyAgICBjb25zdCBhdXRvKiBub3Jt
YWxpemVyID0gdW5vcm0yX2dldE5GQ0luc3RhbmNlKCZlcnJvcik7CiAgICAgaWYgKFVfRkFJTFVS
RShlcnJvcikpCiAgICAgICAgIHJldHVybiBudWxscHRyOworICAgIGludDMyX3Qgbm9ybWFsaXpl
ZExlbmd0aCA9IHVub3JtMl9ub3JtYWxpemUobm9ybWFsaXplciwgY2hhcmFjdGVycywgbGVuZ3Ro
LCBub3JtYWxpemVkQ2hhcmFjdGVycy5kYXRhKCksIGxlbmd0aCwgJmVycm9yKTsKKyAgICBpZiAo
VV9GQUlMVVJFKGVycm9yKSkgeworICAgICAgICBpZiAoZXJyb3IgIT0gVV9CVUZGRVJfT1ZFUkZM
T1dfRVJST1IpCisgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAgICAgICBlcnJvciA9
IFVfWkVST19FUlJPUjsKKyAgICAgICAgbm9ybWFsaXplZENoYXJhY3RlcnMucmVzaXplKG5vcm1h
bGl6ZWRMZW5ndGgpOworICAgICAgICBub3JtYWxpemVkTGVuZ3RoID0gdW5vcm0yX25vcm1hbGl6
ZShub3JtYWxpemVyLCBjaGFyYWN0ZXJzLCBsZW5ndGgsIG5vcm1hbGl6ZWRDaGFyYWN0ZXJzLmRh
dGEoKSwgbm9ybWFsaXplZExlbmd0aCwgJmVycm9yKTsKKyAgICAgICAgaWYgKFVfRkFJTFVSRShl
cnJvcikpCisgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICB9CiAKICAgICBVQ2hhcjMy
IGNoYXJhY3RlcjsKICAgICB1bnNpZ25lZCBjbHVzdGVyTGVuZ3RoID0gMDsK
</data>
<flag name="review"
          id="378430"
          type_id="1"
          status="+"
          setter="mcatanzaro"
    />
          </attachment>
      

    </bug>

</bugzilla>