我已经加载了font with emoji support,并且正在尝试使用libgdx渲染带有表情符号的字符串。但是,它会呈现文本,而不是表情符号。
FileHandle fontFile = Gdx.files.internal("path/to/file.ttf");
FreeTypeFontGenerator g = new FreeTypeFontGenerator(fontFile);
FreeTypeFontGenerator.FreeTypeFontParameter p = new FreeTypeFontGenerator.FreeTypeFontParameter();
// Some config here with p
BitmapFont emojiFont= g.generateFont(p);
public static void renderFont(SpriteBatch sb, BitmapFont font, String msg, float x, float y, Color c) {
font.setColor(c);
font.draw(sb, msg, x, y);
}
String str = "emoji ❤ \uD83D\uDC49 test \uD83D\uDC49 \uD83D\uDC4D test \uD83D\uDE03"
renderFont(sb, emojiFont, str, x, y, new Color(-597249));
emoji test test
答案 0 :(得分:1)
FreeTypeFontGenerator根据您的TTF文件创建一个BitmapFont。您创建的字体很可能不包含表情符号。
您不会显示代码中有趣的部分:设置的参数。将您要使用的表情符号添加到参数中:
p.characters = "characters you want to use";