俄罗斯卢布符号的HTML代码是什么?

33

俄罗斯中央银行已经批准了新的卢布符号,是否有相应的HTML代码可用?或者我需要使用PNG图像?


我看到wikipedia使用了图片。 - Martin Smith
由于这只是刚刚决定,我非常怀疑W3C已经标准化了它,字体制造商也还没有在字体中创建该字符,浏览器和操作系统也还没有更新。 - deceze
3
这个问题存在问题,因为当情况发生变化时,目前的答案都会失效。 - Martin Smith
3
@MartinSmith 是的,但这可能发生在任何技术变革中。一旦Unicode字符获得批准,这些答案将变得过时,但即使有更好的方法,它们仍然应该能够正常工作。 - techturtle
17个回答

33
自2014年6月16日起,Unicode中有一个字母:\u20bd,代表RUB货币符号:

因此,回答问题的答案是:应使用₽ HTML实体来表示卢布符号。

尽管如此,我认为当前并不是所有字体都能够显示它。在浏览器中看到该符号的能力通常取决于您的系统字体。截至今天,我的Mac OS网络字体可以正确显示它,但我没有在Windows和Linux上检查过。

因此,如果对于读者依赖于系统字体才能看到该符号是至关重要的话,则不建议使用这个新符号,因为系统字体可能已经过时。如果您想确保该符号将被显示,则需要至少为可能包含卢布符号的段落提供自己的字体。

来自维基百科:

2014年2月4日,在Unicode技术委员会的第138次会议上,该委员会接受了U+20BD ₽卢布符号的符号,用于Unicode版本7.0,然后在2014年6月16日发布的Unicode 7.0中包括了该符号。

http://en.wikipedia.org/wiki/Russian_ruble#Currency_symbol


3
微软更新了多个字体,加入了卢布符号:http://support.microsoft.com/kb/2970228 但最安全的做法可能仍然是使用@font-face和PT Sans这样的字体,该字体在多个代码位置包括Unicode分配给它的位置中都包含卢布符号。 - Jukka K. Korpela

24

俄罗斯于2013年左右更改了卢布符号。

详情请参阅维基百科上的俄罗斯卢布卢布符号页面。


Unicode 7: U+20BD

Unicode联盟在Unicode 7.0中正式指定了一个代码点U+20BD RUBLE SIGN,编号为8,381(十进制)和U+20BD(Unicode十六进制),用于新符号,发布日期为2014-06-16。请参见此货币符号的Unicode图表PDF)中的最后一项。

不要将此新字符与亚美尼亚字母ք或拉丁字母混淆。

By the way,Unicode 7 还收录了阿塞拜疆使用的 manat 符号,U+20BC MANAT SIGN, ₼。更重要的是,Unicode 还收录了 Spock hand signVulcan Salute,U+1F596。
字体
老旧的字体当然缺少 glyph。您需要获取新的或更新的 fonts
字符实体

在你的问题中,我不明白"HTML代码"是什么意思。如果你指的是字符实体引用,那么我不知道有任何名称引用。你可以在HTML中使用₽来引用Unicode代码点的十进制数。

使用缩写:RUB

作为符号的替代,您始终可以使用三个字母的缩写RUB。在ISO 4217中国际标准化。


使用图片

是的,您可以使用图片。

如果您必须支持旧计算机或尚未更新支持Unicode 7和字形的旧浏览器,则使用图像或RUB缩写是唯一确定的解决方案。

维基百科图片

该维基百科页面提供了一个SVG格式绘制的图片,采用知识共享许可证。

lenta.ru

也许这个来自lenta.ru的大号无衬线字体可能是合法可用的;我不确定,因为我不会阅读俄语。

http://icdn.lenta.ru/images/2013/12/11/12/20131211120143352/pic_a717232efc27b9b9fb68fea1c9cd3d72.jpg

Large rendering in sans-serif style of the new Ruble symbol

这是该符号的官方规范图:

Diagram of new Ruble symobl


10

使用 ₽ 的HTML助记符

₽ 100


5

我认为目前你只能使用图片来使用卢布符号,因为它是在2013年12月11日才决定的,所以W3C需要一些时间来实施。

