> 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 ------------- Changes: - all: https://git.openjdk.org/jfx/pull/1047/files - new: https://git.openjdk.org/jfx/pull/1047/files/2416aeb6..acff6dab Webrevs: - full: https://webrevs.openjdk.org/?repo=jfx&pr=1047&range=01 - incr: https://webrevs.openjdk.org/?repo=jfx&pr=1047&range=00-01 Stats: 11 lines in 2 files changed: 4 ins; 2 del; 5 mod Patch: https://git.openjdk.org/jfx/pull/1047.diff Fetch: git fetch https://git.openjdk.org/jfx pull/1047/head:pull/1047 PR: https://git.openjdk.org/jfx/pull/1047