Discussion:
Status of multicolor fonts?
Clément Pit--Claudel
2015-12-16 13:40:24 UTC
Permalink
Hi emacs-devel,

Multicolor fonts seem to be becoming popular, especially for representing Emoji. There seems to be four competing standards to encode them (see http://blog.symbolset.com/multicolor-fonts for info and links). Both Apple and Microsoft distribute at least one such color Emoji font (Apple Color Emoji and Segoe UI Emoji). Google also has one, Noto Emoji, which is free as in beer and speech. Mozilla will release one soon, and so will the Emoji One project.

IIUC, Emacs on OSX can display at least some of these fonts properly. What is the status on other platforms? Is it dependent on the graphical toolkit with which Emacs is compiled?
😀 😬 😁 😂 😃 😄 😅 😆 😇 😉 😊 🙂 🙃 ☺ 😋 😌 😍 😘 😗 😙 😚 😜 😝
😛 🀑 🀓 😎 🀗 😏 😶 😐 😑 😒 🙄 🀔 😳 😞 😟 😠 😡 😔 😕 🙁 ☹ 😣 😖
😫 😩 😀 😮 😱 😚 😰 😯 😊 😧 😢 😥 😪 😓 😭 😵 😲 🀐 😷 🀒 🀕 😎
Cheers,
Clément.
Eli Zaretskii
2015-12-16 14:10:26 UTC
Permalink
Date: Wed, 16 Dec 2015 08:40:24 -0500
Multicolor fonts seem to be becoming popular, especially for representing Emoji. There seems to be four competing standards to encode them (see http://blog.symbolset.com/multicolor-fonts for info and links). Both Apple and Microsoft distribute at least one such color Emoji font (Apple Color Emoji and Segoe UI Emoji). Google also has one, Noto Emoji, which is free as in beer and speech. Mozilla will release one soon, and so will the Emoji One project.
IIUC, Emacs on OSX can display at least some of these fonts properly. What is the status on other platforms? Is it dependent on the graphical toolkit with which Emacs is compiled?
What do you mean by "display these fonts properly"? The characters
will be displayed on any platform, in their text representation, but
AFAIK Emacs doesn't take color information from the font; the color is
determined by the color attributes of the face. We also don't support
emoji modifiers and emoji variation selectors.

Really, for keeping up with these developments, we'd need to recruit
at least one person who is expert in this area, and can develop Emacs
capabilities related to latest versions of the Unicode standard. We
don't have such a person on board at this time.
Clément Pit--Claudel
2015-12-16 15:54:07 UTC
Permalink
Post by Eli Zaretskii
Dec 2015 08:40:24 -0500
Multicolor fonts seem to be becoming popular, especially for
representing Emoji. There seems to be four competing standards to
encode them (see http://blog.symbolset.com/multicolor-fonts for
info and links). Both Apple and Microsoft distribute at least one
such color Emoji font (Apple Color Emoji and Segoe UI Emoji).
Google also has one, Noto Emoji, which is free as in beer and
speech. Mozilla will release one soon, and so will the Emoji One
project.
IIUC, Emacs on OSX can display at least some of these fonts
properly. What is the status on other platforms? Is it dependent on
the graphical toolkit with which Emacs is compiled?
What do you mean by "display these fonts properly"? The characters
will be displayed on any platform, in their text representation, but
AFAIK Emacs doesn't take color information from the font; the color
is determined by the color attributes of the face. We also don't
support emoji modifiers and emoji variation selectors.
I meant display them in full color. I believe the MacOS build of Emacs already does this, but feedback from a MacOS user would be welcome. Is seems that on that platform setting the font to Apple Color Emoji is enough to get emjis to render in full color (see for example this screenshot: Loading Image...).

Maybe David (cc'ed) can provide insight?
Clément Pit--Claudel
2015-12-16 22:20:52 UTC
Permalink
Post by Eli Zaretskii
The characters
will be displayed on any platform, in their text representation, but
AFAIK Emacs doesn't take color information from the font; the color is
determined by the color attributes of the face. We also don't support
emoji modifiers and emoji variation selectors.
Looking at the code in more detail suggests that it in fact does on Mac, in macfont.m. The relevant bits of code were merged from Macport by Jab DjÀrv in May of 2014:

macfont_info->color_bitmap_p = 0;
if (sym_traits & kCTFontTraitColorGlyphs)
macfont_info->color_bitmap_p = 1;

and further below

#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1070
if (macfont_info->color_bitmap_p
#if MAC_OS_X_VERSION_MIN_REQUIRED < 1070
&& CTFontDrawGlyphs != NULL
#endif
)
{
if (len > 0)
{
CTFontDrawGlyphs (macfont_info->macfont, glyphs, positions, len,
context);
}
}
else
#endif /* MAC_OS_X_VERSION_MAX_ALLOWED >= 1070 */
{
CGContextSetFont (context, macfont_info->cgfont);
CGContextSetFontSize (context, font_size);
CGContextShowGlyphsAtPositions (context, glyphs, positions, len);
}
}

This seems to be using Apple-specific APIs, however, so it probably does not help much for other platforms. Still, it would be nice to have similar features on GNU/Linux. The patches that allowed this to function on MacOS were small; I wonder if it would be the same on other platforms.
Yuri Khan
2015-12-17 02:47:13 UTC
Permalink
On Thu, Dec 17, 2015 at 4:20 AM, Clément Pit--Claudel
Post by Clément Pit--Claudel
This seems to be using Apple-specific APIs, however, so it probably does not help much for other platforms. Still, it would be nice to have similar features on GNU/Linux. The patches that allowed this to function on MacOS were small; I wonder if it would be the same on other platforms.
If you want it on X11/GNU/Linux, you better start by convincing
FreeType developers and/or sending them a patch. I sure don’t want
each application implementing color fonts separately — if they get
implemented at all, I want to be able to disable them everywhere with
just one user setting.
Clément Pit--Claudel
2015-12-17 03:14:14 UTC
Permalink
On Thu, Dec 17, 2015 at 4:20 AM, Clément Pit--Claudel
Post by Clément Pit--Claudel
This seems to be using Apple-specific APIs, however, so it probably
does not help much for other platforms. Still, it would be nice to
have similar features on GNU/Linux. The patches that allowed this
to function on MacOS were small; I wonder if it would be the same
on other platforms.
If you want it on X11/GNU/Linux, you better start by convincing
FreeType developers and/or sending them a patch. I sure don’t want
each application implementing color fonts separately — if they get
implemented at all, I want to be able to disable them everywhere
with just one user setting.
Fortunately, support for this was added in Freetype in 2013, so I won't have much convincing to do, nor much patch-sending. It's also implemented in FontConfig. Plenty of applications compiled for GNU/Linux support it out of the box too, such as Mozilla Firefox and Chrome Linux.
As for disabling it, it's pretty easy: just don't enable it :) That is, just don't install a multicolor font.

Cheers,
Clément.
Eli Zaretskii
2015-12-17 16:11:02 UTC
Permalink
Date: Wed, 16 Dec 2015 22:14:14 -0500
Post by Yuri Khan
Post by Clément Pit--Claudel
This seems to be using Apple-specific APIs, however, so it probably
does not help much for other platforms. Still, it would be nice to
have similar features on GNU/Linux. The patches that allowed this
to function on MacOS were small; I wonder if it would be the same
on other platforms.
If you want it on X11/GNU/Linux, you better start by convincing
FreeType developers and/or sending them a patch. I sure don’t want
each application implementing color fonts separately — if they get
implemented at all, I want to be able to disable them everywhere
with just one user setting.
Fortunately, support for this was added in Freetype in 2013, so I won't have much convincing to do, nor much patch-sending. It's also implemented in FontConfig. Plenty of applications compiled for GNU/Linux support it out of the box too, such as Mozilla Firefox and Chrome Linux.
Patches are welcome to add support for this to Emacs on Posix systems.
On MS-Windows, this would require to switch from Uniscribe to
DirectWrite, AFAIU, which presents only C++ APIs, so it would be
harder.
Rüdiger Sonderfeld
2015-12-19 09:43:59 UTC
Permalink
Post by Clément Pit--Claudel
Fortunately, support for this was added in Freetype in 2013, so I won't have
much convincing to do, nor much patch-sending. It's also implemented in
FontConfig. Plenty of applications compiled for GNU/Linux support it out of
the box too, such as Mozilla Firefox and Chrome Linux. As for disabling it,
it's pretty easy: just don't enable it :) That is, just don't install a
multicolor font.
LibXft does not seem to have support for multicolor fonts though. There is a
patch to add initial support:

