在线阅读说明
封面
1
. 字体简史
1.1
. 矢量化的数字字体
1.2
. PostScript
1.3
. 从 PostScript 到 TrueType
1.4
. 从 TrueType 到 OpenType
1.5
. 多重母版和可变字体
2
. 字体中的术语和概念
2.1
. 造型和布局
2.2
. 字符和字形
2.3
. 尺寸、跨距和字偶距
2.3.1
. 单位
2.3.2
. 步进宽度
2.3.3
. 字偶距
2.3.4
. 高度
2.3.5
. 垂直步进
2.3.6
. 步进和位置
2.4
. 贝塞尔曲线
2.5
. 彩色与点阵字体
3
. Unicode 标准
3.1
. Unicode中的全球文种
3.2
. 数据如何储存
3.2.1
. UTF-16
3.2.2
. UTF-8
3.3
. 字符属性
3.4
. 大小写转换
3.5
. 正态化和分解
3.6
. ICU 程序库
4
. OpenType 的工作原理
4.1
. 字体是什么?
4.2
. FontTools 和 ttx 工具
4.3
. 借助 ttx 探索 OpenType 字体
4.3.1
. head 表
4.3.2
. 纵向度量:hhea 和 OS/2 表
4.3.3
. hmtx 表
4.3.4
. name 表
4.3.5
. cmap 表
4.3.6
. CFF 表
4.3.7
. post 表
4.4
. TrueType轮廓表示法
4.5
. 更多数据表
4.6
. 字体集
4.7
. OpenType可变字体
5
. OpenType特性简介
5.1
. Adobe 特性语言
5.2
. 编写基础特性——替换与连字
5.3
. 字形类与命名类
5.4
. 特性与查询组
5.5
. 语言和文字
5.6
. 文本造型的工作流程
5.6.1
. 映射和重排序
5.6.2
. 规则选取
5.6.3
. 应用查询组
5.6.4
. 查询组选项
5.7
. 定位规则
5.8
. 测试
5.9
. 特性如何储存
5.10
. 反编译字体文件
6
. 替换和定位规则
6.1
. 各种类型的替换规则
6.1.1
. 增量替换
6.1.2
. 备选替换
6.1.3
. 连字替换
6.1.4
. 链式替换
6.1.5
. 扩展替换
6.1.6
. 逆向链式替换
6.2
. 各种类型的定位规则
6.2.1
. 单字调整
6.2.2
. 字偶对调整
6.2.3
. 连笔衔接
6.3
. 锚点衔接
6.3.1
. 符号定位
6.3.2
. 连字上的符号
6.3.3
. 符号叠放
6.3.4
. 链式定位
6.4
. 使用 hb-shape 检查定位规则
7
. 服务全球文种的OpenType
7.1
. 特性实践
7.2
. 特定语言专属替换
7.3
. 麻烦的字母 i
7.4
. 阿拉伯语、乌尔都语、信德语
7.5
. 其他复杂文种
7.6
. 通用造型引擎
7.7
. 参考资料
8
. 高级特性编程
8.1
. 阿拉伯书法体
8.2
. 边界检测
8.3
. 直立分数
8.4
. 随机性
9
. 全球文种布局中的挑战
9.1
. 双向文本
9.2
. 其他书写方向
9.3
. 造型中的难题
9.4
. 阿拉伯文中的连接
9.5
. 断行与分词
10
. 栅格化与渲染提示
11
. 网页上的字体
12
. OpenType编程利器:Freetype2
13
. 文本布局编程利器:HarfBuzz
14
. 文本布局编程利器:libraqm
Light
Rust
Coal
Navy
Ayu
ICU 程序库