小编Pet*_*fer的帖子

在Unicode中"组合字符"和"字形扩展器"之间有什么区别?

在Unicode中"组合字符""字形扩展器"之间有什么区别?

就我所知,他们似乎做了同样的事情 - 尽管一组字形扩展器比组合字符组大.我在这里显然遗漏了一些东西.为什么区别?


Unicode标准,第3章,D52

  • 组合字符:具有组合标记(M)的常规类别的字符.
  • 组合字符由所有字符组成,具有间距组合标记(Mc),非间距标记(Mn)和封闭标记(Me)的常规类别值.
  • 具有非零规范组合类的所有字符都组合字符,但反之则不然:存在组合字符与零规范组合类.
  • 私有字符(Co)作为组合字符或不组合字符的解释由实现决定.
  • 除非正在描述,否则这些字符通常不会单独使用.它们包括重音符号,变音符号,希伯来语点,阿拉伯元音符号和印度语母语等字符.
  • 组合字符的图形定位取决于最后一个基本字符,除非它们由既不是组合字符也不是零宽度连接符或零宽度非连接符的字符分隔.据说组合字符适用于该基本字符.
  • 可能没有这样的基本字符,例如当组合字符位于文本的开头或遵循控件或格式字符时 - 例如,回车符,制表符或左右标记.在这种情况下,组合字符称为隔离组合字符.
  • 对于孤立的组合字符或当进程不能执行图形组合时,进程可以呈现没有图形组合的组合字符; 也就是说,它可能会将其呈现为基本字符.
  • 组合字符的代表性图像在代码表中用虚线圆圈表示.当以与前面的基本字符的图形组合呈现时,该基本字符旨在出现在由虚线圆圈占据的位置中.

Unicode标准,第3章,D59

  • Grapheme扩展器:具有Grapheme_Extend属性的角色.
  • Grapheme扩展器字符包括所有非间距标记,零宽度连接器,零宽度非连接器,U + FF9E,U + FF9F和少量间距标记.
  • 可以将字形扩展器主要设想为在另一个间隔字符之上或之下应用的非间距图形标记.零宽度连接器和零宽度非连接器被正式定义为字形扩展器,因此它们的存在不会破坏一系列其他字形扩展器.
  • 具有Grapheme_Extend属性的少量间距标记是两部分组合标记的第二部分.
  • 根据定义,具有Grapheme_Extend属性的字符集和具有Grapheme_Base属性的字符集是不相交的.

unicode terminology grapheme combining-marks

13
推荐指数
1
解决办法
1776
查看次数

标签 统计

combining-marks ×1

grapheme ×1

terminology ×1

unicode ×1