@textjs/font

中文文档
1.1.0发布于 2026/11/03MIT AND BSD-3-ClauseTypeScriptES Module零依赖

FIGlet 2.2.用于Text.js的flf解析器和渲染器,具有17种捆绑的树可动摇字体。

中文使用文档
文档目录4 节
  1. API
  2. 字体
  3. 许可
  4. 开发

@textjs /字体

A FIGfont 2 (.flf) 解析器和渲染器,其输出与 figlet 程序,加上17个捆绑字体,每个模块一个。

import { FigletText } from "@textjs/font/react";
import { slant } from "@textjs/font/slant";

<FigletText font={slant} color="accent">Text.js</FigletText>;
  ______          __      _
 /_  __/__  _  __/ /_    (_)____
  / / / _ \| |/_/ __/   / / ___/
 / / /  __/>  </ /__   / (__  )
/_/  \___/_/|_|\__(_)_/ /____/
                   /___/

API

import { renderFiglet, parseFont } from "@textjs/font";
import { standard } from "@textjs/font/standard";

renderFiglet(standard, "Hello", { layout: "fitted", width: 60, align: "center" }); // string[]
standard.render("Hello"); // same, default options

const doom = parseFont(await (await fetch("/fonts/doom.flf")).text(), "Doom");
选项值默认的
layout"default" (字体), "full" (-W), "fitted" (-k), "smushed" (-S), "universal" (-o),或 -m 数量"default"
verticalLayout"full", "fitted", "smushed", "universal", "default" (字体的)"full" (FIGlet 2.2.5没有垂直布局)
width最大输出列数;在单词结束时像 figlet -w width+1无限的
align"left", "center", "right" 在 width,或在最宽的行内"left", "right" RTL字体
direction"default", "ltr", "rtl"字体的
paragraph加入单个换行符 (-p)false

<AsciiFont font={slant} text="Text.js" /> 从 @textjs/react 也接受任何加载的字体。

实现: 标题和注释行,硬空白,尾标记,102所需字符,代码标记字符 (十进制,八进制,十六进制,负),缺失字符 (代码0),全宽/拟合/smushing与所有六个水平规则和通用smushing,从右到左打印,FIGlet的单词包装和理由,以及五个垂直规则加上超级处理。卫生间 tlf2a 字体解析,呈现为纯文本。未实现:控制文件(.flc),压缩字体。

字体

standard, slant, small, smslant, big, banner, block, lean, shadow, smshadow, script, smscript, mini, bubble, digital, ivrit (从右到左), term。导入每个从 @textjs/font/<name>; @textjs/font/all 导出所有字体和 BUNDLED_FONTS 对于画廊。字体在第一次渲染时缓慢解析。

所有字形都使用可打印的ASCII和Latin-1,因此它们在Menlo/SF Mono中保持单元精确。(bubble, digital 和 term 绘制输入U 0080-U 009F,C1控制字符,作为本身。)

许可

代码是MIT。字体是FIGlet 2.2.5分布字体,字节相同 figlet-2.2.5.tar.gz,根据FIGlet的BSD 3条款许可 (LICENSES/FIGLET.txt); 每家公司都在其评论栏(font.comment). 没有再分发许可的字体(Doom, Larry 3D, ANSI Shadow, Calvin S,…)不会被捆绑。看到 NOTICE.

开发

bun run --cwd packages/font generate     # fonts/*.flf → src/fonts/*.ts
bun run --cwd packages/font references   # needs `figlet` 2.2.5 on PATH
bun test packages/font

test/fixtures/references.json 保存273个实数输出 figlet 2.2.5二进制 (17种字体 × 布局 × 输入,加上FIGlet自己的回归输入及其 run-tests.sh 标志); 测试一下套件重播每一个。

版本与发布记录

@textjs/font 共发布 7 个版本,首次发布于 2026/11/01;过去 12 个月发布了 7 个版本。

版本发布日期距今
1.1.0latest2026/11/03今天
1.0.42026/11/021 天前
1.0.32026/11/021 天前
1.0.22026/11/021 天前
1.0.12026/11/021 天前
1.0.02026/11/011 天前

关于 @textjs/font 的常见问题

@textjs/font 是什么?

FIGlet 2.2.用于Text.js的flf解析器和渲染器,具有17种捆绑的树可动摇字体。

如何安装 @textjs/font?

在项目目录运行 npm install @textjs/font,或使用 pnpm add / yarn add / bun add。

@textjs/font 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@textjs/font 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@textjs/font 可以商用吗?

@textjs/font 使用 MIT AND BSD-3-Clause 许可。声明的许可为 MIT AND BSD-3-Clause,请阅读许可原文确认使用条件。以上为概括,不构成法律意见,请以许可原文为准。

@textjs/font 还在维护吗?

最新版本 1.1.0 发布于 2026/11/03(今天);至今共发布 7 个版本,其中过去 12 个月发布了 7 个;首次发布于 2026/11/01。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。