Unicode 标准中有变音符号,如 U+0302、COMBINING CIRCUMFLEX ACCENT (??) 和 U+02C6、MODIFIER LETTER CIRCUMFLEX ACCENT (ˆ)。我知道组合字符与前一个字母组合在一起,比如说,制作一个像“ô”这样的字母,但是修饰字母有什么用呢?它只是组合字符的可打印表示,如果是,它与普通的 U+005E、CIRCUMFLEX ACCENT (^) 有何不同?
[我对抑扬符本身不感兴趣,而是对这类字符感兴趣(似乎有很多,正如你在这里看到的那样)。]
“组合字符”和“修饰字母”有什么区别?
组合字符
组合字符始终应用于前面的基本字符。这里,从部分截取的示例5.13渲染非间距标记的Unicode标准版11.0 -核心规范,其中四个组合字符的序列被施加到基础字符a:
这是另一个例子。运行这个简单的 Java 代码...
System.out.println("Base character: \u0930");
System.out.println("Base with combining characters: \u0930\u0903\u0951");
Run Code Online (Sandbox Code Playgroud)
....产生了这个输出:
在这种情况下,输出比基本字符宽;组合字符之一放置在基本字符上方,另一个放置在基本字符右侧。
我提供了两个示例作为屏幕截图,因为很难找到一种字体来正确呈现生成的字形。
修改字母
与组合字符相反,修改字母是独立的。虽然它们通常也会修改另一个字符(通常但不一定是前面的字符),但它们本身就是基本字符,并且在视觉上是不同的。使用您的示例,以下是 Java 应用程序的输出,分别打印基本字符a后跟 U+0302、COMBINING CIRCUMFLEX ACCENT (??) 和 U+02C6、MODIFIER LETTER CIRCUMFLEX ACCENT (ˆ):
A 0302: A?
A 02C6: Aˆ
Run Code Online (Sandbox Code Playgroud)
MODIFIER LETTER CIRCUMFLEX ACCENT 呈现在右侧,A而 COMBINING CIRCUMFLEX ACCENT 呈现在其上方。
抑扬符字符作为修饰字母的实际含义(语义)是上下文驱动的。例如,在法国,在上回旋o在côté影响它的发音,但在回旋u中sûr没有; 相反,它用于在视觉上区分sûr(意思是确定)和发音相同的 sur(意思是on)。在法语中,抑扬符 ono总是会影响发音,而 onu从来不会。
它只是组合字符的可打印表示吗...
不 - 修饰字母带有含义。在法语抑扬符的情况下,意义可能是基于它所修饰的字母的上下文驱动的,如上所述。但是含义可以包含在修饰字母本身中。例如:
修饰字母通常用于技术语音转录系统,在这些系统中,它们增加了组合标记的使用,以进行语音区分。其中一些也被改编成常规语言正字法。例如,U+02BB MODIFIER LETTER TURNED COMMA 用于表示夏威夷语正字法中的 'okina(声门塞音)。
该示例还表明修改字母不需要与任何其他字符相关联。组合字符永远不会出现这种情况。
还要注意,修饰符字母不一定是一个字母在字母表中的任何,大部分的修饰字母实际上是符号(例如抑扬)。
这与普通的 U+005E、CIRCUMFLEX ACCENT (^) 有何不同?
这只是用来表示抑扬音符的字符。与组合字符和修饰字母不同,它不能在语义或视觉上与任何其他字符相关联。
有关更多详细信息,请参阅The Unicode® Standard Version 11.0 – Core Specification 中的以下部分: