8

我试图找到将抑扬符(^ = ˆ)放在数字(一种音乐符号)之上而不诉诸图像的最佳方法。某些字母具有等效的 HTML 实体:ê = ê、 Ô =Ô等,但数字没有。

这是我目前在我的网站上使用的内容:

<span style="position:relative;">1
   <span style="position:absolute; 
                left:0.1em; 
                bottom:0.2em; 
                font-size:1.1em;">
                &circ; 
   </span>  
</span>

它看起来不错,但并不完美——由于数字形状和浏览器渲染的细微差别,肯定会有一些偏差。

有没有人对此有更优雅的解决方案?

更新:

Combining Circumflex Accent&#770;&#x302;在不同的浏览器/平台上产生不同的结果,其中大多数都不正确(在我的 Mac 上,只有 Safari 正确)。

据此,组合重音正确显示取决于字体和渲染器。我正在使用Times New Roman, Times,所以它似乎不是一个可行的选择。我无法承受要求用户拥有特定字体的麻烦和不可避免的忽略。

我想除非有任何其他新答案,否则我将不得不坚持手动将重音定位在上面的音符上。谢谢。

更新 2:

嵌入具有更好变音符号支持的免费字体(尤其是Doulos SIL)似乎很有希望,但截至目前(2009 年 11 月),Chrome 默认不支持@font-faceCSS。但是,一旦完成,它会很棒,因为其他浏览器已经加入。webfonts.info是有关此信息的地方。

4

5 回答 5

8

U+0302 COMBINING CIRCUMFLEX ACCENT

用字符图或实体制作一个

 &#x302;

把它放在你想要的任何东西上:

e&#x302; A&#x302; 1&#x302; :)&#x302;

变成

ê Â :)

...但它的设计目的不是超过 1 或笑脸。注意它是如何向上移动的 A 而不是 1 或笑脸。

于 2009-11-15T21:20:13.837 回答
4

使用或尝试组合循环重音(U+0302) :&#770;&#x302;

1&#770;

例子:

1^

于 2009-11-15T21:20:20.510 回答
2

很大程度上取决于您的用户使用的字体是否支持此功能。由于您无法在网页中嵌入字体(没有一些潜在的法律问题),因此最好的办法是尝试使用不同字体的上述建议,以确定您要查找的字符是否受支持。找到字体后,在 CSS 文件中引用它,然后通知用户需要特定字体才能正确查看您的网站。

尝试使用以下 unicode 索引:http ://www.fileformat.info/info/unicode/char/a.htm

您需要知道要显示的角色的名称。找到它后,信息页面将告诉您如何使用 HTML 字符代码显示该字符。

于 2009-11-15T21:33:47.080 回答
2

查看组合变音符号常见问题解答。组合抑扬符是 U+0302。

该部分说:“某些字体,例如 Doulos 和 Charis 字体,可免费下载,包含大量适当的预组合字形”。让您的用户下载这些字体(如果它们有效)可能值得一试。

您可能会在缩小数字方面取得一些成功:

<span style="font-size: 75%">1</span>&#x0302;
于 2009-11-15T21:33:54.213 回答
1

如果组合标记的渲染不够好,我想你将不得不通过定位来破解它。

<style>
    .over { position: relative; }
    .over span { position: absolute; top: -0.5em; left: 0; }
</style>

abc <span class="over">1<span>^</span></span> xyz

仍然是一个讨厌的黑客!但可能比 MathML 工作量少。

于 2009-11-15T21:59:58.307 回答