背景
ʻ
,Okina,Unicode代码点U+02BB MODIFIER LETTER TURNED COMMA
,是:
在许多波利尼西亚语言中,拉丁文字中用于标记音位声门停止的一院辅音字母
不要与'
甚至‘
混淆,它们分别是直的和卷曲的单引号。
问题
为什么:
[...'hiʻ'].sort((a, b) => a.localeCompare(b)).join('')
是否将hʻi
作为其答案?换言之,localeCompare
是根据什么判断奥基纳在字母表中位于H之后和I之前的?
ECMAScript标准简单地提到;这两个字符串以一种实现定义的方式";,然而Chromium和Firefox都同意这种订购方式,至少在en-US
语言环境中是这样。
似乎大多数(所有?(在字母表中包含‘
的语言都只是将其放在末尾。是否有一些Unicode标准定义了Chromium和Firefox都使用的字母顺序?或者,如果不是,他们从哪里得到‘
介于H和I之间的想法?
哇,这真是一个有趣的位置。
是否有一些Unicode标准定义Chromium和Firefox都使用的字母顺序?
是。排序规则(顾名思义(是一个大主题。Unicode在不同的地方都涵盖了它,例如在Unicode技术报告10中,至少在TR15中有一部分。我还没有找到如何处理Okina的具体理由,但总的来说,据我所知,这些规则旨在确保一个语言环境(而不仅仅是语言(可以指定如何在该语言环境中整理字符。
这并不一定意味着这个位置在美国或英国这样的英语地区会有意义,但希望在一个适当支持波利尼西亚语言的地区,它会以一种有意义的方式进行整理。
我不确定这是一个答案,而是一个指向哪里的指针。我希望我能指出具体的原因。我相信有一个,它不是随便放在那里的。它(原因(很可能会在排序规则数据文件中的一个注释中。或者一个母语为英语的人可能会在他们的头顶上说";当然,这就是它的发展方向,因为________">