1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
cn-font-split 是一个复杂的字体分包系统,整体架构分为三个主要部分:core、message_channel 和 wrapper。
core 是 cn-font-split 的核心部分,负责实际的字体分包操作。它通过接收回调函数作为参数,实现异步数据返回。
core 内部主要包含以下三个核心逻辑模块:
- --
这些操作基于 harfbuzz 和 opentype 库实现,确保了对字体操作的高效和准确。
message_channel 是 cn-font-split 与外部系统交互的桥梁,基于 protobuf(Protocol Buffers)实现。所有的交互接口通过 cn-font-proto 库进行定义和创建。
protobuf 在现实实现中,有两种使用方式:
1. 2.
wrapper 是 cn-font-split 对外提供的功能接口,支持多种语言调用和不同的部署方案。wrapper 主要包括以下几种实现:
- --- -
1.
2.
为统一不同开发环境,采用 VSCode Dev Container 方法
开发使用设备最好 MacOS 8GB、Windows 16GB 以上, 具备 Docker 环境,一键进入开发状态!
如果遇到某些依赖没安装,可以参考 [Developer.md](./Developer.md)