标题: [教程]关于预渲染字体的设置
全局变量D
亲友
Rank: 2



UID 14
精华 1
积分 1262
帖子 719
阅读权限 50
注册 2006-12-20
 
发表于 2011-10-31 11:00  资料  短消息  加为好友 
[教程]关于预渲染字体的设置

所谓预渲染字体,在KR里的意思是将一个字体文件的某个字号导出来做成图片字体包,格式为tft。具体的制作方法这里就不赘言了。总之就是按照如下设置使用krkrfont.exe。

点击在新窗口查看全图

因为吉里吉里对unicode的支持主要在于“可以在任何语言的WINDOWS下成功跑起来而不出错”,但是字体方面的显示,很可能因为你的WINOWS语言版本不同而出现各种莫名其妙的效果。
例如使用日文内核的EXE就怎么都无法正常显示中文字体,或者简中内核的EXE对繁中的支持也比较糟糕。
所以相比起使用普通的字体文件(包括使用addfont.dll加入字体)的方法,预渲染字体的好处在于在任何语言的操作系统下面都可正常显示。(都已经是图片了,再不能正常显示才奇怪咧……)

在config.tjs里可以设定默认字体所对应的预渲染字体。
例如说你设定默认字体为黑体,24号,同时制作一个tft包“fonth_24.tft”,
然后告诉系统“当游戏字体切换到黑体,24号的时候,使用图片字体包fonth_24.tft”,我们暂时可以把这个过程叫做“映射”(?)

但是游戏里并不会只用到一种字体,就算是同一种字体也会有不同的字号大小。
甚至有的时候默认字体在进入游戏以后都会被修改得七零八落,所以表现出来的就是字体显示的不统一。

解决方法也很简单,既然可以让黑体,24号映射fonth_24.tft,当然也可以让楷体,18号映射fontk_18.tft。而且这样的映射可以一次性全部做完。并不需要修改config.tjs。

也就是,统计游戏里所有可能出现的所有字体、字号,并把他们一一对应到某个字体包上。

所要用到的就是font指令和mappfont指令:
设置字体A
对字体A进行映射
设置字体B
对字体B进行映射
……

在the nvl maker 的模板工程里,可以这么做。

打开first.ks。找到下面这段代码:


以上是根据工程设定里填写的数据重新定义了默认字体,可能和config.tjs里的默认字体已经不一样了。
开始在下面加入新的内容。


这样不断地改变字号,然后映射到不同的字体包的操作都会被系统记录下来。

在the nvl maker里,所有的字体都会默认设置为 sf.font ,编辑器只能修改字号,所以是不是只要不动代码,字形就不能改了?

其实并不是这样的。
因为“映射”这个过程根本不在乎字形和TFT之间的具体联系。
设定黑体24号,实际对应的是楷体36号导出的TFT包,对系统来说没有差别。

所以只要使用“用不到”的字号进行映射,就可以改变字形了。
当然,出于美观考虑,并不是非常推荐在一个游戏里使用太多的字体样式……=3=

[ 本帖最后由 全局变量D 于 2011-10-31 11:16 编辑 ]





顶部
 



清除 Cookies - 联系我们 - [Key Fans Club] the Council of Doujin-game Development and Promotion - Archiver - WAP
Powered by Discuz! 5.5.0 © 2001-2006 Comsenz Inc.
Processed in 0.022330 second(s), 10 queries , Gzip enabled
粤ICP备05060595号
[ 当前模板 - 天高云淡 v 设计制作 - 七星论坛 v 请使用1024*768或以上分辨率浏览本模板 ]
请勿删除或修改此处版权图示