日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Fnt字体格式详解

發布時間:2023/12/20 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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像素防止粘在一起。

通過上面這些信息,引擎可以通過編碼找到相應的文字并取出對應的紋理塊。

總結

以上是生活随笔為你收集整理的Fnt字体格式详解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。