将变音符号(如上面的逗号)和重音符与拉丁基本字符组合在一起

Combining diacritical marks like the comma above and acute accent with Latin base characters

我正在为 MS Word(使用 VBA)和网站(使用 HTML/CSS/JS)开发一个解决方案,能够高效地输入由多个变音符号组成的字符组合,例如 œ̣̄̃́,例如。

原型解决方案已经实现,尽管我偶然发现了一个困难,如果没有任何支持我可能无法解决。

我需要显示 these characters,它由 'combining comma above' (U+0313) 和 'combining acute accent' (U+0301) 组成。我得到的当前结果是堆叠版本 c̓́,但我需要并排显示变音符号。例如,这对于像 ἄ(03B1+0313+0301) 这样的希腊基本字符是可能的,但对于拉丁字符则不行。

甚至存在独立版本:῎(U+1FCE) 遗憾的是不可组合。

我该如何解决这个问题?

在 Word 中,Unicode 0315 被称为 'combining comma above right'。其相反形式是 Unicode 0314,称为 'combining reversed comma above'。还有 Unicode 0312,称为 'combining turned comma above' 和 Unicode 0313,称为 'combining comma above'。

在联系 the Unicode Consortium 之后,他们的一位代表给出了这样的回答:

I checked the Unicode code chart and consulted with other Unicode experts. The code point that should be used, in the view of the experts, is: U+0313 COMBINING COMMA ABOVE. In the Phonetic Symbol Guide, the entry for “apostrophe” mentions its use for palatalization (by Slavicists), besides its use for ejectives or glottalized consonants, and states it can appear following the symbol or over the symbol. However, I tried out U+0313 on various fonts, and see fonts don't work as you wish: the acute and COMBINING COMMA ABOVE stack (or collide), instead of appearing beside one another. To rectify the situation, you should contact the font providers and ask them to adjust the font - or do it yourself if you have the tools. I hope this is helpful. (Using an already encoded Unicode code point will save 2+ years of waiting for a new character.)

我们解决这个问题的方法是创建一种自定义字体,将 U+1FCE 字符移动到基本字符之上,有效地使其成为 组合 字体。这种字体也将用于我们的 Web 应用程序,而不仅仅是 MS-Word。