RFR: 8269806: Emoji rendering on Linux [v2]

Hiroshi Miura duke at openjdk.java.net
Sat Mar 26 07:27:03 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)

This is a case to look with **Noto Emoji** font.
![emoticon_jdk_8269806_noto_emoji](https://user-images.githubusercontent.com/123720/160229313-554ac914-c3d0-4ac4-b10d-31ce84e2b227.png)

This tell us when we see emoticon with **dialog** logical font, most glyph come from **unifont** and some from other than **unifont**, which is **Noto Emoji** in my case.

An alternation is happened in same unicode ranges, `U1F624`, `U1F62C`, and from `U1F645` to `U1F64F`

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

PR: https://git.openjdk.java.net/jdk/pull/4798



More information about the client-libs-dev mailing list