http://lists.x.org/archives/xorg-devel/2015-August/047175.html

But it seems this hasn't been merged and I'm not sure if this is actively
developed. If this patch (or something similar) gets merged then it seems
enabling it in GNU Emacs will be as simple as setting the FC_COLOR value for
fontconfig in xftfont.c.

Cheers,

RÃŒdiger
YAMAMOTO Mitsuharu
2016-01-06 03:51:29 UTC
Permalink
Post by Clément Pit--Claudel
The characters will be displayed on any platform, in their text
representation, but AFAIK Emacs doesn't take color information from
the font; the color is determined by the color attributes of the
face. We also don't support emoji modifiers and emoji variation
selectors.
Looking at the code in more detail suggests that it in fact does on
Mac, in macfont.m. The relevant bits of code were merged from
macfont_info-> color_bitmap_p = 0;
if (sym_traits & kCTFontTraitColorGlyphs)
macfont_info-> color_bitmap_p = 1;
and further below
#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1070
if (macfont_info->color_bitmap_p
#if MAC_OS_X_VERSION_MIN_REQUIRED < 1070
&& CTFontDrawGlyphs != NULL
#endif
)
{
if (len > 0)
{
CTFontDrawGlyphs (macfont_info->macfont, glyphs, positions, len,
context);
}
}
else
#endif /* MAC_OS_X_VERSION_MAX_ALLOWED >= 1070 */
{
CGContextSetFont (context, macfont_info->cgfont);
CGContextSetFontSize (context, font_size);
CGContextShowGlyphsAtPositions (context, glyphs, positions, len);
}
}
This seems to be using Apple-specific APIs, however, so it probably
does not help much for other platforms. Still, it would be nice to
have similar features on GNU/Linux. The patches that allowed this to
function on MacOS were small; I wonder if it would be the same on
other platforms.
According to the discussion about the inclusion of the Mac port, it
seems that this code should be removed from the mainline if we require
multicolor font implementations on free platforms first. WDYT?

