# @textjs/font 中文文档

规范地址：https://npmcn.com/package/%40textjs/font/

版本：1\.1\.0
npm 元数据更新时间：2026-11-02T16:07:38.938Z
中文译文更新时间：2026-11-02T16:13:28.614Z
软件包许可：MIT AND BSD-3-Clause

本文由上游 README 机器翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40textjs/font
原文对照：https://npmcn.com/package/%40textjs/font/?lang=original
项目主页：https://textjs.org/docs/fonts
源码仓库：https://github.com/anomalyco/textjs

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：794 kB，121 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- 运行依赖：0 个
- peer 依赖：react ^19\.0\.0，@textjs/react ^1\.1\.0
- 首次发布：2026-11-01T12:58:09.804Z
- 最新版本发布：2026-11-02T16:07:38.523Z
- 已发布版本数：7（近 12 个月 7 个）

## 中文简介

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

## 安装

```sh
npm install @textjs/font
```

也可以使用：`pnpm add @textjs/font`、`yarn add @textjs/font`、`bun add @textjs/font`

## README

# @textjs /字体

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

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

<FigletText font={slant} color="accent">Text.js</FigletText>;
```

```
  ______          __      _
 /_  __/__  _  __/ /_    (_)____
  / / / _ \| |/_/ __/   / / ___/
 / / /  __/>  </ /__   / (__  )
/_/  \___/_/|_|\__(_)_/ /____/
                   /___/
```

## API

```ts
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`.

## 开发

```bash
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 是什么？

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 和提交记录判断。

