RFR: 8269806: Emoji rendering on Linux [v12]

Alexey Ushakov avu at openjdk.org
Wed Aug 3 09:56:19 UTC 2022


On Mon, 1 Aug 2022 11:01:58 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 rotated text metrics

src/java.desktop/macosx/classes/sun/font/CCompositeGlyphMapper.java line 67:

> 65:     protected int convertToGlyph(int unicode) {
> 66:         int glyph = convertToGlyph(unicode, 0);
> 67: //        setCachedGlyphCode(unicode, glyph);

What's the purpose of the commented line?

src/java.desktop/share/classes/sun/font/StandardGlyphVector.java line 1835:

> 1833: 
> 1834:         void appendGlyphRenderData(int glyphID, GlyphRenderData result, float x, float y) {
> 1835:             // !!! fontStrike needs a method for this.  For that matter, GeneralPath does.

It's better to use well known "TODO" here

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

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



More information about the client-libs-dev mailing list