YAMAMOTO Mitsuharu
***@math.s.chiba-u.ac.jp
John Wiegley
2016-01-06 06:23:15 UTC
Permalink
Post by Clément Pit--Claudel
This seems to be using Apple-specific APIs, however, so it probably does
not help much for other platforms. Still, it would be nice to have similar
features on GNU/Linux. The patches that allowed this to function on MacOS
were small; I wonder if it would be the same on other platforms.
According to the discussion about the inclusion of the Mac port, it seems
that this code should be removed from the mainline if we require multicolor
font implementations on free platforms first. WDYT?
Touché, and point to Yamamoto-san. Richard?
--
John Wiegley GPG fingerprint = 4710 CF98 AF9B 327B B80F
http://newartisans.com 60E1 46C4 BD1A 7AC1 4BA2
YAMAMOTO Mitsuharu
2016-04-11 22:34:28 UTC
Permalink
Post by John Wiegley
Post by YAMAMOTO Mitsuharu
Post by Clément Pit--Claudel
This seems to be using Apple-specific APIs, however, so it
probably does not help much for other platforms. Still, it would
be nice to have similar features on GNU/Linux. The patches that
allowed this to function on MacOS were small; I wonder if it would
be the same on other platforms.
According to the discussion about the inclusion of the Mac port, it
seems that this code should be removed from the mainline if we
require multicolor font implementations on free platforms
first. WDYT?
Touché, and point to Yamamoto-san. Richard?
Ping? If there is no plan to support multicolor fonts in Emacs 25.1
on free platforms, then I'll disable them on the mac-ct font backend
driver.

