w3schools 官網(wǎng)文檔中介紹的常見(jiàn)符號(hào) 點(diǎn)擊查看
關(guān)于編碼的一些知識(shí)供大家查閱 點(diǎn)擊查看
常見(jiàn)的一些編碼知識(shí),只需要了解一下就行卸奉,制作字體包時(shí)會(huì)用到钝诚。
0021-007F 、 ASCII Punctuation 點(diǎn)擊查看
0030-0039榄棵、ASCII Digits Unicode字符 點(diǎn)擊查看
00A2-00A5凝颇、 日元磅和美分:Yen, Pound and Cent 點(diǎn)擊查看
Dingbats字符、印刷符號(hào) (Dingbats)字符
簡(jiǎn)體中文(GB2312) gb2312 編碼相關(guān)信息 查看各國(guó)語(yǔ)言 點(diǎn)擊看簡(jiǎn)體中文
可以看到想設(shè)計(jì)一套中文字體大概有23940個(gè)編碼疹鳄,體積量很大拧略!
「&#x 」和「 &#」 開(kāi)頭的是什么編碼
類(lèi)似這樣的字符&#dddd
、&#xhhhh
瘪弓、&#name
垫蛆、HTM
,這些字符是HTMLL、XML 等 SGML 類(lèi)語(yǔ)言的轉(zhuǎn)義序列(escape sequence)袱饭。它們不是「編碼」川无。
以 HTML 為例,這三種轉(zhuǎn)義序列都稱(chēng)作字符參考character reference:
- 前兩種是數(shù)字字符引用(英文:numeric character reference(NCR))虑乖,數(shù)字取值為目標(biāo)字符的 Unicode code point懦趋;
十進(jìn)制:decimal (dec),取值范圍:8192-8303疹味,格式「&#」開(kāi)頭的后接十進(jìn)制數(shù)字仅叫,如 0
;
十六進(jìn)制:hexadecimal (hex)糙捺,取值范圍: 2000-206F惑芭,「&#x」開(kāi)頭的后接十六進(jìn)制數(shù)字,如 0
继找。
- 后一種「&#name」是 字符實(shí)體參考character entity reference遂跟,后接預(yù)先定義的 entity 名稱(chēng),而 entity 聲明了自身指代的字符婴渡,如 空字符
&#NUL
幻锁。
什么是數(shù)字字符和實(shí)體字符
數(shù)字字符
numeric character reference(NCR),直譯就是數(shù)字字符引用边臼。
一個(gè)Numeric Character Reference編碼是由一個(gè)與號(hào)(&)跟著一個(gè)井號(hào)(#)哄尔,然后跟著這個(gè)字符的Unicode編碼值,最后跟著一個(gè)分號(hào)組成的柠并,就像上面的例子&#dddd
岭接。
有了數(shù)字字符引用,就可以在網(wǎng)頁(yè)中顯示Unicode字符了臼予,不用考慮html文件本身的編碼鸣戴,因?yàn)閿?shù)字字符引用只用到ASCII字符集里的字符。所以粘拾,即使在gb2312編碼的網(wǎng)頁(yè)中窄锅,也可以用NCR顯示埃及的象形文字了。
實(shí)體字符
在Node 層利用 cheerio 解析網(wǎng)頁(yè)時(shí)缰雇,輸出的中文內(nèi)容都是以 &#x 開(kāi)頭的一堆像亂碼一樣的東西入偷,將這一堆“亂碼”保存成網(wǎng)頁(yè)后,通過(guò)瀏覽器打開(kāi)又可以正常顯示械哟。這些亂碼疏之,學(xué)名是實(shí)體編碼“entity code”。
這些實(shí)體字符是預(yù)留的暇咆,格式比較語(yǔ)義化锋爪,容易記憶丙曙,瀏覽器會(huì)將它們視作標(biāo)簽。
比較常見(jiàn)的有:
| 字符 | 轉(zhuǎn)義序列 | 十六進(jìn)制|
| --------- | ---------| ---------|
| 空格「?」|
| - |
| 小于號(hào)「<」|<| - | | 大于號(hào)「>」|
>| - | | … |
…| - | | tab (一個(gè)空白=2個(gè)字符寬度)|
&emsp|
 ` |
自定義一套字體包
應(yīng)用場(chǎng)景:
在移動(dòng)端和web端設(shè)計(jì)時(shí)几缭,一些用到數(shù)據(jù)的地方河泳,用某些特定的字體沃呢,比如DIN字體年栓,視覺(jué)效果比較好看,但是又不想安裝很大的字體包薄霜,我們可以把數(shù)字0-9和常見(jiàn)的標(biāo)點(diǎn)符號(hào)字提取出來(lái)某抓,單獨(dú)做成字體包,減少APP的體積惰瓜。當(dāng)然也可以自己動(dòng)手設(shè)計(jì)一套否副。
優(yōu)點(diǎn):體積小,可自定義設(shè)計(jì)
方法一:利用iconfont圖標(biāo)庫(kù)制作字體包
iconfont針對(duì)字體原理的一篇文章 點(diǎn)擊閱讀
在本地設(shè)計(jì)好一套字體或者圖標(biāo)崎坊,這里以數(shù)字字體為例备禀,記得所有圖層最后合并一下,然后導(dǎo)出svg格式到本地奈揍;
打開(kāi)iconfont官網(wǎng) 官網(wǎng)地址曲尸,在菜單欄找到資源Resources——我的項(xiàng)目(My Projects)——點(diǎn)右上角創(chuàng)建一個(gè)項(xiàng)目;
這里可以定義前綴的樣式男翰,比如icon_
-
上傳本地設(shè)計(jì)好的svg格式文件另患,可批量,去除顏色并提交蛾绎;
- 上傳完可以在項(xiàng)目里看到昆箕,如圖,每個(gè)數(shù)字下方有一串字符租冠,這就是上面講到的數(shù)字字符鹏倘,我們需要做的就是一個(gè)個(gè)修改好,
5.鼠標(biāo)點(diǎn)擊單個(gè)數(shù)字圖標(biāo)顽爹,點(diǎn)擊編輯第股,默認(rèn)是下圖這樣的
前面unicode是系統(tǒng)自動(dòng)生成的,我們只需要在字符里輸入對(duì)應(yīng)的數(shù)字即可话原,你會(huì)發(fā)現(xiàn)前面的Unicode自動(dòng)變成了38夕吻。全部修改完返回看到項(xiàng)目中圖片自動(dòng)生成了「&#x」+16進(jìn)制的格式,這是和編碼表一一對(duì)應(yīng)的繁仁。類(lèi)推涉馅,漢字的話也是這樣操作。
6.到這里已經(jīng)制作完成黄虱,直接下載即可稚矿。
方法二:可以用一些在線的自己編輯器直接編輯,之后下載ttf安裝包
百度字體編輯器 官網(wǎng)
類(lèi)似比較多,可以自己嘗試一下晤揣,主要涉及到基線桥爽,字寬,目的是保證直接打出的文字左右間距等整體協(xié)調(diào)昧识。