emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: emacs-27 60c84ad: ; * etc/TODO: Fix last change.


From: Robert Pluim
Subject: Re: emacs-27 60c84ad: ; * etc/TODO: Fix last change.
Date: Fri, 06 Mar 2020 17:32:40 +0100

>>>>> On Thu, 05 Mar 2020 21:04:58 +0200, Eli Zaretskii <address@hidden> said:

    >> If you look at the list of Emoji codepoints I sent earlier, I think
    >> you'll agree that they're all over the place. But at least this makes
    >> the patch smaller :-)

    Eli> Yes.  And I think the Emoji that are outside of those 4 blocks are of
    Eli> the kind that by default display in their text presentation, isn't
    Eli> that right?

A lot of them, yes, but not all. E.g. U+231A has Emoji == yes, and
Emoji_Presentation == yes.

    >> Note that with this, and Symbola disabled, this does not display a
    >> glyph for U+1F300 on macOS unless I prepend 'Apple Color Emoji' to the
    >> frame's fontset. Is that expected on macOS?

    Eli> I'm not familiar with how Emacs on macOS looks for fonts, sorry.  On
    Eli> Windows, we will need the help of w32-find-non-USB-fonts to find the
    Eli> built-in fonts for Emoji (because there are no Unicode sub-range bits
    Eli> for Emoji), if Noto Color Emoji is not installed, so maybe something
    Eli> similar is needed on macOS.  Maybe Yamamoto-san (CC'ed) can chime in
    Eli> and help us here.

So this was a combination of me forgetting to add 'emoji' into the
list of 'simple' scripts in fontset.el, and the following code in
macfont.m:

          /* Don't use a color bitmap font unless its family is
             explicitly specified.  */
           if ((sym_traits & kCTFontTraitColorGlyphs) && NILP (family))
             continue;

Yamamoto-san, Iʼm not sure I understand the rationale for excluding
colour fonts unless explicitly requested, could you elaborate?

    >> -    else if (name ~ 
/punctuation|mathematical|arrows|currency|superscript|small form 
variants|geometric|dingbats|enclosed|alchemical|pictograph|emoticon|transport/) 
return "symbol"
    >> +    else if (name ~ /transport|supplemental symbols/) return "emoji"
    >> +    else if (name ~ 
/punctuation|mathematical|arrows|currency|superscript|small form 
variants|geometric|dingbats|enclosed|alchemical|pictograph/) return "symbol"

    Eli> I think we should also convert "variation selectors" to "emoji".  We
    Eli> must have the same font selected for variation selectors and for the
    Eli> emoticons, otherwise character composition will not work.

Done for FE00-FE0F.

    >> +        (emoji #x1F300)))

    Eli> I think we should add at least #x1F600 and #xFE0F as representative
    Eli> characters for 'emoji'.

OK.

    >> +  (set-fontset-font "fontset-default" 'emoji
    >> +                      "Noto Color Emoji" nil 'prepend)

    Eli> I think it's better to use '("Noto Color Emoji" . "iso10646-1")
    Eli> instead of just the family name, for consistency if nothing else.

Right. For some reason I thought it didnʼt work with iso10646-1, but
my testing must have been flawed.

Robert



reply via email to

[Prev in Thread] Current Thread [Next in Thread]