我在这里找到的最好的方法是使用HTML中的卢布符号

<style type="text/css">
    img.ruble-img { height: 1.5ex; }
    span.dot { position:absolute; text-indent: -1000em; }
</style>
<p style="font-size:1em">Bunnies 100 <img src="ruble.gif" class="ruble-img" /><span class="dot">RUR</span> each</p>
<p style="font-size:1.2em">Bunnies 100 <img src="ruble.gif" class="ruble-img" /><span class="dot">RUR</span> each</p>
<p style="font-size:1.5em">Bunnies 100 <img src="ruble.gif" class="ruble-img" /><span class="dot">RUR</span> each</p>
<p style="font-size:2em">Bunnies 100 <img src="ruble.gif" class="ruble-img" /><span class="dot">RUR</span> each</p>

编辑:

根据2013年12月16日最新更新

下一步讨论将是该符号在Unicode中的位置。有些人提议将其放在U+0554,但那是亚美尼亚字母keh(Ք)。虽然外观相似,但已经在线上讨论是否将此用作传输亚美尼亚/k/作为货币符号的最佳方案。

基于之前的模式,我预测新代码将被分配,可能位于货币区块(U+20BB?)或可能是Cyrillic块。如果它位于Cyrillic块中,那么它将是最近添加的印度卢比符号(U+20B9 / ₹)和土耳其里拉符号(U+20BA / ₺)的新添加。


1
W3C不会实现这样的事情,也不需要采取任何行动。将符号添加到字符代码中将由Unicode联盟和ISO处理。字体的实现取决于字体制造商。HTML或浏览器无需更改。 - Jukka K. Korpela

4
这是维基百科告诉我们的(http://en.wikipedia.org/wiki/Russian_ruble#Currency_symbol):
2013年12月11日,俄罗斯中央银行批准了新卢布符号的竞赛获胜者。 获胜的符号RUB现在是官方的卢布符号[17]。 截至2013年,它尚未分配Unicode代码点,但正在进行工作以将其通过标准化过程进行代码点分配。
因此,你的问题的答案是肯定的,目前你应该使用PNG。

3
你也可以使用一个托管的网络字体,其中包含该符号。这相对来说得到了较好的支持,尽管我不知道是否有任何字体已经包含了该符号。根据维基百科,PT Sans是一个潜在的候选者。

PT Sans在多个代码点中都有卢布符号,包括U+20B9。从技术上讲,这是不正确的(使用专用代码点会更好,或者说不那么不正确),而且该符号的形状与宣布的形状不同(尽管这可能被视为可接受的字形变化)。 - Jukka K. Korpela

2
你可以通过使用删除线文本修饰来伪装它。
HTML 4.00及更早版本。
Bunnies 100 <strike>P</strike>

将产生这样的结果:兔子 100 P

HTML 4.01及更高版本

Bunnies 100 <del>P</del>

生成页面效果:Bunnies 100 P

CSS文本修饰

Bunnies 100 <span style="text-decoration:line-through">P</span>

在SO渲染器中无法正常工作


2
根据这个SO答案
研究表明,2014年俄罗斯更改了他们的货币符号,因此旧字体没有新的字形,因此对于其他存在类似问题的人,请查看您的字体是否已更新。
该帖子的作者还建议使用谷歌的Roboto字体。就我个人而言,除非我包括所有字体子集,否则我会遇到问题。使用标准字体加载器语法,这对我有用:
<link href="//fonts.googleapis.com/css?family=Roboto:100normal,100italic,300normal,300italic,400normal,400italic,500normal,500italic,700normal,700italic,900normal,900italic&amp;subset=all" rel="stylesheet" type="text/css">

请注意上面代码片段中的&amp;subset=all
另外,如果您正在使用Typekit的Web Font Loader,可以选择以下方式:
<script src="https://ajax.googleapis.com/ajax/libs/webfont/1.6.16/webfont.js"></script>
<script type="text/javascript">
WebFont.load({
  google: {
    families: [ 'Roboto::all' ]
  }
});

再次注意上面示例中的 :all

2
您还可以使用亚美尼亚字母 Ք、ք(Ke)。


2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接