这有效:
say "\c[COMBINING BREVE, COMBINING DOT ABOVE]" # OUTPUT: «̆̇»
但是,这不是:
say "\c[0306, 0307]"; # OUTPUT: «IJij»
它将它视为两个不同的角色。有没有办法让它直接使用数字,除了使用uniname
将其转换为名称?
\c[…]
转义用于通过名称或别名声明字符。
0306
不是名字,它是角色的序数/代码点。
\x[…]
转义用于通过十六进制序数声明一个字符。
say "\x[0306, 0307]"; # OUTPUT: «̆̇»
(提示:在十六进制文字x
中有一个0x0306
)
\ c使用十进制数字:
say "\c[774, 775]"
其中774是0306的十进制等值,效果很好。