RFR: 8269806: Emoji rendering on Linux [v2]
Nikita Gubarkov
duke at openjdk.java.net
Fri Mar 25 05:02:44 UTC 2022
On Thu, 24 Mar 2022 22:36:28 GMT, Nikita Gubarkov <duke at openjdk.java.net> 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:
>
> 8269806: Fix builds with old Freetype (before 2.5)
For `-Dsun.java2d.xrender=false`:
sun.java2d.loops.FillRect::FillRect(AnyColor, SrcNoEa, AnyInt)
sun.java2d.loops.FillParallelogram::FillParallelogram(AnyColor, SrcNoEa, AnyInt)
sun.java2d.loops.DrawGlyphListColor$General::DrawGlyphListColor(OpaqueColor, SrcNoEa, IntRgb)
sun.java2d.loops.Blit$GeneralMaskBlit::Blit(IntArgbPre, SrcOverNoEa, IntRgb)
sun.java2d.loops.MaskBlit::MaskBlit(IntArgbPre, SrcOver, IntRgb)
sun.java2d.loops.Blit::Blit(IntRgb, SrcNoEa, IntRgb)
For `-Dsun.java2d.opengl=True`:
OGLDrawGlyphs
sun.java2d.opengl.OGLRTTSurfaceToSurfaceBlit::Blit("OpenGL Surface (render-to-texture)", AnyAlpha, "OpenGL Surface")
And everything renders OK.
Actually it's exactly this version, I didn't rebase it over fresh master.
-------------
PR: https://git.openjdk.java.net/jdk/pull/4798
More information about the client-libs-dev
mailing list