- Home /
Drawing emojis with Unity's Dynamic Font
Hi!
I'm trying to print Unicode 7 emojis with dynamic fonts(ttf). All the glyphs necessary is in the font. I've double(read triple) checked already.
And the thing is that it works with the old emojis from the old standard (i.e emoji-characters with character literals that fits in a single char).
Lets say i want to print the emoji for a cocktail glass - (??) or "\u1F379". Since the hexadecimal code doesn't fit within a single character, I need to split them up in surrogate pairs.
Here's my code for doing that.
int point = 0x1F379;
int offset = point - 0x10000;
char lead = Convert.ToChar(0xd800 + (offset >> 10));
char trail = Convert.ToChar(0xdc00 + (offset & 0x3ff));
Then I try to print this with my text class and my font(which contains all the emojis) and I get back nothing. I get nothing with TextMesh, GUIText and NGUILabel.
It works perfectly fine with emojis that does not contain a 5 page hexadecimal value(e.g. a football = "\u26BD")
Do anyone know a way to achieve this? I'm starting to think this is a bug with unitys dynamic font handling.
Thanks,
/Niklas
Answer by Diablo404 · Nov 10, 2015 at 08:12 PM
Hi Niklas,
Did you manage to get that to work?
Yeah, I ended up creating my own Text Render class drawing everything from scratch. Took me quite a while, but it singled out the emoji surrogate pairs and rendered an emoji texture in it's place ins$$anonymous$$d with another mesh.
Would share the solution if I could, but unfortunately the code is owned by the company I work for.
Your answer
Follow this Question
Related Questions
Mesh and material disappear after CreatePrefab() in C# 1 Answer
Few problems with arrays 1 Answer
Distribute terrain in zones 3 Answers
Multiple Cars not working 1 Answer
Submesh creation from script 3 Answers