关于字体编码的一些知识,并带大家制作一套字体。(上)

简介: 关于字体编码的一些知识,并带大家制作一套字体。

w3schools 官网文档中介绍的常见符号  点击查看


关于编码的一些知识供大家查阅 点击查看


常见的一些编码知识,只需要了解一下就行,制作字体包时会用到。



0021-007F 、 ASCII Punctuation  点击查看


image.png





0030-0039、ASCII Digits Unicode字符 点击查看


image.png





00A2-00A5、 日元磅和美分:Yen, Pound and Cent  点击查看


image.png





Dingbats字符、印刷符号 (Dingbats)字符


image.png





简体中文(GB2312) gb2312 编码相关信息 查看各国语言点击看简体中文


可以看到想设计一套中文字体大概有23940个编码,体积量很大!



image.png





「&#x 」和「 &#」 开头的是什么编码


类似这样的字符&#dddd&#xhhhh&#nameHTM,这些字符是HTMLL、XML 等 SGML 类语言的转义序列(escape sequence)。它们不是「编码」。


以 HTML 为例,这三种转义序列都称作字符参考character reference:


  • 前两种是数字字符引用(英文:numeric character reference(NCR)),数字取值为目标字符的 Unicode code point;


十进制:decimal (dec),取值范围:8192-8303,格式「&#」开头的后接十进制数字,如 &#0048


十六进制:hexadecimal (hex),取值范围: 2000-206F,「&#x」开头的后接十六进制数字,如 &#X030


  • 后一种「&#name」是 字符实体参考character entity reference,后接预先定义的 entity 名称,而 entity 声明了自身指代的字符,如 空字符&#NUL

    image.png


什么是数字字符和实体字符



  • 数字字符


numeric character reference(NCR),直译就是数字字符引用。


一个Numeric Character Reference编码是由一个与号(&)跟着一个井号(#),然后跟着这个字符的Unicode编码值,最后跟着一个分号组成的,就像上面的例子&#dddd

有了数字字符引用,就可以在网页中显示Unicode字符了,不用考虑html文件本身的编码,因为数字字符引用只用到ASCII字符集里的字符。所以,即使在gb2312编码的网页中,也可以用NCR显示埃及的象形文字了。

  • 实体字符


在Node 层利用 cheerio 解析网页时,输出的中文内容都是以 &#x 开头的一堆像乱码一样的东西,将这一堆“乱码”保存成网页后,通过浏览器打开又可以正常显示。这些乱码,学名是实体编码“entity code”。

这些实体字符是预留的,格式比较语义化,容易记忆,浏览器会将它们视作标签。

比较常见的有:


| 字符    | 转义序列 | 十六进制|
| --------- | ---------|  ---------|
| 空格「 」|   | -  |
| 小于号「<」| &lt;| - | | 大于号「&gt;」|>| - | | … || - | | tab (一个空白=2个字符宽度)|&emsp|&#8195`  |


自定义一套字体包



应用场景:


在移动端和web端设计时,一些用到数据的地方,用某些特定的字体,比如DIN字体,视觉效果比较好看,但是又不想安装很大的字体包,我们可以把数字0-9和常见的标点符号字提取出来,单独做成字体包,减少APP的体积。当然也可以自己动手设计一套。


优点:体积小,可自定义设计




相关文章
|
Python
Python 压缩PDF减小文件大小
【8月更文挑战第6天】介绍了三种用Python压缩PDF文件的方法:1) 使用`pdfcompressor`库,安装后可通过简单命令压缩文件;2) 利用`PyPDF2`库,需手动设置压缩参数;3) 采用`pdfsizeopt`库,一键优化PDF大小。各方法均提供示例代码,便于快速实现文件压缩。
1754 0
vue3+vite项目中使用svg图标
vue3+vite项目中使用svg图标
1819 0
|
2月前
|
数据采集 人工智能 供应链
2025年适合汽车行业与互联网企业的BI产品选型指南
2025年,数字化转型加速,BI工具成企业决策核心。本文对比瓴羊Quick BI、Power BI、Tableau、永洪科技、Domo五大主流产品,从能力、行业适配、案例等维度解析,重点推荐阿里云旗下瓴羊Quick BI,其在汽车与互联网行业表现突出,兼具AI分析、高性能计算与信创合规优势,助力企业实现数据价值最大化。
|
并行计算 算法 C++
统一内存统一内存的基本概念和使用
统一内存统一内存的基本概念和使用
2508 0
统一内存统一内存的基本概念和使用
|
存储 缓存 NoSQL
分布式锁原理与实现(数据库、redis、zookeeper)
分布式锁可以保证在分布式部署的应用集群中,同一个方法在同一时间只能被一台机器上的一个线程执行。
分布式锁原理与实现(数据库、redis、zookeeper)
|
6月前
|
监控 搜索推荐 API
苏宁易购电商 API 接口,家电销售数据精准导航
在数字化时代,苏宁易购电商API接口助力开发者高效获取家电销售数据,实现精准导航,优化销售策略,提升用户体验。本文详解其功能、应用与优势。
164 0
|
5月前
|
JSON 搜索推荐 API
利用快手电商 API 接口,实现快手小店商品价格区间精准定位
在快手电商中,通过调用API获取商品数据,并利用统计方法(如四分位数)精准划分价格区间,可优化选品策略、提升转化率。结合Python实现,助力电商智能化运营。
289 0
|
6月前
|
存储 安全 Java
移动硬盘的数据真的删干净了吗?教你几种彻底清除数据的方法
本文详解移动硬盘数据彻底删除的方法,介绍四种常用手段:慢速格式化、填满硬盘、专业软件擦除及物理销毁,帮助用户在转让、报废或送人前确保敏感信息无法恢复,提升数据安全性。
|
12月前
|
机器学习/深度学习
过程奖励模型PRM成版本答案!谷歌DeepMind全自动标注逐步骤奖励PAV,准确率提升8%
研究团队提出了一种新的过程奖励模型(PRM),通过衡量每一步骤的进展来改进大型语言模型(LLM)的推理能力。与仅在最后提供反馈的结果奖励模型(ORM)不同,PRM能在多步骤推理中逐步提供反馈,从而改善信用分配。研究引入了过程优势验证者(PAV),用于预测证明策略下的进展,显著提升了测试时间搜索和在线强化学习(RL)的效率与准确性。实验表明,PAV相比ORM提高了8%以上的准确性和5至6倍的样本效率。该方法在Gemma2模型上得到了验证,并展示了在解决复杂问题上的潜力。尽管成果显著,但仍需进一步研究以优化证明策略的设计和减少拟合误差。
539 97
|
传感器 物联网 芯片
如何在物联网项目中使用 MicroPython
本指南介绍如何在物联网项目中使用MicroPython,涵盖设备选择、环境搭建、基础编程及网络通信等内容,助你快速上手MicroPython开发。