RFR: 8269806: Emoji rendering on Linux [v18]

Nikita Gubarkov duke at openjdk.org
Wed Feb 1 18:06:02 UTC 2023


On Wed, 1 Feb 2023 17:47:59 GMT, Phil Race <prr at openjdk.org> wrote:

>> Oh if only I remembered the details. Overall, such complex changes were made to support variation selectors. See: we have Segoe UI Emoji for colored emoji and Segoe UI Symbol for monochrome ones, each emoji by default must be rendered either colored or monochrome according to CLDR, so I add Segoe UI Symbol into fallback sequence, but exclude those ranges which shouldn't be rendered monochrome by default (that is, most of the characters). Then to make variation selector work, we ignore these exclusion ranges if monochrome selector is used or something like that. So this is some kind of hack to make variation selectors work without "branching" the fallback sequence and fit into existing architecture. I will look through the code to refresh the details and will let you know more.
>
> Please do provide details .. but I don't think we need to .. or should .. be making variation selectors work where the variations aren't supported by a single physical font.

Why shouldn't we? That's how it works on Windows - monochrome emoji in Segoe UI Symbos and colored in Segoe UI Emoji, not very convenient, but I believe we have to deal with it. Native apps do support this and I guess OS font rendering has some emoji-specific branching to support this.

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

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



More information about the client-libs-dev mailing list