FreeType: Issues with Colored Fonts
Player platform:
Windows, Android
Describe the issue in detail and how to reproduce it:
Windows: Using colored fonts results in the following error:
Debug: Couldn't load FreeType character 0x1f4d0
Error: Broken color font for glyph 0x1f4d0
Android: The font is completely ignored (although during startup, you can see that the console no longer prompts that the font was not found).
On Windows, I have tried other fonts (such as Google Noto), but the same issue occurred. Below are the main test fonts I used.
Attach files
I wrote a script to convert Minecraft's emojipack into TTF. See ttf_cbdt_mc_create.py.
Although the font works properly on the player versions for macOS, web, and Linux, I do not rule out the possibility of a data format error.
Windows can't open font.ttf, it tells that it's not a valid font file.
I have been troubled by the font's data definition for a long time, and I still don't understand it. The current Font.ttf likely has many errors because I completely ignored the relationships between each field and only know that it can render in some Player builds.
I had exactly the same problem when trying to understand colour fonts. There is no documentation and no tools :/
Have you guys tested a tool called nanoemoji? https://github.com/googlefonts/nanoemoji
I read about it when researching about Serenity OS emojis: https://github.com/linusg/serenityos-emoji-font Idk if the input must be SVG files or if it can work with png as well.
FreeType can only handle color fonts if appropriate backend is available and linked at compile time. That could be libPNG, rsvg, or what not. Something else has to decode or render color. Fonts with PNG are fairly trivial, other formats are major ordeal. For example FreeType can serve an embedded SVG document. Then you are on your own.