Bug 229179

Summary: Some font doesn't render with font-variant-ligatures: none;
Product: WebKit Reporter: Xidorn Quan <xidorn-webkit>
Component: TextAssignee: Nobody <webkit-unassigned>
Status: RESOLVED DUPLICATE    
Severity: Normal CC: mmaxfield, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
font with problem none

Description Xidorn Quan 2021-08-16 23:02:18 PDT
Created attachment 435665 [details]
font with problem

Steps to reproduce:
1. download the attached font file
2. create an HTML with the following code in the same directory and open it
<!DOCTYPE html>
<html>
<style>
  @font-face {
    font-family: "A";
    src: url(GilSBI30.woff);
  }
  p {
    font: 90px/1 A;
    font-variant-ligatures: none;
  }
</style>
<p><span>Hello world</span></p>
<p>Hello world</p>


Expected result:
It should render the text properly

Actual result:
The text is not rendered


It seems that the font has a bad font metrics with CoreText. In Safari 14, the first line wouldn't display even without `font-variant-ligatures: none;`, but this issue is fixed in the Technology Preview.
Comment 1 Radar WebKit Bug Importer 2021-08-17 09:59:34 PDT
<rdar://problem/82034235>
Comment 2 Myles C. Maxfield 2021-08-18 20:48:11 PDT
paintInfo.rect.intersects(snappedIntRect(overflowRect)) is returning false in LegacyInlineFlowBox::paint()
Comment 3 Myles C. Maxfield 2021-08-18 20:50:45 PDT
The LegacyRootInlineBox has 0 height
Comment 4 Myles C. Maxfield 2021-08-18 20:58:41 PDT
CTFontGetAscent() and CTFontGetDescent() are returning 0. This is a bug in Core Text.
Comment 5 Myles C. Maxfield 2021-08-19 23:30:32 PDT
The font has a broken 'hhea' table, it has zero values for ascender, descender, and lineGap.
Comment 6 Myles C. Maxfield 2021-08-19 23:30:54 PDT

*** This bug has been marked as a duplicate of bug 6274 ***