Research
Security News
Malicious npm Packages Inject SSH Backdoors via Typosquatted Libraries
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
cn-font-split
Advanced tools
中文网字计划 | Github | 在线使用 |
---|
cn-font-split
是 中文网字计划 所使用的字体分包工具,通过高性能的各种技术将庞大的字体包拆分为适合网络分发的版本。经过四个版本的字体研究与代码迭代,这项技术在我们的网站中得到了充分的应用,实现了中文字体在 Web 领域的加载速度与效率的双飞跃。
比快更快,比强更强。
自研多线程
+ (WebAssembly
|Native
) 分包速度极快;我们有编译器插件啦 —— vite-plugin-font, 支持 Vite、Nuxt、Next、Webpack、Rspack,快速嵌入你的前端工具链。
Opentype Feature 支持情况 支持 95 | 部分支持 9| 等待测试 20
Nodejs | Deno | Chrome | FireFox | Safari | Bun |
---|---|---|---|---|---|
✅^18.0.0 ⏺️ ^14.0.0 | ✅^1.30.0 | ✅^102 | ✅^114 | ✅^15 | ⏺️ ^1.0.4 |
成品可以查看我的字体库网站:点我进入中文字计划网站
里面的字体都是可以免费商用的,我对其进行了切割并且放置在了 Github 和 Gitee 上,如果需要可以直接获取文件。
Nodejs 版本推荐使用 大于 18 的版本。如低级版本或者其他的设备环境,参考兼容性章节。
❗ 注意您安装的版本不是 beta 版本。如果是 beta 版本可能会引起一些问题。
npm install @konghayao/cn-font-split
npm install @konghayao/cn-font-split -g # 如果使用命令行,推荐全局安装
# -i 输入 -o 输出
cn-font-split -i=../demo/public/SmileySans-Oblique.ttf -o=./temp
# 参数与正常 js 操作是一样的,深层json则需要使用 . 来赋值
cn-font-split -i=../demo/public/SmileySans-Oblique.ttf -o=./temp --renameOutputFont='[hash:10][ext]' --css.fontWeight=700
# 显示输入参数说明,虽然会显示 typescript 类型。。。
cn-font-split -h
import { fontSplit } from '@konghayao/cn-font-split';
// import { fontSplit } from "@konghayao/cn-font-split/dist/browser/index.js";
// import { fontSplit } from "https://cdn.jsdelivr.net/npm/@konghayao/cn-font-split@4.8.3/dist/browser/index.js";
fontSplit({
FontPath: './fonts/SourceHanSerifCN-Bold.ttf', // 推荐使用 otf、ttf 字体
destFold: './build',
chunkSize: 70 * 1024, // 如果需要的话,自己定制吧
testHTML: true, // 输出一份 html 报告文件
reporter: true, // 输出 json 格式报告
previewImage: {}, // 只要填入 这个参数,就会进行图片预览文件生成,文件为 SVG 格式
threads: {}, // 默认开启多线程,速度飞快
css: {
// 覆盖默认的 css 设置,一般不需要进行更改
// fontFamily: "站酷庆科黄油体",
// fontWeight: 400,
},
// 自定义分包输出的文件名为 10 位短哈希,或者使用自增索引: '[index][ext]'
renameOutputFont: '[hash:10][ext]',
// renameOutputFont: ({ transferred, ext, index }) => {
// return index.toString(36) + ext
// } // 或者也可以像这样传入一个函数返回自定义的文件名
});
- build
... // 很多字体分包,hash 命名
- index.html // 用于展示打包分析报告, 需要开一个服务端口进行查看
- reporter.json // 打包信息
- result.css // css 入口,引入这个 css 文件即可使用字体包
version: ✅^18.0.0 ⏺️ ^14.0.0 可以使用一些 polyfill Nodejs 使用
version: ✅ Chrome 102; FireFox 114; Safari 15 浏览器使用
version: ✅^1.30.0 Deno 使用
deno run -A --no-npm index.mjs
避免。version: ⏺️^1.0.4 Bun 使用
Apache-2.0
FAQs
划时代的字体切割工具,CJK与任何字符!支持 otf、ttf、woff2 字体多线程切割,完美地细颗粒度地进行包大小控制。A revolutionary font subetter that supports CJK and any characters! It enables multi-threaded subset of otf, ttf, and woff2 fonts, allowing for precise control over package size.
The npm package cn-font-split receives a total of 11,334 weekly downloads. As such, cn-font-split popularity was classified as popular.
We found that cn-font-split demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
Security News
MITRE's 2024 CWE Top 25 highlights critical software vulnerabilities like XSS, SQL Injection, and CSRF, reflecting shifts due to a refined ranking methodology.
Security News
In this segment of the Risky Business podcast, Feross Aboukhadijeh and Patrick Gray discuss the challenges of tracking malware discovered in open source softare.