gpt4 book ai didi

unicode - 组合变音符号的特性

转载 作者:行者123 更新时间:2023-12-01 01:23:13 26 4
gpt4 key购买 nike

对于组合变音符号,它们算作字母吗?因为,据我所知,它们只能与格式良好的 Unicode 中的其他字母组合。

用于确定 Unicode 代码点是否为字母的 ICU 函数只需要一个代码点,因此对于任何给定的代码点,它无法知道它们是否已与变音符号组合 - 或者如果它是变音符号,它与什么组合。我正在尝试使用类似的构造来实现类似于 Unicode 感知正则表达式的东西

while(is_letter(codepoint))

但是,我很担心如果 codepoint 会发生什么情况实际上是一个变音符号,它将与之前的代码点和其他校对标记进行校对。

这样做安全吗?或者我是否必须明确查找并忽略变音符号和其他校对标记?

编辑:我真正需要做的是迭代字符,而不是代码点。

这个问题是XY问题的受害者。我需要提出一个关于我的实际问题的问题。

最佳答案

我不完全清楚你想要做什么,所以如果这不是你要找的答案,我提前道歉,但是:

For combining diacritics, are they counted as letters?



从广义上讲,变音符号被视为“标记”而不是“字母”。例如,U+0301 COMBINING ACUTE ACCENT,如<ś>,是一种“非间距标记”,是三种“标记”之一。然而,被算作“字母”的“修饰字母”仍然可能被认为是变音符号;例如,U+02C0 MODIFIER LETTER GLOTTAL STOP,如 ,是一个“修饰字母”。

如果您查看 the main file of the Unicode Character Database(警告:它是 1.3 MB 文本文件),您可以了解哪些字符被归类为“修饰符字母”( Lm ),哪些字符被归类为“非空格标记”( Mn )或“空格标记”( Ms ) 或“封闭标记”( Me )。

关于unicode - 组合变音符号的特性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8281443/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com