Bug 167557

Summary: [FreeType] Enable ligatures and kerning in the fast font layout path
Product: WebKit Reporter: Michael Catanzaro <mcatanzaro>
Component: PlatformAssignee: Nobody <webkit-unassigned>
Status: NEW ---    
Severity: Normal CC: aperez, bugs-noreply, fred.wang, mcatanzaro, mmaxfield, realh69
Priority: P2    
Version: WebKit Nightly Build   
Hardware: PC   
OS: Linux   
See Also: https://bugs.webkit.org/show_bug.cgi?id=160251
https://bugs.webkit.org/show_bug.cgi?id=183285
Bug Depends on:    
Bug Blocks: 206208    

Description Michael Catanzaro 2017-01-28 19:41:11 PST
We should enable ligatures and kerning in the fast font layout path, as performed by Apple's ports.

Myles has hinted that this might require implementing Font::applyTransforms for FreeType, though I'm not sure what all this entails.
Comment 1 Michael Catanzaro 2017-01-28 19:57:54 PST
We should also investigate bug #102603, which I don't understand.
Comment 2 Michael Catanzaro 2017-03-06 13:23:38 PST
*** Bug 149642 has been marked as a duplicate of this bug. ***
Comment 3 Adrian Perez 2018-05-02 17:20:43 PDT
As of r230559 (bug #183285) the GTK port is using always the
complex text code path. Note that this is still relevant for
other ports using FreeType (e.g. WPE).
Comment 4 Myles C. Maxfield 2021-07-26 22:21:29 PDT
I'm happy to work on this, as a part of https://bugs.webkit.org/show_bug.cgi?id=206208. I will need advice from someone who is more familiar with Harfbuzz, though.
Comment 5 Michael Catanzaro 2021-07-27 05:03:06 PDT
Hi, thanks for the offer to help. The simple text path does not use harfbuzz at all. harfbuzz is only used for the complex text path. (See bug #102603, which may or may not be obsolete, I'm not sure.) The simple text path uses FreeType directly.

Well, at least I think so?

(In reply to Michael Catanzaro from comment #0)
> We should enable ligatures and kerning in the fast font layout path, as
> performed by Apple's ports.

I don't know enough about FreeType to know whether this is actually possible. It's certainly a lot less important than it used to be since GTK no longer uses simple text at all, except when forced by environment variable, so nobody will ever see it. So this really only matters for WPE. I wonder if it's time for WPE to switch to the complex text path?