♥和♦在HTML中在Android上显示为黑色,即使CSS中将颜色设置为红色

我正在使用Meteor平台开发HTML,JS和CSS的纸牌游戏.我正在使用& hearts;为心服和钻石;用于钻石套装.使用以下颜色将颜色设置为红色:#FF0000;在CSS中. font-family设置为font-family:’Times’,serif;.在台式机,Mac或iPhone上,这些图标显示为红色图标,但在使用Chrome的Android上,这些图标显示为黑色.但是,等级仍然显示为红色,这使我相信这是图标本身所特有的.

在显示西装字符串之前,我通过空格键中的SafeString函数运行代码.

suitString: function(suit) {
    var suits = {'H': '♥', 'S':'♠', 'D':'♦', 'C':'♣'}

    return Spacebars.SafeString(suits[suit]);
  }

我想这与用于在Android上呈现图标的字体有关,但是我一直无法弄清楚为什么会这样.也可能是特定于SafeString函数的东西.

谁能启发我,有没有办法确保所有设备上的颜色都不需要使用西装的图像?

谢谢!

解决方法:

我认为这是一个Android 5.0.x字体渲染错误.它发生在网页和应用程序中.到目前为止,我只在Android 5.0.1上看到过

我无法在android 5.1.0和4.2.x上重现它

我真的让我发疯了.起初,我虽然html表不会接受颜色.

这是我的测试页:http://ibob.github.io/tests/html/

如果您在Android 5.0.1设备上打开它,则红色的纯色西装不会被着色.

空衣服看起来很糟糕,所以我想搭配图片是唯一明智的解决方案.

编辑:

实际上,在进行更多挖掘之后,这似乎是一个TouchWiz问题(仅适用于Samsung).

在5.0.1之后的他们的TouchWiz更新中,三星将纯色西装颜色的字体渲染更改为表情符号之类的东西-不受着色.显然,它不能在非三星设备上复制,但在Android版本大于5.0.0的每个设备上都可以复制.

请注意,HTC也做了类似的事情,但保留了纯色西装颜色.但是,使用现代HTC设备时,您无法绘制黑色以外的颜色的黑桃或球棒,以及红色以外的颜色的心形和钻石.

其他具有自定义android mod的设备品牌可能也有类似的问题.

上一篇:c#-WPF中的嵌入式字体不起作用


下一篇:Java无法读取字体