RFR: 8269806: Emoji rendering on Linux [v7]

Nikita Gubarkov duke at openjdk.org
Fri Jul 15 13:30:02 UTC 2022


On Fri, 15 Jul 2022 13:25:34 GMT, Nikita Gubarkov <duke at openjdk.org> wrote:

>> It was implemented in JetBrains Runtime a year ago and was ported & refactored for this PR
>> It includes:
>> - Bitmap glyph loading via Freetype
>> - Manual scaling & transformation of bitmap glyphs with nearest-neighbor or bilinear-mipmap style algorithms depending on the text antialiasing hint
>> - Storing BGRA glyphs in glyph cache & rendering them as plain images, as currently used XRender text drawing functions doesn't support colored glyphs
>> - Small fixes in related code like null-checks which could cause NPE & comment typos
>
> Nikita Gubarkov has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Fix other CRLF

🎉 Celebrating 1 year of this PR by adding bunch of changes that include:

- Emoji rendering for Windows (colored outline glyphs) - based on Linux version via Freetype
- Emoji rendering via OutlineTextRenderer for big font sizes - both colored outline & bitmap glyphs

As well as many changes related to text layout & font fallback on all platforms:
- Detect emoji sequences which need shaping
- Make variation selectors work with the font fallback mechanism
- Properly handle ZWJ sequences in our layout code

@prrace can you take a look, please?

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

PR: https://git.openjdk.org/jdk/pull/4798



More information about the client-libs-dev mailing list