Skip to content

Commit 5814ea3

Browse files
authored
Enhance ffi-js docs with config details and examples (#163)
* docs: Enhance ffl-js doc with comprehensive configuration details * docs: Add Bun runtime example for ffl-js docs
1 parent 26300db commit 5814ea3

File tree

1 file changed

+58
-13
lines changed

1 file changed

+58
-13
lines changed

packages/ffi-js/README.md

+58-13
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,8 @@ export CN_FONT_SPLIT_GH_HOST=https://ik.imagekit.io/github
3737
pnpm i cn-font-split
3838
```
3939

40+
### Nodejs 版本
41+
4042
```js
4143
import fs from 'fs';
4244
import { fontSplit } from 'cn-font-split';
@@ -51,6 +53,20 @@ await fontSplit({
5153
console.timeEnd('node');
5254
```
5355

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+
5470
### 控制生成产物
5571

5672
```ts
@@ -67,23 +83,52 @@ await fontSplit({
6783
});
6884
```
6985

70-
### 精细化分包控制
86+
### 完整的可传入参数
87+
88+
只有 `input``outDir` 是必须的参数,其他参数均为可选参数,没有特殊需求不建议修改。
7189

7290
```ts
7391
import { fontSplit } from 'cn-font-split';
7492
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: '中文网字计划\nThe 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,
87132
})
88133
```
89134

0 commit comments

Comments
 (0)