@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出版.
可以通过添加和去除规则来进行其他裁剪.
许可证
麻省理工学院