Если у меня есть bitmapfont, например;Как получить естественный шрифт bitmapfont?
fonttexture = new Texture(Gdx.files.internal("data/fonttest.png"), true);
font= new BitmapFont(Gdx.files.internal("data/fonttest.fnt"),
new TextureRegion(fonttexture), true);
Возможно ли получить или вывести естественный шрифт, используемый в связанном файле текстуры png? Файл * .fnt сам определяет это в первой строке;
info face="Calibri Light" size=32 bold=0 italic=0 charset=""
Сво что Я после того, как в коде. Я не мог видеть метод в классе BitmapFonts, чтобы получить его прямо, но было возможно получить другие атрибуты, связанные с ростом.
Я пробовал воссоздать размер от тех, но не имел большой удачи.
float baseToAssent = font.getCapHeight()+font.getAscent();
float baseToDecent = -font.getDescent();Decent);
float fontHeight = baseToAssent+baseToDecent; //too small, like 11 not 32
Не является шрифтографом? fontophile? ... umm ... графический дизайнер, я, вероятно, неправильно собираю штуки или, возможно, просто не хватает одного.
В любом случае, в любом случае поможет определить размер шрифта, используемый в fonttest.png.
Благодаря
USECASE;
Я вручную использую эту текстуру с полевым шейдером. Знание естественного размера шрифтов текстур полезно для точного масштабирования текста и линейного фона до любого требуемого размера шрифта без изменения размера изображения и, следовательно, потери качества.
Действительно. Сначала я попробовал что-то подобное с такими же результатами. Поскольку я буду повторно использовать этот код, честный бит, я старался быть максимально точным, поэтому мне, возможно, придется использовать хакерский метод. – darkflame
Немного окунулся и нашел 'getLineHeight()' в BitmapFont, он возвращает «высоту строки, которая является расстоянием от одной строки текста до следующей». Результаты в 32px шрифте 32. И в 16px я получил 16. – Squiddie
Да, это похоже на работу. Должен быть осторожным, используя его, хотя, как вы можете (и я), также отрегулируйте линейную высоту. Таким образом, эти значения верны, если они не были изменены. Таким образом, мое (хакерское) решение поддерживает hasmap шрифтов и их собственные размеры. – darkflame