RFR: 8269806: Emoji rendering on Linux [v14]

Nikita Gubarkov duke at openjdk.org
Tue Oct 25 19:09:30 UTC 2022


> 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 with a new target base due to a merge or a rebase. The pull request now contains 17 commits:

 - Merge branch 'master' into JDK-8269806
 - Fix italic and bold styles for colored outline glyphs
 - Fix rotated text metrics
 - Disable colored outlines on Linux to be able to build with old system Freetype
 - Merge master
 - Optimize bitmap creation in GlyphRenderData
   
   Get rid of unneeded abstract methods
   
   Use SSIM for OutlineTextRendererEmoji test
 - Fix pointer to long conversion
 - Fix other CRLF
 - Fix GlyphRenderData CRLF
 - 8269806: Fix emoji, ZWJ, variation selectors and font fallback
   
   Also implement unacached rendering of colored outlines and bitmap glyphs
 - ... and 7 more: https://git.openjdk.org/jdk/compare/0caea818...ed774234

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

Changes: https://git.openjdk.org/jdk/pull/4798/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=4798&range=13
  Stats: 2522 lines in 54 files changed: 2084 ins; 140 del; 298 mod
  Patch: https://git.openjdk.org/jdk/pull/4798.diff
  Fetch: git fetch https://git.openjdk.org/jdk pull/4798/head:pull/4798

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



More information about the client-libs-dev mailing list