@@ -37,6 +37,8 @@ export CN_FONT_SPLIT_GH_HOST=https://ik.imagekit.io/github
37
37
pnpm i cn-font-split
38
38
```
39
39
40
+ ### Nodejs 版本
41
+
40
42
``` js
41
43
import fs from ' fs' ;
42
44
import { fontSplit } from ' cn-font-split' ;
@@ -51,6 +53,20 @@ await fontSplit({
51
53
console .timeEnd (' node' );
52
54
```
53
55
56
+ ### Bun 版本
57
+
58
+ ``` js
59
+ import { fontSplit } from ' cn-font-split/dist/bun/index.js' ;
60
+ const inputBuffer = Bun .file (' ../demo/public/SmileySans-Oblique.ttf' ).bytes (),
61
+
62
+ console .time (' bun' );
63
+ await fontSplit ({
64
+ input: inputBuffer,
65
+ outDir: ' ./dist/font' ,
66
+ });
67
+ console .timeEnd (' bun' );
68
+ ```
69
+
54
70
### 控制生成产物
55
71
56
72
``` ts
@@ -67,23 +83,52 @@ await fontSplit({
67
83
});
68
84
```
69
85
70
- ### 精细化分包控制
86
+ ### 完整的可传入参数
87
+
88
+ 只有 ` input ` 和 ` outDir ` 是必须的参数,其他参数均为可选参数,没有特殊需求不建议修改。
71
89
72
90
``` ts
73
91
import { fontSplit } from ' cn-font-split' ;
74
92
await fontSplit ({
75
- input: inputBuffer ,
76
- outDir: ' ./dist/font' ,
77
- subsets: [
78
- [65 ,66 ,67 ], // 第一个分包
79
- [102 ,103 ,104 ], // 第二个分包
80
- ],
81
- languageAreas: false , // 语言区域优化
82
- autoSubset: false , // 超过指定大小是否自动包
83
- fontFeature: false , // 是否支持字体特性
84
- reduceMins: false , // 是否减少碎片分包的出现
85
- renameOutputFont: ' [hash:6].[ext]' , // 重命名输出字体
86
- silent: true , // 不打印任何数据
93
+ input: inputBuffer , // 输入的字体缓冲区
94
+ outDir: ' ./dist/font' , // 输出目录
95
+
96
+ // subsets: [ // 手动分包范围,一般而言不需要手动配置
97
+ // [65,66,67], // 第一个分包,对照: 65(A)、66(B)、67(C)
98
+ // [102,103,104], // 第二个分包,对照: 102(f)、103(g)、104(h)
99
+ // ],
100
+
101
+ // css: { // CSS 输出产物配置,一般而言不需要手动配置
102
+ // fontFamily: 'Test Sans', // 输出 css 产物的 font-family 名称
103
+ // fontWeight: '400', // 字重: 400 (常规)、700(粗体), 详细可见 https://developer.mozilla.org/en-US/docs/Web/CSS/font-weight
104
+ // fontStyle: 'normal', // 字体样式: normal (常规)、italic (斜体)。可见 https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-style
105
+ // fontDisplay: 'swap', // 字体显示策略,推荐 swap。可见 https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display
106
+ // localFamily: ['Test Sans'], // 本地字体族名称。可见 https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face
107
+ // commentUnicodes: false, // 在 CSS 中添加 Unicode 码点注释
108
+ // compress: true // 压缩生成的 CSS 产物
109
+ // },
110
+
111
+ // languageAreas: false, // 是否启用语言区域优化,将同一语言的字符分到一起
112
+ // autoSubset: true, // 当分包超过指定大小时是否自动拆分
113
+ // fontFeature: true, // 是否保留字体特性(如 Code 字体的连字、字距调整等)
114
+ // reduceMins: true, // 是否减少碎片分包,合并小分包以减少请求数,一般不需要修改
115
+
116
+ previewImage: {
117
+ name: ' preview' , // 预览图片的文件名
118
+ text: ' 中文网字计划\n The Chinese Web Font Project' , // 预览图片的文本内容
119
+ },
120
+
121
+ // chunkSize: 70 * 1024, // 单个分片目标大小
122
+ // chunkSizeTolerance: 1 * 1024, // 分片容差,一般不需要修改
123
+ // maxAllowSubsetsCount: 10, // 最大允许分包数量,可能会和 chunkSize 冲突
124
+
125
+ testHtml: true , // 是否生成测试 HTML 文件
126
+ reporter: true , // 是否生成 reporter.bin 文件
127
+
128
+ // 自定义分包输出的文件名为 6 位短哈希,或者使用自增索引: '[index].[ext]'
129
+ renameOutputFont: ' [hash:6].[ext]' ,
130
+ // 不在控制台打印多余的日志信息
131
+ silent: true ,
87
132
})
88
133
```
89
134
0 commit comments