YAMAMOTO Mitsuharu
***@math.s.chiba-u.ac.jp
John Wiegley
2016-04-11 23:19:24 UTC
Permalink
Ping? If there is no plan to support multicolor fonts in Emacs 25.1 on free
platforms, then I'll disable them on the mac-ct font backend driver.
I wouldn't say there are no plans, or that we wouldn't want it, it's just not
very high up on the priority list. If some volunteer wants to take it on, then
we could enable it in your code.
--
John Wiegley GPG fingerprint = 4710 CF98 AF9B 327B B80F
http://newartisans.com 60E1 46C4 BD1A 7AC1 4BA2
YAMAMOTO Mitsuharu
2016-04-11 23:34:47 UTC
Permalink
Post by John Wiegley
Ping? If there is no plan to support multicolor fonts in Emacs 25.1
on free platforms, then I'll disable them on the mac-ct font
backend driver.
I wouldn't say there are no plans, or that we wouldn't want it, it's
just not very high up on the priority list. If some volunteer wants
to take it on, then we could enable it in your code.
I've just disabled it. Let's re-enable it when the above happens.

YAMAMOTO Mitsuharu
***@math.s.chiba-u.ac.jp

Yuri Khan
2015-12-16 14:37:50 UTC
Permalink
On Wed, Dec 16, 2015 at 7:40 PM, Clément Pit--Claudel
Post by Clément Pit--Claudel
Multicolor fonts seem to be becoming popular, especially for representing Emoji.
Oh what the world is coming to. Whatever next, animated fonts?
Elias Mårtenson
2015-12-16 15:32:36 UTC
Permalink
On Wed, Dec 16, 2015 at 7:40 PM, Clément Pit--Claudel
Post by Clément Pit--Claudel
Multicolor fonts seem to be becoming popular, especially for
representing Emoji.
Oh what the world is coming to. Whatever next, animated fonts?
I hear you, and agree with you. But as a developer of a chat application
(like Slack, but free) which also has an Emacs client, colour fonts in
Emacs would be appreciated.

What I'm trying to say is that the state of fonts is what it is, and Emacs
should support it for those who wants it.

That said, since I have yet to actually contributed to Emacs core, take
this post for what it is, just a data point from someone who would see
immediate benefit from it.

Regards,
Elias
Eli Zaretskii
2015-12-16 15:48:26 UTC
Permalink
Date: Wed, 16 Dec 2015 23:32:36 +0800
I hear you, and agree with you. But as a developer of a chat application (like
Slack, but free) which also has an Emacs client, colour fonts in Emacs would be
appreciated.
If your application needs that, you don't have to wait for this to be
supported in the core. It should be very easy to write Lisp code that
generated faces with specific colors using the emoji characters and
the variation selectors as the key. You should find the necessary
information here:

http://www.unicode.org/versions/Unicode8.0.0/ch22.pdf
http://unicode.org/reports/tr51/
http://unicode.org/emoji/charts/index.html
http://unicode.org/Public/emoji/latest/emoji-data.txt
http://unicode.org/Public/emoji/latest/emoji-sequences.txt
http://unicode.org/Public/emoji/latest/emoji-zwj-sequences.txt
Clément Pit--Claudel
2015-12-16 16:03:07 UTC
Permalink
Post by Eli Zaretskii
Date: Wed, 16 Dec 2015 23:32:36 +0800
I hear you, and agree with you. But as a developer of a chat application (like
Slack, but free) which also has an Emacs client, colour fonts in Emacs would be
appreciated.
If your application needs that, you don't have to wait for this to be
supported in the core. It should be very easy to write Lisp code that
generated faces with specific colors using the emoji characters and
the variation selectors as the key. You should find the necessary
http://www.unicode.org/versions/Unicode8.0.0/ch22.pdf
http://unicode.org/reports/tr51/
http://unicode.org/emoji/charts/index.html
http://unicode.org/Public/emoji/latest/emoji-data.txt
http://unicode.org/Public/emoji/latest/emoji-sequences.txt
http://unicode.org/Public/emoji/latest/emoji-zwj-sequences.txt
I may have misunderstood you, Eli, but I don't think this would work: the Emoji in the fonts that I was discussing are not monochrome.
On the other hand, it is quite possible to leverage Emacs' support for inline graphics to replace certain unicode characters or character sequences with multicolor image renditions.

