Bug 172565 - Add emoji support to wincairo
Summary: Add emoji support to wincairo
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Text (show other bugs)
Version: WebKit Nightly Build
Hardware: PC Windows 10
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on: 204884 205003 205485
Blocks:
  Show dependency treegraph
 
Reported: 2017-05-24 17:41 PDT by isaac+webkit
Modified: 2020-01-22 22:49 PST (History)
3 users (show)

See Also:


Attachments
HTML page with smiling face emoji (146 bytes, text/html)
2017-05-24 17:41 PDT, isaac+webkit
no flags Details
Screenshot of rendering (15.19 KB, image/png)
2017-05-24 17:43 PDT, isaac+webkit
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description isaac+webkit 2017-05-24 17:41:03 PDT
Created attachment 311169 [details]
HTML page with smiling face emoji

Using minibrowser when build with wincairo doesn't display emoji, even if fonts on the system support their display.
Comment 1 isaac+webkit 2017-05-24 17:43:57 PDT
Created attachment 311170 [details]
Screenshot of rendering

Shows the result of loading the test.html page in minibrowser.
Comment 2 Fujii Hironori 2017-05-24 18:52:11 PDT
There is my WIP patch in Bug 156579.
Comment 3 Fujii Hironori 2017-05-25 00:34:32 PDT
Sorry, I did misunderstand. WinCairo port doesn't use FreeType and HarfBuzz.
Comment 4 Don Olmstead 2017-05-25 10:25:47 PDT
We plan to move to FreeType HarfBuzz in the near future for the WinCairo port. I wouldn't try anything until that is completed.
Comment 5 Myles C. Maxfield 2017-05-25 10:55:46 PDT
> We plan to move to ... HarfBuzz

Why? DirectWrite is more correct and doesn't require a third-party library.
Comment 6 Don Olmstead 2017-05-25 10:58:22 PDT
(In reply to Myles C. Maxfield from comment #5)
> > We plan to move to ... HarfBuzz
> 
> Why? DirectWrite is more correct and doesn't require a third-party library.

We'd like things to match our PlayStation port which is Freetype and Harfbuzz
Comment 7 Myles C. Maxfield 2017-05-25 11:03:59 PDT
(In reply to Don Olmstead from comment #6)
> (In reply to Myles C. Maxfield from comment #5)
> > > We plan to move to ... HarfBuzz
> > 
> > Why? DirectWrite is more correct and doesn't require a third-party library.
> 
> We'd like things to match our PlayStation port which is Freetype and Harfbuzz

The WinCairo port doesn't run on the PlayStation, though. It seems silly to make the WinCairo port worse because of a completely separate project.
Comment 8 Don Olmstead 2017-05-25 11:26:18 PDT
(In reply to Myles C. Maxfield from comment #7)
> (In reply to Don Olmstead from comment #6)
> > (In reply to Myles C. Maxfield from comment #5)
> > > > We plan to move to ... HarfBuzz
> > > 
> > > Why? DirectWrite is more correct and doesn't require a third-party library.
> > 
> > We'd like things to match our PlayStation port which is Freetype and Harfbuzz
> 
> The WinCairo port doesn't run on the PlayStation, though. It seems silly to
> make the WinCairo port worse because of a completely separate project.

There really aren't any maintainers for WinCairo so it made sense for us to make that call. When we're at that point I can always make it an option in the CMake configuration so people can choose the font shaping backend.
Comment 9 Myles C. Maxfield 2017-05-25 11:46:04 PDT
(In reply to Don Olmstead from comment #8)
> (In reply to Myles C. Maxfield from comment #7)
> > (In reply to Don Olmstead from comment #6)
> > > (In reply to Myles C. Maxfield from comment #5)
> > > > > We plan to move to ... HarfBuzz
> > > > 
> > > > Why? DirectWrite is more correct and doesn't require a third-party library.
> > > 
> > > We'd like things to match our PlayStation port which is Freetype and Harfbuzz
> > 
> > The WinCairo port doesn't run on the PlayStation, though. It seems silly to
> > make the WinCairo port worse because of a completely separate project.
> 
> There really aren't any maintainers for WinCairo so it made sense for us to
> make that call. When we're at that point I can always make it an option in
> the CMake configuration so people can choose the font shaping backend.

It's probably just a question of which ComplexTextController to compile, so switching it out should be easy.
Comment 10 Fujii Hironori 2020-01-22 22:49:49 PST
I fixed all Emoji bugs for WinCairo port.
Closed this bug.

Unfortunately, it supports only black and white Emoji because legacy Windows API doesn't support colorful Emoji.
Please file a new ticket to track colorful Emoji support for WinCairo port.