Terraria

Terraria

Terraria Official Steam Workshop
Create, discover, and download the best Texture/Language/Music Packs & Worlds in order to enhance your Terraria adventures! Create your own content to share with the world! Click below to learn how!
Learn More
zombie6631 1 22 Feb, 2024 @ 3:02am
这是一个关于字体资源包制作时出现的问题的求助帖
我的问题相当繁琐, 必须用大量篇幅描述问题的环境, 请资源包大佬耐心看完🙏
我想为泰拉瑞亚制作一个字体包, 选用的字体是丁卯点阵体[atelier-anchor.com]。丁卯点阵体是付费字体, 但是官方提供了试用版下载[atelier-anchor.com]。(我使用的付费版[k.youshop10.com]是支持简繁中、日、俄等字库的)
我尝试使用DynamicSpriteFontGenerator[forums.terraria.org](下文简称为DFG) 生成丁卯点阵体精灵序列贴图, 本身DFG配置文件[gist.github.com]是没有覆盖繁中和假名的HTML字符编码(可以从配置文件的两个“<start>”之间的代码和两个“<end>”之间的代码找到覆盖区域)。

以字号为10生成贴图的其中一张生成后, (如图[imgur.com])工具目录会多出来一个”.xnb”文件, 经过TConvert[forums.terraria.org]解包我自己制作的“.xnb”字体文件后, 输出文件夹会出现数百张“.png”贴图, 打开贴图会发现丁卯点阵体设计的像素和贴图的像素不能对齐, 导致字体会模糊(因为前面提到DFG配置文件没有覆盖繁中字符, 所以繁中字使用系统默认11×12px的字体制作贴图, 所以我们看简中的表现)可以看见有些本来在设计中只占一个像素在贴图中占用了两个像素。后来我又尝试字号为11的结果, 结果是每个设计像素都占用两个贴图像素。

我现在的问题就是, “.nxb”字体的结构树是什么, 我是否可以编辑单个“.png”格式的贴图自己打包成字体? DFG显然不适合像素字体的打包。

或者换个思路, DFG开放了源代码[github.com] , 是否有大佬能能看懂这个项目的原理?

(一些其他的观察: .xnb字体中的.png贴图宽度和高度总是以2的整数幂, 宽和高似乎取决于我设置的字号; 贴图高宽不一定相等, 也会有256×512px; 贴图每行的字符数量不相等, 这就是让我疑惑的地方, 泰拉瑞亚是如何从贴图里检索字符的呢?这也是前面我迫切想要知道.xnb字体的结构树的原因, 它也许包含了如何从贴图中检索想要字符的脚本)
Last edited by zombie6631; 22 Feb, 2024 @ 4:28am