On Wed, 1 Feb 2023 17:47:59 GMT, Phil Race <[email protected]> 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

Reply via email to