@cto.af/linebreak

中文文档
5.0.0发布于 2026/10/26MITTypeScriptES Module构建来源已验证近 30 天下载 3.2万

UAX # 14 的 Unicode 断行算法

中文使用文档
文档目录5 节
  1. 安装
  2. API 密码
  3. API 文档
  4. 遵守UAX #14
  5. 许可证

@cto.af/行断

执行Unicode 线断算法 14号未爆炸弹药. 执行情况 最初开始为刷新 换行符 软件包, 仍然共享 一小段测试驱动代码 与该项目。 其余的已经 重写以支持完全基于规则的方法,从 统一码18.0.0版本 从该文件:

断行,又称字包,是断行的过程 将文字部分划入行,使其与可用宽度a 页面、窗口或其他显示区域。 Unicode 线断算法 执行这一过程的一部分。 在输入文本的情况下,它会产生一组 所谓“断机会”的位置,是适当的起点 一条新线 从一组中选择实际的换行位置 断开机会不在Unicode线断开算法中, 但属于高级软件的范畴 可用宽度和文本的显示大小.

安装

npm install @cto.af/linebreak

API 密码

创建并使用新的规则对象 :

import {Rules} from '@cto.af/linebreak'
const r = new Rules({string: true});
for (const brk of r.breaks('my input string')) {
  console.log(brk.string); // "my ", "input ", "string"
  console.log(brk.pos); // 3, 9, 15
  console.log(brk.required); // false, false, true
}

这个 string 在构建器中,您可以将输入切入到 弦,而不是你必须做切口。 你只能这样 需要休息的位置, 这就是为什么这不是默认的. 累赘的 Break 对象也有一个 required 字段.

您可以调整将适用的规则:

import {Rules, PASS} from '@cto.af/linebreak'
const r = new Rules();
r.replaceRule('LB25', (state) => PASS); // Do something more interesting that this!

还有一些其他便利功能可用于修改规则. A 类 很少有规则相互影响,因为.. 规格文本。 兹将这些意见保留在以下各点: 来源. 如果您要替换或删除一条现行规则,请 肯定会考虑这些互动关系.

API 文档

完整的 API 文档是 可用。 。 。 .

遵守UAX #14

该套装打算与UAX #14完全一致. 现在通过 全体 会 议 日 程 和 议 程 测试 由Unicode出版.

可以通过添加和去除规则来进行其他裁剪.

许可证

麻省理工学院


Tests codecov

版本与发布记录

@cto.af/linebreak 共发布 18 个版本,首次发布于 2023/05/28;过去 12 个月发布了 2 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
5.0.0latest2026/10/2616 天前
4.0.32026/03/038 个月前
4.0.02025/09/111.2 年前
3.0.52025/08/061.3 年前
3.0.42025/08/061.3 年前
3.0.32025/08/061.3 年前

关于 @cto.af/linebreak 的常见问题

@cto.af/linebreak 是什么?

UAX # 14 的 Unicode 断行算法

如何安装 @cto.af/linebreak?

在项目目录运行 npm install @cto.af/linebreak,或使用 pnpm add / yarn add / bun add。

@cto.af/linebreak 支持 TypeScript 吗?

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

@cto.af/linebreak 支持 ESM 还是 CommonJS?

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

@cto.af/linebreak 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=22。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@cto.af/linebreak 可以商用吗?

@cto.af/linebreak 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@cto.af/linebreak 的下载量有多少?

根据 npm 官方下载统计,@cto.af/linebreak 在 2026/10/11 – 2026/11/09 这 30 天内被下载 32,208 次,日均约 1,074 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@cto.af/linebreak 还在维护吗?

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