Clément.
Eli Zaretskii
2015-12-16 17:10:54 UTC
Permalink
Date: Wed, 16 Dec 2015 11:03:07 -0500
Post by Eli Zaretskii
http://www.unicode.org/versions/Unicode8.0.0/ch22.pdf
http://unicode.org/reports/tr51/
http://unicode.org/emoji/charts/index.html
http://unicode.org/Public/emoji/latest/emoji-data.txt
http://unicode.org/Public/emoji/latest/emoji-sequences.txt
http://unicode.org/Public/emoji/latest/emoji-zwj-sequences.txt
I may have misunderstood you, Eli, but I don't think this would work: the Emoji in the fonts that I was discussing are not monochrome.
Read the stuff I pointed to: each emoji has a B&W variant (which is
what you get from Emacs now) and color variants, selected by variation
selectors.
On the other hand, it is quite possible to leverage Emacs' support for inline graphics to replace certain unicode characters or character sequences with multicolor image renditions.
Yes, but that's not "emoji support" in my book.
Clément Pit--Claudel
2015-12-16 18:22:28 UTC
Permalink
Post by Eli Zaretskii
Date: Wed, 16 Dec 2015 11:03:07 -0500
Post by Eli Zaretskii
http://www.unicode.org/versions/Unicode8.0.0/ch22.pdf
http://unicode.org/reports/tr51/
http://unicode.org/emoji/charts/index.html
http://unicode.org/Public/emoji/latest/emoji-data.txt
http://unicode.org/Public/emoji/latest/emoji-sequences.txt
http://unicode.org/Public/emoji/latest/emoji-zwj-sequences.txt
I may have misunderstood you, Eli, but I don't think this would work: the Emoji in the fonts that I was discussing are not monochrome.
Read the stuff I pointed to: each emoji has a B&W variant (which is
what you get from Emacs now) and color variants, selected by variation
selectors.
Thanks Eli. I'm rather familiar with these documents. But my question was not about this; it was about fonts that embed truly multicolor images for specific codepoints (support for variation selectors is another question entirely, I believe). There are various implementations of multicolor fonts, as pointed out by the document that I originally linked to. For example, Apple does it by packaging a collection of PNGs and calling that a font. Microsoft does it with multiple layers of single-color SVGs. I was curious to know whether Emacs supports any this, and on which platforms.

From some web searches, it seems that Emacs definitely does support the "PNG packages as a font" technology developed Apple, in the native port of Emacs to MacOS. I'm not sure who implemented this support, and who maintains it. Perhaps the insight of that person would be useful in generalizing this feature to other platforms that Emacs runs on.

Clément
Elias Mårtenson
2015-12-16 16:10:54 UTC
Permalink
On 16 December 2015 at 23:48, Eli Zaretskii <***@gnu.org> wrote:

If your application needs that, you don't have to wait for this to be
Post by Eli Zaretskii
supported in the core. It should be very easy to write Lisp code that
generated faces with specific colors using the emoji characters and
the variation selectors as the key. You should find the necessary
I know this very well, but the application doesn't really *need* colour
emoji per se, and I don't want to write code (and provide images) to work
around this. All I was saying was that colour support would have immediate
benefits to my application.

