首页 > > > 11044 越南语声调位置确定规则
既然上一篇写了越南语韵母,那就干脆把声调一起写了吧,反正没多少人看
传统上,越南语音节的声调标在哪个字母上,是按「美观、平衡」的原则确定的。具体地说,是这样:
注意,在有两个元音字母的时候,声调的位置常常与汉语拼音不同。比如像 ia、iu、ui 这样的韵母,汉语拼音中声调是标在后面的,越南语却标在前面。习惯了汉语拼音的人,在初学时会觉得越南语的标调位置反倒太拥挤、不平衡。
后来越南语的标调规则进行了一次改革(具体时间点我没有考证出来),不再追求「美观、平衡」,而是要遵循越南语的音系,尽量把声调标在主元音上。具体的规则是这样:
具体什么是「主元音」,可以看我上一篇文章对越南语韵母体系的梳理:
王赟 Maigo:11044 越南语韵母体系梳理改革后的规则,在带变音符号的情形下依然保留了旧规则,主要是因为越南语音系中有下面这么一处特别反直觉的地方。形如 iên、uôn、ươn 的韵母,在音系上并不是分析成介音 + 主元音 + 韵尾,而是分析成主元音 iê、uô、ươ + 韵尾的。之所以这么分析,是为了不引入 i、ư 两个介音。而这里的主元音 iê、uô、ươ,又认为是双元音韵母 ia [iə]、ua [uə]、ưa [ɯə] 带韵尾的形式。这三个双元音韵母被看作前响元音,也就是说其中 i、u、ư 的部分更「主」。于是,ia、ua、ưa 这三个韵母,声调就会标在前一个字母 i、u、ư 上。但对于 iên、uôn、ươn 这些韵母,如果还坚持把声调标在最「主」的元音 i、u、ư 上,写成 íên、úôn、ứơn,就太不美观、不平衡了。所以新式标调规则还是保留了旧规则的第一条。
新旧两套标调规则,在理论上看起来差别颇大,但一个韵母一个韵母地枚举下来,其实就只有 oa、oe、uy 三个韵母的标调位置发生了改变。在旧式规则中,声调标在前一个字母上,如 hòa、khỏe、thủy;在新式规则中,声调标在后一个字母上,如 hoà、khoẻ、thuỷ。在有些输入法中,可以选择按照哪套规则来标注声调。
这套改革方案实行得并不彻底。例如,越南纸币和护照上的国名全称「共和社会主义越南」中,「和」字的拼法还是 hòa 而不是 hoà。

改革实施不彻底的原因,我猜大概有这么两点:一是涉及的音节太少,较难引起注意;二是人民群众在手写越南语时,声调的标注是十分「飘逸」的,根本不在乎标在哪个字母上,如下图。

在我制作的安卓应用「汉字古今中外读音查询」中,就有确定越南语声调位置的代码。在没有带变音符号的字母的情况下,新旧两种标调规则可以用一个逻辑表达式囊括,有兴趣的读者可以研究一下。
// 字符串 s 中存储了整个音节
// 找第一个元音字母,让 p 指向它
int p = 0; while (p < s.length() && "aeiouy".indexOf(s.charAt(p)) < 0) p++;
// 找最后一个元音字母,让 q 指向它后面一个字符
int q = p + 1; while (q < s.length() && "aeiouy".indexOf(s.charAt(q)) >= 0) q++;
// 判断声调应该标在哪个字母上,并让 p 指向它
// 如果 p++ 了,就是标在第二个元音字母上;如果没有,就是标在第一个元音字母上
if (q - p == 3 ||
q - p == 2 && (q < s.length() ||
s.startsWith("gi") ||
s.startsWith("qu") ||
style == NEW_STYLE && (s.substring(p, q).equals("oa") ||
s.substring(p, q).equals("oe") ||
s.substring(p, q).equals("uy")))) p++;原文作者:;如有侵权,请联系管理员删除。