[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openjdk-openjfx-dev
Subject:    Re: RFR: 8290866: Apple Color Emoji turns gray after JavaFX version 18 [v4]
From:       Kevin Rushforth <kcr () openjdk ! org>
Date:       2023-02-24 22:41:20
Message-ID: zWcCGtAl1pwGvzMZZEYLSIWE9hUB2syJ9Fxz_HZCoYE=.447fd7f4-3934-4d44-84d1-5052341daa6d () github ! com
[Download RAW message or body]

On Fri, 24 Feb 2023 22:28:08 GMT, Phil Race <prr@openjdk.org> wrote:

> > This fix properly supports colour rendering of Emoji on macOS
> > 
> > 
> > On other platforms the Emoji will be rendered as ordinary greyscale glyphs - if \
> > there is font support for the requested code point.
> > 
> > A simple manual test is provided which uses a Text node, Label control
> > and editable TextField control.
> > 
> > Some highlights of the code
> > - To determine if it is a color emoji glyph probe the 'sbix' font table which is \
> >                 what is used by Apple
> > - Text runs now break at an Emoji glyph
> > - The Emoji is retrieved as an BGRA image - ie 4 channel including alpha
> > - It was necessary to retrieve the Emoji glyph bounds via a different CoreText \
> > API since the bounds that were being retrieved were wrong for the Emoji image - \
> >                 causing clipping
> > - It was necessary to retrieve the Emoji code point advance via a CoreText API \
> > since the HMTX metrics were very wrong - causing overlapping glyphs
> > - drawString checks if it is an Emoji run and redirects to a new drawColorGlyph \
> > method which draws the image as a texture
> > - All 3 rendering pipelines have this support and have been verified on all 3 \
> > desktop platforms
> 
> Phil Race has updated the pull request incrementally with one additional commit \
> since the last revision: 
> 8290866

Marked as reviewed by kcr (Lead).

-------------

PR: https://git.openjdk.org/jfx/pull/1047


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic