Как сделать эмодзи с помощью libgdx - PullRequest
2 голосов
/ 31 октября 2019

Я загрузил шрифт с поддержкой emoji , и я пытаюсь отобразить строку с emoji с помощью 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

Вопросы

  1. Почему libgdx не отображает эмодзи?
  2. Что мне нужно изменить, чтобы визуализировать смайлики?

1 Ответ

0 голосов
/ 06 ноября 2019

FreeTypeFontGenerator создает BitmapFont из вашего файла TTF. Скорее всего, ваш созданный шрифт не содержит смайликов.

Вы не показываете интересную часть вашего кода: параметры, которые вы установили. Добавьте смайлики, которые вы хотите использовать, к параметрам:

p.characters = "characters you want to use";
...