Feature #3293

Color fonts / emoji

Added by Christopher Snowhill about 2 months ago. Updated about 2 months ago.

Target version:
Start date:
Due date:
% Done:


Estimated time:
Operative System:


It would probably not be terribly difficult to implement this, and would be really neat for some channels, but otherwise, some people may not even care.

For Windows 10 Segoe UI Emoji in color, it calls for implementing the correct DirectWrite rendering code, or the hard way, figuring out Microsoft's proprietary color extensions and adding them to FreeType. Sounds more like this project would be taking the DirectWrite path. Supported by more recent versions of Chrome and Firefox, which may be a relevant code reference, if you can dig up the exact change set(s) that made it live in the respective code trees, assuming you're allowed to use open source software as documentation when hand writing your own implementation.

Then there are alternative color fonts, based on OpenType with SVG glyphs. That's more of an open standard, and I'm not even sure if there's a handy .NET code base for implementing that. No Windows systems come with these style of fonts by default, and third party fonts using this tend to be rather rare. Currently only supported by: Mozilla based browsers and mail clients, Microsoft Edge (build 14393+, buggy with strokes in that early a release), and Photoshop CC 2017.


#1 Updated by Per Amundsen about 2 months ago

Although I agree it would be nice (the hardware acceleration etc), but taking into account the amount of work needed to rewrite the text buffer control, learning directwrite, relying on external dll wrappers (since there is no official winforms support), and my lack of knowledge about fonts/glyphs/directx, I don't think it's gonna happen.

I do keep an eye out for various libraries/wrappers popping up though, we'll see.

#2 Updated by Christopher Snowhill about 2 months ago

It looks as if you may be able to use SharpDX for that, but then you still have to learn DirectWrite API. There seem to be some examples floating around, at least as far as a rudimentary search found. Even if you don't look into this any time soon, it's nice to know you thought about it.

Also available in: Atom PDF