Как загрузить русскоязычный шрифт в LibGDX?

Не понимаю, как в "LibGDX"-проекте загрузить кириллические символы при создании объекта класса BitmapFont. Казалось бы, я делаю строго по стандартной инструкции, но по какой-то причине ничего не получается. Такой код:

String textFontCharactersSet = "абвгдеёжзийклмнопрстуфхцчшщъыьэюяАБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789][_!$%#@|\\/?-+=()*&.;,{}\"´`'<>";
textFontGenerator = new FreeTypeFontGenerator(Gdx.files.internal("engine-resources/noto-sans-regular.ttf"));
textFontGeneratorConfiguration = new FreeTypeFontGenerator.FreeTypeFontParameter();
textFontGeneratorConfiguration.size = 12;
textFontGeneratorConfiguration.characters = textFontCharactersSet;
NOTO_FONT = textFontGenerator.generateFont(textFontGeneratorConfiguration);
textFontGenerator.dispose();

...подгружает шрифт, я вижу это по английским словам. Но что касается кириллических символов, то все они не отображаются. В качестве источника для шрифта я пробовала различные .ttf-файлы, далеко не только здешний "Noto Sans".


Ответы (1 шт):

Автор решения: Asidert

Попробуйте использовать AssetManager!
(А еще проверьте шрифт в FontForge на наличие кириллицы)

FileHandleResolver resolver = new InternalFileHandleResolver();
FreeTypeFontGeneratorLoader generator = new FreeTypeFontGeneratorLoader(resolver);
assetManager.setLoader(FreeTypeFontGenerator.class, generator);
assetManager.setLoader(BitmapFont.class, ".ttf", new FreetypeFontLoader(resolver));
FreetypeFontLoader.FreeTypeFontLoaderParameter fnt = new FreetypeFontLoader.FreeTypeFontLoaderParameter();
fnt.fontFileName = "Путь до шрифта в assets";
assetManager.load("Название для дальнейшего получения", BitmapFont.class, fnt);
→ Ссылка