简体   繁体   English

Java-LibGDX gdx-freetype无法从单个TTF加载两种字体大小

[英]Java - LibGDX gdx-freetype fails to load two font sizes from single TTF

I am trying to load two different sizes of the same font using the gdx-freetype extension of LibGDX: size 24 and 72. For whatever reason, it doesn't load the 24 right because it looks like garbage . 我正在尝试使用LibGDX的gdx-freetype扩展加载相同字体的两种不同大小:大小24和72。出于某种原因,它不会正确加载24,因为它看起来像是垃圾 This is very strange because it looks correct when I am not also loading the 72. 这很奇怪,因为当我不同时加载72时看起来正确。

In my code I have tried loading both fonts using the same FreeTypeFontGenerator, and with two different generators. 在我的代码中,我尝试使用相同的FreeTypeFontGenerator和两个不同的生成器来加载两种字体。 They both yield the same result as far as I can tell. 据我所知,它们都产生相同的结果。 Also, it doesn't seem to matter what order I load the two fonts: the 24 is always the one that looks bad. 另外,加载这两种字体的顺序似乎并不重要:24总是看起来不好的一种。 Here is my code for loading fonts: 这是我加载字体的代码:

FreeTypeFontGenerator generator = new FreeTypeFontGenerator(Gdx.files.internal("fontFile.ttf"));
FreeTypeFontGenerator.FreeTypeFontParameter param = new FreeTypeFontGenerator.FreeTypeFontParameter();
param.size = 72;
font = generator.generateFont(param);
generator.dispose();

FreeTypeFontGenerator generator2 = new FreeTypeFontGenerator(Gdx.files.internal("fontFile.ttf"));
FreeTypeFontGenerator.FreeTypeFontParameter param2 = new FreeTypeFontGenerator.FreeTypeFontParameter();
param2.size = 24;
smallFont = generator2.generateFont(param2);
generator2.dispose();

Am I doing something wrong or is there an error in the gdx-freetype extension? 我是在做错什么还是gdx-freetype扩展有错误? Thanks for your help. 谢谢你的帮助。

Alright, I fixed my own problem, and it had nothing to do with the way I was loading fonts, but the way I was rendering them. 好了,我解决了自己的问题,这与我加载字体的方式无关,但是与我渲染字体的方式无关。 I was creating a GlyphLayout like so: 我正在创建一个GlyphLayout如下所示:

textLayout = new GlyphLayout(smallFont, "Sample Text");

and then rendered it like this: 然后像这样渲染它:

font.draw(spriteBatch, textLayout, width, height);

The problem was that I was drawing the text with a different font than the one I used to generate the layout. 问题是我用与生成布局所用的字体不同的字体来绘制文本。 If anyone reading this had a similar problem with gdx-freetype, make sure you're rendering the fonts right. 如果有人读过gdx-freetype有类似的问题,请确保正确渲染字体。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM