Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
拉丁大写字母I(U+;0049)和罗马数字1(U+;2160)是否具有unicode兼容等效性?_Unicode - Fatal编程技术网

拉丁大写字母I(U+;0049)和罗马数字1(U+;2160)是否具有unicode兼容等效性?

拉丁大写字母I(U+;0049)和罗马数字1(U+;2160)是否具有unicode兼容等效性?,unicode,Unicode,Unicode定义了两种等价:规范等价和兼容性等价。Unicode技术附件15中兼容性等效的示例为上标1(U+00B9)和数字1(U+0031)。它没有讨论视觉上难以区分的角色 我很好奇,在标准下,视觉上无法区分的字符是否具有兼容性等价性 谢谢。是的。查看: 2160;罗马数字一;Nl;0;L0049;;;1.N2170; 由@dan04给出的答案是明确问题的正确答案,但间接问题“视觉上无法区分的字符是否具有兼容性等价性”的答案更为复杂 通常,规范上等价的字符或字符序列应该看起来相似。粗略地说,

Unicode定义了两种等价:规范等价和兼容性等价。Unicode技术附件15中兼容性等效的示例为上标1(U+00B9)和数字1(U+0031)。它没有讨论视觉上难以区分的角色

我很好奇,在标准下,视觉上无法区分的字符是否具有兼容性等价性

谢谢。

是的。查看:

2160;罗马数字一;Nl;0;L0049;;;1.N2170;

由@dan04给出的答案是明确问题的正确答案,但间接问题“视觉上无法区分的字符是否具有兼容性等价性”的答案更为复杂

通常,规范上等价的字符或字符序列应该看起来相似。粗略地说,它们是与编码字符具有相同直觉特征的差异表示。然而,这取决于几个实际考虑因素,并且渲染实际上可能不同

另一方面,即使字符的渲染(字形)在每个已知字体中都是相同的,字符在视觉上也无法区分。例如,任何包含大写拉丁字母A、大写希腊字母alpha和大写西里尔字母A的普通字体都具有相同的字形,但它们仍然是完全不同的字符,它们之间没有等价映射


兼容性等效字符在表示上可能会有所不同,而且通常会有所不同,部分原因是它们的差异通常是风格上的。但它们不必有所不同。

ᴇᴅɪᴛ:添加了正确的原始问题在底部寻找的内容。这真的很酷


你关于ʀ的问题的答案是什么ᴏᴍᴀɴ ɴᴜᴍᴇʀᴀʟ ᴏɴᴇ ʟᴀᴛɪɴ ᴄᴀᴘɪᴛᴀʟ ʟᴇᴛᴛᴇʀɪ是。这里有一个快速检查方法:

$ perl -Mcharnames=:full -MUnicode::Normalize -le 'print
   NFKD "\N{ROMAN NUMERAL ONE}"  eq  NFKD "\N{LATIN CAPITAL LETTER I}"'
1
但是,对于您关于视觉上无法区分的字符是否具有兼容性等价性的问题,答案肯定是

比如说,,ᴄʜᴇʀᴏᴋᴇᴇ ʟᴇᴛᴛᴇʀ ɢᴏ (Ꭺ) 看起来像ʟᴀᴛɪɴ ᴄᴀᴘɪᴛᴀʟ ʟᴇᴛᴛᴇʀ ᴀ (A) ,但肯定不是NFKD等效。与ɢʀ类似ᴇᴇᴋ ᴄᴀᴘɪᴛᴀʟ ʟᴇᴛᴛᴇʀ ᴀʟᴘʜᴀ (Α)及ᴄʏʀɪʟʟɪᴄ ᴄᴀᴘɪᴛᴀʟ ʟᴇᴛᴛᴇʀ ᴀ (А)不等同于NFKD。实际上有无数(我无法计算它们:)这样的问题。NFKD等同于ʟ的唯一代码点ᴀᴛɪɴ ᴄᴀᴘɪᴛᴀʟ ʟᴇᴛᴛᴇʀ ᴀ, 例如:

U+00041‭ A GC=Lu SC=拉丁文大写字母A
U+01D2C‭ ᴬ  GC=Lm SC=拉丁文修饰字母大写A
U+024B6‭ Ⓐ  GC=So SC=常用圆圈拉丁大写字母A
U+0FF21‭ A GC=Lu SC=拉丁文全宽拉丁文大写字母A
U+1D400‭ “视觉上无法区分”是一种主观属性。无论第一个刻在石头上的罗马人是什么,看起来都不像赫尔维蒂卡1。
$ perl -Mcharnames=:full -MUnicode::Normalize -le 'print
   NFKD "\N{ROMAN NUMERAL ONE}"  eq  NFKD "\N{LATIN CAPITAL LETTER I}"'
1