libgdx-freetype 如何使用正确的字母间距缩放字体?
libgdx-freetype how to scale font wth correct letter spacing?
对于以前版本的 FreeType,有一个方法 setScale() 现在我可以使用以下方法更改比例:
bitmapFont.getData().SetScale();
但是我遇到了字母间距的问题:
https://i.stack.imgur.com/35PGQ.png
我无法使用 size 参数,因为我的 viewPort 很小而且我无法更改它。
我建议不要缩放 BitmapFont
。可能是您的位图字体渲染结果是由于 free-type Font 生成器生成的 BitmapFont
的高度缩小所致。
您可以使用 bitmapFont.getData().setScale(float x, float y);
但缩放比例应该是合理的,不要高或低两个。
您可以创建 BitmapFont
和 FreeTypeFontGenerator
以及您需要的大小,这样您就不需要缩放 up/down。
FreeTypeFontGenerator generator = new FreeTypeFontGenerator(Gdx.files.internal("fonts/timesBold.ttf"));
FreeTypeFontGenerator.FreeTypeFontParameter parameter = new FreeTypeFontGenerator.FreeTypeFontParameter();
更改参数中的字体大小并初始化 BitmapFont:
fontParameter.size = 25; // by default this value is 16
BitmapFont font = fontGenerator.generateFont(fontParameter);
想要使用 font.setScale();
而不是 font.getData().setScale()
,反应器来自版本 1.5.6,因此您需要使用此版本中的旧版本。我有 link 个 1.5.5 version,下载吧。压缩 gdx-setup.jar
文件,从 .jar
创建项目,将项目导入 IDE 和 运行。
对于以前版本的 FreeType,有一个方法 setScale() 现在我可以使用以下方法更改比例:
bitmapFont.getData().SetScale();
但是我遇到了字母间距的问题:
https://i.stack.imgur.com/35PGQ.png
我无法使用 size 参数,因为我的 viewPort 很小而且我无法更改它。
我建议不要缩放 BitmapFont
。可能是您的位图字体渲染结果是由于 free-type Font 生成器生成的 BitmapFont
的高度缩小所致。
您可以使用 bitmapFont.getData().setScale(float x, float y);
但缩放比例应该是合理的,不要高或低两个。
您可以创建 BitmapFont
和 FreeTypeFontGenerator
以及您需要的大小,这样您就不需要缩放 up/down。
FreeTypeFontGenerator generator = new FreeTypeFontGenerator(Gdx.files.internal("fonts/timesBold.ttf"));
FreeTypeFontGenerator.FreeTypeFontParameter parameter = new FreeTypeFontGenerator.FreeTypeFontParameter();
更改参数中的字体大小并初始化 BitmapFont:
fontParameter.size = 25; // by default this value is 16
BitmapFont font = fontGenerator.generateFont(fontParameter);
想要使用 font.setScale();
而不是 font.getData().setScale()
,反应器来自版本 1.5.6,因此您需要使用此版本中的旧版本。我有 link 个 1.5.5 version,下载吧。压缩 gdx-setup.jar
文件,从 .jar
创建项目,将项目导入 IDE 和 运行。