I'd be happy to work on supporting this myself, but my previous attempts at
doing something interesting with the graphics code has left me somewhat
humbled by my failure.
Random832
2015-12-16 16:41:40 UTC
Permalink
Post by Eli Zaretskii
If your application needs that, you don't have to wait for this to be
supported in the core. It should be very easy to write Lisp code that
generated faces with specific colors
I'm not sure if you understand the feature being requested. This is not
a font that specifies a foreground and background color per character,
it is a font that defines a character as a full-color graphic image
(e.g. the US flag in red, white, and blue with shadows and highlights,
though flags specifically are ligatures of two characters)

The variation selectors are specifically to replace the "skin color"
(typically yellow by default on the fonts that support them) with a
selected natural human skin color. I think they're actually implemented
by selecting another graphic entirely, since some implementations also
have different hair colors.
David Kastrup
2015-12-16 16:56:16 UTC
Permalink
Post by Random832
Post by Eli Zaretskii
If your application needs that, you don't have to wait for this to be
supported in the core. It should be very easy to write Lisp code that
generated faces with specific colors
I'm not sure if you understand the feature being requested. This is not
a font that specifies a foreground and background color per character,
it is a font that defines a character as a full-color graphic image
(e.g. the US flag in red, white, and blue with shadows and highlights,
though flags specifically are ligatures of two characters)
The variation selectors are specifically to replace the "skin color"
(typically yellow by default on the fonts that support them) with a
selected natural human skin color. I think they're actually implemented
by selecting another graphic entirely, since some implementations also
have different hair colors.
Requiring colored font support for the sake of supporting racist
subdivision of "emojis". Whoever sold that idea to the Unicode
consortium could certainly become a career lobbyist if he isn't yet.

