【发布时间】:2017-07-04 10:21:05
【问题描述】:
请参考this jsfiddle。
它包括文本,无论是在 highcharts 图表内部还是外部,其中文本包括一个“太阳”字符,如 this page 所示。我还包含了带有和不带有variation selectors 的变体(另请参阅here),看看它们有什么不同。
在高位图之外:
<p>Embedded: ☼ ☼︎ ☼️</p>
symbols.innerHTML = '<p>Added: \u263C \u263C\uFE0E \u263C\uFE0F</p>';
在highcharts内部:
title: {
text: 'In highcharts: \u263C \u263C\uFE0E \u263C\uFE0F'
},
现在,这似乎取决于您查看此 jsfiddle 的浏览器是否获得太阳符号的彩色表情符号版本,或纯文本黑色版本......甚至 两者版本!
例如,在 Windows 桌面上的 Chrome 中,您可以全面了解普通版本:
...在 Android 7 上的 Chrome 中,您会看到部分普通和部分表情符号:
我真的不喜欢表情符号版本的风格完全不受我的控制,尤其是当风格与页面的其余部分发生可怕的冲突时(例如,太阳符号是亮橙色而对应的月亮符号是明亮的蓝色)。
所以我想强制页面在所有上下文中的所有浏览器上使用普通版本...知道怎么做吗?
不得不求助于使用图像似乎完全是疯狂的,因为我希望符号具有与周围文本相同的外观,包括文本颜色(用户可以随意更改)。 UTF-8 不是 character 编码而不是 emoji 编码吗?我不反对可爱的表情符号本身,但仅限于正确的上下文。
【问题讨论】:
-
这不是一个真正的 Highcharts 问题,因为您将在纯 html 中具有相同的行为。你可以试试这个话题的答案:stackoverflow.com/questions/32915485/…如果不行,你可以用图片代替emoji,用renderer把图片渲染到正确的位置。 api.highcharts.com/highcharts/Renderer.image
-
@morganfree 是的,我已经看过该主题,实际上我在我的帖子中链接到了其中一个答案的来源......基本上它们依赖于“版本选择器”。但在我的上下文中似乎没有任何区别,这让我想知道 highcharts 应用程序是否需要不同的解决方案。不得不使用图片而不是文字似乎是一个巨大的矫枉过正......当然一定有办法吗?
-
@morganfree 我现在认为这实际上是一个 highcharts 问题,或者至少是部分问题。请参阅我编辑的帖子,第二个示例...在 Android Chrome 浏览器上,符号在 highcharts 外部呈现为纯文本,但在 highcharts 内部呈现为表情符号!
标签: html css unicode highcharts emoji