精华内容
下载资源
问答
  • 斑马MSUNG24.FNT字体

    2018-08-01 16:30:44
    斑马MSUNG24.FNT和MSUNG.FNT字体,斑马MSUNG24.FNT和MSUNG.FNT字体
  • fnt字体 3500常用汉子

    2017-04-04 15:51:17
    3500常用汉字 fnt字体 下载直接使用 包含两个文件 一个fnt一个png
  • Fnt字体格式详解

    千次阅读 2019-11-29 17:22:18
    cocos2d里的数字和符号基本都会用到fnt字体, 从直观的使用来说, fnt就是讲我们熟悉和0123和图片绑定起来, 在使用0123时, 直接用图片代替, 当然这个图片不可能是矢量图, 所以在游戏中就要尽量避免对fnt字体的缩放操作...

    声明:
    该文章引用自其它博客,感谢原博主的分享 Fnt字体格式详解

    cocos2d里的数字和符号基本都会用到fnt字体, 从直观的使用来说, fnt就是讲我们熟悉和0123和图片绑定起来, 在使用0123时, 直接用图片代替, 当然这个图片不可能是矢量图, 所以在游戏中就要尽量避免对fnt字体的缩放操作, 因为对mac下fnt生成软件实在是用得不爽, 于是想写一个TexturePacker的插件, 自己实现fnt格式导出, 其中fnt文件的内容详解如下, 备忘:

    第一行是对字体的介绍。

    info face=“华康海报体W12§” size=32 bold=0italic=0 charset="" unicode=0stretchH=100smooth=1 aa=1 padding=0,0,0,0 spacing=1,1

    解释:

    face=“华康海报体W12§”:字体为”华康海报体W12§”,

    size=32:大小为32像素

    bold=0 :不加粗

    italic=0:不使用斜体

    charset="": charset是编码字符集,这里没有填写值即使用默认,

    unicode=0:不使用Unicode

    stretchH=100:纵向缩放百分比

    smooth=1 :开启平滑

    aa=1:开启抗锯齿

    padding=0,0,0,0:内边距,文字与边框的空隙。

    spacing=1,1 :外边距,就是相临边缘的距离。

    第二行是对应所有字贴图的公共信息

    common lineHeight=37 base=28 scaleW=512 scaleH=512pages=1 packed=0

    解释:

    lineHeight=37:行高,如果遇到换行符时,绘制字的位置坐标的Y值在换行后增加的像素值。

    base=28 :字的基本大小

    scaleW=512 :图片大小

    scaleH=512:图片大小

    pages=1 :此种字体共用到几张图。

    packed=0:图片不压缩

    第三行是对应当前字贴图的信息

    //第一页,文件名称是”bitmapFontChinese.png”

    page id=0 file=“bitmapFontChinese.png”

    第四行是当前贴图中所容纳的文字数量

    chars count=204

    第五行起把当前贴图中所用到的所有文字的编码以及对应在图片上的矩形位置,偏移等列出来

    第一个字符编码为32,也就是空格,位置为0,0,宽高为0,0, 绘制到屏幕的相应位置时,像素偏移(0,28),绘制完后相应位置的x往后移15像素再画下一个字符,字的图块在第1页上

    char id=32 x=0 y=0 width=0 height=0 xoffset=0 yoffset=28 xadvance=15 page=0 chnl=0

    第一个字符编码为汉字”象”,也就是空格,位置为0,0,宽为33,高为36, 绘制到屏幕的相应位置时,像素偏移(0,-1),绘制完后相应位置的x往后移36像素再画下一个字,字的图块在第1页上

    char id=35937 x=0 y=0 width=33 height=36 xoffset=0 yoffset=-1 xadvance=36 page=0 chnl=0

    char id=26696 x=33 y=0 width=35 height=36 xoffset=-1 yoffset=-1 xadvance=36 page=0 chnl=0

    char id=26071 x=68 y=0 width=35 height=36 xoffset=-1 yoffset=-1 xadvance=36 page=0 chnl=0

    再后面是描述两个字在进行组合绘制时字距调整的相关信息,这里没有要进行间距调整的字组合所以为设-1。对于字组合间距调整可以看此示例图:http://www.2cto.com/uploadfile/2012/0903/20120903112659845.jpg

    kernings count=-1

    这个数字代表参与字组合间距调整的字的数量。

    如果kernings count大于零,后面会有类似这样的描述:

    kerning first=102 second=41 amount=2

    也就是’f’与’)’进行组合显示’f)’时,’)’向右移2像素防止粘在一起。

    通过上面这些信息,引擎可以通过编码找到相应的文字并取出对应的纹理块。

    展开全文
  • 斑马打印机Msung.FNT字体,工作需要找厂家买的,官方正版,特此分享
  • Fnt字体制作

    2019-09-29 20:55:06
    Fnt字体制作 效果如下: 通常制作fnt会采用bmfont软件,而使用BMFont较为繁琐的地方在于: 1.需要手动进行图和字符的对应; 2.需要手动设置ASCII(UNICODE可能更合适); 该工具解决第一点的方式是和美术进行沟通...

    Fnt字体制作

    效果如下:
    在这里插入图片描述
    通常制作fnt会采用bmfont软件,而使用BMFont较为繁琐的地方在于:
    1.需要手动进行图和字符的对应;
    2.需要手动设置ASCII(UNICODE可能更合适);

    该工具解决第一点的方式是和美术进行沟通,美术提供的艺术字一般都是有命名规则的,但有可能不是同一套规则,因此这一步目前是通过和美术沟通好后写一个正则提取的工具,让图和字符对应,因为这个工具是把图片的名称作为对应的字符。(当然如果您会图片识别就更方便了,图怎么命名就没有关系了)。

    第二点则较为简单,只要计算字符的UNICODE即可(效果中左小角显示的不支持中文的问题已解决)。

    (其中映射这一步不是必须的,只是一个可视化检验图和字符是否对应的过程,如果有些特殊字符无法作为文件名,映射后可以手动修改,大部分情况都不需要手动修改)

    展开全文
  • 斑马打印机Msung24.FNT字体,工作需要找厂家买的,官方正版,特此分享
  • FNT字体和文本字体的作用是:导入字体资源可以使用字体资源便可以使用其资源内的字体来在程序中使用 不同的是FNT字体资源内容比较少,所以个人猜想可以在特定情况下使用: 两种字体资源对比: 赋值过程对比: ...

    FNT字体和文本字体的作用是:导入字体资源可以使用字体资源便可以使用其资源内的字体来在程序中使用

    不同的是FNT字体资源内容比较少,所以个人猜想可以在特定情况下使用:

    两种字体资源对比:

    赋值过程对比:

    转载于:https://www.cnblogs.com/daochong/p/5413956.html

    展开全文
  • python制作fnt字体打包工具当前fnt打包工具现状制作fnt配置文件遍历工具所在目录下的所有字体文件 当前fnt打包工具现状 当前打包fnt字体很麻烦,特别是要使用美术字生成字体集的情况,如果有一个工具可以一键打包...

    当前fnt打包工具现状

    当前打包fnt字体很麻烦,特别是要使用美术字生成字体集的情况,如果有一个工具可以一键打包美术字体该多好,此文章主要是参考同事许波的分享来完成,非常感谢。

    制作fnt配置文件

    根据之前的经验,咋们知道必须要有配置文件才能编码对应的图片,比如:a.png与A.png是不一样的,但是如果在windows目录下,这两个文件是不能同时存在的,也就是如果咋们的美术字中有这两个文件,咋们得用不同的名字来进行命名,所以需要配置文件,目录结构如下:

    在这里插入图片描述fnt.py中的代码如下:
    在这里插入图片描述运行后可以输出:
    在这里插入图片描述
    咋们words.ini中的内容如下:
    在这里插入图片描述开始读取这个配置文件
    在这里插入图片描述

    如下是输出内容:
    在这里插入图片描述配置文件保存成功

    遍历工具所在目录下的所有字体文件

    目录下加入字体文件夹,开始对文件夹中的图片进行遍历
    在这里插入图片描述

    需要在python头部加入库

     improt os
    

    遍历文件夹

    def main():
    	# 读取配置文件
    	readWordIni()
    
    	# 设定遍历路径
    	resourePath = "./"
    	for parent,dirnames,filenames in os.walk(resourePath):
    		print(parent,"||",dirnames,"||",filenames)
    		# dirnames为当前目录下的文件夹列表,遍历她
    		for dir_list in dirnames:
    			srcpath = resourePath + dir_list
    			print("start dir name:",srcpath)
    
    			# 创建一个输出目录
    			output_path_name = srcpath+os.sep+"output"
    			# print(output_path_name)
    			if not os.path.exists(output_path_name):
    				os.makedirs(output_path_name)
    
    			
    
    		# 只取第一层
    		break
    

    就会再每个字体的目录下创建output输出文件夹,开始遍历字体,如果匹配到字体的命名与配置中的相同,则用对应的配置来取代原有图片的名字作为id

    			# 创建转化列表
    			convert_list=dict()
    			fnt_name = os.path.basename(srcpath)
    			# 存对应的ascii码
    			list = os.listdir(srcpath)
    			#列出文件夹下所有的目录与文件
    			for i in range(0,len(list)):
    				basename = list[i]
    
    				# 判断是否是png
    				isPng = basename[-4:]
    				if isPng != ".png":
    					continue
    
    				# 保存图片的完整路径,后面为生成图片集做准备
    				filename = srcpath+os.sep+basename
    				# 取出文件名
    				font=basename[:basename.rfind(".")]
    				# 查找文件名在配置中是否有相关设定
    				if str(font) in fnt_convert_word :
    					# print("font",font,fnt_convert_word[str(font)])
    					font = fnt_convert_word[str(font)]
    
    				# 将对应的font(有可能是文件名也有可能是配置的名字)转化为ascii码
    				try:
    					ascii_code = ord(font)
    				except TypeError as e:
    					print("font define name:" + font + " error !!")
    					return
    
    				# 存储路径对应的ascii码
    				convert_list[filename]=ascii_code
    				continue
    

    开始根据文件的路径及对应的ascii码来计算图片总面积
    在这里插入图片描述读取目录下所有图片,计算出其中最大尺寸的图片,根据max_width与max_height计算出所有图片所占用的最大图片尺寸,而对面积求平方根就是相同面积的正方行的边长

    def createFntSet(fnt_name,convert_list,output_path_name):
    	if len(convert_list)>=1 :
    		# 存储单张图片的最大高度与最大宽度
    		global max_width
    		global max_height
    		global colCount
    		global rowCount
    		max_height=0
    		max_width=0
    
    		# 存储图片的相关定义
    		fnt_define_item = list()
    		# 存储图片的相关定义的字典
    		fnt_define_dic = {}
    		# 遍历列表中的所有图片,找到最大宽度与高度
    		for key in convert_list.keys():
    			image = Image.open(key)
    			image_size= image.size
    			max_width=max(max_width,image_size[0])
    			max_height=max(max_height,image_size[1])
    
    			# 存储数据
    			fnt_define_item_data=dict()
    			fnt_define_item.append(fnt_define_item_data)
    			fnt_define_dic[key] = fnt_define_item_data
    
    			fnt_define_item_data["id"]=convert_list[key]
    			fnt_define_item_data["width"]=str(image_size[0])
    			fnt_define_item_data["height"]=str(image_size[1])
    			fnt_define_item_data["xoffset"]=str(0)
    			fnt_define_item_data["yoffset"]=str(0)
    			fnt_define_item_data["xadvance"]=str(image_size[0])
    			fnt_define_item_data["page"]=str(0)
    			fnt_define_item_data["chnl"]=str(0)
    			# 去除图片的ascii转成字母
    			fnt_define_item_data["letter"]=chr(int(convert_list[key]))
    
    		# 计算图片的横向与纵向的数量
    		totalCount = len(convert_list)
    		# 长*宽是面积,这里算的是最大方块面积再乘以数量就是总面积,总面积开平方根是指该面积所构成的正方形的边长
    		# 边长除以宽度则是数量
    		colCount =  int(math.ceil(math.sqrt(max_height*max_width*totalCount*1.0)/max_width))
    		rowCount = int(math.ceil(len(convert_list)*1.0/colCount))
    		print("计算出图片横向纵向的数量:",colCount,rowCount)
    
    		# 图片的索引,代表当前是处理的第几张图片
    		index=0
    		# 上面存储完图片的相关数据后,没有存储路径,下面再次计算图片的位置
    		for key in convert_list.keys():
    			fnt_item_data = fnt_define_dic[key]
    
    			# 开始计算位置
    			fnt_item_data["x"]=str((index%colCount)*max_width)
    			fnt_item_data["y"]=str(int(index/colCount)*max_height)
    
    			index += 1
    
    		fnt_define=dict()
    		fnt_define["data"]=fnt_define_item
    		fnt_define["size"]=str(max_width)
    		fnt_define["lineHeight"]=str(max_height)
    		fnt_define["base"]=str(max_width)
    		fnt_define["scaleW"]=str(max_width*colCount)
    		fnt_define["scaleH"]=str(max_height*rowCount)
    		image_name=fnt_name+".png"
    		fnt_define["file"]=image_name
    		fnt_define["count"]=len(convert_list)
    
    		# 保存fnt数据文件
    		fnt_name=output_path_name+"/"+fnt_name+".fnt"
    		saveFntData(fnt_name,fnt_define)
    
    		# 保存png图片文件
    		image_name=output_path_name+"/"+image_name
    		print("ajdkj",max_width,max_height,colCount)
    		savePng(image_name,convert_list,fnt_define_dic)
    

    生成fnt数据文件

    def saveFntData(fnt_name,fnt_define):
    	# 创建一个文件
    	write_file=open(fnt_name,"w")
    	write_file = codecs.open(fnt_name,"w","utf-8")
    	#face="Arial”,字体为”Arial”
    	# size=32:大小为32像素
    	# bold=0 :不加粗
    	# italic=0:不使用斜体
    	# charset="": charset是编码字符集,这里没有填写值即使用默认,
    	# unicode=0:不使用Unicode
    	# stretchH=100:纵向缩放百分比
    	# smooth=1 :开启平滑
    	# aa=1:开启抗锯齿
    	# padding=0,0,0,0:内边距,文字与边框的空隙。
    	# spacing=1,1 :外边距,就是相临边缘的距离。
    	head_msg1="""info face="%s" size=%s bold=0 italic=0 charset="" unicode=0 stretchH=100 smooth=1 aa=1 padding=0,0,0,0 spacing=2,2 outline=0\n""" % (face,fnt_define["size"])
    	write_file.write(head_msg1)
    	# lineHeight=37:行高,如果遇到换行符时,绘制字的位置坐标的Y值在换行后增加的像素值。
    	# base=28 :字的基本大小
    	# scaleW=512 :图片大小
    	# scaleH=512:图片大小
    	# pages=1 :此种字体共用到几张图。
    	# packed=0:图片不压缩
    	head_msg2 ="""common lineHeight=%s base=%s scaleW=%s scaleH=%s pages=1 packed=0 alphaChnl=0 redChnl=0 greenChnl=0 blueChnl=0\n""" % (fnt_define["lineHeight"],fnt_define["base"],fnt_define["scaleW"],fnt_define["scaleH"])
    	write_file.write(head_msg2)
    	# //第一页,文件名称是”bitmapFontChinese.png”
    	# page id=0 file="bitmapFontChinese.png"
    	head_msg3 = """page id=0 file="%s"\n""" % (fnt_define["file"])
    	write_file.write(head_msg3)
    	# 第四行是当前贴图中所容纳的文字数量
    	head_msg4 = """chars count=%s\n""" % (fnt_define["count"])
    	write_file.write(head_msg4)
    
    	for i in range(0,int(fnt_define["count"])):
    		data=fnt_define["data"][i]
    		line="char id=%s x=%s y=%s width=%s height=%s xoffset=%s yoffset=%s xadvance=%s page=%s chnl=%s letter=\"%s\"\n" %(data["id"],data["x"],data["y"],data["width"],data["height"],data["xoffset"],data["yoffset"],data["xadvance"],data["page"],data["chnl"],data["letter"])
    		write_file.write(line)
    

    保存图片

    def savePng(image_name,convert_list,fnt_define_dic):
    	# 计算图片的最大尺寸
    	outW=max_width*colCount
    	outH=max_height*rowCount
    
    	# 创建输出图片
    	toImage = Image.new('RGBA', (outW, outH))
    
    	# 开始保存图片
    	index = 0
    	for key in convert_list.keys():
    		fromImage=Image.open(key)
    
    		item_def = fnt_define_dic[key]
    		toImage.paste(fromImage,( int(item_def["x"]),int(item_def["y"])))
    
    	toImage.save(image_name)
    

    效果如下:
    在这里插入图片描述在这里插入图片描述在这里插入图片描述

    详情可以参考附件

    展开全文
  • 自己制作fnt 字体

    2020-05-27 17:32:46
    这是一套制作美术字体fnt,的快捷工具,有时候美术在给你一堆美术资源,散图,让他给fnt不愿意给,你就只能自己想办法,自己生成fnt资源,节省游戏资源
  • cocos2d-x fnt字体生成工具

    热门讨论 2013-04-03 19:35:34
    cocos2d-x fnt字体生成工具
  • 3500汉字 fnt字体

    2017-11-10 19:29:36
    3500中文汉字 fnt格式字体文件和一张PNG图片,支持AFRAME框架字体调用
  • WPF解析Fnt字体

    2015-09-25 15:47:00
    偶遇需要再 WPF中加载Fnt字体,此做。。。 using System; using System.Collections.Generic; using System.Drawing; using System.IO; using System.Linq; using System.Text; using System.Windows; ...
  • 怎样使用BMFont生成fnt字体

    千次阅读 2019-04-09 16:59:09
    在开发中,不可避免会遇到使用图片来代替字体显示,又美观又大气,但是程序更改起来会比较麻烦,这个时候就需要用到BMFont(位图工具)来制作Fnt字体了。 我们先来认识一下BMFont,下图是界面,右边的是字体库 ...
  • lua cocos 中对FNT字体的使用

    千次阅读 2017-05-22 15:51:14
    在游戏中,通常要使用到FNT字体FNT字体实际上就是将我们使用的0123456789与图片中的数字联系起来,所以在代码中尽量减少对该图片的缩放操作。可能会导致一系列不可预知的错误。 每个FNT字体打开都是这种格式:第...
  • .fnt 字体不能正常显示

    千次阅读 2018-12-07 10:58:28
    问题: .fnt 字体不能正常显示 解决方案: 用记事本打开.fnt 检查info face="Number-export"(不要包含路径等信息,如果包含在coscos creator 中不能正常使用) page id=0 file="Number-export....
  • 将0-9或者%,/等等字符生成bmp的字体工具,cocos2dx编写fnt字体工具
  • 微软雅黑FNT字体.rar

    2021-04-28 22:28:25
    微软雅黑,常用汉字,带特殊字符
  • Unity 创建fnt字体

    千次阅读 2017-06-26 11:50:53
    已有 .fnt 和 .png 文件,通过 .fnt文件中的配置信息,读取到 .png文件中的每一个字符的大小位置,将读取到的信息填入自定义字体。链接UGUI 如何使用CustomFont(自定义字体) Unity的UGUI中使用CustomFont(BMFont...
  • Laya 打包微信 处理分包 fnt字体加载问题 版本管理的报错 必须吐槽一下,Laya的文档真是该写啥不写啥,有问题的时候找文档等于没找(比如 Button的文档,啥都写了就是没写怎么注册回调。分包的文档啥都写了就是没写...
  • 使用ShoeBox和PhotoShop制作漂亮的Fnt字体 在游戏中需要用到很多漂亮的字,但是herio制作出来的又不好看,所以本文用到了一个利器【ShoeBox】: 准备工作 配置参数 制作字体 - 游戏中使用 准备工作 Shoe...
  • Mac fnt字体生成工具

    2015-09-25 15:49:19
    已破解的glyphdesigner1.4版
  • 开发游戏过程中避免不了的要用到fnt文件网上发部分资料都是BMFont工具导出fnt文件。使用过程非常繁琐。因此自己做了一个改良版本。采用nodejs三方库。采用spritesmith进行合图。参考cocos论坛大神写的插件。改成...
  • 支持各种美术出图字体,一键打包,包含汉字,特殊字符自定义,内部包含源码,可以自行修改,但同一个字体集中的图片资源,最好尺寸差别不要太大

空空如也

空空如也

1 2 3 4 5 ... 19
收藏数 373
精华内容 149
关键字:

fnt字体