Couldn't they have found a more dignified reason for putting forward
this technical challenge?
--
David Kastrup
Richard Stallman
2015-12-17 04:58:38 UTC
Permalink
[[[ To any NSA and FBI agents reading my email: please consider ]]]
[[[ whether defending the US Constitution against all enemies, ]]]
[[[ foreign or domestic, requires you to follow Snowden's example. ]]]

I suggest that we give low priority to this feature.
If someone wants to implement it and does a good job, we can
accept it, but otherwise we don't care.
--
Dr Richard Stallman
President, Free Software Foundation (gnu.org, fsf.org)
Internet Hall-of-Famer (internethalloffame.org)
Skype: No way! See stallman.org/skype.html.
John Wiegley
2015-12-17 17:25:30 UTC
Permalink
I suggest that we give low priority to this feature. If someone wants to
implement it and does a good job, we can accept it, but otherwise we don't
care.
Agreed.
--
John Wiegley GPG fingerprint = 4710 CF98 AF9B 327B B80F
http://newartisans.com 60E1 46C4 BD1A 7AC1 4BA2
Eli Zaretskii
2015-12-16 17:17:26 UTC
Permalink
Date: Wed, 16 Dec 2015 11:41:40 -0500
Post by Eli Zaretskii
If your application needs that, you don't have to wait for this to be
supported in the core. It should be very easy to write Lisp code that
generated faces with specific colors
I'm not sure if you understand the feature being requested.
I'm not sure why are you not sure.
This is not a font that specifies a foreground and background color
per character, it is a font that defines a character as a full-color
graphic image (e.g. the US flag in red, white, and blue with shadows
and highlights, though flags specifically are ligatures of two
characters)
I'm quite sure you know that Emacs displays character glyphs by
drawing the background and foreground separately, and it sets the
colors of each one according to the attributes of the current face.
How, then, will the full-color image be displayed, if we override the
colors it might specify?
The variation selectors are specifically to replace the "skin color"
(typically yellow by default on the fonts that support them) with a
selected natural human skin color. I think they're actually implemented
by selecting another graphic entirely, since some implementations also
have different hair colors.
Yes, I know.
Clément Pit--Claudel
2015-12-16 18:31:04 UTC
Permalink
Post by Eli Zaretskii
This is not a font that specifies a foreground and background
color per character, it is a font that defines a character as a
full-color graphic image (e.g. the US flag in red, white, and
blue with shadows and highlights, though flags specifically are
ligatures of two characters)
I'm quite sure you know that Emacs displays character glyphs by
drawing the background and foreground separately, and it sets the
colors of each one according to the attributes of the current face.
How, then, will the full-color image be displayed, if we override
the colors it might specify?
We wouldn't override the colors of the image; we would just display it, without modifications. The background color of the face is still relevant, but the foreground would not be (except for underlines, for example).

Other characteristics of the face would be ignored as well, such as its weight.
Eli Zaretskii
2015-12-16 18:54:42 UTC
Permalink
Date: Wed, 16 Dec 2015 13:31:04 -0500
Post by Eli Zaretskii
I'm quite sure you know that Emacs displays character glyphs by
drawing the background and foreground separately, and it sets the
colors of each one according to the attributes of the current face.
How, then, will the full-color image be displayed, if we override
the colors it might specify?
We wouldn't override the colors of the image; we would just display it, without modifications. The background color of the face is still relevant, but the foreground would not be (except for underlines, for example).
I understand the theory, but that's not how the code currently works,
AFAIU. It will have to be modified to support this. I also suspect
that some support from the font back-end (a.k.a. "shaping engine")
will be required, perhaps in using special APIs or activating some
special options, in order to get all this working as expected.
Random832
2015-12-16 18:31:36 UTC
Permalink
Post by Eli Zaretskii
I'm quite sure you know that Emacs displays character glyphs by
drawing the background and foreground separately, and it sets the
colors of each one according to the attributes of the current face.
How, then, will the full-color image be displayed, if we override the
colors it might specify?
AIUI, the way this is done is that the background is drawn, then
the full color image (which is transparent so the background can
show through) is drawn on top of the background, and the
foreground color is ignored. None of the colors (except the
background) can be overridden. I suppose you could have it use
the foreground color for the outline and for things like the
"square" icons that are typically blue, but that doesn't seem to
be done.
Clément Pit--Claudel
2015-12-16 16:00:18 UTC
Permalink
On Wed, Dec 16, 2015 at 7:40 PM, Clément Pit--Claudel
Post by Clément Pit--Claudel
Multicolor fonts seem to be becoming popular, especially for representing Emoji.
Oh what the world is coming to. Whatever next, animated fonts?
Emacs already has support for displaying images inline, and there exists Emacs packages for replacing certain Unicode characters with images automatically (thus emulating support for Emoji fonts). From there, it doesn't seem much of a stretch to discuss direct support for Emoji fonts in Emacs.

In my case, they would make status flags in mu4e much more readable. But of course I can use inline images for the same purpose.

Clément.
Eli Zaretskii
2015-12-16 17:08:03 UTC
Permalink
Date: Wed, 16 Dec 2015 11:00:18 -0500
Emacs already has support for displaying images inline, and there exists Emacs packages for replacing certain Unicode characters with images automatically (thus emulating support for Emoji fonts). From there, it doesn't seem much of a stretch to discuss direct support for Emoji fonts in Emacs.
Replacing certain characters with images is easy, and can be done in
Emacs already; you just need to code that explicitly in Lisp. But
having this done automatically by the display engine whenever it sees
a certain codepoint is something else entirely.

IOW, the ability to display today images instead of some text is not
something that can evolve into automatic support for these characters
on the display engine level.
David De La Harpe Golden
2015-12-22 00:59:33 UTC
Permalink
Post by Yuri Khan
On Wed, Dec 16, 2015 at 7:40 PM, Clément Pit--Claudel
Post by Clément Pit--Claudel
Multicolor fonts seem to be becoming popular, especially for representing Emoji.
Oh what the world is coming to. Whatever next, animated fonts?
As a historical note, "ColorFonts" and, yes, "AnimFonts" were in use on
the Amiga many years ago now [1][2] - for video titling, presentations,
etc. At the time they were implemented as bitmap fonts, but color and
animated outline fonts on more modern devices are an obvious natural
development...

[1] http://www.amigaforever.com/classic/internet/
[2] http://www.pcmuseum.ca/details.asp?id=38483
Loading...