yshrsmz/unorm-dart · 文件 下载 ZIP
文件最后提交记录最后更新时间
README.md
以下内容由 AI 翻译,如有问题请点此提交 issue 反馈
unorm_dart
Unicode 17.0 规范化 - NFC、NFD、NFKC、NFKD
函数
该模块导出了四个函数:nfc、nfd、nfkc 和 nfkd;每个 Unicode 规范化类型对应一个函数。在浏览器中,这些函数被导出到 unorm 全局对象中。在 CommonJS 环境中,只需引入该模块即可。函数功能如下:
unorm.nfd(str)– 标准分解unorm.nfc(str)– 先进行标准分解,再执行标准组合unorm.nfkd(str)– 兼容性分解unorm.nfkc(str)– 先进行兼容性分解,再执行标准组合
使用方式
一个简单的使用示例:
import "package:unorm_dart/unorm_dart.dart" as unorm;
void main() {
var text = "The \u212B symbol invented by A. J. \u00C5ngstr\u00F6m " +
"(1814, L\u00F6gd\u00F6, \u2013 1874) denotes the length " +
"10\u207B\u00B9\u2070 m.";
var combining = RegExp(r"[\u0300-\u036F]");
print("Regular: ${text}");
print("NFC: ${unorm.nfc(text)}");
print("NFKC: ${unorm.nfkc(text)}");
print("NFKD: * ${unorm.nfkd(text).replaceAll(combining, "")}");
print(" * = Combining characters removed from decomposed form.");
}
生成 Unicode 数据
- Unicode 规范化形式报告
- Unicode 数据可在 https://www.unicode.org/Public/UCD/latest/ucd 获取
手动生成
如需手动更新 Unicode 数据并生成规范化文件:
# Download latest Unicode data files
dart run tools/unicode_data_updater.dart
# Update lib/src/unormdata.dart
dart run tools/normalizer_gen.dart
功能与缺陷
请在 issue tracker] 上提交功能需求与缺陷报告。