RFR: 8269806: Emoji rendering on Linux [v5]

Nikita Gubarkov duke at openjdk.org
Fri Jul 15 13:11:57 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 incrementally with three additional commits since the last revision:

 - 8269806: Fix emoji, ZWJ, variation selectors and font fallback
   
   Also implement unacached rendering of colored outlines and bitmap glyphs
 - 8269806: Added emoji support for Windows
   
   Also pass real glyph type from native code instead of guessing it by rowBytes & width
 - Revert "8269806: Fix rendering of colored glyphs on big font sizes"
   
   This reverts commit e8b1adab923c79a6dd7a5d0b6adfb634c56f67bb.

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/4798/files
  - new: https://git.openjdk.org/jdk/pull/4798/files/e8b1adab..30067e8e

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=4798&range=04
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=4798&range=03-04

  Stats: 1874 lines in 51 files changed: 1469 ins; 194 del; 211 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