• Timothy Gu's avatar
    Set Linux fallback font locale for emojis to und-Zsye · 671511b0
    Timothy Gu authored
    Prior to this CL, Chrome on desktop Linux often inconsistently used
    contour fonts (e.g., DejaVu Sans and Noto Sans Symbols2) for some
    emojis, even when a dedicated emoji font (e.g., Noto Color Emoji) is
    available and used for all other emojis. In order to force the color
    emoji font to be used always, hacks [1] have been mentioned in online
    forums that prepend the color emoji font to the list of system fonts in
    fonts.conf, which can have highly deletorious effects on other
    applications (like normal numerals becoming their emoji versions).
    
    The ISO locale code "und-Zsye" [2] is one of the ways of informing
    fontconfig (as of version 2.12.5) that color emoji fonts should be
    preferred, along with the special font family "emoji" [3]. fontconfig
    also has default configurations that automatically map the locale and
    the "emoji" family to any available color emoji font. By explicitly
    setting the locale to "und-Zsye", this CL provides the desired
    out-of-the-box experience to desktop Linux users.
    
    While we could also specify the "emoji" font family either instead of or
    in addition to the locale, doing so requires more plumbing in the code
    and may be done in the future.
    
    [1]: https://github.com/googlefonts/noto-emoji/issues/36
    [2]: https://unicode.org/reports/tr51/#Emoji_Script
    [3]: https://bugs.freedesktop.org/show_bug.cgi?id=94551
    
    Bug: 767754
    Change-Id: Ie8019cc0540a177c816c8131ca7c6a504952aa09
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2207627
    Commit-Queue: Timothy Gu <timothygu@chromium.org>
    Reviewed-by: default avatarDominik Röttsches <drott@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#772414}
    671511b0
LocaleInFonts.md 6.13 KB