【问题标题】:How do I extract Unicode normalization tables from the XML Unicode Character Database?如何从 XML Unicode 字符数据库中提取 Unicode 规范化表?
【发布时间】:2018-04-24 03:25:35
【问题描述】:

我正在编写一个脚本来创建包含用于大小写折叠等的 unicode 字符的表格。

我能够很好地提取这些表,但我正在努力弄清楚要使用哪些属性来获取代码点以进行规范化。

在 Unicode Annex #44 中,我能找到的最接近的属性组是 NF(C|D|KC|KD)_QC,它用于判断字符串是否已经被规范化。

它仍然没有列出我实际构建表格所需的值。

我在这里做错了什么?

编辑:我正在编写一个 C 库来处理 unicode,这不是一个简单的库,并且已经完成,用 python 问题编写它,我正在尝试编写我自己的规范化(技术上的组合/分解)函数。

Edit2:分解属性是“dm”,但是组合和 Kompatibility 变体呢?

【问题讨论】:

  • 您应该彻底熟悉UAX #15。它不仅回答了这些问题,还涵盖了为什么单独使用 UCD 是不够的。
  • 和 unicode 标准(在第一章之一中)你有规范化的规则和算法(以及如何处理“未来”字符)

标签: unicode unicode-normalization


【解决方案1】:

ucdxml 目录中的 Unicode XML 数据库不是权威的。我建议使用ucd 目录中的权威文件。你需要

如果尖括号中有分解类型,则为兼容性映射 (NFKD),否则为规范映射。组合是根据分解映射定义的。有关详细信息,请参阅 Unicode 标准的 section 3.11 Normalization FormsUAX #15

【讨论】:

    猜你喜欢
    • 2012-02-07
    • 2016-06-09
    • 2018-04-16
    • 2014-10-28
    • 2013-05-04
    • 1970-01-01
    相关资源
    最近更新 更多